Skip to content

v0.3.0 — Insight↔Code linking + polyglot code graph

Choose a tag to compare

@ca1773130n ca1773130n released this 24 May 04:49

Three additive features since v0.2.0. No breaking changes; test suite green (1197 pass; 13 pre-existing baseline failures unchanged).

Highlights

discusses edges — link prose to code symbols (feature H)

The single biggest moat shipped this cycle. A new opt-in post-compile pass scans every session-finding body (SessionInsight/Decision/Hypothesis/Todo/Question/Takeaway) for code-symbol mentions — backticked identifiers, dotted paths, even bare identifiers if they match an indexed symbol — and mints discusses edges to the matching CodeFunction / CodeClass / CodeMethod (and now, with this release, also CodeInterface / CodeTrait / CodeStruct / CodeEnum / CodeRoute / CodeComponent / ...).

Why it matters: every other AI-coding memory tool (Cursor Memories, CLAUDE.md, Cline memory-bank, Aider CONVENTIONS.md) stores prose as flat strings with no link back into the code. Tesserae is now the only one that can answer questions like:

  • "What past decisions discuss this function?"
  • "If I rename _write_cache, which session findings now have stale references?"

Enable with TESSERAE_INSIGHT_SYMBOL_LINK=true. New MCP tool find_code_symbol_mentions(node_id) gives the agent a direct way to expand any session finding into its code context.

CodeGraph adapter — polyglot code graph (Option C)

New CLI tesserae project sync-code reads colbymchenry/codegraph's SQLite index into Tesserae's typed ResearchGraph. Code-graph coverage expands from Python-only (stdlib ast) to 21 languages (TS, JS, Python, Go, Rust, Java, C#, PHP, Ruby, C, C++, Swift, Kotlin, Scala, Dart, Svelte, Vue, Liquid, Pascal/Delphi, Lua, Luau) with cross-file resolution via tree-sitter.

Ontology grew to accommodate: 14 new CODE_* node types (CodeInterface, CodeTrait, CodeStruct, CodeEnum, CodeEnumMember, CodeTypeAlias, CodeVariable, CodeConstant, CodeRoute, CodeComponent, CodeField, CodeParameter, CodeNamespace, CodeSymbol) and 8 new edge types (implements, exports, references, instantiates, overrides, decorates, type_of, returns). Tesserae's IDs are reseeded from (file_path, kind, qualified_name) so they survive line-shifting edits.

Usage:

npm install -g @colbymchenry/codegraph  # or use npx
codegraph init . --index               # produces .codegraph/codegraph.db
tesserae project sync-code             # adapter → .tesserae/code-graph.json

The two halves combine: with sync-code providing a polyglot code graph and the discusses pass running over it, your session findings now link to TypeScript/Go/Rust/Swift symbols too — not just Python.

What also shipped

  • Codex review fixes: every PR this cycle went through codex review before merge. All 3 findings (1×P2 on feature H ontology; 1×P2 on linker filter coverage; codex P3 from earlier cycles) fixed with regression tests.
  • Documentation: v0.2.0 release notes in English + 7 i18n translations (ko/zh/ja/ru/es/fr/de) shipped via PR #8. v0.3.0 docs to follow.

Upgrading from v0.2.0

pip install --upgrade tesserae==0.3.0

No breaking changes. tesserae project ingest-code (the Python-AST extractor from v0.2.0) still works for users who don't want the Node-runtime dependency that comes with CodeGraph. Feature H + community-summaries + decay/supersedes passes remain opt-in via env vars; default compile behaviour is unchanged.

Strategic context

v0.2.0 brought Tesserae structurally close to 2026 GraphRAG/memory SoTA (Microsoft GraphRAG, HippoRAG 2, A-MEM, LightRAG). v0.3.0 closes the one moat the field hasn't filled: typed prose and typed code in one graph. The 21-language reach via the CodeGraph adapter means this moat actually applies to real-world projects (most modern repos have TS/Go alongside Python).