remora/docs/protocol/RemoraFencing.cfg
ms2k a3f502f6b6 Weaken live progress to a coordination-only hint (IF-6).
Drop LiveProgressAligned in favor of well-formedness and lease-compatible
progress, stop durable CAS from clearing Redis progress, and add ambient
ClearStaleLiveProgress so TLC matches Postgres + Dragonfly separation.
2026-07-10 14:16:29 +09:00

40 lines
912 B
INI

SPECIFICATION SafetySpec
CHECK_DEADLOCK TRUE
\* Repeated fencing with delayed outcomes, lease loss, and replacement.
\* MaxAttempts=3 stresses token replacement; fault budgets kept at 1 for TLC size.
CONSTANTS
Jobs = {j1}
Workers = {w1, w2}
InitialWorkers = {w1}
NoJob = NoJob
NoWorker = NoWorker
MaxAttempts = 3
MaxProgress = 1
LeaseLimit = 1
LocalLimit = 1
GlobalLimit = 1
FaultsEnabled = TRUE
FaultServices = {"Coordination"}
MaxCoordLosses = 1
MaxPartitions = 1
INVARIANTS
TypeOK
StateConsistency
AllocatedTokensUsed
LiveProgressWellFormed
LiveProgressCompatibleWithLiveLease
AtMostOneLiveLeasePerJob
AuthorityWellFormed
CommittedResultConsistent
CancellationSafety
PermitSafety
ResumeValidity
StagingOwnership
PROPERTIES
TerminalStateIsImmutable
FencingTokensMonotonic
CommitIsFencedCAS