17.1 KB · updated 2026-07-06 · md

v0.5.0.de.md

docs/i18n/release-notes/v0.5.0.de.md

Tesserae v0.5.0 — Das Engine-Rückgrat und der Kontext-Compiler auf Abruf

<!-- translations:start -->

English · 한국어 · 中文 · 日本語 · Русский · Español · Français

<!-- translations:end -->

Veröffentlicht am 2026-06-06 · PyPI · GitHub-Release · pip install --upgrade tesserae==0.5.0

Tesserae 0.5.0 ist das Release, in dem das Projekt zu der Kontext-Engine wird, die seine Mission beschreibt. Es liefert das Engine-Rückgrat — einen Pipeline-Orchestrator, einen Supervisor-Daemon und einen Live-Sitzungsmonitor — und das Hauptfeature der Säule 3: den Kontext-Compiler auf Abruf, der „gib mir Kontext zu X" in ein maßgeschneidertes, zitiertes, agentenfertiges Bündel verwandelt. Darunter sind die Selbstverbesserungs-Pässe nun aktiviert und persistiert über das node_memory-Sidecar (numerische Wiederholungs-Konfidenz in der Ausgabe, Supersede standardmäßig aktiv), echte Standard-Embeddings ersetzen den Hash-Bucket-Stub (Spur B), und die Infrastruktur der inkrementellen Kompilierung landet, bleibt aber mit Flag OFF/experimentell. Zwei echte Compile-Bugs, die unterwegs gefunden wurden, sind behoben (changed-only-Idempotenz, Injected-Store-Vertrag), und die Testsuite erreicht 1544 bestanden / 0 fehlgeschlagen. Dies ist das Release, das die Phasen 0–6 der Kontext-Engine-Roadmap liefert.

Inhaltsverzeichnis:

  1. Kontext-Compiler auf Abruf — MD0 (Säule 3, Hauptfeature)
  2. Das Engine-Rückgrat — Orchestrator, Daemon, Live-Sitzungsmonitor
  3. Selbstverbesserung, aktiviert und persistiert (MD0-Sidecar)
  4. Echte Standard-Embeddings (Spur B)
  5. Infrastruktur der inkrementellen Kompilierung (Flag OFF) + zwei Compile-Korrekturen
  6. Upgrade von v0.4.0
  7. Strategischer Kontext

1. Kontext-Compiler auf Abruf — compile_context (Säule 3, Hauptfeature)

Was es ist

Das Feature, auf das die gesamte Roadmap zeigte: eine Anfrage (oder ein Satz von Seed-Knoten) hinein, ein maßgeschneidertes, zitiertes, agentenfertiges Kontextbündel hinaus. compile_context ist eine reine Funktion — sie liest den Graphen und gibt ein In-Memory-ContextBundle zurück, ohne irgendetwas auf die Festplatte zu schreiben. Die Pipeline ist: Anfrage/Seeds → PPR + Hybridsuche für Seeds → tiefenbegrenzter k-Hop-Nachbarschaftslauf → Zusammenbau der relevanten Wiki-Bodies → optionale LLM-Synthese (mit einem anmutigen deterministischen Fallback) → Budgetkontrolle mit einem Wortgrenzen-Trunkierungsmarker. Jeder beitragende Knoten wird als ContextCitation erfasst, sodass alle Zitate des Bündels zu echten Graph-Knoten auflösen.

TypRolle
`compile_context(query \seeds, depth, budget, …)`Reiner Einstiegspunkt; gibt ein ContextBundle zurück.
ContextBundleDer zusammengebaute Kontext plus seine Zitatliste.
ContextCitationEin auflösbares Zitat (Knoten-ID → beigetragener Body).

Der Compiler wird auf drei Arten bereitgestellt:

  • MCP-Tool compile_context — damit ein Agent es mitten im Gespräch aufruft. budget=0 bedeutet ohne Obergrenze.
  • CLI tesserae project context — exit-0 / stdout / --output / deterministisch, für Scripting und Pipelines.
  • Themenbezogene Exporteslice_export_context_for_topic erzeugt einen themenbezogenen llms.txt-Slice, und der Agent-Harness-Brief wird nun pro Thema über compile_context gerendert (Muster 4 + Muster 6) statt eines hartkodierten Top-12.

Zwei verwandte Retrieval-Upgrades kommen dazu: node_context erhält einen gerankten use_ppr-Pfad (mit unterdrückungsbewusstem Nachbar-Auffüllen und Kanten-/Limit-Steuerung), und der Themen-Slice verwendet den kanonischen Wiki-Slug, sodass Zitate und Exporte zusammenpassen.

Verwendung

