Skip to content

v0.11.1 — dynamic tool guide and memory store caps

Latest

Choose a tag to compare

@lavindeep lavindeep released this 04 Jul 19:18
5fee884

A focused patch release: the system prompt now carries a self-consistent tool guide, and persistent memory is capped so it stays selective.

Dynamic tool guide

The system prompt gains a compact Tool guide block rendered directly from the session's registered tool definitions, so it can never drift from the actual toolset:

  • Optional tools (memory_*, web_*, skill_read) are listed only when they are registered for the session.
  • update_plan appears only while a plan is active or blocked, preserving the proposal-vs-execution split.
  • Roughly 82 tokens for the default toolset; the block shows up in /context like any other.

This bumps PROMPT_VERSION to 6.

Memory store caps

  • memory.json (global and project, each separately) is now capped at 1800 serialized characters. Writes that would exceed the cap are rejected with a clear instruction to forget or compact existing entries — stored memory stays selective instead of relying on prompt truncation.
  • The cap ratchets: stores that predate the cap and exceed it can always shrink (/memory forget keeps working, including for minified legacy files), while growth stays rejected until the store complies.
  • /memory compact is now atomic across stores — every replacement is validated before any file is written, so a rejected optimization can no longer partially apply.
  • /memory add, /memory forget, and /memory compact report cap rejections with a friendly message instead of failing opaquely.

Scoped memory

  • The injected memory block now groups global and project preferences into distinct sections.
  • memory_propose_update documents the global-vs-project scope policy (what belongs where, what should never be stored) in its tool description.

Quality

  • 1625 tests (up from 1610), ruff + mypy --strict green, CI green on Python 3.11 and 3.14.
  • New coverage for legacy over-cap stores, ratchet semantics, atomic compact rejection, grouped rendering, and tool-guide composition.
  • Validated in a live session before merge.

Full Changelog: v0.11.0...v0.11.1