Cairn v1.5.0 — the learning brain
Cairn v1.5.0 — the learning brain
This release makes the coaching brain reactive and accountable: every read stays truthful as your data changes, the brain checks whether its own cross-domain moves actually worked, and the coaching agents can look up your live data mid-thought.
The brain closes its loops
- Lab loop: a meal-plan or training change applied while a lab-marker directive is active now records a falsifiable "this marker should move toward optimal by the next draw" expectation. Your next lab ingest verdicts it, and decisive outcomes become a humbly-worded learned per-marker response ("last time, the fiber-forward tilt coincided with ApoB falling"). One lab draw counts as exactly one evidence unit, however many plan re-drafts anchored it.
- Felt signals: recurring Brief overrides (your "rough night" Mondays), persistent check-in patterns, and how the last calorie-target change actually felt all become quiet learned context. A thumbs-downed insight theme never resurfaces.
- Learned cross-domain models: body-measurement trends feed the intake step (capped to hold-or-ease — measurement evidence can never deepen a deficit); a personal endurance↔strength interference read learns whether your bigger run weeks flatten your leg days; short-sleep nights get a calm fueling context line, in a learned voice once your own correlation is derivable.
Nothing asserts a stale story
- The Brief's fuel line is now pace-aware — "protein's light" only appears when you're genuinely behind for the hour, and a meal logged after the read heals the prose in place. Food and meal-plan writes invalidate the cached Brief like every other signal.
- The weekly read carries a drift signature: when your week moves underneath it, it defangs itself ("Moved on") and offers a one-tap re-read instead of asserting last Sunday's advice.
- A new material nutrition directive proposes a meal-plan regeneration through the autonomy tiers instead of waiting for the weekly slot.
Depth on demand
- The bounded coach-read loop (server-owned, read-only, budget-capped) now serves every interactive coaching op — day read, session suggest, nutrition check-in, health review, insights, health synthesis — and is streaming-aware: agents can query your data mid-reasoning and still stream their final answer token-by-token.
- Chat gained the same depth: the coach quietly checks your history before answering ("Reviewing your history…"), with malformed protocol turns cleanly re-asked, never leaked into the bubble.
Daily session composition (Stages 2–4)
- A deterministic, reason-coded decision envelope for each training day (what's due, what's excluded, caps) with a stable policy version and input fingerprint.
- Bounded agent composition inside that envelope — at most one novel movement, refused entirely when injury exclusions are active.
- Outcome reconciliation: suggested-vs-actual after each session, adherence-neutral with life-context confounders, feeding the progression brain.
Capture feels alive
- Chat food logs now show live enrichment progress and upgrade in place with the computed calories and protein, refreshing the fuel strip — including after a reload.
Also
- Adaptive chat lane routing with per-run model/reasoning bindings, identity-keyed directive engine with whole-panel correlation and scheduled rechecks, persistent adaptive daily sessions, a timed-set stopwatch, and a calmer Today.
- Schema migrations apply automatically on first boot after the update — back up first (
/api/export), as always. Update is otherwise a pull-and-restart.