Repository navigation
S2.6.8 — The M2.md and M4.md corrections, line-neutral - #339
Merged
dev-pmallapp merged 2 commits intoSep 21, 2026
Merged
dev-pmallapp merged 2 commits into
dev-pmallapp merged 2 commits into
Conversation
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
marked this pull request as ready for review
September 15, 2026 15:01
5 tasks
dev-pmallapp
merged commit Sep 21, 2026
adb9969
into
story/293-s2-6-skill-execution-harness
8 checks passed
8 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #325. Refs #293. The last task of S2.6.
Build target 10. Cases 3 and 19.
Line-neutral, measured properly
docs/milestones/M2.mddocs/milestones/M4.mdProven with
awk 'END{print NR}'againstgit show HEAD:<file>, notwc -lalone —wccounts 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> 0beside 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-skillsis adocstarget with no build file. Gate G5 made the harness its own target; the milestone now namesiai-harness, checked against the row #318 added atARCHITECTURE.md:62rather 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
:NNresolves 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
:105assigns the harness to adocstarget or that:230-232still carries the bare-token rule, one quoting the replaced:107-109sentence verbatim, one saying theM4.md:215restatement 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-241is 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
:NNstill 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-109rewrite 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
a3d02b01156 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-harnessexit 0 · both verifiers PASS at six.Evidence:
docs/evidence/325-20260915T145546Z.md.