Skip to content

v0.9.0

Choose a tag to compare

@Siddhant-K-code Siddhant-K-code released this 09 May 07:31
· 41 commits to main since this release
c55a1cc

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-provider and --embedding-base-url flags on all commands
  • Config file support via embedding.provider and embedding.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/expire and POST /v1/memory/supersede endpoints
  • memory_expire and memory_supersede MCP tools
  • TTL support via expires_at on store
  • include_expired flag 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: true on store
  • max_sensitivity and sensitive_chunks in 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)
  • conflicts array in store response with both entry IDs and texts
  • Caller can resolve via supersede endpoint
  • 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 tags
  • task_context — source-matching boost
  • min_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

Stats