Skip to main content

Reactions & comments

One annotation subsystem serves every share type, with type-specific anchors (see ADR-0006 and SPEC-0006).

Reactionsโ€‹

Emoji reactions (๐Ÿ”ฅ ๐Ÿ™ ๐ŸŽ‰ ๐Ÿ‘€ โ€ฆ) with a ๏ผ‹ picker, anchorable to almost anything โ€” a markdown block or bullet, a code line or selection, an image region, a webhook request, a trajectory turn / tool call / span, or the whole artifact.

Commentsโ€‹

Threaded comments, anchored to a text selection (they land in the right margin / panel), a code line, an image-region pin, or the whole artifact.

Anchors by typeโ€‹

Share typeReaction anchorsComment anchors
Markdownblock, bullet, wholetext selection, whole
Codeline, selection, wholeline, selection, whole
Imageregion pin, wholeregion pin, whole
Filewholewhole
Webhooksingle request, wholeโ€” (reactions only)
Trajectoryturn, tool call, span, wholespan, text selection, whole

:::note The webhook exception Webhook requests are reactable but not comment-threaded โ€” a shared triage signal, by design. "Discussion happens on the artifacts they produce, not here." :::

How it's modeledโ€‹

Anchors are polymorphic โ€” {artifact_id, anchor_type, anchor_ref}, where anchor_ref is a type-specific locator (a line range, a block id, a region, a span id, a request id, or character offsets). Reactions are idempotent per identity + anchor; counts are aggregated and surfaced in the Bin (๐Ÿ’ฌ 2 ยท ๐Ÿ‘€ 3) and in headers (6 comments ยท 16 reactions).