# CLI: ein zitiertes Kontextdokument für ein Thema kompilieren, nach stdout oder in eine Datei ausgeben
tesserae project context "Retrieval-Ranking und RRF-Fusion"
tesserae project context "Retrieval-Ranking" --output ./context-retrieval.md

Von einem MCP-Client:

{
  "tool": "compile_context",
  "arguments": {
    "query": "Wie ranked unser Retrieval-Stack Kandidaten?",
    "depth": 2,
    "budget": 4000
  }
}
// → gibt ein ContextBundle zurück: zusammengebauter Body + eine Liste auflösbarer Zitate.
//   budget: 0 bedeutet ohne Obergrenze.

Sie können auch direkt aus Knoten-IDs seeden (den Suchschritt überspringend), wenn Sie die Anker bereits kennen:

{
  "tool": "compile_context",
  "arguments": {
    "seeds": ["decision-2026-05-22-switch-to-rrf-fusion"],
    "depth": 2,
    "budget": 0
  }
}

Wann verwenden

  • Ein Agent braucht einen fokussierten Brief zu einem Thema, nicht den llms.txt-Dump des gesamten Korpus oder einen einzelnen wiki_page-Body.
  • Sie wollen Zitate, die auflösen — jede Aussage im Bündel führt zu einem Graph-Knoten zurück —, damit der Agent nachfassen kann.
  • Sie skripten eine Übergabe und wollen ein deterministisches Kontextartefakt (--output, No-LLM-Zusammenbau-Modus), das pro Thema neu erzeugt wird.

Wo es lebt

Kernimplementierung: MD0 (compile_context, ContextBundle, ContextCitation). MCP-Registrierung und -Dispatch: tesserae/mcp_server.py. CLI-Verdrahtung: der context-Subparser und _handle_context in tesserae/cli.py. Das themenbezogene Harness-/Export-Rendering wird über compile_context geroutet.

Vorbehalte

  • Die Synthesequalität hängt vom LLM-Backend ab; ohne Backend fällt der Compiler auf deterministischen Zusammenbau zurück (weiterhin zitiert, nur unsynthetisiert). Der Fallback ist anmutig — ein Synthesefehler bricht das Bündel nie ab.
  • Der k-Hop-Lauf ist tiefenbegrenzt und PPR läuft über den tiefenbegrenzten Teilgraphen; sehr große Graphen profitieren von einem engen depth plus einem echten budget statt budget=0.
  • Die Budget-Trunkierung schneidet an einer Wortgrenze und hängt einen Trunkierungsmarker an, sodass ein beschnittenes Bündel lesbar bleibt, statt mitten im Token zu enden.

2. Das Engine-Rückgrat — Orchestrator, Daemon, Live-Sitzungsmonitor

Was es ist

Die drei grundlegenden Teile, die das Audit als die einzige größte Lücke bezeichnete, jetzt unter tesserae/engine/ ausgeliefert:

  • Pipeline-Orchestrator (pipeline.py) — die Kette ingest → compile → project → publish, aus dem Slash-Befehl-Markdown-Skill in ein erstklassiges In-Process-Objekt gehoben, das Daemon, CLI und MCP alle aufrufen. Dies ist der gemeinsame Code-Pfad, an dem alles Kontinuierliche hängt.
  • Supervisor-Daemon (daemon.py) — ein überwachter, langlebiger Prozess, der eine einzige Ereignisschleife besitzt, Trigger-Bursts zu einem einzigen Pipeline-Lauf zusammenfasst, anmutiges SIGTERM / SIGINT-Herunterfahren behandelt und eine Pipeline-Ausnahme überlebt, ohne zu sterben.
  • Live-Sitzungsmonitor (session_tail.py) — verfolgt (tailt) Live-Harness-Transkripte und nimmt Turns auf, während Sitzungen laufen, und ersetzt den nachträglichen sessions discover --import-Scan (Säule 1).

Zusammen verwandeln sie Tesserae von einer einmaligen Batch-CLI in einen Prozess, der kontinuierlich überwachen und aufnehmen kann.

Wann verwenden

  • Sie wollen die „bleibt aktuell"-Eigenschaft — Sitzungen und Bearbeitungen fließen ohne manuellen Befehl in den Graphen.
  • Sie bauen auf Tesserae auf und wollen einen gemeinsamen Pipeline-Einstiegspunkt für Daemon, CLI und MCP, statt die Refresh-Kette neu zu implementieren.

Wo es lebt

tesserae/engine/pipeline.py, tesserae/engine/daemon.py, tesserae/engine/session_tail.py (als Engine-Rückgrat gemergt, Roadmap-Phasen 0–2).


3. Selbstverbesserung, aktiviert und persistiert (node_memory-Sidecar)

Was es ist

