Distributed Lock Service · View 17 of 26 · 5 · Runtime
Decisions
- Every class declares enforcement (fenced or advisory) and quorum-loss posture (closed or open). Neither has a default; the class schema rejects a file that omits them.
- Correctness classes are always fail-closed. Fail-open exists only for efficiency classes, and every grant issued while open carries token zero and an unprotected flag in the audit record.
- The platform claims mutual exclusion only in the top lane. For the other two it claims ordered grants and nothing more, and the documentation says exactly that.
How fail-open works without the log
- When the quorum is unreachable, an arbiter may grant an efficiency-class key from its own memory, spooled to a local write-ahead file. The spool ships to the audit store on recovery as the reconciliation list.
- Phase 3 only. The MVP is fail-closed for every class.
Assumptions
- Most classes in a real estate turn out to be efficiency classes: cache warmers, report generators, deduplicating schedulers. The posture is worth declaring precisely because it is usually the cheap one.