Files
computer-playbook/cli
kevinveenbirkenbachandClaude Opus 5 3a58067613 feat(ci): hold that every Playwright spec of a tested role is triggered
A spec no row of the sweep reaches is dead weight that still reads as
coverage: the file is there, the lint demanding it is satisfied, and
nothing runs it. The matrix cuts rows for redundancy and for budget, so
whether a spec runs is a property of the whole sweep rather than of any
one role, and only a sweep-wide assertion can hold it.

utils.roles.playwright_coverage classifies; the command renders and the
integration test asserts, so both read one answer. It takes the entries
and the chunk plan as arguments rather than building them, which keeps
the lower layer free of the CI command layer.

Two groups are not holes. A row the budget drops still counts as the
trigger, because the cut belongs to the runner's wall clock and not to
the coverage the matrix was built to give. And a role outside the
tested lifecycle envelope is left out on purpose -- the first version of
this report conflated the two, listed 14 phantom holes, and a peer
session was about to write manual mail checks into a runbook for a
deprecated role because of it.

Current state: 542 specs, 528 triggered, none missing, 14 outside the
envelope.

The test asserts only that a spec has some triggering row, never which
one. Two identical runs of the planner assign different modes to some
rows -- bridgy-fed and chess moved between compose and swarm with
nothing changed -- so an assertion pinning a role to a mode, variant or
chunk would be flaky by construction.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-23 02:48:34 +02:00
..