Die Säule „sich selbst verbessernde Basis" wechselt von angeschraubten Pässen zu einem persistierten node_memory-Sidecar (tesserae/memory/). Die zwei für den Nutzer sichtbaren Änderungen:

  • Supersede standardmäßig aktiv mit deterministischem Verdikt. Der Supersede-Pass läuft jetzt standardmäßig (kein TESSERAE_SUPERSEDE_PASS=true nötig), mit einem deterministischen, entschiedenen Session-ID-Verdikt in beide Richtungen und einer Schwellenwertsicherung, plus nachgelagerter Unterdrückung, sodass ein abgelöster Fakt aufhört, in der Kontextausgabe zu erscheinen, statt nur eine Kante zu gewinnen.
  • Numerische Wiederholungs-Konfidenz in der Ausgabe. Die Verstärkung wiederkehrender Erkenntnisse erzeugt nun eine numerische Konfidenz aus der sitzungsübergreifenden Häufigkeit, injiziert in den TemporalFactProjector über memory_by_id, und ersetzt die vorherige grobe String-Heuristik. Einen Fakt sitzungsübergreifend erneut zu äußern, hebt seine Konfidenz in der Ausgabe messbar an.

Wann verwenden

  • Sie betreiben Multi-Session-Projekte, in denen dieselbe Erkenntnis wiederkehrt — die Verstärkung verwandelt diese Wiederkehr in ein Konfidenzsignal, nach dem Agenten ranken können.
  • Sie wollen, dass veraltete Fakten aus dem kompilierten Kontext verschwinden, nicht nur markiert werden.

Wo es lebt

tesserae/memory/store.py, reinforce.py (numerische Wiederholungs-Konfidenz), supersede.py (standardmäßig, deterministisches Verdikt + Unterdrückung), plus decay.py, contradiction.py und insight_symbol_link.py. Die Selbstverbesserungs-Testsuite (zuvor null Tests) deckt nun Determinismus, Idempotenz und den LLM-Override-Pfad ab.

Vorbehalte

  • Das Decay- und Contradiction-Gerüst wird im selben Sidecar ausgeliefert; das für den Nutzer sichtbare Standardverhalten in v0.5.0 ist Supersede + numerische Wiederholungs-Konfidenz.

4. Echte Standard-Embeddings (Spur B)

Was es ist

Die „semantische" Standardspur ist kein deterministisches Hash-Bucket-Pseudo-Embedding mehr. v0.5.0 liefert ein echtes Model2VecBackend und lässt active_embedding_backend laut fehlschlagen, statt still auf blake2b herabzustufen. Das verwendete semantische Backend wird in embedding_status angezeigt, und eine Kosinus-Untergrenze lässt die Embedding-Spur Kandidaten aufnehmen (nicht nur neu ranken), sodass Paraphrasen- und Synonym-Anfragen Knoten zutage fördern, die BM25 verpasst.

Verwendung

{ "tool": "embedding_status" }
// → meldet, welches semantische Backend aktiv ist (echt vs. Fallback), sodass
//   Sie auf einen Blick sehen, ob das Out-of-the-box-Retrieval wirklich semantisch ist.

Wo es lebt

tesserae/retrieval/hybrid.py (Backend-Auswahl, laut fehlschlagendes active_embedding_backend, Kosinus-Untergrenze für reine Embedding-Aufnahme) und das Model2VecBackend. Angezeigt über das MCP-Tool embedding_status.

Vorbehalte

  • Wenn das echte Backend nicht laden kann, sagt das Retrieval es nun laut, statt vorzutäuschen, der Hash-Stub sei semantisch — das ist die beabsichtigte Verhaltensänderung.

5. Infrastruktur der inkrementellen Kompilierung (Flag OFF) + zwei Compile-Korrekturen

Was es ist

Die konzipierte inkrementelle Schicht über den GraphStore-Port landet als Infrastruktur: ein Provenienz-Sidecar, eine GraphStore-Lösch-Oberfläche, Abgleich-beim-Voll-Kompilieren, kantenbewusste Bereitschaft, Producer-Provenienz-Verdrahtung und eine persistente url_resolver-Async-Laufzeit (kein asyncio.run mehr pro Aufruf). Byte-Parität gegenüber der Vollkompilierung ist für die abgedeckten Pfade bewiesen (Umbenennung, Alias-Identität, Parität-Tore für die Bewegung beider Endpunkte).

Das incremental_compile-Flag bleibt OFF/experimentell. Die Codex-Review brachte Multi-Owner-/Producer-Lifecycle-/Cap-Fallback-Lücken zutage, sodass das Flag opt-in ist und nur für die abgedeckten Pfade byte-paritätsbewiesen ist, bis diese Lücken geschlossen sind.

