fix(tri): close the two-section gap, and print the threshold that caused it - #3019
Merged
Conversation
…sed it
Last pass shipped 121 where a second reader said 123 and said the gap was
not resolved. It is now: `tri skill claims --numbers` prints one
`<skill>:<number>` per counted section, so a comparison subtracts SETS
rather than strings. Four earlier attempts failed for that reason alone --
each matched truncated titles, a defect in the comparison and not in
either reader.
The two are sections 54 and 303, and both carry a SINGLE digit ("exited
0", "exit 0"). The shipped digit rule requires two or more, and that
threshold was never documented. Measured on 485 open issues: it excludes
20 titles, and they are not one kind of thing -- roughly a dozen state a
count ("`implies` appears 9 times in live source and 0 times in the
compiler"), the rest state a VALUE (an exit code, `0o777`, `-3/2 is -1`).
Dropping it takes the population 288 -> 308 and admits about eight titles
that count nothing.
So it is kept and it is now PRINTED, with `--single` to list what it
removes. A silent threshold makes 288 read as the whole population.
Also: `tri skill claims` walks every tracked SKILL.md now. Measured before
widening -- the two `.agents/skills` files are byte-identical to their
`.claude/skills` counterparts and all three unread files carry ZERO
numbered sections, so the count is unchanged at 123. Byte-identical copies
are detected, named, and counted once.
Refs #2994
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… widening 448: four attempts to find a two-section disagreement failed because each compared truncated titles. One flag printing section NUMBERS found it first try: 54 and 303, both single-digit, excluded by an undocumented two-digit threshold that removes 20 open titles -- a dozen of them real counts. Kept, sized, printed. 449: the option that said widening was blocked on an owner's decision was blocked on a measurement. The .agents copies are byte-identical and carry zero sections, so the walk widened and the count did not move. Refs #2994 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
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.
The gap from last pass, closed
§446 shipped 121 where an independent probe said 123, and said the gap was not resolved. Four attempts to locate it had failed, and every one failed the same way: the comparison matched truncated titles. That is a defect in the comparison, not in either reader — and it survives four tries because a title-prefix match is almost right.
The fix is one flag.
tri skill claims --numbersprints one<skill>:<number>per counted section and nothing else:Two lines, first try: sections 54 and 303.
And the cause was worth the hunt
Both sections carry a single digit — "the gate that exited 0", "Typecheck FAILED, exit 0" — and
carries()requires a run of two or more. That threshold sat in the code with no comment, doing work the documented rule (a word boundary on both sides) does not claim.Measured on 485 open issues: it excludes 20 titles, and they are not one kind of thing.
impliesappears 9 times in live source and 0 in the compiler · MAX_SORRY counts 5 admitted proofs; 4 are in files nothing compiles · 4 of 7 passes have no preconditiont27c seal exits 0· the lexer turns0o777into0·-3/2 is -1, -3>>1 is -2Dropping the threshold takes the population 288 → 308 and admits about eight titles that count nothing. So it stays — and it is now printed, with
--singleto list what it removes.The blocked option was blocked on a measurement
The option written for this pass said widening
tri skill claimsto the other threeSKILL.mdfiles needed an owner's call, because counting copies would double every figure. Twoshasumcalls and agrep -c:.agents/skills/phi-loop/SKILL.mdand.agents/skills/tri-pipeline/SKILL.mdare byte-identical to their.claude/skillscounterparts.So the worry was about an empty set. The walk now covers every tracked
SKILL.md, the count is unchanged at 123, and byte-identical files are detected, named in the output, and counted once — the guard the worry deserved, for the day one of them gains a section.Controls
cargo test -p tri--singlecount vs an independent probe!twofrom the exclusion rule#7); the four-digit examples passed either way, so they were not a controlmain.rs+8 −2, no formatter reorderingSkill §448–449.
Refs #2994
🤖 Generated with Claude Code