- event_bus.py: in-process asyncio pub/sub (one Queue per SSE client) - nextcloud_talk.py: publishes nct_message/nct_response events to bus - chat.py: GET /events SSE endpoint streams Talk activity to browser - routers/files.py: whitelist-protected GET/PUT for Inara identity .md files - main.py: register files router - static/index.html: real-time Talk feed, blue badge on Sessions btn, Files modal with preview/edit toggle and Ctrl+S save 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.