Skip to content

v0.2.0a1 — Article 12 export + MCP + cross-repo emit (pre-release)

Pre-release
Pre-release

Choose a tag to compare

@hinanohart hinanohart released this 28 May 18:10
· 7 commits to main since this release
eeb1525

⚠️ Install path bug — please use v0.2.0a2 instead. The README shipped at this tag (v0.2.0a1) documents pip install memcanon, but memcanon is not on PyPI yet and that command produces ERROR: No matching distribution. The fix shipped in v0.2.0a2 (pip install git+https://github.com/hinanohart/memcanon@v0.2.0a2); v0.2 surfaces are otherwise byte-identical between v0.2.0a1 and v0.2.0a2.


Pre-release of memcanon's v0.2 surfaces. The v0.1 canonicalization + content hashing core (memcanon-c14n/1) is unchanged, and all v0.1 stores/bundles remain valid.

New (all opt-in, all SHAPE-only)

  • Article 12(2) paragraph-mapped exportmemcanon export --format eu-ai-act-12 --to OUT.json [--system-id ID]. Pinned at memcanon-eu-aiact-12/1. Operator-tag relay; NOT a conformity assessment, NOT a CE mark, NOT legal advice.
  • Minimal MCP-compatible audit-verify servermemcanon mcp serve --source SOURCE. NDJSON JSON-RPC 2.0 over stdio, subset only. Three read-only tools: audit_summary, audit_verify_hash, audit_export_article12. Reports protocolVersion = memcanon-mcp/0.1NOT the full mcp SDK.
  • Cross-repo emit shimmemcanon.emit.emit(source, event, store=...) accepts events from subjunctor / exitkit / foldconsensus / scorewright. Tags records source:<name> + schema:memcanon-emit/1.

Honest-marketing CI (6 guards)

banned-phrase / placeholder / version-string / Article-12 schema smoke / MCP smoke / emit smoke. CI green on Python 3.11 + 3.12.

Why this pivot (R14 round-2 5 fatal findings on attestlog)

C1 Systima @systima/aiact-audit-log MIT pre-existing /
C2 hinanohart/memcanon self-overlap (R17) /
C3 Halo2 + maturin + PyO3 + 12-week autonomous infeasible /
C4 EU Digital Omnibus 2027-12 deadline-evaporation risk /
C5 v0.1.0a1 scope could not mechanically verify "policy-private" Tagline.

See full CHANGELOG entry for details.

🤖 Generated with Claude Code