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 next
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

contmemo --watch              # light-mode daemon (live in M5+)
contmemo --report --last 50   # event-log tail as JSONL on stdout (M5+)
contmemo --bulk --since "1h"  # one-shot reflection (planned for M6)

--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.4.0.tar.gz (38.1 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.4.0-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for contmemo-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c9fd2884706243f6c96dc7b9c5ae596033da33b750d3ae5ee320faec3f510c51
MD5 aab4c51f8556cf578ca06b803ac00161
BLAKE2b-256 0e8fe8559474ab613af42355bca6518fd32a2f38cffa08271946f220c17966e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: contmemo-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 23.1 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 99326cdabc54b736c48d5c3d04ad9e4095045e0b9048833cb892f7b6ec602c11
MD5 f7426b2437ae52c14fdc6651b0a700f7
BLAKE2b-256 3dc4275cff06f67ef7cc16d4a9ac3fab96252983bc6bb4056891a505f6c98b09

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