Filesystem-first memory promotion engine for AI-native team memory.
Project description
ANTMA
AI-Native Team Memory Architecture.
ANTMA is a local-first Python library and CLI for teams that run AI agents and need a clear, auditable path from raw operating notes to durable team memory.
It is deliberately small. ANTMA is a filesystem-first memory promotion engine: it helps teams create candidates, run policy gates, route manual approvals, append durable memory updates, record ledgers, snapshot changes, and roll back promotions without turning a search backend into the source of truth.
Why ANTMA
AI teams often collect chat logs, notes, research, decisions, and project state in one large retrieval pile. That creates three problems:
- Agents cannot tell current truth from old context.
- Humans cannot easily review or edit memory.
- Search backends become hidden sources of truth.
ANTMA starts from the opposite rule:
Multiple memory backends are allowed, but there is only one canonical memory ledger.
The canonical ledger is local, human-readable Markdown. Optional indexes and adapters are derived views.
Core Ideas
- Agent operating memory is for state, decisions, roles, preferences, and work.
- Knowledge bank content is for reusable research, examples, frameworks, and reference material.
- Source-of-truth documents outrank general memory and search results.
- Promotion candidates are pending evidence, not durable truth.
- Policy gates decide whether candidates can promote automatically or need manual review.
- Promotions append marker blocks and write audit/promotion ledgers.
- Evidence packets make completion claims auditable.
- External backends may support search or analysis, but they do not own truth.
Scope
ANTMA owns the public-safe core of team memory:
- canonical memory ledger shape
- workspace layout and manifest
- recall priority rules
- privacy scanning guardrails
- promotion candidates for reviewed memory changes
- policy-gated review and manual approvals
- append-only promotion into Markdown destinations
- audit and promotion ledgers
- rollback by promotion id
- evidence packets for auditable completion claims
- local derived search indexes
ANTMA intentionally does not include:
- agent runtime or execution loops
- chat, email, or delivery automation
- scheduler or cron systems
- agent routing, model orchestration, or persona management
- organization-specific operating rules, names, or workflows
- hosted memory services
- automatic dreaming loops
Install
pip install antma
For virtual environment setup, source checkout, editable developer install, Git
URL install, and first-run checks, see INSTALL.md.
Documentation
INSTALL.md: PyPI, local checkout, editable, and Git URL install paths.docs/tutorial.md: first workspace, evidence, promotion, scan, index, and search workflow.docs/api-reference.md: CLI and Python API reference.docs/privacy-boundary.md: public-release privacy rules.docs/public-release-checklist.md: manual checks before sharing the repo.docs/live/CURRENT-STATE.md: current public-safe project state.docs/live/NEXT-STEPS.md: release and maintenance next actions.docs/pypi-release.md: PyPI release preparation.CHANGELOG.md: release and scaffold milestones.CONTRIBUTING.md: contribution workflow and review checklist.SECURITY.md: vulnerability reporting and privacy-review guidance.examples/product-team-memory/: richer synthetic product-team workspace.
Quick Start
Create a local memory workspace:
antma init ./team-memory
Create and promote a local memory candidate:
cd ./team-memory
mkdir -p notes memory
printf 'Brad prefers short Korean operating replies.\n' > notes/today.md
printf '# Project Memory\n' > memory/project.md
antma candidate create \
--source notes/today.md \
--source-type file \
--destination memory/project.md \
--summary "Korean operating reply preference" \
--text "Brad prefers short Korean operating replies." \
--scope project \
--risk low \
--sensitivity internal \
--evidence notes/today.md
antma review run --all
antma promote run
antma status --json
Manual review candidates can be approved, rejected, held, or edited:
antma approvals list
antma approvals approve <candidate_id>
antma approvals reject <candidate_id> --reason "source insufficient"
antma approvals hold <candidate_id> --reason "needs confirmation"
antma approvals edit <candidate_id> --text "Updated memory text."
Rollback is promotion-ledger based:
antma ledger show --type promotions
antma rollback <promotion_id>
The legacy 0.1 Markdown candidate helper is still available:
antma promote ./daily/example.md --reason "Candidate durable fact."
Build a local SQLite FTS index and search it:
antma index ./team-memory --db ./team-memory/.antma/index.db
antma doctor ./team-memory --db ./team-memory/.antma/index.db
antma search "launch decision" --db ./team-memory/.antma/index.db
Workspace Shape
team-memory/
antma.json
.antma/
config.toml
policies/default.toml
queue/
ledger/audit.jsonl
ledger/promotions.jsonl
snapshots/
locks/
tmp/
MEMORY.shared.md
agents/default/MEMORY.md
ssot/example.md
daily/example.md
knowledge-bank/example.md
curation/promotions/example.md
evidence/example-packet.md
For a richer public-safe example with multiple role memories, source-of-truth
notes, curation, and evidence, see examples/product-team-memory/.
Upgrade Check
After upgrading ANTMA, keep recovery explicit:
pip install --upgrade antma
antma doctor ./team-memory --db ./team-memory/.antma/index.db
antma init ./team-memory
antma index ./team-memory --db ./team-memory/.antma/index.db
doctor is read-only. It reports missing or unsupported workspace and index
metadata. init adds missing workspace files without overwriting existing files,
and index explicitly rebuilds the derived SQLite FTS index.
Privacy Boundary
This repository is intentionally generic. Do not add private runtime paths, credentials, customer material, personal chat transcripts, internal project names, or company-specific operating documents.
See docs/privacy-boundary.md for the full rule.
Community And Contact
ANTMA is maintained as a contributor-led public project. Package authorship is
listed as ANTMA contributors, with THEINNOLAB maintaining the public GitHub
repository.
Author: ANTMA contributors
Maintainer: THEINNOLAB
License: Apache License 2.0
Copyright: Copyright 2026 ANTMA contributors
Issues: https://github.com/THEINNOLAB/ANTMA/issues
Security: Prefer GitHub private vulnerability reporting. If unavailable, open a public-safe issue requesting a private disclosure channel; do not include sensitive details in the public issue.
License
ANTMA is licensed under the Apache License 2.0. See LICENSE.
Release
Current source version: v0.2.0.
- PyPI:
https://pypi.org/project/antma/ - Install:
pip install antma - PyPI and GitHub Release
v0.2.0should be published from the release commit.
Project Status
ANTMA is an early public beta package. Version 0.2.0 introduces the
filesystem-first memory promotion engine while preserving the 0.1 scaffold and
legacy Markdown candidate helper.
The current focus is keeping the promotion engine small, reviewable, and public-safe while improving examples, tests, documentation, and narrowly scoped CLI/library behavior.
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 antma-0.2.0.tar.gz.
File metadata
- Download URL: antma-0.2.0.tar.gz
- Upload date:
- Size: 50.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
500043206dbd4598935ced8e8033319bc09bf9c542f4c9ebd273a9a5e2a9ffd9
|
|
| MD5 |
76a0eeef4e1824020412c5e40d009434
|
|
| BLAKE2b-256 |
3e24df0b3e60960c9c7258e08e661c8222b31974365801a5f1d726938c4792ab
|
File details
Details for the file antma-0.2.0-py3-none-any.whl.
File metadata
- Download URL: antma-0.2.0-py3-none-any.whl
- Upload date:
- Size: 48.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4c1f580284a8126491d88d0152c79f696530f4227d4a11ed4bd9ce5b01b86a4
|
|
| MD5 |
bbeecee7dd1b2036a4add64bc08f54a9
|
|
| BLAKE2b-256 |
3a48d045acb5bf5ac39907e19503a6d298234670eedd0bb21ecfef0641ddaa8a
|