Repository navigation
v0.9.0
What's New
This release adds five major memory features that make Distill agents more reliable, secure, and context-aware.
Multi-Provider Embedding Support (#83, closes #25)
Distill now supports Ollama and Cohere as embedding providers alongside OpenAI. Use --embedding-provider ollama to run fully local — no API key needed.
- 15 new unit tests for the Ollama client
--embedding-providerand--embedding-base-urlflags on all commands- Config file support via
embedding.providerandembedding.base_url
Memory Expiry & Supersession (#84, closes #79)
Memories can now be expired or superseded without deleting them. Expired entries are excluded from recall by default but remain for auditing.
POST /v1/memory/expireandPOST /v1/memory/supersedeendpointsmemory_expireandmemory_supersedeMCP tools- TTL support via
expires_aton store include_expiredflag on recall to retrieve expired entries- 12 new tests
Sensitivity Tagging (#85, closes #82)
Pattern-based classification detects PII, credentials, and internal references at write time. No LLM calls — classification adds <1ms.
- Auto-classification via
auto_classify: trueon store max_sensitivityandsensitive_chunksin recall response- Built-in patterns: AWS keys, OpenAI keys, GitHub tokens, emails, phone numbers, SSNs, credit cards
- Configurable internal domain detection
- 17 classifier tests + 4 benchmarks, 7 memory integration tests
Conflict Detection (#88, closes #77)
When a new memory is semantically similar to an existing one but not a duplicate, Distill now flags the conflict in the store response. The entry is still stored — conflicts are surfaced, not blocked.
- Configurable
conflict_threshold(default: 0.35) conflictsarray in store response with both entry IDs and texts- Caller can resolve via
supersedeendpoint - 7 new tests
Task-Relevance Ranking (#89, closes #78)
Recall now accepts boost tags, task context, and a minimum relevance filter to rank results by what matters for the current task.
boost_tags— relevance boost for matching tagstask_context— source-matching boostmin_relevance— filter out low-scoring results- 6 new tests
Other
- README reframed around memory reliability (#86, closes #80, #81)
- Lint fix for staticcheck QF1003 (#87)
- Closed #76 (persist memory across sessions) — already implemented