Skip to main content

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)

  1. ExtractionMemoryExtractor prompts include a dialectic section; conclusions land as memory_type="profile" with high confidence when supported.
  2. Deriver cyclecognitive/deriver.py runs 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.
  3. Taste Summarycompile_taste_summary consolidates active semantic/profile rows into a fast-read summary for the system prompt.
  4. InjectionMemoryContextMiddleware injects taste summary before each turn (no extra tool round-trip vs Honcho-style honcho_context calls).
  5. SSE Noise Reduction — UI only notifies you when a disruptive change (contradict/supersede) occurs; standard preferences are extracted entirely silently in the background.
  6. GUITasteSummaryCard shows badges; users can edit or remove inferred traits in the Memory Command Center.

vs Honcho / Mem0-style SaaS

For competitive positioning detail, see internal materials MEMORY_ADVANTAGE.md (§ vs Honcho / Mem0).