Conversation
yanaSelin
force-pushed
the
EPMCDME-14083
branch
from
September 8, 2026 14:30
75df177 to
8f7b423
Compare
Owner
|
[AUTO_CLOSE_WARNING] ⏰ This pull request has had no activity for 7 days (last activity: 2026-09-11). It will be automatically closed no earlier than 2026-09-25 (UTC) (~6 more days). Any activity from anyone — a comment, a push, a review, reopening — restarts the countdown from that moment. This warning will be deleted automatically once that happens. |
yanaSelin
force-pushed
the
EPMCDME-14083
branch
2 times, most recently
from
September 22, 2026 15:14
8ebe043 to
5a626d5
Compare
… bundling (EPMCDME-14083) Squashed history of this branch (21 commits) into one for a clean rebase onto main. - Extract Switchyard/LiteLLM routing headers into a shared domain layer (routing-headers.mjs), injected onto response bodies by a new proxy plugin and read back by the analytics cost engine and the Claude statusline. - Add classifier (routing LLM) cost reporting and a Routing KPI section in the analytics report. - Add Bedrock regional-endpoint pricing detection/premium (bedrock-pricing.mjs). - Force a concrete haiku deployment for Claude Code's own background requests (title-gen, etc.) instead of deferring to the upstream classifier, which sometimes misrouted them to a pricier tier. - Convert the Claude statusline to TypeScript and bundle it with esbuild instead of deploying loose .mjs sources; deploy the bundled artifact only. - Preserve explicit --model/env model choices during subagent-default-tier resolution; fix the stale AgentCLI test this depends on to expect the intended 3-way CODEMIE_MODEL_SOURCE value. - Resolve local-dev SSO API base without the code-assistant-api prefix. Refs: EPMCDME-14083
yanaSelin
force-pushed
the
EPMCDME-14083
branch
from
September 22, 2026 15:24
5a626d5 to
54bbc33
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Switchyard/LiteLLM routing awareness across the Claude plugin: the statusline shows what a
router alias actually dispatched to,
codemie models listdistinguishes router aliases fromconcrete deployments, and the analytics report prices and visualizes routing/classifier cost per
turn and per session. Also converts the Claude statusline to a bundled TypeScript artifact and
tightens explicit-model-choice handling across the CLI.
Changes
Statusline
.mjsscript to TypeScript with normal projectimports, then bundle it into a single esbuild artifact; deploy only the bundled artifact
(drop shim-file deployment, exclude
.tssources from the Claude plugin asset copy).declared LiteLLM auto-router (
isRouterCatalogEntry), show the actual backend model the lastturn dispatched to instead of just the alias name.
the same transcript-based cost accounting the analytics report uses.
Model list & resolution
codemie models list: add aTYPEcolumn (router vs. model) and widen theIDcolumn solong free-form router alias names no longer truncate.
codemie-codex: accept an explicitly requested--model/env model even when it is not listedin the live catalog (router aliases resolve per request and are not always published as
deployments), gated to an explicit choice via a new
CODEMIE_MODEL_SOURCE(cli/env/default)marker set by
AgentCLI; also recognizegpt-smart-router/gpt-fast-router-style aliases asCodex-compatible.
provisioned tier, so a router alias assigned to
CODEMIE_HAIKU_MODEL/CODEMIE_OPUS_MODELno longer gets silently overridden for subagents declaring
model: inherit.fetchCodeMieLlmModels) instead of ID-only, so router entriescarry their
is_router/litellm_router.is_routerflag through to both the CLI model list andthe statusline's routing signal.
Analytics (cost & routing report)
cost), and a routing-tier chart on the session page; classifier cost/tokens roll into session
and summary totals.
bedrock-pricing.mjs: detects Amazon Bedrock's regional/cross-region-inference pricingpremium from the raw backend model id and applies it to the rate card.
(
bedrock/us.anthropic.claude-sonnet-5, no version suffix), which previously slipped throughunnormalized and showed up as a raw deployment path next to a clean model name in the same
session's model breakdown.
background-request-normalizerproxy plugin: force a concrete haiku deployment for ClaudeCode's own background requests (e.g. auto-title generation) instead of deferring to the
upstream classifier, which sometimes misrouted these tiny calls to the expensive tier — one
observed case billed a title-gen call on par with the session's most expensive real turn.
Other
code-assistant-apiprefix.Testing
npm run typechecknpm run lintverified statusline "routed to" widget and
codemie models listTYPE column locally.Checklist
npm run ci)mainEPMCDME-14886
EPMCDME-14887