Commit fc4520b
committed
tooling(pm): derive one gate entry per workflow invocation, not per script path
`dispatch-gates` keyed a discovered family on the script PATH, so CI's two
invocations of one script collapsed into a single entry — and the entry kept
was the plain one, because the direct matcher captured the path and dropped the
argument tail. Measured on PR #14958: `lint.yml` runs
`node scripts/check-tenant-audit-census.mjs --self-test` beside the plain run,
the red was carried entirely by the `--self-test` invocation, and the derived
list named only the invocation that was already green. A dev following the list
verbatim could not see the failure mode at all.
The key is now (script, args). The argv half is admitted only when this tool can
render the invocation runnably — a complete run of flag-shaped tokens; a tail
carrying a value, or continued onto the next line, keeps the bare path key it
has today rather than being truncated into a command that cannot run.
Read from this tree's workflow text: 28 scripts in `lint.yml` are invoked more
than once under different argv, 41 across all workflow files, and every one of
them carried a `check-` basename and so collapsed. 204 discovered families
become 242; three `check-` scripts CI never invokes plainly lose a bare key
that named a command nobody runs.
Also: a `--self-test` invocation is never CI-measured-only. The payload-access
read that classification rests on is taken from the gate's work body, which a
self-test run does not execute, so suppressing it from `--commands` would hide
a command a dev can run.
And the usage line printed on the derivation-failure path moves `--residue`
inside the alternation, so it no longer advertises the `--tier --residue` pair
the CLI has refused since #14753.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox1 parent 8be26d9 commit fc4520b
1 file changed
Lines changed: 32 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11024 | 11024 | | |
11025 | 11025 | | |
11026 | 11026 | | |
11027 | | - | |
| 11027 | + | |
| 11028 | + | |
| 11029 | + | |
| 11030 | + | |
| 11031 | + | |
| 11032 | + | |
| 11033 | + | |
| 11034 | + | |
| 11035 | + | |
| 11036 | + | |
| 11037 | + | |
| 11038 | + | |
| 11039 | + | |
| 11040 | + | |
| 11041 | + | |
| 11042 | + | |
| 11043 | + | |
11028 | 11044 | | |
11029 | 11045 | | |
11030 | 11046 | | |
| |||
17130 | 17146 | | |
17131 | 17147 | | |
17132 | 17148 | | |
| 17149 | + | |
| 17150 | + | |
| 17151 | + | |
| 17152 | + | |
| 17153 | + | |
| 17154 | + | |
| 17155 | + | |
| 17156 | + | |
| 17157 | + | |
| 17158 | + | |
| 17159 | + | |
| 17160 | + | |
17133 | 17161 | | |
17134 | 17162 | | |
17135 | | - | |
| 17163 | + | |
| 17164 | + | |
| 17165 | + | |
17136 | 17166 | | |
17137 | 17167 | | |
17138 | 17168 | | |
| |||
0 commit comments