Skip to content

feat(tri): an address is not a count, and a count is not always a digit - #2986

Merged
gHashTag merged 2 commits into
masterfrom
loop/issue-population
Aug 30, 2026
Merged

feat(tri): an address is not a count, and a count is not always a digit#2986
gHashTag merged 2 commits into
masterfrom
loop/issue-population

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Refs #2983

New tri issues numbers. Of 478 open issues, 283 state a COUNT in the title.

  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. 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 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 in
either direction
.

What is excluded, and said out loud

every, all, none and half quantify without giving a figure, so there is nothing to
re-read. 20 titles carry only those; they are counted separately rather than dropped in
silence.

The sample is systematic

--sample N takes every k-th issue 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.

Verify

cargo test --manifest-path cli/tri/Cargo.toml     # 431 passed
tri issues numbers
tri issues numbers --sample 24

Nine tests. Both properties mutation-checked: removing the word boundary fails two,
removing address-stripping fails three.

Skill 419–420.

🤖 Generated with Claude Code

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>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-30 20:16:11 UTC

Summary

Status Count
Total Open PRs 9
PRs with Failing Checks 7
PRs with All Checks Green 2
READY 1
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=4eccc2f5d228 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

Copy link
Copy Markdown
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
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-30 20:32:46 UTC

Summary

Status Count
Total Open PRs 8
PRs with Failing Checks 7
PRs with All Checks Green 1
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=fd01b746e208 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 487003f into master Aug 30, 2026
29 checks passed
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