Skip to content

ADR-0002 — Side-by-side per-role provider mix

ADR-0002 — Side-by-side per-role provider mix

Section titled “ADR-0002 — Side-by-side per-role provider mix”

Status: Accepted

One AgentSquad run may compare Codex, Claude, and Antigravity by assigning a different provider to each role. Provider choice must not be confused with Daytona, which is the execution-workspace backend.

The retired harness graph once recomputed provider values during launch. The direct Temporal-to-Studio path no longer has that rewrite hop.

  1. run.metadata_json.agent_parameters is the source of truth for the run’s provider assignments.
  2. Precedence is template default, template role, roster source, run default, then per-role override.
  3. Session creation resolves the provider once from that chain. Execution and retries preserve it unless an explicit profile takeover changes the provider.
  4. Per-role assignments bind to stable role/profile keys, never generated nicknames.
  5. session.provider identifies the execution workspace backend; it is not the model provider.
  • Side-by-side evidence records both requested and resolved provider values.
  • A process retry cannot silently reset a role to the run default.
  • Codex-to-Claude takeover changes the process binding and generation while preserving the profile identity, worktree, mailbox, and continuity state.
  • New orchestration layers may not recompute provider policy.