ouroboros/devtools/e2e_live
Ouroboros 5ad8019dd4 e2e_live: cap the nested preflight xdist fan-out per lane (W4-preflight-workers)
The commit gate's hermetic pytest pass runs inside each lane server and
resolves `-n auto` to os.cpu_count() (128 on this host) with no ceiling; the
2026-09-04 paid run started >= 104 xdist workers per self-mod lane with three
lanes overlapping. The runtime already has the lever
(OUROBOROS_PREFLIGHT_TEST_WORKERS, floor 2, read by
preflight_runner._preflight_worker_count and scrubbed from the candidate
suite), but IsolatedServer's settings-authoritative sweep dropped it before
the lane server started, so the stand could not use it.

Devtools-only wiring (evidence action A):
- server_runner: keep OUROBOROS_PREFLIGHT_TEST_WORKERS through the
  authoritative sweep as an operational host-load lever (comment reworded;
  it is not a model, credential or settings key).
- run_live_lanes: derive max(2, 16 // lanes) at argument time (shared-host
  rule: at most 16 pytest workers across the stand), set it in the launcher
  process before the first lane starts so an ambient shell value never wins,
  and record it as extra.preflight_test_workers in run_manifest.json and as
  preflight_test_workers in every lane row.
- docs/DEVELOPMENT.md: one sentence in the live E2E stand section.

Pins: the lane sees the computed value (ambient 128 overridden), the runtime's
_preflight_worker_count reads it, the manifest and lane row record it, the
floor and key names match preflight_runner's constants, and IsolatedServer
forwards the key while still stripping an ambient OUROBOROS_MODEL. No
runtime code changed.

Size ratchet: tests/test_e2e_live_runner.py enters the 1001-1500 band with this
commit (996 -> 1042 lines); the band rationale is recorded in the manifest.
Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
(cherry picked from commit 1824f8910509c65b9fc94041c7a76f98a9aa617d)
2026-09-05 09:52:35 +00:00
..
__init__.py Live E2E stand: devtools/e2e_live runs K staggered isolated servers over the SM1/SW1/SK1 scenario table (F4-A) 2026-09-04 23:37:49 +00:00
run_live_lanes.py e2e_live: cap the nested preflight xdist fan-out per lane (W4-preflight-workers) 2026-09-05 09:52:35 +00:00
scenarios.py Live E2E stand: make the SK1 probe fixture honest about inject_chat 2026-09-05 09:43:36 +00:00
stub_lane.py Live E2E stand: devtools/e2e_live runs K staggered isolated servers over the SM1/SW1/SK1 scenario table (F4-A) 2026-09-04 23:37:49 +00:00
ui_probe.py Live E2E stand: devtools/e2e_live runs K staggered isolated servers over the SM1/SW1/SK1 scenario table (F4-A) 2026-09-04 23:37:49 +00:00