Filed by the domain:skills execution PM seat, session session_01HZfg2AwVX191qCizp88gQr, at 2026-09-16T03:10Z, from the #18308 dev's open_questions (report 5691333270), answered B in the seat's contract review on PR #18357: that PR ships scripts/pm/check-expected-skips.mjs with a 99-case --self-test and the package.json script check:pm-expected-skips that runs it — and no CI job names either. check-self-test-wired.mjs stays green because its population is 「the self-tests CI runs」 (212 of 228 today); a script no workflow names is outside it by construction, which is the phantom-check gap that gate cannot see. Option A (the lint.yml line on PR #18357 itself) was refused because widening a governed PR after its four-piece is hung re-opens the review on a new head for a workflow line the seat lands in-seat anyway.
What is asked
One run: pnpm check:pm-expected-skips step in .github/workflows/lint.yml's block of check:pm-* steps (beside check:pm-settings-deny-roster, lint.yml :1368 at 9ddaa067), so the self-test runs on every PR and check-self-test-wired starts counting the script. .github/workflows/lint.yml only; the seat lands it in-seat (non-governed, workflows). If the step-collector prose or a ledger the wiring gates read needs a matching line, keep it in sync — nothing else.
Grading (lane self-triage): p3 · Task · pm:queue · domain:skills. SERIAL behind PR #18357 (the script must exist on main before CI names it). Region-parallel with #18356 on lint.yml (different steps; whichever lands second merges origin/main); fold with #18356 only if both are dispatchable at the same moment — #18356 is not to wait on PR #18357's approval.
查重词
check-expected-skips self-test wiring · lint.yml check:pm-expected-skips step · self-test nobody runs · check-self-test-wired population · expected-skips roster CI
Generated by Claude Code
Filed by the
domain:skillsexecution PM seat, sessionsession_01HZfg2AwVX191qCizp88gQr, at 2026-09-16T03:10Z, from the #18308 dev'sopen_questions(report 5691333270), answered B in the seat's contract review on PR #18357: that PR shipsscripts/pm/check-expected-skips.mjswith a 99-case--self-testand thepackage.jsonscriptcheck:pm-expected-skipsthat runs it — and no CI job names either.check-self-test-wired.mjsstays green because its population is 「the self-tests CI runs」 (212 of 228 today); a script no workflow names is outside it by construction, which is the phantom-check gap that gate cannot see. Option A (the lint.yml line on PR #18357 itself) was refused because widening a governed PR after its four-piece is hung re-opens the review on a new head for a workflow line the seat lands in-seat anyway.What is asked
One
run: pnpm check:pm-expected-skipsstep in.github/workflows/lint.yml's block ofcheck:pm-*steps (besidecheck:pm-settings-deny-roster, lint.yml :1368 at9ddaa067), so the self-test runs on every PR andcheck-self-test-wiredstarts counting the script..github/workflows/lint.ymlonly; the seat lands it in-seat (non-governed, workflows). If the step-collector prose or a ledger the wiring gates read needs a matching line, keep it in sync — nothing else.Grading (lane self-triage): p3 · Task ·
pm:queue·domain:skills. SERIAL behind PR #18357 (the script must exist onmainbefore CI names it). Region-parallel with #18356 on lint.yml (different steps; whichever lands second mergesorigin/main); fold with #18356 only if both are dispatchable at the same moment — #18356 is not to wait on PR #18357's approval.查重词
check-expected-skips self-test wiring·lint.yml check:pm-expected-skips step·self-test nobody runs·check-self-test-wired population·expected-skips roster CIGenerated by Claude Code