Skip to content

docs: unred main -- two "mirror" false positives tripped the cutover ratchet - #391

Merged
wshallwshall merged 1 commit into
mainfrom
claude/lander-ratchet-falsepos
Aug 14, 2026
Merged

docs: unred main -- two "mirror" false positives tripped the cutover ratchet#391
wshallwshall merged 1 commit into
mainfrom
claude/lander-ratchet-falsepos

Conversation

@wshallwshall

Copy link
Copy Markdown
Collaborator

main is red, and this unreds it

test_present_tense_mirror_prose_does_not_grow counts 54 against a ceiling of 52 on main.
Every open PR inherits the failure the moment it merges main -- two already have.

Measured, not inferred. Counting the module's own predicate over the module's own file
population (_tracked(), which excludes _HISTORICAL and the test itself):

ref hits ceiling
40150e04 (parent) 52 52 ok
d059ddf6 (main) 54 52 over

The diff between those two sets is exactly two lines, both added by the previous merge.

Both are false positives, of a kind this module already documents

_PROSE matches the mirror. Both new lines use the word in its ordinary English sense -- a
symmetric counterpart to a rule -- not the repository sense the ratchet exists to catch.
Neither claims this repository is a mirror of anything:

  • CLAUDE.md -- "The mirror of the rule above, and the more insidious half"
  • docs/LEDGER-GATE.md -- "The allocation rule has a mirror, and the mirror is the more insidious half"

Reworded to counterpart, which is what both sentences already say. Meaning unchanged in each.

The ceiling is deliberately not raised

The module's comment is explicit -- lower it when you fix some, never raise it -- and it
records that 54 -> 52 was taken rather than banked so the slack could not re-admit real rot.
Raising it back to 54 to accommodate two non-defects would hand exactly that credit back, and
test_the_ratchet_is_not_slack exists to prevent precisely that.

Verified both directions

A green gate is evidence only if it was shown it could still go red, so both states were run:

  • with the two lines reverted -- assert 54 <= 52 fails
  • with them reworded -- passes

Full module: 4 passed.

Not fixed here

_PROSE will keep firing on innocent uses of "the mirror", which is a common way to describe a
symmetric rule. This is the second false-positive class the pattern has produced, after the
private repo substring case the module already narrowed for. Narrowing it deserves the same
careful verification that change got, and does not belong in a commit whose job is to unred main.

…ratchet

main is RED on `test_present_tense_mirror_prose_does_not_grow`: the count rose to
54 against a ceiling of 52, so every open PR inherits the failure the moment it
merges main. Measured, not inferred -- the parent commit counts exactly 52 and
main counts exactly 54, and the two added lines are these.

BOTH ARE FALSE POSITIVES OF THE KIND THE MODULE ALREADY DOCUMENTS. `_PROSE`
matches "the mirror", and both new lines use the word in its ordinary English
sense -- a symmetric counterpart to a rule -- not the repository sense the
ratchet exists to catch. Neither claims this repo is a mirror of anything:

    CLAUDE.md            "The mirror of the rule above, and the more insidious half"
    docs/LEDGER-GATE.md  "The allocation rule has a mirror, and the mirror is ..."

Reworded to "counterpart", which is what both sentences already mean. Meaning is
unchanged in each.

THE CEILING IS NOT RAISED, and that is deliberate. The module's own comment says
lower it when you fix some, NEVER raise it, and records that 54 -> 52 was taken
rather than banked precisely so the slack could not re-admit real rot. Raising it
to 54 here would hand back exactly that credit to suppress two non-defects.

VERIFIED BOTH DIRECTIONS rather than just observing green: with the two lines
reverted the assertion fails `54 <= 52`, and with them reworded it passes. A green
gate is evidence only if it was shown it could still go red.

NOT FIXED HERE, and worth its own item: `_PROSE` will keep firing on innocent uses
of "the mirror", which is a common way to describe a symmetric rule -- this is the
second class of false positive the pattern has produced, after the `private repo`
substring case the module already narrowed for. Narrowing it needs the same
careful verification that change got, and does not belong in an unred-main commit.
@wshallwshall
wshallwshall enabled auto-merge (squash) August 14, 2026 15:48
@wshallwshall
wshallwshall merged commit e6d25d1 into main Aug 14, 2026
33 of 34 checks passed
@wshallwshall
wshallwshall deleted the claude/lander-ratchet-falsepos branch August 14, 2026 15:49
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.

1 participant