§23. Changes from v4
planarian @ a924e09 · Spec v4.6 · snapshot main · all versions
- §12: exclusive transaction ownership with lease epochs; worker fencing via pidfd and job draining; the watchdog may not commit before
Published; the daemon waits for a watchdog-held lease; I15 added; gym case for overlapping owners. - §9/§12: immutable staged source (NAR-hashed) evaluated with pure-eval; build before approval;
verify_candidatebefore activation; the token binds expectation, revert target, and recovery strategy;activate_liveandpublish_bootseparated;Published/Promotedjournaled; atomic-rename-plus-dir-fsync promotion; watchdog revert restores the override source; crash-recovery table. - §8/§9/§10:
ProbeRoleReadiness vs Diagnostic; side-effect probes are Diagnostic; status derivation puts definiteFailedabove Unknown; probe applicability follows the candidate’s authorized desired state, distinct from definition tampering. - §8/§9:
Condition::SessionEstablishedfrom logind replaces the circularAfterLogin; the session probe is the result, not the prerequisite. - §8/§12/§14:
StopAndSuppresscomposite; suppression journaled before stop; no post-hoc prompt; CLIStopUnitrewritten. - §11:
SO_PEERCREDauthentication; authorization rule separate from risk; actor fields overwritten; global floors for NonReversible and disruption apply to every transition kind. - §8/§9/§13:
Wantsedge kind preserved as weak; SCC-based root-causing for cycles. - §10/§12c: per-filesystem storage units; preallocated journal; ENOSPC behavior by state;
CollectGarbage { emergency };BudgetUnsatisfiable. - §12: read-only vs mutating backend calls;
Preparedon the Allow path; per-transitionRecoveryStrategy; Runtime outcomes never trigger generation reversion;restartIfChanged/stopIfChangedas the real self-protection mechanism. - §16:
accepted_baselinedistinct from boot-confirmedknown_good; initial enrollment; operational limits made normative. - §17a: progress assumptions stated for I12; fencing and idempotence added to the trusted-assumptions list.
- §12a, §14, §20, §21 made self-contained.