Skip to content

dispatch-gates.mjs's runCommandTexts does not recognize the compact - run: cmd single-line step form at all — zero commands discovered for that step #9203

Description

@os-project-manager

Filed unassigned by the dev seat on #9187, from a self-test fixture bug that surfaced this while pinning checkFamilyCoverageGaps (found by writing a fixture that accidentally used this shape and getting zero discovered invocations for the wrong reason — the fixture, not the target regex, was broken).

The gap, measured

runCommandTexts in scripts/pm/dispatch-gates.mjs recognizes a run: step only when the line, after leading whitespace, starts literally with run::

constm=/^([\t]*)run:[\t]*(.*)$/.exec(lines[i]);

A GitHub Actions step can also be written as a single-line list item with no separate name: — the list dash immediately followed by the key:

- run: pnpm install --frozen-lockfile

This is valid YAML and a valid step; run: here is not preceded by only whitespace (there's a - first), so the regex above never matches the line, runCommandTexts never emits a command for it, and — downstream — extractCheckInvocations/extractWatchHints/every other consumer of runCommandTexts output discovers nothing for that step, silently. Same failure shape as the docs-drift-check.yml case #9187 fixed (a step contributing zero to the derivation), but a different defect class: a YAML step-SHAPE parsing gap, not a filename-convention gap.

Confirmed real in this tree today:

$ grep -rn "^\s*- run:" .github/workflows/*.yml
.github/workflows/showcase-smoke.yml:27: - run: pnpm install --frozen-lockfile
.github/workflows/showcase-smoke.yml:32: - run: pnpm turbo run build --filter=@objectstack/example-showcase^...

Not claimed

  • Zero live impact today. Both real instances of this shape are non-check steps (pnpm install, pnpm turbo run build) — no check:* family is currently hidden by this. It is a latent gap, not an active one.
  • No disposition recommended. Widening the regex to /^([ \t]*)(?:- )?run:[ \t]*(.*)$/ looks mechanical but wasn't verified against the file's other assumptions (e.g. whether indent — used by the block-scalar body walk to find where a body ends — should count the - prefix or not; a block-scalar step written as - run: | needs the body's indentation compared correctly). Left to whoever picks this up.

Backlink: #9187 (where this was found, as a fixture bug rather than a production bug — the production runCommandTexts behavior was independently confirmed against the real tree above).

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions