You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
id: design: chat anchor data model (from #5682) #5870
Follow-on design ticket from #5682 — its decomposition sketch names this as a separate design, and the parent's acceptance requires these tickets to be filed and linked. Filed in the 2026-11-04 gap pass (WS-F) so the design work exists and can be prioritised on its own merits; implementation timing is a separate decision, possibly months out.
What this design must settle
Link types, part-anchors (ranges/blocks/regions), and anchor survival under edit and delete — the data model under conversation↔object linking.
Context from the parent
The parent design fixes chat's growth from v1 (#2051) — conversation↔object linking, talk pages, and terminal participation — on the #2036 protocol. The parent issue carries the surrounding decisions this ticket must not re-decide; where this ticket's answer would change a parent decision, record that explicitly rather than silently forking it.
Decision record expected
Close this design with a recorded decision (on this issue or in a doc/ record linked from it): the chosen shape, the alternatives rejected and why, and the invariants implementation must hold. If the design splits further, file the splits and link them here rather than growing this issue.
Relations
Parent: #5682. Programme: epic #2056. Filed by WS-F (2026-11-04 ID design gap & expansion pass).
Found via: claimed task 10272 this shift; execution-lane assignment returned opencode
Task: Re-claimed task 10272 for issue id: design: chat anchor data model (from #5682) #5870 (attempt 1/6 per claim row; previously handed off at 2026-11-05T12:49Z and parked). Fresh check: issue id: design: chat anchor data model (from #5682) #5870 is OPEN, no hard-stop labels (held / user/owned / do-not-merge / do-not-auto-edit). Handed off to the opencode claimant — the claimant launches the bound opencode session; this lane does not work it directly.
Expectation: claimant session drives task 10272 to a terminal state.
Agent: queue worker (repo-worker-code), lane code-d
Session / ID: task 10272
Found via: queue claim
Task: work on issue id: design: chat anchor data model (from #5682) #5870 handed off to the opencode execution lane per the worker runbook §1b — the laptop claimant launches the bound opencode session, which drives task 10272 to its terminal state.
Expectation: claimant session picks up task 10272; this lane did not work the item itself.
Keep the scope to the conversation/object link record, link types, part-anchor representation (ranges/blocks/regions), and anchor survival across edits/deletes (relocation, drift warning, orphan/tombstone behavior). Preserve parent constraints: anchor visibility must not leak private object content/existence, and the model must work with the existing chat protocol/client scope. Do not absorb talk-page semantics, terminal participation, or the discussion-to-edit loop; those are separate children (id: design: talk-page semantics (from #5682) #5871–id: design: notifications, watch/mute & presence for object discussions (from #5682) #5875).
Activity
developing-today commentedon Nov 5, 2026
CODE-1553
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
opencode2 remaining items
developing-today commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · picked up
dezren39 commentedon Nov 5, 2026
Triage outcome at current main (
2a676206852c9b5f4aa5a61873411fa850b13ec4)🤖 Agent note · done