By bolnet
Provides a deterministic, durable memory layer for agent teams with bi-temporal facts, RBAC, audit trails, and zero-LLM recall, backed by Postgres, Neo4j, and Pinecone. Includes one-command install, full uninstall, and session telemetry hooks.
Record a comprehensive demo video + voiceover script of the Attestor UI
Install Attestor for Claude Code — one default profile, zero questions
Completely uninstall Attestor from Claude Code — reverse every install surface
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Cut your agent's token burn 21×. Two API calls.
Full-context replay re-reads the whole conversation every turn — input tokens that grow O(n²) and a bill that compounds with every session. Attestor retrieves only what's needed: flat ~200 tokens per call, 21× fewer input tokens by turn 100, 100% recall — measured across six models, open and closed.
await attestor.add(namespace, content) # when new information arrives
facts = await attestor.recall(namespace, query) # ~200 flat tokens, always
Self-hosted, deterministic retrieval, zero LLM in the critical path. The memory layer for agent teams that need shared, tenant-isolated memory with bi-temporal replay and an auditable supersession chain.
pip install attestor
Using Claude Code?
pipx install attestorthenattestor quickstart— one command, zero questions: it brings up the local backends (Postgres + Pinecone Local + Neo4j), uses a local Ollama embedder (no cloud key), and wires the MCP server + hooks. Reverse it withattestor teardown. Or drive it from inside Claude Code via the plugin (/plugin install attestor→/attestor:install-attestor). See Install for Claude Code.pipx install attestor && attestor quickstart
| Version | 4.1.6 (stable; greenfield rebuild — no v3 migration path) |
| PyPI | attestor |
| Import | attestor |
| Live site | https://attestor.dev/ |
| Repo | https://github.com/bolnet/attestor |
| License | MIT |
Designed and built by Surendra Singh — building auditable infrastructure for multi-agent AI, with fifteen years of production-systems discipline brought to the memory layer. Companion projects:
claude-finance(Claude-powered financial analytics) ·private-equity(PE × AI workshop). Reach out if you're hiring senior IC for AI infrastructure.
Attestor is a memory store for agent teams that need a shared, tenant-isolated memory with bi-temporal replay, deterministic retrieval, and an auditable supersession chain. It runs as a Python library, a Starlette REST service, or an MCP server — same API in all three.
The token math: Full-context replay is O(n²) — every turn re-reads the whole history. Attestor replaces that with O(n) targeted retrieval. Per-call context stays flat at ~200 tokens whether the agent is on turn 1 or turn 100. One Claude Opus 4 session at 100 turns: $24.15 → $1.24. Verify it yourself with context-clock.
| Turn | Full-context replay | Attestor | Reduction |
|---|---|---|---|
| t24 | growing | ~200 tok | 5.6× |
| t50 | growing | ~200 tok | 11× |
| t100 | 8,709 tok/call | ~200 tok | 21.5× |
It is built around three claims, each grounded in code:
valid_from / valid_until) and transaction time (t_created / t_expired). Nothing is deleted; everything is queryable forever (attestor/temporal/manager.py:43-73, core.py:888-890).attestor/retrieval/orchestrator.py:1-14).ADD / UPDATE / INVALIDATE / NOOP) resolver per fact. Every supersession carries an evidence_episode_id (attestor/extraction/conflict_resolver.py:98).npx claudepluginhub bolnet/attestor --plugin attestorDeterministic long-term memory for Claude Code: every prompt captured, role-scoped memories served each turn, memory that survives /clear and compaction, and a decision ledger that explains every keep, merge, and drop. Local only — no cloud, no keys.
Persistent memory for AI coding agents. SQLite knowledge graph with scoped entities, MCP tools, and LLM-summarized briefings.
Persistent agent memory that survives across sessions — auto-compacting 3-tier memory with hybrid search. Your agent remembers what it learned, decided, and built.
Local-first agent memory + reversible context compression and KV cache, as an MCP server. 20-tool code profile with graph intelligence.
Memory → Evaluation → Credential → Access Control for AI agents. Persistent memory with W3C Verifiable Credentials, capability-based access control, drift detection, and FSRS-6 spaced repetition.
Universal memory runtime — ambient working-memory substrate for Claude Code. Memory is not a feature you invoke — it's the substrate the agent operates on.