Model policy
Which model runs which role today, how often each one runs, what each session may spend, and where you change any of it.
- Who it is for
- Owners & operators
- Reading time
- 5 min read
- Updated
Every model role runs as a fresh, short session with a fixed model, a turn cap and a dollar cap. The operator policy is one line: Sonnet 5 is the floor, the deep sessions get the deepest model, and adversarial review gets the strongest one. "Fast" means Sonnet 5 with a tight budget, never a smaller model.
Who runs on what today
| Role and session | Model | Budget |
|---|---|---|
| PM premarket and postmarket | Fable 5.1 (the main model setting) | $5.00 per session, 40 turns |
| PM intraday check-ins | Sonnet 5 (the intraday model setting) | same session cap |
| PM react sessions | Sonnet 5 (the react model setting) | $0.40 (ceiling $0.75), 8 turns, at most 12 a day |
| briefs | Fable 5.1 (the main model setting) | same session cap |
| , after a session | Opus 5 (the Critic model setting) | $0.30, 24 turns, 240 seconds |
| Critic, before a trade | Opus 5 | $0.08, 6 turns, 90 seconds then fail-open |
| Sonnet 5 (the Consult model setting); Fable 5.1 per message | $0.75, 12 turns and 120 seconds per answer | |
| and Scheduler | No model | — |
The Trader (planned) is assigned Sonnet 5 with small turn budgets; the Quant (staged) is designed around Opus 5. Neither runs on this build. If a model is unavailable the session falls back to Opus 5 (the fallback model setting). A PM or Researcher run you ask for from Consult uses the same model and cap as its scheduled kind.
Your book's sessions (PM, Researcher, Critic and Consult alike) share one daily token budget of $25.00, a per-book deployment setting. Each session is capped at the lesser of its own cap and what is left of the day; once the day's spend reaches the cap, a new session is refused rather than started (Consult answers with a polite refusal, the Critic is skipped). The Overview's model-spend figure and the Agent day summary show what was actually spent.
Where you change it
Cadence and models live with the agents. Agent is your desk: one card per role with its model, cadence, today's sessions and cost. Open a card and its Configure tab (Portfolio Manager › Configure, the same for the Researcher and the Critic) is the one place that edits that role:

- Model for the role, and per session type where the role has them (the PM's premarket and postmarket), chosen from the allowlisted set: Fable 5.1, Opus 5 (the top tier), Sonnet 5 (the floor). The small model is never offered. A Fallback model and the Effort level sit beside it.
- Max turns and Budget per session: lowering either is one click; raising it again above what runs now asks for your , like loosening a risk limit.
- Intraday sessions on or off, the Intraday interval (15, 30 or 60 minutes, 09:00–14:30 CT; the default is 60, a preset carries its own advisory interval and this setting overrides it; a slot after the day's first is skipped on a quiet tape, so the count is a ceiling) and the Intraday model. These are on the PM's page only, because only the PM has a schedule you set. Premarket and postmarket always run; while intraday is on, the fixed 14:48 CT close-confirmation pass runs too (it is not on the interval grid and is never skipped as quiet). The Researcher's page has one switch, Daily briefs on or off; its two brief times are fixed.
- Reactions: the react session's budget, gap, model and event thresholds, read-only. The environment can only make reactions rarer or cheaper than the code defaults.
- Settings that belong to another (the , posture, risk limits, ) appear as read-only chips that link to the screen that owns them; nothing is editable in two places.
Each value carries a quiet mark saying where it comes from (the role's spec file, a console change, or a deployment pin); a deployment pin wins over a console change and the page says so. Consult's model and caps are deployment settings plus the per-message toggle, so its page explains rather than edits.
Saving opens a diff of exactly what changes, and the change is audited. Consult's model is picked per message with the Sonnet / Fable toggle under the composer on Consult; Sonnet answers in seconds for cents, Fable is slower and deeper, and Consult can also draft a cadence change as a card you confirm, applied with the same bounds. A change applies from the role's next session and is audited.
Model budgets are set with each role's cadence and models on each role's Configure tab (Portfolio Manager › Configure); Settings only points there. The per-session cap is never allowed above the daily cap.
When a change takes effect
Between sessions no model process exists (every job is one short-lived session and the database is its memory), so a saved cadence or model applies at the next session with no restart. The scheduler reloads on its next tick; a session already running finishes on the model it started with.
What the policy will not do
- No role ever runs on a model outside the allowlist, and the console rejects a model id it does not know.
- Sessions stop at their dollar cap mid-turn rather than overrunning; the day stops at the daily cap.
- Changing a model changes how a role thinks, not what it may do: the tool allowlist, the memory it may write and the Executor's checks are the same for every model. Each role is one row in its spec, and that row alone decides which tools a session of that role is served, which it may call and which memory it may write; a job the spec does not declare gets read-only tools under its own name, never the PM's by default. The Configure tab's tool counts are read from the same row, so what it shows is what the session gets.
Model choice is a quality and cost decision, never a safety one. Nothing about the Executor moves when you change it.