Releases: Clarethium/cma
cma 1.1.0
Added
cma install-hook --claude-code [--scope user|project] [--dry-run]merges cma'sSessionStartandPreToolUsehook blocks into Claude Code'ssettings.json. Idempotent; preserves any other hooks you have configured; writes a.bakof the prior file.--dry-runprints the merged JSON to stdout without writing.
cma 1.0.0
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+SessionStarthooks) and shell environments (zsh nativepreexec, bash viabash-preexec). Five-stage architecture documented in ARCHITECTURE.md. - Evidence computable from cma's own data:
cma stats --evidencereports 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:
--fmis 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.shreports 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
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
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 viewsdefault/evidence/leaks/recurrence/preventions/rejections/behavior, plus an integerwindowfor 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.