Context
PR #546 established a clean naming model in the tool/plugin context layer. This tracks remaining debt not required for that fix.
Canonical model (post-PR #546)
channelId — raw Slack channel/conversation container (C/D/G), stable state-binding key
conversationId — opaque Junior session identity; for Slack turns is slack:{channelId}:{threadTs} (the Slack conversation ID); for dispatched runs may be agent-dispatch:{id}
assistantContextChannelId — optional Slack assistant-panel source channel, output routing hint only, not a state key
threadTs — Slack thread timestamp, kept separately in plugin API
Convention: Id suffix, not ID.
Remaining debt
Out of scope
- Renaming persisted assistantContextChannelId storage key (needs migration)
- Renaming correlation.channelId / correlation.threadId (stable, telemetry)
Context
PR #546 established a clean naming model in the tool/plugin context layer. This tracks remaining debt not required for that fix.
Canonical model (post-PR #546)
channelId— raw Slack channel/conversation container (C/D/G), stable state-binding keyconversationId— opaque Junior session identity; for Slack turns isslack:{channelId}:{threadTs}(the Slack conversation ID); for dispatched runs may beagent-dispatch:{id}assistantContextChannelId— optional Slack assistant-panel source channel, output routing hint only, not a state keythreadTs— Slack thread timestamp, kept separately in plugin APIConvention: Id suffix, not ID.
Remaining debt
Out of scope