Files
AGENTS/.pi/gsd/references/model-profile-resolution.md
2026-04-24 20:00:33 +02:00

1.2 KiB

Model Profile Resolution

Resolve model profile once at the start of orchestration, then use it for all Task spawns.

Resolution Pattern

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.

Lookup Table

@.pi/gsd/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 "inherit", all agents resolve to "inherit" (useful for OpenCode /model).

Usage

  1. Resolve once at orchestration start
  2. Store the profile value
  3. Look up each agent's model from the table when spawning
  4. Pass model parameter to each Task call (values: "inherit", "sonnet", "haiku")