Repository navigation
Keep Experiment Verdicts waiting for human Score rechecks - #1157
Merged
Merged
Conversation
This was referenced Oct 23, 2026
Merged
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
thirdshift recheck <experiment> <trial> pass|fail --reason <text>appends a timestamped decision beside the original Grader Score. Optional--wrong-finding true|falsecorrects that flag. History, the updated Verdict and pending list are saved atomically under the Experiment's exclusive lock.experiments <id> --jsonexposespending_rechecks; rechecks never rerun Trials or Graders.Closes #1006
Evidence
cargo test --test experiments rechecks::decisive_score_waits_for_recheck_and_retains_both_scores_and_history -- --exactfailed: actualpass, expectedwaiting_on_rechecks.After: the same regression passes, including finalization, immutable Grader evidence, appended history and a changed Score making another Score decisive.
cargo check,cargo fmt -- --check, andcargo clippy --all-targets -- -D warningspass.f0e07ec:/usr/bin/time -p scripts/affected-tests 72f65acf8e6bbb7824161bc2e082255b17dd86bbpassed in 1,456.56 seconds (24m 17s), including compilation. The selector ran all 43 site tests and the full Rust suite; all 52 Experiment tests passed, including the six new recheck tests. The fixed point is the captured GitHubissue-977head, rather than the stale local ref.Test seam: the whole binary against fake external Harnesses in the existing Experiment integration scenario; observations use the CLI and its saved public result format.
Review coverage
Independent Standards and Spec reviews used
issue-977at72f65acas the fixed point. Standards raised two duplication heuristics, both extracted and confirmed addressed; Spec raised no findings. Both axes read all 18 changed files, including generated manual HTML. No generated-output exclusions or unread changed files remain. After their final follow-up at5c495e7, five needless borrows were removed from the already reviewedtests/experiments/rechecks.rs, and the defaults/manual help note in the already reviewedsrc/main.rswas shortened to retain the existing 65-line limit. These corrections are checked by clippy and the existing compact-help regression.Reports, with each axis's final files-read list, are saved in the worktree at
.thirdshift-review-F4HeAt/standards.mdand.thirdshift-review-F4HeAt/spec.md.Unaddressed findings
72f65ac...HEADdiff (newrecheckcommand, recheck-gated Verdict,experiments --jsonpending list): all new inputs come from the same local principal that owns the Experiment files; Experiment IDs are restricted to 64 hex before path use, Trial IDs are matched by string equality and never used as paths,--reasontext is stored and rendered only through JSON encoding, and the exclusive lock plus atomic save reuse the unchanged helpers. No trust-boundary violation found, so no proof-of-concept failure to fix.Security review outcome
No unaddressed introduced findings.
Merge Danger
Door: two-way
No Scores are deleted or overwritten. Previously completed Experiments acquire the recheck gate when read. The new
waiting_on_rechecksVerdict value requires this version of the reader while an Experiment is waiting; older binaries do not recognize it.Blast Radius: Experiments
The latest human decision changes the calculation and may identify further decisive Scores. Command records retain their invocation's outcome; Experiment views show the current Verdict.
Built with codex · gpt-6.1-sol · xhigh