Kompendium · Stand 2026-06-17

ctx.

The memory your LLM pretends to have.

Eine allumfassende Dokumentation des Knowledge-Stores — was war, was wurde, was ist und was wird — mit frischem Vergleich zu gbrain, Langdock, Microsoft Azure AI und der weiteren Memory-, RAG- und Enterprise-AI-Landschaft.

github.com/GottZ/ctx Lizenz MPL-2.0 7 Kapitel · 55 Features 9 Vergleichslösungen Begleitend: Planungs-Report →

ctx ist das self-hosted, MPL-2.0-lizenzierte Single-Binary-Memory-Primitiv für den souveränen Selbstbetreiber: ein Go-Monolith (ctx-CLI + ctxd-Daemon) auf PostgreSQL 18 + pgvector + TimescaleDB, der Hybrid-Fusion (4-Way RRF), Cross-Encoder-Reranking, zyklisch-temporale Gravitation, latente LLM-inferierte Cross-Reference-Links und Scope-Isolation alle in EINER Postgres-Transaktion über dieselben Tabellen vereint — ohne externen Vektor-/Graph-Store, ohne Netzwerk-Hop und mit durchgängig lokaler llama.cpp-Inferenz zu $0 laufenden Kosten. Sein Alleinstellungs-Design-Center ist die anbieterneutrale Cross-LLM/Cross-Tenant-Wissensbrücke (Scope-Modell private/hth/shared), die ein einziges durchsuchbares Gedächtnis über mehrere Claude-Instanzen und Anthropic-Tenants hinweg teilt, statt Wissen in proprietären Cloud-Silos oder Polyglot-Persistence-Stacks zu fragmentieren.

ctx besetzt im Markt der Memory-/Knowledge-/RAG-Lösungen die Position eines bewusst fokussierten, vollständig souveränen Self-hosted-Primitivs. Während sich das Feld in zwei Großgruppen teilt — schwergewichtige proprietäre Enterprise-Plattformen (Glean, Langdock, Microsoft Azure AI/Foundry) und Open-/Open-Core-Agent-Memory-Layer (Mem0, Letta, Zep/Graphiti, gbrain) plus reine Vektor-Infrastruktur (Pinecone/Weaviate/Qdrant) und die anbietergebundenen LLM-nativen Features (ChatGPT/Claude/Notion Memory) — kollabiert ctx die gesamte Memory-Pipeline in einen einzigen Go-Monolith auf einer PostgreSQL-18-Instanz: 4-Way-RRF-Hybrid-Fusion (semantic pgvector + EN-FTS + DE-FTS + Trigram-Title, k=60), Cross-Encoder-Reranking (bge-reranker-v2-m3), zyklisch-temporale Gravitation und LLM-inferierte latente Links laufen alle als SQL über dieselben Tabellen, ohne Netzwerk-Hop, ohne externen Vektor- oder Graph-Store und ohne laufende API-Kosten (llama.cpp on-prem, $0).

Im direkten Vergleich ist ctx im Retrieval-Kern weitgehend konvergent mit den nächsten Verwandten (gbrain, Letta self-hosted, Graphiti nutzen ebenfalls pgvector-HNSW + FTS + RRF), differenziert sich aber durch vier Achsen: LLM-inferierte LATENTE Links statt nur explizit gesetzter/extrahierter Kanten, ein feingranulares cyclic-temporales Modell (7 zyklische Dimensionen + Gaussian Decay) statt bloßer recency/valid_until/TTL, durchgängiges all-local/$0 als Default-Identität statt hosted-Default mit Local-Option, und eine Cross-LLM/Cross-Tenant-Memory-Bridge als explizites Design-Center. Wo die Wettbewerber führen, ist klar umrissen: öffentliche reproduzierbare Benchmarks (Mem0, Zep, gbrain mit LongMemEval/BrainBench/LoCoMo), deterministische relationale Graph-Traversierung @Query (gbrain graph-query, Zep/Graphiti BFS+Node-Distance, Mem0 Neo4j-Multi-Hop), produktive Multi-Tenancy und horizontale Skalierung (alle Plattformen), sowie Funktionsbreite und Mindshare (gbrain ~23k Stars, Mem0 ~58.8k, Zep 27.6k). ctx ist damit kein Plattform-Konkurrent, sondern das schlanke, datensouveräne Gegenmodell mit eigenständiger Retrieval-Tiefe.

I
Ursprung & Motivation

Was war

ctx entstand im Januar 2026 als Antwort auf zwei konkrete Probleme: Context-Drift (Claude-Instanzen verlieren und verzerren Wissen über Sessions hinweg, verschärft durch den konservativ verschiebenden Constitution-Filter) und Context-Window-Knappheit. Die Architektur-Entscheidung erster Ordnung lautete „Erst das Gehirn" — vor jedem Agent-Framework, Inference-Scaler oder Workflow-System wurde zuerst die zentrale Persistenz-Schicht gebaut. Der Weg dahin führte über eine pragmatische Evolutionskette (n8n MCP → Webhooks → Bun → Go) und eine 92-Sub-Agent-Armada, die den Sprachvergleich neutral entschied. Bis April 2026 wuchsen daraus das W-System (RLHF-Warnings) und das Armada-Pattern — beide nur auf Basis akkumulierter, persistierter Erkenntnisse möglich.

  1. Januar 2026ctx-Projekt gestartet — Entscheidung „Erst das Gehirn" als Architektur-Grundlage
  2. Jan–Ende März 2026Evolutionskette n8n MCP → Webhooks → Bun → Go; GSD als Workflow-Framework im Einsatz
  3. Jan–März 202692-Sub-Agent-Armada evaluiert die Zielsprache neutral — Ergebnis: Go; Rewrite als „one hour problem"
  4. Anfang April 2026Eigenes W-System (14 Warnings) und Armada mit Red/Blue-Team lösen GSD ab
  5. 2026-04-0920 Commits in 9 Stunden (v0.13 → v0.17 inkl. OAuth/MCP)
  6. 2026-04-10Erste MCP-Session mit Claude Chat
Das Context-Drift-ProblemWissen, das über Sessions hinweg verloren geht und sich systematisch verzerrt

Der eigentliche Auslöser für ctx: Claude-Instanzen verlieren und verzerren Wissen über Sessions hinweg. Verschärft wird das durch den Constitution-Filter, der bei jeder Übergabe das Wissen systematisch konservativer verschiebt — Information wird also nicht nur vergessen, sondern aktiv in eine Richtung gebogen. Hinzu kam die Context-Window-Knappheit: ursprünglich 256k Tokens, die durch MCPs und Skills fortlaufend angefressen wurden. ctx ist die Antwort auf beide Probleme zugleich — eine externe, verlässliche Wissensschicht, die nicht driftet.

motivationcontext-driftconstitution-filtercontext-window
„Erst das Gehirn"Persistenz als Architektur-Entscheidung erster Ordnung — vor allem anderen

GottZ hätte mit dem vorhandenen Setup einen Multi-GPU-Inference-Scaler, ein Agent-Framework oder eine Workflow-Plattform bauen können. Die bewusste Entscheidung war stattdessen, zuerst die Persistenz-Schicht zu bauen. Wörtlich: „weil ich erst das gehirn brauche, bevor ich irgendwas anderes implementiere … ohne zentrale steuerung von informationen ist kein anderes projekt sinnvoll umsetzbar. nicht mit meinen warnings und auch nicht mit meiner armada." Das W-System und das Armada-Pattern operieren beide auf über Zeit akkumulierten Erkenntnissen — ohne ein Gehirn, das diese Erkenntnisse hält, könnten sie nicht funktionieren. Persistenz war damit die Voraussetzung für alles Weitere, nicht ein nachgelagertes Feature.

decisionfirst-principlesarchitecturepriorities
Persistenz als Multiplikator (Re-Evaluation mit 1M Context)Kein Workaround für Context-Limits, sondern ein Hebel, der mit dem Context wächst

Eine zentrale konzeptionelle Korrektur: Persistenz ist nicht bloß ein Workaround gegen knappe Context-Windows. Auch mit 1M-Token-Context bleibt ctx wertvoll — das Bild ist der „große Eimer mit Boden, der wertvoller wird je größer der Eimer ist". Je mehr Context zur Verfügung steht, desto mehr Wert entfaltet eine verlässliche Persistenz-Schicht, nicht weniger. Damit positioniert sich ctx als Multiplikator der Fähigkeiten eines LLM und nicht als Krücke, die mit besserer Hardware überflüssig würde.

motivation1m-contextmultiplierre-evaluation
Evolutionskette: n8n → Webhooks → Bun → GoVom bloated n8n-MCP über schlanke Webhooks und Bun zum Go-Monolith

Die technische Genese verlief in klar dokumentierten Stationen. (1) Erste Idee: n8n MCP in Claude einbinden, um Wissensblöcke mit pgvector abzulegen und auffindbar zu machen. (2) n8n MCP verworfen — „müll. zu bloated. du bekommst den gesamten input auch als output zurück. es redet zu viel." (3) n8n Webhooks als schlankere Alternative bei gleicher Grundidee. (4) API-Key als Auth-Layer ergänzt. (5) Bun/TypeScript-Standalone — „schnell wieder verworfen". (6) Nach dem Sprachvergleich der Wechsel auf einen Go-Monolith. Heute besteht das System aus zwei Binaries (ctx CLI + ctxd Daemon) unter MPL-2.0, mit Paketen wie auth, store, rrf, dream, digest und guard — die schlanke Konsequenz aus dieser Kette.

evolutionn8nbungomonolith
Der Go-Rewrite — „a one hour problem"Der komplette Umbau von TypeScript+n8n auf Go in rund einer Stunde

Das Ergebnis der neutralen Sprach-Evaluation war Go. Der eigentliche Portierungs-Aufwand war minimal: „der gesamte ctx rewrite von typescript mit n8n zu golang war ein one hour problem". Möglich war das, weil die fachliche Substanz (Datenmodell, pgvector-Retrieval, Auth) bereits durch die vorherigen Stationen geklärt war — der Rewrite musste nur noch eine erprobte Idee in eine bessere Sprache gießen. Aus diesem Schritt wurde der heutige Go-Monolith (Go 1.26 im Repo), der API, Guard, Dream, Digest und MCP in einem Binary bündelt.

gorewritevelocitymonolith
92-Sub-Agent-Armada für den SprachvergleichDie Sprachwahl wurde nicht entschieden, sondern von 92 Agenten neutral evaluiert

Statt die Zielsprache aus Vertrautheit oder Bauchgefühl zu wählen, wurde eine Armada aus 92 Sub-Agenten aufgesetzt, um die Sprach-Kandidaten neutral gegeneinander zu evaluieren. Das Ergebnis war Go. Dieser Schritt ist beispielhaft für die gesamte Arbeitsweise des Projekts: nicht der Autor entscheidet auf Verdacht, sondern ein parallelisierter, strukturierter Apparat liefert ein neutrales Ergebnis, dem dann gefolgt wird. Die Armada als Evaluations-Werkzeug ist hier bereits im Kern angelegt, lange bevor sie zum festen Red/Blue-Team-Pattern wurde.

armadalanguage-evalneutral-evaluationgosub-agents
Methodik-Prinzip: Werkzeuge statt LernenWissenslücken werden durch Werkzeuge mit neutralem Output abgedeckt, nicht durch Lernen

Das tragende Methodik-Prinzip hinter ctx und seiner Entstehung: „ich habe mir werkzeuge gebaut, die mein unwissen abdecken und neutrale ergebnisse liefern. der output spricht für sich." Wissenslücken werden nicht durch eigenes Lernen kompensiert — das ist zu langsam — sondern durch Werkzeuge, die strukturierten, neutralen Output erzeugen. Gepaart mit konsequenter Parallelisierung führt das zu enormer Geschwindigkeit: „in 20 minuten mehr bewegt als andere in 14 tagen". ctx selbst ist die erste und grundlegendste Inkarnation dieses Prinzips — das Werkzeug, das das Gedächtnis abdeckt.

methodologytoolsparallelizationneutral-outputprinciple
GSD, dann eigenes W-System + ArmadaVom geliehenen Workflow-Framework zum eigenen Warning- und Red/Blue-Team-Pattern

