Symptom
tests/scripted-browser-lab.test.ts > runScriptedBrowserLab > live provisioned clone: provisions one synthetic subject, drives getHost, and persists only public-safe URL labels intermittently fails on the test (24) CI leg with expected false to be true (result.ok, scripted-browser-lab.test.ts:516), while test (22.14.0) passes. Observed on PR #275's first run (a docs/CLI-only diff that does not touch scripted-browser-lab at all); passed on re-run. The test file takes ~15.5s on the failing leg.
Assessment
Flaky, not a real regression: the triggering PR touched only README + program.ts help text + program.test.ts. Ran pnpm vitest run tests/scripted-browser-lab.test.ts locally on node 24.12.0 twice: 19/19 both times. Re-running the CI job made it green.
Why it matters
This is a required check on a repo with autonomous-merge authority. A timing-sensitive flake on a required check erodes the merge-green signal and forces manual re-runs. Worth making deterministic (likely a fake-substrate timing/await race in the provisioned-clone path, or a shared-clock assumption that is tighter on the node-24 runner).
Next step
Reproduce under load (e.g. for i in $(seq 20); do pnpm vitest run tests/scripted-browser-lab.test.ts; done, or with CPU pressure) to surface the race, then pin the timing seam (injected clock / awaited readiness) rather than widening a timeout.
Symptom
tests/scripted-browser-lab.test.ts > runScriptedBrowserLab > live provisioned clone: provisions one synthetic subject, drives getHost, and persists only public-safe URL labelsintermittently fails on thetest (24)CI leg withexpected false to be true(result.ok, scripted-browser-lab.test.ts:516), whiletest (22.14.0)passes. Observed on PR #275's first run (a docs/CLI-only diff that does not touch scripted-browser-lab at all); passed on re-run. The test file takes ~15.5s on the failing leg.Assessment
Flaky, not a real regression: the triggering PR touched only README + program.ts help text + program.test.ts. Ran
pnpm vitest run tests/scripted-browser-lab.test.tslocally on node 24.12.0 twice: 19/19 both times. Re-running the CI job made it green.Why it matters
This is a required check on a repo with autonomous-merge authority. A timing-sensitive flake on a required check erodes the merge-green signal and forces manual re-runs. Worth making deterministic (likely a fake-substrate timing/await race in the provisioned-clone path, or a shared-clock assumption that is tighter on the node-24 runner).
Next step
Reproduce under load (e.g.
for i in $(seq 20); do pnpm vitest run tests/scripted-browser-lab.test.ts; done, or with CPU pressure) to surface the race, then pin the timing seam (injected clock / awaited readiness) rather than widening a timeout.