You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: get-shit-done/references/model-profile-resolution.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,15 +20,15 @@ Look up the agent in the table for the resolved profile. Pass the model paramete
20
20
Task(
21
21
prompt="...",
22
22
subagent_type="gsd-planner",
23
-
model="{resolved_model}" # "inherit", "sonnet", or "haiku"
23
+
model="{resolved_model}" # "inherit", "o4-mini", or "gpt-4.1-nano"
24
24
)
25
25
```
26
26
27
-
**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.
27
+
**Note:**o3-tier agents resolve to `"inherit"` (not `"o3"`). This causes the agent to use the parent session's model, avoiding conflicts with organization policies that may block specific model versions.
28
28
29
29
## Usage
30
30
31
31
1. Resolve once at orchestration start
32
32
2. Store the profile value
33
33
3. Look up each agent's model from the table when spawning
34
-
4. Pass model parameter to each Task call (values: `"inherit"`, `"sonnet"`, `"haiku"`)
34
+
4. Pass model parameter to each Task call (values: `"inherit"`, `"o4-mini"`, `"gpt-4.1-nano"`)
- Use when: quota available, critical architecture work
27
28
28
29
**balanced** (default) - Smart allocation
29
-
- Opus only for planning (where architecture decisions happen)
30
-
- Sonnet for execution and research (follows explicit instructions)
31
-
- Sonnet for verification (needs reasoning, not just pattern matching)
30
+
31
+
- o3 only for planning (where architecture decisions happen)
32
+
- o4-mini for execution and research (follows explicit instructions)
33
+
- o4-mini for verification (needs reasoning, not just pattern matching)
32
34
- Use when: normal development, good balance of quality and cost
33
35
34
-
**budget** - Minimal Opus usage
35
-
- Sonnet for anything that writes code
36
-
- Haiku for research and verification
36
+
**budget** - Minimal o3 usage
37
+
38
+
- o4-mini for anything that writes code
39
+
- gpt-4.1-nano for research and verification
37
40
- Use when: conserving quota, high-volume work, less critical phases
38
41
39
42
## Resolution Logic
@@ -55,19 +58,20 @@ Override specific agents without changing the entire profile:
55
58
{
56
59
"model_profile": "balanced",
57
60
"model_overrides": {
58
-
"gsd-executor": "opus",
59
-
"gsd-planner": "haiku"
61
+
"gsd-executor": "o3",
62
+
"gsd-planner": "gpt-4.1-nano"
60
63
}
61
64
}
62
65
```
63
66
64
-
Overrides take precedence over the profile. Valid values: `opus`, `sonnet`, `haiku`.
67
+
Overrides take precedence over the profile. Valid values: `o3`, `o4-mini`, `gpt-4.1-nano`.
65
68
66
69
## Switching Profiles
67
70
68
71
Runtime: `$gsd-set-profile <profile>`
69
72
70
73
Per-project default: Set in `.planning/config.json`:
74
+
71
75
```json
72
76
{
73
77
"model_profile": "balanced"
@@ -76,17 +80,17 @@ Per-project default: Set in `.planning/config.json`:
76
80
77
81
## Design Rationale
78
82
79
-
**Why Opus for gsd-planner?**
83
+
**Why o3 for gsd-planner?**
80
84
Planning involves architecture decisions, goal decomposition, and task design. This is where model quality has the highest impact.
81
85
82
-
**Why Sonnet for gsd-executor?**
86
+
**Why o4-mini for gsd-executor?**
83
87
Executors follow explicit PLAN.md instructions. The plan already contains the reasoning; execution is implementation.
84
88
85
-
**Why Sonnet (not Haiku) for verifiers in balanced?**
86
-
Verification requires goal-backward reasoning - checking if code *delivers* what the phase promised, not just pattern matching. Sonnet handles this well; Haiku may miss subtle gaps.
89
+
**Why o4-mini (not gpt-4.1-nano) for verifiers in balanced?**
90
+
Verification requires goal-backward reasoning - checking if code _delivers_ what the phase promised, not just pattern matching. o4-mini handles this well; gpt-4.1-nano may miss subtle gaps.
87
91
88
-
**Why Haiku for gsd-codebase-mapper?**
92
+
**Why gpt-4.1-nano for gsd-codebase-mapper?**
89
93
Read-only exploration and pattern extraction. No reasoning required, just structured output from file contents.
90
94
91
-
**Why `inherit` instead of passing `opus` directly?**
92
-
Codex CLI's `"opus"` alias maps to a specific model version. Organizations may block older opus versions while allowing newer ones. GSD returns `"inherit"` for opus-tier agents, causing them to use whatever opus version the user has configured in their session. This avoids version conflicts and silent fallbacks to Sonnet.
95
+
**Why `inherit` instead of passing `o3` directly?**
96
+
Codex CLI's `"o3"` alias maps to a specific model version. Organizations may block older versions while allowing newer ones. GSD returns `"inherit"` for o3-tier agents, causing them to use whatever model the user has configured in their session. This avoids version conflicts and silent fallbacks.
0 commit comments