Files
ci/bin
zooqueen afe6103981 a gate that is skipped and a gate that passes now report differently
The test phase can be silenced — by an input a caller passes, by a default,
or by a forge that substitutes a value the caller never wrote — and a skipped
step is not a failed one, so the run reported success either way. Skipping the
tests and passing the tests produced the same signal.

So the phase no longer reports on itself. It leaves a receipt naming the commit
it tested, and `Test verdict` — a step carrying no `if:` at all, which no input
can therefore reach — reads that receipt and decides. No receipt, a receipt for
another commit, an empty `test:` list, or gates that say they test and report
nothing: each fails and names why. The count comes from the runners' own output,
because a flag says what was intended and only a count says what happened.

Opting out stays available and stops being quiet: `tests: 'false'` writes its
own receipt and the summary says SKIPPED BY CALLER in as many words.

Two gates hold the shape: every workflow_call input is `type: string` with a
default, since this forge hands an input its declared type's zero value; and the
verdict must exist, be unguarded, follow both receipt-writing steps and precede
both build lanes.

Measured over 102 repos' last completed runs: 54 gates declare a runner and
report results, 7 declare one and report nothing — and all 7 are repos already
red, so nothing green turns red.
2026-08-16 11:25:50 -07:00
..
2026-08-14 18:58:56 -07:00
2026-08-14 18:58:56 -07:00