yau-plant-assistant/api
Claude 76af3156fa Serve the operator page and /ask from one origin
api.yokogawa.tech has a public A record but no pinpoint record on the DC, so
it does not resolve from inside the VNet at all. The browser called it by
hostname, which means an operator on cicore1 would have loaded the page and
had every question fail on DNS - the exact gap Phase 7's gate exists to catch,
and one an engineer's laptop cannot see.

Caddy now routes /ask under ai.yokogawa.tech to ai-api, inside a route block
so import authelia still runs first: forward_auth sorts after handle in the
default directive order, and outside a route the handles would be terminal and
the gate would never run. Only /ask is routed - the Phase 9 publisher rule is
scoped to api.yokogawa.tech and a wider route here would leave it inert.

Also fixes the fallback it replaces. The build arg defaults to "", and
`?? "https://api.yokogawa.tech"` does not catch an empty string, so the
documented real-deployment build resolved the API base to "" and posted /ask
at ai-web, which 404s it. verify.sh and deploy.sh now check both the route and
whether the built bundle carries the hostname.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 14:48:22 +10:00
..
tests Pin the site timezone on every Cube query 2026-08-21 15:23:27 +10:00
tools Add NO_LLM_STUB: the whole chain, working, without a model 2026-08-21 15:24:25 +10:00
agent.py Add NO_LLM_STUB: the whole chain, working, without a model 2026-08-21 15:24:25 +10:00
app_healthcheck.py Scaffold the WRPS plant operations assistant repository 2026-08-20 13:56:32 +10:00
classifier.py Scaffold the WRPS plant operations assistant repository 2026-08-20 13:56:32 +10:00
config.py Add NO_LLM_STUB: the whole chain, working, without a model 2026-08-21 15:24:25 +10:00
contracts.py Add NO_LLM_STUB: the whole chain, working, without a model 2026-08-21 15:24:25 +10:00
Dockerfile Scaffold the WRPS plant operations assistant repository 2026-08-20 13:56:32 +10:00
guardrails.py Pin the site timezone on every Cube query 2026-08-21 15:23:27 +10:00
main.py Serve the operator page and /ask from one origin 2026-08-27 14:48:22 +10:00
requirements.txt Scaffold the WRPS plant operations assistant repository 2026-08-20 13:56:32 +10:00
stub.py Add NO_LLM_STUB: the whole chain, working, without a model 2026-08-21 15:24:25 +10:00