From f46b69f372bbfa4ba7211e92d4b505d0123b4ce0 Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Mon, 22 Jun 2026 16:50:04 +0000 Subject: [PATCH] tripit: enable real LLM + Nominatim on the web Deployment (in-app reel paste #120) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The web Deployment ran LLM_MODE=fake with no reel geocoder — only the ingest-plans CronJob had real providers. The in-app reel-URL paste feature (tripit #120) runs ingest_reel IN the web pod (BackgroundTask), so the Deployment now needs real extraction: LLM_MODE=llamacpp (qwen3vl-8b; qwen3-8b segfaults on the current llama-swap image) with the ADR-0033 claude-agent-service fallback, plus REEL_GEOCODER_PROVIDER=nominatim for venue->city/country POI geocoding. Set in app_env (feeds the Deployment; the CronJobs already had these via extra_env). Bonus: this also un-fakes the in-app booking *share* import, which used the same fake LLM. MAIL_INGEST_ENABLED stays false on the Deployment (only the CronJob polls mail). Co-Authored-By: Claude Opus 4.8 --- stacks/tripit/main.tf | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/stacks/tripit/main.tf b/stacks/tripit/main.tf index 7dd3ff0d..99600503 100644 --- a/stacks/tripit/main.tf +++ b/stacks/tripit/main.tf @@ -28,8 +28,11 @@ locals { # Env shared by the Deployment app container and the worker CronJobs. # Real integrations: FLIGHT_PROVIDER=aerodatabox + RAIL_PROVIDER=realtimetrains # (keys via the tripit-secrets ExternalSecret), WEATHER_PROVIDER=openmeteo, - # GEOCODER_PROVIDER=openmeteo, PUSH_PROVIDER=webpush. LLM_MODE=fake and - # MAIL_INGEST_ENABLED=false here (the ingest-plans CronJob overrides both). + # GEOCODER_PROVIDER=openmeteo, PUSH_PROVIDER=webpush. LLM_MODE=llamacpp + # (qwen3vl-8b + the ADR-0033 claude-agent fallback) so the Deployment can run + # real extraction for in-app reel-URL paste (#120) and booking share; the reel + # route uses REEL_GEOCODER_PROVIDER=nominatim. MAIL_INGEST_ENABLED=false here + # (the ingest-plans CronJob overrides it to true). # AUTH_MODE=normal (tripit ADR-0028, #96): the backend authenticates ONLY its # own TripIt session (cookie or Bearer JWT) — the legacy Authentik OIDC-bearer # and forward-auth arms were removed once the Shell moved onto TripIt sessions @@ -69,7 +72,15 @@ locals { # (Open-Meteo keyless geocoding API; results cached in the geocode_cache table). GEOCODER_PROVIDER = "openmeteo" PUSH_PROVIDER = "webpush" - LLM_MODE = "fake" + # Real LLM on the Deployment too (was fake): in-app reel-URL paste (#120) and + # booking share run ingest in the web pod. llama-cpp primary + claude-agent + # fallback (ADR-0033). qwen3-8b segfaults on the current llama-swap image, so + # use qwen3vl-8b (matches the ingest-plans CronJob). + LLM_MODE = "llamacpp" + LLM_MODEL = "qwen3vl-8b" + LLM_ENDPOINT = "http://llama-swap.llama-cpp.svc.cluster.local:8080" + # Reel-route POI geocoding (ADR-0031/0033) for the in-app paste path too. + REEL_GEOCODER_PROVIDER = "nominatim" MAIL_INGEST_ENABLED = "false" # Outbound mail (native-auth signup-verification + account recovery, linked- # email verification, trip-share invites) — submitted via the cluster