Skip to content
This repository was archived by the owner on Oct 26, 2026. It is now read-only.

Commit 8f353e2

Browse files
committed
PROTO(objectui#5403): round 2 — noise floor, plus the verdict-step ablation
Round 2 of the same instrument: a second identical sharded run is what makes the equivalence delta readable against a noise floor. Adds the ablation leg — the same merge job with the verdict step deleted — whose prediction is a GREEN conclusion while Codecov received nothing.
1 parent 2f7e55e commit 8f353e2

1 file changed

Lines changed: 26 additions & 2 deletions

File tree

‎.github/workflows/proto-5403-shard-coverage.yml‎

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,33 @@ jobs:
289289
echo "::error title=Codecov NOT updated::shards=$SHARDS upload=$UPLOAD"
290290
exit 1
291291
292+
# The ablation for half 2: the SAME job, with the verdict step DELETED and
293+
# nothing else changed. Prediction: conclusion=success. A job whose every step
294+
# was skipped is a GREEN check — which is exactly the silence #5403 is about,
295+
# and the reason the verdict step has to exist rather than the `if:` gating
296+
# being considered enough on its own.
297+
red-arm-merge-without-verdict:
298+
name: PROTO red-arm merge WITHOUT the verdict step (must go GREEN - that IS the bug)
299+
needs: red-arm-shard
300+
if: always()
301+
runs-on: ubuntu-latest
302+
timeout-minutes: 5
303+
steps:
304+
- name: Download every shard's blob report
305+
if: needs.red-arm-shard.result == 'success'
306+
run: echo 'this must not run'
307+
- name: Merge the shard reports into one coverage report
308+
if: needs.red-arm-shard.result == 'success'
309+
run: echo 'this must not run'
310+
- name: Upload coverage to Codecov
311+
id: codecov
312+
if: needs.red-arm-shard.result == 'success'
313+
run: echo 'this must not run'
314+
292315
# ── the results channel: a file pushed to a per-run branch ────────────────
293316
report:
294317
name: PROTO write results
295-
needs: [shard, probe-no-override, merge, baseline, compare, red-arm-shard, red-arm-merge]
318+
needs: [shard, probe-no-override, merge, baseline, compare, red-arm-shard, red-arm-merge, red-arm-merge-without-verdict]
296319
if: always()
297320
runs-on: ubuntu-latest
298321
timeout-minutes: 10
@@ -315,6 +338,7 @@ jobs:
315338
L_CMP: ${{ needs.compare.outputs.lines }}
316339
R_REDS: ${{ needs.red-arm-shard.result }}
317340
R_REDM: ${{ needs.red-arm-merge.result }}
341+
R_REDA: ${{ needs.red-arm-merge-without-verdict.result }}
318342
run: |
319343
mkdir -p proto-results
320344
{
@@ -328,7 +352,7 @@ jobs:
328352
echo "merge=${R_MERGE} blobsFound=${B_MERGE} verdict=${V_MERGE}"
329353
echo "baseline=${R_BASE} stepOutcome=${O_BASE} coveragePresent=${P_BASE}"
330354
echo "compare=${R_CMP}"
331-
echo "red-arm-shard=${R_REDS} red-arm-merge=${R_REDM}"
355+
echo "red-arm-shard=${R_REDS} red-arm-merge=${R_REDM} red-arm-merge-without-verdict=${R_REDA}"
332356
echo
333357
echo '## merged coverage'
334358
echo "${S_MERGE}"

0 commit comments

Comments
 (0)