Repository navigation
Commit efb9d22
committed
fix(ci): a step's
Review round 9, P1. `RawStep` and the digest never read `if:`, and the
consequence was larger than the report: `if: false` on `run: pnpm gate layering`
left the digest byte-identical, so the step was still approved by SHAPE, the
lane was still credited with the gate, and `pnpm check:gate-manifest` reported
ok. Verified end to end before fixing — a planted lane whose only gate step could
never execute produced zero findings.
A one-word edit silently disabling a gate is the exact failure #1429 exists to
prevent, so this was the manifest failing at its stated purpose.
`if:` is now part of `stepExtras`, which means a conditional step is no longer
waved through by shape at all: it must be written into the baseline, where the
condition is visible and any later change to it moves the digest. Eleven real
gate steps are conditional (`always()`, the `failure()` envelope recorders, a
device-availability guard, and the Apple cache-miss build), so the baseline grows
81 -> 90 entries and each now records its condition.
Regressions added for both of round 8/9's proofs, since the previous commit
argued non-vacuity by hand instead of checking one in: `if: false` on a gate step
must fail, and a GATE_ACTIONS body swapped for a no-op must stop crediting its
callers.
NOT fixed here, and flagged rather than papered over: a conditional step still
CREDITS its lane. Refusing that credit is not free — it unowns 21 checks
including `unit`, `coverage` and both Swift runners — because `if: always()` is
safe while `if: cache-hit != 'true'` genuinely does not run on a hit. Whether a
cached build counts as running its check is a design question, not a defect.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01SkS4S8XXrfkJ8TD1VBKkvJif: decides whether it runs, so it belongs to its identity1 parent 122b21c commit efb9d22
3 files changed
Lines changed: 153 additions & 60 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
92 | 94 | | |
93 | 95 | | |
94 | 96 | | |
| |||
166 | 168 | | |
167 | 169 | | |
168 | 170 | | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
169 | 186 | | |
170 | 187 | | |
171 | 188 | | |
| |||
278 | 295 | | |
279 | 296 | | |
280 | 297 | | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
281 | 317 | | |
282 | 318 | | |
283 | 319 | | |
| |||
0 commit comments