v0.2.0
What's New
ctx_search — Unified search across all data layers
Search project memories, session facts, and raw conversation history with a single query. Results are ranked by score × source_boost so strong message matches surface alongside curated memories instead of being buried.
ctx_search(query="authentication approach")
Message results include ordinal numbers — pass them to ctx_expand to retrieve the surrounding conversation context.
ctx_reduce_enabled config option
Set "ctx_reduce_enabled": false to hide the ctx_reduce tool, disable all nudges/reminders, and strip reduction guidance from prompts. Heuristic cleanup, compartments, memory, and search continue working. Useful for testing whether automatic cleanup alone is sufficient for the model of choice.
Bug Fixes
- Dreamer: Schedule was piggy backing on active messages, now it properly use timer.
- 4 cache-bust fixes from council audit: compartment injection caching on defer passes, nudge placement lifecycle gating, nudge anchor retirement on execute only, system message stripping boundary gated behind cache-busting passes
- Note nudge fix: deferred notes now surface reliably via user messages instead of depending on context-pressure nudge infrastructure
- Sticky reminder gating: clearing deferred to cache-busting passes only, preventing unintended prefix invalidation
- Search ranking: replaced hard priority partitioning (all memories before all messages) with boost-based interleaving (
memory=1.3×,fact=1.15×,message=1.0×)
Breaking Changes
ctx_memory action="search"removed — agents usectx_searchinsteadctx_memoryis now write/delete only
Internal
- Release script now includes
bun testin pre-release checks - Test fixes for CI (injectable message reader for OpenCode DB isolation)