Two small things the merge review of #962 (PRs #964/#963) found and deliberately left alone —
neither is worth a behaviour change on its own, both are worth correcting when the files are next
open.
1. url_configured is parsed by the shell and read by nothing
GET /platform/v1/llm/local-runtime returns {state, url_configured}. The web parses
url_configured into LocalRuntimeStatus (services/web/src/lib/contracts.ts:41) and then no
component ever reads it — every decision is made from state alone.
It is harmless because it is derivable: url_configured is false exactly when state is
absent. But that is also the argument that it carries no information for the client, and a
field on a young contract with no consumer either grows one or should be understood as
core-side diagnostics rather than part of the client contract. Worth a decision either way
before anything else starts depending on it.
2. The chart guard's comment names the wrong helper
infra/k8s/epicurus/templates/_helpers.tpl:169 says the hosted-alias guard mirrors
providers.is_hosted. It actually mirrors providers.resolve, and resolve is the correct
thing to mirror — the question the guard asks is "does this model id route to the local
runtime", which is exactly what resolve answers.
The two differ on a malformed id: claude/ (a known prefix with an empty model part) passes the
chart guard, while is_hosted("claude/") is False. So the code is right and only the comment
is wrong — but the comment is what the next person will trust when they change the list.
Comment-only fix; no chart version bump needed if it rides along with another chart change.
Two small things the merge review of #962 (PRs #964/#963) found and deliberately left alone —
neither is worth a behaviour change on its own, both are worth correcting when the files are next
open.
1.
url_configuredis parsed by the shell and read by nothingGET /platform/v1/llm/local-runtimereturns{state, url_configured}. The web parsesurl_configuredintoLocalRuntimeStatus(services/web/src/lib/contracts.ts:41) and then nocomponent ever reads it — every decision is made from
statealone.It is harmless because it is derivable:
url_configuredisfalseexactly whenstateisabsent. But that is also the argument that it carries no information for the client, and afield on a young contract with no consumer either grows one or should be understood as
core-side diagnostics rather than part of the client contract. Worth a decision either way
before anything else starts depending on it.
2. The chart guard's comment names the wrong helper
infra/k8s/epicurus/templates/_helpers.tpl:169says the hosted-alias guard mirrorsproviders.is_hosted. It actually mirrorsproviders.resolve, andresolveis the correctthing to mirror — the question the guard asks is "does this model id route to the local
runtime", which is exactly what
resolveanswers.The two differ on a malformed id:
claude/(a known prefix with an empty model part) passes thechart guard, while
is_hosted("claude/")isFalse. So the code is right and only the commentis wrong — but the comment is what the next person will trust when they change the list.
Comment-only fix; no chart version bump needed if it rides along with another chart change.