Skip to main content

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) done
M6 Bulk mode + mini-LLM client done
M7 PyPI publish (offline-friendly artifact) next
M8 Cont integration (shim layer in cont)

Install (dev)

git clone <repo>
cd contmemo
pip install -e ".[dev]"
pytest

Usage

contmemo --watch              # light-mode daemon (live in M5+)
contmemo --report --last 50   # event-log tail as JSONL on stdout (M5+)
contmemo --bulk --since "1 hour ago"  # LLM-driven reflection (M6+)
contmemo --bulk --dry-run             # call the LLM, don't write

--watch accepts --max-iterations N for smoke runs and CI; without it the loop runs as a daemon until SIGTERM / SIGINT / request_shutdown. See docs/operations.md for the operator playbook.

Design invariants

These never bend, regardless of sprint:

  1. Single-writer. Cont memory is written by contmemo and nothing else.
  2. Proposal-only. Cont thinks it writes; it actually submits.
  3. Deterministic before LLM. Light path has no model. LLM only in bulk.
  4. Append-only event log. Contmemo's own memory has no LLM in the loop — no recursion, no self-summarization.
  5. 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

contmemo-0.5.0.tar.gz (50.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

contmemo-0.5.0-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file contmemo-0.5.0.tar.gz.

File metadata

  • Download URL: contmemo-0.5.0.tar.gz
  • Upload date:
  • Size: 50.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for contmemo-0.5.0.tar.gz
Algorithm Hash digest
SHA256 06dd8fc71400583a61263ff69150dd892773ed61d42db1c57ee47ced6a3a4f1d
MD5 cff2e5c0a25ad30eaa7f06842c845a49
BLAKE2b-256 6f4d54e557f2ff41f18cdf1045ba7039873d130b9ed0d89044c17114e2777834

See more details on using hashes here.

File details

Details for the file contmemo-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: contmemo-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 31.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for contmemo-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a710ad30a6163f90101e2905b23b44dde6213fac522493c4e49e990d16753b7b
MD5 fde2a7af03d826af209ead707330d52a
BLAKE2b-256 7160c304dc642dd077771b02977f7fb8aa282a16b4725fe6f9551b6d46a172c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page