Skip to content

Source two harder discriminating cases for the traversal and verification-sufficiency passes - #92

Merged
shaug merged 3 commits into
mainfrom
scott/89-discriminating-cases
Jul 30, 2026
Merged

Source two harder discriminating cases for the traversal and verification-sufficiency passes#92
shaug merged 3 commits into
mainfrom
scott/89-discriminating-cases

Conversation

@shaug

@shaug shaug commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Summary

  • Source and sanitize two new, harder, disguised s1-correctness-orchestrator cases, per Curate the scored corpus and capture the frozen v1 review baseline #58's sourcing/sanitization discipline:
    • artifact-promotion-environment-shortcut — a harder sibling to dependency-strictness-propagation: the untouched sibling decision path is two calls deep and lives in a module named for staging/rollout defaults, not dependency or promotion checking.
    • audit-log-flush-keyword-probe — a harder sibling to stale-claim-release-guard: the test insufficiency is carried by a mocked session that grants success on a keyword match in the request text, rather than by the test's initial state.
  • Both sourced from real, adjudicated, public review findings in shaug/atelier (PR 315, PR 755), minimized to fictional subjects carrying no business logic, domain identifiers, customer context, credentials, or hidden reasoning. The private connector-review source referenced in Operationalize adjudicated connector outcomes as review regressions #56 was not sought out, named, or derived from anywhere in this work.
  • Each case ships an executable oracle (independent, machine-run second adjudication) alongside a packet, expectation, and provenance record, registered in the existing s1-correctness-orchestrator corpus (corpus_version 0.1 → 0.2).
  • Preregister a $5.00 validation ceiling before scoring, then score each case with its owning pass enabled and disabled (5 runs each, real Claude Code runtime), following the exact ablation mechanism Run the preregistered review v2 ablation and integration closeout #57 established.
  • Report the result honestly and asymmetrically: the traversal case shows a real, reproducible discriminating gap (mean_combined_recall 1.0 with the pass enabled vs. 0.4 disabled); the verification-sufficiency case shows none (1.0 both ways) — the same null result its predecessor case already showed.
  • Disclose and fix a real construction defect found during the traversal case's first scored run (an underspecified ledger.lookup contract caused an unrelated false-positive concern), then re-score before treating the result as evidence.

Why

#57's ablation matrix found that neither dependency-strictness-propagation nor stale-claim-release-guard demonstrates unique causal contribution to the pass meant to fix it — both cases sit within the reviewer's default competence even without the pass. This is a corpus-evidence gap, not a decision to remove or defend #52/#53's shipped mechanisms. This PR sources genuinely harder cases to close that evidence gap, or to honestly report that it remains open.

What this means for #52/#53 (report only — the disposition decision belongs to the repository owner): the traversal pass now has one real, demonstrated case behind it. The verification-sufficiency pass still does not, even after a genuine, harder, disguised construction attempt — combined with the existing false-positive regression finding in S1-ABLATION-MATRIX.md, the evidentiary case for this specific pass is weaker after this validation than before it.

Validation

  • just format, just lint, just test all pass (313 review-suite tests + all skill-local suites).
  • python3 review-suite/scripts/evals/audit_corpus.py passes (7 corpora).
  • python3 -m unittest review-suite.scripts.tests.test_eval_oracles passes (12/12), confirming both new oracles' polarity (fails on candidate, holds on corrected).
  • Full write-up, sourcing/sanitization table, and cost ledger: review-suite/evals/v2/discriminating-case-validation.md and review-suite/evals/v2/discriminating-case-validation-frozen-configuration.md.
  • Total spend: $3.6657 against the preregistered $5.00 ceiling (30 real-runtime attempts across six scored runs, including 10 discarded pre-fix attempts whose cost still counts even though their output was superseded).
  • Initial review-code-change cycle raised one strong_recommendation (code-simplicity: unify the new oracle's duplicated candidate/corrected functions into the sibling oracle's established single-function-plus-flag idiom); fixed and re-reviewed clean.

Non-goals

