Repository navigation
Releases: gosha70/memkernel
Release list
0.3.0
Added
documentmemory type (long-term, importance 0.6):retain(type="document")
stores the body through aDocumentStorePort, indexes its token chunks for
hybrid search and keeps a summary record;getreturns the summary, recall
resolves chunk hits to the document and never lists chunk records (ADR-009).ask(ref_id, question, mode="auto")MCP tool andMemoryService.ask:
answer a question about one memory without loading it;modeis
direct | rag | rlm | auto, passed to the reasoner unchanged.- Ports
DocumentStorePortandReasonerPortincore/ports.py;Answer
model; built-inLocalDocumentStore(ChromaDB) and LLM-freeLocalReasoner
(dense + BM25 + RRF over chunks,mode="rag"). - RLM Studio adapter
memkernel.adapters.rlmstudio.RLMStudioReasoner
(MEMKERNEL_REASONER=rlmstudio, lazy import, falls back to the local
reasoner with a warning whenrlmstudiois not installed). consolidate(synthesize=True): with an external reasoner, drafts long-term
statements from the candidates under"suggested".memkernel.lifecycle.MemoryLifecyclewithon_session_start,
on_pre_compact,on_post_compact,on_session_end; the hook templates
are thin wrappers over it.- Settings
MEMKERNEL_DOCUMENT_STORE,MEMKERNEL_DOCUMENT_SUMMARY_CHARS,
MEMKERNEL_REASONER,MEMKERNEL_ASK_TOP_K;split_text/TokenChunker
inretrieval/chunking.py. - Port additions for adapter authors:
VectorStorePort.count(where=None)
(filtered, ids-only count) andDocumentStorePort.indexed(doc_id)(number
of indexed chunks); both must be implemented by custom backends.
Changed
consolidatereports always carry asuggestedlist (empty unless
synthesize=Truewith an external reasoner).templates/claude-memory-instructions.mdtells the agent to use
retain(type="document")+ask()for anything longer than a screen.- Release workflow uses
actions/upload-artifact@v5and
actions/download-artifact@v6(Node 24).
Removed
- The
forget_expiredMCP tool (purging stays insideconsolidate; the
MemoryService.forget_expiredmethod remains). The server exposes nine
tools:retain, recall, get, forget, promote, consolidate, ask, wiki_export, wiki_import.
0.2.0
0.2.0 - 2026-10-11
Added
Tiered memory model: working, short_term, long_term tiers derived from the memory type; new types fact, procedure, observation, task (ADR-007).
Per-memory importance, tags, access_count, last_accessed, supersedes and promoted_from metadata. Records written by 0.1.x load unchanged with derived defaults.
Recall re-scoring by relevance + recency + importance with configurable weights; recency decays from last access; superseded memories are hidden.
Access-reinforced retention for short-term and working memories (MEMKERNEL_ACCESS_BOOST, MEMKERNEL_OBSERVATION_TTL_DAYS, MEMKERNEL_TASK_TTL_HOURS, MEMKERNEL_RECENCY_HALF_LIFE_DAYS).
MemoryService.promote, consolidate, forget_expired, list_memories.
MCP tools promote, consolidate, forget_expired, wiki_export, wiki_import; recall gains a tier filter; retain gains importance, tags, supersedes.
LLM-wiki bridge (memkernel.wiki): compile long-term memories into draft markdown pages and index curated pages as memories (ADR-008); MEMKERNEL_WIKI_DIR setting.
memkernel.factory.build_service() as the supported Python entry point; templates/hooks/session-start.py.
Design docs: architecture, literature review, sibling-project map, ADRs 007–009, licensing review, roadmap, harness integration plan.
Release workflow using PyPI trusted publishing.
Changed
License changed from MIT to Apache-2.0.
recall and get record an access (pass touch=False to avoid it).
/stats reports a per-tier breakdown.
Hook templates build the service through build_service() and surface promotion candidates after compaction.
CI frees runner disk before installing dependencies; actions moved to checkout@v5 / setup-python@v6.