Give the duplication sweep a home, and make it see what it missed - #54
Merged
Conversation
This instrument answers a stated success criterion — 're-running the shingle sweep finds nothing above eight lines that the package does not own' — and it has lived in scratch, been rewritten from memory three times, and been wrong by construction twice. Both errors cost real regressions. inventory.mjs only parsed the CHECKS object in verify/check.mjs, so 'no check body exists in more than one repository' read as met while 60 lines of suite runner sat outside that object. outside-checks.mjs looked outside CHECKS but still only inside check.mjs, and anchored on blust.ch requiring a run to appear in ALL THREE — so a block shared by only two was invisible. That is exactly how a requestfailed listener and a fonts.ready wait, which companygraph and guestgraph had and blust.ch did not, survived a premise scan concluding the runner was identical everywhere; consolidating on that premise then removed a working check from two sites. This one reads every file and reports two-of-three as loudly as three-of-three. Measured now: 2,927 duplicated lines across 144 runs, of which 1,588 lines are two-of-three only — more than half of it invisible to both predecessors. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
npm run dupes.This instrument answers a stated success criterion — "re-running the shingle sweep finds nothing above eight lines that the package does not own" — and it has lived in a scratch directory, been rewritten from memory three times, and been wrong by construction twice. Both errors cost real regressions.
inventory.mjsonly parsed theCHECKSobject inverify/check.mjs. So "no check body exists in more than one repository" read as met while 60 lines of suite runner sat outside that object — true of the object, false of the file.outside-checks.mjslooked outsideCHECKSbut still only insidecheck.mjs, and it anchored on blust.ch and required a run to appear in all three repos. A block shared by only two was invisible. That is exactly how arequestfailedlistener and adocument.fonts.readywait — which companygraph and guestgraph had and blust.ch did not — survived a premise scan that concluded the runner was identical everywhere. Consolidating on that premise then removed a working check from the two sites that had it.This one reads every file and reports two-of-three as loudly as three-of-three.
What it says today:
More than half the duplication in this family was unmeasurable by the tools that were reporting on it. The largest clusters, which are the honest scope of the remaining consolidation work:
verify/og-recipe.test.mjsbuild/instance.mjsverify/instance.test.mjsCLAUDE.md— shared conventions proseog-check.mjsog-recipe.mjsFence bodies and the package's own whole-file copies are excluded — those are duplicated across repositories on purpose, that being the design.
🤖 Generated with Claude Code