| # | Bug | Fix |
|---|---|---|
| 1 | zero.yaml workflow_type: monitor | → expert |
| 2 | active_thread stuck across sessions (reset 401) | JWT auth on reset + NO_THREAD_SKILLS set |
| 3 | Router model gemma4:e4b (Ollama local) | → openai/gpt-5.4-mini |
| 4 | ChatRouter trapped in previous skill for 300s | LLM overrides thread at conf≥0.70 |
| 5 | PlannerArchetype travel fields in meal-planning | Skill-scoped constraint checks |
| 6 | CoachArchetype.generate_tall_model_response was a stub | Now actually calls Kimi K2.6 |
| 7 | REQUEST_BUDGET_S = 8s (Kimi needs 15-30s) | → 90s |
| 8 | Circuit breaker threshold = 3 | → 10, cooldown 120s |
| 9 | honcho + vector_memory blocking 25s | Background daemon threads |
| 10 | OLLAMA_BASE_URL masked OpenRouter detection | Only check OLLAMA_URL |
| 11 | ActionArchetype extract_params 404 | Use OpenRouter /chat/completions with GPT-5.4 Mini |
| 12 | Entity extraction reading non-existent messages table | → recent_messages |
| 13 | Kimi K2.6 reasoning leaking into responses | Don't use reasoning field as fallback |
| 14 | Name extractor grabs child names (Hi Lily!) | Guard: only extract if user explicitly introduces themselves |
| 15 | Reminder dates show raw ISO timestamps | Natural language: "tomorrow at 3pm" |
| Feature | Description |
|---|---|
| DeepSeek V4 Flash | Light conversation fast path (1-2s). Greetings/acks routed here instead of Kimi K2.6 (15-30s). Opus 4.8-written warmth prompt with 10 few-shot examples. |
| 3-Tier Profile Injection | T1: entity facts (always) · T2: psych constants (always if available) · T3: Opus-tagged inferences (skill-filtered). Hard cap 2500 chars. |
| Vector Memory → OpenAI | text-embedding-3-small (1536-dim, direct OpenAI API) replacing all-minilm via Ollama (was silently failing) |
| EntityExtractor | GPT-5.4 Mini batch at session end. Extracts: children, pets, health context, schedule events, specific barrier values, preferences. |
| Intelligent Profile Router | get_inferences_for_skill() filters Opus 4.8-tagged inferences by skill_domain. No static maps. |
| Social Enrichment (stub) | Apify Instagram actor wired. Schema ready for LinkedIn/Instagram/Twitter. Needs username at onboarding. |
| Rhythm Engine cron | Morning brief (8am) + evening closeout (8pm) via Hetzner crontab. |
| Hermes SOUL.md v2 | Oi's backstory, anti-sycophancy rules (8 hard rules), warmth calibration (7 rules), opinion-holding, 4 relationship modes. Written/deployed to Hetzner. |
| deep-inference-v6.txt | Opus 4.8 rewrite: 467 lines, 11 layers, 9 frameworks (Chase Hughes/Enneagram/DISC/OCEAN/Attachment/Maslow/TTM/Bowen/Hofstede), 30-50 inferences, cross-domain tags. |
| Universal health referral | All archetypes: when health keywords detected in user message, inline REMINDER injected to force professional referral. |
| Child safety guard | Kimi K2.6 explicitly prohibited from suggesting unsafe child activities, phone-while-driving, fabricating medical facts. |
| LIGHT_CONV_MODEL env var | Configurable light conversation model. Default: deepseek/deepseek-v4-flash. |
| Layer | Model | Via | Latency | Where |
|---|---|---|---|---|
| Hermes Gateway | moonshotai/kimi-k2.6 | OpenRouter | 15-30s | Inside Hermes (SOUL.md persona) |
| Intent Triage / Router | openai/gpt-5.4-mini | OpenRouter | ~700ms | Inside OiMy engine |
| Light Conversation | deepseek/deepseek-v4-flash | OpenRouter | 1-2s | Inside OiMy engine (NOT Hermes) — bypasses archetypes entirely |
| CoachArchetype | moonshotai/kimi-k2.6 | OpenRouter | 15-30s | Inside OiMy engine |
| ExpertArchetype | moonshotai/kimi-k2.6 | OpenRouter | 15-30s | Inside OiMy engine (mandatory referral rule) |
| PlannerArchetype | moonshotai/kimi-k2.6 | OpenRouter | 15-30s | Inside OiMy engine |
| ActionArchetype | None / GPT-5.4 Mini (param extraction) | OpenRouter | <1s / 1s | Inside OiMy engine — deterministic first |
| Deep Profile Inference | anthropic/claude-opus-4-8 | OpenRouter | 30-60s async | Inside OiMy engine — once per user |
| Entity Extraction | openai/gpt-5.4-mini | OpenRouter | ~2s batch | Inside OiMy engine — session end |
| Vector Embeddings | text-embedding-3-small | OpenAI direct | ~200ms | Inside OiMy engine |
| QA Evaluator (testing) | gpt-5.5 | OpenAI direct | — | Test harness only |
| Simulated User (testing) | x-ai/grok-4.3 | OpenRouter | — | Test harness only |
| Claude Pattern | Applied in OiMy |
|---|---|
XML hard-rule blocks <critical_child_safety_instructions> | Implemented as inline [REMINDER: ...] blocks injected into user message. Next iteration: convert to XML tags which Kimi K2.6 reasoning respects more strongly. |
| "Saying less is safer when risky/off" | Added to CoachArchetype: 150 word max, one focused idea beats bullet list |
| Positive + negative examples together | Opus 4.8 wrote 10 BAD/GOOD pairs for DeepSeek V4 Flash warmth prompt |
| Explicit refusal escalation chain | ExpertArchetype: emergency → safety gate → high risk → low risk, each with distinct response pattern |
| Step-by-step reasoning encouraged | Kimi K2.6 extended reasoning already provides this natively |
| Product identity separation (who Claude is vs what it can do) | Hermes SOUL.md separates Oi's identity (backstory, values) from capabilities (skills list) |
Recommendation: Convert Kimi K2.6's safety rules to XML format (<hard_rules>) — extended reasoning models respect named XML sections more reliably than plain-text paragraphs buried in long prompts.
| Feature | Status | Notes |
|---|---|---|
| Intent triage (GPT-5.4 Mini) | ✅ Live | 83 skills, 17KB cached prompt |
| Hermes on Kimi K2.6 | ✅ Live | Hetzner + @chittiemma1_bot |
| DeepSeek V4 Flash light path | ✅ Live | Opus 4.8 warmth prompt, configurable via LIGHT_CONV_MODEL |
| CoachArchetype → Kimi K2.6 | ✅ Live | 150 word max, direct-first, context injection |
| ExpertArchetype → Kimi K2.6 | ✅ Live | Mandatory professional referral rule |
| deep-inference-v6.txt (Opus 4.8) | ✅ Live | 467 lines, 11 layers, 9 frameworks |
| 3-Tier Profile Router | ✅ Live | get_inferences_for_skill() + skill_domains |
| Vector memory (OpenAI embeddings) | ✅ Live | text-embedding-3-small, 1536-dim |
| EntityExtractor | ✅ Live | GPT-5.4 Mini batch, children/pets/health/barriers |
| Rhythm Engine cron | ✅ Live | 8am + 8pm Hetzner crontab |
| Honcho memory | ⚠️ Key set | Workspace needs creation at app.honcho.dev |
| Social enrichment (Instagram) | ⚠️ Stub | Apify actor wired; needs username at onboarding |
| NPS 7-8 consistently | ⚠️ In progress | Peak 7, avg ~5. Safety flags still inconsistent. |
| XML safety tags for Kimi K2.6 | 🔵 Next | Convert inline [REMINDER] to XML hard_rules blocks |
| Expert RAG (vector KB) | 🔵 Next | OT library · symptom DB · speech activities |
| More skills → Kimi K2.6 | 🔵 Next | Each template skill → coach = +0.3-0.5 NPS |