Build system for agent memory
Project description
███████╗██╗ ██╗███╗ ██╗██╗██╗ ██╗ ██╔════╝╚██╗ ██╔╝████╗ ██║██║╚██╗██╔╝ ███████╗ ╚████╔╝ ██╔██╗ ██║██║ ╚███╔╝ ╚════██║ ╚██╔╝ ██║╚██╗██║██║ ██╔██╗ ███████║ ██║ ██║ ╚████║██║██╔╝ ██╗ ╚══════╝ ╚═╝ ╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝
A build system for agent memory.
The Problem
Agent memory hasn't converged. Mem0, Letta, Zep, LangMem — each bakes in a different architecture because the right one depends on your domain and changes as your agent evolves. Most systems force you to commit to a schema early. Changing your approach means migrations or starting over.
What Synix Does
Conversations are sources. Prompts are build rules. Summaries and world models are artifacts. Declare your memory architecture in Python, build it, then change it — only affected layers rebuild. Trace any artifact back through the dependency graph to its source conversation.
uvx synix build pipeline.py
uvx synix validate
uvx synix search "return policy"
Using Your Build Output
After a build, Synix gives you two things: a search index and flat artifact files.
Search via CLI:
synix search "return policy"
synix search "warranty terms" --top-k 5 --trace
Use the artifacts directly:
Build output lives in ./build/ — JSON files per artifact, a manifest.json index, and a SQLite FTS5 database. Read them, copy them, or point any tool that speaks SQLite at search.db.
ls build/layer2-cs_product_brief/
sqlite3 build/search.db "SELECT artifact_id, layer_name FROM search_index LIMIT 5"
Key Capabilities
Incremental rebuilds — Change a prompt or add new conversations. Only downstream artifacts reprocess.
Altitude-aware search — Query episode summaries, monthly rollups, or core memory. Drill into provenance from any result.
Full provenance — Every artifact chains back to the source conversations that produced it, through every transform in between.
Validation and repair — Detect semantic contradictions and PII leaks across artifacts, then fix them with LLM-assisted rewrites.
Architecture evolution — Swap monthly rollups for topic-based clustering. Transcripts and episodes stay cached. No migration scripts.
Where Synix Fits
| Mem0 | Letta | Zep | LangMem | Synix | |
|---|---|---|---|---|---|
| Approach | API-first memory store | Agent-managed memory | Temporal knowledge graph | Taxonomy-driven memory | Build system with pipelines |
| Incremental rebuilds | — | — | — | — | Yes |
| Provenance tracking | — | — | — | — | Full chain to source |
| Architecture changes | Migration | Migration | Migration | Migration | Rebuild |
| Schema | Fixed | Fixed | Fixed | Fixed | You define it |
Synix is not a memory store. It's the build system that produces one.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file synix-0.9.0.tar.gz.
File metadata
- Download URL: synix-0.9.0.tar.gz
- Upload date:
- Size: 3.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dafe0671d40805c1d7673760851d2e25eae387e5f872c56e3dd3e25003df6ee3
|
|
| MD5 |
2388c733c9447287c19212bbdf8497fb
|
|
| BLAKE2b-256 |
5b08af07e49b92f8d7615275b6a75db895943ec69ba0a208350067f72fe2bf37
|
Provenance
The following attestation bundles were made for synix-0.9.0.tar.gz:
Publisher:
release.yml on marklubin/synix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
synix-0.9.0.tar.gz -
Subject digest:
dafe0671d40805c1d7673760851d2e25eae387e5f872c56e3dd3e25003df6ee3 - Sigstore transparency entry: 939377897
- Sigstore integration time:
-
Permalink:
marklubin/synix@778e2b795242a4b214cd9d65d64b6a73ec7115c6 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/marklubin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@778e2b795242a4b214cd9d65d64b6a73ec7115c6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file synix-0.9.0-py3-none-any.whl.
File metadata
- Download URL: synix-0.9.0-py3-none-any.whl
- Upload date:
- Size: 123.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9f571d1ae93c3a638e031e101e1e43cd24f564de28df734a4f27ad75fb56f15
|
|
| MD5 |
dd1e8aaaf4c97a0b562f35445217bea0
|
|
| BLAKE2b-256 |
bc4d0233ab9a85516caf16ac5867c5b988cf84a3bc1c4970ca1053c8965b24c4
|
Provenance
The following attestation bundles were made for synix-0.9.0-py3-none-any.whl:
Publisher:
release.yml on marklubin/synix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
synix-0.9.0-py3-none-any.whl -
Subject digest:
f9f571d1ae93c3a638e031e101e1e43cd24f564de28df734a4f27ad75fb56f15 - Sigstore transparency entry: 939377904
- Sigstore integration time:
-
Permalink:
marklubin/synix@778e2b795242a4b214cd9d65d64b6a73ec7115c6 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/marklubin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@778e2b795242a4b214cd9d65d64b6a73ec7115c6 -
Trigger Event:
push
-
Statement type: