Codex model + reasoning policy (Dyads)
All dyads should run the latest Codex model:CODEX_MODEL=gpt-5.2-codex
CODEX_REASONING_EFFORT=medium|high|xhigh(policy avoidslow)
- Default Codex config:
si-codex-initwrites~/.codex/config.tomlwithmodelandmodel_reasoning_effort. - Critic-driven execution: when a critic runs interactive
codex/codex resumeinside an actor, it explicitly passes-m $CODEX_MODELand-c model_reasoning_effort=$CODEX_REASONING_EFFORT.
Complexity-based overrides
When a dyad task includescomplexity=low|medium|high, critics map complexity to model/effort:
- Model:
CODEX_MODEL_LOW|MEDIUM|HIGHif set, otherwiseCODEX_MODEL. - Reasoning:
CODEX_REASONING_EFFORT_LOW|MEDIUM|HIGHif set, otherwise the complexity level itself (low|medium|high), withlowclamped tomedium.
complexity is empty, critics fall back to priority and then to the base env defaults.
Default policy
Recommended defaults (can be overridden per container via env):- infra dyad
- actor:
xhigh - critic (driver):
xhigh
- actor:
- web dyad
- actor:
medium - critic (driver):
high
- actor:
- research dyad
- actor:
high - critic (driver):
high
- actor:
- pm dyad
- actor:
high(planning) - critic (driver):
xhigh(program-level reasoning)
- actor:
- default dyad
- actor:
medium - critic (driver):
medium
- actor:
Spawned dyads
si dyad spawn sets:
CODEX_MODEL(defaults togpt-5.2-codex)CODEX_REASONING_EFFORTfor actor/critic based onROLECODEX_PER_DYAD=1by default so Codex state (~/.codex) is not shared across dyads. Override to0only if you explicitly want a shared store.
CODEX_MODEL=...CODEX_ACTOR_EFFORT=...CODEX_CRITIC_EFFORT=...
Docker defaults
si dyad spawn sets CODEX_MODEL and CODEX_REASONING_EFFORT per container (actor/critic).
