Skip to content

Have C1, S2 or P6 grown by patching the way M2 had, and should they be rethought? #611

Description

@derek73

Why. M2 had grown one stop or release check at a time across #424, #533, #535, #538 and #549, until a guard had to model three other stages' joins to stay correct. #601 rethought it from the top and deleted that machinery. docs/design/AGENTS.md now names the signs: the rule works by scanning and stopping, each fix added a stop or an exception, and a guard models what another stage would do. That last sign is the decisive one. mechanisms.md now records the two patterns the rethink used, READ-WITHOUT-THEN-BIND and LICENSED-BY-NEIGHBOR.

Rule length alone isn't the signal. Measured 2026-10-04:

Rule decisions.md entries decisions.md words Rule prose words
S2 35 18,637 2,408
R4 35 14,296 1,451
C1 15 12,308 2,445
P3 11 7,052 1,351
P6 10 6,024 1,510

R4's entries are mostly vocabulary and rendering cases rather than added stops, so it's out of scope here.

The question. For each of C1, S2 and P6, does it show the decisive sign? If so, what would the READ-WITHOUT-THEN-BIND or LICENSED-BY-NEIGHBOR version look like, and roughly what would it move?

Shape of the answer, per rule.

Then a decision per rule: leave it, or file a #601-style issue in rule shape.

Not in scope: changing behavior here. This issue decides what to rethink, not how anything parses.

Related: #601, #603, #610.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions