Repository navigation
feat: pick a model by the type of work - #77
Merged
Merged
Conversation
Routing, classify, and check can use a local decider. Draft, design, code, and review stay on the strong model. Overrides live in .sdd/models.yaml. With no file, route still asks the human and a role run still uses SDD_ROLE_MODEL. A decider runs only when no rule matched. Decision calls are a second section on the report. The existing cost rows stay.
A valid reply that omits model was recorded as the configured name. The response model now wins, and a named reply model still overrides it. The command spawn ignores stderr so a chatty decider cannot fill the pipe and hang.
This was referenced Oct 23, 2026
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
.sdd/models.yamlby the type of work. Route, classify, and check can use a local decider. Draft, design, code, and review stay on the strong model. A bot, a stage, or a role can override that pick.sdd role routecalls a decider only when the reason is exactlyNo rule matched.With nomodels.yaml, the command still asks the human, and a role run still usesSDD_ROLE_MODEL.sdd models show,sdd models which, andsdd team checkexplain the pick and reject a literal secret inmodels.yamlwithout printing it.decisionsarray and printed as a second section ofsdd report. The existing token header and cost rows stay.Fixes #62
Part of #58
This does not close #58. Issues #63, #65, and #66 are not in this change. The reading in the change pack is a proposal. The person has not accepted the spec, and this PR does not record a QA sign-off.
The verify stamp records
b11dfd5, the HEAD before this commit.sdd verifyranpnpm teston that working tree and exited 0.Test plan
sdd models which,sdd team check,sdd role route, andsdd role runsdd verifyworkspace tests (pnpm test) exit 0