> **Hinweis:** Der zugehörige Subagent-Transcript lieferte keine Assistant-Antwort (nur User-Prompt). Dieser Report wurde **direkt aus** `~/.hermes/`, Cursor/Codex-Skills und den fertigen Schwester-Reports rekonstruiert (Stand: Juli 2026). # Memory & Knowledge Architecture ## Three-tier memory model Samuel's stack deliberately **splits memory by purpose** instead of one vector DB: | Tier | Mechanism | What it stores | Authority | |------|-----------|----------------|-----------| | **A. Course / project files** | `~/TH-Mannheim/`, project repos, HAI markdown | Durable learning & shipping truth | **Highest** for uni + code | | **B. Knowledge Graph MCP** | LightRAG-style stores via `knowledge-graph` MCP | Session ingestion, thoughts, cross-project links | **Exploratory / recall** | | **C. Hermes profile memory** | `memory:` in config + `memories/`, `global_memories/` | Short user profile snippets, nudges | **Low caps** (5k/2.5k chars) | Plus **intake register** (voice → structured records) and **Plaud/hai-intake MCP** for packet-oriented context. ## Hermes built-in memory (config) ```yaml memory_enabled: true user_profile_enabled: true memory_char_limit: 5000 user_char_limit: 2500 ``` Design signal: Hermes memory is a **lightweight personalization layer**, not the cognitive substrate. Heavy context is expected from **files + MCP**. `global_memories/` holds shared `USER.md` / `MEMORY.md` style manifests — copy-only backups exist, suggesting careful migration history. ## Knowledge Graph MCP (Cursor) Registered in `~/.cursor/mcp.json` as `knowledge-graph`. Used when Samuel/context is unclear — query before guessing (per cursor workflow rule). Ingestion paths include agent sessions, folders, prompts DB (per kg skill docs). **Strength:** cross-session **associative recall** without stuffing prompts. **Risk:** graph quality depends on ingestion hygiene; stale nodes if not curated. ## Intake & voice memory `intake-router-hermes` maintains a **routing register** with structured fields (topics, projects, urgency, confidence). `get_context_package` style tools bridge Plaud transcripts to agents. This is **event-sourced personal memory** — optimized for "what did I say about project X?" rather than embedding search alone. ## Uni learning rule (critical) From `AGENT_DIRECTORY.md`: > Source of Truth ist `~/TH-Mannheim/`, **nicht Profilmemory**. Fach agents must not substitute chat memory for coursework. This prevents **confident hallucination of lecture content** — a common failure mode in student agent setups. ## ADHS profile as meta-memory `ADHS_LEARNING_PROFILE.md` acts as **procedural memory** — how to teach Samuel — loaded fresh each message. It is not factual storage but strongly shapes retrieval prompts and session shape. ## Gaps vs. GBrain / OneBrain indie pattern Indie "second brain" setups often run **overnight enrichment** (66 cron jobs in GBrain lore). Samuel has cron/kanban infrastructure but **less autonomous memory consolidation** while asleep. ## Strengths - Clear **authority hierarchy** (course folders > register > KG > profile memory). - MCP makes memory **tool-addressable** from Cursor and Hermes. - Intake pipeline captures **pre-artifact thoughts** that would otherwise die in voice notes. ## Weaknesses 1. **Synchronization** — same fact may exist in KG, register, and a project README with no single merge. 2. **No unified query UI** — Samuel must know *which* tier to query. 3. **Profile memory caps** can truncate nuance unless flushed to files (depends on discipline). 4. **Checkpointing disabled** in HAI flows — memory of *in-progress reasoning* lives in chat logs, not resumable state machines. ## Recommendations 1. Nightly **register → KG** promotion job for high-confidence intake rows only. 2. Tag KG nodes with **authority level** metadata (course / project / thought). 3. Weekly **memory audit** skill: find contradictions between USER.md and project STATE files. 4. Borrow **completion + consolidation cron** from indie setups — one job, not 66.