forked from heavy-duty/box
The monotonic step is the LAST step of the `check` job, so stopping only at the next `- name:` ran the block into `rehearsal` and swallowed its job-level `if:`. Unanchored `grep -q 'if:'` then fired on it — reintroducing the bug the scoping was meant to fix, moved from "any step in the file" to "this step plus the head of the next job". Terminates on a new step OR a new job now, and the key is anchored so an `if:` inside a `run:` line is not mistaken for a step condition. Mutation-tested four ways: baseline green; an unrelated job gated stays green (was the failure); the monotonic step gated fails; the step renamed trips the companion found-the-block guard. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| cli.sh | ||
| labels-reconcile.sh | ||
| release.sh | ||