Skip to content

Keep Experiment Verdicts waiting for human Score rechecks - #1157

Merged
JacobStephens2 merged 5 commits into
issue-977from
issue-1006
Oct 23, 2026
Merged

JacobStephens2 merged 5 commits into
issue-977from
issue-1006

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Summary

Grader Scores + latest human rechecks
  → paired suite calculation under the fixed Bar
  → unreviewed borderline or decisive Scores?
      yes: waiting_on_rechecks + pending Trial IDs
      no:  pass / fail / inconclusive

thirdshift recheck <experiment> <trial> pass|fail --reason <text> appends a timestamped decision beside the original Grader Score. Optional --wrong-finding true|false corrects that flag. History, the updated Verdict and pending list are saved atomically under the Experiment's exclusive lock. experiments <id> --json exposes pending_rechecks; rechecks never rerun Trials or Graders.

Closes #1006

Evidence

  • Before: cargo test --test experiments rechecks::decisive_score_waits_for_recheck_and_retains_both_scores_and_history -- --exact failed: actual pass, expected waiting_on_rechecks.
    After: the same regression passes, including finalization, immutable Grader evidence, appended history and a changed Score making another Score decisive.
  • Six public CLI tests cover decisive and nondecisive borderline Scores, revisions, wrong-finding corrections, invalid/concurrent writes, legacy Experiments and dropped Void tasks.
  • cargo check, cargo fmt -- --check, and cargo clippy --all-targets -- -D warnings pass.
  • The first full selection caught the existing compact-help regression (66 lines, maximum 65). The defaults/manual note is shortened while keeping the new command; the existing test is retained.
  • Final validation at f0e07ec: /usr/bin/time -p scripts/affected-tests 72f65acf8e6bbb7824161bc2e082255b17dd86bb passed 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 GitHub issue-977 head, rather than the stale local ref.
  • All CI checks are green on the same head, including the Console/site browser tests, Linux Rust checks and release builds.

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-977 at 72f65ac as 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 at 5c495e7, five needless borrows were removed from the already reviewed tests/experiments/rechecks.rs, and the defaults/manual help note in the already reviewed src/main.rs was 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.md and .thirdshift-review-F4HeAt/spec.md.

Unaddressed findings

  • Standards: None. Both findings addressed.
  • Spec: None.
  • Security: None. Guidance-mode review of the 72f65ac...HEAD diff (new recheck command, recheck-gated Verdict, experiments --json pending 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, --reason text 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_rechecks Verdict 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

@JacobStephens2
JacobStephens2 merged commit 226a5a5 into issue-977 Oct 23, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-1006 branch October 23, 2026 14:16
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.

1 participant