Every defect the last repair left behind was a grep it did not run - #39
Merged
Merged
Conversation
Nine edits, each a sub-clause, closing what the 34-edit repair opened or left. A verification pass over the repaired page found the damage had one shape: a rename that enumerated its sites incompletely, or a deletion whose neighbouring sentence was never reread. Neither needs judgment to avoid. Both need a grep. WHAT WAS WRONG. TWO SWEEPS STOPPED SHORT. Renaming the cell-level sense of "verified" to "re-derived" changed four sites and missed two: the movement table still called an `unverified` -> anything move a re-verification, and the two-readings paragraph still said "re-verification debt" one line above its own gloss, "a re-derivation against text you already hold". Raising an absence claim from a pair to a triple changed three sites and missed the failure-mode table, which still prescribed a positive control alone. Note what a blind sweep would have broken: "re-verification" also appears for a digest recomputed on every run, for anchors re-checked after a move, and for adversarial re-review. Three different objects. Only two sites meant a cell against requirement text. A DELETION LEFT A DEMAND WITH NO REFERENT. 5e2ef34 removed decision step 6, correctly, since it could never fire -- and with it the only token an implementer could write into `rule` for a `needs-review` cell. 9271c4c then stated the field's domain and said a `needs-review` cell "names the rule that applies after the sequence has run". That rule had no name. `partial` gets a worked value; its sibling got a demand pointing at nothing. A CORRECTION LEFT A PRONOUN. f92e32a replaced the noun "the Part 1 boundary" with a linked section title and did not reread the sentence after it, so "Cross it on purpose" lost its antecedent. The same passage still said "the half addressed to the agent" for a span that is 86% of the file -- written by the commit that removed "the first half is yours" for making a proportional claim. WHAT CHANGED. Both sweeps are completed at the sites that mean what the sweep meant, and at no others. The reconciliation rule is named `assessors-split`, and a cell blocked on a decision only its owner can make takes the same grade under `blocked-on-owner`, so both routes to `needs-review` have a value to record. The bridging sentence names the boundary as a boundary and its pronoun points at it. Review row 7 asks which tree was read, closing the fourth provenance field on the one pass that audits provenance. TWO EDITS ARE STRUCTURAL RATHER THAN REPAIR. The boundary marker now names the cut instead of the position -- the command hands the agent everything from one heading on, so a rule written above it never reaches the agent. That converts placement from a judgment the next editor has to make correctly into a check they can run, and this class of defect is the one that keeps recurring. The paste-ready command now tells the agent to ask for the declared scope, the target level and the posture rather than choosing them, all three of which its own slice requires and none of which the command carried. WHAT WAS DELIBERATELY NOT DONE. Five findings are left open on the verifier's own advice: the section-name bullet, the two missing separator rules, the "Every file, both formats" line, the `quoted` and `version` checklist omission, and one count. Each is defensible as open, and closing them adds words to a page whose remaining defects are about placement rather than density. MEASURED. Long sentences 217 -> 217 against a baseline of 219. Fat cells 30 -> 30, at baseline; the two table cells edited stay well inside 40 words. Words 61,768 -> 61,815. 146 tests green including the HS-20 sentence cap, Word copy rebuilt with pandoc 3.10, zero non-ASCII bytes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Nine edits, each a sub-clause, closing what the 34-edit repair opened or left.
A verification pass over the repaired page confirmed all eight defects the repair targeted are closed —
rule_fired/reviewed_by/reviewed_atoccur nowhere in the repository, the Presence row agrees with the section that settles it, step 6 is gone and the sequence is genuinely first-match-wins, and no printed duration survives. It also found six trailing edges, and they had exactly one shape: a rename that enumerated its sites incompletely, or a deletion whose neighbouring sentence was never reread. Neither needs judgment to avoid. Both need a grep.Two sweeps stopped short. The
verified→re-derivedrename changed four sites and missed two; the pair → triple change made three and missed the failure-mode table. Worth noting what a blind sweep would have broken: "re-verification" also appears for a recomputed digest, for anchors re-checked after a move, and for adversarial re-review — three different objects. Only two sites meant a cell against requirement text.A deletion left a demand with no referent. Removing decision step 6 also removed the only token an implementer could write into
rulefor aneeds-reviewcell — and the next commit then required that cell to "name the rule that applies after the sequence has run". That rule had no name. It is nowassessors-split, and a cell blocked on a decision only its owner can make takes the same grade underblocked-on-owner, so both routes have a value to record.A correction left a pronoun.
f92e32aswapped a noun for a linked section title and did not reread the next sentence, so "Cross it on purpose" lost its antecedent — in a passage that also still called 86% of the file "the half", written by the commit that had just removed "the first half is yours" for making a proportional claim.Two edits are structural rather than repair:
What was deliberately not done. Five findings are left open on the verifier's own advice. Each is defensible as open, and closing them adds words to a page whose remaining defects are about placement rather than density.
Measured. Long sentences 217 → 217 against a baseline of 219. Fat cells 30 → 30, at baseline. Words 61,768 → 61,815. 146 tests green including the HS-20 sentence cap, Word copy rebuilt with pandoc 3.10, zero non-ASCII bytes.
🤖 Generated with Claude Code