Jeffy Loop 1.3.0
The surface inventory: bound the audit, not just the run
Real third-party runs kept exposing the same design gap. On bukosabino/ta the loop took 64 iterations and was still landing genuine Highs at iteration 62. On ranaroussi/quantstats, 50 iterations across 6 runs scored correctness: None in audit after audit while an entire module - the montecarlo simulator - had never been examined once. Dimension scores claimed the whole project but measured only where the audit had wandered, so a clean score could mean unexamined rather than clean, and nothing bounded or even measured the remaining surface. Convergence was empirical, not structural.
The surface inventory closes that.
- The first audit enumerates the project's whole public surface as a checkbox table in
PLAN.mdbefore filing any finding, and probes it breadth-first - every row shallowly before any row deeply - so the worst defect appears in the first filing, not the sixth. - A row flips to swept only with the commit an executed probe certified, and flips back when its implementing code changes.
- Audits sweep unswept and stale rows first and never wander; a dimension scored None claims only the rows actually swept, and an audit that leaves rows unswept must say so.
- The Stop hook refuses convergence while any row is unswept, alongside its existing ledger, Converged-line and verify-command checks. A
PLAN.mdfrom before this release has no inventory section and fails open. - The run report states progress as rows swept of rows total - a real denominator, so the remaining work is always the visible remainder of a finite list.
Change discipline, aimed at the self-inflicted regressions long runs surfaced: before changing shared or public code the loop reads its callers and the tests that pin it and states the contract the change preserves; a change that alters behavior, signature, or accepted inputs updates the documentation and reopens the affected inventory rows in the same iteration.
Publication rule: code that leaves the project - an issue body, a PR description, a report - must be run in exactly the form it is published, and its stated output must be that run's real output. A reduction of a verified script is new, unverified code.
Also in this release: the ta eval is now a full loop-run receipt (6 runs, 64 iterations, machine-checked convergence, 134 red tests to 211 green), and the README's evals, rules, and contributing sections are brought fully current.
Validator: 66 to 75 behavioural checks across these releases, every new check proven red before its fix.
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 keep converging under their old PLAN.md until you add a Surface inventory section (copy it from skills/jeffy/references/plan-default.md); new projects get it automatically at bootstrap.