diff --git a/references/briefs.md b/references/briefs.md index 3775a8e..86a0d9b 100644 --- a/references/briefs.md +++ b/references/briefs.md @@ -73,9 +73,15 @@ Standing rulings: . - Delete before adding. No shims. Every rule the spec or the operator names gets a test that fails under its own -mutation. Run the mutations against the final spelling of the code and restore +mutation, and under two mutations, not one: a revert (delete the check) and a +loosening that keeps the check in place and weakens it (`>=` for `==`, the +first item only, the image without the batch, case-insensitive, off by one). +The revert proves the test sees the rule; only the loosening proves it sees +the rule's edge, and the loosening is what Soul would otherwise write on its +second pass. Run both against the final spelling of the code and restore afterwards. In the report, define each mutation exactly (what line changed and -how) so Soul can rerun it; a mutation named only "C3" cannot be checked. +how) so Soul can rerun it; a mutation named only "C3" cannot be checked. A +loosening that survives is reported, not hidden and not deleted. When a claim is "behaviour unchanged", a value captured from the new code is not evidence. Pin it with a value computed at the base commit. Detached scripts: confirm the log starts within 60 s; a script that dies on a @@ -135,14 +141,17 @@ boundary with no half-deleted authority, and report what remains. Don't update the map. -Report: +Report, in this shape and nothing else: - commits (and which don't build) -- verification output -- mutation results +- verification output, pasted, not summarised +- mutation results: each entry, its exact edit, its killer or SURVIVED - spec discrepancies you fixed - forks - structural delta (lines, dependencies and formats removed or added) - what remains +No narrative of the pass, no restating the brief, no reasoning about what you +might have done. Self reads the three things above the discrepancies first +and needs them in that order. ``` ## Soul: falsify executed work @@ -199,7 +208,15 @@ An inline harness typed for one run is not evidence, and it is where the one known fake kill came from. Report each finding as CONFIRMED or PLAUSIBLE, with file:line, a failure -scenario and severity. Then give a short list of the promises that held. +scenario and severity. Then the promises that held, one line of evidence +each. Then the numbers: test counts, entries killed, path delta, script +paths. Nothing else: no narrative of the pass, no reasoning about mutants +that died. Rerun Hands' loosening mutations; design your own only where a +rule has none or the loosening was weak. + + scope is the fix batch's diff +plus one rerun of the suite. Do not re-derive the whole cut unless an +invariant moved. Say in one sentence whether the cut closes. ``` ## Mind Steward: phase boundary diff --git a/references/changelog.md b/references/changelog.md index e573d2a..aac512c 100644 --- a/references/changelog.md +++ b/references/changelog.md @@ -2,6 +2,30 @@ Record each change to the skill together with the evidence that motivated it. +## 2026-09-16: the loop was burning tokens on gaps, not defects + +Evidence: one day of the Eureka pipeline-state and TypeScript QUIC campaigns, +about thirty-five passes. The operator asked how much of the cost was process +and how much the price of a second agent. Roughly half each. The falsifier +earned its half: three High key defects, an unimplemented epoch gate, a +replay regression, a byte-order mark divergence and a false "equivalent" +claim, none of which a green report caught. The other half: + +- **Hands wrote revert mutations; Soul wrote loosenings.** Most second and + third Soul passes found not defects but rules the suite was blind to. The + Hands brief now requires both mutations per rule, and Soul reruns Hands' + loosenings before writing its own. +- **Reports were narrative.** Soul passes ran two to three hundred thousand + tokens each. Both briefs now name the report shape and forbid the rest, and + a second pass on a cut is scoped to the fix batch's diff. +- **Two harnesses re-learned each other's lessons.** Epiphany's PowerShell + harness and CultLib's JavaScript runner each hit the sidecar footgun, the + missing control and a control-byte scar on their own. One harness in this + repo is the next change; deferring it to a "skill wiring" cut cost three + rediscoveries in an afternoon. +- **The map committed per event**, about forty times in a day. Per cut from + now on, rulings excepted, since agents read them mid-flight. + ## 2026-09-16: agents must be told how to wait, not only to wait Evidence: Ghostlight L1, the stock lenses