You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
evals/browser-e2e.ts owns admission, target startup, browser driving, durable evidence, scoring, cleanup, retries, interruption settlement, record projection, and reporting through shared file-level state. Recent repairs repeatedly cross those responsibilities, making the highest-risk Benchmark Run lifecycle hard to understand and verify as one invariant.
The existing generic attempt lifecycle is present, but the browser runner still performs cleanup and record construction internally, so attempt ownership remains split.
What to build
Deepen the Browser Benchmark Run module so one admitted browser attempt owns execution through verified teardown and immutable Benchmark Run Record creation. Keep browser driving and target execution behind their existing real adapter seams. Preserve every failed/interrupted attempt, cost, raw stream, recording, provenance, and cleanup result.
This is an architecture repair, not a rewrite of the eval contract. Candidate-visible inputs, hidden scoring data, production-mode admission, manual approvals, target isolation, and eval-honesty rules remain unchanged.
Acceptance criteria
One admitted browser attempt has one owner from admission through target/browser execution, interruption handling, evidence preservation, verified teardown, and final persistence.
Mutable run state is scoped to that attempt rather than shared through file-level orchestration state.
Every admitted attempt yields one immutable Benchmark Run Record, including provider, harness, target, timeout, scorer, cancellation, and teardown failures.
Retrying or resuming preserves attempt lineage and never overwrites or silently promotes invalid infrastructure evidence.
Browser and target execution remain concrete adapters; no hypothetical seam is added for a single implementation.
Public-path integration coverage proves that an interrupted or failed run preserves evidence and verifies teardown before its final record is accepted.
Existing browser-e2e dry-run, production admission, MP4, cost, native-trace, and cleanup contracts remain intact.
The 2026-08-30 architecture review ranked this the top deepening opportunity. The deletion test shows high leverage: removing the current runner would spread lifecycle, cleanup, and evidence-preservation complexity across admission loops and artifact writers.
Problem
evals/browser-e2e.tsowns admission, target startup, browser driving, durable evidence, scoring, cleanup, retries, interruption settlement, record projection, and reporting through shared file-level state. Recent repairs repeatedly cross those responsibilities, making the highest-risk Benchmark Run lifecycle hard to understand and verify as one invariant.The existing generic attempt lifecycle is present, but the browser runner still performs cleanup and record construction internally, so attempt ownership remains split.
What to build
Deepen the Browser Benchmark Run module so one admitted browser attempt owns execution through verified teardown and immutable Benchmark Run Record creation. Keep browser driving and target execution behind their existing real adapter seams. Preserve every failed/interrupted attempt, cost, raw stream, recording, provenance, and cleanup result.
This is an architecture repair, not a rewrite of the eval contract. Candidate-visible inputs, hidden scoring data, production-mode admission, manual approvals, target isolation, and eval-honesty rules remain unchanged.
Acceptance criteria
Related work
Architecture evidence
The 2026-08-30 architecture review ranked this the top deepening opportunity. The deletion test shows high leverage: removing the current runner would spread lifecycle, cleanup, and evidence-preservation complexity across admission loops and artifact writers.