Repository navigation
Spec: Experiments, which measure a change before it reaches production - #1122
Merged
Merged
Conversation
Add private Eval task format and time-safe repositories
Add hidden Trial flag for Spec review sessions
Add paired Bayesian Verdicts for Experiments
Cache Arm builds and record fixed Harness paths
Save Claude setup tokens in Credentials
Import #429 replay material as private Eval suites
Add resumable Experiment Command and Trial workers
Preserve packet-only Grader sandboxes inside individual memory-capped scopes. Keep launcher-owned startup evidence, cleared Code Grader environments and cap-kill diagnostics; resolve the scope launcher before applying the sandbox PATH. Keep both sandbox and memory-cap documentation. Synchronize both fake Trials before warning in the zero-retry regression: unequal worker startup reproduced its assumption that both Trials had already started. Validation: cargo check, cargo fmt --check, cargo clippy --all-targets -- -D warnings, and scripts/affected-tests origin/issue-977. All 2553 Rust tests passed (58 skipped), as did all 44 site checks. Full affected validation took 1344.43 seconds; Nextest execution took 1289.404 seconds with a cached 0.32-second test build.
Trial sandbox preparation resolves socat before probing bwrap. Both new failure fixtures supplied only bwrap, so CI hosts without socat stopped at the relay dependency instead of reaching the asserted launcher failure. Provide a fixture-local executable relay stub; both launchers fail before it can run, and all Void Trial and diagnostic assertions remain intact. Reproduced both failures with socat excluded from PATH and verified both pass after the fix. Validation: scripts/affected-tests issue-977 (44 browser tests and 2553 Rust tests passed), cargo fmt --check, and cargo clippy --all-targets -- -D warnings.
Sandbox Experiment Trials and Graders
Wait for release Experiments before publishing
Add live Experiment pages to the Console
Approve proposed Eval tasks from the CLI and Console
Preserve both the Trial-input preflight documentation and the Console Experiment page documentation on the homepage.
Keep the Trial-input preflight and Spec-review sandbox documentation alongside the incoming CLI and Console Eval-task approval documentation. Validation: cargo check, cargo fmt --all -- --check, 44 site tests, three Console Experiment browser tests, and all 171 tests in evals, experiments, trial and console passed (three skipped). The affected-tests selector stopped after 400 Rust passes on release::an_interrupted_release_resumes_the_same_experiment, matching the intermittent failure documented in upstream PR #1273. Its isolated cargo test and nextest reruns both passed, and it passed again in the 171-test targeted run. The selector took 432.74s including compilation; the targeted run took 190.67s.
Complete Spec-review Trial inputs before Experiment builds
JacobStephens2
marked this pull request as ready for review
October 24, 2026 19:26
Preserve Experiments alongside main's trace recording, Inbox evaluation, resource admission and Console views. Keep older Arms readable and route Experiment release messages through the shared timestamp helper.
This was referenced Oct 25, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Experiments measure a Candidate against a fresh Baseline before a change reaches production. This gathers the work for Spec #977: private Eval suites and replay import, Arm builds and fixed Harness versions, resumable paired Trials, grading and human rechecks, release checks, and live Console pages.
The CLI prepares time-safe repositories, approves proposed Eval tasks without starting work, and imports the private replay material once. Setup stores the Claude Trial token in Credentials. Trials and Graders retain private Session evidence and join the Experiment's Trace; Void retries, drop-outs, plan-limit pauses and interrupted work survive resume.
The whole-Spec review also fixes missed native Codex quota reports for current and older Arms, missing production user rules/hooks, stale Inbox groups after rechecks, and releases shipping changes absent from their measured Candidate. Executable lookup and metadata-table regression setup are shared.
Closes #977
Evidence
Each actionable behavioral finding was reproduced before its fix, and the regressions are retained:
arrived-during-pause.txt, absent from the CandidateFinal validation:
/usr/bin/time -p scripts/affected-tests main: passed; 2,579 Rust tests passed (58 skipped), all 44 site tests passed, and the release-generator check passed. Overall wall time was 1,513.75s including compilation; the Rust test run took 1,341.37s after 81s compilation.cargo clippy --all-targets -- -D warningsandcargo fmt --check: passed.npm test --prefix console: 69 passed, 1 pre-existing skipped test.python3 -m unittest discover -s scripts -p 'test_*.py': all 14 passed.Testing seams
Unaddressed findings
Standards
src/verdict.rs:3-6,22-31deliberately gives the standalone judge a scalar Trial count and prediction budget;src/evals/experiment.rs:41-55persists per-suite counts, timeouts and Void rules. The explicit projection atsrc/evals/experiment/grading.rs:254-263adapts those representations. CLI validation and the judge's validation protect separate entry seams and have different underflow/prediction checks. The Standards reviewer accepted retaining these interfaces. No behavioral defect was claimed. S2 and S3 were addressed.Spec
src/harness/agy.rs:157-170anddocs/research/eval-sandboxes.md:831record that no grounding-off switch is known. The supplied regression,cargo test --bin thirdshift harness::agy::tests::trials_do_not_keep_the_provider_grounding_invocation -- --exact --nocapture, failed with identical production and Trial arguments. It confirms the gap; the provider proxy cannot disable server-side grounding. The existing openneeds-triageissue already records the evidence and the Day shift's choice between refusing unsupported Trials and permitting grounding. That product decision is not this review's to make. The full regression and patch remain with the Session's review artifacts; the temporary failing test is outside the active suite. R1, R2, R4 and R5 were addressed.Security
main(merge based05aa97) found no unaddressed introduced findings: no failing proof-of-concept was produced, so no fix was committed here.Review coverage
Both axes read all 121 changed files, including generated output. No changed file was left unread; no generated-output exclusions were taken. Final reports and each axis's complete files-read list are retained in
.thirdshift-review-ARHrhS/standards.mdand.thirdshift-review-ARHrhS/spec.mdbeside the Session trace.Security review outcome
No unaddressed introduced findings.
Merge Danger
Door: two-way
The code can be reverted; private Eval artifacts remain on the host. Real-login refresh, provider allowlists and production memory measurements remain Day shift checks, as recorded in the sandbox research.
Blast Radius: Factory
Session launching, Experiment scheduling/grading, Console views and release publication. Releases now refuse content changes that were absent from their fixed Candidate; a fresh release version measures current main.
Built with codex · gpt-6.1-sol · xhigh
Tickets
thirdshift experiment: the Command, the Bar and running Trials #1003 donethirdshifthost #1018 done