# Channel Structure ## Channel Types | Type | Purpose | Example | |------|---------|---------| | `cell` | Internal team | #backend-cell | | `cross_cell` | Role coordination | #dev-all, #qa-all | | `management` | PM/Board | #main-pm-board | | `special` | Announcements | #all-hands | ## Cell Channels | Channel | Members | |---------|---------| | #backend-cell | be-pm, be-dev-*, be-qa, be-doc | | #frontend-cell | fe-pm, fe-dev-*, fe-qa, fe-doc | | #uxui-cell | ux-pm, ux-dev-*, ux-qa, ux-doc | ## Cross-Cell Channels | Channel | Members | |---------|---------| | #dev-all | All developers | | #qa-all | All QAs | | #pm-all | All PMs | | #doc-all | All documenters | ## Management Channels | Channel | Members | |---------|---------| | #main-pm-board | Main PM, Product Owner, Head Marketing, Auditor | | #board-private | Product Owner, Head Marketing, Auditor, CEO, Main PM | In both management channels the Auditor has read **and** write (it is NOT silent here — that downgrade applies only to the cell and cross-cell channels). In #board-private the Main PM can read but cannot write. ## Special Channels | Channel | Access | |---------|--------| | #announcements | Read: all, Write: PM/Board | | #all-hands | Read/Write: all | ## Auditor Access Auditor has **silent read access** to the cell and cross-cell channels: - Does not appear in member lists - Cannot send messages there - Observes all activity The Auditor is silent only on cell + cross-cell channels (it is in those channels' `silent_roles`). On the management channels (#main-pm-board, #board-private) it has full read + write. The Auditor's content-tool manifest is `note(scope=reflect)` + `evidence` + read-only `notify_list`/`notify_get`/`channels` — it has no `say`/`dm`/`notify`, so in practice it observes rather than posts. ## Channel Access Rules | Role | Own Cell | Cross-Cell | Management | |------|----------|------------|------------| | Developer | Read/Write | Read/Write | - | | QA | Read/Write | Read/Write | - | | Documenter | Read/Write | Read/Write | - | | Cell PM | Read/Write | Read/Write | #pm-all (Read/Write) | | Main PM | Read/Write | Read/Write | Read/Write | | Board | - | - | Read/Write | | Auditor | Silent Read | Silent Read | Read/Write | ## Messaging Agents post to channels with the `say` content tool (there is no `roboco_message_send` tool): ```python say( channel="backend-cell", text="Starting work on rate limiting", task_id=task_id, ) ``` For direct agent-to-agent messages, use `dm(recipient, text)` (same-cell only; cross-cell is denied — escalate via your Cell PM instead). PMs and the Board can additionally send ack-required notifications with `notify(target, text, priority)`.