Skip to content

Releases: Clarethium/cma

cma 1.1.0

25 May 15:19
6724609

Choose a tag to compare

Added

  • cma install-hook --claude-code [--scope user|project] [--dry-run] merges cma's SessionStart and PreToolUse hook blocks into Claude Code's settings.json. Idempotent; preserves any other hooks you have configured; writes a .bak of the prior file. --dry-run prints the merged JSON to stdout without writing.

cma 1.0.0

16 May 10:33

Choose a tag to compare

First public release of the bash cma reference implementation: the
executable compound practice loop.

Install

git clone https://github.com/Clarethium/cma.git
ln -s "$(pwd)/cma/cma" ~/.local/bin/cma
cma init

Requires bash 3.2 or newer and Python 3.10+.

What's in it

  • Seven primitives capturing failures, decisions, rejections, preventions; surfacing relevant prior captures at action time; distilling learnings; and reporting evidence over time.
  • Action-time injection for Claude Code (PreToolUse + SessionStart hooks) and shell environments (zsh native preexec, bash via bash-preexec). Five-stage architecture documented in ARCHITECTURE.md.
  • Evidence computable from cma's own data: cma stats --evidence reports a loop-closure rate grounded in surface-event evidence (a prevention counts toward closure only when the linked miss was surfaced between its capture and the prevention's capture).
  • Methodology-agnostic substrate: --fm is opaque; vocabulary lives in the methodology, not in cma. [CMA_FM_CLASSIFIER] env var plugs in an external classifier; failure-isolated with a 5-second timeout.
  • Schema-versioned, append-only JSONL at $CMA_DIR (default ~/.cma). Atomicity verified by tests with 200 concurrent 64 KiB writes. Storage requirements documented in DATA.md.
  • 130-case bash test suite; bench.sh reports p50/p95/p99 over N=100 iterations with host fingerprint and JSON output; CI matrix on Python 3.10/3.11/3.12 plus shellcheck and canon-audit.

Companion

The same loop ships as a Python MCP server at cma-mcp/ for adopters reaching it through Claude Desktop, Cursor, Cline, Continue.dev, and other MCP-compatible clients: pip install cma-mcp.

Full release notes: CHANGELOG.md.

cma-mcp 0.1.2

15 May 17:05

Choose a tag to compare

Documentation polish. README, CHANGELOG, and GitHub Release notes
rewritten with the production-ready framing the surface deserves.

The wheel's modules and tool surface are byte-identical to 0.1.1;
0.1.2 exists to rebuild the long_description on PyPI against the
current README so the project page reads cleanly.

Install

pip install cma-mcp

Verify

cma-mcp --version

Reports server_version: "0.1.2" and the build-time git_sha.

cma-mcp 0.1.1

15 May 14:30

Choose a tag to compare

First public release.

Install

pip install cma-mcp

Verify

cma-mcp --version

Should report server_version: "0.1.1" with a build-time git_sha.

What's in it

  • Python ≥3.10 MCP server speaking JSON-RPC over stdio (no SDK dependency).
  • Seven tools mirroring bash cma's primitives: cma_miss, cma_decision, cma_reject, cma_prevented, cma_distill, cma_surface, cma_stats (with views default / evidence / leaks / recurrence / preventions / rejections / behavior, plus an integer window for the evidence view).
  • Four read-only resources: cma://decisions, cma://rejections, cma://core, cma://stats.
  • Three-section payload (analysis + agent_guidance + provenance) on every response.
  • Subprocess wrapper around bash cma with argv-array discipline, 5-second per-call timeout, and a 512 KiB argv byte-budget pre-flight guard.
  • Schema-level input bounds (4 KiB / 64 KiB / 2 KiB) enforced by a schema-invariant test.
  • pytest suite (54 cases) plus wire-protocol subprocess roundtrips.

Full release notes: CHANGELOG.md.