docs(agent): close #76 — hibernate→resume V3 PASSED on TuringMachine
Some checks failed
Check / eval (push) Failing after 1m31s
Some checks failed
Check / eval (push) Failing after 1m31s
Bernardo ran the real power-cycle on the T14s (LUKS + btrfs @swap swapfile): hibernate → power off → single LUKS unlock → session restored. BACKLOG #76 deleted; HARDWARE-QUEUE resume entry pruned (outcome recorded in the remaining no-swap-notify entry, JOURNAL, and the ROADMAP ✓-entry); Decisions hibernation note marked shipped. The no-swap Hibernate notify check remains the one open leftover. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -28,37 +28,6 @@ in [`docs/ROADMAP.md`](../docs/ROADMAP.md); map in
|
||||
|
||||
## NEXT
|
||||
|
||||
### 76. Hibernation default — all agent work shipped `[human]`
|
||||
Hibernation + zram on by default (product intent, Bernardo 2026-07-10).
|
||||
**All V0/V1/V2 slices done** (2026-07-10); only the V3 check remains.
|
||||
**Unblocked 2026-07-11:** the dev box (TuringMachine T14s) now RUNS Nomarchy
|
||||
(migrated per docs/MIGRATION.md) with exactly the target layout — step 1 of
|
||||
the queue entry verified live (`/swap/swapfile` file-type swapon, zram0 prio
|
||||
100, `resume=`+`resume_offset=` on cmdline). Remaining: Bernardo performs the
|
||||
power-cycle (hibernate → power off → single LUKS unlock → session restored) —
|
||||
steps in HARDWARE-QUEUE. Design record in
|
||||
**ROADMAP § Hibernation + zram by default**. Shipped:
|
||||
- zram default (`modules/nixos/oom.nix`, zstd/50%/prio 100) — `checks.zram-swap`.
|
||||
- Installer/template already default new installs to a RAM-sized encrypted
|
||||
`@swap` swapfile + `resume_offset` wiring; `swapSize=0` = no-swap opt-out.
|
||||
- `docs/MIGRATION.md` enable-hibernation runbook (existing machines).
|
||||
- `rofi.nix` Power → Hibernate: kept unconditional, **notifies on failure**.
|
||||
- `checks.hibernate` VM test (V2 PASS) — hibernate→resume→crash round-trip
|
||||
(swap partition); zram (prio 100) doesn't swallow the image, disk carries it.
|
||||
- `checks.hibernate-swapfile` VM test (V2 PASS) — the installer's btrfs `@swap`
|
||||
**swapfile** setup: NOCOW `mkswapfile`, file-type swapon, a valid
|
||||
`map-swapfile -r` offset the kernel accepts (`/sys/power/resume_offset`),
|
||||
zram above it. (Bounded proof of the swapfile+offset the partition test
|
||||
can't reach; a full runtime-swapfile hibernate isn't headless-reachable —
|
||||
systemd `CanHibernate=no` for undeclared swap.)
|
||||
|
||||
**V3 remaining (narrowed):** the literal encrypted-swapfile power-cycle —
|
||||
`Hibernate → power off → unlock LUKS → resume session` on the LUKS+@swap
|
||||
layout — plus the no-swap notify in a real session. QEMU can't feed a
|
||||
runtime-computed `resume_offset` into the boot cmdline, and the dev box runs
|
||||
exactly this layout (`/proc/cmdline` verified) but isn't Nomarchy. Steps in
|
||||
HARDWARE-QUEUE. Close #76 on PASS.
|
||||
|
||||
### 89. Tray icon parity — themed overrides for SNI apps (Bernardo 2026-07-11)
|
||||
The bar is monochrome; third-party tray icons aren't. EasyEffects 8's Qt
|
||||
SNI publishes IconName `com.github.wwmm.easyeffects` → Papirus full-color
|
||||
@@ -206,8 +175,8 @@ decide. **Resolved** entries stay for history; agents treat them as closed.
|
||||
|
||||
- **Hibernation** — **want by default** (product intent). Needs a
|
||||
disk-backed swap (file or partition) sized for resume; not zram alone.
|
||||
Implementation is a future/NEXT item when designed (installer +
|
||||
resume device + encrypted-root story).
|
||||
**Shipped as #76**; V3 power-cycle PASSED on TuringMachine 2026-07-12
|
||||
(ROADMAP § Hibernation + zram by default).
|
||||
|
||||
### Resolved (2026-07-10, #76 design)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user