v0.22.0.md
docs/release-notes/v0.22.0.md
Tesserae v0.22.0 — the agent-memory CLI, finished
<!-- translations:start -->
한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch
<!-- translations:end -->
Released 2026-07-21 · PyPI · GitHub release · pip install --upgrade tesserae==0.22.0
v0.21.0 shipped layered per-agent memory, but half of it was only reachable over MCP and tesserae agents init dumped every agent under org:root. This release makes the whole feature usable from the terminal.
init builds a real org
tesserae agents init now infers the hierarchy from a signal that already exists: a subagent role (claude-code:me:reviewer) is parented to the main agent that spawned it (claude-code:me:default), instead of everyone landing flat under org:root. You get a working multi-level org from one command — no set-parent needed. Pass --flat for the old behavior, and init now prints the proposed tree so you can see what it decided.
org:root
claude-code:me:default Main sessions=42
claude-code:me:reviewer Reviewer sessions=8 distilled_through=2026-07-20T…
claude-code:me:planner Planner sessions=5 (not distilled)
Scoped reads from the CLI
--agent KEY now works on tesserae query, ask, and context — retrieval and synthesis run over the agent's resolved view (a worker key sees its own raw + distilled memory, a manager key sees its reports' distilled layers, org sees the whole team). Previously this scoping existed only as an MCP argument.
tesserae query "release checklist" --agent claude-code:me:reviewer
tesserae ask "what does my team know about deploys?" --agent org
Unknown keys and un-distilled agents fail loud with the exact remedy command, never a silently empty answer.
Inspecting the org
tesserae agents tree— the org chart as an indented tree, each agent annotated with session count and how stale its distilled memory is.tesserae agents show KEY— resolve a view and print its mode, member agents, artifact paths, node counts, and staleness watermarks.tesserae agents drill NODE_ID [--agent KEY]— the audited escalation from a distilled note back to its raw L0 evidence, now a first-class CLI command (alive / changed / absorbed / gone). Thedrill_downlogic is shared with the MCP tool, so both surfaces behave identically.
Under the hood
The role-hierarchy inference is a pure, deterministic function; the drill_down core was extracted so the CLI and MCP server share one audited code path. No changes to the distilled artifacts or their determinism guarantees. Purely additive — every existing command behaves exactly as before when --agent is absent.