Memory custodian agent for the Cont Hive ecosystem (offline, air-gapped). Memory only — recipes live in contrecipe.
Project description
contmemo
Memory custodian agent for the Cont Hive ecosystem. Offline, air-gapped, single-writer, deterministic-first.
contmemo is the kâtip ("scribe") of the Cont Hive. It is the only module
that writes to Cont's memory. Every other agent — including cont itself —
submits proposals; contmemo evaluates them and decides what gets persisted.
Scope is memory only. Recipe sanity, lifecycle, and evolution are the
responsibility of the sibling agent contrecipe. The two are peers, not nested.
See docs/architecture.md for the full design.
Status
Sprint M1 — Skeleton. Repo structure, CLI parser, test harness.
No runtime behavior yet. Each core/*.py module exposes a stub class so
later sprints can fill in their own corner without touching the wiring.
| Sprint | Scope | Status |
|---|---|---|
| M1 | Skeleton | done |
| M2 | Event log (append-only JSONL + lookup) | done |
| M3 | Proposal inbox watcher + deterministic | done |
| M4 | Single-writer Cont memory writer | done |
| M5 | Light-mode runtime (trace watching) | next |
| M6 | Bulk mode + mini-LLM client | — |
| M7 | PyPI publish (offline-friendly artifact) | — |
| M8 | Cont integration (shim layer in cont) |
— |
Install (dev)
git clone <repo>
cd contmemo
pip install -e ".[dev]"
pytest
Usage (planned)
contmemo --watch # light-mode daemon (Sprint M5)
contmemo --bulk --since "1h" # one-shot reflection (Sprint M6)
contmemo --report --last 50 # event-log tail (Sprint M2)
In M1 these flags parse but exit with 2 and a "not yet implemented" notice
pointing at the responsible sprint.
Design invariants
These never bend, regardless of sprint:
- Single-writer. Cont memory is written by
contmemoand nothing else. - Proposal-only. Cont thinks it writes; it actually submits.
- Deterministic before LLM. Light path has no model. LLM only in bulk.
- Append-only event log. Contmemo's own memory has no LLM in the loop — no recursion, no self-summarization.
- Air-gapped. Zero cloud, zero outbound network, zero telemetry.
License
Private — internal Cont Hive component. Not for redistribution.
Project details
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 contmemo-0.3.0.tar.gz.
File metadata
- Download URL: contmemo-0.3.0.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
962bf6d9c6553307bd5668418fd751fdc57ca4d69bfc4a83916b7469ff7eb819
|
|
| MD5 |
e072d06662074bfeaa36fb46354f8929
|
|
| BLAKE2b-256 |
933718c34742f28e5eff4e41a574f5e0324461a7b575bc21e2481c41bf822815
|
File details
Details for the file contmemo-0.3.0-py3-none-any.whl.
File metadata
- Download URL: contmemo-0.3.0-py3-none-any.whl
- Upload date:
- Size: 19.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bfbae71731c0585ea4f258a3fbbca5727852eba4a260ded0cce6be6429775a7
|
|
| MD5 |
2b3582d80aea293b278ca8c332075ec7
|
|
| BLAKE2b-256 |
c242038779c2c8fb5451b0b4e24aca8132d5342ccd05d042f62586d22ce28445
|