Repository navigation
Support Custom runner Arms in Console Experiments - #2206
Merged
Merged
Conversation
This was referenced Nov 14, 2026
Closed
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
Console Experiments accept Custom runners and show their frozen identity without assuming a thirdshift commit or a single Harness.
OpenAPI describes nullable commit/Harness fields and optional runner identity. Pair evidence withholds runner attribution and role tables while preserving ordinary source declarations. The manual and hand-written site pages describe the behavior.
Closes #2190
Evidence
Execution evidence
node --test --test-name-pattern='identity in retained|preserves ordinary' console/tests/experiments.test.cjsfailed both tests:leaked inspect;runner: boolandrole = load_user_role()disappeared from the returned diff.After: the same command passes:
2 passed; 0 failed. Both regressions remain in the suite.cargo test --test console api_starts_custom_runner_experiments_and_shares_cli_refusals: passes all three runner selections, native HEAD defaults, repeat CLI parity and invalid combinations.high_watermark,highest_score,runner: bool,role = ..., and Markdown role-table disclosure.Draft202012Validator.cargo clippy --all-targets -- -D warnings: passes.RUST_TEST_THREADS=4 scripts/affected-tests refs/remotes/origin/issue-1468: PASS. Site checks passed (69 tests, 72.73s), Console checks passed (209 tests, 152.02s), and the full Rust suite passed viacargo test(2143.58s / 35m44s, compilation included). Updated Custom-runner browser checks also pass separately (4 tests). Nextest was unavailable, so the documented fallback ran with four test threads.Visual evidence
Matched Chromium captures cover the Arm comparison, Trial Peek and post-preference reveal at 1440×900 desktop and 390×844 mobile. All six final states fit the viewport. Gist publication failed because the supplied GitHub token lacks the
gistscope (HTTP 404fromPOST /gists); captures remain at these exact paths:/tmp/before-desktop.M7MJEq.png/tmp/after-desktop.0YMcXZ.png/tmp/before-desktop.U4Q9sJ.png/tmp/after-desktop.jv6M6t.png/tmp/before-desktop.gqANqn.png/tmp/after-desktop.V6G9jK.png/tmp/before-mobile.7MqDIB.png/tmp/after-mobile.GNiLhO.png/tmp/before-mobile.wPoO4F.png/tmp/after-mobile.ttqgH9.png/tmp/before-mobile.JQVIW6.png/tmp/after-mobile.31gZjL.pngTest seams
Review coverage
Independent Standards and Spec reviews used
refs/remotes/origin/issue-1468(d6b4f99b). Each read all 19 changed files, including the generated manual hunk. No changed file was left unread and no generated output was excluded. Reports and final files-read lists are retained in.thirdshift-review-3ia6E7/standards.mdandspec.md;summary.jsonrecords Standards 1 / Spec 3, including findings subsequently fixed.Unaddressed findings
git diff d6b4f99bde5c24f595dfa339d090ad14d076fac3...HEADat51776790d3f1c0954d445bc4bac90161bc316331and supporting code in one guidance-mode session. No confirmed introduced Security findings. Checked the new start route's run scope and CSRF enforcement, shared CLI argument validation, escaped runner identity rendering, and the pairwise reveal gate. The cached unit-test executable passedconsole::start::experiment::tests(2),console::filters::tests(3), andevals::experiment::pairwise::tests(2), with no network, an empty allowlisted environment, read-only binaries, bounded scratch storage and resource limits. No source changes.Security review outcome
No unaddressed introduced findings.
Merge Danger
Door: two-way
Adds an API alias and presentation/schema support; no stored-format migration.
Blast Radius: Experiments
Experiment admission, Arm presentation and blind pair evidence. Existing CLI validation and native Arm behavior remain covered.
Built with codex codex-cli 0.167.2 · gpt-6.1-sol · xhigh