- Remove gitlinks (160000 mode) for chainfire, flaredb, iam - Add workspace contents as regular tracked files - Update flake.nix to use simple paths instead of builtins.fetchGit This resolves the nix build failure where submodule directories appeared empty in the nix store. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
907 B
907 B
KvCas contracts (strong consistency)
CompareAndSwap
- RPC:
kvrpc.KvCas/CompareAndSwap - Request:
namespace: string(empty =>default)key: bytesvalue: bytesexpected_version: uint64
- Response:
success: boolcurrent_version: uint64new_version: uint64
- Semantics:
- Allowed only for
strongnamespaces; returnsFailedPreconditionotherwise or when not leader (redirect required). - Proposes via Raft; state machine applies with LWW timestamp wrapper.
- Allowed only for
Get
- RPC:
kvrpc.KvCas/Get - Request:
namespace: string(empty =>default)key: bytes
- Response:
found: boolvalue: bytesversion: uint64
- Semantics:
- Allowed only for
strongnamespaces; returnsFailedPreconditionif not leader. - Reads versioned value (timestamp-prefixed) and returns decoded value plus version.
- Allowed only for