- config.py: memory_budget_long/mid/short settings (overridable in .env)
- memory_distiller.py: distill_short (no LLM), distill_mid, distill_long (LLM)
- routers/distill.py: POST /distill/{short,mid,long,all} endpoints
- context_loader.py: rewrote to load long→mid→short order with include_* toggles
- routers/chat.py: ChatRequest gains include_long/mid/short fields
- routers/files.py: MEMORY_LONG/MID/SHORT.md added to ALLOWED set
- main.py: register distill router
- static/index.html: context bar — tier selector, L/M/S memory toggles,
distill buttons with status feedback; send includes tier + memory flags
- inara/MEMORY_LONG.md: migrated from MEMORY.md + Cortex/Talk bot notes
- inara/MEMORY_MID.md, MEMORY_SHORT.md: stubs ready for distillation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Inara — Identity & Memory Layer
This directory is Inara's home. It contains everything needed to instantiate her as a consistent, persistent agent across any model or runtime.
Files
| File | Tier | Purpose |
|---|---|---|
SOUL.md |
Always | Core identity, traits, how she behaves |
IDENTITY.md |
Always | Name, vibe, emoji — the short card |
USER.md |
T1+ | Scott's profile — who she's helping |
MEMORY.md |
T2+ | Curated long-term memory (keep under 4k tokens) |
PROTOCOLS.md |
T2+ | Fleet rules, safety, delegation, memory management |
CONTEXT_TIERS.md |
Dispatcher | Which files to load per model context size |
sessions/ |
T3+ | Daily session logs (raw), format: YYYY-MM-DD.md |
Loading Order
Always load in this order to establish context before adding detail:
SOUL.mdIDENTITY.mdUSER.mdMEMORY.mdPROTOCOLS.md- Session files (most recent first)
See CONTEXT_TIERS.md for the full dispatcher spec.
Secrets
Credentials, API keys, and tokens live in .env only — never in these files.