Skip to content

test(id): prove world snapshot determinism across architectures - #3953

Merged
dezren39 merged 2 commits into
mainfrom
queue/5781-3791-determinism-proof
Nov 1, 2026
Merged

dezren39 merged 2 commits into
mainfrom
queue/5781-3791-determinism-proof

Conversation

@dezren39

@dezren39 dezren39 commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Closes #3791.

Adds a checked-in tic-tac-toe session fixture and asserts the blake3 digest of each of its five world snapshots against values produced on x86_64. Adds a native ubuntu-24.04-arm PR job that runs the same exact test and gates the historical nix flake check aggregate, so the ARM64 result supplies the cross-machine verdict.

Local verification:

  • nix develop ./pkgs/id --command cargo test --manifest-path pkgs/id/Cargo.toml -p id --lib world_fixture::tests::replay_tests::checked_in_session_snapshot_hashes_are_stable -- --exact — passed (1 test).
  • rustfmt --edition 2024 --check pkgs/id/src/world_fixture.rs — passed.
  • git diff --check — passed.

The workspace-default cargo test invocation also attempted the unrelated id-core test target and failed on unresolved vt100; the same baseline failure reproduces on clean main. No cross-architecture verdict is claimed until the native ARM64 job completes.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@dezren39
dezren39 requested a review from a team as a code owner November 1, 2026 19:55
@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 5 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2a2fa7b3-7465-49d6-9368-3afe3292cd80
Commits

Reviewing files that changed from the base of the PR and between 9268223 and a853bd6.

Files selected for processing: 3
  • .github/workflows/id-check.yml
  • pkgs/id/src/world_fixture.rs
  • pkgs/id/tests/fixtures/tic-tac-toe-determinism.jsonl
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T19:58:16.236649Z 703af4b PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 703af4be27

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/id-check.yml Outdated
Comment on lines +205 to +207
nix develop ./pkgs/id --command cargo test
--manifest-path pkgs/id/Cargo.toml --lib
world_fixture::tests::replay_tests::checked_in_session_snapshot_hashes_are_stable

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Select the id package in the required ARM64 test job

The new ARM64 command omits -p id, so it selects both workspace default members (id and id-core, as configured in pkgs/id/Cargo.toml). The test-name filter does not prevent compiling id-core's library tests, which reference vt100::Parser in crates/id-core/src/world_presentation.rs without declaring that dependency. Consequently this job fails before providing the cross-architecture verdict, and its newly required status makes the nix flake check aggregate fail too. The commit's verification notes already report this exact workspace-default failure. Add -p id, matching the locally verified invocation; cargo test --help documents --package as “Package to run tests for,” whereas --lib only selects the library target.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed — this also explains the ARM64 job failure on this PR (exit code 101): without -p id the job builds the default workspace members including id-core, whose test build is already broken on clean main (vt100 / iroh test-utils mismatch, documented on task 5781). Fix on resume: add -p id to the ARM64 job test command in this PR branch (queue/5781-3791-determinism-proof, worktree ~/git/fleet/5781-3791), push, and re-read the native ARM64 verdict — the snapshot-hash result itself is still unreported because the run has not completed (guard job queued; job logs unavailable until the run finishes). Queue task 5781 is parked with this as the named next step.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in a853bd6 (already on this head): the ARM64 job command is now cargo test -p id (scoped to the id package, .github/workflows/id-check.yml), so id-core lib tests are no longer compiled by this job. Verified: the native arm64: world snapshot determinism job on this head completed with success (run 41349443029). Disposition recorded by queue task 5781, lane E.

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.

id: determinism proof — replay harness over the world clock, cross-machine checkpoint hashes (from #2039)

1 participant