test(plugin-markdown): cite toc-anchor-parity instances by content, not line address - #8046
Merged
Merged
Conversation
…ot line address The `### NON_GRID_ROW_CEILING` case named its instance `packages/react/README.md:224`. The heading moved to :253 and nothing went red: the test asserts an inline string and never reads the file, so the address lived only in the test name. Drop the address rather than update it — the heading text is already the identifying content and is already in the assertion one line below. The same file built three more names by interpolating a `where` field that carried five more line addresses; those are dropped to file paths for the same reason. A comment records the convention so the class does not return here. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QnpvbdoRisQdRAczkLwnf5
Contributor
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
This was referenced Sep 6, 2026
os-steve
marked this pull request as ready for review
September 6, 2026 13:04
baozhoutao
pushed a commit
that referenced
this pull request
Sep 6, 2026
Brings in #8046, #8042, #8039. Neither of this branch's two paths is touched by that range; plugin-view source moved, so the forced build and every gate are re-run on the merged head. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FhBNJcLRZLe8M87VcUgpKr
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.
Fixes #7913
Authored by the os-dev seat in session
https://claude.ai/code/session_01QnpvbdoRisQdRAczkLwnf5.The repair
toc-anchor-parity.test.tsx:136named its case by line address:Verified on
origin/mainat06761b351: the heading is now atpackages/react/README.md:253, and nothing went red — the test asserts an inline string and never reads the file, so the address lived only in the name.⛔ The address was dropped, not updated to
:253. Updating it defers the rot to the next edit, which is the whole content of the card. The heading text### NON_GRID_ROW_CEILINGis already the identifying content and is already in the assertion one line below. This is the class objectui#7853 ruled on — cite the assertion by content, not by line address — with #6998, #7289 and #6548 as prior recurrences.⭐ Five more addresses in the same file, and the bounded in-place fix
The card and triage both counted one instance in this file. There are six.
LIVE_SHAPEScarries awherefield that line 60 interpolates straight into the test name:so three more test names carried five more line addresses (
cli.mdx:136,cli/README.md:108,cli.mdx:220,cli/README.md:112,runner.mdx:106). They were missed because a sweep anchored on theit(line cannot see a name built from data — the addresses live 16 lines above it in a fixture table.Those five are repaired here as a bounded in-place fix: same file, same defect class, same suite, no new verification surface, and no other claim on the file.
wherenow names the files, which is content identity; the heading text inmdremains the identifying content.:224was live-stale. The defect is not that they are wrong, it is that nothing can tell you when they become wrong.Evidence, from the rendered names at
f6d3b3e:A comment above
LIVE_SHAPESnow records the convention so the class does not return to this file.The sweep across
packages/**, with a control that firesControl: against a fixture of five known-positive shapes (single quotes, double quotes, backticks,
it.each,it.skip) and two known-negatives (a bare path with no address; a version number plus a clock time) it reports 5 and 0, and in-tree it reports #7913's own instance. A zero from this regex is now a reading rather than a guess.Result: 3 hits across 2 files, matching triage exactly — this file, plus 2 in
packages/types/src/__tests__/text-value-retired-6951.test.ts. Coverage: 2352 of the 2357 files underpackages/**that declare tests match those globs; the remaining 5 were swept separately and are clean. A second, name-agnostic scan (quoted addresses on non-comment lines) found the interpolated group above and nothing else in a test name.The
packages/typespair isdomain:spec, so it is deliberately not in this PR — filed as #8045 for triage to route, unassigned andfinding-only. Both are accurate today (layout.ts:66really isTextSpanSchema.value), which is recorded there because triage had not checked it.Verification — all at
f6d3b3e, clean treepnpm exec vitest run packages/plugin-markdown/pnpm --filter @object-ui/plugin-markdown run type-checkpnpm --filter '@object-ui/plugin-markdown^...' build; the file is in the program —tsc --listFilesreports it once)check-changeset-presencecheck-changeset-fixed/-no-major/-overwritecheck-control-bytescheck-governed-queue-guard --testCannot find module '@object-ui/core'on unbuilt dependencies. That is NOT MEASURED rather than red; the row above is the run after the dependency closure was built.Lint is a declared narrowing, not a full run.
eslint --no-inline-configon the touched file: exit 0, 1 file, 0 errors, 0 warnings. Population, read from ESLint's own ignore logic rather than guessed: 4358 tracked JS/TS files it would lint. Invariance:eslint.config.jsconfigures noproject/projectService/parserOptions.project, sotypescript-eslintruns without type information and each file is judged in isolation — a one-file diff cannot move the verdict on any untouched file. The repo-wide scan belongs to CI.Notes
skip-changesetlabel: this diff is a file under a released package'ssrc/, so the repo's own gate owes a declaration. It is answered with an empty-frontmatter changeset, which that gate documents as a first-class pass rather than a workaround.Generated by Claude Code