Skip to content

DL-129

The issue-state write model is agent-primary: the Compass UI is read-only for lifecycle state; agents set state via a sibling BoardCall* family on the AgentGateway socket relayed by RelayBoardCall (DL-049/DL-076 convention), and users set state in the external tracker, whose native status is ingested into the DL-070 server projection through the reverse TrackerStatusMapping (DL-053 poll; echo-suppressed in tracker-status space, tracker-sourced transitions never mirror back, stale polls dropped by a recency guard). All issues flow from the tracker (no Compass-native/unlinked issues in the MVP); ARCHIVED is not agent-only (a Done issue auto-transitions to ARCHIVED after 24h, a user reopen un-archives via ingestion); MVP write-authz is single-trust-domain (hierarchical scope is a filed follow-up over DL-095’s tree). UpdateIssueState on CompassService is never built (no wire build shipped). Supersedes DL-091 (the UpdateIssueState-on-CompassService mechanism; archive-as-transition survives here) and DL-032 (the tracker is now also a state write source); DL-070/DL-033/DL-067 unchanged

Status: Active (Matt, 2026-08-04)

Record: ../../agent/compass-agent-primary-lifecycle/design.md#approach