get-shit-done/references/model-profile-resolution.md
Resolve model profile once at the start of orchestration, then use it for all Task spawns.
MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
Default: balanced if not set or config missing.
@~/.claude/get-shit-done/references/model-profiles.md
Look up the agent in the table for the resolved profile. Pass the model parameter to Task calls:
Task(
prompt="...",
subagent_type="gsd-planner",
model="{resolved_model}" # "inherit", "sonnet", or "haiku"
)
Note: Opus-tier agents resolve to "inherit" (not "opus"). This causes the agent to use the parent session's model, avoiding conflicts with organization policies that may block specific opus versions.
If model_profile is "adaptive", agents resolve to role-based assignments (opus/sonnet/haiku based on agent type).
If model_profile is "inherit", all agents resolve to "inherit" (useful for OpenCode /model).
"inherit", "sonnet", "haiku")