Release Notes for v0.2.3
This release adds conversation memory extraction — turn chat-style message history into typed, durable memories in a single call and surfaces full provenance metadata (source, source ref, provenance) across the recall path, CLI, MCP, and UI.
New Features
- Conversation memory extraction (
memanto/app/services/conversation_memory_extraction_service.py,
memanto/app/routes/memory.py,memanto/app/models/__init__.py)- New
POST /{agent_id}/remember/extractendpoint that distills chat-style
conversation turns into typed memory candidates using the same Moorcheh
answer-generation path as the RAGanswerendpoint. - Candidates are auto-classified into valid memory types, de-duplicated,
confidence-scored, and taggedconversation-extract; secrets/API
keys/tokens are explicitly excluded by the extraction prompt. dry_runreturns candidates without persisting; otherwise they're written
through the standardbatch-rememberpath and logged to the session summary.- New
ExtractMemoriesRequest/ConversationMessagemodels with bounded
limits (≤200 messages, ≤100 memories, 12k-char cap). - CLI:
memanto remember --from-conversation <path|->(reads a JSON message
array from a file or stdin) with--dry-run,--max-memories, and
--ai-modelflags; renders each extracted candidate as a panel. - SDK and direct clients gain
extract_memories_from_conversation().
- New
Improvements
- Provenance metadata in recall (
memanto/cli/commands/memory.py,
integrations/mcp/memanto_mcp/tools.py,memanto/app/ui/static/index.html)recalloutput now displaysSource,Ref, andProvenancefor each
memory (in addition to tags), unifying file-upload source names and
origin (user/agent/tool) into one consistent block.- MCP
MemoryHitmodel extended withstatus,source,source_ref, and
provenancefields so MCP clients receive full memory metadata. - Web UI memory cards surface the same source/provenance metadata.
Tests
- New
tests/test_conversation_memory_extraction.pycovering extraction,
JSON parsing/normalization, validation limits, and dry-run behavior. - Expanded
tests/test_api.pyandtests/test_cli.pyfor the extract endpoint
and--from-conversationCLI flow.
Full Changelog
Full Changelog: v0.2.2...v0.2.3