Repository navigation
Exclude suspended Trials from Experiment and Process eval timing - #2063
Merged
Merged
Conversation
…/actions/runs?head_sha=f27a6f5487c7a31736cbfd5b1d3dc1f3de3d547c&per_page=100 failed: gh: API rate limit exceeded for user ID 53905376. If you reach out to GitHub Support for help, please include the request ID D654:1B9792:B76271:24755DB:6AF4CAF1 and timestamp 2026-11-11 20:07:13 UTC. For more on scraping GitHub and how it may affect your rights, please review our Terms of Service (https://docs.github.com/en/site-policy/github-terms/github-terms-of-service) (HTTP 403)) 2026-11-11T20:07:14Z, host stephens. Uncommitted work at the time of failure is included in this commit.
JacobStephens2
marked this pull request as draft
November 11, 2026 20:07
JacobStephens2
marked this pull request as ready for review
November 12, 2026 04:35
This was referenced Nov 12, 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 and Process evals keep suspended Trials' outcomes and costs while leaving their time out of comparisons, summaries and future timing estimates. Results use format 11 and reports disclose nonzero exclusion counts.
Closes #2035
Evidence
Execution evidence
Repair validation at
7335ab3d:scripts/affected-tests issue-2026passed: 68 site tests,cargo build --locked, 198 Console browser tests, and 4,249 Rust tests (97 existing skips). The selector measuredcargo nextest runat 3,381.94s wall time including compilation; Nextest reportedSummary [3178.451s] 4249 tests run: 4249 passed (23 slow), 97 skipped. The exact failing Pickup test also passed in isolation (1 passed, 0 failed). No tracked files changed, no commit or push was needed, and CI was not re-run.Before:
cargo test --test experiments suspension::suspended_trials_keep_outcomes_and_cost_but_leave_time_out_of_reports -- --exactfailed:
left: Number(6.0),right: 4.0.After: the same command passed:
1 passed; 0 failed.cargo test --test experiments suspension:: -- --test-threads=2passed all 3 regressions, including live Experiment and Process eval suspension and comparisons using the remaining timing samples.The review's schema reproduction failed before the fix with
AssertionError: {'const': 10, 'type': 'integer'}and passed afterward (exit 0):cargo test --test experiments result_format::documented_format_matches_real_experiment_results -- --exactpassed, retaining agreement checks for both Experiment endpoint schemas.cargo test --test experiments accounting::estimates_use_each_arms_own_history_and_include_frozen_costs -- --exactfailed with a suspended 9-minute estimate before the change and passed afterward, preserving its $9 cost.node --test --test-name-pattern='suspended Trials disclose' console/tests/experiments.test.cjspassed on desktop and mobile.The implementation session ran
scripts/affected-tests refs/remotes/origin/issue-2026: site (68 tests), locked build and Console (198 tests) passed. Its two stale accounting expectations were corrected fortime_pairs, and the exact failing test passed.Earlier validation passed in CI at
e6d96c39: 4,243 Rust tests passed, 97 skipped, withcargo nextest runreportingSummary [1490.357s] 4243 tests run: 4243 passed (3 slow), 97 skipped. Test compilation took 1m 41s. Formatting, clippy, generator, site and Console checks passed; both Linux artifact builds also passed. The continuation reuses successful CI for this exact head underdocs/testing.md, without repeating the full suite.The implementation's local
/usr/bin/time -p cargo nextest runreached 1,126 tests before the existing OTLP timing check failed (baseline 3.269s; stalled 5.420s; local wall time 1,453.43s, compilation included). Its exact isolated check,cargo test --test otlp_endpoint a_stalled_receiver_cannot_delay_a_session_by_its_span_count -- --exact, then passed (1 passed, 6.52s); the full CI run above also passed.Visual evidence
Before captures use base commit
408359cf; each After uses the same fixture, viewport and expanded state. Captures contain synthetic data.Console Experiment - 1440×900
Console Experiment - 390×844
Architecture accounting explanation - 1440×900
Architecture accounting explanation - 390×844
Test seams
Review coverage
git diff refs/remotes/origin/issue-2026...HEAD, with fixed point0056ac95and reviewed heade6d96c39.site/docs/index.html. Unread changed files: none. Generated-output exclusions: none..thirdshift-review-0SZeZh/standards.mdandspec.md;summary.jsonrecords{"standards":0,"spec":0}. No further source changes or commits were needed.Unaddressed findings
Standards
None.
Spec
None.
Security
None.
Security review outcome
No unaddressed introduced findings.
CI notes
pickup_run::at_a_command_limit_of_2_two_pickup_runs_run_at_once_and_a_third_is_skipped_naming_the_count: unlockedScenario::gh_statecan read an emptygh-state.jsonwhile fakegh::savetruncates and rewrites it; the test, helper and writer are byte-identical toissue-2026(0056ac95), whose exported fake reproduced a zero-byte read after four saves, and the exact failing test passed locally. No code changed for this unrelated fixture race.Merge Danger
Door: two-way
The code change can be reverted. Older retained Trials without suspension fields read as having no Suspended time. API consumers must accept Experiment result format 11.
Blast Radius: Experiments
Changes Experiment and Process eval timing reports and estimates; the published Console schema also advances to format 11.
Built with codex codex-cli 0.167.2 · gpt-6.1-sol · xhigh