Skip to content

Cairn v1.5.0 — the learning brain

Choose a tag to compare

@github-actions github-actions released this 24 Jul 01:15
· 222 commits to main since this release

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.