Skip to content

Commit a3bbb8b

Browse files
claude[bot]claude
andauthored
fix(devx): an artifact-roster row either judges the diff or says plainly that it cannot (#16221)
* wip: roster checker-health split, reason ordering, docblock clause * fix(devx): an artifact-roster row either judges the diff or says plainly that it cannot The `--commands` roster block tells its reader to run its rows, and for some of them running them yields a green that cannot fail for anything in the diff: the invocation resolves to the checker's own `--self-test` and nothing else. Those rows sat in the same list, in the same syntax, as rows whose green does grade the diff. The two named rows are self-test-only ON PURPOSE -- the half of each gate that judges a pull request needs the event payload and runs in its own workflow -- so the repair is to say so, not to change the script definitions. Rows are now split by a derived predicate, with the marker on the row rather than only in a caption, because consumers of this block grep rows. The discriminator is resolved one hop through the manifest that DEFINES the name: reading the printed command alone selects five rows and misses both rows this is about, since a pnpm-spelled row carries the flag in its manifest entry. An invocation this tool cannot resolve is named unclassified rather than defaulted into either side. Rider: the residue printer now names the refusal that actually fired for a bare separator-less literal, by ordering that branch ahead of the extensionless-target branch, with the refusal itself given one owner that `hintCovers` calls. Reachability re-measured: 236 dead hints, 0 reaching the target branch. Rider: one docblock clause in check-cross-package-test-inputs completes the single-segment refusal's statement of the rule with its one exception. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vbw3RPgdtqesx4azk9SbW8 --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 212eaba commit a3bbb8b

2 files changed

Lines changed: 360 additions & 18 deletions

File tree

scripts/check-cross-package-test-inputs.mjs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,8 +352,13 @@ const REPO_ROOT = resolve(HERE, '..');
352352
* wrong file is worse than a vague one, because the dev follows it and finds
353353
* nothing to edit. Computing it from the module URL also keeps the string out
354354
* of this module body: `extractWatchHints` strips a leading `./` and then
355-
* refuses what is left for having no separator, so an import specifier scores
356-
* as no population while a repo-relative spelling would score as one.
355+
* refuses what is left for having no separator -- with one exception, so that
356+
* a reader reasoning from this sentence about some OTHER literal gets the
357+
* right answer: a stripped literal that RESOLVES to a tracked DIRECTORY is
358+
* re-admitted (`moduleRelativeDirectoryHint`), and that predicate refuses a
359+
* tracked FILE explicitly. An import specifier resolves to a file, so it
360+
* scores as no population structurally rather than by luck, while a
361+
* repo-relative spelling would score as one.
357362
*/
358363
const DECLARATION_FILE = relative(REPO_ROOT, fileURLToPath(new URL('./cross-package-test-inputs.mjs', import.meta.url)));
359364

0 commit comments

Comments
 (0)