Zwei echte Compile-Bugs, die in dieser Arbeit zutage traten, sind im Standardpfad behoben:

  • changed-only-Idempotenzcompile honoriert jetzt die changed-only-Idempotenz, sodass eine No-op-Neukompilierung den Graphen nicht aufwirbelt.
  • Injected-Store-Vertrag — der Injected-Store-Vertrag in der Projektkompilierung wird honoriert, was eine Klasse von Fehlern auf Direkt-Ingest-Pfaden behebt.

Wo es lebt

Die inkrementelle Infrastruktur erstreckt sich über den GraphStore-Port und das Provenienz-Sidecar; die beiden Korrekturen landen im Projektkompilierungs-Pfad (fix(project): honor changed-only idempotence + injected-store contract in compile).

Vorbehalte

  • Aktivieren Sie incremental_compile noch nicht für Produktionsgraphen — es ist per Design experimentell, bis die Multi-Owner-/Lifecycle-/Cap-Fallback-Lücken geschlossen sind. Die Vollkompilierung bleibt der vertrauenswürdige Pfad.

Upgrade von v0.4.0

pip install --upgrade tesserae==0.5.0

Für bestehende Workflows ist v0.5.0 additivtesserae project compile funktioniert genau wie zuvor, jetzt mit zwei Korrektheitskorrekturen (changed-only-Idempotenz, Injected-Store-Vertrag). Die neuen Oberflächen sind opt-in im Aufruf:

Neuer Kontext-Compiler auf Abruf:

tesserae project context "<Thema>"            # zitiertes Kontextbündel nach stdout
tesserae project context "<Thema>" --output out.md
{ "tool": "compile_context", "arguments": { "query": "<Thema>", "depth": 2, "budget": 4000 } }

Jetzt standardmäßig aktives Verhalten (zuvor opt-in oder fehlend):

  • Supersede-Pass standardmäßig (mit Ausgabe-Unterdrückung abgelöster Fakten).
  • Numerische Wiederholungs-Konfidenz, in der projizierten Ausgabe gezeigt.
  • Echte Standard-Embeddings mit einem laut fehlschlagenden Backend (kein stilles Hash-Stub-Downgrade).

Weiterhin experimentell — für Produktionsgraphen ausgeschaltet lassen:

  • incremental_compile (Infrastruktur ausgeliefert, Flag OFF).

Alles andere — graph_ppr, hybrides search_nodes, sync-code, research, die Live-Hooks, embedding_status, fresh_insights, schema-drift, die Slash-Befehle, die Wiki-/Obsidian-Projektion — wird aus v0.4.0 übernommen.


Strategischer Kontext

Das Kontext-Engine-Audit (2026-06-02) benannte die Lücke in einer Zeile: Tesserae war ein mechanisch gesunder, gut getesteter Batch-CLI-Compiler, manuell ausgelöst und nachträglich auf allen drei Säulen, und das einzige größte fehlende Stück war ein langlebiger Supervisor, der eine einzige Ereignisschleife besitzt. v0.5.0 schließt diese Zeile. Das Engine-Rückgrat ist der Supervisor; der Live-Sitzungsmonitor macht Säule 1 live statt nachträglich; das node_memory-Sidecar macht Säule 2 selbstverbessernd vor Ort; und der Kontext-Compiler auf Abruf ist Säule 3 — das Hauptfeature, das den typisierten Graphen, den Vault und die Site von statischen Projektionen in eine abrufbare, anfragebezogene, zitierte, agentenfertige Ausgabe verwandelt.

Kein Tool in der von uns untersuchten PKM-AI-Landschaft 2026 macht diese Komposition. Cursor Memories, Claude CLAUDE.md, Cline memory-bank und Aider CONVENTIONS.md sind statische Textbeutel ohne Engine-Schleife, ohne typisierte Selbstverbesserung und ohne Kontext-Compiler mit Zitaten auf Abruf. Microsoft GraphRAG hat typisierte Entitäten und Community-Zusammenfassungen, ist aber ein Korpus-RAG-System, keine kontinuierlich laufende Projekt-Memory-Engine. v0.5.0 liefert die Schleife, die die Basis frisch hält, und den Compiler, der Agenten genau den Kontext übergibt, den sie anfordern — die Mission, die in AGENTS.md klar formuliert ist, jetzt im Code laufend.

Was bleibt: Phase 7 — die Vereinheitlichung von serve + watch + deploy unter dem Supervisor für kontinuierliches Veröffentlichen, plus das Einschalten des inkrementellen Compile-Flags, sobald seine verbleibenden Lücken geschlossen sind. Rückgrat und Hauptfeature sind drin; das Konvergenz-Release ist als Nächstes dran.

Siehe auch: