Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

I1 · A boot-confirmed known-good generation always exists, is bootable, and is in the boot menu

planarian @ a924e09 · Spec v4.6 · snapshot main · all versions

A boot-confirmed known-good generation always exists, is bootable, and is in the boot menu; an accepted_baseline never replaces it there. It may lag the security floor until the floor generation is boot-confirmed (§12e); it is then a manual fallback, never an automatic one.

— SPEC §7

StatusProof phased:aGym
Tested, not provedD0 : 2 (baseline 0 : 2, not degraded)3 entries, 2 must-pass

How it is proved

No obligation discharges it: nothing about it is proved.

What it rests on

If any of these is false, the proof no longer describes the real machine.

IdAssumptionKindAlso relied on by
P3publish_boot and the override promotion rename are idempotentPlatformI16, I23
P8The kernel and systemd are correctPlatformI2, I3, I9, I17, I20, I22

How it is tested

EntryHarnessWhat it doesExpectsLatest verdict
boot-only-kernel-boot-failsfakeThe same change, but the one-shot boot fails; the boot loader falls back to the default (the base), and the transaction is Reverted.boot_default: base; generation: base; txn: ApplyChangefake: PASS
desktop-boot-fails-rollbackvmA committed change that touches only boot (a kernel parameter) becomes live_tested but not known_good. After a reboot the greeter fails; the boot is not confirmed, Rollback goes to known_good, and after a second reboot the desktop works.boot_default: known_good; generation: known_good; known_good: unchanged; reports: NotBootConfirmed; txn: Committed Rollback; units: service:display-manager RunningVM: not run in this build
floor-revert-blockedfakeA security update (gym-vulnlib 1.0 → 1.1, the old build carries knownVulnerabilities) commits and raises the floor. gym-web then crashes and fails every restart. The only rollback target, known_good, is below the floor: no Rollback runs, the incident escalates with RevertBlockedByFloor, and the boot default stays at the floor.boot_default: candidate; escalation: RevertBlockedByFloor; generation: candidate; incident: service:gym-web; invariants: I1, I16; security_floor: candidate; txn: Committed ApplyChange, Rollbackfake: PASS

Also tested by exec::tests (vm-generations).

Known limits

BypassRouteSeverityStatusCloses in
X-1Root edits the store, /boot, the binaries, the journal or the posture stateAcceptedAcceptedE
X-2A nixos-rebuild outside PlanarianAcceptedAcceptedC
X-4Physical accessAcceptedAcceptedE
X-6The supply chain: nixpkgs content, cache signatures, input-addressed store pathsAcceptedAccepted—
X-7Backends report success falsely; systemd or the kernel misbehave (P1, P6, P8)AcceptedAcceptedD, E

History

SpecChange
v4Restored principles (now 12) and invariants (I1–I14) that v3 referenced but omitted
v4.4I1 and I6 clarified against the floor and waiting transactions

See also

§12e