chore(models): move the opus alias to claude-opus-5

Claude Opus 5 released today — same $5/$25 sticker, 1M context; Opus 4.8
moves to legacy. The pricing table gains a dedicated claude-opus-5
fragment (the claude-opus-4 substring doesn't cover it, so without the
row the fleet's Opus usage would silently cost-track as $0 — exactly
what test_opus_is_priced now guards).
This commit is contained in:
Renn F
2026-07-25 00:41:13 +02:00
parent 9b407d764d
commit 3c87596685
17 changed files with 29 additions and 26 deletions
@@ -33,9 +33,9 @@ const {
} = vi.hoisted(() => ({
catalog: vi.fn(async () => [
{
model_name: "claude-opus-4-8",
model_name: "claude-opus-5",
provider_type: "anthropic",
display_name: "Claude Opus 4.8",
display_name: "Claude Opus 5",
},
{
model_name: "grok-build-0.1",
@@ -719,14 +719,14 @@ describe("AIRoutingCard", () => {
const devLow = screen.getByTestId("complexity-select-developer-low");
fireEvent.click(
await within(devLow).findByRole("option", { name: "Claude Opus 4.8" }),
await within(devLow).findByRole("option", { name: "Claude Opus 5" }),
);
await waitFor(() =>
expect(setComplexityOverride).toHaveBeenCalledWith({
role: "developer",
complexity: "low",
model_name: "claude-opus-4-8",
model_name: "claude-opus-5",
}),
);
});
@@ -764,7 +764,7 @@ describe("AIRoutingCard", () => {
const devLow = screen.getByTestId("complexity-select-developer-low");
fireEvent.click(
await within(devLow).findByRole("option", { name: "Claude Opus 4.8" }),
await within(devLow).findByRole("option", { name: "Claude Opus 5" }),
);
await waitFor(() => expect(setComplexityOverride).toHaveBeenCalled());
+1 -1
View File
@@ -105,7 +105,7 @@ export const DEMO_TEAM_USAGE: TeamUsageRow[] = (
export const DEMO_MODEL_USAGE: ModelUsageSlice[] = (
[
["claude-opus-4-8", 42.1],
["claude-opus-5", 42.1],
["glm-5.2:cloud", 16.8],
["grok-build", 7.64],
] as Array<[string, number]>