fix: migrate Claude model files to current API IDs (opus-5, sonnet-5, haiku-4.5)
Bug 57d8a047-d26d-47ce-ae6f-bc5cb98fef0e: Opus-tier tasks 404'd because
models/claude-opus-4.yaml pinned default_flags.model to "claude-opus-4-5",
a retired ID. models/claude-sonnet-4.yaml was pinned to a dated snapshot
("claude-sonnet-4-20250514") with the same problem.
Slug strategy: the registry slug (filename / RegistryEntry.name) doubles
as the literal --model argument on the workflow-template pass-through path
(task-templates/workflow/*.yaml `model:` field -> compiler WF-COMP-18 ->
payload.runtime.model -> entrypoint/runners/claude.py `--model`), which has
no translation step through this file's default_flags. So rather than
patch default_flags.model in place (leaving the slug stale and the
pass-through bug latent), rename the slug to match the current API ID:
- models/claude-opus-4.yaml, model-registry/claude-opus-4.yaml
-> claude-opus-5.yaml (name/endpoint/default_flags.model: claude-opus-5)
- models/claude-sonnet-4.yaml, model-registry/claude-sonnet-4.yaml
-> claude-sonnet-5.yaml (claude-sonnet-5)
- model-registry/claude-haiku-4.yaml -> claude-haiku-4-5.yaml
(claude-haiku-4-5); added the previously-missing models/claude-haiku-4-5.yaml
so the claude runner can actually resolve this endpoint
- model-registry/harness-roles.yaml, model-registry/tiers.yaml,
workflows/smart-agent.yaml, task-templates/workflow/{spec,plan}-review-loop@1.yaml:
updated every claude-opus-4 / claude-sonnet-4 / claude-haiku-4 reference
to the new slugs
- models/openrouter-sonnet.yaml: dated snapshot "claude-sonnet-4-20250514"
-> "claude-sonnet-5" (third-party router proxying the same retired ID)
- refreshed cost_per_1k_tokens on the three renamed registry entries to
current published pricing
Claude-Session: https://claude.ai/code/session_015nXvGNNNixJPFwZKZHNyha
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
name: claude-haiku-4
|
name: claude-haiku-4-5
|
||||||
endpoint: claude-haiku-4
|
endpoint: claude-haiku-4-5
|
||||||
provider: anthropic
|
provider: anthropic
|
||||||
scores:
|
scores:
|
||||||
complexity: 5
|
complexity: 5
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
name: claude-opus-4
|
name: claude-opus-5
|
||||||
endpoint: claude-opus-4
|
endpoint: claude-opus-5
|
||||||
provider: anthropic
|
provider: anthropic
|
||||||
scores:
|
scores:
|
||||||
complexity: 10
|
complexity: 10
|
||||||
@@ -9,7 +9,7 @@ scores:
|
|||||||
cost_efficiency: 3
|
cost_efficiency: 3
|
||||||
context_utilisation: 10
|
context_utilisation: 10
|
||||||
cost_per_1k_tokens:
|
cost_per_1k_tokens:
|
||||||
input: 0.015
|
input: 0.005
|
||||||
output: 0.075
|
output: 0.025
|
||||||
source: benchmark
|
source: benchmark
|
||||||
harness_version: null
|
harness_version: null
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
name: claude-sonnet-4
|
name: claude-sonnet-5
|
||||||
endpoint: claude-sonnet-4
|
endpoint: claude-sonnet-5
|
||||||
provider: anthropic
|
provider: anthropic
|
||||||
scores:
|
scores:
|
||||||
complexity: 8
|
complexity: 8
|
||||||
@@ -9,7 +9,7 @@ scores:
|
|||||||
cost_efficiency: 6
|
cost_efficiency: 6
|
||||||
context_utilisation: 8
|
context_utilisation: 8
|
||||||
cost_per_1k_tokens:
|
cost_per_1k_tokens:
|
||||||
input: 0.003
|
input: 0.002
|
||||||
output: 0.015
|
output: 0.01
|
||||||
source: benchmark
|
source: benchmark
|
||||||
harness_version: null
|
harness_version: null
|
||||||
@@ -2,8 +2,8 @@ roles:
|
|||||||
code-tdd:
|
code-tdd:
|
||||||
airouter-qwen3: code-airouter-tdd-repo
|
airouter-qwen3: code-airouter-tdd-repo
|
||||||
airouter-deepseekv4flash: code-airouter-deepseekv4flash-tdd-repo
|
airouter-deepseekv4flash: code-airouter-deepseekv4flash-tdd-repo
|
||||||
claude-sonnet-4: code-sonnet-tdd-repo
|
claude-sonnet-5: code-sonnet-tdd-repo
|
||||||
claude-opus-4: code-opus-tdd-repo
|
claude-opus-5: code-opus-tdd-repo
|
||||||
claude-haiku-4: code-haiku-tdd-repo
|
claude-haiku-4-5: code-haiku-tdd-repo
|
||||||
minimax: code-minimax-tdd-repo
|
minimax: code-minimax-tdd-repo
|
||||||
claude-fable-5: code-fable-tdd-repo
|
claude-fable-5: code-fable-tdd-repo
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ tiers:
|
|||||||
qualifies_today:
|
qualifies_today:
|
||||||
- deepseek-v4flash # benchmark-inflated 9s; hold to allowed_models ceiling
|
- deepseek-v4flash # benchmark-inflated 9s; hold to allowed_models ceiling
|
||||||
- minimax
|
- minimax
|
||||||
- claude-opus-4
|
- claude-opus-5
|
||||||
note: >
|
note: >
|
||||||
WF-SCH-14 allowed_models ceiling remains authoritative until M7 observed-score
|
WF-SCH-14 allowed_models ceiling remains authoritative until M7 observed-score
|
||||||
recalibration corrects benchmark-inflated registry entries.
|
recalibration corrects benchmark-inflated registry entries.
|
||||||
@@ -38,8 +38,8 @@ tiers:
|
|||||||
test_pass_rate: 9
|
test_pass_rate: 9
|
||||||
qualifies_today:
|
qualifies_today:
|
||||||
- minimax
|
- minimax
|
||||||
- claude-sonnet-4
|
- claude-sonnet-5
|
||||||
- claude-opus-4
|
- claude-opus-5
|
||||||
|
|
||||||
coding:
|
coding:
|
||||||
description: >
|
description: >
|
||||||
@@ -52,6 +52,6 @@ tiers:
|
|||||||
- airouter-qwen3
|
- airouter-qwen3
|
||||||
- airouter-deepseekv4flash
|
- airouter-deepseekv4flash
|
||||||
- minimax
|
- minimax
|
||||||
- claude-sonnet-4
|
- claude-sonnet-5
|
||||||
- claude-opus-4
|
- claude-opus-5
|
||||||
- claude-fable-5
|
- claude-fable-5
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
name: claude-sonnet-4
|
name: claude-haiku-4-5
|
||||||
provider: anthropic
|
provider: anthropic
|
||||||
endpoint:
|
endpoint:
|
||||||
type: cloud_api
|
type: cloud_api
|
||||||
api_key_env: ANTHROPIC_API_KEY
|
api_key_env: ANTHROPIC_API_KEY
|
||||||
runner: claude
|
runner: claude
|
||||||
default_flags:
|
default_flags:
|
||||||
model: "claude-sonnet-4-20250514"
|
model: "claude-haiku-4-5"
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
name: claude-opus-4
|
name: claude-opus-5
|
||||||
provider: anthropic
|
provider: anthropic
|
||||||
endpoint:
|
endpoint:
|
||||||
type: cloud_api
|
type: cloud_api
|
||||||
api_key_env: ANTHROPIC_API_KEY
|
api_key_env: ANTHROPIC_API_KEY
|
||||||
runner: claude
|
runner: claude
|
||||||
default_flags:
|
default_flags:
|
||||||
model: "claude-opus-4-5"
|
model: "claude-opus-5"
|
||||||
8
models/claude-sonnet-5.yaml
Normal file
8
models/claude-sonnet-5.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
name: claude-sonnet-5
|
||||||
|
provider: anthropic
|
||||||
|
endpoint:
|
||||||
|
type: cloud_api
|
||||||
|
api_key_env: ANTHROPIC_API_KEY
|
||||||
|
runner: claude
|
||||||
|
default_flags:
|
||||||
|
model: "claude-sonnet-5"
|
||||||
@@ -6,4 +6,4 @@ endpoint:
|
|||||||
api_key_env: OPENROUTER_API_KEY
|
api_key_env: OPENROUTER_API_KEY
|
||||||
runner: agentic
|
runner: agentic
|
||||||
default_flags:
|
default_flags:
|
||||||
model: "anthropic/claude-sonnet-4-20250514"
|
model: "anthropic/claude-sonnet-5"
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ nodes:
|
|||||||
- id: review-opus
|
- id: review-opus
|
||||||
kind: agent
|
kind: agent
|
||||||
role: plan-review # M36 v0.6 (bug 69370eda fix)
|
role: plan-review # M36 v0.6 (bug 69370eda fix)
|
||||||
model: claude-opus-4
|
model: claude-opus-5
|
||||||
runtime_env:
|
runtime_env:
|
||||||
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
||||||
AGENT_BRANCH: "task/${item.uuid}"
|
AGENT_BRANCH: "task/${item.uuid}"
|
||||||
@@ -93,7 +93,7 @@ nodes:
|
|||||||
- id: judge-haiku
|
- id: judge-haiku
|
||||||
kind: agent
|
kind: agent
|
||||||
role: plan-review
|
role: plan-review
|
||||||
model: claude-haiku-4
|
model: claude-haiku-4-5
|
||||||
depends_on: [improve-sonnet]
|
depends_on: [improve-sonnet]
|
||||||
runtime_env:
|
runtime_env:
|
||||||
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ nodes:
|
|||||||
role: spec-review # M36 v0.6 (bug 69370eda fix): per-node role replaces
|
role: spec-review # M36 v0.6 (bug 69370eda fix): per-node role replaces
|
||||||
# the ungrounded top-level `runtime: review-loop-repo`.
|
# the ungrounded top-level `runtime: review-loop-repo`.
|
||||||
# Harness resolution: (role, model) → composite.
|
# Harness resolution: (role, model) → composite.
|
||||||
model: claude-opus-4
|
model: claude-opus-5
|
||||||
runtime_env:
|
runtime_env:
|
||||||
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
||||||
AGENT_BRANCH: "spec/${item.uuid}"
|
AGENT_BRANCH: "spec/${item.uuid}"
|
||||||
@@ -104,7 +104,7 @@ nodes:
|
|||||||
- id: judge-haiku
|
- id: judge-haiku
|
||||||
kind: agent
|
kind: agent
|
||||||
role: spec-review
|
role: spec-review
|
||||||
model: claude-haiku-4
|
model: claude-haiku-4-5
|
||||||
depends_on: [improve-sonnet]
|
depends_on: [improve-sonnet]
|
||||||
runtime_env:
|
runtime_env:
|
||||||
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
AGENT_REPO_URL: "git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ name: smart-agent
|
|||||||
version: 1
|
version: 1
|
||||||
description: >
|
description: >
|
||||||
High-capability single-agent workflow. Routes to the best available reasoning model
|
High-capability single-agent workflow. Routes to the best available reasoning model
|
||||||
(complexity ≥ 9 — currently claude-opus-4). Use for complex implementation, planning,
|
(complexity ≥ 9 — currently claude-opus-5). Use for complex implementation, planning,
|
||||||
or analysis tasks where quality matters more than cost.
|
or analysis tasks where quality matters more than cost.
|
||||||
|
|
||||||
MiniMax is not in the model registry and will not be auto-selected; use the
|
MiniMax is not in the model registry and will not be auto-selected; use the
|
||||||
|
|||||||
Reference in New Issue
Block a user