One session runs one model. There is no way to route cheap work to a cheap model, and no fallback when a provider rate-limits mid-turn.
omp routes by intent across ten roles (default, smol, slow, plan, advisor, ...) with per-role fallback chains and round-robin credentials.
Raxol has a specific reason to want this that omp does not: Raxol.Agent.Code.CostLedger meters real spend, so routing sub-agent fan-out to a cheap model is directly measurable in the ledger.
Scope
- Roles on
ExecutorConfig: at minimum default, subagent, and plan. The task fan-out is the immediate beneficiary -- it already runs up to four concurrent delegations on the parent's model.
- Fallback chains per role: on 429 or quota exhaustion the next entry takes the rest of the turn, with the primary restored after a cooldown.
- Round-robin credentials per provider, with session affinity.
.raxol/config.json gains a roles block; mix raxol.inspect reports what each role resolves to and why, as it already does for the single provider.
One session runs one model. There is no way to route cheap work to a cheap model, and no fallback when a provider rate-limits mid-turn.
omp routes by intent across ten roles (
default,smol,slow,plan,advisor, ...) with per-role fallback chains and round-robin credentials.Raxol has a specific reason to want this that omp does not:
Raxol.Agent.Code.CostLedgermeters real spend, so routing sub-agent fan-out to a cheap model is directly measurable in the ledger.Scope
ExecutorConfig: at minimumdefault,subagent, andplan. Thetaskfan-out is the immediate beneficiary -- it already runs up to four concurrent delegations on the parent's model..raxol/config.jsongains a roles block;mix raxol.inspectreports what each role resolves to and why, as it already does for the single provider.