Jeffy Loop 1.3.1
Correctness probes, not liveness probes
The first run under the v1.3.0 surface inventory (ten iterations on ranaroussi/quantstats) proved the mechanism and exposed its one bias: every High the run filed was a crash or a type error, while independently re-verified value defects at the same upstream commit - a Kelly criterion returning the growth-optimal fraction multiplied by the average loss, an aggregation argument silently ignored - sat untouched behind 160 probes, because a run-without-crashing probe cannot see a wrong number.
Three rules close it, each proven red in the validator before its fix:
- Sweeping value-computing surface requires a known-answer or invariant check per function family. Run-without-crashing flips no inventory row: the costliest defects return wrong numbers without complaint, and a crash-biased sweep files every type error while certifying wrong arithmetic as clean.
- Inventory rows enumerate from the code, including underscore-private modules - independent review found one dead function in a module no row named, demonstrably outside every sweep - and are sized so one checkbox certifies a comparable amount of surface, not eighty functions in one row and two in another.
- The verify gate's revert rule gains its one principled exception, observed working in the field: a newly red test proven green-because-of-the-bug may be fixed forward within the iteration, but only with differential evidence that the change altered no previously-passing output. Without the evidence, revert.
Validator at 75 behavioural checks.
Upgrading
git pull
./install.sh # Windows PowerShell: .\install.ps1
The installer copies the skill into ~/.claude/, which is what actually runs; pulling alone does not update it. Existing projects inherit the new sweep rules from the iteration prompt automatically; refresh the Surface inventory prose in an existing PLAN.md from skills/jeffy/references/plan-default.md if you want the project-local text to match.