Skip to content

[finding] sync-template-versions.mjs's GAP 1 note says Test Core is skipped in full for a diff confined to it — no longer true once the scripts filter lands #10016

Description

@claude

Blocked-by: #10014 (only becomes true when that PR lands)

Found while implementing #9829. Filed unassigned.

scripts/sync-template-versions.mjs's --self-test header argues the flag's existence from two
measured gaps. GAP 1 (lines ~376-401) reads:

GAP 1 — SCHEDULING. create-objectstack#test is reached only from ci.yml's test job, and that
job is if: ... needs.filter.outputs.core != 'false'. […] a diff confined to this file yields
core=false, so Test Core is skipped in full and the vitest never runs, on precisely the PR that
changes the rewriter.

PR #10014 changes the second half. core=false stays true — that filter is untouched — but the
test job now also gates on a new scripts filter output, so on a diff confined to this file the
job runs, --union-into runs inside it, and create-objectstack is pulled into the shard's package
set. Measured on that branch:

$ node scripts/check-cross-package-test-inputs.mjs --union-into ls.json --changed changed.txt
Cross-package scans pulled into this run because the diff touched their declared inputs:
  + @objectstack/spec  (declared glob matched scripts/sync-template-versions.mjs)
  + create-objectstack  (declared glob matched scripts/sync-template-versions.mjs)

So after that PR the paragraph states a scheduling fact that is no longer the case, in a header whose
whole job is to justify why the self-test lives in lint.yml. Same shape as #9651: a rationale
comment that stopped being true and would have the next reader re-derive the wrong conclusion.

What is NOT affected, and why the flag itself should stay: GAP 2 (the red paths — every failure
contract in the script's header, the clean-corpus control, the problems collection) is untouched,
and lint.yml carries no paths filter at all, so it still runs on every pull request, push and
merge-queue build. The fix is a comment edit — record that the scheduling half was closed and by
what — not a relocation of the self-test.

Deliberately not folded into #10014: that PR's diff is confined to .github/workflows/ci.yml under a
minimal-diff ruling, and editing this file would pull check:template-version-sync into its gate
set for a comment.

Refs: #9829, #10014, #9348 (the card that added the flag), #9651 (same class).


Generated by Claude Code


Generated by Claude Code

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions