PM + Team Chat Integration (item mentions, task creation, status updates)
An in-development bridge between Mission Control boards and Team Chat: mentioning an item with # in the composer, turning a chat message into a task, announcing item status changes in a channel, and listing an item's linked chat messages. Covers each capability, the gating, and the channels behind it.
What it is
PM + Team Chat Integration is an in-development bridge between PM (Mission Control) and Team Chat. Four capabilities connect PM items with Team Chat conversations:
- #item mentions -- type
#in the Team Chat composer to open a PM item typeahead; selecting inserts a reference that renders as a rich inline chip (title + status dot) in sent messages. - Create Task from chat -- right-click a chat message, choose "Create Task", pick a board, and a new PM item is created pre-filled with the message text. Bidirectional link rows are inserted (message-to-item + channel-to-item).
- Status updates in channels -- when a PM item linked to a channel changes status (via sync), a system-style message appears in that channel showing the old-to-new status transition. Deduped by a deterministic client message ID.
- Chat links on PM items -- the PM item detail drawer shows a "Chat Messages" section listing linked messages with preview text and timestamps.
Where to find it
All of this lives inside Team Chat, with one surface on the board side. The # typeahead is in
the Team Chat composer, "Create Task" is on the right-click menu of a chat message, status
messages arrive as system-style messages in the channel they belong to, and the linked-message list
is the "Chat Messages" section of the PM item detail drawer.
The whole feature is in development, gated behind an unreleased feature flag, so none of these surfaces appear in a normal build until it ships.
How it behaves
- A mention renders as a rich inline chip carrying the item's title and status dot, so a reference reads as part of the sentence rather than as a bare link.
- Creating a task from a message inserts the link from both ends at once -- message-to-item and channel-to-item -- so the connection is visible whichever side you look from.
- Channel status messages are deduped by a deterministic client message ID, so the same transition never appears twice.
- Nothing appears until the feature is enabled: every renderer surface requires the feature to be visible in the renderer and Mission Control to be enabled.
For agents
- PM fields on Team Chat messages use schema EXTENSION (
merge()), never modifying the frozen base schema -- legacy messages stay byte-identical. - Title matching for
#mentions uses ref-driven scanning (longest first), not regex. - Chat messages stored in Firestore; only link metadata in local SQLite (
pm_item_links). - 5 IPC channels under
pm:chat:*namespace. - Source files across
src/renderer/src/features/team-chat/(composer, chip, dialog, hook) andsrc/main/services/pm/pm-chat-status-bridge.ts. - Renderer surfaces gate on
isUnreleasedFeatureVisibleInRenderer('pm-team-chat')ANDmissionControlEnabled. - Contract:
pm-team-chat-integration-contract.md.
Related
Both halves of this bridge have their own page: team-chat.md covers the built-in channels and DMs the mentions and tasks appear in, and mission-control.md covers the boards the items come from. pm-session-link.md is the sibling that links a board item to a working session rather than to a conversation. The full behavioural contract is recorded in pm-team-chat-integration-contract.md, and every other page in this library is listed in INDEX.md.
Last verified 2026-09-23