3.7 KB · updated 2026-07-06 · md

v0.13.0.md

docs/release-notes/v0.13.0.md

Tesserae v0.13.0 — the LLM concept layer is the default

<!-- translations:start -->

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

<!-- translations:end -->

Released 2026-06-30 · PyPI · GitHub release · pip install --upgrade tesserae==0.13.0

Tesserae is an LLM wiki — so compile now builds the concept/claim layer by default, not just a structural skeleton.

compile builds the concept layer by default

Previously, tesserae compile ran the deterministic extractor by default: fast and byte-stable, but structural only — sources, sections, and explicit links, with a sparse concept layer. The richer layer (concepts, claims, capabilities, technical terms, evidence spans, and the typed edges between them) was hidden behind an opt-in, Claude-only --extractor claude-cli flag. For an LLM wiki, that had it backwards.

Now:

  • --extractor llm is the default. tesserae compile reads each document through your configured provider — codex / claude / Anthropic API, per llm_provider — using the same LLMJsonClient session extraction already uses. No more Claude-only path.
  • deterministic is the explicit opt-outtesserae compile --extractor deterministic for the fast, key-free, byte-stable mode (CI / reproducible builds). Byte-idempotence is unchanged; it was always a property of this mode.
  • No default timeout. The old --claude-timeout=180 silently truncated big design docs into a degraded fallback. Extraction now runs to completion; a timeout is opt-in only.
  • Provider-neutral flags: --llm-provider, --llm-model, --llm-include, --llm-limit. (claude-cli / selective-claude and the --claude-* flags still work as deprecated aliases.)
  • Robust + graceful. No backend configured? It degrades to deterministic with a warning rather than failing. A backend error on one document falls back to deterministic for that doc instead of aborting the whole compile, and content-keyed caching means a re-compile of unchanged docs reuses the prior extraction.
tesserae compile                        # LLM concept layer, your configured provider
tesserae compile --extractor deterministic   # structural / byte-stable / key-free
tesserae compile --extractor selective-llm \
  --llm-include "docs/**/*.md" --llm-limit 20   # cost-aware

Faster federated ask

Federated ask re-assembled the cross-project graph (read + parse + namespace + identity-merge every member project) on every query — about a quarter of the latency, redone for each follow-up in a conversation against the same project set. The assembled graph is now memoized in-process, keyed on each member's graph-file change signature: a repeat query is an instant cache hit, and the entry self-invalidates the moment any member project recompiles (no disk cache, no staleness). On a real 6-project / 22.6k-node federation that's a ~0.6 s assembly skipped per repeat query.

Upgrading from v0.12.x

The one behavior change: tesserae compile now does LLM extraction by default. If you want the old structural-only behavior (e.g. in CI, or with no LLM backend), pass --extractor deterministic — and on a machine with no configured provider, compile already falls back to it automatically.