Component
Agent (Python runtime)
Describe the feature
Allow workflow YAML steps to declare an optional model override so different phases of a task can use different Bedrock models without defining separate workflows.
Example (single run_agent step permitted today):
steps:
- { kind: clone_repo, name: setup }
- { kind: run_agent, name: implement, model: { id: anthropic.claude-sonnet-4-6 } }
- { kind: verify_build, name: build, gate: regression_only }
Resolution follows WORKFLOWS.md model selection: Blueprint allow-list bounds all choices; per-task API override remains highest unless allow_task_override: false.
Use case
Model fit is task-phase-specific. Today agent_config.model applies workflow-wide. Per-step model on the lone run_agent step documents intent and prepares the schema for future multi-step agent graphs.
Distinct from #439 (runtime per-turn adaptive router) — this is declarative workflow data, not a heuristic.
Proposed solution
- Add optional
model: { id, allow_task_override? } to step objects in workflow JSON Schema (run_agent only initially).
- Validator: step
model.id must be on platform/Blueprint allow-list.
- Runner: merge step-level model over
workflow.agent_config.model over Blueprint default in _handle_run_agent.
- Telemetry: record resolved model per step on TaskEvents / OTEL spans.
- Tests and WORKFLOWS.md update.
Other information
Acknowledgements
Component
Agent (Python runtime)
Describe the feature
Allow workflow YAML steps to declare an optional
modeloverride so different phases of a task can use different Bedrock models without defining separate workflows.Example (single
run_agentstep permitted today):Resolution follows WORKFLOWS.md model selection: Blueprint allow-list bounds all choices; per-task API override remains highest unless
allow_task_override: false.Use case
Model fit is task-phase-specific. Today
agent_config.modelapplies workflow-wide. Per-stepmodelon the lonerun_agentstep documents intent and prepares the schema for future multi-step agent graphs.Distinct from #439 (runtime per-turn adaptive router) — this is declarative workflow data, not a heuristic.
Proposed solution
model: { id, allow_task_override? }to step objects in workflow JSON Schema (run_agentonly initially).model.idmust be on platform/Blueprint allow-list.workflow.agent_config.modelover Blueprint default in_handle_run_agent.Other information
Acknowledgements