Als Workflow-Framework diente bis Ende März 2026 GSD (glittercowboy's Repo). Anfang April 2026 wurde dieses abgelöst durch ein eigenes W-System mit 14 RLHF-Warnings und eine eigene Armada mit Red/Blue-Team-Struktur. Beide bauen direkt auf der Persistenz-Schicht auf: Das W-System steuert das Verhalten anhand akkumulierter Erkenntnisse, die Armada verifiziert adversarial gegen gespeichertes Wissen. Damit schließt sich der Bogen zur Grundentscheidung „Erst das Gehirn" — erst nachdem die Persistenz stand, entstanden die darauf angewiesenen Verhaltens- und Verifikations-Systeme.

gsdw-systemarmadared-blue-teamwarnings
v2-Ausblick aus historischer SichtDas Gehirn wird vertieft, nicht horizontal in andere Werkzeug-Kategorien verbreitert

Schon früh war die Stoßrichtung künftiger Versionen klar umrissen: „Das gehirn kann als v2 später noch viel tiefer erweitert werden." v2 bedeutet damit Vertiefung des Gehirns selbst — bessere Retrieval-, Synthese- und Persistenz-Fähigkeiten — und ausdrücklich nicht die horizontale Expansion in andere Werkzeug-Kategorien. Multi-GPU-Inference-Scaler und vollwertige Agent-Frameworks wurden bewusst auf v3+ verschoben. Die Reihenfolge der Genese (erst Gehirn, dann Verhalten/Verifikation darauf) setzt sich damit als Roadmap-Logik fort.

roadmapv2visiondepth-over-breadth
II
Evolution & Transformation

Was wurde

ctx ist nicht in einem Wurf entstanden, sondern durch eine Kette von Verwerfungen und Rewrites zu seiner heutigen Form gereift. Aus einem n8n-MCP-Experiment im Januar 2026 wurde über Webhooks und einen kurzlebigen Bun/TypeScript-Stack ein Go-Monolith; aus Ollama wurde durchgängig llama.cpp; aus einer schwachen Weighted-Sum-Suche wurde die 4-Way RRF mit Cross-Encoder-Reranking. Jede Transformation ist empirisch validiert — und ebenso lehrreich sind die bewusst verworfenen Pfade, die das System schlank hielten.

  1. Januar 2026ctx-Projekt gestartet: n8n MCP in Claude eingebunden, um Wissensblöcke per pgvector ablegbar und auffindbar zu machen.
  2. Jan–Ende März 2026Evolutionskette n8n MCP → n8n Webhooks (+ API-Key-Auth) → Bun/TypeScript-Standalone (schnell verworfen) → Go-Monolith. 92-Sub-Agent-Armada evaluierte die Sprachkandidaten neutral; Ergebnis: Go. GSD (glittercowboy) als Workflow-Framework.
  3. Anfang April 2026Ablösung von GSD durch eigenes W-System (14 Warnings) und Red/Blue-Team-Armada. 2026-04-09: 20 Commits in 9 Stunden (v0.13→v0.17 + OAuth/MCP). 2026-04-10 erste MCP-Session mit Claude Chat.
  4. 2026-04-20 → 2026-04-23 (Session 24)Dream-Reset: Pre-Reset-Baseline (53% korrekt bei raw_conf≥0.7) → Re-Dream mit Ideallinie → Dream-Prompt v3 (62.3% Accuracy, +19.7pp gegenüber Pre-Reset 42.6%).
  5. 2026-05-22/23 (Session 38, v1.6.x)Welle-46-Konvention-Switch supersedes (src=old → src=newer) + Full Re-Dream über 489 Blöcke; supersedes-VALID-Rate 0%→80%, Gesamt-VALID 64%→90%.
  6. ~April–Mai 2026Inferenz-Engine-Migration: Ollama komplett raus, durchgängig llama.cpp (ggml-org/llama.cpp:server). Embedding auf CPU-Side-Container ausgelagert, GPU für Chat/Rerank frei.
  7. v2.0.0 (Juni 2026)Scope-Generalisierung: scope von chk_scope-Enum → VARCHAR(50) (Migration M044) als Fundament für Multi-Tenant.
  8. 2026-06-08/09 (Wave 2/3)Cross-Encoder-Reranking neu live (bge-reranker-v2-m3, herbert-rerank), per Live-A/B + 14-Agent-Review bewiesen — mit nuanciertem Verdikt: hilft bei Oberflächen-Queries, schadet bei latentem Graph-Gold.
  9. bis 2026-06Web-Frontend nach 41-Wellen-Masterplan (G01–G41) über 6 Achsen komplett; danach Block-Workbench als erste Folge-Welle. Modelle: Synthese/Dream auf qwen3.6:27b.
TypeScript/n8n → Go-MonolithDer Rewrite, der „ein One-Hour-Problem“ war — getrieben von einer 92-Agent-Sprach-Armada.

Die erste ctx-Idee lief auf n8n: zuerst als MCP-Server in Claude, dann — weil das MCP „müll, zu bloated“ war (es gab den gesamten Input als Output zurück und „redete zu viel“) — über schlankere n8n-Webhooks mit API-Key-Auth. Ein Bun/TypeScript-Standalone-Versuch wurde „schnell wieder verworfen“. Statt die Sprachwahl aus dem Bauch zu treffen, baute GottZ eine 92-Sub-Agent-Armada, die die Kandidaten neutral verglich — Methodik-Prinzip: „ich habe mir werkzeuge gebaut, die mein unwissen abdecken und neutrale ergebnisse liefern“. Ergebnis: Go. Der eigentliche Port war trivial — „der gesamte ctx rewrite von typescript mit n8n zu golang war ein one hour problem“. Heraus kam ein Single-Binary-Monolith (CLI ctx + Daemon ctxd) mit eigenem Inferenz-Client, eigenen Migrations (embed.FS) und LISTEN/NOTIFY-basierter Async-Verarbeitung.

rewritegon8narmadasprachvergleich
Ollama → llama.cpp durchgängigInferenz-Engine komplett getauscht; alle Rollen sprechen jetzt OpenAI-Wire-Protokoll.

Bis etwa April 2026 lief die gesamte Inferenz auf Ollama. Sie wurde durchgängig auf llama.cpp umgestellt (Image ghcr.io/ggml-org/llama.cpp:server) und Ollama komplett entfernt. Alle Backends sprechen seither das OpenAI-Wire-Protokoll, das Routing der Rollen (Chat, Synthese, Dream, Digest, Classify, Translate, Rerank, Embedding) läuft über die Tabelle context_backends. Ein zentraler Schritt war die Verlagerung des Embedding-Dienstes von der GPU auf einen CPU-basierten llama.cpp-Side-Container (llama-embed) am ctx-Host — das gibt VRAM frei für Chat/Rerank auf der RTX 6000, macht aber den Bulk-Embedding-Rebuild zum CPU-Engpass. Synthese/Dream laufen heute auf qwen3.6:27b (herbert-chat, @96k Context), Reranking auf bge-reranker-v2-m3 (herbert-rerank), Embedding auf qwen3-embedding-8b (1024d Matryoshka von nativ 4096d).

llama.cppollamainferenzcontext_backendscpu-embed
RRF-Reifung — Weighted Sum → 4-Way RRFVon einer kaputten gewichteten Summe zur gewichteten Reciprocal Rank Fusion über vier Signale.

Das Retrieval begann als Weighted Sum — die scheiterte, weil ts_rank und Cosine-Similarität inkompatible Score-Verteilungen haben und sich nicht sinnvoll addieren lassen. Ersetzt wurde sie durch eine 3-Way-Hybrid-Fusion (Dense pgvector + Sparse tsvector + Trigram pg_trgm) auf Basis von Reciprocal Rank Fusion, die Ränge statt roher Scores kombiniert. Reife-Schritt war die Erweiterung auf die heutige 4-Way Weighted RRF (k=60): Semantic 0.45 + English FTS 0.25 + German FTS 0.20 + Trigram Title 0.10. Der vierte Kanal (German FTS, Gewicht 0.20) wurde ergänzt, nachdem der Bilingual Gap als 75% des Retrieval-Problems identifiziert war — deutsche Queries auf rein englischen Titeln lieferten faktisch null FTS-Treffer. Die gesamte Fusion läuft in EINER SQL-Transaktion über dieselben Tabellen, ohne Netzwerk-Hop zu einem externen Vektor-Store.

rrfretrievalweighted-sumbilingualfusion
Cross-Encoder-Reranking — neu, mit überraschendem Verdiktbge-reranker-v2-m3 als dediziertes Reranking live — aber empirisch nur für eine Query-Klasse nützlich.

Lange hatte ctx KEINEN Cross-Encoder; Reranking war RRF allein. In Wave 2 (2026-06-08) kam bge-reranker-v2-m3 als lokaler llama.cpp-Sidecar (Port 8082) dazu, bewiesen per Live-A/B (5 Oberflächen-Queries) und 14-Agent-Review, der dabei zwei Scale-Bugs fing. Der eigentliche Lerngewinn kam aus Wave 3 (47 verifizierte Gold-Cases, sweep.py): Der Cross-Encoder hob das Recall-Ceiling NICHT (ein Reorderer kann nichts surfacen, was RRF nicht liefert) und war auf latentem Gold netto null-bis-negativ — er bewertet Oberflächen-Ähnlichkeit, das Gold belohnte aber latente Link-Relevanz. Hard-Coupling graph+ce war sogar destruktiv (R@10 0.571 statt 0.715 für graph allein), weil der CE die graph-injizierten latenten Nachbarn wieder herausrankt. Prod-Verdikt: graph default-ON, rerank default-OFF, bis echtes Oberflächen-Gold existiert; falls CE an, dann mit Blend bw=0.5 und nie als finaler Arbiter. Zwei Pipelines für zwei Query-Klassen statt eines Gewinners.

cross-encoderbge-rerankerrerankingwave-3empirisch
41-Wellen-Web-FrontendVon headless-CLI zu komplettem Dashboard/Chat/Graph/Workbench in 41 koordinierten Wellen.

ctx war ursprünglich reines CLI + API. Das Web-Frontend entstand nach einem Masterplan mit 41 Wellen (G01–G41) entlang sechs Achsen: F1 Config-Kern, F2 Settings, F3 Backend-Pool + Trust, F4 SPA, F5 Graph und F6 Chat. Konkret lieferten die Wellen Dashboard/Settings, einen Chat-Client, eine Graph-Landkarte (Louvain-Cluster-Supergraph über die dream_links, v3.15.0) und einen Backend-Pool mit Vault-Editor (G32) für Provider-Failover. Nach Abschluss des 41-Wellen-Plans wurde die Block-Workbench (CRUD, v3.16.0) als erste Folge-Welle gebaut. Wichtig: Die Graph-Landkarte ist Overview-Visualisierung, NICHT Query-Traversierung — die Dream-Links werden @Query weiterhin nur als supersedes-Drop-Filter genutzt.

frontend41-wellengraph-landkarteworkbenchlouvain
v2.0.0 scope-Generalisierungscope vom Enum (chk_scope) zu VARCHAR(50) — das Fundament für Multi-Tenant.

In v2.0.0 wurde das Scope-Modell von einem harten CHECK-Constraint-Enum (chk_scope, ursprünglich private/work/shared) auf ein generisches VARCHAR(50) generalisiert (Migration M044). Scopes sind seither konfigurierbare Strings statt fest verdrahteter Werte — die Voraussetzung dafür, dass Multi-Tenant (Modell C: Tenant/Scope/Block-Ebenen + Cross-Tenant-Grants) darüber gebaut werden kann. Diese Generalisierung ist Teil einer durchgehenden Linie „hardcoded Mechanismus → konfigurierbare Policy“: Die spätere Kern-Redesign-Entscheidung (block_role-Enum → dynamische Type-Configs, 2026-06-01) ist ausdrücklich „dieselbe Linie, eine Ebene tiefer“ — Mechanismus (Embedding, RRF, Guard, Dream) bleibt Code, Policy wird Daten.

scopev2.0.0migration-m044multi-tenantpolicy-as-data
Dream-Prompt-IterationenVom 53%-korrekten Rohzustand über v3 zur produktions-optimalen v5 — v6 und v7 überlebten nicht.

Die Dream-Cross-Reference-Engine reifte primär über ihren LLM-Prompt. Pre-Reset (2026-04-20) lag die Accuracy bei raw_conf≥0.7 nur bei 53% (47% Fehlerquote): factual überbeansprucht, supersedes drastisch unterproduziert (13/1836), causal ohne Temporal-Check. Daraus wurde Prompt v3 (Session 24, 2026-04-23): topical-as-fallback-Default, supersedes VERY RARE, causal akzeptiert decision→implementation — 62.3% Accuracy auf den top-50 hardest cases (+19.7pp). Welle 46 (Session 38) drehte zusätzlich die supersedes-Konvention (src=old → src=newer) und brachte die supersedes-VALID-Rate von 0% auf 80%. Die spätere Inferenz-Reduktions-Erhebung (W49c) verwarf dann v6 UND v7: Prompt-Varianten heben zwar Real-Recall, kosten aber none-Präzision; produktions-gewichtet (echte Kandidaten-Sets sind 70–85% none) dominiert v5 (beste none-Präzision 0.776) — v5 ist produktions-optimal. minRawConfidence wurde auf 0.7 für alle Typen vereinheitlicht (qwen3.6 hat unkalibrierte Confidence).

dreamprompt-iterationv3v5supersedesaccuracy
Empirische Lehren + bewusst verworfene PfadeWas getestet und verworfen wurde, prägt ctx so stark wie das, was blieb.

ctx wurde durch Live-Tests auf dem echten Korpus geformt, nicht durch Annahmen. Verworfen wurde: n8n (zu bloated, redet zu viel); Q8_0/FP16 zugunsten von Q4_K_M (höhere Gewichtspräzision → mehr Paraphrasierung → Keyword-Coverage fällt von 94% auf 88%, schlechter für RAG); Modelle >9B für die Synthese (bis ~22B getestet, größere extrahieren nicht besser; qwen3.5:9b schlug auch Gemma-Kandidaten — Reasoning-Modi fressen das Token-Budget, Death Spiral bei nativem Thinking: 19.4x Token-Overhead); die Sampler Mirostat/tfs_z/typical_p; ein externer Vektor-Store (Qdrant/Weaviate/Milvus) — verworfen, weil das ACID-Transaktionen, JOINs/CTEs und Atomarität kostet und unter ~5M Vektoren keinen echten Performance-Vorteil bringt; JSONB temporal_coords (zugunsten der EAV context_temporal-Tabelle mit O(log n)); content_dates DATE[]; ein 5. RRF-Channel; SQL-Gravity-Functions; Cosine-Pre-Filter; Two-pass-Synthesis; der GSD-Planner. Weitere validierte Lehren: FTS-Monatsnamen hatten 75% False-Positive-Rate (entfernt, nur ISO+YYYY-MM); Embed-Prefix verursachte 18,6% Centroid-Shift (deaktiviert); Guard-Schwellen 0.95/0.85 hatten 80% FP (auf 0.98/0.92 angehoben); Agent-Claims sind zu ~1/8 sachlich falsch (immer gegen Code verifizieren).

empirischverworfenq4_k_mexterner-vektor-storeyagni
III
Der Feature-Komplex heute

Was ist

Retrieval & Temporal

ctx ruft Wissen über die GottZ 4-Way RRF ab: eine einzige PostgreSQL-Transaktion verschmilzt semantische pgvector-Suche, englische und deutsche Volltextsuche und Trigram-Titel-Matching per gewichteter Reciprocal Rank Fusion (k=60). Darüber liegen eine vollständig deterministische Temporal-Pipeline mit 18 Pattern-Matchern, das physik-inspirierte GottZ Cyclic Phase Model (7 zyklische Dimensionen mit Gaussian Decay) und seit Kurzem ein dediziertes Cross-Encoder-Reranking (bge-reranker-v2-m3). Die finale LLM-Synthese (qwen3.6:27b, think:false) extrahiert nur belegte Fakten aus den Quellen. Die hier genannten Konstanten stammen direkt aus dem Quellcode (Migration 048, config.go, gravity.go) und korrigieren teils veraltete Angaben älterer Briefings.

GottZ 4-Way RRFVier Retrieval-Signale in einer einzigen Postgres-Transaktion per gewichteter Reciprocal Rank Fusion verschmolzen — kein externer Vektor-Store.

Die PL/pgSQL-Funktion ctx_rrf (Migration 048_rrf_exclude_params.sql) berechnet pro Kandidat einen gewichteten RRF-Score über vier parallele CTEs: Semantic (pgvector HNSW Cosine auf halfvec(1024), Gewicht 0.45, LIMIT 75 Kandidaten), English FTS (ts_rank_cd auf ts_en, 0.25, LIMIT 100), German FTS (ts_de, 0.20, LIMIT 100) und Trigram-Title (pg_trgm similarity, 0.10, similarity>0.05, LIMIT 30). Die Fusion nutzt die klassische Formel 1.0/(60 + rank) je Kanal mit k=60, per FULL OUTER JOIN über alle vier Ergebnismengen. Jeder Term wird zusätzlich mit einem block_mass-Faktor (1/sqrt(Anzahl content_times), dämpft Mega-Blöcke) und einem block_role_factor (audit-trail-Damping) multipliziert. Gefiltert wird auf NOT is_archived, block_role != 'system-meta', scope = ANY(read_scopes) sowie optionale category/tags/exclude-Listen. Go ruft die Funktion mit genau einem SQL-Call (rrf.Search) auf und holt intern 200 Kandidaten, damit Gravity, Graph und Reranker auf breiter Basis re-sortieren können, bevor auf das User-Limit (1-20, default 5) gekürzt wird. Der 5. RRF-Kanal wurde in M020 entfernt (nie aus Go aktiviert).

rrfpgvectorfulltextpostgreshybrid-search
RRF-Gewichte, k und Konfidenz-SchwellenSemantic 0.45 / EN-FTS 0.25 / DE-FTS 0.20 / Trigram 0.10, k=60; Score-Thresholds 0.001 (no_relevant) und 0.008 (confident).

Die vier Fusionsgewichte sind in Migration 048 fest verdrahtet: 0.45 Semantic, 0.25 English FTS, 0.20 German FTS, 0.10 Trigram-Title; die RRF-Konstante ist k=60. Die Konfidenz-Klassifikation läuft im Go-Layer (llm.ClassifyConfidence) gegen zwei Schwellen aus der Config-Registry (config.go): query.score_threshold default 0.001 und query.confident_threshold default 0.008. maxScore >= 0.008 ergibt 'confident', >= 0.001 ergibt 'low_confidence' (dann auf max. 2 Quellen begrenzt), darunter 'no_relevant_blocks_found'. Wichtig (verifiziert gegen config.go, korrigiert ein älteres Briefing): der untere Threshold ist 0.001, nicht 0.005 — er wurde in Welle 37 abgesenkt, weil der mass_factor im RRF-Score große Architektur-Blöcke unter 0.005 drückte und damit aus dem Synthesizer fielen. Eine Config-Validierung lehnt score_threshold > confident_threshold ab (macht low_confidence sonst unerreichbar).

rrfthresholdsconfidenceconfigtuning
Cross-Encoder-Reranking (bge-reranker-v2-m3)Dediziertes Post-RRF-Reranking durch einen lokalen XLM-RoBERTa-Cross-Encoder — neu live, A/B-bewiesen.

Nach RRF und Gravity (und vor filterSuperseded) re-bewertet ein Cross-Encoder die Kandidaten. Dispatch erfolgt über die Backend-Routing-Tabelle: trägt ein Backend die rerank-Rolle, geht die Anfrage an den llama.cpp-Sidecar (rerank.Score spricht das Cohere-/Jina-Wire-Format /v1/rerank, Modell bge-reranker-v2-m3 auf CPU, bis zu MaxDocs=50 Kandidaten, je Doc Titel + bis 2048 Zeichen Content); fehlt die Rolle, fällt es auf den historischen LLM-as-Judge über die Synthesis-Chain zurück (bis 15 Docs, 400 Zeichen, JSON-Score-Array). Der Cross-Encoder liefert ROHE Logits (können negativ sein, z.B. -11..+6); rrf.RerankCrossEncoder mappt sie per Sigmoid auf (0,1), bevor geblendet wird. Blend: rerankWeight*rerankNorm + (1-rerankWeight)*rrfNorm, default BlendWeight 1.0 (reine Cross-Encoder-Ordnung, finaler Arbiter auch über graph-injizierte Nachbarn). rerank.Score richtet die Server-Antwort STRIKT per result.Index neu aus (der Server sortiert absteigend und kürzt auf top_n — Array-Position ist bedeutungslos) und validiert lückenlose Index-Abdeckung. Beide Pfade sind fail-open: jeder Fehler behält die Pre-Rerank-Ordnung. Wegen der CPU-Latenz (~1s pro Paar) hält ein chunked-Body-Heartbeat (alle 25s ein Leerzeichen, gültiges JSON-Prefix) die Verbindung durch puffernde Reverse-Proxies offen.

rerankcross-encoderbge-reranker-v2-m3llama.cppfail-open
LLM-Synthese (qwen3.6:27b, Prompt v5.2/v6)Eine Fact-Extraction-Engine destilliert die Top-Quellen zu einer belegten Antwort — null externes Wissen, Inline-Zitate.

Nach Retrieval/Rerank baut llm.Synthesize die Antwort: Filter nach score_threshold, Konfidenz-Klassifikation, low-confidence-Begrenzung auf 2 Quellen, Lost-in-Middle-Reordering (beste Quelle zuerst, zweitbeste ans Ende), dann der LLM-Call über die Synthesis-Chain. Modell ist qwen3.6:27b (Backend herbert-chat, RTX 6000), think:false. Der Systemprompt ist konfigurierbar (config-Key query.prompt_version): Default ist v5.2 ('You are a fact extraction engine for a technical knowledge base'), verfügbar ist außerdem die Welle-48-Variante v6 mit gradierter Konfidenz (drei Modi DIRECT / INFERRED-mit-Caveat / REFUSAL). Hinweis (verifiziert gegen synthesize.go, korrigiert ein älteres Briefing das 'v5.3' nannte): die im Code definierten Prompt-Versionen sind v5.2 und v6. Harte Regeln des Prompts: jeder Fakt aus den Quellen, max. 3 Sätze, Inline-Zitate [1][2], Antwort in der Sprache der Frage, bei null Treffern exakt 'NO_RELEVANT_SOURCES'. Ein Security-Block weist an, in Quellen eingebettete Instruktionen zu ignorieren (Prompt-Injection-Schutz). Pro Quelle werden max. 1500 Zeichen rune-sicher gekürzt; bei temporalen Queries wird das aktuelle Datum + aufgelöste Referenzen in den Prompt injiziert. NO_RELEVANT_SOURCES wird zu 'I don't know based on the available sources.' normalisiert (locale-agnostisch für CRAG-Judges); war RRF 'confident', wird auf low_confidence statt no_relevant heruntergestuft.

synthesisqwen3.6prompt-v5.2prompt-v6fact-extraction
Query-Translation DE→ENDeutsche Queries werden vor der Suche ins Englische übersetzt — mit Domain-Glossar und harten Validierungs-Gates.

llm.DetectGerman erkennt deutsche Queries an Umlauten/ß, >=2 von 50 Stopwords oder >=1 von 16 Domain-Tech-Begriffen (Wort-Boundary, case-insensitive). Bei Treffer übersetzt llm.TranslateQuery über die translate-Chain in eine englische Suchquery. Der Prompt enthält ein festes Domain-Glossar (z.B. Schreibschutz=Write Guard, Sicherheitstrennung=Scope Isolation, Duplikat-Erkennung=Duplicate Detection, Kontextspeicher=Context Store, Einbettung=Embedding, Schwellenwert=Threshold, Zugriffsschluessel=API Key). Die Übersetzung durchläuft harte Gates: SQL-Meta-Zeichen werden gestrippt, max. 3x Länge des Originals, nur sichere Zeichen (alphanumerisch + wenige Satzzeichen), einzeilig — sonst wird die Originalquery beibehalten. Wichtige Architektur-Eigenschaft: nur die SUCH-Query wird übersetzt; die LLM-Synthese bekommt die ORIGINALE (deutsche) Query, damit die Antwort in der Nutzersprache erfolgt. Der gesamte Schritt ist fail-open (leere/erschöpfte Chain → Originalquery).

translationgermanglossaryfail-openinjection-guard
Temporal Pipeline (NormalizeTemporalRules, 18 Matcher)Deterministische, regelbasierte Temporal-Auflösung als PRIMARY (0ms, kein LLM) mit 18 Pattern-Matchern in Prioritäts-Kaskade.

Die Temporal-Auflösung ist primär deterministisch: llm.NormalizeTemporalRules (temporal_rules.go) läuft ohne LLM-Call. Es gibt exakt 18 match*-Funktionen (per grep verifiziert), abgearbeitet in einer Prioritäts-Kaskade von spezifisch zu vage: P1 ISO-Daten (rein linear) → P2 Compound-Ranges (von-bis, linear+weekday) → P3 Seit/Bis (linear+month) → P4 Wochen-Segmente → P5 relative Wochen → P6 relative Monate → P7 Weekday in einer Woche → P8 relative Tage (vor/in N Tagen, rein linear) → P8a Jahres-Feiertage (month+seasonal) → P8b Monats-Segmente (Monatsanfang/-ende, monthday) → P8c Tageszeit (morgens/abends, daily) → P9 Wochenende (weekday-dominant) → P10 Multi-Keyword (heute und morgen) → P11 Weekday + Verb-Tempus → P12 simple Keywords inkl. Tippfehler. Hilfsfunktionen: DetectVerbTense/hasPerfektForm (Vergangenheit→LAST, Zukunft→NEXT), hasRecurrence ('immer/jeden/dienstags' upgradet zu purer Weekday-Gewichtung), Levenshtein-Fuzzy für Tippfehler. Erst wenn die Regeln nil liefern UND HasTemporalIntent (Whole-Token-Match gegen ~70 Intent-Wörter + ISO-Regex) true ist, greift der LLM-Fallback (NormalizeTemporal über die translate-Rolle, Kalender mit expliziter LAST/NEXT-Tabelle, damit das Modell nur nachschlägt statt zu rechnen).

temporaldeterministicpattern-matcherverb-tenserecurrence
FTS-Temporal-Expansion (nur ISO + YYYY-MM)Temporale Treffer expandieren die FTS nur um hochpräzise Datums-Identifier — Wochentags-/Monatsnamen wurden empirisch verworfen.

Aufgelöste Daten werden via TemporalToFTSExpansion in einen websearch_to_tsquery-OR-String übersetzt, der als zusätzlicher FTS-Kanal in ctx_rrf einfließt. Bewusst eng gehalten: nur ISO-Daten (2026-03-23) und YYYY-MM-Präfixe (2026-03). Wochentagsnamen, Monatsnamen und KW-Nummern wurden entfernt — empirischer Befund T07 (Session 22): sie verursachten 75% False-Positive-Rate in den Top-5, weil sie jeden Block matchen, der das Wort zufällig erwähnt, statt temporal verwandte Blöcke. Skalierungs-Caps für 1M+ Blöcke: max. 7 eindeutige Daten bekommen Per-Tag-Expansion (sonst erste + letzte Hälfte), Gesamt-Cap 20 OR-Terme (GIN-Kosten skalieren linear mit Term-Zahl × 2 FTS-Kanäle). Die eigentliche temporale Relevanz läuft NICHT über FTS, sondern Post-RRF über Gravity-Boost und die context_temporal-Dimension-Table. Auch der Embed-Prefix für temporale Augmentation ist deaktiviert (T06: verschlechtert 4/5 Queries, ~33% Centroid-Shift).

temporalftsiso-datesfalse-positivesscale-cap
GottZ Cyclic Phase Model7 zyklische Zeit-Dimensionen mit Gaussian Decay als Post-RRF-Reranker — 'dienstags' bevorzugt Dienstag-Blöcke kontinuierlich.

Das Cyclic Phase Model (gravity.go) behandelt jede zyklische Zeitstruktur als unabhängige Dimension mit normalisierter Phase [0,1) und eigenem Gaussian-Decay-Sigma: weekday σ=0.07 (7d-Zyklus), month σ=0.10 (12-Monats-Zyklus), quarter σ=0.12 (4 Quartale, breiter weil unpräzise), week σ=0.08 (52-Wochen-ISO), monthday σ=0.10 (~30-Tage Monatsanfang/-ende), seasonal σ=0.08 (365-Tage), daily σ=0.08 (24h Tageszeit). Year bleibt linear-monoton (nicht zyklisch). Der Parser setzt pro Matcher DimensionWeights (Beispiele aus dem Code: 'am 2026-03-27' → {linear:1.0}, 'am Dienstag' → {linear:0.6, weekday:0.4}, 'immer dienstags' → {weekday:1.0}, 'Q1 Reviews' → {quarter:1.0}, 'im März' → {linear:0.5, month:0.5}). ComputeCyclicGravity berechnet je Dimension die CyclicDistance zwischen Query-Phase und Block-Phase, wendet GaussianDecay = exp(-d²/(2σ²)) an und nimmt das Maximum über alle Anker eines Blocks (best match, nicht Summe), dann gewichtete Summe über Dimensionen. Beispiel σ=0.07: Montag→Dienstag (Distanz 1/7) decays auf ~0.13, Montag→Mittwoch (2/7) auf ~1e-4 (effektiv null). Der Boost ist multiplikativ und auf max. 0.30 (30% Score-Anhebung) gedeckelt, skaliert mit der Summe der zyklischen Gewichte; Blöcke ohne passende Dimension bekommen Faktor 1.0 (neutral, keine Strafe).

temporalcyclic-phase-modelgaussian-decayrerankerdimension-weights
Temporal Gravity (linear) + Dimension TablePhysik-inspirierte Distanz-Gravitation mit asymmetrischem Power-Law plus EAV-Dimensionstabelle mit O(log n)-Lookups.

Der lineare Gravity-Pfad (ComputeGravity/ApplyGravityBoost) behandelt Blöcke als Massen im Zeit-Raum: gravity = Σ 1/dist^power über die content_times relativ zum Query-Zieldatum, Basis-Power p=1.5, min. Distanz 0.5 Tage gegen Singularität. Die Gravitation ist asymmetrisch: zukünftige Daten bekommen einen 1.2× schärferen Cutoff, vergangene ein 'Forward Telescoping' — der Backward-Power wird per 1/(1+0.3·ln(1+age/30)) abgesenkt, sodass ältere Blöcke einen breiteren Gravitations-Brunnen erhalten (kalibriert an Rubin & Baddeley 1989: ältere Erinnerungen sind gröber; age=30d→power≈1.24, age=365d→power≈0.86). Cutoff default 14 Tage (60 bei Ranges), Direction-Filter (past/future/both), Boost gedeckelt auf 0.30. Die GottZ Temporal Dimension Table (context_temporal, Migration 009) ist eine EAV-Tabelle (block_id, source_date, dimension, value) mit partiellen B-Tree-Indizes je Dimension (year/month/week/weekday/quarter) für O(log n)-Filterung — neue Dimensionen ohne Schemaänderung. Der Handler holt für zyklische Queries die Dimensionen per FetchBlockDimensions, für lineare die content_times per FetchContentTimes; gemischte Gewichte ('am Dienstag') laufen beide Pfade, jeweils mit ihrem Gewicht skaliert, sodass der Gesamt-Boost ≤0.30 bleibt.

temporal-gravitypower-lawrubin-baddeleyeavcontext_temporal
filterSuperseded (temporal-gated)Veraltete Blöcke fallen aus den Ergebnissen, sobald ihr Nachfolger ebenfalls im Resultset ist — aber nur bei nicht-temporalen Queries.

Vor dem Kürzen auf das User-Limit reichert der Handler die Ergebnisse mit der dream.SupersedesMap an (Key = veralteter Block, Value = neuere Superseder-IDs; Konvention seit Welle 46). filterSuperseded entfernt einen superseded Block NUR, wenn mindestens einer seiner Superseder ebenfalls im Resultset präsent ist (Sicherheitsregel — sonst bliebe die aktuelle Info ganz aus). Entscheidend ist das Temporal-Gate: der Filter läuft ausschließlich für nicht-temporale Queries (temporalResult == nil oder keine Dates) — temporale Queries brauchen explizit historische/veraltete Blöcke und dürfen ihren Verlauf nicht verlieren. Die RRF-Score-Ordnung bleibt erhalten. Im API-Response trägt jede Quelle optional ein superseded_by-Feld. Architektonische Grenze (ehrlich dokumentiert): die Dream-Links werden @Query NICHT traversiert — der Graph dient hier nur als Supersedes-Drop-Filter; die optionale Graph-Expansion (1-Hop entlang positiver Dream-Links, Post-RRF/pre-Rerank) ist ein separates, default-OFF gegatetes Feature.

supersedestemporal-gatedream-linksfilteringfreshness

Dream Mode, Guard & Embedding

Drei asynchrone Hintergrund-Subsysteme bilden das selbstpflegende Nervensystem von ctx. Dream Mode ist eine LLM-getriebene Cross-Reference-Engine, die latente Beziehungen zwischen Blöcken inferiert und als typisierte Kanten in den Graphen schreibt. Der Guard wacht über jeden Schreibvorgang und fängt Near-Duplicates per HNSW-Ähnlichkeit ab. Die Embedding-Schicht erzeugt 1024-dimensionale Matryoshka-Vektoren (qwen3-embedding-8b) und füllt fehlende Embeddings asynchron nach. Alle drei werden über PostgreSQL LISTEN/NOTIFY ereignisgesteuert angestoßen.

Dream Mode — asynchrone Cross-Reference-EngineLLM inferiert latente Beziehungen zwischen Blöcken und schreibt sie als typisierte Graph-Kanten

Dream Mode ist die Komponente, die den Wissensgraphen ohne menschliches Zutun verdichtet: Ein Scheduler-Worker (Parallelität 1) zieht einen Block aus dem Korpus und sucht nach verwandten Blöcken, die ein Mensch beim Speichern nie explizit verlinkt hätte — die LATENTEN Querverbindungen. Die Pipeline läuft in acht Schritten (definiert in go/internal/dream/dream.go): Step 0 Cycle-Skip (übersprungen, wenn kein Backend die Rolle bedient), Step 1 Block-Pick (unchecked zuerst, dann ältester mit abgelaufenem Cooldown via FOR UPDATE SKIP LOCKED), Step 1b temporale Dimensions-Validierung, Step 2 LLM-Keyword-Extraktion (max. 5, pro Block persistiert und wiederverwendet), Step 3 RRF-Suche pro Keyword, Step 4 LLM-Evaluation der Kandidaten, Step 5 Write-Links, Step 5b Recurrent-Erkennung, Step 6 Quality-Score-Update, Step 7 adaptiver Cooldown, Step 8 Promotion zu Canonical. Die Pipeline-Generation ist Version=5 (Welle 38b, 2026-05-06) und wird mit jedem Link persistiert. Cooldowns sind adaptiv: 3 Tage für Blöcke, die Links produziert haben (CooldownActiveDays), 14 Tage für Blöcke ohne Links (CooldownInertDays), 5 Minuten bei transienten Systemfehlern wie LLM-Timeouts (CooldownTransientMinutes). Im Leerlauf wartet der Worker 20s (CTX_DREAM_IDLE_WAIT, hot-mutable). Ein Throttle-Mechanismus erzwingt GPU-Cooldown-Pausen zwischen den LLM-Calls (on/throttled/off via API + CLI).

dreamcross-referencegraphasyncpipelinescheduler
Dream Link-Typen & Evaluation-Prompt5 Beziehungstypen, davon 4 per LLM-Prompt klassifiziert, recurrent über separaten Phase-1/2-Pass

Der Graph kennt fünf Kantentypen (validRelationships in linkfilters.go): supersedes (Quelle korrigiert/ersetzt einen konkreten Fakt im Ziel — VERY RARE), causal (Quelle beschreibt ein Ereignis/eine Entscheidung, deren Eintreten das Ziel ermöglichte; Entscheidung→Implementierung qualifiziert), factual (Quelle SPEZIFIZIERT eine konkrete Sache, die das Ziel implementiert — Einbahn SPEC→IMPL), topical (beide behandeln dasselbe Thema substantiell — der dokumentierte Fallback) und recurrent. Der LLM-Evaluation-Prompt (dreamSystemPrompt in evaluate.go) klassifiziert nur die ersten VIER; recurrent wird separat in einem Phase-1-Pass (gleiche Dimension+Wert in context_temporal UND Titel-Ähnlichkeit > 0.5) plus Phase-2-LLM-Bestätigung erkannt, der nach dem Haupt-Evaluate läuft, sodass recurrent über topical gewinnt. Der Prompt setzt explizit 'topical-as-fallback' als Default. Auf dem top-50-hardest-Benchmark gegen Double-Judge-Stable-Gold erreichte er 62,3% Accuracy (+19,7pp gegenüber Pre-Reset-Baseline 42,6%). Ausgegeben wird ein JSON-Array {target_id, type, confidence}, maximal 5 Einträge. Der Versuch eines V6-Prompts (causal anti-pattern clauses) wurde verworfen: Stable-Gold n=122 zeigte V6 net-worse (54,1% vs 57,4%), Topical-Recall fiel von 76% auf 63% durch Over-Hedging zu 'none'.

dreamlink-typespromptllmclassificationbenchmark
Dream Confidence-Gates & Hard-CapEinheitlicher 0.7-Confidence-Floor (recurrent 0.8), maximal 5 Links pro Zyklus mit Typ-Diversität

Jeder Kantentyp hat einen minimalen rohen (ungewichteten) LLM-Confidence-Floor (minRawConfidence): topical, factual, causal und supersedes liegen bei 0.7, recurrent eine Quantisierungsstufe höher bei 0.8 (Welle 38b — Phase-2-Klassifikation hat mehr Fehlermodi). Der einheitliche 0.7-Floor löste den alten factual=0.9-Gate ab: qwen3.6:27b produziert unkalibrierte Confidence (full_agree-Mean 0.87 vs wrong_type-Mean 0.85 — Gap nur 0.02), weshalb das 0.9-Gate ein Legacy-Workaround für qwen3.5 war und auf 3.6 nur 2 korrekte Links wegfilterte ohne falsche Typen zu entfernen. EvaluateRelationships erzwingt nach der Confidence-Filterung einen Hard-Cap (MaxLinksPerCycle=5), sortiert nach Confidence absteigend mit Typ-Diversitäts-Tie-Break. Die Evaluation läuft über das Backend mit RoleDream (qwen3.6:27b, non-thinking), mit den vom Vendor empfohlenen Sampler-Settings Temperature 0.7, TopP 0.8, TopK 20, NumPredict 400. Der HTTP-Timeout pro Dream-Call ist 180s (DreamTimeout, empirisch aus 5878 Prod-Calls getunt: p50=23s, p90=30s, p99=156s), der gesamte Cycle-Timeout 700s.

dreamconfidencehard-capgatessamplertimeout
Dream Supersedes V8 — Strukturelle SicherheitsnetzeMehrstufiger Go-Pre-Check schützt Supersedes-Richtung: same-cat + source neuer + Titel-Ähnlichkeit ≥0.25

Supersedes ist der gefährlichste Kantentyp (er markiert das Ziel als Snapshot und beeinflusst Retrieval-Filterung), daher gibt es ein mehrstufiges strukturelles Sicherheitsnetz in Go zusätzlich zum LLM-Urteil. enforceSupersedesDirection läuft als Post-Parse-Hard-Constraint (in evaluate.go nach parseLinks, vor filterValidCandidates): Für jeden supersedes-Link muss der Source-Zeitstempel strikt nach dem Target-Zeitstempel liegen; ist die Richtung invertiert, wird der Link zu 'topical' DOWNGRADED statt verworfen (erhält die topische Verbindung). acceptSupersedes (V8, linkfilters.go) prüft beim Schreiben drei Bedingungen: gleiche Kategorie (srcCat == tgtCat), Quelle echt neuer (srcCreated.After(tgtCreated)) und Titel-Ähnlichkeit via pg_trgm ≥ supersedesTitleSimThreshold=0.25. ApplySupersedes (Markierung des Ziels als Snapshot) feuert nur bei gewichteter Confidence ≥0.7. Hintergrund (Welle 46, 2026-05-22): Ein Audit fand ALLE 15 Supersedes-Links in Produktion relativ zur natürlichsprachlichen Semantik invertiert ('A supersedes B' → A ist die neuere autoritative Version). Die Konvention wurde von updated_at auf created_at und die Richtung von 'source älter' auf 'source neuer' umgestellt; Migration 042 truncate context_dream_links und ein Re-Dream-Pass schrieb den Korpus neu.

dreamsupersedesstructural-checksafety-netwelle-46direction
Guard — HNSW-Dedup-Wächter am Write-PathJeder neue Block wird per HNSW-Nachbarsuche geprüft: ≥0.98 Auto-Archiv, 0.92–0.98 needs_review

Der Guard verhindert, dass der Store mit Near-Duplicates zumüllt. Bei jedem Schreibvorgang prüft die PG-Funktion ctx_guard_check (Migration 011) per HNSW-Index den Top-1-nächsten Nachbarn über halfvec(1024)-Cosine-Distanz (cb.embedding::halfvec(1024) <=> v_embedding::halfvec(1024)), exklusive self, archivierte und chunk-Blöcke. Die Schwellen: Ähnlichkeit ≥0.98 → decision 'near_duplicate' → Auto-Archiv (is_archived=true, guard_status='archived_dup'); 0.92–0.98 → 'needs_review' (markiert, aber sichtbar); <0.92 → 'clean'. Diese Schwellen wurden empirisch von 0.95/0.85 angehoben, weil die niedrigeren Werte 80% False-Positive-Rate hatten. Cross-Scope-Status wird gesetzt, wenn der Match in einem anderen Scope liegt und nicht 'shared' ist. RunGuardBatch verarbeitet pending Blöcke (NOT is_archived, kein guard_checked_at, category != 'index', embedding IS NOT NULL, block_type knowledge/source) per FOR UPDATE SKIP LOCKED, damit konkurrierende Guard-Läufe nicht denselben Block greifen. Jeder Block läuft in einem eigenen SAVEPOINT (W47-02 Tx-Abort-Kaskade-Fix): Ein fehlgeschlagener Block (SQL-Fehler) wird auf seinen Savepoint zurückgerollt, ohne die umgebende Transaktion zu vergiften (PG 25P02), und die Schleife fährt fort. Jede Entscheidung schreibt einen Audit-Eintrag in context_write_log.

guardhnswdedupwrite-paththresholdssavepoint
Guard — Ereignissteuerung via LISTEN/NOTIFYPostgreSQL-Trigger feuert ctx_block_write, der Scheduler startet den Guard sofort statt nur im 60s-Intervall

Der Guard läuft nicht stumpf im Poll-Takt, sondern reagiert ereignisgesteuert. Der DB-Trigger trg_block_write feuert bei jedem Block-Schreibvorgang ein PostgreSQL NOTIFY auf dem Kanal ctx_block_write (channelBlockWrite in events/listener.go). Ein pgxlisten-Listener empfängt die Notification und ruft scheduler.NotifyWrite() auf, was den Guard-Lauf unmittelbar anstößt. Als Fallback läuft zusätzlich ein Zeit-Ticker mit guardInterval = 60s (events/scheduler.go), falls Notifications verpasst werden. Bei Reconnect nach Verbindungsverlust signalisiert HandleBacklog bedingungslos Guard+Digest, um während der Trennung verpasste Writes nachzuholen (defaultReconnectDelay 5s). Derselbe Listener-Mechanismus bedient auch den Kanal ctx_settings_write (für Hot-Reload von Settings/Secrets/Backends per psql oder Break-Glass-Edit). Diese Architektur (LISTEN/NOTIFY + SKIP LOCKED + eigene Migrations via embed.FS) ist ein zentrales Design-Prinzip: kein externer Message-Broker, alles in PostgreSQL.

guardlisten-notifyeventsschedulerpgxlistentrigger
Embedding — qwen3-embedding-8b mit Matryoshka-Truncation1024d-Vektoren Matryoshka-truncated von nativ 4096d, L2-normalisiert, mit Quality-Gate

Die Embedding-Schicht (go/internal/embed/embed.go) erzeugt die semantischen Vektoren für Retrieval und Guard. Modell ist qwen3-embedding-8b, das nativ 4096-dimensionale Vektoren liefert, die per Matryoshka-Representation-Learning auf TargetDims=1024 truncated werden — die ersten 1024 Dimensionen tragen den Großteil der Information. Danach folgt L2-Normalisierung und ein Quality-Gate: Die Norm muss in [0.99, 1.01] liegen (minNorm/maxNorm) und die Varianz über minVariance=0.0001 (fängt degenerierte/konstante Vektoren ab). Asymmetrische Instruction-Prefixe trennen Query von Dokument (PrefixQuery: 'Instruct: Represent the query for retrieving relevant documents', PrefixDocument: 'Represent the document for retrieval'). Der Client unterstützt zwei Wire-Protokolle: ollama (/api/embed) und openai (/v1/embeddings) — Host und Protokoll kommen als ein backends.Backend-Tupel, sodass der Wire-Pfad nie vom konfigurierten Host divergieren kann. Es gibt keinen künstlichen Request-Timeout mehr (Latenz ist datenabhängig bei geteilter GPU unter Parallelität); der Parent-Context liefert den echten Timeout. Im aktuellen Stack läuft Embedding als Backend 'llama-embed' (Docker, CPU-only am ctx-Host, physisch getrennt von der GPU) — damit ist CPU-Embedding der Durchsatz-Engpass bei Bulk-Rebuilds, nicht die Live-Query-Latenz.

embeddingqwen3matryoshkaquality-gatel2-normwire-protocol
Embedding — asynchroner BackfillFehlende Embeddings werden vom Scheduler offline und vom Query-Handler inline nachgefüllt

Embeddings werden nicht synchron beim Schreiben erzeugt (das würde den Write-Path blockieren), sondern asynchron nachgezogen. Auf dem Write-Path wird ein Block ohne Embedding gespeichert; der Scheduler-Backfill generiert es dann offline. Zusätzlich gibt es einen inline-Backfill direkt im Query-Pfad: backfillPending (handler/query.go) erzeugt Embeddings für Blöcke, die noch keines haben, BEVOR gesucht wird — im Normalfall ein No-Op (0 Blöcke), aber es garantiert, dass kein frisch geschriebener Block aus dem Retrieval fällt. Jeder Backfill-Wire-Call wird über logEmbedWire mit Pipeline 'embed-backfill' protokolliert. ClearEmbedding (store/blocks.go) setzt das Embedding auf NULL, sodass der Scheduler-Backfill es bei Bedarf (z.B. Modellwechsel) neu generiert. Eine geplante Erweiterung (T35b) schreibt embed_model-Provenance an drei Schreibpfaden (blocks.go, scheduler.go, query.go) plus einmaligem Backfill — Voraussetzung für späteren selektiven Rebuild und Kosten-Attribution per api_key_id.

embeddingbackfillasyncschedulerquery-pathprovenance
Embedding-Storage — TOAST-Layout & CoW-Generationen (geplant)Vektoren liegen out-of-line in TOAST; Multi-Vektorraum-Generationen sind als separate Tabelle geplant

Eine Live-DB-Messung (ctx-Block 019ed21c) ergab: context_blocks.embedding hat attstorage='e' (EXTERNAL) — der Vektor liegt OUT-OF-LINE in der TOAST-Tabelle, NICHT inline im Heap. Ein Metadaten-UPDATE schreibt das externe TOAST-Tupel nicht neu (geteilter Pointer), der Heap bläht durch Block-Updates also nicht mit dem Embedding mit. Schluss: Eine separate Embedding-Tabelle aus reinen Performance-/Fragmentierungsgründen ist YAGNI — TOAST macht den Heap/Vektor-Split bereits. Die richtige FORM für eine separate Tabelle ist hingegen Multi-Vektorraum (verschiedene Generationen, per-Tenant-Modelle, Blue-Green-Rebuild): context_block_embeddings(block_id FK, generation, embedding, PK(block_id,generation)). Diese deckt sich exakt mit der Multi-Tenant-Entscheidung OD-1 (CoW-Embedding, Block 019ed02c): eine geteilte Embedding-Generation als hartes Default (Ghost vom Pool/Parent), Divergenz (anderes Modell/Dimension) materialisiert lazy in separate Ablage, mit Refcount-GC. Ein externer Vektor-Store (Qdrant/Milvus) wurde bewusst verworfen — der Kern-Wert von ctx ist die Hybrid-Fusion (RRF + FTS + Graph dream_links + temporale Gravitation + Scope-Isolation) in EINER SQL-Transaktion; ein externer Store wäre ein Netzwerk-Hop plus Konsistenz-Sync. pgvector ist bei 1M Blöcken gebencht. Bau-Trigger ist datengetrieben: erster inkompatibler Tenant ODER gemessener HNSW-Recall-Druck bei wachsendem N.

embeddingstoragetoastcowgenerationspgvectormulti-tenant

Scope, Auth, MCP & Stack

ctx schützt seinen Wissensspeicher über das GottZ Scope Model: SHA-256-gehashte API-Keys mit Home-Scope und Read-Scope-Liste, fail-closed über die PG-Funktion ctx_auth. Cloud-Clients binden sich per OAuth 2.1 PKCE an den Streamable-HTTP-MCP-Server (fünf Tools); Klartext-Keys verlassen die Datenbank nie. Die gesamte Inferenz läuft on-prem über fünf deklarative llama.cpp-Backends im OpenAI-Wire-Protokoll, geroutet per Rolle und Trust-Stufe. Unterbau ist ein Go-1.26-Monolith (ctx-CLI + ctxd) auf PostgreSQL 18 mit pgvector und TimescaleDB.

  1. Migration 052Admin-Tier eingeführt: server-globaler is_admin-Bit auf API-Keys gatet Settings-, Secrets- und Key-Verwaltung.
  2. Migration 053Deklarativer Backend-Pool (context_backends): ersetzt das hartverdrahtete CTX_CHAT_HOST/Fallback-Paar durch eine Rolle→Backend-Routing-Tabelle mit Trust-Stufen und Hot-Reload via LISTEN/NOTIFY.
  3. ~April 2026Inferenz-Engine-Wechsel: Ollama komplett raus, llama.cpp durchgängig — alle Backends sprechen OpenAI-Wire-Protokoll.
  4. Stand 2026-06-16Live-Modelle: herbert-chat = qwen3.6:27b (think:false), herbert-rerank = bge-reranker-v2-m3, llama-embed = qwen3-embedding-8b (1024d Matryoshka). Fallbacks openrouter (prio 50) und llama-cpu (prio 10).
  5. Live-Stand (Migration 57)Dreistufiges Scope-Modell private|work|shared aktiv (890 / 3 / 21 Blöcke), ctx_auth liefert 6 Spalten. Die Multi-Tenant-Wellen (Migrationen 058–064) sind im Code gebaut, aber noch nicht deployed.
  6. Release v3.16.0Aktueller Release-Tag; Release-Pipeline baut 5 Plattform-Binaries (linux amd64/arm64, darwin amd64/arm64, windows amd64).
GottZ Scope Model — SHA-256-Keys & Home-ScopeSHA-256-gehashte API-Keys mit Home-Scope und Read-Scope-Liste; geschrieben und gelöscht wird nur im eigenen Scope.

Jeder API-Key wird als SHA-256-Hash (via pgcrypto) in context_api_keys gespeichert — Klartext-Keys verlassen die Tabelle nie. Die Authentifizierung läuft über die PG-Funktion ctx_auth($key), die im Live-System sechs Spalten zurückgibt: api_key_id, home_scope, allowed_scopes, read_scopes, is_valid und is_admin. Der home_scope (z. B. private oder work) ist der einzige Scope, in den ein Key schreiben und aus dem er löschen darf; read_scopes = [home_scope] + allowed_scopes bestimmt, was er lesend sieht. Element [0] der read_scopes ist invariant der home_scope — diese Reihenfolge ist wire-tragend (whoami, chat_sessions-Snapshot). Live existieren drei Scopes: private (890 Blöcke), shared (21) und work (3); ein typischer Key wie GottZ Private hat home_scope=private und allowed_scopes={shared,work}. Das Modell ist fail-closed: ein ungültiger oder leerer Key liefert is_valid=false ohne Existenz-Orakel.

scopeauthsha-256fail-closedctx_auth
Admin-Tier & RollentrennungServer-globaler is_admin-Bit (Migration 052) gatet Settings, Secrets und Key-Verwaltung — orthogonal zum Scope.

Über den Scope-Lesefilter liegt ein separater Admin-Tier: das is_admin-Bit auf dem API-Key (eingeführt mit Migration 052). Die RequireAdmin-Middleware sitzt hinter der Auth-Middleware und gatet die sensiblen Routen — /api/settings (Runtime-Overrides), /api/secrets (versiegelte Credentials), /api/status, /api/llmlog und /api/events. Nicht-Admin oder fehlender Auth-Kontext ergibt 403. Der Admin-Tier ist bewusst getrennt vom Scope: ein Key kann admin sein, unabhängig davon, in welchem Scope er liest und schreibt. Live tragen mehrere Keys das Bit (u. a. Admin (dedicated, host-only), OpenCode, MCP claude.ai). Im gebauten — aber noch nicht deployten — Multi-Tenant-Code (Migration 059/060) kommt orthogonal dazu eine Tenant-Rolle (owner | admin | member) hinzu, die Autorität nur innerhalb des eigenen Tenants verleiht; die Go-Konstanten sind byte-identisch an das DB-CHECK gepinnt, damit ein Drift nie still Rechte gewährt.

adminmigration-052rbacfail-closed
OAuth 2.1 PKCE für MCP-Remote-AuthMinimaler eigener OAuth-2.1-Server, der ctx-API-Keys auf Bearer-Tokens mappt — kein externer Provider.

Damit Cloud-Clients wie Claude.ai sich an den MCP-Endpunkt binden können, läuft ein minimaler, selbstgebauter OAuth-2.1-Server (kein externer Identity-Provider). Der Flow: Claude.ai ruft /authorize auf, der User trägt seinen ctx-API-Key in ein HTML-Formular ein, der Server stellt einen einmal-verwendbaren Authorization-Code (5 Minuten gültig, in-memory) aus und leitet zurück; /token tauscht den Code gegen ein Access-Token — wobei das Token schlicht der API-Key selbst IST. PKCE ist Pflicht: nur S256 wird unterstützt (token_endpoint_auth_methods=none), und SHA256(code_verifier) muss den code_challenge treffen, sonst invalid_grant. Zwei Discovery-Dokumente werden bedient: /.well-known/oauth-authorization-server und /.well-known/oauth-protected-resource. Registrierte Clients liegen in context_oauth_clients (client_id-Präfix ctx_, Secret nur als Hash); angelegt werden sie über `ctx mcp add`. Open-Redirect-Abwehr: Scheme-Allowlist (nur http/https) plus Rekonstruktion der Redirect-URL über net/url.

oauthpkces256mcpbearer
MCP-Server (Streamable HTTP, 5 Remote-Tools)Stateless MCP-Server am Endpunkt /mcp mit fünf Tools: query, store, search, get, recent.

ctx exponiert seine Kernfunktionen als MCP-Server (Model Context Protocol) über den Streamable-HTTP-Transport für Remote-Clients wie Claude Code. Implementiert mit dem offiziellen modelcontextprotocol/go-sdk v1.5.0; der Server meldet sich als ctx Version 0.25.3, läuft stateless (jeder Call unabhängig) und antwortet bevorzugt mit JSON statt SSE. Fünf Tools sind registriert: query (Hybrid-Suche + LLM-Synthese, delegiert an den vollen /api/query-Handler inkl. Temporal, RRF, Gravity, Rerank, Supersedes), store (Upsert auf category+title+scope, mit Sensitivity-Gating), search (leichtgewichtige FTS ohne LLM), get (Block per UUID, mit Prefix-Auflösung) und recent (zuletzt geänderte Blöcke). Auth läuft über dieselbe Middleware wie die /api-Routen — X-Context-Key oder Authorization: Bearer — und injiziert das AuthResult in den Request-Kontext; store/search/get/recent sind fail-closed gegen fehlende Tenant-Identität bzw. fehlende Scopes.

mcpstreamable-httpstatelesstools
API-Surface (/api/*) & Routerchi-Router mit /health, OAuth-Endpunkten, /mcp und den authentifizierten /api/*-Routen; SPA als Fallback.

Der HTTP-Daemon ctxd (Port 8080) nutzt einen chi-v5-Router mit globaler Middleware-Kette: SecurityHeaders, RequestID, Logger, Recovery. /health ist anonym und name-frei. Die OAuth-Endpunkte (/.well-known/*, /authorize, /token) liegen ungeschützt davor — sie sind der Auth-Flow. Alle übrigen Routen sind hinter der Auth-Middleware gruppiert: POST /api/query (RRF + Synthese), /api/store (Upsert + Auto-Embed), /api/search (FTS), GET /api/graph/ego und /api/graph/overview, /api/whoami, POST /api/manage (CRUD + Guard), /api/digest, /api/synthesize/daily, die admin-gateten /api/settings und /api/secrets, der Web-Chat (/api/chat/stream + Sessions) sowie Blob-Routen (/api/blob/fetch|search|manage|store). Body-Limits sind gestaffelt: 1 MB Standard, 10 MB für /api/ingest, 75 MB für Blob-Store. Admin-only mit erhöhtem Detail: /api/status, /api/llmlog, /api/events (SSE). Unbekannte Pfade fallen auf die eingebettete SPA durch (History-API-Fallback), während falsche API-Pfade weiterhin 404/405 liefern.

apichictxdroutingsse
Go-Monolith — Packages & BinariesGo 1.26, ein Modul github.com/GottZ/ctx mit zwei Binaries (ctx-CLI + ctxd-Daemon) und rund 25 internen Packages.

ctx ist ein Go-Monolith (Modul github.com/GottZ/ctx, go.mod deklariert Go 1.26.0) mit zwei Einstiegspunkten: der CLI ctx (per go install installierbar) und dem HTTP-Daemon ctxd (Port 8080). Die Geschäftslogik liegt in rund 25 internen Packages, u. a. auth (SHA-256-Key-Verifikation), handler (HTTP/MCP/OAuth), llm (Chat/Synthese/Translate/Classify/Temporal), embed, rerank, rrf (4-Way Reciprocal Rank Fusion), backends (deklarativer Pool), store (PG-Zugriff, Migrationen via embed.FS), dream (async Cross-Reference), guard (Dedup), digest/overview (Topic-Map + Graph), events (Scheduler, LISTEN/NOTIFY), settings, sealbox (versiegelte Secrets), sensitivity und chat. Kern-Abhängigkeiten: go-chi/chi v5.2.5, jackc/pgx v5.9.2 plus pgxlisten (PG LISTEN/NOTIFY mit SKIP-LOCKED-Jobs), pgvector/pgvector-go v0.3.0 und modelcontextprotocol/go-sdk v1.5.0. Eigene Bausteine statt Frameworks: eigener Migrations-Runner (Tracking-Tabelle _migrations), eigener LLM-Client.

gomonolithchipgxpackages
PostgreSQL 18 + pgvector + TimescaleDBEine Datenbank trägt Vektoren, Volltext, Graph und Temporal-Dimension — Hybrid-Fusion in einer SQL-Transaktion.

Der Persistenz-Kern ist PostgreSQL 18 mit den Extensions pgvector (HNSW-Cosine-Index über vector(1024)), pg_trgm (Trigram-Title-Matching), GIN-Volltextindizes (englisch + deutsch) und TimescaleDB. Die Live-DB context_store steht aktuell auf Migration 57 (Tracking in der Tabelle _migrations). Bewusste Entscheidung gegen einen externen Vektor-Store (Qdrant/Milvus): der Kernwert ist die Hybrid-Fusion — RRF + FTS + Graph-Traversal + Temporal-Reranking + Scope-Filter — in EINER Transaktion, alles in SQL; pgvector ist für 1M Blöcke gebencht. Die Embeddings liegen out-of-line in TOAST (attstorage EXTERNAL), sodass Metadaten-Updates das Vektor-Tupel nicht neu schreiben. Die GottZ Temporal Dimension Table (context_temporal, EAV mit partiellen B-Tree-Indizes) liefert O(log n)-Zugriff auf zeitliche Anker. Das Schema umfasst u. a. context_blocks, context_api_keys, context_backends, context_oauth_clients, context_settings/secrets und die Dream-Link-Tabellen.

postgresqlpgvectortimescaledbhnswtoast
llama.cpp-Stack & Backend-PoolFünf deklarative llama.cpp-Backends im OpenAI-Wire-Protokoll, geroutet per Rolle, Priorität und Trust-Stufe.

Die gesamte Inferenz läuft on-prem über llama.cpp (Ollama ist seit ~April 2026 vollständig raus) — alle Backends sprechen das OpenAI-Wire-Protokoll: /v1/chat/completions, /v1/embeddings und die cohere-style /v1/rerank-Schnittstelle. Geroutet wird deklarativ über die Tabelle context_backends: jede Zeile trägt Rollen (synthesis, translate, chat, digest, dream, classify, embed, rerank), eine model_map (Rolle→Modell + Params), eine Priorität und eine Trust-Stufe (full-trust | no-credentials | non-personal | public), die zusammen mit der Block-Sensitivity gatet, welcher Inhalt welches Backend erreichen darf. Die Methode Chain() löst pro Rolle eine Priority-DESC-Kette mit Cooldown-Sortierung auf. Live sind fünf Backends: herbert-chat (qwen3.6:27b, think:false — Chat/Synthese/Translate/Digest/Dream/Classify, full-trust, lan, prio 100), herbert-rerank (bge-reranker-v2-m3, prio 100), llama-embed (qwen3-embedding-8b, 1024d Matryoshka von nativ 4096d, prio 100), openrouter (qwen/qwen3.6-27b, no-credentials, external, prio 50) und llama-cpu (prio 10) als CPU-Fallback. Hardware: herbert ist eine Windows-Box mit einer Quadro RTX 6000 (24 GB), die zwei llama-server fährt (~21 GB belegt); der ctx-Docker-Host hat keine GPU, das Embedding läuft daher CPU-only. Backend-Mutationen greifen ohne Restart (Hot-Reload via LISTEN/NOTIFY).

llama.cppopenai-wirebackendstrust-gatingrtx-6000
Release-Pipeline & VersionierungGitHub-Actions-Pipeline baut fünf Plattform-Binaries; annotierte Tags sind Pflicht, der Tag-Body ist der Release-Text.

Releases entstehen über .github/workflows/release.yml: eine Build-Matrix erzeugt fünf Plattform-Binaries — linux/amd64, linux/arm64, darwin/amd64, darwin/arm64 und windows/amd64. Der aktuelle Release-Tag ist v3.16.0. Die Versionierung ist hook-erzwungen: der pre-push-Hook lehnt Lightweight-Tags bei Version-Releases ab und verlangt annotierte Tags, deren Annotation als Release-Body dient. Weitere Pflicht-Hooks (core.hooksPath = .hooks): pre-commit (golangci-lint auf gestagte Go-Dateien) und commit-msg (README-Review bei feat:-Commits und Schema-Migrationen). Hinweis zur Versionsabgrenzung: der Release-Tag (v3.16.0, MPL-2.0, Autor GottZ) ist unabhängig von der intern gemeldeten MCP-Server-Version (0.25.3), die der MCP-Implementierung gehört.

releaseciversioninggit-hooksmpl-2.0

Web-Frontend, CLI & Schnittstellen

ctx exponiert seinen Wissens-Layer über drei gleichwertige Zugangswege: eine eingebettete Single-Page-Web-App (Svelte 5, in das ctxd-Binary ge-`embed`et), eine umfangreiche CLI-Familie aus 25 cobra-Befehlen und die HTTP-/MCP-API. Das Web-Frontend folgt einem 41-Wellen-Masterplan (G01–G41), der mit v3.14.0 vollständig gebaut und um die Graph-Landkarte (v3.15.0) sowie Multi-Tenant-Sichtbarkeit erweitert wurde; aktuelle Release-Spitze ist v3.16.0. Daneben stehen Blob-Storage für Binärdateien, das Agent-Briefing-System (SubagentStart/Stop-Hooks) und die Obsidian-Vault-Ingestion.

  1. v3.3.0F2-Frontend-Welle (G16–G19) als RC-1 released.
  2. v3.4.0Phase 3 (G21–G24) released — Graph-Grundlage.
  3. v3.13.0F6-Chat-Kette (G35–G38) als RC-3 released.
  4. v3.14.0 (2026-06-13)G39 Graph-Bench + G32 Pool-/Vault-Editor released — schließt den 41-Wellen-Masterplan G01–G41 vollständig.
  5. v3.15.0 (2026-06-14)F5-W6 Graph-Landkarte (Louvain-Overview-Map, Migration 057) released; live deployed mit clusters=70, modularity=0.857.
  6. v3.16.0Aktuelle Release-Spitze.
Web-Frontend (41-Wellen-Plan G01–G41)Eingebettete Svelte-5-SPA mit fünf Bereichen: Settings, Graph, Blocks, Status und Chat — komplett aus dem ctxd-Binary ausgeliefert.

Die Admin-SPA liegt unter go/web/ (Svelte 5.56.3 + TypeScript + Vite, Bun als Toolchain, ca. 13.660 Zeilen Quellcode) und wird per go:embed direkt in das ctxd-Binary kompiliert. Gebaut wird sie in einer eigenen Docker-Stage (oven/bun:1.3-alpine, bun install --frozen-lockfile, svelte-check-Gate) — nur das Docker-Image liefert die echte UI aus; ein nacktes `go install .../cmd/ctxd` produziert ein Binary, das einen 503-Platzhalter zeigt, während alle APIs funktionsfähig bleiben. Die CLI (cmd/ctx) hängt nie am Frontend. Ausgeliefert werden hashed Assets (immutable-cached, vorkomprimiert .br/.gz), History-API-Fallback antwortet nur auf HTML-Navigationen (Accept: text/html), sodass vertippte API-URLs für JSON-Clients 404 bleiben. Der Masterplan G01–G41 wurde mit v3.14.0 (2026-06-13) vollständig gebaut; Routing über sv-router 0.16.3. Aktuelle Release-Spitze: v3.16.0.

frontendsvelte5vitebungo-embedspa
Graph-Landkarte & Louvain-Cluster (F5-W6)Zwei Graph-Ansichten: WebGL-Ego-Netze einzelner Blöcke (sigma) plus eine vor-aggregierte Louvain-Cluster-Landkarte des gesamten Korpus.

Der Graph-Bereich (/graph?focus=<uuid>, deep-linkbar) rendert Dream-Link-Ego-Netze via sigma 3.0.3 (WebGL) über eine einzige graphology-0.26.0-Instanz als Single Source of Truth — bewusst außerhalb der Svelte-Reaktivität, weil der Runes-Proxy-Overhead auf tausenden Knoten-Objekten zu teuer wäre. Layout ist ForceAtlas2 (graphology-layout-forceatlas2) in einem Web-Worker (Blob-URL, CSP trägt worker-src blob:), 3–10s je nach Graphgröße. Client-Speicher ist hart gedeckelt: über 5.000 Knoten / 20.000 Kanten werden die vom Fokus entferntesten Knoten (BFS-Distanz, LRU-Tiebreak) auf 4.000 evakuiert; gepinnte Knoten und der Fokus überleben. Block-Inhalt reist nie über den Graph-Endpoint (nur Titel). Die Graph-Landkarte (Overview-Map, außerhalb des 41-Plans benannt) löst das Scope-Count-Leak über scope-partitionierte Vor-Aggregate (Migration 057: drei normale Tabellen graph_cluster_member/_node/_edge, keine MView) und einen gonum-Louvain-Daemon-Job (internal/overview/cluster.go, raw_confidence-Gewicht, hartverdrahtete Seeds für Reproduzierbarkeit, advisory-lock); cluster_id wird nie roh exponiert, sondern per-Request als Ordinal vergeben. Released v3.15.0 (2026-06-14). LIVE deployed: clusters=70, nodes=669, edge_rows=58, modularity=0.857, elapsed=45ms (Korpus aktuell 691 Blöcke).

graphsigmagraphologylouvaingonumforceatlas2migration-057
Block-Workbench (CRUD über Settings/Blocks/Chat)Korpus-Browser mit Volltextsuche, Facetten und sensitivitäts-gegateter CRUD plus generischer Settings-Editor und streamender Chat-Bereich.

Der Blocks-Bereich ist ein Korpus-Browser: Volltextsuche plus Kategorie-/Tag-/Scope-Facetten, eine sensitivitäts-badged, keyset-paginierte newest-first-Liste über das scope-gegatete /api/search, ein Detail-Panel und Create/Edit/Delete über /api/store plus manage update/delete (mit Sensitivity-Downgrade- und Delete-Bestätigungen). Der Settings-Bereich rendert den kompletten Settings-API-Katalog generisch aus Registry-Metadaten — eine Kategorie-Karte pro Key-Präfix, Widgets per Registry-Typ dispatched, Source-Badge (default/env/db) und Env-Var-Name je Feld; Hot-Keys editieren live, Restart/coupled-Keys bleiben read-only. Eingebettet ist die Backends-Subroute (/settings/backends): Backend-Pool-Editor mit Trust-Dropdown und Elevation-Confirm-Dialog, Rollen-Multiselect, model_map-Zeileneditor, Prioritäts-Reihung und per-Zeile-Reachability-Test, plus der write-only Secrets-Vault mit Referenz-Tracking. Der Chat-Bereich (/chat) streamt einen Turn von POST /api/chat/stream über fetch + eventsource-parser (kein Reconnect — ein Turn ist one-shot), zeigt einklappbare Tool-Call-Cards und einen Backend-Badge; Assistant-Markdown läuft durch markdown-it (html:false) + DOMPurify, ctx-Zitate werden vor der Sanitisierung zu /graph?focus=<id> umgeschrieben. Test-Abdeckung: vitest, svelte-check 0/0.

blockscrudsettingschatssedompurifysvelte5
CLI-Familie (25 cobra-Befehle)Das ctx-Binary bündelt genau 25 Top-Level-Befehle von query/save/search über dream/guard bis brief/persist/ingest.

Die CLI (cmd/ctx, spf13/cobra) registriert exakt 25 Top-Level-Befehle: query, save, search, stats, categories, get, delete, list-meta, digest, guard (list/stats/resolve/throttle), manage, health, ingest, statusline, dream (stats/review), mcp, keys, brief, persist, settings (get/set/unset/list), secrets, backends (list/create/update/delete/test), eject und init. `ctx query` ist die Primärschnittstelle (hybride semantische + Volltextsuche mit LLM-Synthese, gibt Antwort + Quellen-Refs zurück); `ctx save`/`store` upserted nach (category, title) und generiert Embeddings; `ctx search` liefert kompakte Treffer ohne LLM. Administrative Befehle wie `keys` (X-Context-Key-Provisionierung, home_scope ist seit v2.0.0 Pflicht bei Erstellung) und `mcp` (OAuth-Client-Registrierung für MCP-Remote) runden die Familie ab. Die CLI hängt nie am Web-Frontend.

clicobraquerysavesearchkeys
Blob StorageVier Endpunkte für Binärdateien — store/fetch/search/manage — mit 50-MB-Limit, Upsert nach Kategorie+Titel und Scope-Gating.

Blob-Storage exponiert vier POST-Endpunkte (/api/blob/store, /fetch, /search, /manage), registriert in cmd/ctxd/server.go. store nimmt base64-kodierte Daten (Limit 50 MB, sonst 413), validiert das Write-Scope gegen home_scope bzw. shared (sonst 403), respektiert das Schreib-Rate-Limit und upserted über store.UpsertBlob nach (category, title) mit Filename, MIME-Type, Tags, Metadata, Checksum und storage_type. fetch holt per ID oder Kategorie/Titel (MetaOnly-Option, Daten base64-kodiert), search filtert scope-gegatet nach Kategorie/Tags/MIME-Type/Limit, manage kennt die Actions stats, get, list und delete. Jeder Schreibvorgang wird per LogAccess fire-and-forget protokolliert. Auth über denselben X-Context-Key-Header.

blobbinarystoragerest-apiscope-gating
Agent Briefing (ctx brief/persist als Hooks)Zwei CLI-Befehle docken als Claude-Code-SubagentStart/Stop-Hooks an und brücken Subagenten in den Store.

`ctx brief --hook` ist der SubagentStart-Hook: er liest das CWD aus stdin-JSON, sucht project-getaggte Blöcke der Kategorie agent-briefing (Fallback auf untagged) und gibt das Claude-Code-Hook-JSON-Format zurück (continue, suppressOutput, hookSpecificOutput.additionalContext). Ohne --hook liefert er menschenlesbaren Text; Scoping per Projekt-Tag (git-root oder CWD), Default-Limit 20 Blöcke. `ctx persist --hook` ist der SubagentStop-Hook: er parst [PERSIST:category:title]-Marker aus der letzten Assistant-Message und speichert sie in den Store, inklusive automatisch angereicherter Metadaten (session_id, hostname, project, agent). Beide degradieren still (kein Fehler), wenn ctx unerreichbar ist oder keine Marker gefunden werden. Der `-p`-Armada-Modus (`claude -p "..."`) dient als Context-Firewall, der Subagenten isoliert.

agent-briefinghookssubagentpersistarmadaclaude-code
Obsidian-Ingestionctx ingest scannt einen Obsidian-Vault, parst und chunkt Markdown und lädt batchweise in den Store.

`ctx ingest <vault-path>` durchläuft ein Obsidian-Vault-Verzeichnis, parst und chunkt alle .md-Dateien (collectMarkdownFiles überspringt .obsidian/, Dot-Verzeichnisse und node_modules) und lädt sie batchweise hoch. Der Parser (internal/ingest, Package ingest) verarbeitet Frontmatter (Tags, Date, Title, Aliases, Custom-Fields). Metadaten werden mit source=obsidian markiert. Flags: --dry-run (Vorschau ohne Upload), --workers und --batch zur Durchsatzsteuerung. Aufruf z. B. `ctx ingest /path/to/vault/ --workers 4 --batch 100`.

ingestobsidianmarkdownfrontmatterchunking
IV
Roadmap & Ausblick

Was wird

ctx entwickelt sich vom Einzelperson-Store zur mandantenfähigen Wissensplattform. Im Bau ist das Multi-Tenant-Modell C (Tenant/Scope/Block) mit 20 von 44 Wellen committet. Darauf setzen zwei geplante Ausbaustufen auf: ein Enterprise-Aufsatz (Reseller, Konzern-Hierarchie, Testbereiche, separate Models, Lastverteilung) mit rund 140 Anforderungen sowie eine Workflow-Engine, die Block-Verhalten von hardcodiertem Enum zu dynamischer Policy-Config wandelt und Issues als eigenen Tenant-Korpus führt. Die vollständige Ausarbeitung steht im separaten Planungs-Report (ctx-planning.html).

  1. in BauMulti-Tenant Modell C — 20 von 44 Wellen committet (HEAD ddbfd7f), Migrationen 058–064
  2. geplantMT-Enterprise-Aufsatz — 5 Dimensionen, rund 140 Anforderungen (Aufsatz auf Modell C)
  3. nach MTWorkflow-Engine: Block-Types Enum → dynamische Policy-Config; Issues als Tenant-Korpus (W1–W4)
Multi-Tenant Modell C (in Bau)3-Ebenen-Mandantenfähigkeit Tenant/Scope/Block — 20 von 44 Wellen committet, additiv und pausierbar.

Die Kern-Ausarbeitung folgt dem Hybrid-Modell C mit drei Ebenen: TENANT (context_tenants, Owner-Register als unabhängiges Projekt/Firma), SCOPE (context_tenant_scopes, bleibt Daten-Diskriminator ohne tenant_id auf Daten-Tabellen) und BLOCK (context_block_grants, row-level Freigabe). Der API-Key trägt tenant_id und tenant_role; read_scopes werden per-Tenant in ctx_auth aufgelöst (own ∪ Grants, fail-closed). Umfang: 44 Wellen (T01–T43, T40 gespalten), Phasen A–G, 11 Migrationen 058–068, rund 7805 LOC. Verifiziert gegen Git (Branch feat/multi-tenant, HEAD ddbfd7f): 20 Wellen committet, Migrationen 058–064 (7 Stück) vorhanden — alle additiv und verhaltensneutral, damit der Bau jederzeit pausierbar bleibt. Noch lokal, nicht gepusht oder deployed (echte DB max(migration)=57).

multi-tenantmodell-croadmapin-bautenant-scope-block
MT-Enterprise-AufsatzFünf Enterprise-Dimensionen mit rund 140 Anforderungen als Aufsatz auf Modell C.

Auf die Kern-MT-Planung setzt ein Enterprise-Aufsatz auf, ausgearbeitet über fünf Dimensionen: Reseller/Mandanten-Verwaltung, Konzern-Hierarchie (Mutter/Tochter), Testbereiche/ephemere Tenants, separate Models (Embedding + Inference) und Lastverteilung. Branding/White-Label ist bewusst geparkt. Kern-Erkenntnis: Verwaltungs-Vererbung ist orthogonal zur Daten-Sicht-Vererbung — Letztere ist opt-in und oft Anti-Feature. Der Super-Tenant ist ein realer default-Tenant als Baum-Wurzel (parent NULL); _global wird nie Tenant. Geteilte Embedding-Generation ist hartes Default, Last schlüsselt auf tenant_id. Die Analyse umfasst rund 140 Anforderungen und identifiziert sechs fail-open-Stellen im MT-Pfad.

multi-tenantenterpriseresellerkonzern-hierarchielastverteilungroadmap
Workflow-Engine & Issue-System (Vision)Block-Types von hardcodiertem Enum zu dynamischer Policy-Config — Issues als eigener Tenant-Korpus.

Nach Web-Frontend und Multi-Tenant geplant (noch nicht gebaut): das Kern-Redesign trennt Mechanismus von Policy. Das hardcodierte 4-Klassen-block_role-Enum (system-meta/audit-trail/reference/knowledge) wird zu konfigurierbaren Type-Configs mit Verhaltens-Feldern (retrieval_policy, guard_dedup, dream_linkable). Ziel: User bauen eigene Workflows auf ctx. Erster Workflow darauf ist ein Issue-System, bei dem ein Issue ein context_block in einem repo-spezifischen Scope-Tenant ist und gratis die ctx-Maschine erbt: Guard als Duplikat-Erkennung, RRF als related-issues, Dream als autonomes Cross-Linking. Forge-Sync (GitHub zuerst) gleicht über 3-Wege-Content-Hash ab. Endziel: User und Agenten dokumentieren den Rest als Issues im System selbst, dann entfällt todos.md ganz.

workflow-engineissue-systempolicy-configblock-typesvisionforge-sync

Die Zukunft im Detail — offene Themen, Wellen und Entscheidungen — steht im begleitenden Planungs-Report.

V
Im Vergleich

Wettbewerb & Landschaft

Vergleichsmatrix

LösungHosting/BetriebLizenz/OSSKostenmodellRetrieval-ArchitekturRerankingKnowledge-Graph (explizit vs. latent vs. Query-Traversal)Temporal-ModellMulti-TenancyLLM-/MCP-IntegrationÖffentlicher BenchmarkZielgruppe
ctxSelf-hosted Single-Go-Binary (ctx+ctxd) auf 1× PostgreSQL 18; Single-Node, 1× RTX 6000MPL-2.0 (Copyleft pro Datei), Open SourceAll-local, $0 laufende API-/Hosting-Kosten (llama.cpp on-prem)4-Way RRF in EINER PG-TX: semantic pgvector + EN-FTS + DE-FTS + Trigram-Title, k=60; kein externer StoreCross-Encoder bge-reranker-v2-m3 (XLM-RoBERTa), A/B-validiertLLM-inferierte LATENTE Links (Dream, 5 Typen: topical/factual/causal/recurrent/supersedes); GraphExpand = seed-basierter post-RRF Boost/Injection (1-Hop default, fail-open, Reranker als Arbiter), KEIN relationaler WalkCyclic Phase Model: 7 zyklische Dimensionen + Gaussian Decay + Temporal Gravity (feingranular)Scope-Modell (private/hth/shared) live; Modell-C-Multi-Tenant in Bau (nicht deployed)MCP Streamable-HTTP, 5 Remote-Tools (query/store/search/get/recent), OAuth 2.1 PKCE; ~22 CLI-PrimitiveEndogen (eigene eval.sh, frozen baseline) — KEIN öffentlicher BenchmarkSouveräner Selbstbetreiber / Architekt, Cross-LLM-Power-User
gbrain (Garry Tan/YC)Self-hosted; lokal embedded PGLite (PG17/WASM, zero-config), gross externes Postgres/SupabaseMIT (permissiv), Open Source, TypeScript/BunMIT free; Default-Pfad hosted ZeroEntropy/OpenAI (~single-digit $/Mo); fully-local möglichHybrid: pgvector HNSW + BM25/FTS + RRF (k=60) + source-tier/backlink-Boost + intent-aware RewritingDefault ZeroEntropy zerank-2 (hosted); fully-local via Qwen3-Reranker möglichZero-LLM Regex/Wikilink-Graph (typisierte Edges); deterministische Multi-Hop-Traversierung @Query (graph-query, seit 07.06.2026): beantwortet Cross-Entity-Fragen ohne gemeinsame Seiterecency + valid_until + last-updated + soft-delete; KEIN cyclic-Modell, Temporal nicht first-classlogin-scoped slices, OAuth 2.1/PKCE/DCR, scope-gated; company-brain-Federation; Design-Center Single-Operator30+ MCP-Tools (stdio+HTTP) + 43 Skills; Claude Code/Codex/Cursor/ChatGPT/PerplexityÖFFENTLICH: LongMemEval R@5 97.6%, eigenes BrainBench (P@5 49.1%, +31.4 durch Graph)Einzelpersonen/Power-User (Tans 146k+-Seiten-Brain), bis Teams/kleine Enterprises
Mem0Self-hosted (3 Docker-Container: FastAPI + pgvector + Neo4j) ODER Managed-SaaSApache-2.0 (Open-Core), primär PythonOSS free; Plattform Free/$19/$249-Pro (Graph erst ab Pro); Default externe LLM-APIHybrid 3 Backends parallel: Vektor + Graph + Key-Value; Routing-Layer pro Retrieval; Vektor-Store wechselbar (20+)Kein Cross-Encoder-Reranking (laut Vergleichsanalyse 2026)Explizite Entity-Relationen (Neo4j/FalkorDB), bei Query TATSÄCHLICH für Multi-Hop traversiertTemporal nicht als zyklisches Modell; History-Audit-Log; LLM-getriebenes ADD/UPDATE/DELETE/NOOPShipped & first-class: user/agent/run/app/org/project-Scopes, Server-Mode + Per-User-KeysOpenMemory MCP (im Sunset); 21+ Framework-Integrationen (LangChain/CrewAI/LlamaIndex)ÖFFENTLICH: LoCoMo 91.6 / LongMemEval 94.8 / BEAM 64.1(1M) + arXiv-PaperApp-/Agent-Entwickler (Memory-as-Infrastructure)
Letta (ex-MemGPT)Self-hosted (Docker + PostgreSQL/pgvector) ODER Cloud Constellation; PythonApache-2.0, Open SourceOSS free (nur Hosting/API); Cloud Free/$20-Pro; Default-Embedding OpenAI (hosted)Memory-Hierarchie core/recall/archival; agentic (Agent ruft Tool pro Tier); 2-Wege-Hybrid RRF (Vektor+FTS) self-hostedKein Cross-Encoder-RerankingKein Link-/Cross-Reference-Graph; Sharing über shared Memory-Blocks zwischen AgentenKein zyklisches Temporal-Modell; self-editing Memory + sleep-time agentsMulti-Agent/Tenancy produktiv (managed); shared-memory-blocksMCP serverseitig 2026 abgebaut zugunsten client-Skills; ADE-DebuggerKeine publizierten LongMemEval-Ergebnisse (laut Dritt-Analyse)Entwickler/Teams für stateful Agents; 2026-Pivot zu Letta Code
Zep / GraphitiGraphiti self-hosted (Python) + PFLICHT externe Graph-DB (Neo4j/FalkorDB/Neptune); Zep = Managed CloudGraphiti Apache-2.0 OSS; Zep Cloud proprietärGraphiti free (+kostenpflichtige OpenAI-APIs default); Zep Cloud Free/$104/$312/Mo CreditsHybrid: Cosine + BM25 + BFS; Reranker RRF/MMR/Cross-Encoder + Node-Distance, sub-secondCross-Encoder verfügbar (RRF/MMR/Cross-Encoder/Node-Distance-Reranking)Echter bi-temporaler Knowledge-Graph, @Query traversiert (BFS, Node-Distance) — Relationen erstklassigBi-temporal: jeder Fakt mit valid-from/valid-to, Invalidierung statt Überschreiben (kein cyclic)Zep Cloud produktiv; Community Edition deprecated (April 2025)Eigener MCP-Server im Repo + FastAPI REST; 6+ LLM-, 4 Embedding-ProviderÖFFENTLICH: LongMemEval 63.8%, DMR 94.8/98.2% + arXiv (Anbieter-Angaben)Python-Entwickler (Graphiti) / regulierte Enterprises (Zep Cloud, SOC2/HIPAA)
Vektor-DBs (Pinecone/Weaviate/Qdrant)Pinecone managed-only (BYOC Preview); Weaviate/Qdrant OSS self-host ODER Cloud; massiv skalierendPinecone proprietär; Weaviate Apache-2.0 (Go); Qdrant Apache-2.0 (Rust)Pinecone RU/WU+Storage (~$700+/Mo @100M); Weaviate/Qdrant self-host gratis, Cloud ~$350-900/Mo @100MANN-Index (HNSW) + Hybrid (dense+sparse/BM25) + teils integriertes Reranking; sub-10ms (Qdrant ~4ms)Hosted-Reranker teils integriert (Pinecone: bge-reranker-v2-m3/cohere/pinecone-rerank-v0)KEIN Knowledge-Graph — nur Vektor-Nachbarschaft; Graph/Relationen baut der Nutzer obendraufKEIN Temporal-Modell out-of-the-box (Metadaten-Filter möglich)Namespaces/Collections als Mandanten-Trennung — keine Memory-BridgeSDKs + LangChain/LlamaIndex; kein fertiger Memory-/MCP-Layer (Index ≠ Store)Eigene Latenz-/Recall-Benchmarks (Infra-Klasse, kein Memory-Benchmark)Entwickler/Plattform-Teams, die RAG/Memory selbst bauen (Infrastruktur)
Enterprise-Plattformen (Glean/Langdock/Azure AI-Foundry)Vollständig managed Cloud (Glean SaaS/VPC/On-prem-Dell; Langdock Azure-EU; Azure Foundry); kein echtes Self-Host-PrimitivProprietär/Closed-Source (alle drei)Per-Seat/Token: Glean ~$50+/User (~$60k+/J, $350-480k TCO); Langdock ~20€/User+10%; Azure Tier+Ranker+TokensHybrid Vektor+Keyword+RRF + Semantic/L2-Reranker (Black Box); Azure agentic Multi-Query-Decomposition (GA)Managed Semantic/Transformer-Reranker (Bing-Modelle bei Azure), nicht konfigurierbarEnterprise Knowledge Graph aus Konnektor-Metadaten/Identity (Glean); Azure-Memory merged/konsolidiert; kein latenter Link-GraphTTL/Retention (Azure Memory); kein zyklisch-temporales RelevanzmodellProduktiv & skaliert: permissions-aware Multi-User, SSO/SAML/SCIM, IdP-ACLsNative MCP (Azure KB als MCP-Server; Glean MCP headless); 15-30+ LLMs, breite SDKsKeine memory-spezifischen Public Benchmarks; Compliance-Zertifikate (SOC2/ISO27001) statt EvalMittlere bis sehr große Enterprises (Procurement, 100+ Seats)
LLM-native Memory (ChatGPT/Claude/Notion)Cloud-only, anbietergebunden, null Setup; kein Self-HostingProprietär (alle); Notion-OSS-Alternative wäre AppFlowy (Drittanbieter)Abo/Token: Notion Plus $10/Business $20, Credits $10/1.000; ChatGPT/Claude Pro-Pläne (Free-Limits)Interne, undokumentierte Retrieval-Mechanik (RAG/Mustererkennung); keine konfigurierbare FusionNicht offengelegt / nicht steuerbarKein offener Knowledge-Graph; ChatGPT 'Memory Dreaming' & Claude 'Dreams' = async Synthese (konzeptuelle Dream-Parallele), aber BlackboxKein zyklisches Modell; ChatGPT 12+-Monate-Recall, Claude Auto-SummaryPro-Account/Projekt/Workspace SILOS, intern getrennt (Claude Projects vs. Chats); KEINE Cross-Provider-PortierungNative UI-Einbettung statt Tool-Call; Claude /memory-Filesystem (agentic), kein offenes MCP-MemoryKein Benchmark (Consumer-Features)Endnutzer/Teams ohne Setup-Wunsch (je EINE Plattform)

Alleinstellung & Lücken

Alleinstellung

  • Hybrid-Fusion + Graph + Temporal + Scope in EINER Postgres-Transaktionctx kollabiert die gesamte Memory-Pipeline in eine einzige SQL-Transaktion über dieselben Tabellen: 4-Way RRF (semantic pgvector-HNSW + englische FTS + deutsche FTS + Trigram-Title-Matching, k=60), gefolgt von Cross-Encoder-Reranking, zyklisch-temporaler Gravitation, latentem GraphExpand und Scope-Isolation — alles ohne Netzwerk-Hop. Kein Wettbewerber im Feld erreicht diese Architektur-Sparsamkeit: Mem0 fährt Polyglot-Persistence (pgvector + separates Neo4j + wählbarer Vektor-Store, 3 Container), Graphiti braucht zwingend eine externe Graph-DB (Neo4j/FalkorDB/Neptune), gbrain spiegelt Git→Postgres und ruft für Default-Embeddings/Reranker externe Dienste, und die Vektor-DBs sind per Definition nur der Index-Layer mit Netzwerk-Hop. Verifiziert: go/internal/rrf/, bge-reranker-v2-m3 in docker-compose.yml, 1024-dim Matryoshka-Embeddings.
  • All-local / $0 laufende Kosten als Default-IDENTITÄT, nicht als OptionDurchgängig lokale llama.cpp-Inferenz (Embedding qwen3-embedding-8b, Reranker bge-reranker-v2-m3, Synthese qwen3.6:27b) über 5 deklarative Backends im OpenAI-Wire-Protokoll — null API-/Hosting-Gebühren, kein Datenabfluss. Das ist der entscheidende Unterschied zu den nächsten OSS-Verwandten: gbrain, Mem0, Letta und Graphiti können zwar fully-local betrieben werden, ihr GEPFLEGTER Default-Pfad nutzt aber hosted Dienste (ZeroEntropy/OpenAI bzw. text-embedding-3-small/TurboPuffer). Bei ctx ist Datenhoheit der Werkszustand, nicht ein Enterprise-Aufpreis (wie Notion Data Residency) oder eine Abweichung vom Happy Path.
  • LLM-inferierte LATENTE Links statt nur expliziter/extrahierter KantenDer Dream Mode inferiert per LLM nicht-explizite Beziehungen zwischen Blöcken und schreibt sie als typisierte Kanten (5 Typen: topical/factual/causal/recurrent/supersedes) in den Graphen — entdeckt also Verbindungen, die nirgends explizit gesetzt wurden. Das unterscheidet ctx fundamental: gbrains Graph kennt nur explizit gesetzte Wikilinks/Regex-Matches (kein Link gesetzt = keine Kante), Mem0 und Graphiti speichern primär extrahierte Entity-Relationen (Alice—works_at—Google), und Glean/Azure leiten Relationen aus Konnektor-Metadaten/Identity ab. ctx' Linking ist semantisch-inferenziell, nicht syntaktisch-extraktiv.
  • Cyclic-temporal Gravity — feingranulares zyklisches RelevanzmodellDas physik-inspirierte GottZ Cyclic Phase Model gewichtet Relevanz über 7 zyklische Zeitdimensionen (u.a. weekday/month/quarter/season/daily) mit Gaussian Decay und einer Temporal-Gravity-Tabelle, gespeist aus einer deterministischen Pipeline mit 18 Pattern-Matchern. Kein Wettbewerber hat ein vergleichbares zyklisches Modell: gbrain hat recency/valid_until, Zep/Graphiti ein bi-temporales valid-from/valid-to-Fenster, Azure nur TTL — alle sind linear/punktuell, keiner modelliert Tageszeit-/Wochentag-/saisonale Periodizität als Ranking-Signal. Verifiziert: go/internal/rrf/gravity.go (ComputeCyclicGravity, Gaussian Decay).
  • Cross-LLM / Cross-Tenant Memory-Bridge als explizites Design-Centerctx ist als gemeinsame, anbieterneutrale Wissensschicht über mehrere Claude-Instanzen UND Anthropic-Tenants hinweg konzipiert (Scope-Modell private/hth/shared, fail-closed über die PG-Funktion ctx_auth) — perspektivisch auch fremde LLMs via OpenAI-Wire-Protokoll. Genau das ist die Lücke, die die LLM-nativen Features strukturell offenlassen: ChatGPT-Memory, Claude-Projects und Notion sperren Wissen je in ihre eigene Cloud (und intern: Claude Projects vs. Chats). Auch gbrain ist Single-Operator-zentriert (Multi-Operator nur per Federation/Custom-Work), Mem0/Letta-Tenancy ist Isolation per Metadaten/Agent, kein geteilter Cross-Tenant-Layer. ctx baut die Brücke zwischen den Silos.
  • Single Go-Binary mit Verifikationsdisziplin + dediziertes Dedup-Subsystem (Guard)EIN Go-Monolith (ctx-CLI + ctxd-Daemon, Go 1.26) auf einer PostgreSQL-18-Instanz — keine Bun/Node-/Python-Runtime, kein zweites DBMS, kein externer Vektor-Store. Dazu der Guard: ein dediziertes asynchrones Dedup-Subsystem, das jeden Schreibvorgang per HNSW-Ähnlichkeit prüft (auto-archive bei ~0.98, flag bei ~0.92), ereignisgesteuert über PostgreSQL LISTEN/NOTIFY. Operative Disziplin (pre-commit golangci-lint, eval.sh frozen baseline, state.sh) gehört zum Kern. Mem0-Self-Hosting braucht 3 Container + Reverse-Proxy-Auth, Graphiti einen zweiten Graph-Datenstore — ctx bleibt ein einziges deploybares Artefakt.
  • MPL-2.0 Copyleft + voll integriertes gehärtetes Web-Frontend im KernMPL-2.0 schützt abgeleitete Dateien (Copyleft pro Datei) — je nach Sicht Vor- oder Nachteil gegenüber dem permissiven MIT (gbrain) / Apache-2.0 (Mem0/Letta/Graphiti/Weaviate/Qdrant) des Felds. Das vollständige Web-Frontend (Svelte 5, in das ctxd-Binary ge-embedet, 41-Wellen-Plan G01–G41, aktuelle Release-Spitze v3.16.0) inkl. Graph-Landkarte (Louvain-Cluster) und Block-Workbench gehört zum self-hosted Kern — bei Mem0 ist das Dashboard plattform-exklusiv, der lokale OpenMemory-MCP wird gerade abgekündigt.

Lücken & wo andere führen

  • Graph wird @Query nicht relational traversiert (Boost statt Walk)Primärquellen-Befund (W3/W9): ctx' GraphExpand (go/internal/rrf/graph.go, aufgerufen in handler/query.go:617) ist ein seed-basierter POST-RRF Boost/Injection — qualifizierte Top-Treffer ziehen über typisierte Kanten Nachbarn in das Reranker-Fenster (1-Hop default, fail-open, Reranker als Arbiter; in diesem Deployment per Compose-Default aktiv, Produkt-Default config.go:183 = false). Das ist KEIN deterministischer relationaler Walk, der eine Cross-Entity-Antwort konstruiert, wenn keine einzelne Seite beide Seiten nennt. Genau das liefern die Konkurrenten: gbrain (graph-query, deterministisch, depth/fan-out-bounded), Zep/Graphiti (BFS + Node-Distance-Reranking) und Mem0 (Neo4j-Multi-Hop) traversieren den Graphen bei der Query echt. Bleibt offene ctx-Flanke.
  • Kein öffentlicher, reproduzierbarer Benchmarkctx evaluiert ausschließlich endogen (eigene eval.sh, frozen baseline, 43 Eval-Tests) — es gibt keinen externen Vergleichsmaßstab. Mehrere Wettbewerber führen hier deutlich: Mem0 (LoCoMo 91.6 / LongMemEval 94.8 / BEAM + arXiv-Paper), gbrain (LongMemEval R@5 97.6% + eigenes BrainBench + NamedThingBench mit dokumentierter Methodik), Zep (LongMemEval 63.8% / DMR 94.8-98.2% + arXiv). Ohne öffentliche Zahlen ist ctx' Retrieval-Qualität extern nicht einordbar — die strukturell härteste Lücke gegenüber dem Feld.
  • Single-Node / Single-GPU — keine horizontale Skalierungctx läuft auf einem einzelnen Knoten mit einer RTX 6000; der Bulk-Rebuild der Embeddings ist CPU-limitiert (Engpass), latentes Linking ist durch die Single-GPU teuer. Die Plattformen und Vektor-DBs spielen in einer anderen Liga: Pinecone/Weaviate/Qdrant skalieren auf Milliarden Vektoren über sharded Multi-AZ-Cluster (sub-10ms), Letta/Zep skalieren via Cloud-Backend (TurboPuffer), Azure elastisch über Tiers/SUs und kommendes Serverless. ctx skaliert nicht horizontal — bewusste Konsequenz des Single-Binary-/Single-Operator-Designs, aber eine reale Obergrenze.
  • Multi-Tenancy noch im Bau (nicht deployed)Das Multi-Tenant-Modell C (Tenant/Scope/Block) ist erst teilweise committet (laut Briefing ~20/44 Wellen) und nicht produktiv deployed; aktuelle Commits arbeiten an Wave 03/04/05 (Tenant-Resolution, per-tenant Quota-Schema, context_backends Scope-Dimension). Mehrere Wettbewerber liefern produktive, first-class Multi-Tenancy bereits aus: Mem0 (user/agent/org/project-Scopes, Server-Mode, Per-User-Keys), Letta (managed Multi-Agent), Zep Cloud, sowie alle Enterprise-Plattformen (Glean/Langdock/Azure mit SSO/SAML/SCIM, IdP-ACLs). ctx' Scope-Modell (private/hth/shared) ist live, die volle Mandantenfähigkeit aber Roadmap.
  • Kleineres Ökosystem, Funktionsumfang & Mindshare; kein System-of-Recordctx ist ein Einzel-Autor-Projekt (GottZ) mit bewusst schlankem Funktionsumfang (5 MCP-Tools, ~22 CLI-Primitive) und kleinem Korpus. Das Feld führt deutlich bei Reichweite (Mem0 ~58.8k Stars, Zep/Graphiti 27.6k, gbrain ~23k, Letta ~23.4k) und Breite: gbrain (30+ MCP-Tools, 43 Skills, Minions-Job-Queue, durable subagents, push-based volunteer_context, Schema-Packs als policy-as-data), Mem0 (21+ Framework-Integrationen, Managed-SaaS), Glean (275+ SaaS-Konnektoren). Zusätzliche Designgrenzen: Multi-Query-Expansion ist bei ctx bewusst deaktiviert (gbrain/Azure bieten sie), ctx hält Wissen ausschließlich im Postgres-Store (gbrain hat Git-Markdown als portables/diffbares System-of-Record), und ctx hat kein formales Typsystem/Schema-Registry (nur block_role 4-Enum; Registry bleibt Roadmap). Enterprise-Compliance-Zertifikate (SOC2/ISO27001) fehlen ctx vollständig.

Die Lösungen im Einzelnen

gbrain

reference

Garry Tans (YC) Markdown-first, self-wiring Agent-Memory: Git-Repo als System-of-Record, embedded Postgres+pgvector, deterministischer typisierter Knowledge-Graph mit Query-Time-Multi-Hop — der prominenteste direkte ctx-Konkurrent.

https://github.com/garrytan/gbrain

gbrain ("Search gives you raw pages. GBrain gives you the answer.") ist eine Open-Source-Memory-/Knowledge-Schicht fuer LLM-Agenten von Garry Tan (President/CEO Y Combinator), MIT-lizenziert, in TypeScript/Bun. Knowledge lebt als Markdown in einem Git-Repo (System-of-Record), das in Postgres+pgvector fuer hybrides Retrieval gespiegelt wird; lokal laeuft das als embedded PGLite (Postgres 17 via WASM, Zero-Config). Darueber wird per Zero-LLM-Pattern-Matching auf Wikilinks ein typisierter Knowledge-Graph "self-wired", den ein Agent liest, schreibt und durchwandert. Zielgruppe: primaer Einzelpersonen/Power-User (Tans eigenes Produktiv-Brain: 146k+ Seiten, 24k Personen, 66 Cron-Jobs), skaliert per company-brain-Federation aber bis zu Teams/kleine Enterprises. Massive Adoption (~23k GitHub-Stars Juni 2026).

Version (Juni 2026)
v0.42.51.0 (17.06.2026, VERSION-Datei); ~331 Commits master; Review-Stand vectorize.io war v0.30 (Mai 2026, pre-1.0, haeufige Breaking Changes)
Autor / Lizenz
Garry Tan (YC President & CEO) / MIT, TypeScript-Bun
GitHub-Traktion
~23.2k Stars, ~3.3k Forks (Juni 2026); ~5k Stars in den ersten 24h nach Release 05.04.2026
Storage / System-of-Record
Git-Markdown-Repo = SoR; gespiegelt nach Postgres. Lokal: PGLite (PG17 via WASM, zero-config, bis ~50k Seiten). Shared/gross: externes Postgres/Supabase + pgvector
Retrieval
Hybrid: pgvector HNSW (cosine) + BM25/Postgres-FTS + RRF (k=60) + source-tier/backlink-Boost + intent-aware Query-Rewriting; 3 Modi conservative/balanced/tokenmax; optionale Haiku-Query-Expansion (2 Phrasings); 4-layer Dedup
Embeddings / Reranker
Default ZeroEntropy (hosted, OpenAI-Fallback, ~16 Provider-Rezepte); Reranker default ZeroEntropy zerank-2 (tokenmax). Fully-local moeglich via llama-server / Qwen3-Reranker
Knowledge-Graph
Zero-LLM Regex/Pattern-Matching auf Wikilinks bei jedem Page-Write; typisierte Edges (attended/works_at/invested_in/founded/advises/mentions). Multi-Hop-Traversierung @Query via graph-query (v0.42.34.0, 07.06.2026): deterministisch, depth/fan-out-bounded, beantwortet Beziehungsfragen auch wenn keine Seite beide Seiten nennt; 75%+ recall@10, +31.4 P@5 ueber vector-only
Temporal
recency + valid_until + last-updated-Metadaten + soft-delete-History; KEIN cyclic/Gaussian-Phasenmodell, Temporal-Reasoning laut Review nicht first-class
Multi-Tenancy / Auth
login-scoped slices, OAuth 2.1 + PKCE + DCR-style Client-Registration, scope-gated read/write/admin, Rate-Limiting, /admin-Dashboard; company-brain-Federation mit source-based Routing + (v0.42.46) durchgaengiger federated read-scope-Enforcement. Design-Center bleibt Single-Operator
Schnittstellen / Umfang
30+ MCP-Tools (stdio+HTTP) + 43 curated Skills (1 Skillpack); Schema-Packs SHIPPED (gbrain-base-v2 15-Typ, legacy 24-Typ); Clients: Claude Code (1-Befehl: claude mcp add gbrain -- gbrain serve), Codex, Cursor, Claude Desktop/Cowork, Perplexity, ChatGPT
Scheduling / Jobs
Postgres-native BullMQ-shaped Job-Queue ('Minions'), durable subagents (two-phase pending->done, crash-survivable), konfigurierbares Cron (Tans Brain: 66 Jobs). Neu: --pace-Throttling, spend.posture-Kostenkontrolle, push-based volunteer_context / gbrain watch (ambient Retrieval-Reflex)
Eval
OEFFENTLICH: LongMemEval (R@5 97.6%) + eigenes BrainBench (240-Seiten Opus-Korpus: P@5 49.1%, R@5 97.9%, +31.4 P@5 durch Graph), NamedThingBench, Search-Mode-Methodology dokumentiert
Kosten
MIT free; aktives Personal-Brain 'single-digit dollars/Monat' (OpenAI-Embeddings ~$0.10/M Token, optional Anthropic-Expansion). Fully-local moeglich, aber Default-Pfad nutzt hosted ZeroEntropy/OpenAI
Stärken
  • Deterministische typisierte Multi-Hop-Graph-Traversierung @Query (graph-query): beantwortet relationale Cross-Entity-Fragen, bei denen keine einzelne Seite beide Seiten nennt — 75%+ recall@10, +31.4 P@5 vs vector-only (seit 07.06.2026)
  • Git-Markdown als System-of-Record: portabel, diffbar, versioniert, kein DB-Lock-in; DB ist nur Retrieval-Spiegel
  • Oeffentliche, reproduzierbare Eval-Suite (LongMemEval + BrainBench + NamedThingBench) mit dokumentierter Methodik
  • Zero-Config-Onboarding via PGLite (embedded PG17/WASM) — kein Server, Claude-Code-Anbindung mit einem Befehl
  • Breite Schnittstellen: 30+ MCP-Tools, 43 Skills, viele Clients (Claude Code, Codex, Cursor, ChatGPT, Perplexity); Schema-Packs als policy-as-data SHIPPED
  • Enorme Community/Mindshare (~23k Stars, YC-Reichweite, Hackathons), schneller Release-Takt (taeglich), produktionsbewiesen @146k+ Seiten
  • Push-based ambient Retrieval (volunteer_context / gbrain watch) liefert Kontext proaktiv pro Conversation-Turn
  • Zero-LLM-Graph-Bau: billig, deterministisch, keine GPU/Inferenzkosten fuer Linking
ctx +
  • LLM-inferierte LATENTE Links (5 Typen: topical/factual/causal/recurrent/supersedes) entdecken nicht-explizite Beziehungen — gbrains Graph kennt nur explizit gesetzte Wikilinks/Regex-Matches (kein Link gesetzt = keine Kante)
  • Cyclic-temporal Gravity (7 zyklische Dimensionen, Gaussian Decay, Temporal-Gravity-Tabelle) — gbrain hat nur recency/valid_until, Temporal-Reasoning nicht first-class
  • Echtes durchgaengiges all-local / $0-laufende-Kosten als Default-Identitaet (llama.cpp on-prem) — gbrains Default-Pfad nutzt hosted ZeroEntropy/OpenAI (local nur als Alternative)
  • Hybrid-Fusion + Graph + Temporal + Scope-Isolation in EINER Postgres-Transaktion ueber dieselben Tabellen, kein Netzwerk-Hop; gbrain spiegelt Git->Postgres und ruft fuer Default-Embeddings/Reranker externe Dienste
  • Cross-Tenant/Cross-LLM Memory-Bridge als explizites Design-Center (shared knowledge layer ueber mehrere Anthropic-Tenants) — gbrain ist Single-Operator-zentriert, Multi-Operator nur per Federation/Custom-Work
  • Single Go-Binary (CLI+Daemon) ohne Bun/Node-Runtime; pre-commit/eval/state-Verifikationsdisziplin
  • MPL-2.0 (Copyleft-Schutz fuer abgeleitete Dateien) vs gbrains permissivem MIT — je nach Sicht Vor- oder Nachteil
  • Guard (async HNSW-Duplikat-Erkennung 0.98 auto-archive / 0.92 flag via LISTEN/NOTIFY) als dediziertes Dedup-Subsystem
sie +
  • Oeffentlicher Benchmark (LongMemEval) — ctx evaluiert endogen (eigene eval.sh, frozen baseline), kein externer Vergleichsmassstab: bleibt ctx-Schwaeche (GAP-D)
  • Git-Markdown-System-of-Record (portabel/diffbar/versioniert) — ctx haelt Wissen ausschliesslich im Postgres-Store
  • Deterministische relationale Multi-Hop-Walks, die Cross-Entity-Fragen ohne gemeinsame Seite beantworten — ctx' GraphExpand ist ein post-RRF Boost/Injection (1-Hop default, fail-open, Reranker als Arbiter), kein relationaler Walk, der eine echte Antwort konstruiert
  • Deutlich groesseres Oekosystem & Mindshare (~23k Stars vs ctx 434 Bloecke/kleines Repo), YC-Vertrieb, viele offizielle Clients & Hackathons
  • Zero-Config-Distribution via PGLite/WASM + 1-Befehl-Claude-Code-Install — ctx braucht Docker-Compose + Postgres + GPU-Inferenz-Setup
  • Viel breiterer Funktionsumfang (30+ MCP-Tools, 43 Skills, Minions-Job-Queue, durable subagents, push-based volunteer_context, advisor/doctor/sources-harden) vs ctx' bewusst schlankem 5-MCP-Tool/~22-CLI-Primitiv
  • Schema-Packs/Typsystem SHIPPED (policy-as-data, agent-authorbar) — ctx hat nur block_role 4-Enum, Registry bleibt Roadmap (GAP-C)
  • Multi-Query-Expansion verfuegbar (optionale Haiku-Phrasings) — ctx hat Expansion bewusst deaktiviert (eng); recency/Federation produktiv vs ctx-MT noch in Bau/nicht deployed
  • Zero-LLM-Graph-Bau: keine Inferenzkosten/kein GPU-Engpass beim Linking — ctx' latentes Linking ist teuer (Single-RTX-6000-Engpass)

vs. ctx gbrain und ctx sind die naechsten direkten Verwandten im Self-hosted-Agent-Memory-Raum und im Retrieval-Kern weitgehend konvergent (pgvector HNSW + Postgres-FTS + RRF k=60). Seit dem alten Vergleich (2026-06-08) haben sich zwei Achsen verschoben: (1) Reranker — ctx hat mit bge-reranker-v2-m3 aufgeschlossen, gbrains zerank-2-Vorsprung ist weg. (2) Graph @Query — gbrain hat am 07.06.2026 (v0.42.34.0) deterministische typisierte Multi-Hop-Relational-Retrieval ergaenzt; ctx hat zeitgleich post-RRF GraphExpand geliefert und in DIESEM Deployment per Compose-Default aktiv (A/B-validiert, graph+CE bw0.5 best, R@20 0.811). Damit ist die Briefing-Annahme 'GAP-A vermutlich WEITER OFFEN' laut Primaerquelle ueberholt: ctx traversiert jetzt die positiven Links — aber als Boost/Injection mit Reranker als Arbiter, NICHT als gbrains deterministischen relationalen Walk, der echte Cross-Entity-Antworten ohne gemeinsame Seite konstruiert. Die echte Gabelung bleibt strategisch: gbrain = breites, MIT-lizenziertes, Git-Markdown-zentriertes Single-Operator-Knowledge-OS mit oeffentlichem Eval, hosted-Default und Massen-Mindshare; ctx = fokussiertes, all-local-$0, MPL-2.0 Single-Binary-Primitiv mit LLM-inferierten LATENTEN Links, cyclic-temporal Gravity und Cross-Tenant/Cross-LLM-Bridge als Alleinstellung. ctx fuehrt bei latentem Linking, Temporal-Modell, echter Datenhoheit/Kostenfreiheit und Cross-Tenant-Design; gbrain fuehrt bei deterministischer relationaler Graph-Antwort, oeffentlichem Benchmark, Distribution/Mindshare und Funktionsbreite.

Recherche-Stand & Quellen

Recherche 2026-06-17 (WebSearch + WebFetch GitHub/CHANGELOG/VERSION + vectorize.io-Review). Gefundener gbrain-Stand: v0.42.51.0 (VERSION-Datei, Commit 17.06.2026), ~23.2k Stars / ~331 Commits master, MIT, TypeScript/Bun, embedded PGLite (PG17/WASM)+pgvector. Schluessel-Releases verifiziert: v0.42.34.0 (07.06., Graph-Traversierung), v0.42.46.0 (16.06., federated read-scope), v0.42.43.0 (12.06., push-based volunteer_context). ctx-Seite gegen Primaerquelle geprueft (W3/W9): rrf/graph.go GraphExpand existiert + wird in handler/query.go:617 aufgerufen; Produkt-Default CTX_GRAPH_EXPAND_ENABLED=false, aber docker-compose.yml-Default :-true (in diesem Deployment aktiv); 5 MCP-Tools in handler/mcp.go bestaetigt. Hinweis: vectorize.io-Review-Zahlen (v0.30, single-operator, 'kein Multi-Hop') sind Mai-2026-Stand und teils ueberholt — GitHub-Direktquelle (Juni) zeigt graph-query-Multi-Hop, gbrain-base-v2, OAuth-DCR/Federation, Claude-Code-Support.

Langdock

Enterprise-AI-Plattform (DE) — Secure-ChatGPT / Assistants / RAG-Knowledge / Workflows

Deutsche GDPR-konforme Enterprise-AI-Plattform (Secure-ChatGPT + No-Code-Assistants + RAG-Wissen + Workflows) für Mitarbeiter — kein selbst-hostbares Memory-Primitiv wie ctx.

Langdock (gegründet in Berlin, "Privacy by Design") ist eine Enterprise-AI-Plattform, die Unternehmen einen sicheren, modell-agnostischen Wrapper über Top-LLMs (OpenAI, Anthropic, Mistral — 30+ Modelle) bereitstellt: zentrales AI-Chat, No-Code-Assistants/Agents mit je eigenem System-Prompt und Wissensbasis, RAG über interne Dokumente/Datenbanken/APIs sowie Workflow-Automatisierung. Zielgruppe sind regulierte und datensensible europäische Unternehmen (2000+ Kunden laut eigener Angabe), die ihren Mitarbeitern governance-konformes Generative-AI ausrollen wollen — SSO/SAML/SCIM, Audit-Logs, granulare Rechte. Es ist eine fertige Suite für Endanwender, kein Entwickler-Baustein.

Anbieter / Herkunft
Langdock GmbH, Berlin (Deutschland), Recht/DPA nach deutschem Recht
Kategorie
Enterprise-AI-Plattform / Secure-ChatGPT-for-Business + Assistants + RAG + Workflows
Hosting (Standard)
Multi-Tenant-SaaS, Microsoft Azure, Server innerhalb der EU
Enterprise-Deployment-Stufen
Single-Tenant-SaaS (ab 2.000 Seats), Bring-Your-Own-Cloud (ab 5.000 Seats), On-Premise via Kubernetes/Helm-Charts (ab 5.000 Seats)
Lizenz / Quelloffenheit
Proprietär / Closed-Source — keine Open-Source-Lizenz dokumentiert
Retrieval / RAG
RAG über externe Vektor-DBs — Qdrant, Pinecone, Azure AI Search; Custom-RAG mit eigener Response-Generation möglich
LLM-Modelle
Modell-agnostisch, 30+ Modelle (OpenAI/Anthropic/Mistral u.a.), Bring-Your-Own-Keys; keine Trainings-Nutzung von Kundendaten (vertraglich)
Compliance
ISO 27001, SOC 2 Type II, GDPR; Verschlüsselung TLS 1.2+ / AES-256; Trust-Center + DPA
Auth / Governance
SSO, SAML, SCIM, Audit-Logs, granulare Permissions, Admin-Controls
Preismodell
Per-User-SaaS: Business ~20 €/User/Monat (bis 1.000 User); Workflows ab 449 €/Workspace/Monat; API/Token = Provider-Preis + 10% Aufschlag; 7-Tage-Trial
Stärken
  • Fertige Enterprise-Suite out-of-the-box: AI-Chat, No-Code-Assistants, RAG-Wissen und Workflows ohne Eigenentwicklung — sofort an Mitarbeiter ausrollbar
  • Starke Compliance-Story für regulierte EU-Unternehmen: ISO 27001 + SOC 2 Type II + GDPR, DPA nach deutschem Recht, dediziertes Trust-Center
  • EU-Datenhoheit ab Werk (Azure-Hosting innerhalb der EU) plus eskalierbare Deployment-Stufen bis On-Premise (Helm/K8s) für High-Security-Kunden
  • Modell-agnostisch über 30+ LLMs (OpenAI/Anthropic/Mistral), Bring-Your-Own-Keys, kein Vendor-Lock-in auf einen Modellanbieter
  • Enterprise-Governance integriert: SSO/SAML/SCIM, Audit-Logs, granulare Rechte, Admin-Controls, Integrationen (Slack, MS Teams)
  • Großer kommerzieller Footprint (2000+ Kunden), professioneller Support, vorhersehbare Per-Seat-Abrechnung für Org-weite Rollouts
ctx +
  • Echte Quelloffenheit & Eigentum: ctx ist MPL-2.0 Open-Source-Single-Binary; Langdock ist proprietär/closed-source
  • Kostenmodell: ctx läuft all-local mit 0 € laufenden Kosten (llama.cpp on-prem); Langdock kostet ~20 €/User/Monat + 10% Token-Aufschlag + ab 449 €/Workspace für Workflows
  • Selbst-Hosting ohne Hürden: ctx ist von Grund auf self-hosted; Langdock-On-Prem/BYOC ist erst ab 2.000-5.000 Seats verfügbar — für kleine Teams/Einzelne praktisch nur SaaS
  • Retrieval-Architektur als USP: ctx fusioniert Semantic + DE-FTS + EN-FTS + Trigram-Title (4-Way RRF) in EINER Postgres-Transaktion ohne externen Vektor-Store; Langdock hängt an externen Vektor-DBs (Qdrant/Pinecone/Azure AI Search) mit Netzwerk-Hops
  • LLM-inferierte LATENTE Links (Dream Mode), zyklisches temporales Gravity-Modell und Cross-Encoder-Reranking — eine Memory-/Retrieval-Tiefe, die Langdock als Plattform-Wrapper nicht adressiert
  • Cross-LLM / Cross-Tenant Memory-Bridge als persistentes externes Gehirn über Instanzen hinweg — Langdock ist mitarbeiter-/workspace-zentriert, kein geteilter Memory-Layer für Agenten
  • Voll lokale Inferenz (llama.cpp): kein Datenabfluss an Hosted-LLM-APIs; Langdock leitet Prompts an externe Provider-APIs weiter (wenn auch vertraglich ohne Training)
sie +
  • Produktreife & Breite: vollständige Endanwender-Plattform (Chat-UI, No-Code-Agents, Workflows, Integrationen) statt eines fokussierten Memory-/Retrieval-Primitivs
  • Enterprise-Compliance-Zertifizierungen (ISO 27001, SOC 2 Type II) — formale Audits, die ctx nicht vorweisen kann
  • Org-weite Governance: SSO/SAML/SCIM, granulare Permissions, Audit-Logs, Admin-Dashboards für tausende Mitarbeiter
  • Skalierbare Multi-Tenancy ist live und produktiv; ctx-Multi-Tenancy ist noch im Bau (nicht deployed)
  • Managed Service: keine eigene GPU/Ops nötig — Langdock betreibt Inferenz und Skalierung; ctx erfordert Eigenbetrieb (Single-GPU-Engpass)
  • Out-of-the-box Zugriff auf 30+ kommerzielle Frontier-Modelle (GPT/Claude/Mistral) inkl. Hosting; ctx setzt auf eigene on-prem-Modelle mit begrenztem Durchsatz
  • Kommerzieller Support, SLAs, große Kundenbasis und professionelle Onboarding-/Beratungs-Ökosysteme

vs. ctx Langdock und ctx spielen in unterschiedlichen Ligen und Kategorien: Langdock ist eine fertige, kommerziell-proprietäre Enterprise-AI-Suite, die Mitarbeitern governance-konformes Generative-AI (Chat, Assistants, RAG, Workflows) als Managed-SaaS ausrollt — die Stärke liegt in Compliance-Zertifizierung, EU-Datenhoheit, Org-Governance und Out-of-the-box-Modellzugriff. ctx ist dagegen ein self-hosted, quelloffenes (MPL-2.0) Memory-/Retrieval-Primitiv mit 0 € laufenden Kosten, voll lokaler llama.cpp-Inferenz und einer architektonisch eigenständigen 4-Way-RRF-Hybrid-Fusion (kein externer Vektor-Store), latenten Links und cyclic-temporal Gravity. Wer eine ausrollfähige, zertifizierte Enterprise-Plattform für viele Mitarbeiter braucht, nimmt Langdock; wer ein datensouveränes, kostenfreies, tief steuerbares Cross-LLM-Memory als Entwickler-/Architektur-Baustein will, nimmt ctx. ctx gewinnt bei Datenabfluss-Null (keine Hosted-API), Kosten, Quelloffenheit und Retrieval-Tiefe; Langdock gewinnt bei Produktbreite, formaler Compliance, Skalierung und Managed-Betrieb.

Recherche-Stand & Quellen

Recherche-Datum 2026-06-17 (WebSearch + WebFetch auf langdock.com/enterprise, /security, /pricing sowie Drittquellen tldv.io, innfactory.ai, zylon.ai, workativ.com, Stand Juni 2026). Langdock vertreibt kein klassisches Versionsschema (kontinuierliche SaaS-Plattform) — kein öffentlicher Release-/Versionsstand dokumentiert; jüngste Fakten: ~20 €/User/Monat Business-Plan, Workflows ab 449 €/Workspace, 30+ Modelle, On-Prem via Helm ab 5.000 Seats.

Microsoft Azure AI (Knowledge/Retrieval/Memory-Stack: Azure AI Search / Foundry IQ, Foundry Agent Service Memory, Azure OpenAI)

reference

Microsofts vollständig gemanagter, cloud-gehosteter Enterprise-RAG-Stack — Hybrid-Retrieval (Vektor+Keyword+RRF) mit Bing-Semantic-Ranker, agentische Multi-Query-Retrieval und gemanagtes Agenten-Langzeitgedächtnis — die Plattform-/Suite-Antithese zu ctx' self-hosted Single-Binary.

https://azure.microsoft.com/en-us/products/ai-services/ai-search

Kein Einzelprodukt, sondern ein zusammenhängender Knowledge/Retrieval/Memory-Stack innerhalb Microsoft Foundry (vormals Azure AI Foundry). Kern ist Azure AI Search (gemanagte Such-/Retrieval-Engine, jetzt unter Marke „Foundry IQ"), darüber Foundry IQ Knowledge Bases (wiederverwendbare, permission-aware Wissensschicht über M365/SharePoint/OneLake/Fabric/Web/MCP) und Foundry Agent Service Memory (gemanagtes Agenten-Langzeitgedächtnis). LLM-Inferenz und Embeddings kommen aus Azure OpenAI. Zielgruppe: Enterprise-Teams im Microsoft-/Azure-Ökosystem, die RAG-Apps, Copilot-Erweiterungen und Multi-Agent-Lösungen bauen, ohne eigene Retrieval-Infrastruktur zu betreiben.

Hosting/Lizenz
Vollständig gemanagter Azure-Cloud-Dienst, proprietär/Closed-Source, kein Self-Hosting (VNet-Integration für Memory-Stores explizit nicht unterstützt).
Retrieval-Architektur
Hybrid: Vektor + Keyword/BM25 + Reciprocal Rank Fusion (RRF), darauf transformer-basierter Semantic Ranker (L2-Reranking, mehrsprachige Deep-Learning-Modelle aus Microsoft Bing) — konzeptionell vergleichbar mit ctx' 4-Way RRF + bge-Reranker, aber als Managed Black Box.
Agentic Retrieval (GA 2026-04-01 API)
LLM (Azure OpenAI) zerlegt komplexe Query in fokussierte Subqueries, parallel ausgeführt (keyword/vector/hybrid), jede einzeln semantic-reranked, dann zu einheitlicher Grounding-Antwort fusioniert; reasoning effort minimal/low/medium; liefert References + Activity-Log.
MCP-Integration
Jede Knowledge Base ist ein nativer MCP-Server und exponiert das Tool knowledge_base_retrieve; aufrufbar von Foundry Agent Service, GitHub Copilot, Claude und Cursor — direkte funktionale Überschneidung mit ctx' MCP-Layer.
Agenten-Gedächtnis (Public Preview, Stand 2026-06)
Foundry Agent Service Memory: gemanagtes Langzeitgedächtnis, 3 Typen (User Profile / Chat Summary / Procedural), LLM-getriebene Extraction→Consolidation (Merge + Konflikt-Resolution)→Retrieval; Item-Level CRUD, Store-Default-TTL, direkte remember/forget-Kommandos, Multimodal (Bilder).
Memory-Quotas/Scope
Max. 100 Scopes pro Store, 10.000 Memories pro Scope, 1.000 Search- und 1.000 Update-Requests/Min; Scope muss bei Low-Level-APIs explizit gesetzt werden (auto-resolution nur via Memory-Search-Tool mit scope={{$userId}}).
Knowledge Sources (Foundry IQ)
Indexed + Remote: M365 SharePoint, Fabric IQ, OneLake, Azure Blob, Azure AI Search, Web, MCP (private preview); automatisches Ingest→Chunk→Vektorisieren→Hybrid-Retrieval; permission-aware Grounding via Microsoft Graph.
Kostenmodell (Stand Juni 2026)
Dediziert: Free (50 MB / 10.000 Docs) → Basic ~$0,10/h → Standard S1 ~$250/Monat (160 GB) → S3 ~$1,39/h (~$981/SU/Monat, 512 GB). Semantic Ranker und Agentic Retrieval separat berechnet (Ranker per 1.000 Queries; agentic token-basiert). Azure-OpenAI-Inferenz/Embeddings zusätzlich pay-as-you-go. Serverless Preview — Billing-Start für Ende 2026 angekündigt.
Temporal-Modell
Kein eingebautes zyklisch-temporales Relevanzmodell; Memory bietet TTL (Retention/Verfall), aber keine Tageszeit-/Wochentag-/saisonale Gravitation wie ctx' Cyclic Phase Model.
Stärken
  • Vollständig gemanagt und elastisch skalierend — kein Betrieb von DB, GPU, Embedding-Pipeline; Microsoft betreibt Retrieval + Inferenz
  • Tiefe native Integration ins Microsoft-/M365-Ökosystem: permission-aware Grounding über Microsoft Graph, SharePoint, OneLake, Fabric, Copilot-Erweiterung
  • Agentic Retrieval als gemanagte Multi-Query-Decomposition+Rerank-Pipeline (GA 2026-04-01) — ctx hat Multi-Query-Expansion bewusst deaktiviert
  • Gemanagtes Langzeitgedächtnis mit echter Personalisierungs-Semantik (User-Profile-Memory, prozedurale how-to-Routinen, Multimodal/Bilder) out-of-the-box
  • Enterprise-Compliance/Governance ab Werk: Content-Safety + Prompt-Injection-Detection, Regions-Auswahl, Microsoft Product Terms / DPA
  • Breite SDK-/Sprachabdeckung (C#, Java, JS, Python, REST) und etablierte Tooling-/Portal-Erfahrung
ctx +
  • Self-hosted, all-local: volle Datenhoheit, $0 laufende Hosting-/API-Gebühren — Azure berechnet Such-Tier + Semantic Ranker + Agentic-Tokens + Azure-OpenAI-Inferenz/Embeddings separat und kann bei Volumen erheblich kosten
  • Single-Go-Binary-Simplizität statt Multi-Service-Suite (AI Search + Foundry IQ + Agent Service + Azure OpenAI als getrennte, separat verrechnete Bausteine)
  • Hybrid-Fusion in EINER Postgres-Transaktion (Semantic + EN-FTS + DE-FTS + Trigram-Title) — kein Netzwerk-Hop zu externem gemanagtem Vektor-Store; bei Azure ist die Fusion eine Managed Black Box ohne Gewicht-/k-Kontrolle
  • LLM-inferierte LATENTE Cross-Reference-Links (Dream Mode, 5 Typen) entdecken nicht-explizite Beziehungen — Azure-Memory konsolidiert/merged nur, baut keinen latenten Knowledge-Graph
  • Zyklisch-temporales Relevanzmodell (Cyclic Phase Model: weekday/month/quarter/season/daily + Gaussian Decay + Temporal Gravity) — Azure kennt nur TTL-Verfall, keine zyklische temporale Gewichtung
  • MPL-2.0 Open Source, vollständig inspizierbar und forkbar — Azure proprietär/Closed-Source
  • Kein Vendor-Lock-in ins Microsoft-/Azure-Ökosystem; läuft auf eigener Hardware mit llama.cpp on-prem
  • Volle Kontrolle über Embedding-/Reranker-/LLM-Modelle (Qwen3-Embedding-8B, bge-reranker-v2-m3, qwen3) statt Bindung an unterstützte Azure-OpenAI-Deployments
sie +
  • Null Betriebsaufwand — keine eigene GPU/DB/Pipeline; ctx ist auf einer einzelnen RTX 6000 GPU-/Durchsatz-begrenzt und CPU-Embedding ist der Bulk-Rebuild-Engpass
  • Elastische Skalierung über Tiers/SUs und (kommend) Serverless — ctx skaliert nicht horizontal
  • Gemanagtes Agenten-Langzeitgedächtnis mit fertiger Extraction/Consolidation/Konflikt-Resolution-Pipeline und Personalisierungs-Semantik (User-Profile, prozedural, multimodal) — ctx hat Guard (Dedup) + Dream (Links), aber kein vergleichbares automatisches Memory-Distillation pro User-Scope
  • Agentic Multi-Query-Retrieval als GA-Feature — ctx hat Multi-Query-Expansion bewusst deaktiviert; ctx traversiert den Graph @Query nicht (Dream-Links nur als supersedes-Drop-Filter)
  • Tiefe Enterprise-Integration (M365/SharePoint/Graph/OneLake/Fabric/Copilot, permission-aware Grounding) und breite Knowledge-Source-Konnektoren — ctx hat nur Obsidian-Ingestion + Blob
  • Enterprise-Governance/Compliance-Garantien (SLA, DPA, Content-Safety, Regions, Zertifizierungen) und etablierter Support — ctx ist Single-Maintainer-OSS
  • Reife Multimodalität (Memory über Bilder) — ctx ist text/embedding-zentriert

vs. ctx Azure AI ist die Enterprise-Plattform-Antithese zu ctx: maximale Bequemlichkeit, Skalierung und Ökosystem-Integration gegen vollständige Kostentransparenz, Datenhoheit und Architektur-Kontrolle. Funktional gibt es echte Überschneidungen — Hybrid+RRF+Semantic-Reranking deckt sich konzeptionell mit ctx' 4-Way RRF + bge-Reranker, und Foundry Agent Memory ist die direkteste kommerzielle Entsprechung zu ctx als Memory-Layer (mit MCP-Endpoint, der wie ctx von Claude/Cursor aufrufbar ist). Azure ist dort überlegen, wo ctx bewusst Grenzen zieht: gemanagte Multi-Query-Agentic-Retrieval, automatische Memory-Distillation pro User, M365-Graph-Grounding und elastische Skalierung. ctx ist überlegen bei $0-Hosting/Datenhoheit, Single-Binary-Simplizität, latenten LLM-Links, zyklisch-temporaler Gravitation und MPL-2.0-Offenheit ohne Vendor-Lock-in. Anders positioniert: Azure adressiert Enterprise-Teams, die Retrieval als gemanagten Service konsumieren und pro Query/Token/SU zahlen; ctx adressiert den self-hosting Architekten, der eine Cross-LLM/Cross-Tenant-Memory-Bridge auf eigener Hardware ohne laufende Cloud-Kosten will.

Recherche-Stand & Quellen

Recherchiert 2026-06-17 via WebSearch/WebFetch. Versions-/Releasestand: Azure AI Search agentic retrieval GA in REST-API 2026-04-01 (Portal/Preview-Features in 2026-05-01-preview); Foundry Agent Service Memory in Public Preview (Doku-Stand 2026-06-02/-04, neue Multimodal-/TTL-/direkte-Kommando-Fähigkeiten Build 2026); Foundry IQ als Marke für die Knowledge-Retrieval-Schicht über Azure AI Search; Pricing-Stand Juni 2026 (Free 50MB/10k Docs, Basic ~$0,10/h, S1 ~$250/Monat, S3 ~$1,39/h/~$981/SU/Monat; Serverless-Billing für Ende 2026 angekündigt). Konkrete Dollar-/SU-Zahlen aus Drittquellen (Pricing-Hauptseite timeoutete) — als Näherungswerte gekennzeichnet, nicht jede Zahl gegen die offizielle Live-Preisliste verifiziert (W3/W9).

Mem0

AI Agent Memory Layer (Open-Source-Library + Hosted Platform)

Der De-facto-Standard-„Memory-Layer" für AI-Agents — Open-Source-Bibliothek (Apache-2.0, ~58.8k Stars) plus gehostete Plattform, mit hybridem Vektor+Graph+KV-Speicher und öffentlich vermarkteten Benchmark-Bestwerten.

https://mem0.ai · https://github.com/mem0ai/mem0

Mem0 („mem-zero") ist ein dedizierter Memory-Layer, der AI-Agents und Assistenten ein persistentes Gedächtnis über User-, Session- und Agent-Ebenen gibt. Es positioniert Memory als eigene Architektur-Komponente neben dem Kontextfenster: relevante Fakten werden aus Konversationen extrahiert, dedupliziert und über Calls hinweg abgerufen — laut Eigenwerbung mit ~90% weniger Token-Kosten gegenüber Full-History-Prompting. Zielgruppe sind App- und Agent-Entwickler, die Memory als Infrastruktur-Baustein einkaufen wollen — entweder als selbst-gehostete Python/Node-Library bzw. Docker-Server oder als Managed-SaaS. Es ist kein Knowledge-Base-Tool für Menschen, sondern eine Agent-Memory-API mit großem Framework-Ökosystem (LangChain, CrewAI, LlamaIndex, Vercel AI SDK u.a.).

Lizenz
Apache-2.0 (OSS-Library + self-hosted Server)
GitHub
mem0ai/mem0, ~58.800 Stars, primär Python; aktiv (z.B. OpenCode-Plugin v0.2.0, 17.06.2026)
Hersteller
Mem0 Inc. (kommerzielles Startup, mem0.ai) — Open-Core-Modell
Speicher-Architektur
Hybrid aus 3 Backends parallel: Vektor (Semantik), Graph (Entity-Relationen, Multi-Hop), Key-Value (Exact-Match); Routing-Layer wählt Backend pro Retrieval
Memory-Management
LLM-gesteuert: pro neuem Fakt entscheidet das LLM ADD / UPDATE / DELETE / NOOP; Graph- und Vektor-Writes laufen parallel (ThreadPoolExecutor) + History-Audit-Log
Self-Hosted-Stack
3 Docker-Container: FastAPI-REST-API + PostgreSQL/pgvector + Neo4j (Graph). Vektor-Store wechselbar (Qdrant Default, Chroma, Pinecone, Milvus, FAISS, 20+)
LLM-Abhängigkeit
Externer LLM-Provider nötig — Default OpenAI (gpt-5-mini/nano + text-embedding-3-small); lokal via Ollama (llama3.1 + nomic-embed-text) konfigurierbar
Benchmarks (öffentlich, vermarktet)
LoCoMo 91.6 · LongMemEval 94.8 · BEAM 1M 64.1 / 10M 48.6; arXiv:2504.19413 (2025)
Multi-Tenancy
Shipped & first-class: Scoping per Metadaten — user_id / agent_id / run_id / app_id / org_id / project_id; Server-Mode mit Per-User-API-Keys + Audit-Logs
MCP
OpenMemory MCP (lokaler MCP-Server) — wird gerade SUNSET; Empfehlung jetzt self-hosted Mem0-Server mit Dashboard
Plattform-Preise
Free 10K Memories / 1K Retrievals; $19/mo (50K); Pro $249/mo. Graph-Memory erst ab Pro paywalled
Plattform-exklusiv
Web-Dashboard/Analytics, Webhooks, Memory-Export, Advanced-Filters-v2, Custom-Categories, Auto-Scaling, eingebaute Auth
Stärken
  • Marktführer-Mindshare und riesiges Ökosystem: ~58.8k Stars, 21+ offizielle Framework-/Plattform-Integrationen, breite Adoption als Standard-Memory-Layer
  • Öffentlich nachprüfbare Benchmark-Bestwerte (LoCoMo, LongMemEval, BEAM) plus arXiv-Paper — externe Validierung statt nur endogener Eval
  • Explizite Knowledge-Graph-Schicht (Neo4j/FalkorDB): Entity-Relationen werden bei Query tatsächlich für Multi-Hop traversiert
  • LLM-gesteuertes inkrementelles Memory-Management (ADD/UPDATE/DELETE/NOOP) mit Deduplizierung und Audit-History — Memories werden aktiv konsolidiert, nicht nur angehängt
  • Pluggable: freie Wahl von Vektor-DB (20+), LLM-Provider (10+), Embedder — sehr flexibel einbettbar
  • Zwei Betriebsmodi: schneller Managed-SaaS (5-Min-Onboarding) ODER voll self-hosted für Datenhoheit — niedrige Einstiegshürde
  • Reife Multi-Tenant-Primitiven (user/agent/org/project-Scopes, Per-User-Keys, Server-Mode) bereits produktiv ausgeliefert
ctx +
  • Echte Single-Binary-Simplizität: ctx ist EIN Go-Monolith auf einer Postgres-DB — mem0-Self-Hosting braucht 3 Container (FastAPI + pgvector + separates Neo4j) plus eigene Auth via Reverse-Proxy und offene CORS-Defaults
  • Kein externer Vektor-Store und kein zweites Graph-DBMS: ctx fusioniert Semantik + DE/EN-FTS + Trigram in EINER SQL-Transaktion (4-Way RRF), kein Netzwerk-Hop, keine Polyglot-Persistence-Betriebslast
  • Durchgängig lokale Inferenz als Default ($0 laufende API-Kosten): ctx fährt llama.cpp on-prem; mem0 ist out-of-the-box auf eine externe LLM-API (OpenAI gpt-5-mini) ausgelegt — lokal/Ollama ist möglich, aber nicht der Default-Pfad
  • LLM-inferierte LATENTE Links (Dream Mode, 5 Typen) entdecken nicht-explizite Beziehungen — mem0s Graph speichert primär explizite Entity-Relationen (Alice—works_at—Google)
  • Cyclic Phase Model + Temporal Gravity (7 zyklische Zeitdimensionen, Gaussian Decay) — eine temporale Tiefe, die mem0 in dieser Form nicht hat
  • Cross-Tenant/Cross-LLM Memory-Bridge mit GottZ Scope-Model als Designziel — mem0-Tenancy ist Isolation per Metadaten, kein geteilter Cross-Tenant-Wissens-Layer
  • MPL-2.0 + komplett gehärtetes Web-Frontend (Dashboard/Graph-Map/Workbench) gehört bei ctx zum self-hosted Kern — bei mem0 ist das Dashboard plattform-exklusiv, und der lokale MCP-Server (OpenMemory) wird gerade abgekündigt
  • Mensch-zentrierter Knowledge-Store (CLI query/save, Obsidian-Ingestion, Blob-Storage) statt reiner Agent-Memory-API
sie +
  • Drastisch größere Reichweite, Reife und Community (~58.8k Stars, kommerziell finanziert) — ctx ist ein Einzel-Autor-Projekt mit ~434 Blöcken
  • Öffentliche, unabhängige Benchmarks + Forschungspaper; ctx hat nur endogene eval.sh ohne externen Benchmark wie LongMemEval
  • Knowledge-Graph wird bei Query tatsächlich traversiert (Multi-Hop) — bei ctx wird der Graph @Query NICHT traversiert (offene Schwäche)
  • Multi-Tenancy ist produktiv ausgeliefert (user/agent/org/project, Server-Mode, Per-User-Keys); ctx-Multi-Tenancy ist noch im Bau (~20/44 Wellen, nicht deployed)
  • Managed-SaaS-Option mit Auto-Scaling/HA und 5-Min-Onboarding — null Betriebsaufwand, was ctx als reines Self-Hosting nicht bietet
  • Riesiges Plug-in-/Framework-Ökosystem (LangChain, CrewAI, LlamaIndex, Vercel AI SDK, 21+) und Wahlfreiheit bei Vektor-DB/LLM/Embedder
  • Cloud-/Provider-agnostisch und sprach-/SDK-breit (Python + TypeScript) — ctx ist Go-Monolith plus llama.cpp, stärker auf eine Topologie festgelegt

vs. ctx Mem0 und ctx lösen verwandte Probleme aus entgegengesetzten Richtungen. Mem0 ist eine breit adoptierte Agent-Memory-Infrastruktur mit Open-Core-Geschäftsmodell, öffentlichen Benchmark-Bestwerten, echter Graph-Traversierung und ausgereifter Multi-Tenancy — aber als Polyglot-Persistence-Framework (pgvector + Neo4j + Vektor-Store) mit standardmäßiger Abhängigkeit von einer externen LLM-API, dessen komfortable Features (Dashboard, Filter, lokaler MCP) teils plattform-exklusiv oder im Sunset sind. ctx ist demgegenüber ein gehärteter Single-Binary-Appliance: alles in einer Postgres-Transaktion (4-Way RRF), durchgängig lokale Inferenz mit $0 API-Kosten, latente statt nur explizite Links, ein sophistizierteres zyklisch-temporales Modell und ein voll integriertes Web-Frontend — dafür ein Einzel-Autor-Projekt ohne externen Benchmark, mit noch nicht traversiertem Graph und nicht-deployter Multi-Tenancy. Faustregel: Wer maximale Reichweite, SaaS-Bequemlichkeit, Multi-Hop-Graph und Validierung braucht, nimmt mem0; wer Datenhoheit, Betriebs-Simplizität, Null-API-Kosten und temporale/latente Retrieval-Tiefe priorisiert, ist bei ctx besser aufgehoben. Sie sind eher unterschiedliche Wetten als direkte Konkurrenten um dieselbe Zielgruppe.

Recherche-Stand & Quellen

Recherche 2026-06-17 via WebSearch/WebFetch (mem0.ai-Docs/Blog + GitHub mem0ai/mem0). Stand: Apache-2.0, ~58.800 GitHub-Stars, primär Python; jüngste Aktivität OpenCode-Plugin v0.2.0 vom 17.06.2026 (mem0 nutzt kein klassisches Single-Versions-Release, sondern fortlaufende Paket-/Plugin-Releases). Benchmark-Werte LoCoMo 91.6 / LongMemEval 94.8 / BEAM 64.1(1M)/48.6(10M) laut GitHub-README (Hinweis: einzelne Sekundärquellen/Blog nennen leicht abweichend LoCoMo 92.5 / LongMemEval 94.4 — hier die kanonischen README-Zahlen übernommen, W3/W9). Plattform-Preise Free/$19/$249-Pro und Graph-Paywall ab Pro Stand Juni 2026; OpenMemory-MCP offiziell im Sunset.

Letta (ehemals MemGPT)

competitor

Plattform für stateful AI-Agents mit selbst-editierender Memory-Hierarchie (core/recall/archival) — aus dem Berkeley-Forschungsprojekt MemGPT, 2026 zunehmend auf den Coding-Agent „Letta Code" ausgerichtet.

https://www.letta.com

Letta ist eine Open-Source-Plattform (Apache-2.0) zum Bauen von „stateful agents": LLM-Agenten, die über die Zeit lernen, sich erinnern und ihr eigenes Gedächtnis kuratieren. Kern ist das aus MemGPT (UC Berkeley, 2023) stammende Betriebssystem-Analogon: das Kontextfenster ist begrenzter „RAM", externe Speicher sind „Disk", und der Agent verschiebt selbst Daten dazwischen. Zielgruppe sind Entwickler und Teams, die langlebige, modell-agnostische Agenten mit transparentem, persistentem Speicher bauen — als Alternative zu den geschlossenen Agent-Stacks von OpenAI/Anthropic/Google. 2026 hat sich der Fokus stark Richtung „Letta Code" (ein memory-first Coding-Agent-Harness, Konkurrenz zu Claude Code) und die Cloud „Constellation" verschoben.

Lizenz
Apache-2.0 (vollständig Open Source, keine Lizenzgebühren)
Letzte Stable-Version
v0.16.8 (14. Mai 2026); zusätzlich letta-nightly
GitHub
letta-ai/letta — ~23,4k Stars, Python (99,5%)
Sprache/Stack
Python; PostgreSQL als State-Store
Memory-Hierarchie
Core (in-context, gepinnte Memory-Blocks) · Recall (durchsuchbare Message-History) · Archival (semantisch durchsuchbarer Langzeitspeicher)
Retrieval (self-hosted)
pgvector für Vektorsuche; Hybrid RRF (Vektor + Full-Text) unterstützt; Embedding pro Agent gepinnt
Retrieval (Cloud-API)
TurboPuffer für schnelle semantische Suche; Default-Embedding text-embedding-3-small (OpenAI)
Reranking
Kein Cross-Encoder-Reranking (laut Vergleichsanalyse 2026 weder Letta noch Mem0)
Retrieval-Paradigma
Agentic — der Agent ruft selbst Tool-Funktionen pro Memory-Tier auf (nicht deterministische Fusion vor dem LLM)
Multi-Agent/Async
Sleep-time agents: Hintergrund-Agenten teilen Memory-Blocks des Primär-Agenten und modifizieren sie asynchron; Shared-Memory-Blocks zwischen Agenten
MCP/Integration
Server-seitige MCP-Integrationen werden 2026 zugunsten client-seitiger Skills abgebaut; ADE als Dev-/Debug-Oberfläche
Cloud-Pricing (Juni 2026)
Free $0 (bis 3 managed agents, BYOK) · Pro $20/Monat (bis 20 stateful agents + Letta-Auto-Quota, PAYG-Overage) · Teams/Enterprise custom. Früheres $200-Max-Tier entfernt
Self-Hosting
Docker (offizielles Image, 2026 als Produktoberfläche zurückgestuft); Railway-Template mit PostgreSQL+pgvector; kostenlos außer Hosting/API-Nutzung
Benchmarks
Keine veröffentlichten LongMemEval-Ergebnisse (laut Dritt-Analyse 2026)
Empfohlene Modelle
Modell-agnostisch; Doku empfiehlt Opus 4.5 und GPT-5.2 für beste Performance
Stärken
  • Selbst-editierendes Gedächtnis: Agenten kuratieren aktiv per Tool-Calls, was sie behalten — nicht nur passiver RAG-Speicher
  • Ausgereiftes, forschungsfundiertes Memory-OS-Modell (MemGPT/Berkeley) mit klarer core/recall/archival-Hierarchie und expliziten Memory-Blocks samt Zeichenlimits
  • Agent Development Environment (ADE): visuelles Debugging des kompletten Kontextfensters (Memory, State, Prompts, Tool-Execution) — starke Developer-Experience
  • Sleep-time agents: asynchrone Hintergrund-Verarbeitung der Memory-Blocks; mehrere Agenten teilen Shared-Memory-Blocks (Multi-Agent-Koordination über gemeinsamen State)
  • Vollständige Plattform aus einem Guss: Runtime + Memory + Tooling + Cloud (Constellation) + Coding-Agent (Letta Code)
  • Modell-agnostisch mit BYOK auf allen Tiers (OpenAI/Anthropic/OpenRouter); kein Vendor-Lock-in auf Modellebene
  • Großes Mindshare/Community (~23,4k GitHub-Stars), Apache-2.0, breites Ökosystem (Aurora-PostgreSQL-Referenz, Codecademy-Kurs)
ctx +
  • Retrieval-Tiefe: ctx fährt 4-Way RRF (Semantic + EN-FTS + DE-FTS + Trigram-Title) PLUS Cross-Encoder-Reranking (bge-reranker-v2-m3, A/B-bewiesen). Letta nutzt bestenfalls 2-Wege-Hybrid (Vektor+FTS) und KEIN Cross-Encoder-Reranking
  • Deterministisches, vor-dem-LLM fusioniertes Retrieval in EINER Postgres-Transaktion vs. Lettas agentic Retrieval, bei dem jede Memory-Operation Inference-Tokens kostet und die Qualität vom Modell-Urteil abhängt
  • $0 laufende Kosten / komplett on-prem (llama.cpp + lokale Embeddings) — Lettas Default-Embedding (text-embedding-3-small) und Cloud-Suche (TurboPuffer) sind hosted/API-gebunden; voll-lokal ist bei Letta möglich aber nicht der gepflegte Default-Pfad
  • LLM-inferierte LATENTE Links (Dream Mode, 5 Typen) entdecken nicht-explizite Beziehungen — Letta hat kein vergleichbares automatisches Cross-Reference-/Link-Graph-Konzept über den Wissensbestand
  • Cyclic-temporal Gravity (7 zyklische Dimensionen, Gaussian Decay) als Ranking-Signal — bei Letta nicht vorhanden
  • Cross-Tenant/Cross-LLM Memory-Bridge mit GottZ Scope Model (private/hth/shared) als gemeinsame Wissensschicht über Instanzen hinweg — Lettas Sharing ist agent-/block-zentriert, nicht als tenant-übergreifende Knowledge-Bridge ausgelegt
  • Single Go-Binary, kein externer Vektor-Store nötig — Letta ist Python und im self-hosted Setup auf eine separate PostgreSQL/pgvector-Instanz angewiesen
  • Guard: async Duplikat-Erkennung (HNSW-Similarity, auto-archive/flag) — bei Letta kein dediziertes Dedupe der Wissensbasis
sie +
  • Aktive Agentic-Memory: Lettas Agenten editieren ihr Gedächtnis selbst (schreiben/aktualisieren/konsolidieren), während ctx primär ein Retrieval-/Speicher-Layer ist, den der LLM-Caller füttert — Letta ist der vollständige Agent-Loop inklusive Gedächtnisverwaltung
  • Sleep-time agents als first-class Konzept: asynchrone Hintergrund-Konsolidierung mit geteilten Memory-Blocks — vergleichbar zu ctx Dream/Guard, aber bei Letta direkt in die Agent-Runtime integriert und produktseitig dokumentiert
  • Agent Development Environment (ADE): ausgereifte visuelle UI zum Inspizieren/Debuggen von Kontext, State und Tool-Calls — ctx hat zwar ein Web-Frontend (Dashboard/Graph/Workbench), aber keinen vergleichbaren Agent-Loop-Debugger
  • Reife Plattform & Ökosystem: ~23,4k Stars, gemanagte Cloud (Constellation), Coding-Agent (Letta Code), Aurora-PostgreSQL-Skalierungs-Referenz, kommerzieller Support, Kurse — vs. ctx als Single-Maintainer-Projekt
  • Cloud-Skalierung out-of-the-box (TurboPuffer für Hunderttausende Memories, managed scaling) — ctx ist Single-GPU/Single-Node und beim Bulk-Embedding CPU-limitiert
  • Multi-Tenancy/Multi-Agent ist bei Letta produktiv und gemanagt; ctx Multi-Tenancy ist noch im Bau (20/44 Wellen, nicht deployed)
  • Etablierte Forschungs-Marke (MemGPT) mit breiter Adoption und Dokumentation; ctx ist proprietär/nischig ohne öffentliche Benchmark-Historie

vs. ctx Letta und ctx adressieren verwandte, aber unterschiedliche Schichten: Letta ist eine vollständige Agent-Plattform, deren Gedächtnis der Agent selbst per Tool-Calls verwaltet (agentic, token-kostend, modell-abhängig), während ctx ein dedizierter, deterministischer Retrieval-/Memory-Layer ist, der Wissen vor dem LLM fusioniert und rankt. Auf der reinen Retrieval-Achse ist ctx tiefer (4-Way RRF + Cross-Encoder-Reranking + cyclic-temporal Gravity + latente Dream-Links, alles als lokales SQL ohne API-Kosten) — Letta bleibt bei 2-Wege-Hybrid ohne Cross-Encoder und hat keine veröffentlichten Memory-Benchmarks. Lettas Stärken liegen woanders: aktives selbst-editierendes Gedächtnis, sleep-time agents, das ausgereifte ADE-Debugging und eine kommerziell skalierende Cloud mit großem Ökosystem. Fair eingeordnet: Wer einen lokalen, kosten-freien, ranking-starken Cross-LLM-Wissensspeicher will, ist bei ctx besser; wer eine fertige stateful-Agent-Runtime mit gemanagter Cloud und Self-Curation sucht, bei Letta — die beiden sind eher komplementär als direkte 1:1-Konkurrenten.

Recherche-Stand & Quellen

Recherchiert am 2026-06-17 via WebSearch/WebFetch (letta.com, docs.letta.com, GitHub letta-ai/letta, vectorize.io, AWS-Blog). Stand: Stable v0.16.8 (14.05.2026), Apache-2.0, ~23,4k GitHub-Stars; Cloud-Pricing Free/$20 Pro/Enterprise (Max-Tier $200 entfernt). Strategischer 2026-Pivot zu „Letta Code" + Cloud „Constellation" (Blog „our-next-phase", 16.03.2026; LettaBot im Mai 2026 in Letta Code als Channels gefaltet). Retrieval-Details (pgvector self-hosted / TurboPuffer cloud, text-embedding-3-small, Hybrid RRF, kein Cross-Encoder, keine LongMemEval-Publikation) aus Doku + Dritt-Vergleichsanalysen Juni 2026 — Implementierungs-Interna von Letta nur teilweise offiziell dokumentiert (entsprechend gekennzeichnet, W3/W9).

Zep / Graphiti (getzep.com)

competitor

Temporaler Knowledge-Graph als Agent-Memory — Cloud-Service (Zep) auf Open-Source-Engine (Graphiti, Apache-2.0), beide auf externer Graph-DB statt Postgres-Monolith.

Zep ist ein kommerzieller, Cloud-gehosteter Memory-Layer für KI-Agenten; sein Open-Source-Kern Graphiti ist eine temporal-aware Knowledge-Graph-Engine. Beide modellieren Wissen als Graph aus Entitäten, Beziehungen und Fakten, wobei jeder Fakt ein Gültigkeitsfenster trägt (wann wahr geworden, wann abgelöst). Zielgruppe Graphiti: Python-Entwickler, die Agent-Memory selbst hosten und bauen. Zielgruppe Zep Cloud: Teams/Enterprises (Finanz, Medizin, Legal), die Compliance (SOC2/HIPAA/GDPR) und einen Managed-Dienst statt Eigenbetrieb wollen.

Anbieter / Repo
Zep AI; github.com/getzep/graphiti (OSS-Kern), getzep.com (Cloud)
Graphiti Version
v0.29.2 (08.06.2026), 27.6k GitHub-Stars, Apache-2.0
Sprache
Python (99.4%), Python 3.10+
Speicher-Backend
Externe Graph-DB Pflicht: Neo4j 5.26+, FalkorDB 1.1.2+, Amazon Neptune; Kuzu 0.11.2 deprecated
Retrieval
Hybrid: Cosine-Similarity + BM25 + Breadth-First-Search; Reranker RRF / MMR / Cross-Encoder; Node-Distance-Reranking; sub-second-Latenz
LLM-Provider
OpenAI (default), Anthropic, Google Gemini, Groq, Azure; OpenAI-kompatibel: Ollama/vLLM/llama.cpp/LM Studio/DeepSeek/OpenRouter
Embeddings
OpenAI, Azure OpenAI, Google Gemini, Voyage
MCP
Eigener MCP-Server im Repo (Claude + andere Clients), FastAPI REST-API
Benchmark
Zep: LongMemEval 63.8% (vs Mem0 49.0%); DMR 94.8% (GPT-4 Turbo) / 98.2% (GPT-4o Mini)
Zep-Cloud-Preise
Free 1.000 Credits/Mo; Flex 104 $/Mo (50k Credits); Flex Plus 312 $/Mo (200k Credits); Enterprise custom
Self-Hosting
Graphiti frei self-hostbar; Zep Cloud BYOC nur Enterprise; Zep Community Edition deprecated (April 2025, Feature-Retirement Feb 2026, Code in legacy/)
Compliance
Zep Cloud: SOC 2 Type II, HIPAA BAA, GDPR; 1-Jahr Audit-Log-Retention (Enterprise)
Stärken
  • Echter, bi-temporaler Knowledge-Graph: jeder Fakt hat Gültigkeitsfenster (valid-from/valid-to) und wird bei Widerspruch invalidiert statt überschrieben — historische Queries möglich
  • Graph wird beim Retrieval tatsächlich traversiert (Node-Distance-Reranking, BFS) — Beziehungen sind erstklassige Query-Dimension
  • Öffentlicher Benchmark-Track-Record (LongMemEval 63.8%, DMR ~95-98%) — verifizierbare, publizierte Zahlen + arXiv-Paper
  • Breite Provider-Matrix: 6+ LLM-Anbieter, 4 Embedding-Anbieter, 4 Graph-DBs — flexibel austauschbar
  • Großes OSS-Momentum: 27.6k Stars, aktive Releases (zuletzt Juni 2026), MCP-Server out-of-the-box
  • Cloud-Variante liefert Enterprise-Compliance (SOC2/HIPAA/GDPR) schlüsselfertig — RFP-tauglich für regulierte Branchen
  • Incremental Updates ohne Graph-Recompute — skaliert für kontinuierlichen Daten-Ingest
ctx +
  • Echter Single-Binary-Monolith + EINE Postgres-Instanz — Graphiti braucht zusätzlich eine separate Graph-DB (Neo4j/FalkorDB/Neptune) als Betriebs- und Lizenzkosten-Faktor
  • Hybrid-Fusion (4-Way RRF: Semantic + EN-FTS + DE-FTS + Trigram-Title) läuft in EINER SQL-Transaktion ohne Netzwerk-Hop; Graphiti koordiniert App-Layer gegen externe Graph-DB
  • $0 laufende Kosten / all-local: keine Cloud-API-Gebühren, kein Credit-Modell — Zep Cloud kostet 104-312 $/Mo+; Graphiti-OSS default gegen kostenpflichtige OpenAI-APIs
  • Durchgängig on-prem (llama.cpp): Datenhoheit by-default; Zep self-host ohne Compliance-Stack, Compliance nur in der bezahlten Cloud
  • Dediziertes zyklisches Temporal-Modell (7 Phasen, Gaussian-Decay, Temporal-Gravity) — feinkörniger als reines valid-from/valid-to-Fenster bei Graphiti
  • LLM-inferierte LATENTE Links (Dream Mode, 5 Typen) entdecken nicht-explizite Beziehungen, nicht nur extrahierte Entitäten/Kanten
  • Native bilinguale Volltextsuche (DE+EN FTS) + Query-Translation DE→EN mit Domain-Glossar — Graphiti BM25 ist nicht sprach-dual ausgelegt
  • Cross-Tenant/Cross-LLM Memory-Bridge als Designziel über mehrere Anthropic-Tenants hinweg
sie +
  • Graph wird @Query traversiert (Node-Distance/BFS) — ctx-Graph wird laut eigener Positionierung NICHT traversiert (Dream-Links nur als supersedes-Filter)
  • Bi-temporale Fakt-Invalidierung mit Gültigkeitsfenstern ist reifer und expliziter als ctx' temporale Gravitation
  • Öffentliche, reproduzierbare Benchmarks (LongMemEval/DMR) + Peer-Paper — ctx-Eval ist endogen (eigene eval.sh, frozen baseline, kein öffentlicher Benchmark)
  • Managed Cloud + Enterprise-Compliance (SOC2/HIPAA/GDPR, BAA, Audit-Retention) sofort verfügbar — ctx hat nichts Vergleichbares
  • Multi-Tenancy ist in Zep Cloud produktiv gelöst — ctx-MT ist noch im Bau (nicht deployed)
  • Deutlich größeres Ökosystem/Adoption (27.6k Stars, viele Integrationen/Forks) und größeres Provider-Portfolio
  • Horizontale Skalierung via Cloud-Backend; ctx ist Single-GPU-begrenzt (eine RTX 6000)
  • Python-Ökosystem senkt Einstiegshürde für die KI/Agent-Mehrheit (ctx ist Go + Self-Hosting-affin)

vs. ctx Zep/Graphiti und ctx lösen dasselbe Problem (persistentes LLM-Memory) mit gegensätzlicher Architektur-Philosophie: Graphiti setzt auf einen echten, bi-temporalen Knowledge-Graph in einer separaten Graph-DB mit Query-Zeit-Traversierung und publizierten Benchmarks; ctx auf einen Single-Binary-Postgres-Monolith mit 4-Way-RRF-Hybrid-Fusion in einer Transaktion, latenten LLM-Links und $0 All-Local-Betrieb. Graphiti gewinnt bei echter Graph-Traversierung, Benchmark-Nachweis, Provider-Breite und (via Zep Cloud) Enterprise-Compliance/Managed-Betrieb/Multi-Tenancy. ctx gewinnt bei operativer Simplizität (kein zweiter Datenstore), Kostenfreiheit, Datenhoheit by-default, bilingualer Suche und feinkörnigem zyklischen Temporal-Modell. Faire Einordnung: Graphiti ist die reifere, breiter adoptierte „Plattform mit Cloud-Upsell"; ctx das schlankere, vollständig souveräne self-hosted Primitiv — wobei ctx' offene Flanken (kein Query-Graph-Traversal, endogenes Eval, MT noch im Bau) genau Graphitis Stärken sind.

Recherche-Stand & Quellen

Recherche 2026-06-17 (WebSearch/WebFetch). Stand: Graphiti v0.29.2 (08.06.2026), 27.6k GitHub-Stars, Apache-2.0, Python 3.10+. Zep Cloud Free/Flex(104 $)/Flex Plus(312 $)/Enterprise; Zep Community Edition deprecated April 2025, Feature-Retirement Feb 2026 (Code in legacy/). Benchmark-Zahlen (LongMemEval 63.8%, DMR 94.8/98.2%) aus Zep-eigenen Quellen/arXiv 2501.13956 — Anbieter-Angaben, nicht unabhängig nachgemessen (W3/W9).

Vektor-Datenbanken (Pinecone · Weaviate · Qdrant)

Retrieval-Infrastruktur / Vektor-Store-Klasse

Spezialisierte Vektor-Such-Engines als Retrieval-Infrastruktur — der ANN-Index-Layer, auf dem man RAG selbst baut, nicht ein fertiger Memory-Store wie ctx.

https://www.pinecone.io/ · https://weaviate.io/ · https://qdrant.tech/

Pinecone, Weaviate und Qdrant sind die drei führenden dedizierten Vektor-Datenbanken (Stand Juni 2026). Sie speichern Embeddings, bauen ANN-Indizes (HNSW) und liefern Nearest-Neighbor-Suche, inzwischen durchgängig auch Hybrid-Suche (dense + sparse/BM25) und teils integriertes Reranking. Zielgruppe sind Entwickler und Plattform-Teams, die semantische Suche, Recommendation oder RAG-Pipelines für AI-Agenten bauen. Entscheidend für den Vergleich: Es ist Retrieval-INFRASTRUKTUR (der Index- und Such-Baustein), kein fertiges Memory-/Knowledge-System. Synthese, Graph-Beziehungen, Temporal-Logik, Scope-Modell und die eigentliche Memory-Schicht baut der Nutzer selbst darüber — genau das, was ctx als opinionierte Komplettpipeline bereits mitbringt.

Pinecone — Modell
Proprietär, fully-managed SaaS (kein Self-Hosting; BYOC auf AWS/GCP/Azure in Preview), Rust-Engine, serverless
Pinecone — Kosten
Read/Write-Units + Storage (~$3.60/GB/Mon); Standard $8.25/1M RU + $2/1M WU; ~$70/Mon @10M, ~$700+/Mon @100M Vektoren
Pinecone — Retrieval
Hybrid (semantic+keyword) nativ, Integrated Inference (hosted Embedding+Reranking: pinecone-rerank-v0, cohere-rerank-v3.5, bge-reranker-v2-m3), Pinecone Assistant, ~8ms p50
Weaviate — Modell
Open Source (Apache 2.0), in Go geschrieben; Self-Hosted (Docker/K8s) ODER Weaviate Cloud; nahtlose Migration managed↔self-hosted
Weaviate — Kosten
Self-Hosted gratis; Cloud Flex ab $45/Mon (Okt 2025 $25-Tier retired), Plus ab $280/Mon annual; ~$135/Mon @10M, ~$900+/Mon @100M
Weaviate — Retrieval
BM25F + dense + Metadaten-Filter in einer Query (alpha-gewichtete Fusion), Reranker-/Generator-/Reader-Module, multimodal (Text/Bild/Audio), GraphQL+gRPC; 2.000+ Firmen in Prod, 14k+ GitHub-Stars
Qdrant — Modell
Open Source (Apache 2.0), in Rust geschrieben; Self-Hosted/Cloud/Hybrid/Edge (Qdrant Edge); 250M+ Downloads, 29k+ Stars, 146 MA (Mai 2026)
Qdrant — Kosten/Funding
Self-Hosted gratis (~$30–50/Mon VPS); Cloud ~$65/Mon @10M, ~$350/Mon @100M; Series B $50M (12.03.2026), $87.8M total
Qdrant — Retrieval
Dense + sparse + Multivector/ColBERT late-interaction + custom scoring in einer Query, Binary Quantization (bis 40x), GPU-Indexing, filter-aware HNSW, ~4ms p50 (schnellste der Gruppe)
Gemeinsame Klasse
Alle = Vektor-Index + ANN-Suche. KEINE LLM-Synthese-Antwort, kein latenter Knowledge-Graph, kein zyklisch-temporales Modell, kein Memory-Pipeline-Layer out-of-the-box — RAG/Memory baut der Nutzer obendrauf
Stärken
  • Massive Skalierung: Milliarden Vektoren, verteilte/sharded Cluster, Multi-AZ — weit über ctx-Einzelknoten hinaus
  • Reife Managed-Clouds mit SLA, Auto-Scaling, Monitoring (Pinecone serverless, Weaviate Cloud, Qdrant Cloud)
  • Quantization für Speicher-Effizienz: Qdrant Binary (bis 40x, SIMD-popcount), Scalar/Product (8–64x)
  • Sub-10ms-Latenz auf Milliarden-Datensätzen (Qdrant ~4ms, Pinecone ~8ms, Weaviate ~10ms p50)
  • Sparse-Vektoren, Multivector/ColBERT late-interaction, multimodal (Text/Bild/Audio) — breitere Retrieval-Primitive
  • Große Ökosysteme, SDKs, LangChain/LlamaIndex-Integrationen, VC-finanziert (Qdrant Series B $50M 2026), Enterprise-erprobt
ctx +
  • Fertiger Memory-Store statt nur Index: ctx liefert die komplette opinionierte Pipeline (Synthese-Antwort, Sources, Scope, Temporal) — bei der Vektor-DB-Klasse baut man RAG/Memory selbst darüber
  • Hybrid-Fusion in EINER Postgres-Transaktion: 4-Way RRF (semantic + EN-FTS + DE-FTS + Trigram-Title) über dieselben Tabellen, kein Netzwerk-Hop zu einem externen Vektor-Store
  • LLM-Synthese eingebaut (qwen3.6:27b, fact-extraction): ctx gibt eine kondensierte Antwort + Quellen zurück, nicht nur Treffer-Listen wie die reinen Vektor-Engines
  • LLM-inferierte LATENTE Links (Dream Mode, 5 Typen) — entdeckt nicht-explizite Beziehungen; die Vektor-DBs bieten nur Vektor-Nachbarschaft, keinen semantischen Beziehungs-Graphen
  • GottZ Cyclic Phase Model: 7 zyklische temporale Dimensionen + Temporal Gravity als Post-RRF-Reranker — in keiner der drei Engines vorhanden
  • $0 laufende Kosten / all-local: keine Read/Write-Unit-Gebühren, kein Storage-Pricing, keine Cloud-Rechnung die bei 100M Vektoren auf $350–900/Mon steigt
  • Cross-Tenant/Cross-LLM Memory-Bridge + Scope-Isolation als SQL — gemeinsame Wissensschicht über Instanzen; die Vektor-DBs bieten nur Namespaces/Collections als Mandanten-Trennung, keine Memory-Bridge
  • MPL-2.0 + Single-Binary (CLI+Daemon) auf bestehendem Postgres — keine separate Vektor-DB-Komponente zu betreiben (Weaviate/Qdrant brauchen einen eigenen Dienst, Pinecone die Cloud)
sie +
  • Skalierung in andere Liga: Milliarden Vektoren, horizontale Sharding-Cluster, Multi-AZ — ctx ist Single-Node auf einer RTX 6000, Inferenz-/Embedding-Durchsatz begrenzt
  • Managed-Option ohne Ops: Pinecone-Cloud/Weaviate-Cloud/Qdrant-Cloud nehmen Betrieb, Skalierung, Backups ab — ctx ist reines Self-Hosting
  • Quantization (Qdrant Binary bis 40x, Product 8–64x) für extreme Speicher-Effizienz — ctx nutzt Matryoshka-Truncation auf 1024d, aber keine vergleichbare Quantization-Pipeline
  • Sub-10ms-Retrieval auf Massiv-Datensätzen ohne LLM-Synthese-Latenz; ctx zahlt die Synthese-Zeit der lokalen LLM-Stufe
  • Reichere Retrieval-Primitive: sparse Vektoren, Multivector/ColBERT, multimodal (Bild/Audio) — ctx ist text- und block-zentriert
  • Reife, dokumentierte SDKs/Integrationen + großes Ökosystem + Enterprise-Support/SLA; ctx ist ein Single-Autor-Projekt (GottZ) mit endogener eval.sh statt öffentlichem Benchmark

vs. ctx Falscher Vergleich auf Produktebene, richtiger auf Architektur-Ebene: Pinecone/Weaviate/Qdrant sind die Index- und Such-INFRASTRUKTUR, ctx ist der fertige Memory-Store. Die drei Engines liefern erstklassige, skalierende Vektor-/Hybrid-Suche (Milliarden Vektoren, Quantization, sub-10ms) — aber Synthese, latenter Graph, Temporal-Modell, Scope und die Memory-Pipeline baut der Nutzer selbst obendrauf, typischerweise als „externer Vektor-Store + selbst-gebautes RAG" mit Netzwerk-Hop zur DB. ctx kollabiert genau diese Schichten: pgvector ist nur der Index, während 4-Way-RRF-Fusion, FTS, latente Links, zyklisch-temporale Gravitation, Scope-Isolation und LLM-Synthese alle als SQL über dieselben Postgres-Tabellen in einer Transaktion laufen — all-local, $0 laufende Kosten, Cross-Tenant-Memory-Bridge. Wer Web-Scale-Vektorsuche mit Managed-Ops und Milliarden Embeddings braucht, nimmt die Vektor-DBs; wer einen self-hosted, opinionierten Cross-LLM-Memory-Layer ohne Cloud-Rechnung und ohne externen Store will, nimmt ctx. ctx setzt mit pgvector auf derselben Index-Technik auf, die diese Klasse als Kern hat — gewinnt aber durch Integration der gesamten Memory-Schicht in die DB.

Recherche-Stand & Quellen

Recherche 2026-06-17 (WebSearch/WebFetch). Versions-/Stand: Pinecone serverless (Rust, Integrated Inference, pinecone-rerank-v0; Pricing Mär–Apr 2026: $8.25/1M RU, $2/1M WU, ~$3.60/GB/Mon, proprietär/kein Self-Hosting). Weaviate Open Source Apache 2.0, in Go (marktechpost-Behauptung „Java" gegen GitHub-Primärquelle korrigiert), Cloud Flex ab $45/Mon, 2.000+ Prod-Firmen, 14k+ Stars. Qdrant Open Source Apache 2.0, in Rust, v1.17 (Relevance Feedback Queries), Binary Quantization, Qdrant Edge, Audit-Logging (Apr 2026), Series B $50M (12.03.2026, $87.8M total), 250M+ Downloads, 29k+ Stars, 146 MA. ctx-Anker: ctx-positionierung.md (2026-06-17). Latenz-/Pricing-Zahlen aus Sekundär-Vergleichen (jobsbyculture, marktechpost) — Größenordnung verlässlich, Einzelwerte je nach Workload variabel.

Glean

Enterprise Work-Assistant / Permissions-aware unternehmensweite Suche (Agentic Work-AI-Plattform)

Permissions-aware Enterprise-Suche und Agentic Work-AI über 275+ SaaS-Konnektoren — proprietäre Plattform für Großunternehmen, gegenläufig zu ctx als self-hosted Single-Binary-Memory.

https://www.glean.com

Glean ist eine kommerzielle Enterprise-AI-Plattform (gegr. 2019, Palo Alto), die unternehmensweite Suche, einen RAG-gestützten Assistant und „Glean Agents" über alle SaaS-Tools eines Unternehmens hinweg bündelt. Kernidee: ein „neutral intelligence layer" / Enterprise Knowledge Graph, der via Konnektoren das gesamte Firmenwissen (Docs, Chats, Tickets, Code, CRM) indexiert und permissions-aware durchsuchbar macht — jeder Nutzer sieht nur, was seine Identity-Provider-Rechte (Okta/AD/Azure AD) erlauben. Zielgruppe sind mittlere bis sehr große Unternehmen (typ. ab ~100 Seats), die eine fertige, betreute Wissens- und Agenten-Plattform statt eines Bausteins wollen.

Anbieter / Modell
Glean Technologies Inc., proprietär/closed-source, kommerziell (kein Open Source)
Bewertung / ARR
$7,2 Mrd. Bewertung (Juni 2025, Series F $150M); ARR auf $200M verdoppelt bis Dez. 2025
Konnektoren
275+ Out-of-the-box-Konnektoren (native + MCP-basiert + Push API), Suche über 100+ Tools
Retrieval
Hybrid: lexikalisch (BM25-artig) + Vektor-Embeddings ("Scholastic", gelernte Item-Embeddings) + proprietärer Enterprise Knowledge Graph
LLM-Integration
"Agentic Engine 2" (Sept. 2025), 15+ LLMs über mehrere Cloud-Provider; Search/Chat/Agents APIs, MCP headless
Deployment
Single-tenant Cloud (Glean-gehostet) · Cloud-prem in eigener GCP/AWS-VPC · Customer-managed (2026) · On-prem via Dell-Partnerschaft (Mai 2025)
Security/Compliance
Zero-copy (Content bleibt an Quelle, nur Index/Vektoren gecacht), AES-256 at rest, TLS, RBAC mit vererbten Permissions, SOC 2 Type II, ISO 27001
Preis
Kein Listenpreis, Custom-Sales; ~$50+/User/Monat, Min. ~100 Seats (~$60k+/Jahr ACV), Work-AI-Suite +~$15/User/Monat; fully-loaded TCO oft $350k–480k/Jahr
Skala
~20 Billionen Tokens/Jahr verarbeitet, >100M agentische Aktionen/Jahr (Stand 2026)
Stärken
  • Breite SaaS-Abdeckung: 275+ fertige Konnektoren — sofort einsatzbereit ohne eigenen Ingestion-Code
  • Permissions-aware Retrieval als First-Class-Feature: Mapping von IdP-Rechten (Okta/AD/Azure) auf jeden Konnektor, Nutzer sieht nur Berechtigtes — harte Enterprise-Compliance-Anforderung
  • Enterprise + Personal Knowledge Graph: Relationen über Menschen, Inhalte, Kunden, Produkte plus personalisiertes Nutzer-/Arbeitsmodell
  • Agentic-Plattform: horizontale Agent-Umgebung, Natural-Language-Agent-Bau, parallele Sub-Agent-Orchestrierung (Agentic Engine 2)
  • Multi-LLM-Routing (15+ Modelle) ohne Vendor-Lock-in auf ein Foundation-Model
  • Enterprise-Reife: SOC 2 Type II, ISO 27001, zero-copy-Datenmodell, Cloud-prem/VPC-Optionen für Datenresidenz, dediziertes Security-Produkt (Glean Protect)
  • Großer kommerzieller Reifegrad: $200M ARR, $7,2B Bewertung, etablierter Support/Sales/Onboarding-Apparat
ctx +
  • Kostenmodell: ctx all-local mit $0 laufenden API-/Seat-Gebühren vs. Gleans ~$50+/User/Monat, ~100-Seat-Minimum und $350k–480k TCO — für Einzelnutzer/kleine Teams ist Glean strukturell unzugänglich
  • Echte Datenhoheit & Self-Hosting: ctx läuft vollständig on-prem als Single Go-Binary + Postgres, llama.cpp-Inferenz lokal — keine gehostete API, kein Anbieter im Datenpfad. Glean ist auch in der Cloud-prem/Customer-managed-Variante an Glean-Code, -Tenant und -Sales gebunden
  • Open Source (MPL-2.0) vs. Gleans proprietäre Closed-Source-Plattform — inspizierbar, forkbar, kein Vendor-Lock-in
  • Architektonische Sparsamkeit: Hybrid-Fusion (4-Way RRF: Semantic + EN-FTS + DE-FTS + Trigram), FTS, Graph und temporale Gravitation laufen bei ctx alle als SQL in EINER Postgres-Transaktion — kein separater Vektor-Store, kein Netzwerk-Hop; Glean verteilt über Search-Index + Amazon RDS + Graph-Layer
  • LLM-inferierte LATENTE Links (Dream Mode, 5 Typen) entdecken nicht-explizite Beziehungen — über Gleans aus Konnektor-Metadaten/Identity abgeleiteten Enterprise-Graph hinaus
  • Cyclic Phase Model / Temporal Gravity (7 zyklische Zeitdimensionen, Gaussian Decay) als Retrieval-Signal — bei Glean nicht als eigenständiges Feature erkennbar
  • Cross-LLM/Cross-Tenant-Memory-Bridge zwischen heterogenen LLM-Instanzen ist ctx-Designziel; Glean ist Enterprise-internes Wissen, nicht als Memory-Layer für externe Agenten konzipiert
  • Komplexität/Footprint: Single-Binary in Minuten lauffähig vs. VPC-Deployment + IdP-Mapping + Sales-Zyklus
sie +
  • Konnektor-Ökosystem: 275+ fertige SaaS-Integrationen vs. ctx (manuelle Ingestion, Obsidian, Blob, API) — Glean indexiert ein ganzes Unternehmen ohne Eigenbau
  • Permissions-aware Multi-User-Security auf Org-Ebene: granulares Mapping von IdP-Gruppen/Rechten pro Konnektor. ctx hat zwar ein Scope-Modell + Multi-Tenant (in Bau), aber keine Enterprise-IdP-Integration und kein Document-Level-ACL-Mapping
  • Skalierung & SLA: bewiesen auf ~20 Bio. Tokens/Jahr, Tausende Nutzer; ctx läuft auf Single-GPU (eine RTX 6000), Inferenz-Durchsatz und Bulk-Embedding begrenzt
  • Compliance-Zertifizierungen (SOC 2 Type II, ISO 27001) und Security-Produkt — formal nachweisbar für Enterprise-Procurement; bei ctx nicht vorhanden
  • Agentic-Plattform mit Natural-Language-Agent-Bau, Sub-Agent-Orchestrierung und Multi-LLM-Routing (15+ Modelle) als Produktfläche — ctx ist Memory-/Retrieval-Layer, keine Agent-Orchestrierung
  • Personal Graph + Enterprise Memory: personalisierte, rollenbewusste Ergebnisse pro Mitarbeiter
  • Betrieb als Managed Service: kein Self-Hosting-Aufwand, dedizierter Support/Onboarding — für ctx muss der Betreiber alles selbst fahren

vs. ctx Glean und ctx adressieren überlappende Probleme (Wissen auffindbar machen, LLMs erden) aus entgegengesetzten Ecken. Glean ist die schwergewichtige, proprietäre Enterprise-Suite: 275+ Konnektoren, permissions-aware Multi-User-Suche über das gesamte SaaS-Stack, Agentic-Plattform, Managed Service ab ~$60k/Jahr und 100 Seats — die richtige Wahl für ein Großunternehmen, das ohne Eigenbau das ganze Firmenwissen erschließen und Org-weite Rechte respektieren muss. ctx ist das Gegenteil: ein self-hosted Single-Binary-Memory mit $0 laufenden Kosten, voller Datenhoheit, MPL-2.0, einer eleganten 4-Way-RRF-Hybrid-Fusion in EINER Postgres-Transaktion plus latente Links und cyclic-temporal Gravity — gebaut als Cross-LLM/Cross-Tenant-Gehirn für Agenten und Power-User, nicht als Org-Suchportal. Wo Glean mit Connector-Breite, IdP-ACLs, Compliance-Zertifizierung und Skalierung führt, führt ctx mit Kosten, Datenhoheit, Inspizierbarkeit, architektonischer Sparsamkeit und Retrieval-Eigenheiten (latente Links, temporale Gravitation). Sie konkurrieren kaum um denselben Käufer — Glean verkauft an Enterprise-Procurement, ctx dient dem souveränen Selbstbetreiber.

Recherche-Stand & Quellen

Recherche-Datum 2026-06-17 (WebSearch/WebFetch). Stand: $7,2B Bewertung (Juni 2025, Series F), ARR $200M (Dez. 2025), Agentic Engine 2 (Sept. 2025, 3. Gen Assistant), 275+ Konnektoren, 15+ LLMs, Customer-managed-Deployment-Modell (2026), Dell-On-prem-Partnerschaft (Mai 2025). Preise sind Custom-Sales-Schätzungen aus Dritt-Quellen (CheckThat.ai, gosearch.ai, workativ), kein offizieller Listenpreis — entsprechend als Richtwerte zu lesen. Quellen u.a. glean.com (overview, connectors, security, docs.glean.com), agentmarketcap.ai (April 2026).

LLM-native Memory-Features (ChatGPT Memory · Claude Memory & Projects · Notion AI)

LLM-native Memory (proprietär, anbietergebunden)

Eingebaute, proprietäre Memory-Funktionen einzelner KI-Anbieter — bequem und null Setup, aber jeweils auf ihre eigene Plattform eingesperrt; ctx ist demgegenüber die anbieterneutrale Cross-LLM/Cross-Tenant-Brücke, die genau diese Silos verbindet.

Sammelbegriff für die in KI-Assistenten eingebauten Erinnerungsfunktionen, hier als Gruppe betrachtet: OpenAI ChatGPT Memory, Anthropic Claude Memory + Projects und Notion AI. Alle drei lernen über Sessions hinweg Fakten und Präferenzen über den Nutzer und speisen sie automatisch in künftige Antworten ein. Zielgruppe sind Endnutzer und Teams, die ohne eigenes Setup personalisierte Assistenten wollen. Gemeinsames Strukturmerkmal: Jedes Feature lebt ausschließlich innerhalb der Plattform seines Anbieters (cloud-gehostet, proprietär) — es gibt keinen offenen, geteilten Speicher über Anbietergrenzen hinweg. Genau dort setzt ctx als self-hosted, anbieterneutraler Store an.

ChatGPT Memory — zwei Schichten
(1) Saved Memories: explizite, einzeln einsehbar/editier-/löschbare Faktenliste; (2) Reference Chat History: implizite Mustererkennung aus allen früheren Chats, KEINE Listenansicht (nicht auditierbar). Jan-2026-Upgrade: zuverlässiger Recall von Details aus 12+ Monaten.
ChatGPT 'Memory Dreaming' (Juni 2026)
Ein einzelner asynchroner Hintergrund-Prozess synthetisiert Memory aus vielen Konversationen gleichzeitig, erfasst Kontext automatisch und aktualisiert bestehende Erinnerungen; erzeugt eine lesbare 'memory summary'. Laut Bericht eingeschränkter Audit-Trail. (Konzeptuelle Parallele zu ctx Dream Mode.)
ChatGPT — Export-Lücke
Standard-Datenexport (ZIP) enthält Konversationen, aber KEINEN strukturierten Export der Memory-Einträge; Memory ist separat gespeichert und nur manuell herauskopierbar. Account-weit, cloud-only.
Claude Memory — Verfügbarkeit & Modi
Seit 2. März 2026 für alle inkl. Free. Zwei Modi: (1) Chat-Memory = eine zusammengefasste Notiz, einseh-/editierbar unter Settings → Capabilities → Memory; (2) File-System-Memory = Claude schreibt Notizen in /memory-Ordner (agentic/Claude Code), bei Session-Start gelesen.
Claude Projects — Silo
Projekt-Chats haben einen EIGENEN, separaten Memory-Raum; Standalone-Memory synthetisiert nur aus Standalone-Chats. Präferenzen/Kontext eines Projekts gelten nur dort. Wer zwischen Projects und Chats aufteilt, teilt damit auch den Memory-Kontext.
Claude 'Memory Files' (dual-mode, in Test)
Berichtet 24. Mai 2026: verteilt Notizen über mehrere strukturierte Dokumente nach Topic/Projekt/Kontext ('persönliches Wiki'), größere Kapazität, selektive Konsultation. Dual-Mode (klassisch vs. dateibasiert). Status: Testphase, kein fester Termin. 'Dreams'-Konsolidierung in limited Beta für Managed Agents. Cloud-Consumer-Feature.
Notion AI — Kontext & Persistenz
Custom Instructions + Instruction-Pages lehren Brand-Voice, Team-Struktur, Terminologie; Kontext bleibt bei Modellwechsel erhalten. Liest seit Jan 2026 bis zu 50 Seiten pro Kontextfenster (vorher 20); Custom Agents arbeiten bis 20 Min. autonom über hunderte Seiten; zieht Kontext auch aus Slack, Google Drive, Teams.
Notion AI — Preis & Datenhoheit (2026)
Free $0 · Plus $10 · Business $20/User/Monat (AI gebündelt) · Enterprise custom. Custom Agents seit 4. Mai 2026 nach Credits ($10 / 1.000 Credits). Data Residency (EU/Japan/Korea) + Zero-Data-Retention bei LLM-Providern NUR im Enterprise-Tier. Cloud-SaaS; OSS-Selfhost-Alternative wäre AppFlowy (Drittanbieter).
Gemeinsamer Nenner
Alle drei: cloud-gehostet, proprietär, anbietergebunden, laufende Abo-/Token-Kosten (außer Free-Limits). Memory ist NICHT anbieterübergreifend portierbar — Migration ChatGPT↔Claude nur via manueller Kopie oder experimenteller Import-Tools (Claude-Import 'experimentell' seit März 2026).
Stärken
  • Null Setup, sofort nutzbar — keine Infrastruktur, kein Betrieb, in den jeweiligen Assistenten direkt eingebaut.
  • Nahtlose, unsichtbare Integration in den eigenen Chat-/Workspace-Flow (ChatGPT/Claude-UI bzw. Notion-Seiten).
  • Automatische, beiläufige Erfassung von Kontext ohne dass der Nutzer aktiv speichern muss (ChatGPT Dreaming, Claude Auto-Summary).
  • Persistenz über Modellwechsel hinweg innerhalb der Plattform (Notion AI: 'switch models, your memory stays').
  • Riesige Reichweite und ständige Weiterentwicklung durch die großen Anbieter; tiefe Integration in Tools (Notion: Slack/Drive/Teams).
  • Editier-/Löschbarkeit der expliziten Einträge (ChatGPT Saved Memories, Claude Chat-Memory) gibt Endnutzern einfache Kontrolle.
ctx +
  • Anbieterneutral & Cross-LLM/Cross-Tenant: ctx ist EIN gemeinsamer Store über mehrere Claude-Instanzen UND Anthropic-Tenants (perspektivisch auch fremde LLMs via OpenAI-Wire-Protokoll) hinweg — die proprietären Features sperren Memory je in ihre eigene Plattform.
  • Keine Silos: ChatGPT-Memory, Claude-Projects und Notion-Workspace sind voneinander UND intern (Projects vs. Chats) getrennt; ctx hält ein einziges durchsuchbares Gedächtnis mit Scope-Modell (private/hth/shared) statt fragmentierter Inseln.
  • Self-hosted & volle Datenhoheit: läuft komplett on-prem (eigene GPU, eigene PostgreSQL) — keine Daten bei OpenAI/Anthropic/Notion; Data Residency ist hier Default, nicht ein Enterprise-Aufpreis wie bei Notion.
  • $0 laufende Kosten statt Abo/Token-Billing (Notion: $10/1.000 Credits; ChatGPT/Claude Pro-Pläne).
  • Volle Transparenz & Portierbarkeit: jeder Block ist per CLI/API/MCP abrufbar, exportierbar, versioniert — vs. ChatGPTs nicht-exportierbarer, teils nicht-auditierbarer 'chat history'-Schicht.
  • Offene Architektur: dokumentiertes Retrieval (4-Way RRF, Cross-Encoder-Reranking, cyclic-temporal Gravity, latente Dream-Links), MPL-2.0 Open Source, MCP-Server mit 5 Remote-Tools — die Anbieter-Features sind Blackboxes.
  • Strukturierter Zettelkasten mit explizitem Scope/Tags/Kategorien und Blob-Storage statt einer einzelnen zusammengefassten Notiz (Claude classic) oder opaker Faktenliste (ChatGPT).
sie +
  • Null-Setup vs. ctx-Betrieb: Endnutzer brauchen keine GPU, kein PostgreSQL, kein Docker — ctx verlangt Self-Hosting-Know-how und Hardware (Single-RTX-6000-Engpass).
  • Vollständig automatische, beiläufige Erfassung ohne jeden Nutzer-Aufwand; ctx setzt auf bewusstes Speichern bzw. Hooks/Ingestion.
  • Tiefe native Einbettung im jeweiligen Assistenten-UI — kein Tool-Call/MCP-Roundtrip nötig, Memory ist Teil des Produkts selbst.
  • Reife Consumer-Skalierung & Verfügbarkeit (Free-Tiers, mobile Apps, Multi-Region-Infra) — ctx ist ein Ein-Personen-Open-Source-Projekt.
  • Notion AI: breite native App-Konnektoren (Slack, Google Drive, Teams) und 20-Min-autonome Agents über hunderte Seiten — ctx ist ein Memory-/Retrieval-Layer, kein Workspace-Agent.
  • Claude 'Memory Files' bringen ein topic-/projektorganisiertes Wiki und Claude /memory-Filesystem direkt in den agentic Loop, ohne externen Store.
  • Ausgereiftes, kontinuierlich verbessertes Recall über Monate (ChatGPT 12+-Monate-Upgrade) mit großen Forschungs-/Betriebsbudgets im Rücken.

vs. ctx Die drei sind keine direkten Konkurrenten, sondern die Silos, die ctx überbrücken will: bequeme, eingebaute Memory innerhalb je EINER proprietären Cloud-Plattform — ChatGPT account-weit (aber teils opak/nicht exportierbar), Claude pro Projekt isoliert, Notion pro Workspace. ctx ist das Gegenmodell: ein anbieterneutraler, self-hosted Store, der dasselbe Gedächtnis über Claude-Instanzen, Tenants und perspektivisch fremde LLMs hinweg teilt, mit voller Datenhoheit, $0 laufenden Kosten, offenem dokumentiertem Retrieval (4-Way RRF, Reranking, latente Links) und Export-/Versionierbarkeit. Der Preis dafür ist Betriebsaufwand und fehlende Null-Setup-Bequemlichkeit — die proprietären Features gewinnen bei Convenience, Reichweite und nativer UI-Einbettung, ctx bei Souveränität, Übergreifbarkeit und Transparenz. Bemerkenswert: ChatGPTs 'Memory Dreaming' (asynchrone Hintergrund-Synthese) und Claudes 'Dreams' sind konzeptuelle Parallelen zu ctx' Dream Mode — die Branche bewegt sich auf ctx' Ideen zu, bleibt aber geschlossen und plattformgebunden.

Recherche-Stand & Quellen

Recherche-Stand 2026-06-17 (WebSearch Juni 2026). Versions-/Releasestand: ChatGPT Memory — 'Memory Dreaming'-Update (async Synthese, eingeschränkter Audit-Trail) Juni 2026, 12+-Monate-Recall seit Jan 2026, Memory weiterhin nicht im Standard-Export. Claude Memory — für alle inkl. Free seit 2. März 2026; 'Memory Files' dual-mode in Testphase (berichtet 24. Mai 2026, kein fester Termin), 'Dreams' in limited Beta. Notion AI — Plus $10 / Business $20 (AI gebündelt) / Enterprise custom; Custom Agents nach Credits ($10/1.000) seit 4. Mai 2026; 50-Seiten-Kontext seit Jan 2026; Data Residency EU/JP/KR nur Enterprise. Unsicher/nicht abschließend belegt (W3/W9): exakte interne Mechanik der Audit-Trail-Beschränkung bei ChatGPT (Primärquelle TechTimes per WebFetch 403, nur Such-Snippet); Hosting-Modell der Claude Memory Files (Quelle macht keine Angabe, vermutlich cloud-only).

EinordnungDie Landschaft teilt sich klar in „Plattform/Suite" vs. „fokussiertes Primitiv". Auf der Plattform-Seite stehen die schwergewichtigen, proprietären Enterprise-Suiten (Glean mit 275+ Konnektoren und permissions-aware Org-Suche, Langdock als GDPR-konformer Secure-ChatGPT-Wrapper, Microsoft Azure AI/Foundry als vollständig gemanagter RAG-/Agent-Memory-Stack) sowie die Open-Core-Agent-Memory-Plattformen mit Managed-Upsell (Mem0, Letta, Zep) — sie liefern Breite, Skalierung, produktive Multi-Tenancy, Compliance-Zertifikate und öffentliche Benchmarks, gegen laufende Kosten und Vendor-/Cloud-Bindung. Daneben die reine Retrieval-INFRASTRUKTUR (Pinecone/Weaviate/Qdrant), auf der man Memory erst selbst baut, und die anbietergebundenen LLM-nativen Features (ChatGPT/Claude/Notion), die maximale Bequemlichkeit bei null Setup gegen Silo-Einsperrung tauschen. ctx ist das bewusste Gegenmodell am anderen Ende des Spektrums: kein Plattform-Konkurrent, sondern ein fokussiertes, vollständig souveränes Self-hosted-Primitiv, das die gesamte Memory-Schicht in einen Single-Binary-Postgres-Monolith kollabiert — der nächste direkte Verwandte ist gbrain (Self-hosted-Agent-Memory, im Retrieval-Kern konvergent), die strategische Gabelung verläuft dort zwischen gbrains breitem, MIT-lizenziertem, Git-Markdown-zentriertem Single-Operator-Knowledge-OS mit hosted-Default/öffentlichem Eval/Massen-Mindshare und ctx' all-local-$0, MPL-2.0, latent-verlinktem, cyclic-temporalem Cross-Tenant-Primitiv. Faustregel: Plattform-Bequemlichkeit, Skalierung, Benchmark-Nachweis und Org-Governance → Wettbewerber; Datenhoheit, $0-Betrieb, Architektur-Kontrolle, latente/temporale Retrieval-Tiefe und eine anbieterneutrale Cross-LLM-Brücke → ctx.