test(dst): stop the milestone driver re-merging a merged branch - #600
Merged
azimafroozeh merged 3 commits intoSep 1, 2026
Merged
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
azimafroozeh
force-pushed
the
0094_dst_milestone_remerge_false_alarm
branch
from
September 1, 2026 20:58
4bb9dc3 to
603c1b6
Compare
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.
What & why
The DST milestone driver emitted
BranchMergegated only on branch existence, ignoring the model's merge-and-close invariant (BranchSlot::merged). When a sampler merge consumed the milestone branch first, the milestone step merged it again;predict_mergemispredicted conflict on rows the first merge had already adopted, the engine correctly accepted the no-op re-merge, andStore(Claim)/MergePredictionfired a false alarm (2026-09-01 nightly, det shard 2, seed 218120). Harness bug, no engine defect.Milestone::MergeBranchnow treats a merged (or deleted, never recreatable) milestone branch as satisfied and advances, mirroring the sampler's own filter.debug_assert!(!slot.merged)at both prediction sites (apply_world,expects_merge_conflict) makes any future emitter bug fail loudly at the emitter.dst_milestone_never_remerges_merged_branchreplays the exact nightly universe green: strict replay, zero crashes.Backing issue / RFC
Checklist
Local verification
cargo test -p omnigraph-dst: green (0 failed); the new pin red pre-fix at op 9 with the exact nightly signaturecargo clippy --workspace --all-targets --locked -- -D warnings -W clippy::dbg_macroandcargo fmt --all --check: cleanNotes for reviewers
debug_assertbackstop; a singleop_is_legalchokepoint for all emitters is the tracked follow-up.MergePredictionroots; the born-on-both reds remain until bug: merge duplicates an edge added on both sides of the fork, and plain traversal hides the extra row #583's fix merges.Greptile Summary
The PR prevents the deterministic simulation milestone driver from emitting a second merge after its branch has already been merged or permanently removed.
Confidence Score: 5/5
The PR appears safe to merge.
No blocking failure remains.
Important Files Changed
Reviews (2): Last reviewed commit: "Merge branch 'main' into 0094_dst_milest..." | Re-trigger Greptile
Context used: