Plan inherited auto-router cost-tier profiles

This commit is contained in:
2026-11-03 14:48:19 +00:00
parent e0cd63923d
commit 2c83925c88

View File

@@ -59,8 +59,8 @@ API or special provenance model.
### Root Resource Layout
Use root entries for both the backend and all built-in profiles. The backend
ID is `openrouter`; each bundled profile references `backend: openrouter` and
is selected using its unqualified ID. No built-in `openrouter` collection is
ID is `openrouter`; each bundled profile supplies or inherits
`backend: openrouter` and is selected using its unqualified ID. No built-in `openrouter` collection is
created, so an externally supplied collection can expose names such as
`openrouter/gpt-sol-latest` alongside the root `gpt-sol-latest` profile.
@@ -111,7 +111,7 @@ non-zero cost; no fixed cost or model-availability guarantee is introduced.
### Small Profile Set
The initial set contains twelve root profiles:
The initial set contains seventeen root profiles:
| Profile ID | Intended model selection |
| --- | --- |
@@ -126,6 +126,11 @@ The initial set contains twelve root profiles:
| `gemini-pro-latest` | Google Gemini Pro latest-family alias through OpenRouter. |
| `gemini-flash-latest` | Google Gemini Flash latest-family alias through OpenRouter. |
| `auto` | OpenRouter auto router (`openrouter/auto`). |
| `auto-low` | Inherits `auto`; sets cost tier `low`. |
| `auto-medium` | Inherits `auto`; sets cost tier `medium`. |
| `auto-high` | Inherits `auto`; sets cost tier `high`. |
| `auto-xhigh` | Inherits `auto`; sets cost tier `xhigh`. |
| `auto-max` | Inherits `auto`; sets cost tier `max`. |
| `free` | OpenRouter free-model router (`openrouter/free`). |
These profile IDs are selected. Confirm the exact provider `model` slugs for
@@ -135,8 +140,28 @@ instead of silently substituting a pinned model or dropping the profile.
The tilde and slash in a provider model slug remain part of that value; they
do not change the root placement of the PromptKit profile.
Each profile should primarily specify its backend and model. Avoid baking in
temperature, reasoning, token-budget, timeout, or capability assumptions merely
Define each cost-tier profile using `extends: {id: auto}` and the matching
`cost_tier` inside an `auto-router` plugin entry under `extra_params.plugins`:
```yaml
profiles:
- id: auto
backend: openrouter
model: openrouter/auto
- id: auto-medium
extends: {id: auto}
extra_params:
plugins:
- id: auto-router
cost_tier: medium
```
Keep the base `auto` profile without an explicit cost tier. Link to
[OpenRouter's cost-tier documentation](https://openrouter.ai/docs/guides/routing/routers/auto-router#cost-tier)
for routing semantics rather than duplicating that explanation here.
Each profile should primarily specify or inherit its backend and model. Avoid
baking in temperature, reasoning, token-budget, timeout, or capability assumptions merely
to make profiles appear more complete. Operator profiles remain the place for
application-specific tuning and fixed model versions.
@@ -173,7 +198,7 @@ does not identify or pin the concrete model selected upstream.
## Implementation Work
1. Verify the provider endpoint and exact model values for the twelve selected
1. Verify the provider endpoint and exact model values for the seventeen selected
root profiles.
2. Add the embedded YAML backend and profiles, and integrate their dedicated
underlay with engine construction. Add the disable option using the existing
@@ -181,7 +206,9 @@ does not identify or pin the concrete model selected upstream.
3. Verify default availability, disabling, caller precedence, whole-record
replacement, and inherited variants through the real configuration loader.
Include an application-provided OpenRouter collection and a replaced backend
to exercise interaction with external catalogs.
to exercise interaction with external catalogs. Verify all five cost-tier
profiles inherit the base backend/model and send the expected top-level
`plugins` array through the built-in HTTP client.
4. Verify listing and inspection reflect effective definitions and meaningful
source evidence. Exercise request preparation with a fake client or local
server as appropriate; construction must not depend on provider reachability