ceremony/changelog.d/304.md
cndgrr 66a0eb5d65 test(labels-reconcile): fixture roster replaces the live panel by slot
The state-machine fixtures bound BOT1/BOT2/BOT3 to REQUIRED_BOTS by index off
the shipped .github/labels.conf, so three fixtures silently required a
four-member panel=. Shrinking it to three left the third slot unbound and
set -u aborted the file before assertion 1: 217 assertions became 0, on main
and on every branch cut from it.

The fixtures now write their own conf, in test/labels.test.sh's shape, at all
three load sites (top of file, the #205 re-drafted-round block, and the
mutant_blockers subshell). One live-file case survives as a property — the
shipped conf parses and recuses each member from its own panel — with no
index and no expected size, and a copy whose panel= names nobody proves it
still has teeth.

Refs #304
2026-08-04 17:04:09 +00:00

612 B

Fixed

  • A roster edit no longer reds the whole suite: the labels-reconcile state-machine fixtures name their own panel instead of binding .github/labels.conf by slot (#304).
  • Shrinking panel= to three had left that binding's third slot unbound, and set -u aborted the file before its first assertion — 217 assertions became 0, on main and on every branch cut from it (#304).
  • The one case still reading the shipped roster asserts a property, not a size: it parses, and each member is recused from its own panel. Any panel= of one or more members leaves test/run.sh green (#304).