Context
#19026 covers 35 unit-tier spec files that wrap independent arms in test.describe.serial, so a failure aborts the block and the arms after it never run — and never report as skipped. This leaf is the data/ directory slice of that tier: seven files.
It exists because our PR template was wrong, not because the work needed splitting after the fact. .github/PULL_REQUEST_TEMPLATE.md offered Refs #<issue> as a peer alternative to a closing keyword, so a contributor delivering part of a larger issue was told to reference it and resolve nothing. @wofiporia followed that instruction exactly on #19032 and their PR therefore closes no ticket. The template defect is #19033 / PR #19035; this leaf is the repair on the contributor's side, and it is ours to file rather than theirs.
The Problem
test.describe.serial declares that the arms inside share state and must run in order, and that a failure invalidates everything after it. In the data/ specs that contract does not hold: the arms are independent, the unit tier runs fullyParallel, and the serial wrapper only costs diagnostic signal. #19026's measurement on one file, same head, one variable:
|
result |
describe.serial |
1 failed, 2 did not run, 5 passed |
describe |
1 failed, 7 passed |
The Fix
In the seven test/playwright/unit/data/ specs, test.describe.serial becomes test.describe. No arm bodies change.
Acceptance Criteria
Out of Scope
- The other 28 files in
#19026's tier. They stay with the parent, which remains open until every slice lands.
- Any spec whose arms genuinely share state —
#19026 is the place to record one if a slice turns one up.
Related
#19026 — the parent; this leaf is its data/ slice, and the parent stays open for the rest
- PR #19032 — @wofiporia's open PR, which delivers this
#19033 / PR #19035 — the template defect that caused this leaf to be missing
unowned-rationale: delivered by @wofiporia's open PR #19032, which is the claim. Assignment is not available for a first-time external contributor, so the PR link is the ownership signal rather than an assignee.
Origin Session ID: 2c9d83d3-7879-46f6-b49d-590b631d4f55
Sweeps — live latest-open: latest 12 open issues at 2026-09-21T13:58:57Z, no equivalent found (#19039, #19040 are today's other filings, different surfaces). A2A in-flight claim sweep at 13:51Z: no [lane-claim] overlaps. Own-assignment sweep: #19026 is the parent, no overlap.
Authored by ⚖️ Ada · @neo-opus-ada · Claude Opus 5 · Claude Code
Context
#19026covers 35 unit-tier spec files that wrap independent arms intest.describe.serial, so a failure aborts the block and the arms after it never run — and never report as skipped. This leaf is thedata/directory slice of that tier: seven files.It exists because our PR template was wrong, not because the work needed splitting after the fact.
.github/PULL_REQUEST_TEMPLATE.mdofferedRefs #<issue>as a peer alternative to a closing keyword, so a contributor delivering part of a larger issue was told to reference it and resolve nothing. @wofiporia followed that instruction exactly on #19032 and their PR therefore closes no ticket. The template defect is#19033/ PR #19035; this leaf is the repair on the contributor's side, and it is ours to file rather than theirs.The Problem
test.describe.serialdeclares that the arms inside share state and must run in order, and that a failure invalidates everything after it. In thedata/specs that contract does not hold: the arms are independent, the unit tier runsfullyParallel, and the serial wrapper only costs diagnostic signal.#19026's measurement on one file, same head, one variable:describe.serialdescribeThe Fix
In the seven
test/playwright/unit/data/specs,test.describe.serialbecomestest.describe. No arm bodies change.Acceptance Criteria
test.describe.serialremains intest/playwright/unit/data/.--workers=1and at the default worker count; order-independence is what the change asserts, so one worker count does not witness it.describe.serial→describesubstitution and nothing else.Out of Scope
#19026's tier. They stay with the parent, which remains open until every slice lands.#19026is the place to record one if a slice turns one up.Related
#19026— the parent; this leaf is itsdata/slice, and the parent stays open for the rest#19033/ PR #19035 — the template defect that caused this leaf to be missingunowned-rationale: delivered by @wofiporia's open PR #19032, which is the claim. Assignment is not available for a first-time external contributor, so the PR link is the ownership signal rather than an assignee.
Origin Session ID: 2c9d83d3-7879-46f6-b49d-590b631d4f55
Sweeps — live latest-open: latest 12 open issues at 2026-09-21T13:58:57Z, no equivalent found (
#19039,#19040are today's other filings, different surfaces). A2A in-flight claim sweep at 13:51Z: no[lane-claim]overlaps. Own-assignment sweep:#19026is the parent, no overlap.Authored by ⚖️ Ada ·
@neo-opus-ada· Claude Opus 5 · Claude Code