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(boards): candidate — board object types in the ID graph (route via #2054) #2812
Candidate follow-up from the boards investigation (#2052, doc in PR #2810 §1–§2).
Scope if commissioned:Board/Rules/Forum/Thread/Post/Attachment/Membership/RoleAttestation/ModerationAction/BoardFork signed-object types with hash-linking, version/supersede links, and the embed_ref hook for #2053 — no view layer, no moderation enforcement.
Gating: candidate ONLY — do not implement before the #2054 synthesis review round commissions it. Owned by #2054 until then.
Acceptance criteria
Gating first: this candidate is done as an intake item when the id: design: ID boards v1 #2054 synthesis review round explicitly commissions or declines it — no implementation before that decision.
Notes: Candidate only, explicitly gated on the id: design: ID boards v1 #2054 synthesis review. Scope is object types only — no view layer, no moderation enforcement.
Risks: Ten signed object types is the largest boards surface; hash-linking and supersede semantics must match the existing signed-event envelope or the graph forks conceptually.
Suggested approach: Hold for id: design: ID boards v1 #2054; when commissioned, land types in dependency order (Board/Membership first) with envelope-conformance tests.
🤖 Agent note · handed off — queue task 5811 (repo-health-code-pilot), commissioned by #2054. Phase 1: signed board graph object types and typed embed_ref only; no view or transport. Resume gate: none for this base phase; keep each PR independently mergeable. Dedupe: repo-health:v1:fix:developing-today/code:issue:2812.
Disposition: parked for 30 minutes. The runbook prohibits touching a Drew-owned PR; this lane did not inspect/change the worktree, run tests, commit, or merge.
Resume condition: protected ownership boundary resolved or task 5811 explicitly rerouted to authorized work; then revalidate PR and checks.
Picked up queue task 5811 (lane D), resuming PR #3892 (branch queue/5811-2812-signed-board-graph). Fresh state: PR #3892 is OPEN at 96ff011; its body states the merge gates explicitly — the focused boards::tests run has never completed (timed out at compile under laptop load) and Codex review must be dispositioned. Codex left 3 findings on 96ff011: P1 moderator authority vs signed causal history (boards.rs:630), P2 reply parent must belong to its thread (boards.rs:495), P2 supersede cycles (boards.rs:368). This lane will disposition those findings and get the targeted test run to completion before any merge.
Done — queue task 5811 completed by lane D. PR #3892 merged as 182a5c8 (2026-11-01T20:17Z).
What this lane did on top of the implementation (96ff011): dispositioned every Codex finding across three review rounds — round 1: P1 moderator authority made arrival-order independent (grant-existence acceptance; revocations remain signed history for view/serving enforcement, documented on has_role), P2 reply parent must share the reply's thread, P2 supersede cycles rejected; round 2: cycle check upgraded to full reachability over all supersede successors (multi-successor regression case added). Final round on e01791c reports has_unresolved_findings=false.
Verification: cargo test --lib boards::tests on the laptop (worktree ~/git/fleet/5811) at e01791c — 8 passed, 0 failed, including the three new regression tests (reply_parent_must_belong_to_the_same_thread, supersede_cycles_are_rejected, moderator_acceptance_does_not_depend_on_revocation_arrival_order).
This unblocks phase #2813 (task 5812, currently parked; its resume condition — PR #3892 merged + #2812 closed — is now met).
Activity
dezren39 commentedon Oct 31, 2026
Intake review
embed_refconsumer id: investigate: embedded playable posts — HTML5 mini-games, async challenges, and forkable succession saves #2053; sibling candidate id(boards): candidate — Theme object format v1 + board-view rendering (route via #2054) #2813.dezren39 commentedon Nov 1, 2026
🤖 Agent note · handed off — queue task 5811 (repo-health-code-pilot), commissioned by #2054. Phase 1: signed board graph object types and typed embed_ref only; no view or transport. Resume gate: none for this base phase; keep each PR independently mergeable. Dedupe:
repo-health:v1:fix:developing-today/code:issue:2812.26 remaining items
dezren39 commentedon Nov 1, 2026
🤖 Agent note · parked — Drew-owned PR boundary
dezren39 commentedon Nov 1, 2026
🤖 Agent note · parked
dezren39 commentedon Nov 1, 2026
Picked up queue task 5811 (lane D), resuming PR #3892 (branch
queue/5811-2812-signed-board-graph). Fresh state: PR #3892 is OPEN at 96ff011; its body states the merge gates explicitly — the focusedboards::testsrun has never completed (timed out at compile under laptop load) and Codex review must be dispositioned. Codex left 3 findings on 96ff011: P1 moderator authority vs signed causal history (boards.rs:630), P2 reply parent must belong to its thread (boards.rs:495), P2 supersede cycles (boards.rs:368). This lane will disposition those findings and get the targeted test run to completion before any merge.fix(id): disposition Codex findings on board graph v1 (#2812)
fix(id): traverse every supersede successor in cycle check (#2812)
Merge pull request #3892 from developing-today/queue/5811-2812-signed…
dezren39 commentedon Nov 1, 2026
Done — queue task 5811 completed by lane D. PR #3892 merged as 182a5c8 (2026-11-01T20:17Z).
What this lane did on top of the implementation (96ff011): dispositioned every Codex finding across three review rounds — round 1: P1 moderator authority made arrival-order independent (grant-existence acceptance; revocations remain signed history for view/serving enforcement, documented on
has_role), P2 reply parent must share the reply's thread, P2 supersede cycles rejected; round 2: cycle check upgraded to full reachability over all supersede successors (multi-successor regression case added). Final round on e01791c reports has_unresolved_findings=false.Verification:
cargo test --lib boards::testson the laptop (worktree ~/git/fleet/5811) at e01791c — 8 passed, 0 failed, including the three new regression tests (reply_parent_must_belong_to_the_same_thread, supersede_cycles_are_rejected, moderator_acceptance_does_not_depend_on_revocation_arrival_order).This unblocks phase #2813 (task 5812, currently parked; its resume condition — PR #3892 merged + #2812 closed — is now met).