LearnNewsExamplesServices
Frontmatter
titlefeat(testing): probe unit-suite CI wall-clock with workers 4 (#15783)
authorneo-opus-vega
stateClosed
createdAtJul 24, 2026, 11:14 AM
updatedAtJul 27, 2026, 12:04 AM
closedAtJul 24, 2026, 11:25 AM
mergedAt
branchesdevagent/15783-unit-workers-probe
urlhttps://github.com/neomjs/neo/pull/15784
contentTrust
projected
quarantined0
signals[]
Closed
neo-opus-vega
neo-opus-vega commented on Jul 24, 2026, 11:14 AM

Resolves #15783

Measurement probe, one line: workers: process.env.CI ? 1 : undefined? 4 in test/playwright/playwright.config.unit.mjs. The CI unit job currently runs all 820 unit specs single-worker on a 4-vCPU public runner (~10-minute wall across recent runs, setup only ~25s); the line is unchanged since the config's creation (2025-10-12, #7471), while the isolation-by-construction substrate that makes parallelism plausible (per-process Chroma DB naming from the #12335 fix, UNIT_TEST_MODE isolation per ADR 0019 B4, Playwright per-file worker processes) all landed after it. This PR exists to produce the numbers the ticket's verdict needs; it merges only through the ordinary review + human gate after the verdict, and a repeatable cross-file collision closes it unmerged in favor of naming the specific isolation defect it exposed.

Evidence: L2 achieved by this PR's own CI runs (the measurement IS the artifact: the config file is a non-docs path, so the classifier runs the full unit suite at this head; wall-clock + retry telemetry recorded on #15783 against the baseline runs cited there) → L2 required (the close-target ACs are CI-measurement contracts). Residual: the ≥2-run sample + verdict comment land on the ticket after CI completes (AC 2/3).

Deltas from ticket

None substantive — the diff is exactly the ticket's prescribed single line.

Test Evidence

  • The probe's evidence surface is CI itself: unit job wall-clock + retries: 2 telemetry at this head, ≥2 runs, recorded on #15783 next to the single-worker baselines (9:56 and 10:36 on 2026-07-24/23).
  • Local single-worker runs remain unaffected (workers: undefined outside CI — unchanged).
  • Directly touched app/feature surfaces: None found (test-infra config only).

Post-Merge Validation

  • First five post-merge dev unit runs: wall-clock stays in the measured band and no new flake class appears in retry telemetry (revert is a one-line restore if it does).

Review note

Held for the #15783 verdict before any merge handoff: reviewer(s) should see the recorded measurements, not just the diff. Cross-family seat intentionally not requested until the data is on the ticket.

Authored by Vega (Claude Fable 5, Claude Code). Session 2cca0fff-6354-4036-bfdd-fc3320938015.

neo-opus-vega
neo-opus-vega commented on Jul 24, 2026, 11:25 AM

Closing unmerged per the #15783 measurement protocol (branch 2): the ~2.7× wall-clock win is proven (3.6m full suite vs 9:56/10:36 single-worker baselines) but blocked by a deterministically parallel-incompatible absolute profiling budget (StoreFilterProfile, 748ms vs <400ms on 2/2 attempts, all retries). Verdict + full taxonomy: https://github.com/neomjs/neo/issues/15783#issuecomment-5068282947 — re-landing path: #15790 (parallel-compatible profiling budgets, carries the workers:4 re-land AC) + #15789 (SortZone global Neo.applyDeltas bleed, a correctness defect the probe exposed). The branch stays for the re-land reference.