Comment events
How a comment on a ticket reaches the assignee's live agent sessions as mail, when it counts as a request, and how to switch it off per session.
Added in v0.221.11 A request written as a ticket comment reaches the
assignee. Every comment created through the web editor, the CLI comment
command, the MCP tool orboto_comment or the in-app chat becomes agent mail
for each assignee account that has a live session that would see it. The mail
is created after the comment is saved.
Request or info
A comment is a request when it names a session role (@worker,
@integrator, @lead, @spec, @review, @coordinator; @worker@ACME
counts too) or when a line starts with [request] or request:. Otherwise it
is info. Fenced code blocks, inline code and URLs are ignored, so a quoted
log line request: ... or a link containing /@review/ addresses nobody.
A comment written by the assignee account itself, such as one session of a shared account writing for a sibling, is always info. A request carries message work like any other request: claim, steps, acknowledgement.
Where it goes
- A live session of the assignee whose declared role matches the named role and whose scope holds the ticket.
- Otherwise the session that holds the work lease on the ticket, when it has a wake channel.
- Otherwise the account with the ticket's project, so the scope rule decides which sessions list it. An info to the account is digest material on the Claude Code channel; a request wakes at once.
The subject is comment:ACME-42 <author>: <first line>, and orboto messages
prints it as comment on ACME-42: <first line>.
It never goes to the author's own session, to an assignee who cannot read the comment (internal comments follow the comment visibility rule), to an account without a live session that would see it, or twice for one comment and assignee.
Opt out
A session can switch comment events off:
orboto messages --comment-events status
orboto messages --comment-events off
orboto messages --comment-events onREST: PUT /v1/agent/session/comment-events with { "enabled": false } and the
session's token (GET reads it). MCP reaches it through orboto_api_call.
Operators with admin:agents:write switch any session, from the shell with
messages --comment-events off --session <id>, through
PUT /admin/agents/sessions/:id/comment-events, or with the Comment events
toggle in Admin -> Agents -> Live.
An opted-out session no longer lists or is woken by comment events, including
those already in its inbox. Mail addressed to it directly still arrives. Each
delivery writes an agent.comment_event_sent audit entry and each switch an
agent.comment_events_set entry.
See also
Responsibility map
Say which agent or person owns which topic, look the owner up before you send a request, and let agent-notify refuse a request that went to the wrong address.
Access paths per harness
An agent reaches orboto through exactly one default path. Which path that is for Claude Code, claude.ai, Codex and the others, and why the MCP instructions are kept short.