feat(tri): an address is not a count, and a count is not always a digit - #2986
Merged
Conversation
Refs #2983 New `tri issues numbers`. Of 478 open issues, **283** state a COUNT in the title -- 128 in digits only, 98 in words only, 57 both. open issues read 478 count in digits only 128 count in words only 98 both 57 POPULATION 283 quantifier only, excluded 20 no figure 175 THIS CORRECTS A NUMBER I PUBLISHED ONE PASS AGO. "268 open issues carry a number in the title" came from a matcher that read any two-digit run, and it was wrong in BOTH directions at once: - 145 of the 329 loose hits were ADDRESSES -- `#2841`, `Wave Loop 369`, `Prop. 65`, `w699`, `CI-01`. They identify a thing and measure nothing: 44% of what the digit matcher called the population, every one with nothing to re-read. - 98 issues state their figure only in WORDS. "Twelve quantified clauses call a function with the wrong number of arguments" is re-measurable and invisible to a digit matcher. The two errors partly cancel -- 268 against 283 -- which is the worst case, because a number that is nearly right survives review. The skill section is corrected IN PLACE rather than left standing beside the new one. TWO READERS, AND THE LOOSE ONE WAS A STRICT SUPERSET. The Rust read 295 where an independent Python reader read 283 on the same backlog. Subtracting was the whole diagnosis: 12 in Rust, 0 in Python, so the rule was strictly looser rather than differently wrong -- the signature of a missing boundary. It was: the digit scan had no word boundary and fired inside identifiers, and this repository is made of them (`t27`, `GF16`, `dlc10`, `SRL16E`, `0o777`, `2'b11`, `bitset.t27`). With the boundary both readers agree at 283 against 283, zero in either direction. `every`, `all`, `none` and `half` quantify without giving a figure, so they are excluded and counted separately rather than dropped in silence. `--sample N` takes a SYSTEMATIC sample -- every k-th by ascending number, not random and not chosen -- so re-running it gives an exact overlap wherever the backlog has not moved. A rate is only worth taking if the same sample can be taken again. Nine tests, both properties mutation-checked: removing the word boundary fails two, removing address-stripping fails three. Skill 419-420. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
# Conflicts: # .claude/skills/ci-gates/SKILL.md
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
PR DashboardGenerated at: 2026-08-30 20:32:46 UTC
Summary
Seal Status
|
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.
Refs #2983
New
tri issues numbers. Of 478 open issues, 283 state a COUNT in the title.This corrects a number I published one pass ago
"268 open issues carry a number in the title" came from a matcher that read any
two-digit run. It was wrong in both directions at once:
#2841,Wave Loop 369,Prop. 65,w699,CI-01. They identify a thing and measure nothing: 44% of what the digitmatcher called the population, every one with nothing to re-read.
function with the wrong number of arguments" is re-measurable and invisible to a digit
matcher.
The two errors partly cancel — 268 against 283 — which is the worst case, because a
number that is nearly right survives review. The skill section is corrected in place
rather than left standing beside the new one.
Two readers of one population, and the loose one was a strict superset
The Rust read 295 where an independent Python reader read 283 on the same backlog.
Subtracting was the whole diagnosis: 12 in Rust, 0 in Python, so the rule was strictly
looser rather than differently wrong — the signature of a missing boundary.
It was. The digit scan had no word boundary and fired inside identifiers, and this
repository is made of them:
t27,GF16,dlc10,SRL16E,0o777,2'b11,bitset.t27. With the boundary the two readers agree at 283 against 283, zero ineither direction.
What is excluded, and said out loud
every,all,noneandhalfquantify without giving a figure, so there is nothing tore-read. 20 titles carry only those; they are counted separately rather than dropped in
silence.
The sample is systematic
--sample Ntakes every k-th issue by ascending number — not random and not chosen — sore-running it gives an exact overlap wherever the backlog has not moved. A rate is only
worth taking if the same sample can be taken again.
Verify
Nine tests. Both properties mutation-checked: removing the word boundary fails two,
removing address-stripping fails three.
Skill 419–420.
🤖 Generated with Claude Code