diff --git a/test/list-aliases.ts b/test/list-aliases.ts index f1cb97f..ad3ff76 100644 --- a/test/list-aliases.ts +++ b/test/list-aliases.ts @@ -18,6 +18,7 @@ * node action/test/list-aliases.ts * MATRIX_FILTER=gemini node action/test/list-aliases.ts * INCLUDE_ALL_PASSTHROUGHS=1 node action/test/list-aliases.ts + * INCLUDE_EXPENSIVE=1 node action/test/list-aliases.ts */ import { modelAliases } from "../models.ts"; @@ -29,6 +30,10 @@ function agentForSlug(slug: string): "claude" | "opencode" { // translation) is alive without re-testing every underlying model. const ROUTING_CANARIES = new Set(["openrouter/claude-sonnet", "opencode/claude-sonnet"]); +// pruned by default; opt back in with INCLUDE_EXPENSIVE=1 or MATRIX_FILTER. +// gpt-5.5-pro burns ~$2.40/run on this fixture — too expensive per-push. +const EXPENSIVE_ALIASES = new Set(["openai/gpt-pro"]); + function isPrunablePassthrough(alias: (typeof modelAliases)[number]): boolean { if (ROUTING_CANARIES.has(alias.slug)) return false; if (alias.provider === "openrouter") return true; @@ -40,10 +45,12 @@ function isPrunablePassthrough(alias: (typeof modelAliases)[number]): boolean { const filter = process.env.MATRIX_FILTER?.trim() ?? ""; const includeAllPassthroughs = process.env.INCLUDE_ALL_PASSTHROUGHS === "1"; +const includeExpensive = process.env.INCLUDE_EXPENSIVE === "1" || filter !== ""; const matrix = modelAliases .filter((alias) => (filter ? alias.slug.toLowerCase().includes(filter.toLowerCase()) : true)) .filter((alias) => includeAllPassthroughs || !isPrunablePassthrough(alias)) + .filter((alias) => includeExpensive || !EXPENSIVE_ALIASES.has(alias.slug)) .map((alias) => ({ slug: alias.slug, agent: agentForSlug(alias.slug),