Status: approved Program 4 design, first local implementation slice only. This plan is non-normative. The Abbey System Constitution and the approved federation reconciliation remain authoritative.
Add a v3-only, storage-independent commitment primitive for durable Abbey episodes. It must encode the commitment envelope under a precisely documented RFC 8949 deterministic-CBOR profile, sort parent digests lexicographically, and compute SHA-256 over the exact canonical bytes. Existing v2 bytes and digests remain untouched.
The older companion design says mandatory safety events and failures bypass the
write gate entirely. That sentence is stale. Per the later approved
reconciliation, MandatoryIncident bypasses only discretionary utility
scoring. It never bypasses scope, minimization, redaction, legal or operational
hold handling, retention validation, or deletion-key validation. This slice
does not implement a write gate, and no later implementation may treat
mandatory retention as permission to skip those controls.
Create abi_wdbx::v3::commitment with:
abbey-cbor-episode-v1;0 = profile, 1 = schema version, 2 = header, 3 = payload,
4 = sorted parent digests;SHA256(canonical_envelope_bytes) with no hidden prefix or library-specific
framing;undefined, or
duplicate encoded map keys;[u8; 32] digests before encoding,
while preserving duplicates because deduplication is not authorized by the
approved design.v3 commitment module and public exports. Do not modify
V2AuditBlock, AuditHashInput, VersionedStore, or any format reader or
writer.cargo fmt --all --check, cargo clippy --workspace --all-targets, and
cargo test --workspace all pass.This slice adds no EpisodeBlock domain schema, COSE or Ed25519 signature,
selective write gate, evidence scoring, retention/deletion implementation,
gateway RPC, migration, reader cutover, DurableStore access, network call, or
production write. Passing tests is C1 source/contract evidence only. It is not
replay, recovery, cross-language, live-provider, Discord, hosted, or production
evidence.