fix(engine): stabilize blocker prompt ordering - #5771
Merged
matthewevans merged 2 commits intoJul 14, 2026
Merged
Conversation
Contributor
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
Parse changes introduced by this PR✓ No card-parse changes detected. |
matthewevans
approved these changes
Jul 14, 2026
matthewevans
left a comment
Member
There was a problem hiding this comment.
Approved
🔴 Blocker
- None.
🟡 Non-blocking
- None.
✅ Clean
- The shared ordering helper is used by all three
DeclareBlockersproducers: initial combat entry, the multiplayer defender handoff, and mid-prompt refresh. - The new integration coverage exercises each producer and confirms both ordered IDs and unchanged player-scoped legal targets; CI is green and the parse-diff job reports no card-parse changes.
Recommendation: approve and enqueue as a bug fix.
This was referenced Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Sorts the blocker IDs carried by every
DeclareBlockersprompt. The initial prompt, multiplayer handoff, and live refresh now use the same numericObjectIdorder without changing blocker legality or the serialized shape.Files changed
crates/engine/src/game/combat.rscrates/engine/src/game/engine_combat.rscrates/engine/src/game/turns.rscrates/engine/tests/integration/deterministic_blocker_prompt_order.rscrates/engine/tests/integration/main.rsCR references
Implementation method (required)
Method: /engine-implementer
Track
Developer
LLM
Model: codex-5
Thinking: high
Tier: Standard
Verification
Required checks ran clean, or the exact CI-owned alternative is stated below.
Gate A output below is for the current committed head.
Final review-impl below is clean for the current committed head.
Both anchors cite existing analogous code at the same seam.
cargo fmt --all -- --check— passed.cargo clippy-strict— passed for the workspace and all targets.cargo test -p engine --test integration deterministic_blocker_prompt_order -- --nocapture— 3 passed, 0 failed.cargo test -p engine— 16,539 unit tests and 3,001 integration tests passed; 10 repository doc/integration tests ignored../scripts/gen-card-data.sh— generated and validated 35,397 card faces; 31,851 of 34,626 cards fully implemented.cargo coverage— 31,346 of 35,397 cards supported (88.6%).cargo semantic-audit— 32,417 cards audited; 294 existing findings.Tilt was unavailable in this checkout, so the documented direct Developer-track fallback was used.
Gate A
Gate A PASS head=1fd319524bc3091a7670691c5ce6f0b3445e76b5 base=efe74096ba6c2185446b5ef319bbdd0e46c7f5e5
Anchored on
crates/engine/src/game/combat.rs:3306— existing numericObjectIdordering for blocker assignments.crates/engine/src/game/combat.rs:3575— existing authority for rebuilding declaration waiting-state snapshots.Final review-impl
Final review-impl PASS head=1fd319524bc3091a7670691c5ce6f0b3445e76b5
Claimed parse impact
None.
Validation Failures
Initial
./scripts/setup.sh --agentdid not complete its optional WASM bootstrap when the shared disk filled. The required Developer-track fallback checks above all completed successfully.CI Failures
None.