Dialectic Profiling (Cognitive Deriver)
Myrm replaces brittle regex-based preference extraction with an async Cognitive Deriver: after a conversation ends, a background LLM pass performs dialectic reasoning over the exchange and writes structured profile entries into memory.What gets inferred
Evidence-backed only: if the model cannot cite clear signals, fields stay empty (anti-hallucination).
How it works (runtime)
- Extraction —
MemoryExtractorprompts include a dialectic section; conclusions land asmemory_type="profile"with high confidence when supported. - Deriver cycle —
cognitive/deriver.pyruns async dialectic reasoning on recent messages and updates vector + graph evidence.- Token-Aware Sliding Window: Automatically limits input messages to ~16,000 characters before sending to the LLM to prevent OOM errors and save budget.
- Dual-Write Degradation: Securely dual-writes to GraphStore and SemanticMemory; if the graph backend fails or is disabled, gracefully degrades to SemanticMemory without losing data.
- Taste Summary —
compile_taste_summaryconsolidates active semantic/profile rows into a fast-read summary for the system prompt. - Injection —
MemoryContextMiddlewareinjects taste summary before each turn (no extra tool round-trip vs Honcho-stylehoncho_contextcalls). - SSE Noise Reduction — UI only notifies you when a disruptive change (contradict/supersede) occurs; standard preferences are extracted entirely silently in the background.
- GUI —
TasteSummaryCardshows badges; users can edit or remove inferred traits in the Memory Command Center.
vs Honcho / Mem0-style SaaS
Related docs
- Memory System — 8 memory types, retrieval, forgetting
- Product Architecture — harness vs server vs UI layers
MEMORY_ADVANTAGE.md (§ vs Honcho / Mem0).