This release is a pre-release and may not be stable for production use.
AetnaMem
AetnaMem is an experimental Agent Black Box and reversible memory control plane for OpenClaw.
It records the boundaries OpenClaw exposes—model input/output fingerprints, context injection, tool requests, tool completions and turn termination—into a tamper-evident flight timeline. When an agent says it completed an action, an operator can inspect whether the host actually observed the corresponding tool lifecycle and export the evidence.
The boundary is deliberate: AetnaMem verifies retained timeline integrity and observed hook closure. It does not semantically judge an answer or prove that an external real-world outcome occurred without a system-of-record verifier. Raw prompts, responses, tool parameters and tool results are not stored by the Black Box; their SHA-256 digests and bounded metadata are.
Install AetnaMem beside OpenClaw, let it copy and shadow the complete native memory, inspect the result, then activate it when you are ready. Shadow mode does not change the context sent to the model. Activation freezes the verified OpenClaw memory state and replaces native supplemental-memory access with bounded AetnaMem recall. Restore puts the saved OpenClaw configuration and memory paths back.
This is Version 1.0.0a6, an experimental prerelease. Agent Black Box capture and the automated copy, shadow, activation and restore workflow support OpenClaw first. The underlying memory engine and MCP interface remain model-agnostic.
Inspect an agent flight
After installation, use OpenClaw normally and inspect newly observed runs:
aetnamem blackbox status
aetnamem blackbox runs
aetnamem blackbox verify RUN_ID
aetnamem blackbox export RUN_ID --format text --output flight.txt
aetnamem dashboard daemon start
The dashboard presents recent flights, tool-request/completion closure, terminal status, the host-observed timeline and downloadable JSON/text evidence. See the Agent Black Box guide for the event model, privacy boundary and exact guarantees.
Install and migrate OpenClaw
# 1. Install the engine. Do not install the npm bridge separately.
python -m pip install --pre aetnamem==1.0.0a6
aetnamem --version
# 2. Install the matching bridge and copy all existing OpenClaw memory.
aetnamem openclaw install
# 3. Inspect the shadow copy. OpenClaw is still the memory provider.
aetnamem control status
aetnamem control verify
aetnamem dashboard daemon start
# 4. Switch only after the dashboard reports that the copy is verified.
aetnamem control activate
# 5. Restore OpenClaw memory at any time.
aetnamem control restore --drill
aetnamem control restore
aetnamem openclaw install owns both packages: it installs the matching npm bridge, binds the exact Python executable, copies MEMORY.md and memory/*.md from the beginning of the OpenClaw workspace history, starts change mirroring, restarts the gateway, and verifies the loaded integration. Progress is shown for every stage. If verification fails, it restores the prior plugin configuration. The command is safe to rerun: an existing shadow migration is refreshed and verified in place while its control ID and original restore snapshot are preserved.
Read the OpenClaw setup and control-plane guarantees before customer deployment.
Watch the OpenClaw walkthrough
The 1080p walkthrough demonstrates installation, complete native-memory mirroring, shadow-mode search and capture, verified activation, governed text and image memory, human approval, recall, audit investigation, and the available restore path.
The demonstration states the product boundaries directly: shadow mode does not alter model context, image recall returns the approved text observation rather than image bytes, and restore is available but is not executed in the recording.
What the dashboard provides
The loopback-only dashboard is the operating and investigation surface:
- current provider: OpenClaw in shadow mode or AetnaMem in active mode;
- copy progress, source manifest, hashes, and verification failures;
- memory search, record history, source and interpretation evidence;
- recall scores, context-injection receipts, and agent-response bindings;
- approval or purge of quarantined external observations;
- filtered audit exploration with time, event, actor, session, record, and status facets;
- JSON, NDJSON, CSV, text investigation reports, and deletion receipts;
- one activation control and one restore control.
aetnamem dashboard daemon start # background service at http://127.0.0.1:8766/
aetnamem dashboard daemon open # open the direct loopback URL
aetnamem dashboard daemon status
aetnamem dashboard daemon restart
aetnamem dashboard daemon stop
aetnamem dashboard daemon remove # removes service metadata, not memory/evidence
Model-agnostic engine
Any host that can launch a stdio MCP server can use the engine directly:
aetnamem mcp --db ~/.aetnamem/memories.db --subject local-user
MCP tools: memory_remember, memory_observe, memory_recall, memory_get_record, memory_get_source, memory_recall_block, memory_persona, memory_context_pack, memory_capture, memory_list, memory_forget, memory_forget_artifact, memory_promote, memory_audit, memory_verify, memory_graph_status, memory_graph_merges, memory_graph_history, and memory_log_action.
The protocol does not depend on OpenAI, Anthropic, Google, Meta, xAI, DeepSeek, or another model provider. A host integration is still responsible for authenticated user identity, deciding when model-interpreted statements become memory, and proving which context reached which response.
See the integration guide, audit search, semantic search, and multimodal observations.
Data and trust boundaries
- Canonical memory, provenance, lifecycle state, and audit evidence are stored in SQLite.
- Semantic search is optional. Vectors are a derived index and are verified against canonical records before results are returned.
- External media bytes remain host-controlled. AetnaMem stores a typed text observation, exact byte-stream SHA-256, model identity, and host reference.
- External observations are quarantined until approved. Confidence is evidence, never an automatic promotion rule.
- Forget operations cascade through canonical, graph, media, and vector-derived state and return a receipt.
- The dashboard binds only to loopback and opens without a login. Mutations retain CSRF and origin checks.
See data storage and backup and the auditing guide.
Scope
AetnaMem 1.0 contains one product: the memory control plane. Unrelated legacy experiments remain in Git history and on the unchanged develop branch; they are not shipped as part of the 1.0 product.
Licensed under AGPL-3.0-only.
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 aetnamem-1.0.0a6.tar.gz.
File metadata
- Download URL: aetnamem-1.0.0a6.tar.gz
- Upload date:
- Size: 312.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e707db09d61e945d90af35d550e1c25e4204798babbabedbf74d28b83a81892
|
|
| MD5 |
dbb00796929c0ec087822ebf7a069d60
|
|
| BLAKE2b-256 |
96e4b543377de07055b2347e694f297183d62f0c3855c4ee0f42deb5056dee78
|
Provenance
The following attestation bundles were made for aetnamem-1.0.0a6.tar.gz:
Publisher:
publish.yml on aetna000/aetnamem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aetnamem-1.0.0a6.tar.gz -
Subject digest:
5e707db09d61e945d90af35d550e1c25e4204798babbabedbf74d28b83a81892 - Sigstore transparency entry: 2347165882
- Sigstore integration time:
-
Permalink:
aetna000/aetnamem@c569ad07db180cbeb620f713cfcca315213623af -
Branch / Tag:
refs/tags/v1.0.0a6 - Owner: https://github.com/aetna000
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c569ad07db180cbeb620f713cfcca315213623af -
Trigger Event:
push
-
Statement type:
File details
Details for the file aetnamem-1.0.0a6-py3-none-any.whl.
File metadata
- Download URL: aetnamem-1.0.0a6-py3-none-any.whl
- Upload date:
- Size: 199.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d610762d283c5b4dfb7b36baa7bf5c0e96b6d653dcb68ecbac9a274142d7e433
|
|
| MD5 |
be0a557e412069e3b34bc7ed2594055a
|
|
| BLAKE2b-256 |
3a7d5f2713388d85caa35c7aed4515f82dd1f4568b984335e82acd40f4b413f4
|
Provenance
The following attestation bundles were made for aetnamem-1.0.0a6-py3-none-any.whl:
Publisher:
publish.yml on aetna000/aetnamem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aetnamem-1.0.0a6-py3-none-any.whl -
Subject digest:
d610762d283c5b4dfb7b36baa7bf5c0e96b6d653dcb68ecbac9a274142d7e433 - Sigstore transparency entry: 2347166059
- Sigstore integration time:
-
Permalink:
aetna000/aetnamem@c569ad07db180cbeb620f713cfcca315213623af -
Branch / Tag:
refs/tags/v1.0.0a6 - Owner: https://github.com/aetna000
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c569ad07db180cbeb620f713cfcca315213623af -
Trigger Event:
push
-
Statement type: