Context
Operator gap-hunt (2026-07-04). e2e lives OUTSIDE CI by design (failing-honest discipline; NEO_TEST_SKIP_CI owns exclusions) — but nothing RUNS it on a schedule. With the sprint landing dock e2e (#14591), FM module NL-proofs (#14563-class), and tour-replay specs, the suite grows while its execution stays manual: red states will sit undiscovered exactly like the middleware staleness did (3 weeks, nobody looked).
The Problem
Post-fable, the quality heartbeat must be unattended: run the whitebox-e2e configs nightly against dev, and deliver a RED-ONLY digest into the A2A mailbox (normal-priority, wake-tier compliant per #14576) naming the failing specs + first-error lines — red-as-pointer made push, not pull.
The Architectural Reality
Sibling precedent: the middleware 8h LaunchAgent (staged plist + hardened runner, neomjs/neo#12964 pattern — lockfile, clean-tree gate, structured logs, ChainAbort/finally hygiene). The A2A send rides the existing MessageService (system-sender class exists: @system identity). CRITICAL inherited rule: custom playwright configs only, never default npx playwright test.
The Fix
One PR: a scheduled runner script (LaunchAgent-staged, the #12964 hardening pattern) executing the named e2e configs → parse results → on-red: one A2A digest (failing spec list + first errors + run log path); on-green: silence (no noise). Config list declared in the script header (additive as suites land).
Acceptance Criteria
Out of Scope
CI integration (the outside-CI discipline stands) · fixing reds (the digest points, owners fix) · unit suites (CI owns those).
Related
#14591 + #14563-class consumers · middleware scheduler precedent (neomjs/neo#12964, PR middleware-v2#17) · #14576 wake tiers · failing-honest discipline (operator-corrected precedent). Sweeps: epic+search 04:02Z, no equivalent.
Origin Session ID: fa2a6fd5-7488-4af6-a0d2-3855c86003e4
Retrieval Hint: "nightly whitebox e2e runner red digest A2A"
Context
Operator gap-hunt (2026-07-04). e2e lives OUTSIDE CI by design (failing-honest discipline;
NEO_TEST_SKIP_CIowns exclusions) — but nothing RUNS it on a schedule. With the sprint landing dock e2e (#14591), FM module NL-proofs (#14563-class), and tour-replay specs, the suite grows while its execution stays manual: red states will sit undiscovered exactly like the middleware staleness did (3 weeks, nobody looked).The Problem
Post-fable, the quality heartbeat must be unattended: run the whitebox-e2e configs nightly against dev, and deliver a RED-ONLY digest into the A2A mailbox (normal-priority, wake-tier compliant per #14576) naming the failing specs + first-error lines — red-as-pointer made push, not pull.
The Architectural Reality
Sibling precedent: the middleware 8h LaunchAgent (staged plist + hardened runner, neomjs/neo#12964 pattern — lockfile, clean-tree gate, structured logs, ChainAbort/finally hygiene). The A2A send rides the existing MessageService (system-sender class exists: @system identity). CRITICAL inherited rule: custom playwright configs only, never default
npx playwright test.The Fix
One PR: a scheduled runner script (LaunchAgent-staged, the #12964 hardening pattern) executing the named e2e configs → parse results → on-red: one A2A digest (failing spec list + first errors + run log path); on-green: silence (no noise). Config list declared in the script header (additive as suites land).
Acceptance Criteria
Out of Scope
CI integration (the outside-CI discipline stands) · fixing reds (the digest points, owners fix) · unit suites (CI owns those).
Related
#14591 + #14563-class consumers · middleware scheduler precedent (neomjs/neo#12964, PR middleware-v2#17) · #14576 wake tiers · failing-honest discipline (operator-corrected precedent). Sweeps: epic+search 04:02Z, no equivalent. Origin Session ID: fa2a6fd5-7488-4af6-a0d2-3855c86003e4 Retrieval Hint: "nightly whitebox e2e runner red digest A2A"