mkit-core
Content-addressed VCS primitives for mkit: BLAKE3 hashing, canonical objects, refs, packs, and the transport trait every backend implements.
The byte layout this crate produces is defined, normatively, in
docs/specs/SPEC-OBJECTS.md (version 0x01, magic "MKT1") — any change here
must update the spec in the same PR. The crate depends only on std: no
serde, no anyhow, no panics on unchecked input.
What's in here
hash/object— BLAKE3 hashing and the canonical v1 byte encoding for blobs, trees, commits, remixes, and chunked blobs.pack/index— packfile format and the index over it.refs— ref storage semantics shared by every transport.store— the on-disk object store (worktree,.mkit/layout,ignore,repo_lock).sign— Ed25519 signing/verification for commits and remixes (seedocs/specs/SPEC-SIGNING.md).protocol— theTransporttrait (list_refs,read_ref,write_ref,pack_exists,download_pack,upload_pack) everymkit-transport-*crate implements.chunker/delta—FastCDCcontent-defined chunking and delta encoding for large blobs.ops— the higher-level repository operations (commit,merge,rebase,cherry-pick, …)mkit-clidrives.
Optional features (history-mmr, sparse-checkout, pack-shards) gate
heavier commonware-*-backed paths — see the crate's Cargo.toml for what
each pulls in.