forked from bchanot/claude
feat(agents): pin dispatched judgment agents to opus — Fable = inline reflection only (BDR-076)
Reverses the BDR-066 rejected alternative (opus pins on audit agents): session default is now Fable, so inherit burned Fable quota on every dispatched audit/challenge. analyzer, plan-challenger, seo/geo/ validator-analyzer pinned model: opus; onboard's 6 general-purpose audit dispatches carry model="opus"; tour Phase B repointed. interviewer + client-handover-writer stay unpinned (inline-load only, a pin there is inert). settings.json default: claude-fable-5[1m]. Census flipped: model-routing §3 + new §11 (61 pass), loops-light 35, full make test green.
This commit is contained in:
@@ -42,9 +42,11 @@ Agent(subagent_type="plan-challenger", description="challenge:<lens>", prompt=""
|
||||
""")
|
||||
```
|
||||
|
||||
**MODEL (BDR-066):** plan critique is AUDIT JUDGMENT — do NOT pin
|
||||
`model: "sonnet"`; the challengers inherit the big session model. (The executor
|
||||
gates stay sonnet; the challenger does not.)
|
||||
**MODEL (BDR-076, supersedes the BDR-066 inherit):** plan critique is AUDIT
|
||||
JUDGMENT — the challengers are `model: opus`-pinned in their frontmatter: a big
|
||||
tier, session-independent, off the session model. The session model (Fable)
|
||||
keeps only this loop — synthesis, RE-THINK, gate. Never sonnet: that would
|
||||
silently downgrade the judgment. (The executor gates stay sonnet.)
|
||||
|
||||
**Lens framing by `KIND`** (the agent's three lenses, read against the artifact):
|
||||
- `build-plan` — will it WORK / will it BREAK / is it needlessly COMPLEX.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# lib/tests/model-routing.test.sh — census: gate wiring + pins + executor shape (BDR-066)
|
||||
# lib/tests/model-routing.test.sh — census: gate wiring + pins + executor shape (BDR-066, BDR-076)
|
||||
set -u
|
||||
R="$(cd "$(dirname "$0")/../.." && pwd)"
|
||||
pass=0; fail=0
|
||||
@@ -22,7 +22,7 @@ has "agents/feater.md" 'model: sonnet'
|
||||
has "agents/hotfixer.md" 'model: sonnet'
|
||||
has "agents/verifier.md" 'model: sonnet'
|
||||
has "agents/security-auditor.md" 'model: sonnet'
|
||||
fm_lacks "agents/analyzer.md" 'model:'
|
||||
has "agents/analyzer.md" 'model: opus'
|
||||
# 4) /feat executor shape
|
||||
has "skills/feat/SKILL.md" 'subagent_type="feater"'
|
||||
has "skills/feat/SKILL.md" 'verify-secure-loop.md'
|
||||
@@ -54,17 +54,24 @@ lacks "agents/handover-doc-writer.md" 'AskUserQuestion'
|
||||
lacks "agents/handover-doc-writer.md" 'Agent('
|
||||
has "agents/client-handover-writer.md" 'subagent_type="handover-doc-writer"'
|
||||
# 10) post-merge edge fixes (ronde): F1 feater applier carve-out, F2 /refactor
|
||||
# dispatch + pin, F3 /analyze gated (in loop 1), F4 interviewer un-pinned,
|
||||
# F5 audit agents' ABSENT pin locked (a stray sonnet pin would silently
|
||||
# downgrade a live audit even though the skill's gate passed)
|
||||
# dispatch + pin, F3 /analyze gated (in loop 1)
|
||||
has "agents/feater.md" 'Applier path'
|
||||
has "skills/refactor/SKILL.md" 'subagent_type="refactorer"'
|
||||
has "agents/refactorer.md" 'model: sonnet'
|
||||
fm_lacks "agents/seo-analyzer.md" 'model:'
|
||||
fm_lacks "agents/geo-analyzer.md" 'model:'
|
||||
fm_lacks "agents/validator-analyzer.md" 'model:'
|
||||
# 11) BDR-076 — session model (Fable) = orchestration + inline reflection ONLY.
|
||||
# Dispatched judgment agents pinned OPUS (big tier, session-independent;
|
||||
# never sonnet — that would silently downgrade a live audit). Inline-load-
|
||||
# only agents (interviewer, client-handover-writer) STAY unpinned: they run
|
||||
# IN the main loop, a frontmatter pin there is inert and misleads.
|
||||
has "agents/seo-analyzer.md" 'model: opus'
|
||||
has "agents/geo-analyzer.md" 'model: opus'
|
||||
has "agents/validator-analyzer.md" 'model: opus'
|
||||
has "agents/plan-challenger.md" 'model: opus'
|
||||
fm_lacks "agents/client-handover-writer.md" 'model:'
|
||||
fm_lacks "agents/interviewer.md" 'model:'
|
||||
has "skills/onboard/SKILL.md" 'model="opus"'
|
||||
has "skills/tour/SKILL.md" 'model="opus"'
|
||||
has "lib/challenge-plan.md" 'BDR-076'
|
||||
|
||||
printf 'model-routing census: %d pass, %d fail\n' "$pass" "$fail"
|
||||
[ "$fail" -eq 0 ]
|
||||
|
||||
Reference in New Issue
Block a user