How a family companion now understands not just what you're struggling with, but how you engage with change β and surfaces the gap between intention and action.
Four targeted changes. All additive β null profile fields fall through to existing logic unchanged.
chat_light path β which handles ~80% of all conversations β returned early before the tick fired, meaning H3.0 would have collected zero data in production. Fixed before any sessions ran: tick() now fires in the chat_light path before the early return. Verified via direct DB inspection (msg_count increments correctly).Every message path β with H3.0 steps highlighted in green
Eight distinct layers β each purpose-built. H3.0 adds two new ones and modifies two existing ones.
When h30_level is set, technique scoring is adjusted for the user's engagement style. Null level = prior logic unchanged.
One message traced through every layer β including the new H3.0 steps
Every model in the system β what it does, how fast, and why
| Model | Role | Latency | API | Cost |
|---|---|---|---|---|
| gpt-5.4-mini | Intent router + entity extraction | ~180ms | OpenRouter | Low |
| grok-4.3 Companion | Primary companion + coach β full context, BCT-gated, H3.0-aware | 2β8s | OpenRouter | Medium |
| claude-haiku-4-5 | Companion fallback when circuit breaker opens | 1β4s | OpenRouter | Low |
| grok-4.3 H3.0 | Quadrant + level inference β fires every 10 messages per user | 3β8s | OpenRouter | Low (cadence) |
| claude-opus-4.8 | Deep inference (11-layer profile, once per user) + NPS eval user simulator | 60β120s | OpenRouter | High (once) |
| kimi-k2.6 | Tall model: complex coaching, BCT, medical, multi-constraint planning | 15β30s | OpenRouter | Medium |
| deepseek-chat | DeepSeek V3 β alternate companion path (direct API) | 1β4s | api.deepseek.com | Very Low |
| gpt-5.5 | QA evaluator for NPS eval suite (scores per-turn on 5 dimensions) | 3β10s | OpenAI | Medium (eval only) |
From early beta to post-H3.0 β each step tied to a specific architecture change