This file is the top-level engineering overview for the design.
For the detailed design docs, read:
- Semantics and API
- Alpha API
- Architecture
- Fault Model
- Lease Kernel Design Decisions
- Lease Kernel Follow-On
- Replication Notes
- Roadmap
- Work Breakdown
- Spikes
- Storage and Recovery
- Implementation Rules
- Testing Strategy
- AllocDB Principles
The first implementation target is intentionally narrow:
- single process
- single shard
- single writer and executor thread
- WAL plus snapshot recovery
- deterministic TTL expiration through logged events
- The WAL is the source of truth.
- Only the executor mutates allocation state.
- Every state transition must be replayable from persisted input.
- The state machine must not read wall-clock time, randomness, or thread interleavings.
- Every hot-path structure has an explicit bound.
- The trusted core targets allocation-free steady-state execution after startup.
Current implementation anchor:
crates/allocdb-corecontains the trusted-core allocator and durability logiccrates/allocdb-nodecontains the first in-process single-node submission wrapper
- semantics.md: domain model, identifiers, invariants, commands, retention
- api.md: transport-neutral alpha request/response surface and wire error schema
- architecture.md: single-node pipeline, logical time, bounds, scheduler
- fault-model.md: crash, clock, storage, and bounded-overload assumptions
- lease-kernel-design.md: concrete local
M9design direction for first-class leases, bundle ownership, fencing, and revoke - lease-kernel-follow-on.md: post-
M8planning for minimal generic lease-kernel extensions such as bundle ownership, fencing, and revoke - revoke-safety-slice.md: exact
M9-T08scope for revoke, reclaim, and safe-reuse behavior in the current implementation - replication.md: deferred distributed design areas and boundaries
- roadmap.md: high-level roadmap and exit criteria
- work-breakdown.md: concrete units of work for the first implementation
- spikes.md: bounded throwaway experiments for implementation uncertainty
- storage.md: WAL, snapshots, recovery
- implementation.md: Rust memory policy, dependency policy, assertions
- testing.md: simulation, replay, property tests, Jepsen gate for replication