You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
check-affected: a fresh worktree's first verify run fails on missing npm dependencies #9122
In a freshly created worktree, the first scripts/check-affected.sh --tests run fails on missing npm dependencies rather than on the change. The failures are environmental:
check-read-caller-keys: the yaml package is not installed; run npm ci --prefix .github/standards/runner-policy
the structure check printed nothing; is .github/standards/runner-policy installed?
check-html-assets: htmlhint not found at <worktree>/node_modules/.bin/htmlhint (run npm ci)
On 2026-10-22 this happened in two new worktrees in a row. Each time, one full verify cycle was wasted before the cause was clear: npm ci at the root and under .github/standards/runner-policy, then a rerun.
Expected
check-affected.sh either installs what its selected suites need, or stops at the start with one line naming the exact npm ci commands to run, before spending minutes on suites that cannot pass.
Suggested fix
Have check-affected.sh check that node_modules exists at the root and under .github/standards/runner-policy before it runs suites that need them. If either is missing, either run npm ci itself under nice, or fail fast and name the commands.
Proposed work class: work-class: scoped
Basis: automated intake triage; a maintainer confirms or changes it.
Understood: in a fresh worktree, scripts/check-affected.sh --tests fails on missing npm dependencies (root node_modules and .github/standards/runner-policy), which wastes a full verify cycle. You'd like it to either install what the selected suites need or stop up front with one line naming the npm ci commands. Nothing seems to be missing from the report. Related but not identical open issues: #8814 (check-affected --tests passes without running the selected Node suites), #8780 (CI passes when suites skip for missing dependencies) and #9051 (check-affected.sh can report 0 changed files). None of them looks like a duplicate.
Two more occurrences 2026-10-22: #9144 (htmlhint missing, root node_modules) and #9173 (runner-policy yaml missing; the rerun took about 21 minutes because the scripts/pipefail-grep-q-baseline.txt edit selected 154 suites). Both diffs were fine; each cost a full verify rerun.
Hit again three times on 2026-10-22, each a fresh worktree's ready-flow verify failing until npm ci ran there: #9072 (htmlhint missing for check-html-assets), #9182 (Cannot find module 'yaml' under .github/standards/runner-policy, 7 suites), and #9107. Each cost a failed verify plus a manual install in the agent's run.
Hit again 2026-10-24 on #9661's fresh worktree: scripts/check-script-contract.test.sh failed 2 cases with htmlhint not found ... (run npm ci), so check-affected.sh --tests recorded fail; after npm ci the same head passed (12 passed, 2 skipped). Third occurrence across the git-hooks unify sessions.
Activity
github-actions commentedon Oct 22, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; a maintainer confirms or changes it.
Understood: in a fresh worktree,
scripts/check-affected.sh --testsfails on missing npm dependencies (rootnode_modulesand.github/standards/runner-policy), which wastes a full verify cycle. You'd like it to either install what the selected suites need or stop up front with one line naming thenpm cicommands. Nothing seems to be missing from the report. Related but not identical open issues: #8814 (check-affected --tests passes without running the selected Node suites), #8780 (CI passes when suites skip for missing dependencies) and #9051 (check-affected.sh can report 0 changed files). None of them looks like a duplicate.Automated triage. A maintainer reviews it.
kyle-sexton commentedon Oct 22, 2026
Two more occurrences 2026-10-22: #9144 (htmlhint missing, root node_modules) and #9173 (runner-policy yaml missing; the rerun took about 21 minutes because the scripts/pipefail-grep-q-baseline.txt edit selected 154 suites). Both diffs were fine; each cost a full verify rerun.
kyle-sexton commentedon Oct 22, 2026
Hit again three times on 2026-10-22, each a fresh worktree's ready-flow verify failing until
npm ciran there: #9072 (htmlhint missing for check-html-assets), #9182 (Cannot find module 'yaml'under .github/standards/runner-policy, 7 suites), and #9107. Each cost a failed verify plus a manual install in the agent's run.kyle-sexton commentedon Oct 24, 2026
Hit again 2026-10-24 on #9661's fresh worktree:
scripts/check-script-contract.test.shfailed 2 cases withhtmlhint not found ... (run npm ci), socheck-affected.sh --testsrecorded fail; afternpm cithe same head passed (12 passed, 2 skipped). Third occurrence across the git-hooks unify sessions.fix(ci): install npm dependencies through setup-env.sh --node