mkit-core 0.4.1

Content-addressed VCS primitives for mkit: BLAKE3 hashing, canonical objects, refs, packs, and transport traits
Documentation

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 (see docs/specs/SPEC-SIGNING.md).
  • protocol — the Transport trait (list_refs, read_ref, write_ref, pack_exists, download_pack, upload_pack) every mkit-transport-* crate implements.
  • chunker / deltaFastCDC content-defined chunking and delta encoding for large blobs.
  • ops — the higher-level repository operations (commit, merge, rebase, cherry-pick, …) mkit-cli drives.

Optional features (history-mmr, sparse-checkout, pack-shards) gate heavier commonware-*-backed paths — see the crate's Cargo.toml for what each pulls in.