Repository navigation
Let a Custom process Step name its Harness, Model and Effort - #1404
Merged
Merged
Conversation
A Step that names nothing uses the Command's choice, including --harness. A Harness that can't start fails the Command before any session, with no fallback. process check prints each Step's choice, where it came from, and whether the Harness starts.
A Step on another Harness takes the command's model and effort when it names none. Catalog preflight still refuses a model that Harness cannot run, before any session.
A Step's choice replaced the child Run's Harness after the review had been resolved against the default. When that default matched security.harness, the review followed the Step. Resolve the review against the Step's choice before dispatch.
This was referenced Oct 27, 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
A Custom process Step may name its own Harness, Model and Effort. Each omitted field inherits the Command's resolved value and its origin, including values from User config when the Step changes Harness.
thirdshift process [check] <name>acceptsharness,modelandeffort, with or without--, alongside the existing issue, notification and merge options.process checkprints every Step's choices, origins (Step,command,User config,default) and startup result. It performs usual Harness preflight, including minimal Model tests when needed, and runs no Step. Unknown Harnesses produce a rule-and-line refusal. Step choices carry through parallel sessions, Resumes, published-issue dispatch and Delivery repairs. Every selected Harness's Factory skills and instruction fallback are linked into the worktrees. Glossary, manual and site copy cover the behavior; Security review keeps its existing Harness selection and fallback.Closes #1381
Evidence
cargo test --test review_1381_inheritance -- --nocapturefailed on0372de38: a Claude Step omitting Model/Effort used its ownopus/lowconfiguration instead of the Command's configuredgpt-6.1-sol/high.After: the same retained regression passes;
process checkreportsgpt-6.1-sol/highwithUser configprovenance and starts no sessions.Opus 5.5/HIGHto Claude after Muse resolved them.After:
cargo test --test review_1381_startuprefuses before any Step session.cargo test --test review_1381_aliaspasses both complete and partial-override alias cases.cargo test --test process --test review_1381_inheritance --test review_1381_alias --test review_1381_startup: 104 passed, covering Claude/Codex/agy argv, command inheritance, choice origins, unknown Harnesses, startup refusal, and the base's parallel, issue, dispatch, Delivery and Self-merge workflows.cargo clippy --all-targets -- -D warnings: passed.5e683ba9: 3,203 Rust tests passed, 73 skipped; execution 866.611s, compilation 1m 23s. All CI and release-build checks are green or intentionally skipped.scripts/affected-tests issue-877: all 50 site tests passed, includingdocs:check; 2,482 Rust tests passed locally before the duplicate run was stopped once CI passed on the same head, asdocs/testing.mdrequires. The first CI attempt failed in the existing Console Stop HTTP test; that exact scenario passed alone locally (7.83s), in the local full run, and on the CI rerun.Test seam: the
thirdshiftCLI, includingprocessandprocess check, throughScenariowith real Git and fake Harnesses.Merge Danger
Door: two-way
The file format remains version 1. A Step changing Harness inherits omitted Model/Effort values from the Command, including its User config choices. Authors must name different values on the Step when needed; a catalog rejection fails the Command before any session.
Blast Radius: narrow
Experimental Custom processes and shared parsing of Harness/Model/Effort flags. Existing run behavior is covered by the argument regressions and final checks. Security review's separate Harness and fallback are preserved.
Unaddressed findings
Standards
None. Both findings were addressed: one parser owns the shared Harness/Model/Effort words, and
CommandChoiceowns resolved values and provenance together.Spec
None. All three findings—User config inheritance, usual startup preflight, and canonical Model/Effort inheritance—were reproduced with the reviewers' exact tests and commands, fixed, and retained as regressions. The alias follow-up's partial-override case was also reproduced and fixed. No finding was deferred to the Spec or Day shift.
Security
None. A dispatched Ticket run's Security review followed the Step or the command's Harness, Model and Effort when
security.harnessmatched the default choice.cargo test --test review_1381_security_harnessfailed before the fix and passes after it; the regression stays.Review coverage: Standards raised 2 findings and Spec raised 3, all addressed. Both axes reviewed all 14 changed paths across the initial review, the fresh review after reconciling
issue-877, and each review's one coverage follow-up. The implementing agent reproduced and verified the final partial-alias correction and probe-aware fixture adjustments after those follow-ups. No changed file was left unread; no generated output was excluded, includingsite/docs/index.html.Built with codex codex-cli 0.164.0 · gpt-6.1-sol · xhigh
Security review outcome
No unaddressed introduced findings.