v0.9.1.md
docs/release-notes/v0.9.1.md
Tesserae v0.9.1 — engine & session-capture bugfixes
<!-- translations:start -->
한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch
<!-- translations:end -->
Released 2026-06-19 · PyPI · GitHub release · pip install --upgrade tesserae==0.9.1
A bugfix release. No API changes — drop-in over v0.9.0.
Fixes
- No more self-capture feedback loop. The session monitor recorded Tesserae's own compile-time codex/claude calls (extraction, synthesis, distillation, …) as if they were your work sessions, flooding the session DB and making the next compile "extract findings" from its own extraction calls. These are now excluded at discovery and live tailing, with
tesserae sessions prune-internalto clean databases polluted before the fix. - Engine no longer falsely reports "already running." When the engine died without cleaning its pidfile and the OS later recycled that PID to an unrelated process, a bare liveness check passed and the engine refused to start. The pidfile now records a per-incarnation identity (process start time) and treats the lock as held only when the PID is alive and its identity still matches, so a stale pidfile self-heals.
- Chrome extension privacy policy. Added a complete privacy policy for the "Clip to Tesserae" extension (required for Chrome Web Store).
Upgrading from v0.9.0
Drop-in. If a project's session list looks polluted with Tesserae's own prompts, run tesserae sessions prune-internal once.