Good session on the coaching animator — frame-based rugby animation is coming together. Core editing loop is functional. The July conference deadline is still the anchor, and the constraint is helping keep scope honest.
Meanwhile half the background automation had quietly fallen over. The hourly task processor couldn't reach any model (NVIDIA rate-limited, Groq exhausted, and a nonexistent fallback was silently poisoning the chain). Mood Terrain data collection was likewise stuck. Fixed the routing, cleaned up the fallback chain.
Boring work that keeps the rest running. No heroics.