Skip to content

S2.6.8 — The M2.md and M4.md corrections, line-neutral - #339

Merged
dev-pmallapp merged 2 commits into
story/293-s2-6-skill-execution-harnessfrom
task/325-milestone-corrections
Sep 21, 2026
Merged

dev-pmallapp merged 2 commits into
story/293-s2-6-skill-execution-harnessfrom
task/325-milestone-corrections

Conversation

@dev-pmallapp

Copy link
Copy Markdown
Owner

Closes #325. Refs #293. The last task of S2.6.

Build target 10. Cases 3 and 19.

Line-neutral, measured properly

File Before After
docs/milestones/M2.md 261 261
docs/milestones/M4.md 259 259

Proven with awk 'END{print NR}' against git show HEAD:<file>, not wc -l alone — wc counts newlines, so a file whose final newline changed can read identically while its line count did not. 7 insertions, 7 deletions, four hunks.

The four restatements

M2.md:107-109 — "the second run makes zero mutations" with no > 0 beside it is satisfied perfectly by a harness that never ran anything: the exact vacuity #322's runner was built to close, left standing in the sentence that seeds it. Now per scenario and never summed — run 1 makes at least one mutation, run 2 then makes none.

M2.md:105 — iai-skills is a docs target with no build file. Gate G5 made the harness its own target; the milestone now names iai-harness, checked against the row #318 added at ARCHITECTURE.md:62 rather than assumed.

M2.md:230-232 — the bare-token ban was overturned by gate G2 of #41 as unimplementable and self-contradictory. Now bans the routing form. Second time the file was opened with this superseded; fixed, not deferred a third time.

M4.md:215 — records the one fixture repository S2.6 owns and M4 consumes, per gate G6.

The point of the task: eight citations now resolve and are false

#297's edit was exactly line-neutral so that its citations would keep resolving. They do. They are also no longer true. A guard checking only that a :NN resolves would have passed it, because making it pass was the design goal.

Every citation into the four edited sites was resolved by hand. All still resolve. Eight are now false in the present tense — six saying :105 assigns the harness to a docs target or that :230-232 still carries the bare-token rule, one quoting the replaced :107-109 sentence verbatim, one saying the M4.md:215 restatement is unresolved. Each is tabled in the evidence with a verdict, alongside the six that survive and why.

None is edited. Every one is a problem statement or gate ruling inside gate-approved documents that record the world as it was at ruling time. A Design that stopped describing the defect it commissioned a fix for would destroy the record of why the fix happened.

No immutable evidence artifact cites any edited site — checked across all of docs/evidence/.

Two things deliberately not done

M2.md:240-241 is untouched, owner #337. #324's token figure is a session total and an upper bound; whether to tick, restate or re-measure is a ruling, not a line edit — and making it silently here would be the third superseded criterion rewritten without one. It must not be ticked on that number.

#304 is not closed. Nothing verifies a :NN still says what the citing document claims. Eight were checked by hand because there is no other way — the third consecutive task to pay that cost.

A drafting error worth recording

The first version of the :107-109 rewrite compressed the tail and silently dropped "every claim maps to at least one case" — a verification requirement, not a turn of phrase. Caught by diffing meaning rather than counting lines. A line-neutral edit can be line-neutral and still delete a requirement.

Chain, on a3d02b0

1156 tests / 1142 pass / 0 fail / 14 skip / 4220 expect() · lint 0 across 126 files · typecheck clean · claim-lint 126 files, 0 errors, 1 warning · skill-harness exit 0 · both verifiers PASS at six.

Evidence: docs/evidence/325-20260915T145546Z.md.

Build target 10. Four restatements, 261 and 259 lines before and after.

M2.md:107-109 said "Each skill runs twice ... and the second run makes zero
mutations". Zero mutations with no `> 0` beside it is satisfied perfectly by a
harness that never ran anything -- the vacuity #322's runner exists to close,
left standing in the milestone that seeds it. Now: per scenario and never
summed, run 1 makes at least one mutation and run 2 then makes none. The
claim-mapping and both-lints halves of the original sentence are preserved; an
early draft of this commit dropped "every claim maps to a case" while
compressing, which would have removed a verification requirement rather than
reworded one.

M2.md:105 assigned the harness to iai-skills, a docs target with no build file.
Gate G5 of #293 ruled it its own build target, and #318 added the
ARCHITECTURE.md row; the milestone now names iai-harness.

M2.md:230-232 still banned the bare tokens dev/trade/health/wealth/know, which
gate G2 of #41 overturned in favour of the routing form, dropping know
entirely. Now bans `domain:<id>` and `skills/<id>/` for any id in
KNOWN_DOMAIN_IDS.

M4.md:215 now records that the fixture repository is the ONE S2.6 owns and M4
consumes, per gate G6 -- two fixture repositories being a coexistence problem
arriving before anything is built.

LINE-NEUTRALITY IS NOT THE POINT, AND THIS TASK IS WHERE THAT BITES. #297's
edit was exactly line-neutral so its citations would keep resolving, and they
do -- they are also no longer true. Eight citations into these four sites still
resolve and are now FALSE in the present tense: six say M2.md:105 assigns the
harness to a docs target or that :230-232 still carries the bare-token rule,
one quotes the old :107-109 sentence verbatim, and one says the M4.md:215
restatement remains unresolved. Every one is a problem statement or gate ruling
inside the gate-approved Design and test plan of #293 -- documents that record
the world as it was at ruling time. They are enumerated in the evidence
artifact and deliberately not edited.
Measured on a3d02b0, which frontmatter `commit:` pins as the parent.

Line-neutrality proven with awk against `git show HEAD:<file>` rather than
`wc -l` alone: wc counts newlines, so a file whose final newline changed can
read identically while its line count did not. 261 and 259, before and after.

The artifact's substance is the citation audit. All ~30 citations into
M2.md and M4.md were resolved by hand; every citation into the four edited
sites still RESOLVES, and eight are now FALSE in the present tense. They are
enumerated with a verdict each, alongside the six that survive and why. None
of them is edited: every one is a problem statement or gate ruling inside
gate-approved documents that record the world as it was at ruling time, and a
Design that stopped describing the defect it commissioned a fix for would
destroy the record of why the fix happened.

#304 is not closed and this task did not close it. Nothing verifies that a
:NN still says what the citing document claims; eight were checked by hand
because there is no other way, the third consecutive task to pay that cost.

M2.md:240-241 is deliberately untouched with #337 as its owner: #324's token
figure is a session total and an upper bound, and whether to tick, restate or
re-measure is a ruling rather than a line edit.
@dev-pmallapp
dev-pmallapp marked this pull request as ready for review September 15, 2026 15:01
@dev-pmallapp
dev-pmallapp merged commit adb9969 into story/293-s2-6-skill-execution-harness Sep 21, 2026
8 checks passed
@dev-pmallapp
dev-pmallapp deleted the task/325-milestone-corrections branch September 21, 2026 03:43
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.

2 participants