Skip to content

Changelog

The first public release of memprove: a memory and task-state layer for coding agents. Every fact an agent records is bound to a commit, a repository state and a test run, and a deterministic rule decides whether it is still verified, stale, or unconfirmed. A local daemon keeps the record in a hash-chained ledger; a new session reads a compact Context Pack through a Claude Code SessionStart hook or the MCP server.

Pick the archive for your platform: aarch64-apple-darwin (macOS on Apple silicon) or x86_64-unknown-linux-gnu (Linux x86_64, glibc 2.35 or later, such as Ubuntu 22.04 and Debian 12). Both were built and test-installed by the release workflow.

Terminal window
target=aarch64-apple-darwin # or x86_64-unknown-linux-gnu
base=https://github.com/memprove/memprove/releases/download/v0.1.0
curl -LO "$base/memprove-0.1.0-$target.tar.gz"
curl -LO "$base/memprove-0.1.0-$target.tar.gz.sha256"
shasum -a 256 -c "memprove-0.1.0-$target.tar.gz.sha256"
tar -xzf "memprove-0.1.0-$target.tar.gz"
cd "memprove-0.1.0-$target"
scripts/install.sh --from-binaries bin # installs into ~/.memprove and starts the daemon

On macOS the binaries are not notarized: if you downloaded the archive with a browser, clear the quarantine flag first (xattr -dr com.apple.quarantine memprove-0.1.0-aarch64-apple-darwin).

Other platforms: build from source as the README’s “Install in two steps” says (cargo fetch --locked, then the offline release build and scripts/install.sh). Linux on arm64 is not supported yet: the daemon’s first start fails there in its file-system sandbox.

Then, inside a repository: memprove init, and memprove begin --new-task "<title>". docs/guide.md is the full manual.

  • The daemon (memproved) and the CLI (memprove): Tasks, Sessions, Checkpoints, test runs as Evidence, verdicts, the Context Pack, ledger verify, backup and restore, doctor.
  • The Claude Code SessionStart hook and the MCP server (memprove mcp serve), and memprove init for Claude Code, Codex and Cursor.
  • The takeover rule for unattended sessions, with its evaluation (docs/takeover-eval.md).

Built with Rust 1.96.0 from 7167468; CI passes on macOS and Ubuntu (1130 tests). See CHANGELOG.md. Licence: Apache-2.0.

The repository’s own record, as it stands on main.

Each release, with its binaries, is on https://github.com/memprove/memprove/releases.

  • .github/workflows/release.yml: for a tag v* (or by hand for an existing tag) it builds the release binaries for Linux x86_64 (on Ubuntu 22.04) and macOS arm64, installs each archive once and runs doctor, and attaches the archives with their SHA-256 to the tag’s GitHub Release. Linux arm64 is left out until memproved starts there.

The first release: the work that made the repository publishable.

  • memprove init: enables a repository in one command for Claude Code, Codex and Cursor (registers the Project, keeps memprove’s files out of Evidence through .git/info/exclude, writes the SessionStart hook, the MCP server entries and a short note for clients without a hook, then runs doctor).
  • memprove init --allow-tools: init writes Claude Code’s permissions.allow rules only when asked, and otherwise prints them; it also replaces what it wrote under the previous name (the AGENTS.md note, the Codex table, an unedited .cursor/rules/continuity.mdc).
  • memprove init records the Project it registers, so the first memprove begin --new-task after it needs no --project (before, it stopped with a usage error); doctor says so before that first begin.
  • scripts/install.sh, when it builds and crates are missing, runs cargo fetch --locked and builds again; the README, the guide and CONTRIBUTING fetch the crates before their offline builds.
  • scripts/install.sh gives an upgrade within the same second as the one before it a free backup directory and free names for the old binaries (-2, -3, …) instead of failing on a backup directory that exists.
  • TAKEOVER_EVAL_PROTECT for the takeover evaluation: more directories (such as a second installation) that its safety checks guard, besides ~/.memprove and ~/.config/memprove.
  • scripts/install.sh --write-profile / --no-write-profile; a default prefix (~/.memprove) needs no environment variable, because the CLI, the hook and the MCP server find ~/.memprove/config on their own.
  • LICENSE (Apache-2.0), CONTRIBUTING.md, a CI workflow for macOS and Ubuntu, README.md, docs/guide.md and docs/architecture.md.
  • The product is named memprove: the crates are memprove-*, the binaries memprove and memproved, the MCP server memprove (allow rules mcp__memprove, Bash(memprove run:*)), the default installation prefix ~/.memprove with its configuration in ~/.memprove/config, the daemon’s socket and lock memproved.sock and memproved.lock, the environment variables MEMPROVE_* (MEMPROVE_CONFIG_DIR, MEMPROVE_DATA_DIR, MEMPROVE_TOKEN_FILE, MEMPROVE_TOKEN, MEMPROVE_CLIENT_SESSION, MEMPROVE_AGENT_NAME, MEMPROVE_AGENT_ROLE, MEMPROVE_PARENT_SESSION), and the Pack’s format label memprove-pack v1. The ledger’s own identifiers are unchanged, so an existing ledger reads as before: the daemon still writes its Events as the producer continuityd and its repository probes as the collector continuityd-git (a migration’s trigger enforces the former), the ontology version is continuity.work-state-ontology.v4, the backup marker is continuity-backup.txt, and the migrations and the published schemas are as they were. scripts/install.sh renames an installation of the previous name in place: it stops the old continuityd, keeps the data and the tokens, writes ct and ensure-daemon.sh again, and leaves memproved running when continuityd was. In a repository enabled under the previous name, memprove hook install replaces that installation’s SessionStart handler, env.CONTINUITY_CONFIG_DIR and mcpServers.continuity (with --allow-tools also its rules mcp__continuity, Bash(continuity run:*) and Bash(<path> run:*)) instead of adding its own beside them, and memprove hook uninstall removes them.
  • Every fixed text is English: the Context Pack lines, the hook’s statements, the MCP tool descriptions and failure sentences, the help pages, resume, preview, doctor, the run hints and the daemon’s error details. The Pack’s line structure, omission levels, budget and digest algorithm are unchanged; only the digest values moved.
  • The last sentence of the hook’s and the MCP pack tool’s opening, and the takeover rule in the MCP begin and end descriptions, name the session that records the open item for a Session it leaves open, and when: in its first checkpoint (before, the item “is recorded”, with no one named).
  • The query Pack keeps the ASCII matching path only (terms of three or more characters through the trigram index, shorter ones as whole words).
  • The takeover evaluation’s prompt, seeds and scorer are English.
  • The semantic projection and its MCP tool, the ontology manifest, the client and query profiles, the ContextManifest and the static HTML export, with their tests and documentation (the budgets and omission levels they carried are plain constants of the Pack now).

From CHANGELOG.md at 2625064cbf0a · Markdown

memprove About Roadmap llms.txt GitHub 中文 apache-2.0 · no cookies, no tracking