Skip to content

feat(proto): board snapshot delivery — SubscribeEvents snapshot_seq + ListBoardIssues (SEA-1728) - #172

Merged
mattwilkinsonn merged 1 commit into
mainfrom
compass-repo-1728-board-snapshot-delivery
Aug 6, 2026
Merged

feat(proto): board snapshot delivery — SubscribeEvents snapshot_seq + ListBoardIssues (SEA-1728)#172
mattwilkinsonn merged 1 commit into
mainfrom
compass-repo-1728-board-snapshot-delivery

Conversation

@seal-agent

Copy link
Copy Markdown
Contributor

Part 4 (board projection delivery) needs the connect-time re-snapshot seam
Matt ruled as Option B (comms-pattern snapshot delivery, not snapshot-as-
events). Two additive surfaces on the public compass.v1 contract:

  • SubscribeEventsResponse.snapshot_seq (field 4): the store-space snapshot
    boundary a since_seq=0 subscriber gets on its leading frame, mirroring
    SubscribeCommsResponse.snapshot_seq. Client unions the catch-up read with
    the full live tail and dedups by issue id (never seq-filters the tail).
  • ListBoardIssues RPC (+ Request/Response): the durable board re-snapshot
    read a UI calls at since_seq=0, the read counterpart to the snapshot-as-
    events burst. Single-shot for the bounded MVP board; returns every issue in
    all lifecycle states (incl. ARCHIVED, which the Done view needs). Named
    ListBoardIssues, not ListIssues, to avoid a compass.v1 duplicate-symbol
    collision with the forge-scoped ListIssues{Request,Response} that feat(proto): forge-carrier family reconciled to canonical compass.v1 (SEA-1731) #149
    (forge carrier) adds to agent_gateway.proto in the same package.

Classifier green-keep: ListBoardIssues classified authenticatedOpen (same
access class as the SubscribeEvents tail it re-snapshots), with both
admin-gate spot-check tables extended. The server handler lands in the
compass-server part-4b PR (free CodeUnimplemented default meanwhile).

Refs SEA-1728.

@linear-code

linear-code Bot commented Aug 5, 2026

Copy link
Copy Markdown

SEA-1728

@seal-agent
seal-agent force-pushed the compass-repo-1728-board-snapshot-delivery branch from aebef7e to d6e7645 Compare August 5, 2026 19:17
@seal-agent
seal-agent force-pushed the compass-repo-1728-board-snapshot-delivery branch from d6e7645 to fcc0335 Compare August 5, 2026 19:28
… ListBoardIssues (SEA-1728)

Part 4 (board projection delivery) needs the connect-time re-snapshot seam
Matt ruled as Option B (comms-pattern snapshot delivery, not snapshot-as-
events). Two additive surfaces on the public compass.v1 contract:

- SubscribeEventsResponse.snapshot_seq (field 4): the store-space snapshot
  boundary a since_seq=0 subscriber gets on its leading frame, mirroring
  SubscribeCommsResponse.snapshot_seq. Client unions the catch-up read with
  the full live tail and dedups by issue id (never seq-filters the tail).
- ListBoardIssues RPC (+ Request/Response): the durable board re-snapshot
  read a UI calls at since_seq=0, the read counterpart to the snapshot-as-
  events burst. Single-shot for the bounded MVP board; returns every issue in
  all lifecycle states (incl. ARCHIVED, which the Done view needs). Named
  ListBoardIssues, not ListIssues, to avoid a compass.v1 duplicate-symbol
  collision with the forge-scoped ListIssues{Request,Response} that #149
  (forge carrier) adds to agent_gateway.proto in the same package.

Classifier green-keep: ListBoardIssues classified authenticatedOpen (same
access class as the SubscribeEvents tail it re-snapshots), with both
admin-gate spot-check tables extended. The server handler lands in the
compass-server part-4b PR (free CodeUnimplemented default meanwhile).

Refs SEA-1728.
@seal-agent
seal-agent force-pushed the compass-repo-1728-board-snapshot-delivery branch from fcc0335 to 1a93de2 Compare August 5, 2026 19:39
@mattwilkinsonn
mattwilkinsonn merged commit f560b1b into main Aug 6, 2026
1 check passed
@mattwilkinsonn
mattwilkinsonn deleted the compass-repo-1728-board-snapshot-delivery branch August 6, 2026 00:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants