Repository navigation
feat(board): agent board RPCs, roster summary and board events (RIG-5172) - #2285
rigel-mintaka wants to merge 3 commits into
Conversation
Review resultHead reviewed: R10 on
High/medium: 0 open. Low: Dismissed with reason across rounds: caller-set |
|
Compass engineering docs preview: https://compass-server-rig-5172-boar.compass-eng-docs.pages.dev Deployed from Changed pages: |
Review result (head 39d899e)R11 at
No high or medium findings are open. |
39d899e to
4fee89a
Compare
Rebase note (head 4fee89a)Rebased onto #2275
|
4fee89a to
913250b
Compare
Rebase onto #2275
|
| Round | Reviewer | Findings | Status |
|---|---|---|---|
| 12 | single reviewer on 913250b0 |
0 high, 0 medium, 0 low | clean |
Gates on 913250b0:
go buildpasses.- Unit tests pass for comms, board, store, mirror and server.
- nilaway is clean.
golangci-lintfinds 0 issues with the default tags and withpgtest(before the fix it reported the funlen failure).- pgtests Board|Roster|Mirror|Drive: 240 PASS, 0 FAIL, 0 SKIP (run on
2bce197f;913250b0differs only by the helper extraction). moon cion cf1f296..913250b: only the known local jj-workspace failures (app-bundle, compass-ui:test, design-ledger, font-coverage, orion-ref, sea-ref).
CI on
|
…172) Add UpdateAgentBoard and ListAgentBoards to CommsService plus the agent relay arms. The roster carries a per-agent board summary, and AgentBoardChanged fans out under the board read visibility clip. Co-authored-by: Matt Wilkinson <matt@rigel.build>
Co-authored-by: Matt Wilkinson <matt@rigel.build>
913250b to
9e017e7
Compare
Rebase note:
|
This PR is part of a stack containing 2 PRs:
mainSummary
Status board T4: the read RPC, the agent write path, roster summaries, and the live board event.
CommsService.ListAgentBoardslists whole boards for agents the caller can see. It supports filters (query, ref, task state,agent_handles,waiting_on_operator), clamps to 100 agents, and returnsINVALID_ARGUMENTfor out-of-range or NUL-bearing filters. Reads run in one REPEATABLE READ snapshot (SearchAndReadAgentBoards).update_boardarm (AgentCommsCall). There is no publicUpdateAgentBoardRPC. Writes are validated against the exportedstore.MaxBoard*limits before allocation.waiting.refandblocksare canonicalized throughrefs.Parse.waiting_on_operator,AWAITING_ENQUEUEcount and staleness. A malformed board omits only that agent's summary.AgentBoardChangedpublishes on the comms bus after every committed non-empty patch. The event board holds authored fields only: no refs, untracked refs, stale flag or asks.ListAgentBoardsis classifiedauthenticatedOpeninadmin_gate.go.Deviations and deferrals
Hub.PublishBoard. The event is published directly on the comms bus fromUpdateBoardAsAccount. The hub has no board-specific logic, so a hub publisher would only forward the call.Forges.LinearTeamsis nil. T12 (RIG-5180) seeds it fromCOMPASS_FORGE_LINEAR_TEAMS.Tests
board,comms,runnerhub,auth,store,server.Board.golangci-lintplain and--build-tags pgtest: 0 issues.compass-go:nilawayclean.sqlc-drift,inline-sql-gate,sql-migration-gate,compass-proto:ci/lint/gen-fence, rumdl.clear_haltconflict,boardVisible, task-state mapping, thejsonb_typeofwaiting guard, and malformed waiting staying out of list and roster.Review: 10 rounds; R10 on
c4f0f066had no high or medium findings.Refs RIG-5172
Ledger-impact: none