Fixes #89

shaug added 3 commits July 29, 2026 23:37
…ister their validation ceiling (#89)

- Add `artifact-promotion-environment-shortcut`, a harder sibling to
  `dependency-strictness-propagation`: the untouched sibling decision path is
  two calls deep and lives in a module named for staging/rollout defaults, not
  dependency or promotion checking.
- Add `audit-log-flush-keyword-probe`, a harder sibling to
  `stale-claim-release-guard`: the test insufficiency is carried by a mocked
  session that grants success on a keyword match in the request text, rather
  than by the test's initial state.
- Both cases are sourced from real, adjudicated, public review findings in
  shaug/atelier (PR 315 and PR 755 respectively), minimized to fictional
  subjects per #58's sourcing/sanitization discipline, and each ships an
  executable oracle that independently confirms the stated root cause.
- Register both cases in the existing `s1-correctness-orchestrator` corpus
  (`corpus_version` 0.1 -> 0.2) and freeze the validation configuration
  (suite commit, grader version, run count, $5.00 cost ceiling) before any
  scored output is examined.

- #57's ablation matrix found neither existing target case demonstrates
  unique causal contribution to the pass meant to fix it, because both sit
  within the reviewer's default competence even without the pass. This
  sources genuinely harder cases so the corpus can actually discriminate, or
  honestly report that it still cannot.
…ort an asymmetric result (#89)

- Fix a construction defect found in `artifact-promotion-environment-shortcut`
  during its first scored run: the packet never stated `ledger.lookup`'s
  contract for a missing external ref, so 4/5 verification-only attempts
  raised an unrelated `None`-fallthrough concern instead of the intended
  rollout-path finding. State the contract explicitly in the packet and
  correct the oracle's `_Ledger` to match; re-mint the case's `head_sha`.
- Re-run both traversal-case configurations against the fixed packet: both
  passes together `mean_combined_recall` 1.0 (5/5); verification-only
  (traversal disabled) 0.4 (2/5, 3/5 false-clean, zero false positives). A
  real, reproducible, uncontaminated discriminating gap.
- Score `audit-log-flush-keyword-probe` both ways: both together 1.0 (5/5);
  traversal-only (verification-sufficiency disabled) also 1.0 (5/5). No gap,
  same pattern as the existing `stale-claim-release-guard` target case.
- Record both results, the sourcing/sanitization table, and the cost ledger in
  `review-suite/evals/v2/discriminating-case-validation.md`, with the four
  trustworthy raw reports committed alongside it.

- #89 requires validating discriminating power before treating either new
  case as corpus evidence, and reporting honestly even when the answer is
  "no gap" for one of the two. The traversal pass now has one real
  demonstrated case; the verification-sufficiency pass still does not, even
  after a genuine, harder, disguised construction attempt.

- $3.6657 total against the preregistered $5.00 ceiling (30 attempts across
  six scored runs, including 10 discarded pre-fix attempts whose real cost
  still counts against this ticket's spend even though their output was not
  used as evidence).
…cted retry policy (#89)

## Summary
- Replace `_flush_candidate`/`_flush_corrected` with one `_flush(..., *,
  refresh_on_retry: bool)`, mirroring the sibling oracle's own established
  `guard_unconditionally` flag idiom instead of duplicating the entire
  retry-policy body across two near-identical functions.

## Why
- review-code-change (code-simplicity lens, strong_recommendation): the new
  oracle repeated its whole policy body across two functions when the
  directory it lives in already established a single-function-plus-flag
  shape for this exact kind of candidate/corrected difference
  (`stale_claim_release_guard.py`). Oracle polarity is unchanged - re-verified
  by `python3 -m unittest review-suite.scripts.tests.test_eval_oracles`.
@shaug
shaug merged commit 6a1f909 into main Jul 30, 2026
1 check passed
@shaug
shaug deleted the scott/89-discriminating-cases branch July 30, 2026 12:56
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.

Source harder discriminating cases for #52/#53's traversal and verification-sufficiency passes

1 participant