Repository navigation
Releases: shanmukh05/trisynapse-memory
Release list
v0.2.0
v0.2.0
This release refactors the engine architecture around a durable Memory Log and rebuildable Indexes, adds complete algorithmic specifications, transitions from deltas to memory records, replaces Episode Recall with Group Summaries, and unifies ingestion and indexing pipelines.
✨ Highlights
- Memory Log and Indexes architecture: Clear separation between the durable, sequential Memory Log (
engine/memory_log), Ingest pipeline (engine/ingest), and rebuildable Indexes (engine/indexes). - Comprehensive Algorithm Specifications: New
docs/algorithms.mddetails the exact mathematical formulas for BM25, cosine vector similarity, weighted Reciprocal Rank Fusion (RRF), margin-based confidence scoring, and citation grounding. - Group Summaries & Facts: Prompts and records transition to evidence-grounded facts (
facts.md,image_facts.md) and scoped group summaries (group_summary.md) with explicitgroup_idrouting. - Unified Multi-Item Ingestion: Python
add_raw_source(),add_many(), and REST endpoints/api/v1/memory/raw-sourcesand/api/v1/memories/manystreamline raw source and batch writes.
🚀 New Features
- Formal Algorithms Documentation (
docs/algorithms.md): Complete mathematical definitions, state transitions, retrieval fusion algorithms, context budget packing, and grounding invariants. - Group Summaries: Group summary index and APIs (
GET /api/v1/groups,GET /api/v1/groups/{group_id}) replace episode recall across SQLite tables, background jobs, Studio inspection, and routing seeds. - Raw-Source & Multi-Item APIs: Added
add_raw_source()andadd_many()onMemoryEngine,/api/v1/memory/raw-sourcesand/api/v1/memories/manyin REST, and updatedadd()/addBatch()in the TypeScript client. - Embedding Index Inspection: Renamed vector helper to "Embedding index" across Studio and catalog APIs (
/api/v1/memory/vectors/projection), reflecting rebuildable secondary index semantics.
🔧 Improvements
- Studio Memory Viewer: Tabs updated to "Memory log", "Documents", "BM25", "Embedding index", "Group summaries", "Claims", and "Graph". Filtering now supports
group idandsource id. - Benchmark Adapters: Updated LoCoMo, LongMemEval, HaluMem, and MemoryDoc benchmark adapters to the memory log, group summary, and fact models.
- Studio E2E & Browser Tests: Playwright accessibility and interaction tests updated and verified across desktop and mobile/narrow viewports.
- Clean Wheel & Distribution Bundles: Wheel and source distributions verified to include hashed Studio production assets, canonical logos, and updated versioned prompt templates.
⚠️ Breaking Changes
- Engine Package Structure:
engine/trace/moved toengine/memory_log/engine/formation/moved toengine/ingest/engine/recall/moved toengine/indexes/
- Terminology & Schema:
MemoryDeltaand delta-based terminology transitioned toMemoryRecordin the memory log.batch_idrenamed togroup_idacross models, query filters, REST parameters, and the TypeScript SDK.episode_recallreplaced withgroup_summaryin prompts and catalog routes.
- REST API:
/api/v1/batchesreplaced by/api/v1/groups.- Batch memory creation route updated to
/api/v1/memories/many.
📦 Other Changes
- Python dependencies locked in
uv.lock, package metadata bumped to0.2.0acrosspyproject.toml,packages/js-sdk/package.json,packages/studio/package.json, and installers (install.sh,install.ps1).
Full Changelog: v0.1.3...HEAD
v0.1.3
v0.1.3
This release makes Trace and Recall inspectable in Memory Viewer, lets Python applications register trusted extension packs for new source kinds and retrieval branches, and adds a short starter notebook for the production engine.
✨ Highlights
- Studio’s home is Memory Viewer: Trace, BM25, vectors, claims, Episode Recall, and the retrieval graph are catalog-driven tabs rather than a hardcoded page list.
- Python applications can pass trusted extension packs into
MemoryEngine.open(extensions=[...])to add source handlers, Formation processors, Recall channels, and retrieval branches. - Playground and API search can run without writing a Query Run (
persist=false), so inspection does not fill query history.
🚀 New Features
- Extension packs. Register a
SourceHandler,FormationProcessor,RecallChannel, orRetrievalBranchthroughExtensionSpec. Recall records stay in core SQLite storage, must cite active Trace, and rebuild whenstorage_revisionchanges (rebuild_extension()). Weighted RRF remains the defaultFusionStrategy; callers can also replace the post-fusionCandidateReranker. CLI and REST do not auto-discover plugins. - Memory catalog and inspect APIs.
GET /api/v1/memory/cataloglists helpers, retrieval branches, and extension health. Companion routes cover documents, BM25 terms, claims, vector projections/neighbors, and the retrieval graph. Python exposesmemory_catalog()and the same inspect methods; the TypeScript client addsgetMemoryCatalog(). - Retrieval graph view.
GET /api/v1/memory-graph?view=retrievalshows thefollowed_byandabout_same_entityneighborhood the graph route actually walks, with neighbor expansion for large stores. - Non-persistent search.
MemoryEngine.search(..., persist=false),POST /api/v1/searchwithpersist: false, andsearch({ persist: false })in the TypeScript client skip writing a Query Run. Default remainstrue. - Custom source kinds.
SourceInput.kindis an open string, so an extension can introduce a new kind without a closed enum. The TypeScriptSourceKindtype accepts the same. - Starter notebook.
notebooks/starter.ipynbingestsdata/sample/, lists Trace and Recall, and runs search and query against a local store.
🔧 Improvements
- Studio playground search uses production retrieval with
persist=false, then “Open as Query” is the only path that writes history. - Unknown Recall helpers still render from generic
items[]using the declared visual family (timeline,table,postings,embedding,cards,graph). - Existing
QueryPlannerandRouteRegistryAPIs remain for ranking the built-in candidate index; new end-to-end channels should use extension packs.
📦 Other Changes
- Studio graph views no longer depend on Cytoscape.
- Research benchmark notebooks under
notebooks/are replaced by the starter notebook. Packaged benchmark adapters remain in the Python library.
Full Changelog: v0.1.2...HEAD
v0.1.2
v0.1.2
This release replaces hash-chain “verification” with store validation, adds profiled and token-aware retrieval, and publishes the TypeScript client as @trisynapse/trisynapse-memory. Existing 0.1.x stores migrate automatically; several CLI, REST, and SDK names change.
✨ Highlights
- Retrieval can pick a profile, enable specific routes, and budget answer context by tokens instead of item count alone.
verify/verify_trace()becomevalidate/validate_store(), which check SQLite, sequence continuity, and retained source blobs.- The TypeScript package is renamed and published to npm as
@trisynapse/trisynapse-memory.
🚀 New Features
- Retrieval profiles and routes. Configuration now includes
retrieval_profile,enabled_routes, androute_weights. Profiles includeauto,balanced,precise,broad,mixed,code,table,image,document, andconversation. Python callers can supply aQueryPlannerandRouteRegistry. - Token-aware grounding.
max_context_tokensandper_source_context_tokenscap how much evidence enters an answer. Optionaltiktokenextra andtoken_counter_for()provide model-aware counting; applications can pass a customTokenCounter. - Richer observations. REST and the TypeScript client accept
modality,source_type, andretrieval_fieldson observation writes. Search hits include locators, confidence, temporal anchors, and metadata. - Benchmark controls.
trisynapse-memory bench runand the REST benchmark API acceptsampling(auto,stratified,sequential) and an optional independent judge model. - npm publishing. Tagged releases publish
@trisynapse/trisynapse-memory(prereleases get thenexttag) and smoke-test an exact-version install.
🔧 Improvements
- Lexical search tokenizes Unicode prose, code identifiers, and CJK text without a language-specific segmenter.
- Query planning recognizes multi-hop questions in addition to fact, temporal, list, and inference.
- CLI long-running work shows progress; pass
--no-progressto disable it. - The interactive terminal runs ingestion, search, query, and model actions without freezing the UI, and streams query stages as they complete.
- Studio retrieval settings expose profile and token-budget controls. Health copy now reports store readiness instead of “Trace verified.”
- Release asset lists stay limited to installers, distributions, checksums, and
release.json.
🐛 Bug Fixes
- Query answers reject malformed citation ID lists instead of accepting an invalid grounded response.
⚠️ Breaking Changes
- CLI:
trisynapse-memory verifyis nowtrisynapse-memory validate.- Migration: Update scripts and docs to call
validate.
- Migration: Update scripts and docs to call
- Python:
MemoryEngine.verify_trace()is nowvalidate_store().TraceVerificationis nowStoreValidation.PrivacyFilterandRedactionResultare no longer exported.__version__still comes fromtrisynapse_memory, buttrisynapse_memory._versionis gone.- Migration: Switch to
memory.validate_store(). Import planner/route/token types fromtrisynapse_memory. Do not import deleted modules such asengine.privacy,engine.trace(the old module), or_version.
- Migration: Switch to
- REST / Studio / JS health:
trace_validis nowstorage_ready./api/v1/checkand/api/v1/metricsno longer return a full trace-verification object.- Migration: Read
storage_ready. Usevalidate_store()/GET /api/v1/checkfor the newStoreValidationfields.
- Migration: Read
- Trace records: Deltas are no longer hash-chained.
MemoryDeltano longer includesprev_hashorhash.RemoveResultno longer includesold_root_hashornew_root_hash.privacy_scoperemains only for store compatibility and does not filter.- Migration: Open the store with 0.1.2; the engine drops legacy chain columns. Stop depending on root hashes or hash-chain verification.
- TypeScript package:
@trisynapse/memoryis now@trisynapse/trisynapse-memory.- Migration:
npm install @trisynapse/trisynapse-memoryand update imports.
- Migration:
📦 Other Changes
- Optional extra:
pip install 'trisynapse-memory[tokens]'for Tiktoken-backed counters. Theallextra includes it. scripts/version.pymaps PEP 440 prereleases to npm SemVer (0.2.0rc1→0.2.0-rc.1) and adds anpmsubcommand.- Engine internals are split into
formation,providers,recall,retrieval, andtracepackages. Public imports fromtrisynapse_memoryare unchanged except as listed above.
Full Changelog: v0.1.1...HEAD
v0.1.1
v0.1.1
Patch release that republishes installers at 0.1.1 and simplifies the tagged release pipeline.
🔧 Improvements
- Installers now pin
trisynapse-memory[all]==0.1.1on macOS, Linux, and Windows. - Tagged releases always build and publish the current tree instead of trying to reuse an existing PyPI artifact.
📦 Other Changes
- Removed the one-off PyPI artifact download helper used only by the previous release workflow.
Full Changelog: v0.1.0...v0.1.1
v0.1.0
v0.1.0
First public alpha of Trisynapse Memory: a local-first Trace & Recall engine that stores source evidence, retrieves the useful parts, and answers with citations.
✨ Highlights
- One engine shared by Python, the
trisynapse-memoryCLI, REST, Memory Studio, and the TypeScript client. - Unified ingestion for conversations, documents, code, web pages, tables, images, and structured records.
- Grounded answers that cite Trace evidence, or abstain when confidence is too low.
🚀 New Features
- Python API.
MemoryEnginecan add observations, ingest mixed sources, search, query, forget, and physically remove memory in a namespace. - CLI and terminal.
trisynapse-memoryinitializes a local store, ingests sources, searches and queries, and opens an interactive terminal when run with no arguments. - REST API and Memory Studio.
trisynapse-memory serve --studioexposes the same store over HTTP, with Studio for sources, queries, memory graphs, and model settings. - TypeScript client.
@trisynapse/memorytalks to a local or remote server with typed helpers for health, memory, search, and query. - Source pipeline. Files, directories, archives, Git URLs, public web pages, and images (through a vision-capable completion model) keep locators such as pages, symbols, line ranges, rows, and cells.
- Providers. Local embeddings work with no completion API key. Optional completion providers support generation and image understanding.
- Operations. Backup, restore, durable ingestion jobs, snapshots, store verification, and installer scripts for macOS, Linux, and Windows.
🐛 Bug Fixes
- Fixed Memory Studio fallback when the built UI assets are missing.
- Fixed macOS installer variable expansion so the POSIX installer can resolve the published package version.
📦 Other Changes
- Release workflow builds and publishes
trisynapse-memory==0.1.0to PyPI and attaches installers, checksums, andrelease.jsonto the GitHub release.
Full Changelog: https://github.com/shanmukh05/trisynapse-memory/commits/v0.1.0