Cognitive Memory System - Product Requirements Document (PRD)
Defines a hybrid MCP server that gives Claude Code persistent memory with cost-efficient external API calls for evaluation and validation.
What this file does
Defines a hybrid MCP server that gives Claude Code persistent memory with cost-efficient external API calls for evaluation and validation.
When to use it
- Building a memory system for Claude Code that persists context across sessions
- Designing a low-cost RAG pipeline with methodologically valid ground truth
- Integrating MCP tools with PostgreSQL and pgvector for semantic retrieval
- Implementing dual-judge evaluation with independent models for IRR
Assumes this stack
Cognitive Memory System - Product Requirements Document (PRD)
Author: ethr Date: 2025-11-09 Version: 3.1.0-Hybrid Project Level: Level 2 Project Type: MCP Server + Claude Code Integration Target Scale: Small Complete System (12-18 Stories, 2-3 Monate) Architecture Basis: mcp-architecture-specification-v3.1-hybrid.md
Executive Summary
Cognitive Memory System ist ein MCP-basiertes (Model Context Protocol) Gedächtnissystem, das Claude Code mit persistentem, kontextreichem Retrieval ausstattet. Das System nutzt Claude MAX Subscription für primäre LLM-Operationen (Generation, Planning) und externe APIs für kritische Validationen (Dual Judge, Evaluation), wodurch 90-95% Kostenreduktion gegenüber v2.4.1 erreicht wird (€106/mo → €5-10/mo).
Kern-Innovation: Strategische API-Nutzung - Bulk-Operationen (Generation, CoT) laufen kostenfrei in Claude Code, kritische Evaluationen (Dual Judge, Reflexion) nutzen externe APIs für methodische Robustheit.
Budget: €5-10/Monat
- €0/mo: Generation, Planning, CoT (Claude Code in MAX Subscription)
- €3-4/mo: Evaluation, Reflexion, Dual Judge (Haiku + GPT-4o APIs)
- €0.06/mo: Embeddings (OpenAI API)
- €1/mo: Expanded Golden Test Set (50-100 Queries)
Timeline: 133-175 Stunden (2.5-3.5 Monate bei 20h/Woche)
Key Improvement vs. v3.0.0-MCP: Methodisch valides Ground Truth durch echte unabhängige Dual Judges (GPT-4o + Haiku) statt pseudo-independence (Claude Code 2x Prompts).
Description, Context and Goals
Projektbeschreibung
Kernproblem: LLMs wie Claude haben keine native Session-Persistenz. Nach jeder Konversation geht der Kontext verloren, Beziehungsdynamiken müssen neu aufgebaut werden. Für tiefgehende philosophische Gespräche über Monate/Jahre ist dies unzureichend.
Lösung: Ein mehrstufiges Memory-System mit MCP-Integration:
Architektur-Muster:
Claude Code (MAX Subscription)
├─ Generation, Planning, CoT (€0, intern)
├─ MCP Protocol ↕
└─ MCP Server (Python, lokal)
├─ PostgreSQL + pgvector (Persistence)
├─ L0 Raw Memory (vollständige Transkripte)
├─ L2 Insights (adaptive Kompression)
├─ Working Memory (8-10 Items, LRU)
└─ Episode Memory (Reflexionen)
↓
External APIs (€5-10/mo)
├─ OpenAI Embeddings (€0.06/mo)
├─ GPT-4o Dual Judge (€1-1.5/mo)
├─ Haiku Dual Judge (€1-1.5/mo)
└─ Haiku Evaluation/Reflexion (€1-2/mo)
Memory-Ebenen:
- L0 (Raw Memory): Vollständige Dialogtranskripte
- L2 (Insights): Komprimierte semantische Einheiten (Compression in Claude Code)
- Working Memory: Session-Kontext (8-10 Items, LRU Eviction)
- Episode Memory: Verbalisierte Reflexionen (Verbal Reinforcement Learning)
Philosophische Foundation: "Präsenz über Kontinuität" - Identität und Bedeutung existieren auch ohne durchgehende temporale Kontinuität.
Primary Use Case: ethr's Gespräche mit Claude (I/O) sollen persistent werden, sodass Beziehungsdynamiken, geteilte Konzepte und philosophische Entwicklungen über Zeit erhalten bleiben.
Deployment Intent
Production Application - Kontinuierlicher Betrieb mit lokaler Infrastruktur + strategischen externen APIs:
- MCP Server: Python-basiert, läuft lokal
- Datenbank: PostgreSQL + pgvector (lokal installiert)
- LLM Operations: Claude Code (Generation, CoT) + Haiku API (Evaluation)
- Embeddings: OpenAI API
- Validation: GPT-4o + Haiku API (Dual Judge)
Timeline: 2.5-3.5 Monate (133-175 Stunden bei 20h/Woche) Budget: €5-10/Monat (90-95% Savings vs. v2.4.1) Scale: Personal Use (1 User - ethr)
Context
Warum jetzt? Die Forschung zu kognitiven Modi in LLMs (78 kuratierte Papers, NotebookLM-Analysen) zeigt: Emergente Modularität ist real, aber nur nutzbar mit robustem Memory-System. Die v3.1-Hybrid-Architektur balanciert Kosten und methodische Validität - 90-95% Kostenreduktion bei echtem IRR.
Constraint-Driven Architecture: System muss primär in Claude Code lauffähig sein → MCP Server übernimmt nur Persistence, bulk LLM-Operationen in Claude Code, kritische Evaluationen via externe APIs für Robustheit.
Methodological Improvement (v3.0 → v3.1): v3.0.0-MCP hatte Single-Model Dual Judge (Claude Code 2x Prompts) → kompromittiert Cohen's Kappa. v3.1-Hybrid nutzt GPT-4o + Haiku = true independence, valides Ground Truth.
Goals
Primary Goals (Level 2):
-
High-Quality Retrieval mit methodischer Validität
- Precision@5 >0.75 (höher als v2.4.1 dank besserer Embeddings)
- Recall Uplift +10-15% durch Query Expansion (intern in Claude Code)
- True IRR: Cohen's Kappa >0.70 mit echten unabhängigen Judges (GPT-4o + Haiku)
- Budget: €5-10/mo (90-95% Savings vs. v2.4.1)
-
Kontinuierliches Lernen mit konsistenter Evaluation
- Reflexion-Framework (Verbal RL) mit Haiku API = deterministisch über Sessions
- Episode Memory speichert verbalisierte Lektionen
- +10-15% Fehlerreduktion bei wiederholten Tasks
- Bulk-Generation in Claude Code (€0/mo)
-
Operational Excellence mit robusten Safeguards
- Robustheit durch 9 Enhancements (IRR Contingency, Semantic Fidelity, JSON Fallbacks, Model Drift Detection)
- Latency <5s (p95) - akzeptabel für "Denkzeit" in Claude Code
- Expanded Golden Set: 50-100 Queries (vs. 20 in v3.0.0) für statistische Robustheit
- MCP Protocol ermöglicht native Claude Code Integration
Secondary Goals:
- Transparenz: Verbalisierte Reflexionen, menschlich lesbar
- Lokale Kontrolle: Keine Cloud-Dependencies für Daten
- Future-Proof: Python MCP Server erweiterbar für Neo4j (v2.5)
- Cost-Efficiency: Strategische API-Nutzung nur wo methodisch nötig
Requirements
Functional Requirements
FR001: MCP Server Setup & Tool/Resource Implementation Das System implementiert einen Python-basierten MCP Server mit 7 Tools (store_raw_dialogue, compress_to_l2_insight, hybrid_search, update_working_memory, store_episode, get_golden_test_results, store_dual_judge_scores) und 5 Resources (memory://l2-insights, memory://working-memory, memory://episode-memory, memory://l0-raw, memory://stale-memory).
FR002: Dialogtranskripte persistieren (L0 Raw Memory)
Claude Code ruft MCP Tool store_raw_dialogue auf, um vollständige Konversationstranskripte in PostgreSQL zu speichern (Metadaten: Datum, Session-ID, Speaker).
FR003: Semantische Kompression (L2 Insights)
Claude Code komprimiert lange Dialogpassagen intern zu semantischen Insights und ruft MCP Tool compress_to_l2_insight auf. MCP Server validiert mit Information Density + Semantic Fidelity Checks (E2) und erstellt Embeddings via OpenAI API.
FR004: Hybrid-Retrieval (Semantic + Keyword)
Claude Code ruft MCP Tool hybrid_search mit Query + Query-Embedding auf. MCP Server durchsucht L0/L2 mit Hybrid-Ansatz (Semantic 70% + Keyword 30%, kalibrierbar via Grid Search in Phase 2) und merged Ergebnisse mit RRF.
FR005: Query Expansion für robuste Suche
Claude Code reformuliert Suchanfragen intern in 3 semantische Varianten (ersetzt Haiku API Call, €0/mo statt €8.50/mo), ruft hybrid_search für alle Varianten auf, merged Ergebnisse.
FR006: Chain-of-Thought Generation (intern in Claude Code) Claude Code generiert Antworten basierend auf abgerufetem Kontext mit explizitem Reasoning (CoT: thought → reasoning → answer → confidence), ohne externe API-Calls (ersetzt Opus, €0/mo statt €92.50/mo).
FR007: Self-Evaluation & Reflexion (EXTERN via Haiku API) ✅ v3.1-Hybrid
MCP Server ruft Haiku API auf, um Antworten zu evaluieren (Reward -1.0 bis +1.0). Bei Reward <0.3: Haiku API generiert Reflexion. Claude Code ruft MCP Tool store_episode auf, um verbalisierte Lektionen zu speichern. Rationale: Deterministisch über Sessions, konsistente Episode Memory Quality.
FR008: Working Memory Management
Claude Code ruft MCP Tool update_working_memory auf. MCP Server hält 8-10 Items mit LRU Eviction + Importance-Overrides, archiviert kritische Items (Importance >0.8) zu Stale Memory statt Löschen (E6).
FR009: Episode Memory Retrieval
Claude Code liest MCP Resource memory://episode-memory vor Answer Generation, um vergangene ähnliche Queries + Reflexionen abzurufen ("Lessons Learned").
Retrieval Parameters:
- Top-K Limit: Top-3 Episodes (addressiert Context Window Risk)
- Similarity Threshold: Cosine Similarity >0.70 (nur relevante Lektionen)
- Temporal Restriction: Keine (Policy-Optimierung erfordert Zugriff auf alle historischen Lektionen)
- Rationale: Balance zwischen Kontext-Relevanz und Token-Effizienz
FR010: Ground Truth Collection mit echten unabhängigen Dual Judges ✅ v3.1-Hybrid Streamlit UI (separate App) sammelt 50-100 gelabelte Queries. MCP Server ruft GPT-4o API (OpenAI) + Haiku API (Anthropic) auf für echte unabhängige Evaluation, berechnet Cohen's Kappa, speichert Ergebnisse. IRR Contingency Plan (E1) bei Kappa <0.70. Rationale: True inter-model reliability, methodisch valides Ground Truth.
Query Creation Strategy:
- Stratified Sampling: 40% Short (1-2 Sätze), 40% Medium (3-5 Sätze), 20% Long (6+ Sätze)
- Temporal Diversity: 3-5 Queries pro Session (verhindert Bias zu einzelnen Dialogkontexten)
- Source Selection: Automatisch aus L0 Raw Memory extrahiert, nicht manuell kuratiert
- Human Curation: ethr reviewed alle Queries auf Repräsentativität vor Labeling
- Rationale: Methodisch robustes Ground Truth Set mit realistischer Queryverteilung
FR011: Hybrid Weight Calibration (Phase 2) Nach Phase 1b (Ground Truth Collection): Claude Code führt Grid Search auf Golden Set (50-100 Queries) durch, findet domänenspezifische Gewichte (erwartet 0.8/0.2 für psychologische Transkripte statt MEDRAG-Default 0.7/0.3).
FR012: Model Drift Detection mit expanded Golden Set ✅ v3.1-Hybrid Claude Code führt täglich Golden Test Set (50-100 Queries, separater Set von Ground Truth) aus, prüft Accuracy-Drop >5%, alarmiert bei API-Änderungen (E7). Rationale: Statistisch robuste Baseline für Drift Detection.
FR013: Graph Node Management (MCP Tool: graph_add_node) ✅ v3.2-GraphRAG MCP Server erstellt Graph-Knoten in PostgreSQL (Adjacency List Pattern). Parameter: label (Entity-Typ), name (Entity-Name), properties (JSONB). Idempotent basierend auf label+name Kombination. Optional: vector_id für Link zu L2 Insight Embedding.
FR014: Graph Edge Management (MCP Tool: graph_add_edge) ✅ v3.2-GraphRAG MCP Server erstellt Kanten zwischen Knoten. Parameter: source_name, target_name, relation (z.B. "USES", "SOLVES", "CREATED_BY"), source_label, target_label. Erstellt Nodes automatisch falls nicht vorhanden. Gewichtung (0.0-1.0) für Relevanz-Ranking.
FR015: Graph Neighbor Query (MCP Tool: graph_query_neighbors) ✅ v3.2-GraphRAG MCP Server findet verbundene Knoten via WITH RECURSIVE CTE. Parameter: node_name, relation_type (optional), depth (default=1, max=5). Use Case: "Welche Technologien nutzt Projekt X?" Response: JSON Liste der Nachbar-Nodes mit Relation und Gewichtung.
FR016: Graph Pathfinding (MCP Tool: graph_find_path) ✅ v3.2-GraphRAG MCP Server findet kürzesten Pfad zwischen zwei Knoten. Parameter: start_node, end_node. Use Case: "Gibt es Verbindung zwischen Kunde X und Problem Y?" Response: Pfad als Node→Edge→Node Sequenz. Max Depth: 5 Hops.
Non-Functional Requirements
NFR001: Performance - Latency
- Query Response Time: <5 Sekunden (p95) für vollständige RAG-Pipeline
- Höher als v2.4.1 (<3s), da Claude Code "Denkzeit" hat (CoT intern)
- Akzeptabel für philosophische Tiefe
- Retrieval Time: <1 Sekunde (p95) für Hybrid Search (MCP Tool Call)
- External API Latency: +200-500ms für Evaluation/Reflexion (10-15% aller LLM-Calls)
NFR002: Accuracy - Retrieval & Evaluation
- Precision@5: >0.75 (höher als v2.4.1 >0.70, dank text-embedding-3-small)
- Inter-Rater Reliability (IRR): Cohen's Kappa >0.70 ✅ Methodisch valide (GPT-4o + Haiku = true independence)
- CoT Parse Success Rate: >99.9% (Claude Code hat native JSON Support)
- Golden Set Statistical Power: >0.80 (alpha=0.05) bei 50-100 Queries
NFR003: Budget & Cost Efficiency
- Production Budget: €5-10/Monat (90-95% Savings vs. v2.4.1)
- Claude Code (in MAX): €0/mo (Generation, Planning, CoT)
- Haiku API: €1-2/mo (Evaluation, Reflexion bei 1000 queries/mo)
- GPT-4o API: €1-1.5/mo (Dual Judge, 100 queries/mo + spot checks)
- Haiku API: €1-1.5/mo (Dual Judge)
- OpenAI Embeddings: €0.06/mo (1000 queries + compressions)
- Expanded Golden Set: €1/mo (50-100 Queries + täglich Drift Detection)
- After Staged Dual Judge (Month 4+): €2-3/mo (nur spot checks statt full Dual Judge)
NFR004: Reliability & Robustness
- Uptime: Lokales System, manueller Start/Stop akzeptabel
- Data Loss Prevention: Kritische Items (Importance >0.8) werden archiviert statt gelöscht (Stale Memory)
- Error Handling:
- 4-stufige JSON Fallbacks (Claude Code robust bei CoT Parsing)
- IRR Contingency (E1) bei Dual Judge Disagreement
- Semantic Fidelity Check (E2) bei Compression
- API Retry-Logic: Exponential backoff bei Haiku/GPT-4o Ausfall
- Fallback zu Claude Code: Bei API-Ausfall (degraded mode)
Backup Strategy:
- PostgreSQL Backups: Daily automated dumps (pg_dump) mit 7-day retention
- L2 Insights in Git: Read-only fallback, pushed täglich nach
/memory/l2-insights/ - Recovery Time Objective (RTO): <1 hour (PostgreSQL restore from latest dump)
- Recovery Point Objective (RPO): <24 hours (daily backup window)
- Backup Location: Lokales NAS + optional cloud backup (out of scope v3.1)
- Rationale: Prevents catastrophic data loss, aligns with local-first philosophy
NFR005: Transparency & Auditability
- Verbalisierte Reflexionen: Alle Episode Memory-Einträge sind menschlich lesbar (nicht nur Scores)
- MCP Resources: Read-Only State Exposure ermöglicht Introspection
- Logging: Alle Retrieval-Operationen, Evaluationen und Reflexionen in PostgreSQL
- Judge Provenance: Ground Truth speichert judge1_model + judge2_model (GPT-4o, Haiku)
NFR006: Local Control & Privacy
- Keine Cloud-Dependencies für Daten: MCP Server + PostgreSQL laufen lokal
- Externe Services nur für Compute: Embeddings, Evaluation (kein Training auf User-Daten)
- Datenhoheit: Alle Konversationsdaten bleiben lokal
NFR007: Methodological Validity ✅ NEW in v3.1
- True IRR: Dual Judges sind echte unabhängige Modelle (GPT-4o + Haiku), nicht 2 Prompts
- Statistical Power: 50-100 Queries Golden Set → robuste Precision@5 Validation
- Consistency: Haiku API Evaluation ist deterministisch über Sessions (keine Session-State-Variabilität)
- Production Reliability: Externe APIs stabiler als Claude Code Session-State für Episode Memory
User Journeys
Primary Journey: Kontextreiche Konversation mit MCP-basiertem Memory
Actor: ethr (User) Goal: Eine Frage an Claude Code stellen und eine Antwort erhalten, die auf vergangenen Gesprächen basiert
Journey:
-
Frage stellen
- ethr öffnet Claude Code und stellt eine Frage
- Beispiel: "Was denke ich über Autonomie?"
-
Query Expansion (intern in Claude Code)
- Claude Code reformuliert Frage in 3 semantische Varianten
- Varianten: "Was ist meine Meinung zu Autonomie?", "Wie sehe ich Selbstständigkeit?", "Autonomie - meine Perspektive?"
- Ersetzt: Claude Haiku API Call (€0 statt €0.50)
-
Query Embedding (externer Call - OpenAI)
- Claude Code ruft OpenAI Embeddings API auf
- Cost: €0.00002 (2 Cent per 1M tokens)
-
Hybrid Retrieval (MCP Tool Call)
- Claude Code ruft MCP Tool
hybrid_searchauf (4 Varianten parallel) - MCP Server durchsucht L0/L2 mit Semantic (70%) + Keyword (30%)
- RRF Fusion merged Ergebnisse → Top 5 Dokumente
- Latency: <1s
- Claude Code ruft MCP Tool
-
Episode Memory Check (MCP Resource)
- Claude Code liest
memory://episode-memory(ähnliche vergangene Queries) - Falls vorhanden: Lädt verbalisierte Lektionen ("Lessons Learned")
- Claude Code liest
-
Answer Generation mit CoT (intern in Claude Code)
- Claude Code generiert Antwort basierend auf:
- Retrieved Context (Top 5 Dokumente)
- Past Episodes (falls relevant)
- CoT Format: Thought → Reasoning → Answer → Confidence
- Ersetzt: Claude Opus API Call (€0 statt €0.50)
- Claude Code generiert Antwort basierend auf:
-
Self-Evaluation (EXTERN via Haiku API) ✅ v3.1-Hybrid
- MCP Server ruft Haiku API auf für Evaluation
- Haiku evaluiert Antwort (Reward -1.0 bis +1.0)
- Cost: €0.001 (1000 Evaluations = €1/mo)
- Rationale: Deterministisch, konsistent über Sessions
-
Reflexion bei Bedarf (EXTERN via Haiku API) ✅ v3.1-Hybrid
- Falls Reward <0.3: MCP Server ruft Haiku API für Reflexion auf
- Haiku generiert verbalisierte Lektion ("Was lief schief?", "Was tun in Zukunft?")
- Claude Code ruft MCP Tool
store_episodeauf - Cost: €0.0015 (~300 Reflexionen/mo = €0.45/mo)
-
Antwort erhalten
- ethr erhält Antwort mit:
- Explizitem Reasoning (CoT)
- Confidence Score
- Quellen (L2 Insight IDs)
- Falls Reflexion: "Lesson Learned: ..."
- ethr erhält Antwort mit:
-
Working Memory Update (MCP Tool Call)
- Claude Code ruft
update_working_memoryauf - MCP Server fügt Query+Answer hinzu
- Falls voll (>10 Items): LRU Eviction
- Kritische Items → Stale Memory Archive
- Claude Code ruft
Outcome: ethr erhält kontextreiche Antwort in <5s. System lernt aus Fehlern mit konsistenten Reflexionen. Bulk-Operationen kostenfrei (Claude Code), kritische Evaluationen extern (Haiku).
Cost per Query: ~€0.003
- Embeddings: €0.00002
- Evaluation: €0.001
- Reflexion (30% Queries): €0.0015
- Total: ~€3/mo bei 1000 Queries
UX Design Principles
UX1: Transparenz über Blackbox
- Zeige explizites Reasoning (CoT: Thought → Reasoning → Answer)
- Mache Retrieval-Quellen sichtbar (L2 Insight IDs, optionale Snippet-Anzeige)
- Zeige Confidence-Score bei jeder Antwort
- Verbalisierte Reflexionen sind lesbar ("Lesson Learned: ...")
- NEW: Judge Provenance in Ground Truth UI (GPT-4o + Haiku Scores)
UX2: Minimale Reibung trotz MCP-Komplexität
- Claude Code Interface: Frage stellen → Antwort erhalten (<5s)
- Alle komplexen Operationen (Query Expansion, Hybrid Search, Reflexion) automatisch im Hintergrund
- MCP Server ist unsichtbar für User (läuft als Background-Prozess)
- Externe API-Calls sind unsichtbar (MCP Server handled)
- Kein manuelles Konfigurieren erforderlich (Hybrid Weights werden in Phase 2 kalibriert)
UX3: Lernen sichtbar machen
- Episode Memory-Reflexionen als "Lesson Learned" anzeigen
- Zeige wenn das System aus vergangenen Fehlern lernt (Reward-Anzeige optional)
- Ermögliche Einsicht in vergangene Episodes via MCP Resource (optional für Power-User)
UX4: Ground Truth Collection - Dedizierte UI
- Separate Streamlit App (nicht in Claude Code)
- Binäre Entscheidungen (Relevant? Ja/Nein)
- Stratified Sampling automatisch (40% Short / 40% Medium / 20% Long)
- Progress-Anzeige ("68/100 Queries gelabelt", Cohen's Kappa live)
- NEW: Dual Judge Scores anzeigen (GPT-4o vs. Haiku Agreement)
UX5: Fehlertoleranz durch Fallbacks
- System crasht niemals bei JSON Parsing (4-stufige Fallbacks in Claude Code)
- Bei Unsicherheit: Zeige Confidence-Score statt Fehler
- Model Drift Alerts sind informativ ("Golden Test Accuracy dropped 5%"), nicht alarmierend
- IRR Contingency Plan triggert automatisch bei Kappa <0.70
- NEW: API-Ausfall-Fallback (degraded mode mit Claude Code Evaluation)
Technical Architecture
MCP Server Components
Language: Python (D1) Tech Stack:
mcp(Python MCP SDK)psycopg2(PostgreSQL + pgvector)openai(Embeddings API + GPT-4o API)anthropic(Haiku API)numpy(Vector Operations)
11 MCP Tools (Actions):
store_raw_dialogue- L0 Storagecompress_to_l2_insight- L2 Creation + Embeddinghybrid_search- RAG Retrieval (60% Semantic + 20% Keyword + 20% Graph) ✅ v3.2update_working_memory- Session Statestore_episode- Reflexion Storageget_golden_test_results- Model Drift Detectionstore_dual_judge_scores- IRR Validation (calls GPT-4o + Haiku APIs) ✅ v3.1graph_add_node- Graph Node erstellen (idempotent) ✅ v3.2-GraphRAGgraph_add_edge- Graph Edge erstellen ✅ v3.2-GraphRAGgraph_query_neighbors- Nachbar-Nodes finden ✅ v3.2-GraphRAGgraph_find_path- Pfad zwischen Nodes finden ✅ v3.2-GraphRAG
5 MCP Resources (Read-Only State):
memory://l2-insights?query={q}&top_k={k}memory://working-memorymemory://episode-memory?query={q}&min_similarity={t}memory://l0-raw?session_id={id}&date_range={r}memory://stale-memory?importance_min={t}
Database: PostgreSQL + pgvector (unverändert aus v2.4.1)
- Tables: l0_raw, l2_insights, working_memory, episode_memory, stale_memory, ground_truth
- NEW Columns (v3.1): judge1_model, judge2_model in ground_truth table
- NEW Tables (v3.2-GraphRAG): nodes, edges (Adjacency List Pattern für Graph-Speicherung)
Claude Code Integration
Alle primären LLM-Operationen in Claude Code (€0/mo):
- Query Expansion (ersetzt Haiku, €0/mo)
- CoT Generation (ersetzt Opus, €0/mo)
- Planning & Orchestration (intern)
Kritische Evaluationen via externe APIs (€3-4/mo):
- Self-Evaluation: Haiku API (€1-2/mo)
- Reflexion: Haiku API (€0.50/mo)
- Dual Judge: GPT-4o + Haiku APIs (€2-3/mo)
Claude Code Workflow:
- User Query → Query Expansion (intern)
- Embeddings API Call (OpenAI, €0.00002)
- MCP Tool Call:
hybrid_search(4 Varianten) - MCP Resource Read:
episode-memory - CoT Generation (intern)
- MCP Server → Haiku API: Evaluation (€0.001) ✅ v3.1
- Falls Reward <0.3 → Haiku API: Reflexion (€0.0015) ✅ v3.1
- MCP Tool Call:
store_episode - MCP Tool Call:
update_working_memory
No Multi-Threading:
- Claude Code Sequential Processing (kein Haiku+Opus parallel wie v2.4.1)
- Mitigation: Latency <5s akzeptabel
External Dependencies
External API 1: OpenAI Embeddings
- Model:
text-embedding-3-small(1536 dimensions) - Cost: €0.02 per 1M tokens
- Budget: ~€0.06/mo bei 1000 queries + compressions
- Rationale: Bessere Precision@5 als lokale Embeddings
External API 2: GPT-4o (Dual Judge) ✅ v3.1
- Model:
gpt-4o - Cost: ~€1-1.5/mo (100 Queries Phase 1b + spot checks)
- Rationale: True independence für Cohen's Kappa
External API 3: Claude Haiku (Dual Judge + Evaluation) ✅ v3.1
- Model:
claude-3-5-haiku-20241022 - Cost: ~€2-3/mo (Dual Judge + Evaluation + Reflexion)
- Rationale: Deterministisch, konsistent, true independence
API Reliability Measures:
- Retry-Logic mit Exponential Backoff
- Fallback zu Claude Code bei API-Ausfall (degraded mode)
- Budget-Monitoring + Alerts bei >€10/mo
Epics
Epic 1: MCP Server Foundation & Ground Truth Collection
Deliverables:
- PostgreSQL + pgvector Setup (lokal)
- Python MCP Server Implementation
- 7 MCP Tools + 5 MCP Resources
- Ground Truth Collection (50-100 gelabelte Queries) ✅ v3.1
- Streamlit Labeling UI
- Dual Judge Implementation (GPT-4o + Haiku APIs) ✅ v3.1
- IRR Validation (Cohen's Kappa >0.70)
Timeline: Phase 1a (20-25h) + Phase 1b (18-25h) = 38-50h Dependencies: Keine Critical Path: Ground Truth Collection (benötigt für Hybrid Calibration in Epic 2) Cost (Phase 1b): €0.23 einmalig (100 Queries Dual Judge)
Epic 2: RAG Pipeline & Hybrid Calibration
Deliverables:
- Claude Code ↔ MCP Server Integration
- Hybrid Search Implementation (Semantic + Keyword)
- Query Expansion Logik (intern in Claude Code)
- CoT Generation Logik (intern in Claude Code)
- Reflexion-Framework (extern via Haiku API) ✅ v3.1
- Evaluation via Haiku API ✅ v3.1
- Hybrid Weight Calibration (Grid Search auf 50-100 Queries Golden Set)
Timeline: Phase 2 (35-45h) Dependencies: Epic 1 (Ground Truth Required) Critical Success Factor: Calibration liefert +5-10% Precision@5 Uplift Cost (Development): €1-2/mo (Testing)
Epic 3: Evaluation, Working Memory & Production Readiness
Deliverables:
- Working Memory Eviction Logic (LRU + Importance)
- Stale Memory Archive (kritische Items)
- Episode Memory Storage & Retrieval
- Staged Dual Judge (Phase 1: Dual → Phase 2: Single nach IRR >0.85)
- Golden Test Set (50-100 Queries) ✅ v3.1
- Model Drift Detection (täglich)
- Precision@5 Validation (>0.75)
- Latency Testing (<5s p95)
- External API Retry-Logic + Fallbacks
Timeline: Phase 3 (25-35h) + Phase 4 (20-25h) + Phase 5 (15-20h) = 60-80h Dependencies: Epic 2 Cost (Production): €5-10/mo (full Dual Judge), dann €2-3/mo (nach Staged Dual Judge)
Out of Scope (v3.2.0-GraphRAG)
Explizit NICHT in Scope:
Neo4j Knowledge Graph Integration→ IN SCOPE als PostgreSQL Adjacency List (v3.2-GraphRAG)- Multi-User Support (aktuell nur ethr)
- Cloud Deployment (nur lokal)
- Multi-LLM Support für Generation (nur Claude Code, keine Gemini Integration)
- Voice Interface (nur Text)
- Advanced Agentic Workflows (v2.4.1 hatte Commander/Planner/Writer Agents, v3.1 hat nur Claude Code + externe Evaluatoren)
- Fine-Tuning (System nutzt Verbal RL statt Fine-Tuning)
- Automatische Entity Extraction (Graph-Nodes werden manuell via MCP Tools erstellt, kein LLM-basiertes NER)
Preserved for Future Phases:
- Lokale Embeddings-Fallback (sentence-transformers bei OpenAI API Ausfall)
- UI für Episode Memory Exploration (Power-User Feature)
- Automated Hybrid Weight Re-Calibration (bei Domain Shift)
- Full Multi-LLM Agentic Architecture (v2.5)
Success Criteria
Phase 1 (Foundation) - Success Criteria
- ✅ PostgreSQL + pgvector läuft lokal
- ✅ MCP Server implementiert (7 Tools, 5 Resources)
- ✅ Claude Code kann MCP Server erreichen (MCP Protocol handshake)
- ✅ Ground Truth Collection: 50-100 Queries gelabelt (statistisch robust)
- ✅ Cohen's Kappa >0.70 (true independence: GPT-4o + Haiku)
- ✅ IRR Contingency Plan funktioniert bei Kappa <0.70
Phase 2 (RAG Pipeline) - Success Criteria
Precision@5 Performance:
- ✅ Full Success: ≥0.75 (System ready for production)
- ⚠️ Partial Success: 0.70-0.74 (Deploy with monitoring, iterate on calibration)
- ❌ Failure: <0.70 (Requires architecture review or additional ground truth)
Other Metrics:
- ✅ Query Expansion: +10-15% Recall Uplift
- ✅ Latency <5s (p95) für komplette Pipeline
- ✅ Hybrid Weight Calibration findet bessere Gewichte als 0.7/0.3 (erwartet 0.8/0.2)
- ✅ Haiku API Evaluation funktioniert (Reward -1.0 bis +1.0)
- ✅ Reflexion-Framework generiert konsistente Lektionen
Rationale: Graduated criteria ermöglichen adaptive Steuerung - Partial Success erlaubt Production Deployment mit kontinuierlicher Verbesserung
Phase 3-5 (Production) - Success Criteria
- ✅ Working Memory Eviction funktioniert (keine kritischen Items verloren)
- ✅ Episode Memory speichert Reflexionen korrekt
- ✅ Golden Test Set läuft täglich (50-100 Queries)
- ✅ Budget bleibt unter €10/mo (first 3 months)
- ✅ Budget reduziert auf €2-3/mo (after Staged Dual Judge)
- ✅ System läuft stabil über 7 Tage ohne Crashes
- ✅ API Retry-Logic funktioniert (bei Haiku/GPT-4o Ausfall)
Overall Success
- ✅ Budget-Ziel: €5-10/mo Production (90-95% Savings vs. v2.4.1)
- ✅ Performance-Ziel: Precision@5 >0.75, Latency <5s
- ✅ Reliability-Ziel: Kappa >0.70 (true IRR), CoT Parse >99.9%
- ✅ Methodological Validity: True independent Dual Judges, 50-100 Queries Golden Set
- ✅ User Satisfaction: ethr kann philosophische Gespräche über Monate führen ohne Kontext-Verlust
Risks & Mitigation
Risk 1: MCP Protocol Komplexität
Risk: MCP ist neu, wenig dokumentiert, potenzielle Bugs Impact: High (Blocker für gesamtes System) Mitigation:
- MCP Inspector für Testing nutzen
- Python MCP SDK ist stabiler als TypeScript
- Fallback: Standalone REST API wenn MCP nicht funktioniert
Risk 2: Claude Code Context Window
Risk: Sehr lange Retrieval-Kontexte könnten 200K Token-Limit überschreiten Impact: Medium (System crasht bei langen Dialogen) Mitigation:
- Top-5 statt Top-10 Retrieval
- Adaptive L2 Compression
- Truncation-Logik in Claude Code
Risk 3: External API Dependencies ✅ NEW in v3.1
Risk: Haiku/GPT-4o API-Ausfall → Evaluation/Reflexion unavailable Impact: Medium (System degradiert, aber nicht komplett down) Mitigation:
- Retry-Logic mit Exponential Backoff
- Fallback zu Claude Code Evaluation (degraded mode)
- Monitoring + Alerts
- Probability: 1-2% Ausfallrate/Jahr
Risk 4: API Cost Variability ✅ NEW in v3.1
Risk: API-Preise steigen (10-20%/Jahr) Impact: Low (€5-10/mo → €6-12/mo) Mitigation:
- Monatliches Budget-Monitoring
- Alerts bei >€10/mo
- Staged Dual Judge reduziert Kosten nach 3 Monaten (-40%)
Risk 5: IRR Validation Failure
Risk: Cohen's Kappa <0.70 bei Dual Judge Impact: Medium (Critical Path Blockade) Mitigation:
- IRR Contingency Plan (E1) implementiert
- 3 Fallback-Strategien (Human Tiebreaker, Wilcoxon Test, Judge Recalibration)
- v3.1 Improvement: True independence → höhere Wahrscheinlichkeit für Kappa >0.70
Risk 6: Lokale PostgreSQL Performance
Risk: 10K+ L2 Insights könnten langsame Queries verursachen Impact: Low (nur Latency-Erhöhung) Mitigation:
- IVFFlat Index für pgvector (lists=100)
- Monitoring in Phase 5
- Upgrade zu Cloud-DB falls nötig (but out of scope)
Next Steps
Immediate Actions:
- ✅ v3.1-Hybrid Architecture Finalized (mcp-architecture-specification-v3.1-hybrid.md)
- ✅ PRD Updated (dieses Dokument)
- Epic & Story Breakdown Update (NEXT) → epic-stories.md
- Update E1-S06 (Dual Judge mit GPT-4o + Haiku)
- Update E2-S04 (Evaluation/Reflexion extern)
- Update E3-S04 (Golden Set 50-100 Queries)
- Budget + Timeline adjustments
After Epic-Stories Update:
- Phase 1a Implementation (MCP Server Foundation)
- Phase 1b Implementation (Ground Truth mit externen APIs)
- Phase 2+ Implementation (RAG Pipeline, Working Memory, Monitoring)
Review-Punkte:
- PRD Review mit ethr (vor Epic-Stories)
- Epic-Stories Review mit ethr (vor Implementation)
- Phase 1 Demo (nach Foundation)
- Phase 2 Demo (nach RAG Pipeline + Calibration)
- Final Demo (after Phase 5)
Document Status
- Goals and context validated
- v3.1-Hybrid architecture decisions finalized (D1-D6)
- Budget confirmed (€5-10/mo)
- Functional requirements updated (12 FRs)
- Non-functional requirements updated (7 NFRs)
- User journey updated (externe API-Calls)
- Epic structure drafted (3 Epics)
- Epic-stories.md update required (NEXT)
Reference Documents:
- Architecture:
mcp-architecture-specification-v3.1-hybrid.md✅ - Previous Architecture:
mcp-architecture-specification.md(v3.0.0-MCP, archived) - Analysis:
project-workflow-analysis.md - Old Version:
PRD-v2.4.1-DRAFT-ARCHIVED.md(reference only)
Changelog v3.0.0-MCP → v3.1.0-Hybrid:
- ✅ Budget: €0.06/mo → €5-10/mo (90-95% savings maintained)
- ✅ Dual Judge: Claude Code 2x → GPT-4o + Haiku (true IRR)
- ✅ Evaluation/Reflexion: Claude Code intern → Haiku API (consistency)
- ✅ Golden Set: 20 Queries → 50-100 Queries (statistical robustness)
- ✅ NFR007 added: Methodological Validity
- ✅ Risk 3+4 added: External API Dependencies + Cost Variability
- ✅ Success Criteria updated: API-specific targets
This PRD is designed for Level 2 projects - providing appropriate detail for a 2.5-3.5 month implementation with v3.1-Hybrid MCP-based architecture.
What's inside
14 sections covering executive summary, requirements, user journeys, UX principles, technical architecture, epics, and cost breakdown
Change this for your project
- Replace
ethrwith your own user name in the primary use case and actor descriptions - Replace
€5-10/Monatwith your own budget currency and amount - Replace
claude-3-5-haiku-20241022with the Haiku model ID you have access to - Replace
text-embedding-3-smallwith your preferred embedding model
Where it goes
Keep it in your repository where the agent or team that needs it will read it.
Worth borrowing
- Using Claude Code for bulk LLM operations (€0) and external APIs only for critical evaluation to cut costs
- Stratified sampling for ground truth queries (40% short, 40% medium, 20% long) to avoid bias
- Verbalised reflexions stored as episode memory for human-readable lessons learned
Related Documents
Project Requirements Document: Long Video Generation Pipeline
Breaks long video prompts into segments, generates keyframes and clips via local or remote models, then stitches them into a final video.
AGENTS.md — ShakkaShell v2.0
Guides AI coding agents through building a CLI that translates natural language into offensive security commands, with a defined tech stack, structure, and implementation order.
SourceAtlas PRD v2.9.6
Defines the product requirements, architecture, and command interface for an AI-powered codebase understanding assistant integrated into Claude Code.
Fleet Management System - Product Requirements Document (PRD)
Defines functional, non-functional, and technical requirements for a fleet management system with compressed GPS tracking and predictive maintenance.