Repository navigation
Split rules/S2 and decisions/S2 into one rule per piece of evidence - #716
Merged
Merged
Conversation
S2 had grown to 324 lines holding seven rules. Each piece now has its own ID, statement, examples and Accepted clauses; no behavior moves (the 89 example lines are the same set, and corpus_rules.jsonl rebuilds byte-identical). - S2 a suffix word ends a name and never opens the string (keeps the trailing read-once clause the others rely on) - S4 the ambiguous acronym needs words to spare - S5 the given part's trailing slot after a family comma - S6 the case signal at the suffix slot - S7 the company of an unambiguous credential - S8 the credential's trailing run (#602) - S9 unlisted words that join the ambiguous class by shape S3 keeps its ID: rule IDs are never renumbered. Every citation in code, tests, other rules and AGENTS.md is retargeted by what it meant; four pointer citations became quoted ones so S5, S6, S7 and S9 have an implemented: list the citation check can hold. decisions/S2 stays the history of all seven until it is split in the next commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The 40 entries go to the rule each one decided: S2 keeps the trailing read (#614, #620, #625); S3 takes the roman-chunk retirement and the digit-dotted tokens, whose history had been filed under S2 too; S4 the count and the slots that report; S5 the given part's trailing slot (#531, #573, #578); S6 written case and the #289 + #516 arc's review and measurement rounds; S7 company (#544); S8 the credential's run (#602, #627, #679); S9 the by-shape class (#516's switches, #563, #564). Entry text moves unchanged except the 16 positional references the move broke ("the bullet above", "this section's item (ii)"), now key-form pointers, and one already stale before the move (the `### M2 above` left by #713). Each file closes with a dated note on the split, and every decisions/S2 pointer in code, tests and other entries is retargeted to the file now holding what it meant. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Short-form #S2 and 'under S2' pointers that located entries now in decisions/S3, S5, S6, S7 and S9 become key-form pointers; R4's caps-shape credential points at S9, not S6; S4 states that the case gives way to the count at the first slot after a comma (S6, C1), and its rationale scopes the words-to-spare claim to position; C2 names S7's report beside S8's; R5 interacts with S6. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #716 +/- ##
=======================================
Coverage 99.03% 99.03%
=======================================
Files 46 46
Lines 4557 4557
=======================================
Hits 4513 4513
Misses 44 44 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
decisions/S3's closing note no longer says S3 was part of rules/S2 (it only shared S2's log), and decisions/S2's note says so too. The test_design_docs fixture now pairs the case-signal name with S6, as the tree does, and probes S99 rather than the now-real S9 as missing. Two comments covering both the count and the case cite S4 and S6; test_render's #S2 becomes decisions/S6, where the judged-token decision lives; two comments the retarget overflowed are rewrapped. Co-Authored-By: Claude Opus 5.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.
Closes #682.
rules/S2 had grown to 324 lines holding seven rules, each with its own evidence. This splits it with no behavior change: the 89 example lines are the same set,
corpus_rules.jsonlrebuilds byte-identical, and the snapshot matches.The issue's open question is answered by the repo's own constraints: rule keys are letter+digits (
design_docs._RULE_KEY_RE) and IDs are never renumbered, so S3 stays put and the new rules take S4–S9.Commits
Rules split. Each statement piece, example and Accepted clause moves to the rule it witnesses. Every
rules/S2, bareS2and in-rule(S2)reference in code, tests, other rules and AGENTS.md is retargeted by what it meant. Four pointer citations became quoted ones, so S5, S6, S7 and S9 each have animplemented:list the citation check holds.decisions/S2 split. The 40 entries go to the rule each one decided:
Entry text is unchanged except 16 positional references the move broke, which are now key-form pointers. Each file ends with a dated note on the split.
Design-docs review fixes:
#S2/ "under S2" short-form pointers to moved entriesLesson recorded in docs/design/AGENTS.md: an ID split must grep all five citation spellings, not only the three the citation check reads.
PR review fixes (comment analyzer + AGENTS.md reviewer): decisions/S3's closing note (S3 only shared S2's log, it was never part of it), the test_design_docs fixture now pairs the case-signal name with S6 and probes S99 as missing, two count-and-case comments cite S4 and S6, one citation moves to decisions/S6.
Verification
🤖 Generated with Claude Code