100%

02 — Verification Gate: Veto -> Prioritizer

Goal

Highest-leverage change: stop killing refuter-contested bets pre-measurement. Turn the 3-refuter majority-survive gate from a veto into a ranker, and route contested bets to a cheap empirical probe. Directly inverts the evidence (14/24 armchair-killed; only 2/24 ever measured).

Implementation Sketch

  • Replace the no_quorum permanent-hold branch with a route-to-probe branch.
  • The cheap probe is a generic hook resolved from the plan-declared gate_metric.probe_ref + a reduced-workload arg; domain specifics stay behind the plan-declared registry (domain_gates.py pattern).
  • Majority-survive becomes one rank signal among {refuter-rank, empirical-probe-reading}.

Spec References

  • scripts/ledger_evolution_runtime/verification.py:68-173 (run_verification, majority-survive 152-166)
  • scripts/ledger_evolution_runtime/domain_gates.py (plan-declared registry pattern; script-first.md §11)
  • learning-ledger.md §11.3 cumulative teeth-by-status
  • Prior art: AlphaEvolve evaluation cascade (cheap-then-expensive empirical filtering)

Work Items

  • Refactor run_verification (scripts/ledger_evolution_runtime/verification.py:68-173) so majority-survive is a RANK input, not a kill gate: a no-quorum / split refuter verdict routes the bet to the cheap empirical probe instead of the permanent verifying hold (verification.py:152-161).
  • Implement the reduced-workload gate_metric probe (AlphaEvolve evaluation-cascade): on a contested verdict, dispatch a bounded implementation attempt + run the plan’s gate_metric.probe_ref on a reduced/representative workload, record the reading as the bet’s empirical rank signal. Generic + plan-declared (no plan-name/domain hard-coding per script-first.md §11).
  • Update learning-ledger.md §11.3 verification teeth + .claude/rules/ledger-evolution-rules.json for the prioritizer semantics; extend scripts/ledger_evolution_runtime/tests/test_verification.py to assert a contested bet is MEASURED, not withdrawn.

Fresh intel (regenerated)

{ “schema_version”: 1, “target”: { “kind”: “plan-section”, “ref”: “evolution-empirical-redesign/s-9c412e8b” }, “generated_at”: “2026-06-19T21:54:36.575431+00:00”, “graph_state”: { “head_sha”: “7a63de6f”, “last_code_import_at”: “2026-06-19T21:54:03.716Z”, “embedding_stale”: true, “insights_stale”: false, “cpg_stale”: false }, “surfaces”: {}, “summary”: “intel-package[plan-section:evolution-empirical-redesign/s-9c412e8b] agent-authored dossier”, “degraded”: false, “dossier”: { “objective_symbols”: [], “tiers”: {}, “agent_authored”: true, “difficulty”: { “class”: “routine”, “research_online”: false, “research_mode”: “auto”, “signals”: [], “plan_dir”: “/home/eric/projects/ori_lang/plans/evolution-empirical-redesign” } } }

(full dossier: verification-gate—s-9c412e8b.intel.json)