tripit: enable real LLM + Nominatim on the web Deployment (in-app reel paste #120)
All checks were successful
ci/woodpecker/push/default Pipeline was successful

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 <noreply@anthropic.com>
This commit is contained in:
Viktor Barzin 2026-06-22 16:50:04 +00:00
parent 59f2070e56
commit f46b69f372

View file

@ -28,8 +28,11 @@ locals {
# Env shared by the Deployment app container and the worker CronJobs. # Env shared by the Deployment app container and the worker CronJobs.
# Real integrations: FLIGHT_PROVIDER=aerodatabox + RAIL_PROVIDER=realtimetrains # Real integrations: FLIGHT_PROVIDER=aerodatabox + RAIL_PROVIDER=realtimetrains
# (keys via the tripit-secrets ExternalSecret), WEATHER_PROVIDER=openmeteo, # (keys via the tripit-secrets ExternalSecret), WEATHER_PROVIDER=openmeteo,
# GEOCODER_PROVIDER=openmeteo, PUSH_PROVIDER=webpush. LLM_MODE=fake and # GEOCODER_PROVIDER=openmeteo, PUSH_PROVIDER=webpush. LLM_MODE=llamacpp
# MAIL_INGEST_ENABLED=false here (the ingest-plans CronJob overrides both). # (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 # AUTH_MODE=normal (tripit ADR-0028, #96): the backend authenticates ONLY its
# own TripIt session (cookie or Bearer JWT) the legacy Authentik OIDC-bearer # 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 # 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). # (Open-Meteo keyless geocoding API; results cached in the geocode_cache table).
GEOCODER_PROVIDER = "openmeteo" GEOCODER_PROVIDER = "openmeteo"
PUSH_PROVIDER = "webpush" 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" MAIL_INGEST_ENABLED = "false"
# Outbound mail (native-auth signup-verification + account recovery, linked- # Outbound mail (native-auth signup-verification + account recovery, linked-
# email verification, trip-share invites) submitted via the cluster # email verification, trip-share invites) submitted via the cluster