Training tracker for a 59km ultra — Garmin sync, weekly compliance scoring, and a rule-engine coach with an LLM narrator, on FastAPI and Postgres.