README.md

In docs/specs/ · At 619cbad

619cbadHistory

Preview

Text · 3.9 KiB

mkit specifications

The authoritative wire-format, on-disk, and subsystem specifications. Each spec carries its own status (stable / normative / draft) in its front matter.

FORMAL.md maps spec clauses to the formal models and proofs that check them, with each result's bounds.

  • SPEC-ATTESTATIONS — native attestations: in-toto v1 statements in DSSE envelopes.
  • SPEC-CONCURRENCY — the total mkit lock order across worktree, ref-history, and CAS locks.
  • SPEC-CONFIG-SECURITY — user-vs-repo config trust boundary and key classification rules.
  • SPEC-CONVENTIONS — shared vocabulary (RFC 2119 keywords, status vocabulary, encoding notation) for the SPEC-*.md corpus.
  • SPEC-DELTA — delta encoding for packfile objects.
  • SPEC-DISCLOSURE — partial-disclosure bundle (path/chunk/byte-range proofs) and the closure profile (full disclosure against a commit id).
  • SPEC-EXTERNAL-SIGNER — subprocess protocol for out-of-process signers (HSM, TPM, WebAuthn, …).
  • SPEC-FASTCDC — deterministic content-defined chunking for chunked blobs.
  • SPEC-GC — garbage collection, object pruning, and recovery.
  • SPEC-GIT-BRIDGE — mkit→git export bridge (fork mode) and its verifiers.
  • SPEC-GIT-IMPORT — git→mkit import bridge (one-way fork) and its verifiers.
  • SPEC-HISTORY-ORDER — bounded timestamp/discovery all-parent traversal order and reducer snapshot format.
  • SPEC-HISTORY-PROOF — MMB-based history proofs for light-client verification.
  • SPEC-HTTP-OBJECTS — HTTP object serving, published-view access, and disclosure proofs.
  • SPEC-INDEX — repo-local staging-area index (advisory, not exchanged).
  • SPEC-KEYSTORE — key vault interface, backends, and mkit key CLI surface.
  • SPEC-MERKLE-OBJECTS — merkelized ChunkedBlob and Tree object hashing.
  • SPEC-OBJECTS — on-disk object model and canonical serialization over BLAKE3 IDs.
  • SPEC-PACK-SHARDS — sharded pack production and transport delivery.
  • SPEC-PACKFILE — packfile wire format for object exchange.
  • SPEC-REFS — ref names, storage, and CAS update variants.
  • SPEC-RELEASE-THRESHOLD — BLS threshold signatures for release-party attestation.
  • SPEC-RPC — shared stdio protobuf framing for subprocess protocols.
  • SPEC-SERVER — draft server pipeline, durable outcomes and lifecycle events, storage leases, server GC, takedown notices, storage receipts, and authenticated remote-hook contract.
  • SPEC-SIGNING — commit / remix / tag signing hashes and verification.
  • SPEC-SPARSE-CHECKOUT — verifiable server-side sparse checkout over HTTP/S3.
  • SPEC-TRANSPORT — seven-verb transport wire protocol (file, SSH, HTTP [legacy, see SPEC-TRANSPORT-CONNECT], S3, memory).
  • SPEC-TRANSPORT-CONNECT — draft mkit.transport.v1 Connect service, the canonical remote protocol superseding SPEC-TRANSPORT §5.
  • SPEC-TRANSPORT-ENC — self-contained encrypted-stream transport (mkit+enc://; deprecated, no maintained server).
  • SPEC-WORKTREE — linked working trees: common-dir/per-tree state split, discovery, and cross-worktree locking.
  • SPEC-WRITE-GRANTS — draft owner-signed grants that let Ed25519 keys write to, or read from, a namespace's repositories.

Files