@@ -430,6 +430,9 @@ jobs:
430430 # means a future shard-count change cannot deadlock the repo. `name:` and
431431 # `if: always()` are therefore both load-bearing: this must not become
432432 # `if: !cancelled()` (see dogfood-gate), and it must not be renamed.
433+ # Both halves are now asserted rather than only written down: the `name:`
434+ # literal by `check:required-contexts` (#6865), the `if: always()` and the
435+ # attestation roster by `check:shard-attestation` (#6082).
433436 #
434437 # ── It COUNTS credentials; it does not read one aggregate word (#6082) ──
435438 #
@@ -519,7 +522,8 @@ jobs:
519522 # temporal conformance matrix holds to one standard. Its NAME still says
520523 # "live PG + MySQL" on purpose: the name IS the required check, so renaming
521524 # it would silently drop the gate wherever branch protection lists it — the
522- # same trap the dogfood shards note below.
525+ # same trap the dogfood shards note below. `check:required-contexts` pins
526+ # this literal, parenthetical and all (#6865).
523527 temporal-conformance :
524528 name : Temporal Conformance (live PG + MySQL)
525529 needs : filter
@@ -960,7 +964,10 @@ jobs:
960964 # EVERY pull request in the repo sat permanently BLOCKED (mergeable, all
961965 # checks green, merge button dead). #3622's own comment called for updating
962966 # branch protection; keeping the contract HERE instead means a future
963- # shard-count change cannot deadlock the repo a second time.
967+ # shard-count change cannot deadlock the repo a second time — and since
968+ # #6865 the bare name is pinned by `check:required-contexts` rather than
969+ # only described here, so a rename fails in the ESLint job instead of in
970+ # the queue.
964971 #
965972 # Also aggregates dogfood-verify (the CLI pass that used to ride shard 1),
966973 # so the one required context still covers everything it covered before
@@ -1040,8 +1047,9 @@ jobs:
10401047 needs : filter
10411048 # See THE FILTER CONTRACT on the filter job's outputs (#4928). No
10421049 # aggregation gate stands behind this job — its own name IS the required
1043- # context — so this `if:` is the only thing between a filter flake and a
1044- # green "Build Core" that built nothing.
1050+ # context, pinned by `check:required-contexts` since #6865 — so this `if:`
1051+ # is the only thing between a filter flake and a green "Build Core" that
1052+ # built nothing.
10451053 if : ${{ !cancelled() && needs.filter.outputs.core != 'false' }}
10461054 runs-on : ubuntu-latest
10471055 timeout-minutes : 30
@@ -1273,7 +1281,8 @@ jobs:
12731281 #
12741282 # The NAME is the required-check contract — the same trap the dogfood shards
12751283 # note above: renaming it silently drops the gate wherever branch protection
1276- # lists it, with every PR still green.
1284+ # lists it, with every PR still green. Pinned by `check:required-contexts`
1285+ # since #6865.
12771286 console-pin :
12781287 name : Console Pin Gate
12791288 needs : filter
0 commit comments