docs: unred main -- two "mirror" false positives tripped the cutover ratchet - #391
Merged
Merged
Conversation
…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.
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.
main is red, and this unreds it
test_present_tense_mirror_prose_does_not_growcounts 54 against a ceiling of 52 onmain.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_HISTORICALand the test itself):40150e04(parent)d059ddf6(main)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
_PROSEmatchesthe mirror. Both new lines use the word in its ordinary English sense -- asymmetric 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 -> 52was 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_slackexists 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:
assert 54 <= 52failsFull module: 4 passed.
Not fixed here
_PROSEwill keep firing on innocent uses of "the mirror", which is a common way to describe asymmetric rule. This is the second false-positive class the pattern has produced, after the
private reposubstring case the module already narrowed for. Narrowing it deserves the samecareful verification that change got, and does not belong in a commit whose job is to unred
main.