feat(routing): W3 tier moves — validator-analyzer opus→sonnet, commit-changer propose=opus override (BDR-077)

validator-analyzer tiered down (deterministic validator-runner + fixed
deduction tables — no deep judgment; supersedes its BDR-076 opus pin).
commit-changer: MODE propose dispatched model="opus" (narrative
reconstruction + capitalize routing = judgment), MODE apply on the sonnet
pin. Typed-pin precedence smoke PASSED: sonnet-pinned verifier dispatched
model="haiku" ran on claude-haiku-4-5 — call-site wins, documented +
now behaviorally proven. Census §11 flip + §16 (106 pass), make test
exit 0.
This commit is contained in:
Bastien Chanot
2026-07-19 22:45:00 +02:00
parent e4d2629c88
commit 5e8bb0c22e
5 changed files with 26 additions and 10 deletions
+7 -2
View File
@@ -18,7 +18,8 @@ allowed-tools:
# /commit-change — propose → confirm → apply dispatcher
Grouping and committing both run on the sonnet-pinned `commit-changer`
Grouping (propose, `model="opus"` override — judgment) and committing
(apply, sonnet pin — mechanical) both run on the dispatched `commit-changer`
subagent (dispatch makes the pin effective). No inline reflection happens
in this dispatcher to protect, so there is no model gate. This dispatcher
owns the two approval gates that used to live inside the subagent:
@@ -52,11 +53,15 @@ protected branch.
## STEP 1 — Propose
```
Agent(subagent_type="commit-changer")
Agent(subagent_type="commit-changer", model="opus")
prompt: "MODE: propose
$ARGUMENTS"
```
(`model="opus"` — BDR-077: propose = narrative reconstruction + capitalize
routing, judgment tier; the call-site override takes precedence over the
sonnet frontmatter pin. Apply, STEP 4, stays on the pin.)
Read the returned `COMMIT PLAN` + `EDGE CASES` + `CAPITALIZE CANDIDATES`,
terminated by `READY TO APPLY — awaiting dispatcher confirmation`.
+1 -1
View File
@@ -186,7 +186,7 @@ feat(<scope>): <what was added>
If the feature touched multiple concerns (e.g., feature + config +
test), consider splitting into 2-3 atomic commits grouped by logical
unit — or run `/commit-change` on the pending work (it dispatches the
sonnet commit-changer; never inline-load the bare agent, it is now a
commit-changer (propose opus / apply sonnet, BDR-077); never inline-load the bare agent, it is now a
propose/apply executor).
Print summary: