Context
A leaf of epic #19655, between the dev-push burn-in (#19656, merged as #19667) and the pull-request trigger (#19657). #19657 starts only once the burn-in's receipts show every shard within the five-minute ceiling and a green streak with every red dispositioned. Four hosted samples (two branch runs, two dev pushes) show neither.
The mechanism was agreed on #19657: the proposal, Ada's steward confirmation, Euclid's refinements and the folded result. This leaf implements it. #19657's own ACs describe the trigger, and a pull request resolves exactly one ticket.
The Problem
Reds across the four samples:
DemoBDockTransactionsNL, TransactionArchiveReplay: 4/4, archive-store-unavailable. CI has no NEO_MCP_REMOTE_TOKEN, the credential the Memory Core client requires.
DeltaCoherenceRegistryNL: 4/4. After horizontal wheel scrolling, the first sort click leaves no grid at all.
WorkstationPopOutSparklinesNL:74: 4/4, the popup closes mid-capture.
WorkstationFilmTourNL:223 and :302: 3/4 each, the tour stops at journey hop 3 ("no fresh vessel was born") and waits out its 200 s receipt.
A fifth hosted run passed FilmTour:223 and Sparklines:74 and failed FilmTour:302, so all three are intermittent.
The reds also cost most of the overrun: no shard count fits with them in, and ten shards leave headroom with them out (the replay of Playwright's split is in the proposal).
DeltaCoherenceRegistryNL is diagnosed. Hosted probes on an unmerged branch:
- Every loss is a history back navigation to
about:blank (navType: back_forward), not a grid or registry defect.
- Linux Chrome 154 reads CDP's precise wheel deltas as a touchpad swipe. A horizontal overscroll then commits the back navigation at the next click.
- On one runner,
--disable-features=…,TouchpadOverscrollHistoryNavigation stopped it (0 of 2, against 2 of 2 in the control). --overscroll-history-navigation=0, overscroll-behavior-x: none on html and body, and the grid container's own overscroll-behavior: none did not.
The e2e launch args also discard Playwright's own disabled features. Playwright launches Chrome with its own --disable-features list and appends user args after it. Chrome keeps only the last copy. Since #9394 added --disable-features=IsolateOrigins,site-per-process, every e2e run has re-enabled Playwright's list: PaintHolding, ThirdPartyStoragePartitioning, AvoidUnnecessaryBeforeUnloadCheckSync and the rest. Measured locally on Chrome 155, with storage partitioning as the observable:
| Launch args |
Partitioning |
| Defaults only |
off |
| Defaults plus our list |
on |
| Defaults plus any unrelated list |
on |
Our list plus ThirdPartyStoragePartitioning |
off |
The effect on the hosted reds is unmeasured.
The Architectural Reality
buildScripts/util/e2eCiSelection.mjs is the tier's single selection and receipt source (--brain-paths, --brain-receipt).
testIgnore deselects, so no reporter names what it removes. Playwright 1.63's --test-list-invert <file> deselects exact file › describe › title paths, relative to testDir, before sharding.
filterForShard count-balances contiguous file groups, and fullyParallel: false keeps each file atomic.
test/playwright/e2e/utils/gpuIntent.mjs BASE_LAUNCH_ARGS is the one launch-argument list, already carrying --disable-features=IsolateOrigins,site-per-process.
The Fix
BRAIN_CAPABILITIES: the archive pair, keyed on NEO_MCP_REMOTE_TOKEN. It applies only while the variable is unset, so a provisioned archive brings both files back with no edit. The residual is tracked on #17844.
BRAIN_QUARANTINES: FilmTour:223, FilmTour:302 and Sparklines:74, each with its title path, reason, accountable seat, exit and since. Deselected through --test-list-invert; no spec is edited.
- The unit tier refuses stale declarations on every pull request, so a rename fails in the change that made it:
assertBrainDeclarations refuses a declaration whose file is not a Brain-gated spec;
assertQuarantinesResolve requires each quarantine to select exactly one registered test, through Playwright's own --list with the entry as the test list. A new enclosing describe keeps every string in the source, so only Playwright's matcher catches it.
- The receipt prints the selection's denominators, every declaration and each quarantine's age, and flags one older than seven days as stale.
TouchpadOverscrollHistoryNavigation joins BASE_LAUNCH_ARGS' disabled features, which fixes DeltaCoherenceRegistryNL instead of quarantining it.
- Ten shards.
BASE_LAUNCH_ARGS' one --disable-features repeats Playwright's list (PLAYWRIGHT_DISABLED_FEATURES, copied verbatim). The unit tier fails when the installed Playwright's list stops matching the copy.
Contract Ledger
| Target surface |
Source of authority |
Proposed behavior |
Fallback / edge case |
Docs |
Evidence |
e2eCiSelection.mjs --brain-paths |
#19657 agreed mechanism |
Gated paths minus those whose capability is unset; refuses stale declarations |
Every capability set → the whole tier |
WhiteboxE2E.md |
Unit arms |
e2eCiSelection.mjs --brain-test-list |
Same |
The quarantine as a Playwright test list |
An empty list deselects nothing |
WhiteboxE2E.md |
--list with and without it |
| The shard receipt |
#19656 receipt; Ada's refinement 1 |
Denominators, every declaration, quarantine age, stale past seven days |
No report → "unknown", never zero |
WhiteboxE2E.md |
Unit arms |
BASE_LAUNCH_ARGS |
This diagnosis |
No touchpad overscroll history navigation in any e2e launch, and Playwright's own disabled features kept |
macOS never triggered the navigation; the flag is inert there. A Playwright upgrade that changes its list fails the unit tier until the copy follows |
gpuIntent.mjs JSDoc |
Hosted probes; the local partitioning probe; glState.spec.mjs |
Decision Record impact: none.
Acceptance Criteria
Out of Scope
- The pull-request trigger (#19657).
- Diagnosing the three quarantined tests. Their exits own that, with Grace accountable.
- The intermittent reds, which stay in the run and keep being counted.
- Whether the grid should contain a real touchpad's horizontal overscroll. That is captured as a defect-note, not filed.
Avoided Traps
--grep-invert: a regex over every test's full title can deselect a same-named test in another file. A test list matches one exact path.
test.skip / test.fixme in the specs: edits authors' files, and a skip reads as coverage.
- A quarantine without an exit: becomes the permanent exclusion it was meant to avoid.
overscroll-behavior on the page: measured not to stop the navigation.
Related
#19655 (epic) · #19656 · #19657 (blocked by this) · #19667 · #17844
Live latest-open sweep: checked the latest 20 open issues at 2026-10-12T18:14Z; no equivalent found.
A2A claim sweep: the latest 30 lane-claims, none on the Brain-gated tier.
MC sweep: "hosted e2e red quarantine exclusion owner exit Brain-gated tier shard over ceiling" and "wheel scroll navigates browser back history about:blank page lost e2e Chrome Linux", 12 results, no prior decision outside the #19657 thread.
Own-assignment sweep: 3 open; #19657 overlaps and is the trigger this leaf unblocks.
Origin Session ID: 02040656-932a-48c8-8894-6f43d0368663
Retrieval Hint: "Brain-gated burn-in capability exclusion quarantine test-list-invert TouchpadOverscrollHistoryNavigation back navigation"
Context
A leaf of epic #19655, between the
dev-push burn-in (#19656, merged as #19667) and the pull-request trigger (#19657). #19657 starts only once the burn-in's receipts show every shard within the five-minute ceiling and a green streak with every red dispositioned. Four hosted samples (two branch runs, twodevpushes) show neither.The mechanism was agreed on #19657: the proposal, Ada's steward confirmation, Euclid's refinements and the folded result. This leaf implements it. #19657's own ACs describe the trigger, and a pull request resolves exactly one ticket.
The Problem
Reds across the four samples:
DemoBDockTransactionsNL,TransactionArchiveReplay: 4/4,archive-store-unavailable. CI has noNEO_MCP_REMOTE_TOKEN, the credential the Memory Core client requires.DeltaCoherenceRegistryNL: 4/4. After horizontal wheel scrolling, the first sort click leaves no grid at all.WorkstationPopOutSparklinesNL:74: 4/4, the popup closes mid-capture.WorkstationFilmTourNL:223and:302: 3/4 each, the tour stops at journey hop 3 ("no fresh vessel was born") and waits out its 200 s receipt.A fifth hosted run passed
FilmTour:223andSparklines:74and failedFilmTour:302, so all three are intermittent.The reds also cost most of the overrun: no shard count fits with them in, and ten shards leave headroom with them out (the replay of Playwright's split is in the proposal).
DeltaCoherenceRegistryNLis diagnosed. Hosted probes on an unmerged branch:about:blank(navType: back_forward), not a grid or registry defect.--disable-features=…,TouchpadOverscrollHistoryNavigationstopped it (0 of 2, against 2 of 2 in the control).--overscroll-history-navigation=0,overscroll-behavior-x: noneon html and body, and the grid container's ownoverscroll-behavior: nonedid not.The e2e launch args also discard Playwright's own disabled features. Playwright launches Chrome with its own
--disable-featureslist and appends user args after it. Chrome keeps only the last copy. Since#9394added--disable-features=IsolateOrigins,site-per-process, every e2e run has re-enabled Playwright's list:PaintHolding,ThirdPartyStoragePartitioning,AvoidUnnecessaryBeforeUnloadCheckSyncand the rest. Measured locally on Chrome 155, with storage partitioning as the observable:ThirdPartyStoragePartitioningThe effect on the hosted reds is unmeasured.
The Architectural Reality
buildScripts/util/e2eCiSelection.mjsis the tier's single selection and receipt source (--brain-paths,--brain-receipt).testIgnoredeselects, so no reporter names what it removes. Playwright 1.63's--test-list-invert <file>deselects exactfile › describe › titlepaths, relative totestDir, before sharding.filterForShardcount-balances contiguous file groups, andfullyParallel: falsekeeps each file atomic.test/playwright/e2e/utils/gpuIntent.mjsBASE_LAUNCH_ARGSis the one launch-argument list, already carrying--disable-features=IsolateOrigins,site-per-process.The Fix
BRAIN_CAPABILITIES: the archive pair, keyed onNEO_MCP_REMOTE_TOKEN. It applies only while the variable is unset, so a provisioned archive brings both files back with no edit. The residual is tracked on #17844.BRAIN_QUARANTINES:FilmTour:223,FilmTour:302andSparklines:74, each with its title path, reason, accountable seat, exit andsince. Deselected through--test-list-invert; no spec is edited.assertBrainDeclarationsrefuses a declaration whose file is not a Brain-gated spec;assertQuarantinesResolverequires each quarantine to select exactly one registered test, through Playwright's own--listwith the entry as the test list. A new enclosingdescribekeeps every string in the source, so only Playwright's matcher catches it.TouchpadOverscrollHistoryNavigationjoinsBASE_LAUNCH_ARGS' disabled features, which fixesDeltaCoherenceRegistryNLinstead of quarantining it.BASE_LAUNCH_ARGS' one--disable-featuresrepeats Playwright's list (PLAYWRIGHT_DISABLED_FEATURES, copied verbatim). The unit tier fails when the installed Playwright's list stops matching the copy.Contract Ledger
e2eCiSelection.mjs --brain-pathsWhiteboxE2E.mde2eCiSelection.mjs --brain-test-listWhiteboxE2E.md--listwith and without itWhiteboxE2E.mdBASE_LAUNCH_ARGSgpuIntent.mjsJSDocglState.spec.mjsDecision Record impact: none.
Acceptance Criteria
--brain-pathsdropsDemoBDockTransactionsNLandTransactionArchiveReplayonly whileNEO_MCP_REMOTE_TOKENis unset. The receipt names them, the reason, the exit and #17844.since. A receipt flags one older than seven days.DeltaCoherenceRegistryNLpasses hosted with the launch flag, and no quarantine covers it.--disable-features, and it includes Playwright's own list. The unit tier fails when that list changes.dev-push receipts (each shard's time against the ceiling) are posted on #19655.WhiteboxE2E.mddescribes both declaration kinds.Out of Scope
Avoided Traps
--grep-invert: a regex over every test's full title can deselect a same-named test in another file. A test list matches one exact path.test.skip/test.fixmein the specs: edits authors' files, and a skip reads as coverage.overscroll-behavioron the page: measured not to stop the navigation.Related
#19655 (epic) · #19656 · #19657 (blocked by this) · #19667 · #17844
Live latest-open sweep: checked the latest 20 open issues at 2026-10-12T18:14Z; no equivalent found. A2A claim sweep: the latest 30 lane-claims, none on the Brain-gated tier. MC sweep: "hosted e2e red quarantine exclusion owner exit Brain-gated tier shard over ceiling" and "wheel scroll navigates browser back history about:blank page lost e2e Chrome Linux", 12 results, no prior decision outside the #19657 thread. Own-assignment sweep: 3 open; #19657 overlaps and is the trigger this leaf unblocks.
Origin Session ID: 02040656-932a-48c8-8894-6f43d0368663 Retrieval Hint: "Brain-gated burn-in capability exclusion quarantine test-list-invert TouchpadOverscrollHistoryNavigation back navigation"