mirror of
https://github.com/katanemo/plano.git
synced 2026-06-29 15:49:40 +02:00
fix(ci): switch retired claude-sonnet-4-20250514 to claude-sonnet-4-6 (#975)
This commit is contained in:
parent
5d990d9609
commit
5cc4c4ee77
29 changed files with 80 additions and 82 deletions
|
|
@ -171,7 +171,7 @@ Plano translates requests between its internal format and each provider's API. T
|
|||
| Model prefix | Wire format | Example |
|
||||
|---|---|---|
|
||||
| `openai/*` | OpenAI | `openai/gpt-4o` |
|
||||
| `anthropic/*` | Anthropic | `anthropic/claude-sonnet-4-20250514` |
|
||||
| `anthropic/*` | Anthropic | `anthropic/claude-sonnet-4-6` |
|
||||
| `gemini/*` | Google Gemini | `gemini/gemini-2.0-flash` |
|
||||
| `mistral/*` | Mistral | `mistral/mistral-large-latest` |
|
||||
| `groq/*` | Groq | `groq/llama-3.3-70b-versatile` |
|
||||
|
|
@ -199,7 +199,7 @@ model_providers:
|
|||
access_key: $OPENAI_API_KEY
|
||||
default: true
|
||||
|
||||
- model: anthropic/claude-sonnet-4-20250514
|
||||
- model: anthropic/claude-sonnet-4-6
|
||||
access_key: $ANTHROPIC_API_KEY
|
||||
|
||||
- model: gemini/gemini-2.0-flash
|
||||
|
|
@ -262,7 +262,7 @@ model_providers:
|
|||
access_key: $OPENAI_API_KEY
|
||||
default: true
|
||||
|
||||
- model: anthropic/claude-sonnet-4-20250514
|
||||
- model: anthropic/claude-sonnet-4-6
|
||||
access_key: $ANTHROPIC_API_KEY
|
||||
|
||||
state_storage:
|
||||
|
|
@ -431,7 +431,7 @@ model_providers:
|
|||
default: true
|
||||
- model: openai/gpt-4o
|
||||
access_key: $OPENAI_API_KEY
|
||||
- model: anthropic/claude-sonnet-4-20250514
|
||||
- model: anthropic/claude-sonnet-4-6
|
||||
access_key: $ANTHROPIC_API_KEY
|
||||
|
||||
model_aliases:
|
||||
|
|
@ -442,7 +442,7 @@ model_aliases:
|
|||
target: gpt-4o # High capability — for complex reasoning
|
||||
|
||||
plano.creative.v1:
|
||||
target: claude-sonnet-4-20250514 # Strong creative writing and analysis
|
||||
target: claude-sonnet-4-6 # Strong creative writing and analysis
|
||||
|
||||
plano.v1:
|
||||
target: gpt-4o # Default production alias
|
||||
|
|
@ -1419,7 +1419,7 @@ listeners:
|
|||
port: 12000
|
||||
|
||||
model_providers:
|
||||
- model: anthropic/claude-sonnet-4-20250514
|
||||
- model: anthropic/claude-sonnet-4-6
|
||||
access_key: $ANTHROPIC_API_KEY
|
||||
default: true
|
||||
|
||||
|
|
@ -1432,7 +1432,7 @@ routing_preferences:
|
|||
Writing code, debugging, code review, explaining concepts,
|
||||
answering programming questions, general development tasks.
|
||||
models:
|
||||
- anthropic/claude-sonnet-4-20250514
|
||||
- anthropic/claude-sonnet-4-6
|
||||
- anthropic/claude-opus-4-6
|
||||
- name: complex architecture
|
||||
description: >
|
||||
|
|
@ -1440,11 +1440,11 @@ routing_preferences:
|
|||
architectural decisions, performance optimization, security audits.
|
||||
models:
|
||||
- anthropic/claude-opus-4-6
|
||||
- anthropic/claude-sonnet-4-20250514
|
||||
- anthropic/claude-sonnet-4-6
|
||||
|
||||
model_aliases:
|
||||
claude.fast.v1:
|
||||
target: claude-sonnet-4-20250514
|
||||
target: claude-sonnet-4-6
|
||||
claude.smart.v1:
|
||||
target: claude-opus-4-6
|
||||
|
||||
|
|
@ -1838,7 +1838,7 @@ model_providers:
|
|||
- model: openai/gpt-4o
|
||||
access_key: $OPENAI_API_KEY
|
||||
|
||||
- model: anthropic/claude-sonnet-4-20250514
|
||||
- model: anthropic/claude-sonnet-4-6
|
||||
access_key: $ANTHROPIC_API_KEY
|
||||
|
||||
# --- Shared routing_preferences (top-level, v0.4.0+) ---
|
||||
|
|
@ -1851,11 +1851,11 @@ routing_preferences:
|
|||
description: Multi-step analysis, code generation, research synthesis
|
||||
models:
|
||||
- openai/gpt-4o
|
||||
- anthropic/claude-sonnet-4-20250514
|
||||
- anthropic/claude-sonnet-4-6
|
||||
- name: long documents
|
||||
description: Summarizing or analyzing very long documents, PDFs, transcripts
|
||||
models:
|
||||
- anthropic/claude-sonnet-4-20250514
|
||||
- anthropic/claude-sonnet-4-6
|
||||
- openai/gpt-4o
|
||||
|
||||
# --- Listener 1: OpenAI-compatible API gateway ---
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ model_providers:
|
|||
- name: complex reasoning
|
||||
description: Multi-step analysis, code generation, research synthesis
|
||||
|
||||
- model: anthropic/claude-sonnet-4-20250514
|
||||
- model: anthropic/claude-sonnet-4-6
|
||||
access_key: $ANTHROPIC_API_KEY
|
||||
routing_preferences:
|
||||
- name: long documents
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ listeners:
|
|||
port: 12000
|
||||
|
||||
model_providers:
|
||||
- model: anthropic/claude-sonnet-4-20250514
|
||||
- model: anthropic/claude-sonnet-4-6
|
||||
access_key: $ANTHROPIC_API_KEY
|
||||
default: true
|
||||
routing_preferences:
|
||||
|
|
@ -62,7 +62,7 @@ model_providers:
|
|||
|
||||
model_aliases:
|
||||
claude.fast.v1:
|
||||
target: claude-sonnet-4-20250514
|
||||
target: claude-sonnet-4-6
|
||||
claude.smart.v1:
|
||||
target: claude-opus-4-6
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ Plano translates requests between its internal format and each provider's API. T
|
|||
| Model prefix | Wire format | Example |
|
||||
|---|---|---|
|
||||
| `openai/*` | OpenAI | `openai/gpt-4o` |
|
||||
| `anthropic/*` | Anthropic | `anthropic/claude-sonnet-4-20250514` |
|
||||
| `anthropic/*` | Anthropic | `anthropic/claude-sonnet-4-6` |
|
||||
| `gemini/*` | Google Gemini | `gemini/gemini-2.0-flash` |
|
||||
| `mistral/*` | Mistral | `mistral/mistral-large-latest` |
|
||||
| `groq/*` | Groq | `groq/llama-3.3-70b-versatile` |
|
||||
|
|
@ -42,7 +42,7 @@ model_providers:
|
|||
access_key: $OPENAI_API_KEY
|
||||
default: true
|
||||
|
||||
- model: anthropic/claude-sonnet-4-20250514
|
||||
- model: anthropic/claude-sonnet-4-6
|
||||
access_key: $ANTHROPIC_API_KEY
|
||||
|
||||
- model: gemini/gemini-2.0-flash
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ model_providers:
|
|||
access_key: $OPENAI_API_KEY
|
||||
default: true
|
||||
|
||||
- model: anthropic/claude-sonnet-4-20250514
|
||||
- model: anthropic/claude-sonnet-4-6
|
||||
access_key: $ANTHROPIC_API_KEY
|
||||
|
||||
state_storage:
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ model_providers:
|
|||
default: true
|
||||
- model: openai/gpt-4o
|
||||
access_key: $OPENAI_API_KEY
|
||||
- model: anthropic/claude-sonnet-4-20250514
|
||||
- model: anthropic/claude-sonnet-4-6
|
||||
access_key: $ANTHROPIC_API_KEY
|
||||
|
||||
model_aliases:
|
||||
|
|
@ -58,7 +58,7 @@ model_aliases:
|
|||
target: gpt-4o # High capability — for complex reasoning
|
||||
|
||||
plano.creative.v1:
|
||||
target: claude-sonnet-4-20250514 # Strong creative writing and analysis
|
||||
target: claude-sonnet-4-6 # Strong creative writing and analysis
|
||||
|
||||
plano.v1:
|
||||
target: gpt-4o # Default production alias
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@
|
|||
"testCase": {
|
||||
"description": "Detect and fix: \"Register Model Providers with Correct Format Identifiers\"",
|
||||
"input": "model_providers:\n - model: gpt-4o # Missing openai/ prefix — Plano cannot route this\n access_key: $OPENAI_API_KEY\n\n - model: claude-3-5-sonnet # Missing anthropic/ prefix\n access_key: $ANTHROPIC_API_KEY",
|
||||
"expected": "model_providers:\n - model: openai/gpt-4o\n access_key: $OPENAI_API_KEY\n default: true\n\n - model: anthropic/claude-sonnet-4-20250514\n access_key: $ANTHROPIC_API_KEY\n\n - model: gemini/gemini-2.0-flash\n access_key: $GOOGLE_API_KEY\n\nmodel_providers:\n - model: custom/llama3\n base_url: http://host.docker.internal:11434/v1 # Ollama endpoint\n provider_interface: openai # Ollama speaks OpenAI format\n default: true",
|
||||
"expected": "model_providers:\n - model: openai/gpt-4o\n access_key: $OPENAI_API_KEY\n default: true\n\n - model: anthropic/claude-sonnet-4-6\n access_key: $ANTHROPIC_API_KEY\n\n - model: gemini/gemini-2.0-flash\n access_key: $GOOGLE_API_KEY\n\nmodel_providers:\n - model: custom/llama3\n base_url: http://host.docker.internal:11434/v1 # Ollama endpoint\n provider_interface: openai # Ollama speaks OpenAI format\n default: true",
|
||||
"evaluationPrompt": "Given the following Plano config or CLI usage, identify if it violates the rule \"Register Model Providers with Correct Format Identifiers\" and explain how to fix it."
|
||||
}
|
||||
},
|
||||
|
|
@ -112,7 +112,7 @@
|
|||
"testCase": {
|
||||
"description": "Detect and fix: \"Use Environment Variable Substitution for All Secrets\"",
|
||||
"input": "version: v0.3.0\n\nmodel_providers:\n - model: openai/gpt-4o\n access_key: abcdefghijklmnopqrstuvwxyz... # Hardcoded — never do this\n\nstate_storage:\n type: postgres\n connection_string: \"postgresql://admin:mysecretpassword@prod-db:5432/plano\"\n\nprompt_targets:\n - name: get_data\n endpoint:\n name: my_api\n http_headers:\n Authorization: \"Bearer abcdefghijklmnopqrstuvwxyz\" # Hardcoded token",
|
||||
"expected": "version: v0.3.0\n\nmodel_providers:\n - model: openai/gpt-4o\n access_key: $OPENAI_API_KEY\n default: true\n\n - model: anthropic/claude-sonnet-4-20250514\n access_key: $ANTHROPIC_API_KEY\n\nstate_storage:\n type: postgres\n connection_string: \"postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:5432/${DB_NAME}\"\n\nprompt_targets:\n - name: get_data\n endpoint:\n name: my_api\n http_headers:\n Authorization: \"Bearer $MY_API_TOKEN\"\n\n# .env — add to .gitignore\nOPENAI_API_KEY=abcdefghijklmnopqrstuvwxyz...\nANTHROPIC_API_KEY=abcdefghijklmnopqrstuvwxyz...\nDB_USER=plano\nDB_PASS=secure-password\nDB_HOST=localhost\nMY_API_TOKEN=abcdefghijklmnopqrstuvwxyz...",
|
||||
"expected": "version: v0.3.0\n\nmodel_providers:\n - model: openai/gpt-4o\n access_key: $OPENAI_API_KEY\n default: true\n\n - model: anthropic/claude-sonnet-4-6\n access_key: $ANTHROPIC_API_KEY\n\nstate_storage:\n type: postgres\n connection_string: \"postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:5432/${DB_NAME}\"\n\nprompt_targets:\n - name: get_data\n endpoint:\n name: my_api\n http_headers:\n Authorization: \"Bearer $MY_API_TOKEN\"\n\n# .env — add to .gitignore\nOPENAI_API_KEY=abcdefghijklmnopqrstuvwxyz...\nANTHROPIC_API_KEY=abcdefghijklmnopqrstuvwxyz...\nDB_USER=plano\nDB_PASS=secure-password\nDB_HOST=localhost\nMY_API_TOKEN=abcdefghijklmnopqrstuvwxyz...",
|
||||
"evaluationPrompt": "Given the following Plano config or CLI usage, identify if it violates the rule \"Use Environment Variable Substitution for All Secrets\" and explain how to fix it."
|
||||
}
|
||||
},
|
||||
|
|
@ -288,7 +288,7 @@
|
|||
"testCase": {
|
||||
"description": "Detect and fix: \"Use Model Aliases for Semantic, Stable Model References\"",
|
||||
"input": "# config.yaml — no aliases defined\nversion: v0.3.0\n\nlisteners:\n - type: model\n name: model_listener\n port: 12000\n\nmodel_providers:\n - model: openai/gpt-4o\n access_key: $OPENAI_API_KEY\n default: true\n\n# Client code — brittle, must be updated when model changes\nclient.chat.completions.create(model=\"gpt-4o\", ...)",
|
||||
"expected": "version: v0.3.0\n\nlisteners:\n - type: model\n name: model_listener\n port: 12000\n\nmodel_providers:\n - model: openai/gpt-4o-mini\n access_key: $OPENAI_API_KEY\n default: true\n - model: openai/gpt-4o\n access_key: $OPENAI_API_KEY\n - model: anthropic/claude-sonnet-4-20250514\n access_key: $ANTHROPIC_API_KEY\n\nmodel_aliases:\n plano.fast.v1:\n target: gpt-4o-mini # Cheap, fast — for high-volume tasks\n\n plano.smart.v1:\n target: gpt-4o # High capability — for complex reasoning\n\n plano.creative.v1:\n target: claude-sonnet-4-20250514 # Strong creative writing and analysis\n\n plano.v1:\n target: gpt-4o # Default production alias\n\n# Client code — stable, alias is the contract\nclient.chat.completions.create(model=\"plano.smart.v1\", ...)",
|
||||
"expected": "version: v0.3.0\n\nlisteners:\n - type: model\n name: model_listener\n port: 12000\n\nmodel_providers:\n - model: openai/gpt-4o-mini\n access_key: $OPENAI_API_KEY\n default: true\n - model: openai/gpt-4o\n access_key: $OPENAI_API_KEY\n - model: anthropic/claude-sonnet-4-6\n access_key: $ANTHROPIC_API_KEY\n\nmodel_aliases:\n plano.fast.v1:\n target: gpt-4o-mini # Cheap, fast — for high-volume tasks\n\n plano.smart.v1:\n target: gpt-4o # High capability — for complex reasoning\n\n plano.creative.v1:\n target: claude-sonnet-4-6 # Strong creative writing and analysis\n\n plano.v1:\n target: gpt-4o # Default production alias\n\n# Client code — stable, alias is the contract\nclient.chat.completions.create(model=\"plano.smart.v1\", ...)",
|
||||
"evaluationPrompt": "Given the following Plano config or CLI usage, identify if it violates the rule \"Use Model Aliases for Semantic, Stable Model References\" and explain how to fix it."
|
||||
}
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue