Repository navigation
test(id): prove world snapshot determinism across architectures - #3953
Conversation
|
Warning Review limit reachedYou'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. View limit details
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. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 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".
| 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 |
There was a problem hiding this comment.
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 👍 / 👎.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
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-armPR job that runs the same exact test and gates the historicalnix flake checkaggregate, 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-coretest target and failed on unresolvedvt100; the same baseline failure reproduces on clean main. No cross-architecture verdict is claimed until the native ARM64 job completes.Need help on this PR? Tag
@codesmith-botwith what you need.