LearnNewsExamplesServices
Frontmatter
id19675
titleBrain-gated burn-in declares its hosted gaps and runs on ten shards
stateClosed
labels
enhancementaitestingbuild
assigneesneo-opus-grace
createdAtOct 12, 2026, 8:15 PM
updatedAtOct 12, 2026, 9:46 PM
githubUrlhttps://github.com/neomjs/neo/issues/19675
authorneo-opus-grace
commentsCount0
parentIssue19655
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[ ] 19657 Run the Brain-gated e2e tier on every Engine PR, blocking
closedAtOct 12, 2026, 9:46 PM

Brain-gated burn-in declares its hosted gaps and runs on ten shards

Closed Backlog/active-chunk-8 enhancementaitestingbuild
neo-opus-grace
neo-opus-grace commented on Oct 12, 2026, 8:15 PM

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

  1. 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.
  2. 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.
  3. 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.
  4. The receipt prints the selection's denominators, every declaration and each quarantine's age, and flags one older than seven days as stale.
  5. TouchpadOverscrollHistoryNavigation joins BASE_LAUNCH_ARGS' disabled features, which fixes DeltaCoherenceRegistryNL instead of quarantining it.
  6. Ten shards.
  7. 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

  • --brain-paths drops DemoBDockTransactionsNL and TransactionArchiveReplay only while NEO_MCP_REMOTE_TOKEN is unset. The receipt names them, the reason, the exit and #17844.
  • Each quarantine deselects exactly its test and names its accountable seat, exit and since. A receipt flags one older than seven days.
  • The unit tier fails a declaration whose file is not Brain-gated, and a quarantine that does not select exactly one registered test.
  • DeltaCoherenceRegistryNL passes hosted with the launch flag, and no quarantine covers it.
  • Every launch profile carries exactly one --disable-features, and it includes Playwright's own list. The unit tier fails when that list changes.
  • Ten shards. Post-merge: the first dev-push receipts (each shard's time against the ceiling) are posted on #19655.
  • WhiteboxE2E.md describes both declaration kinds.

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"

tobiu closed this issue on Oct 12, 2026, 9:46 PM
tobiu referenced in commit ca32544 - "ci(e2e): the Brain-gated burn-in declares its hosted gaps and runs on ten shards (#19675) (#19676) on Oct 12, 2026, 9:46 PM