v1.0.0-alpha.1
Pre-release
Pre-release
NoKV is now a single-node, agent-native copy-on-write filesystem — "git for live, large, derived state." This first alpha consolidates the pivot from a distributed KV/DFS into a focused CoW workspace runtime for AI agents and ML pipelines.
Where git versions small text at dev time, NoKV gives snapshot / clone / diff / rollback over live filesystem namespaces (code + data + model weights) at runtime speed — O(metadata), not O(data) — and at scale.
Highlights
Copy-on-write workspace operations
snapshot— zero-copy MVCC version pin of a subtree (read-only, GC-protected).clone— writable fork; shares object blocks zero-copy (samegeneration→ same object keys); diverges on write (CoW); O(metadata). Spin up 100 agent workspaces off one base; each writes its own delta over shared blocks.diff—Added/Removed/Modifiedbetween two subtrees; unchanged shared files are skipped.rollback— revert a workspace to a prior snapshot via clone-from-snapshot + atomic graft (keeps inode identity); discarded delta becomes GC-reclaimable, restored blocks survive.- CLI:
nokv clone,nokv diff(snapshot/rollbackexposed at the service/RPC layer).
See docs/cow-workspaces.md.
Architecture
- Single-node metadata engine (Holt 0.5.4) — local hot path, no quorum, no Redis/TiKV round-trip.
- Object data on S3-compatible storage (RustFS / S3 via OpenDAL); 4 MiB block / 64 MiB chunk.
- Structural zero-copy object layout:
blocks/{mount}/{inode}/{generation}/{chunk}/{block}— forks share blocks by construction. - Durability ordering: object-first, metadata-atomic-after → a crash leaves GC-able orphan objects, never a dangling pointer.
- The distributed/Raft metadata layer was removed in favor of a focused single-writer-owner model (read-only snapshots are shared by many readers).
Correctness & performance
- Write path: ~213 MiB/s sequential (release build), durable —
closedrains to S3. - Six write-path correctness bugs root-caused and fixed (overlapping staged blocks from FUSE re-dispatch, manifest bloat past the metadata value limit, silent zero-fill on getattr, stale dentry CAS on mid-write setattr, body-wipe after chmod, xattr rejection).
- GC safety — the
owns_block_object_keyinvariant: an inode reclaims only blocks it minted; retained snapshot pins protect still-shared base blocks. - 322 tests passing;
clippy -D warningsclean.
Scope & boundaries
- Single-node: one writer-owner per workspace; many readers share snapshots.
- POSIX via FUSE (Unix-only).
- Not yet in this alpha: cloud sharding + owner leases, derivation lineage, branch/merge, a FUSE control surface for clone.
Distribution
GitHub release only — not published to crates.io. No crate version was changed.