beefcake: hold impermanence flip OFF pending dbus-loop fix #725

Closed
lytedev wants to merge 1 commit from hold-impermanence-flip into main
Owner

URGENT — merge to make main safe to deploy to beefcake again.

The 2026-07-08 impermanence activation booted and CORRECTLY cleared initrd (the @blank rollback + /persist mount both worked — the risky mechanism is sound). But the full beefcake service graph on the ephemeral root sent dbus-broker into a crash-loop, which blocked NetworkManager → no network → boot never completed (~20min dark). Rolled back to gen 606 via the systemd-boot menu (old persistent root); beefcake is healthy, all core services up, boot default reset to 606.

This sets lyte.impermanence.enable = false so main can't redeploy the broken generation (the build-tier gate passes it — it's a runtime/boot failure, not a build failure). Everything else stays: the module, runbook, prototypes, and the staged datasets (@blank + rpool/persist, ~68G) for the retry.

Root cause + fix tracked separately: reproduce the dbus loop in an impermanence VM carrying beefcake's real dbus/NM surface (the minimal semantics prototype missed it — exactly the 'full-closure boot' gap the design doc flagged as untestable at dragon-scale), fix, prove, then re-attempt the flip.

🤖 Generated with Claude Code

https://claude.ai/code/session_01G7HHrn1sxz4ozvREyHmi4i

URGENT — merge to make main safe to deploy to beefcake again. The 2026-07-08 impermanence activation booted and CORRECTLY cleared initrd (the @blank rollback + /persist mount both worked — the risky mechanism is sound). But the full beefcake service graph on the ephemeral root sent dbus-broker into a crash-loop, which blocked NetworkManager → no network → boot never completed (~20min dark). Rolled back to gen 606 via the systemd-boot menu (old persistent root); beefcake is healthy, all core services up, boot default reset to 606. This sets lyte.impermanence.enable = false so main can't redeploy the broken generation (the build-tier gate passes it — it's a runtime/boot failure, not a build failure). Everything else stays: the module, runbook, prototypes, and the staged datasets (@blank + rpool/persist, ~68G) for the retry. Root cause + fix tracked separately: reproduce the dbus loop in an impermanence VM carrying beefcake's real dbus/NM surface (the minimal semantics prototype missed it — exactly the 'full-closure boot' gap the design doc flagged as untestable at dragon-scale), fix, prove, then re-attempt the flip. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01G7HHrn1sxz4ozvREyHmi4i
revert(beefcake): hold impermanence flip OFF pending dbus-loop fix
All checks were successful
/ check-format (push) Successful in 7s
/ build (push) Successful in 38m17s
24c9170d15
The 2026-07-08 activation booted and correctly cleared initrd (blank
rollback + /persist mount worked), but the full beefcake service graph on
the ephemeral root crash-looped dbus-broker, which blocked NetworkManager
-> no network -> boot never completed. Rolled back to gen 606 via the boot
menu (old persistent root); beefcake healthy, boot default reset to 606.

Set lyte.impermanence.enable = false so main can't redeploy the broken
generation. Module, runbook, prototypes, and the staged datasets (@blank,
rpool/persist) all stay for the retry once the dbus loop is reproduced and
fixed in a VM (the minimal semantics prototype didn't exercise dbus/NM —
the full-closure-boot gap flagged in the design doc).
lytedev closed this pull request 2026-07-08 16:34:59 -05:00
All checks were successful
/ check-format (push) Successful in 7s
Required
Details
/ build (push) Successful in 38m17s
Required
Details

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lytedev/nix!725
No description provided.