v0.11.0.md
docs/release-notes/v0.11.0.md
Tesserae v0.11.0 — cross-project federated graph
<!-- translations:start -->
한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch
<!-- translations:end -->
Released 2026-06-27 · PyPI · GitHub release · pip install --upgrade tesserae==0.11.0
A feature release: ask across all your registered projects at once, with a single cross-referenced, cited answer. Drop-in over v0.10.x.
Cross-project federation
tesserae ask --scope federated --scope-aliases research work "…" (and the MCP ask tool with scope: "federated") assembles one graph from the projects you name and returns a single answer that cross-references them — instead of the all-registered fan-out that returns one answer per project. Your per-project .tesserae/graph.json is never touched; the federation is assembled in memory at query time.
Two ways projects connect:
- Identity merge (always on). The same entity across projects — same arXiv id, repo, content hash, or code symbol — collapses into one node. High-precision, deterministic, no embeddings. So a paper you clipped in
researchand referenced inworkbecomes a single cited node. - Semantic links (on by default, opt-out). The same idea in different words — e.g. a caching decision in
workand a cache paper inresearch— gets an embedding-backed cross-project link, so retrieval can bridge related, not just identical, concepts. Down-weighted so an identity match always outranks a fuzzy bridge. Pass--no-semanticfor identity-only. Needs a real embedding backend (pip install tesserae[semantic]); without one it degrades cleanly and says so.
The link threshold (0.55) and bridge weight (0.5) are not guesses — they're set from a precision/recall + swamping eval (evals/federation/, guarded in CI).
Inspect it
tesserae federation status [aliases] [--semantic]— per-project node counts, identity merges, semantic-link counts.tesserae federation explain <node> [aliases]— why a node bridges projects: which projects it identity-merged across and its semantic links (with similarity and target project). Accepts a namespaced id or a merged-away id.
Federated semantic links are cached at ~/.tesserae/federation/, keyed on project content so the cache auto-invalidates when any project recompiles.
Also in this release
- Chrome extension — the README now documents the correct default endpoint (
http://127.0.0.1:8765, IPv4) to match the shipped extension default.
Upgrading from v0.10.x
Drop-in. Federation is opt-in per query (--scope federated); nothing changes for single-project use. For semantic bridging, pip install tesserae[semantic].