Summary
Implement the core reservation-core lifecycle and prove that live apply and replay produce the same results.
Scope
CreatePool
PlaceHold
ConfirmHold
ReleaseHold
- operation dedupe and conflict detection
- snapshot/WAL replay through the same apply path
Acceptance
- duplicate retry returns cached result
- conflicting
operation_id reuse returns conflict
- deterministic invalid-state rejection
- replay equivalence holds across crash/restart boundaries
Canonical docs
- docs/reservation-engine-plan.md
- docs/reservation-semantics.md
Blocked by
- M11 umbrella issue
- M11-T02