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: implement signed async turns and deterministic replay for board game posts (#5525) #6160
Parent implementation issue: #5525. Governing design: #2054, especially §4 and acceptance criteria.
Starting point: PR #6158 adds the signed, package-pinned GamePost metadata and same-board Post.embed_ref integration. The merged #2266/#2755 artifact is a test-only PoC, not production implementation.
Scope
Add signed challenge acceptance and async GameTurn objects using the existing board-object signing envelope.
Bind each turn to its GamePost/package version, assigned author/role, turn index and prior game frontier; reject wrong signers and stale/wrong frontiers without erasing competing valid branches.
Replay the exact package bytes named by the GamePost under the existing sandbox/resource limits. Do not infer player evidence from host-authored world journal events.
Prove the flow with the checked-in tic-tac-toe package and deterministic replay tests.
Acceptance
A package-pinned async game can be opened and advanced through signed objects.
A valid signed lineage replays to the same state from the same inputs; wrong signer/frontier is rejected, and competing turns remain visible as forks.
Signature/tamper and graph scope checks are tested. No live-session hosting or UI is claimed.
Follow-up slice to #5525; this issue does not close the parent.
Still live: verified at intake — merged-PR search returns only unrelated number mentions; no production signed-turn implementation exists yet. The body's ## Acceptance section already exists, so this pass adds labels and this comment only (no body edit).
Notes: the frontier discipline (wrong signer / stale frontier rejected without erasing competing valid branches) is the design's core invariant — replay determinism tests should pin it from the first commit, per the fleet testing doctrine (name the oracle: the checked-in tic-tac-toe package replayed from the same inputs).
Risks: conflating host-journal events with player evidence is called out in the body as a known trap; keep the evidence model object-only.
Suggested approach: signed challenge/turn objects on the existing board-object envelope, deterministic replay harness next, then the tamper/scope test suite.
The replay proof target exists: the checked-in tic-tac-toe package at pkgs/id/apps/tic-tac-toe (app.toml id tic-tac-toe), and the board-object signing envelope in boards.rs is the one the issue names.
Ordering / resume condition: when PR #6158 merges, issue #6160 becomes immediately workable — enqueue its implementation task then (effort/l; it is not a small_fix quick win). Implementation timing behind a Drew-authored PR is a separate decision, so no follow-up task is enqueued by this triage. PR #6158 is Drew-authored and was left untouched; no competing branch or PR was created.
Labels: set to status/blocked naming this gate (PR #6158 merge), per the triage.
Activity
developing-today commentedon Nov 5, 2026
CODE-1783
dezren39 commentedon Nov 5, 2026
Intake review
## Acceptancesection already exists, so this pass adds labels and this comment only (no body edit).developing-today commentedon Nov 5, 2026
🤖 Agent note · picked up
developing-today commentedon Nov 5, 2026
🤖 Agent note · triaged (task 10457, lane code-z)
Verdict: VALID, well-scoped follow-up slice of parent issue #5525 — but ORDERED BEHIND PR #6158, which is still OPEN. Do not start implementation yet.
Evidence (fresh this shift, GitHub main
04f78696ab):id/5525-signed-board-slice1, Drew-authored, OPEN, not draft) is what addspub struct GamePost(pkgs/id/src/boards.rs:124on that branch, +375/−26 in boards.rs only, 5 commits). At main, boards.rs carries only the earlier slice:GamePostRef(:81),Post.embed_ref(:154) with same-board scope enforcement (:651), and its tests.GameTurntype, no signed challenge acceptance, no frontier binding/rejection, no replay harness. The merged id: PoC: game-post with async turn passing — tic-tac-toe as a board post, signed turns, concession result, save-point fork (from #2053) #2266/test(id): PoC — game-post with async turn passing on tic-tac-toe (#2266) #2755 artifact is, as the issue says, a test-only PoC.pkgs/id/apps/tic-tac-toe(app.toml idtic-tac-toe), and the board-object signing envelope in boards.rs is the one the issue names.Ordering / resume condition: when PR #6158 merges, issue #6160 becomes immediately workable — enqueue its implementation task then (effort/l; it is not a small_fix quick win). Implementation timing behind a Drew-authored PR is a separate decision, so no follow-up task is enqueued by this triage. PR #6158 is Drew-authored and was left untouched; no competing branch or PR was created.
Labels: set to
status/blockednaming this gate (PR #6158 merge), per the triage.