From 9d5107fb4a4d2f8f23b83da3132706f86bf1069e Mon Sep 17 00:00:00 2001 From: root Date: Wed, 2 Sep 2026 16:40:13 -0500 Subject: [PATCH] auditor: alt lane (Haiku) off drained opencode onto OpenRouter PR #14 audit 2 flipped to the alt lane and hit opencode 401 CreditsError (balance drained). Alt defaults move to openrouter/anthropic/claude-haiku-4.5 (probed live through the gateway); maxTokensFor learns vendor-prefixed claude ids. Co-Authored-By: Claude Fable 5 --- auditor/checks/kimi_architect.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/auditor/checks/kimi_architect.ts b/auditor/checks/kimi_architect.ts index a202298..aa08608 100644 --- a/auditor/checks/kimi_architect.ts +++ b/auditor/checks/kimi_architect.ts @@ -77,8 +77,10 @@ const KIMI_MODEL = process.env.LH_AUDITOR_KIMI_MODEL ?? "moonshotai/kimi-k2.6"; // Override the alternation entirely with LH_AUDITOR_KIMI_MODEL // (forces one model regardless of audit count); set // LH_AUDITOR_KIMI_ALT_MODEL to the alternate. -const ALT_MODEL = process.env.LH_AUDITOR_KIMI_ALT_MODEL ?? "claude-haiku-4-5"; -const ALT_PROVIDER = process.env.LH_AUDITOR_KIMI_ALT_PROVIDER ?? "opencode"; +// 2026-09-02: opencode lane 401s (CreditsError, balance drained) — alt +// lane joins the OpenRouter sweep. Same Anthropic lineage, probed live. +const ALT_MODEL = process.env.LH_AUDITOR_KIMI_ALT_MODEL ?? "anthropic/claude-haiku-4.5"; +const ALT_PROVIDER = process.env.LH_AUDITOR_KIMI_ALT_PROVIDER ?? "openrouter"; const FORCE_DEFAULT = process.env.LH_AUDITOR_KIMI_MODEL !== undefined && process.env.LH_AUDITOR_KIMI_MODEL !== ""; function selectModel(diffLen: number, auditIndex: number = 0): { provider: string; model: string; promoted: boolean } { @@ -112,7 +114,7 @@ const MAX_TOKENS_OVERRIDE = Number(process.env.LH_AUDITOR_KIMI_MAX_TOKENS) || 0; function maxTokensFor(model: string): number { if (MAX_TOKENS_OVERRIDE > 0) return MAX_TOKENS_OVERRIDE; if (model.startsWith("claude-opus")) return 32_000; - if (model.startsWith("claude-haiku") || model.startsWith("claude-sonnet")) return 8_192; + if (model.startsWith("claude-haiku") || model.startsWith("claude-sonnet") || model.includes("/claude-haiku") || model.includes("/claude-sonnet")) return 8_192; if (model.startsWith("kimi-") || model.includes("/kimi-")) return 128_000; if (model.startsWith("gpt-5") || model.startsWith("o1") || model.startsWith("o3") || model.startsWith("o4")) return 32_000; return 16_000;