Skip to content

v0.2.0 — Typed retrieval, code graph, ontology evolution

Choose a tag to compare

@ca1773130n ca1773130n released this 21 May 06:05

First feature release on top of v0.1.0. Six new additive features, no breaking changes. Test suite green (1176 pass; 13 pre-existing data/fixture failures unchanged from v0.1.0).

New features

Area What you get New MCP tool / CLI
Personalized PageRank HippoRAG 2 multi-hop seed expansion over the typed graph, with type-aware edge weights that upweight session-finding edges. Pure-Python, no new runtime deps. MCP graph_ppr(seed_node_id, top_k, alpha, edge_type_weights)
Hybrid search BM25 + lexical + embedding fusion via reciprocal-rank-fusion (k=60) in the existing search_nodes MCP tool. Backwards-compatible: mode="legacy" preserved bit-for-bit. Sentence-transformers backend autodetected. MCP search_nodes(query, mode="hybrid"), embedding_status
Code-as-graph tesserae project ingest-code walks the repo via Python's stdlib ast and mints typed CODE_FILE / CODE_MODULE / CODE_CLASS / CODE_FUNCTION / CODE_METHOD nodes + contains/calls/imports/inherits_from/declared_in edges. Persisted at .tesserae/code-graph.json. CLI tesserae project ingest-code
Community summaries Opt-in post-compile Louvain detection + LLM cluster summarization (Microsoft GraphRAG pattern). Mints COMMUNITY_SUMMARY nodes with summarizes edges, cached by member content hash. MCP list_communities(min_size, limit); env TESSERAE_COMMUNITY_SUMMARIES=true
Memory decay A-MEM Ebbinghaus decay scoring (14-day half-life, access-count bump) on session-finding nodes, plus opt-in supersedes pass that de-duplicates near-identical insights via Jaccard + LLM judge. Structural-decision timestamps are derived from the parent session. MCP fresh_insights(limit, kind); env TESSERAE_SUPERSEDE_PASS=true
Schema-drift report EDC-style (Extract-Define-Canonicalize, EMNLP'24) enum proposal generator. Jaccard-clusters high-volume node types and asks the LLM to propose PascalCase sub-types with member previews. Writes .tesserae/schema-drift.md with copy-pasteable enum additions; LLM proposals cached atomically. CLI tesserae project schema-drift

Reliability fixes (already in v0.1.0 but worth recapping)

  • SessionEnd plugin hook now skips when a tesserae project compile is already running (was piling up and hanging the system).
  • Atomic-write race in _write_cache and _write_manifest fixed with PID+random tmp suffix.
  • Plugin CLI-path corrections (tesserae project sessions discover namespace).

Code review

All 12 codex review findings (1×P1, 9×P2, 2×P3) were fixed before merge. Each PR carries its own fix(...) commit alongside the feature commit.

Strategic note

Tesserae is now structurally aligned with the 2026 GraphRAG / memory SoTA (Microsoft GraphRAG, HippoRAG 2, LightRAG, Mem0, Graphiti, A-MEM). The typed-edges + session-extraction combination remains a defensible moat — most competitors lack typed edges entirely, and no other PKM-AI tool links prose decisions to code symbols (a wedge that feat/code-graph lays the foundation for).