diff --git a/agent/BACKLOG.md b/agent/BACKLOG.md index 1f71e6f..85e8dfb 100644 --- a/agent/BACKLOG.md +++ b/agent/BACKLOG.md @@ -30,9 +30,10 @@ in [`docs/ROADMAP.md`](../docs/ROADMAP.md); map in ### 76. Hibernation default — all agent work shipped `[blocked:hw]` Hibernation + zram on by default (product intent, Bernardo 2026-07-10). -**All V0/V1/V2 slices done** (2026-07-10); only the V3 laptop check remains -(HARDWARE-QUEUE → "AMD dev box"). Design record in **ROADMAP § Hibernation + -zram by default**. Shipped: +**All V0/V1/V2 slices done** (2026-07-10); only the V3 check remains — on a +machine **actually running Nomarchy** (the dev box runs Bernardo's own NixOS, +not Nomarchy, so it can't close it). 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. diff --git a/agent/HARDWARE-QUEUE.md b/agent/HARDWARE-QUEUE.md index 32341bb..7476b01 100644 --- a/agent/HARDWARE-QUEUE.md +++ b/agent/HARDWARE-QUEUE.md @@ -290,27 +290,33 @@ that run; leftover open items still need a pass.* screenshot loaded. Check that the UI draws on the current theme palette (tools colored properly) and hitting save places the screenshot in `~/Pictures/Screenshots/` while hitting copy places it in the clipboard. -- [ ] **#76 hibernate→resume on the real LUKS+@swap layout** — the V2 VM test +- [ ] **#76 hibernate→resume on a real Nomarchy install** — the V2 VM test proves the resume mechanism + zram coexistence, but QEMU can't feed a boot-time `resume_offset` for a btrfs *swapfile* nor drive the LUKS - initrd unlock, so this triple needs hardware (dev box already runs it: - LUKS mapper `cryptroot`, btrfs `@`, `/swap/swapfile`). - 1. Confirm the layout: `swapon --show` lists `/swap/swapfile` (Type file) - **and** `/dev/zram0` at priority 100; `cat /proc/cmdline` shows - `resume_offset=…`; `nixos-option boot.resumeDevice` is the btrfs UUID. - 2. Open apps, note an unsaved in-RAM state (e.g. a terminal `echo` scroll, - an editor buffer). Run `nomarchy-menu → Power → Hibernate` (or - `systemctl hibernate`). Machine writes the image and **powers off**. - 3. Power on: you unlock LUKS **once** in the themed prompt and land back - in the **same session** — windows/state restored, not a fresh login. - 4. **Pass** = session restored after a full power-off + single unlock. + initrd unlock, so this triple needs hardware. **Requires a machine + actually running Nomarchy** (installer default swap = RAM), NOT the dev + box — that box runs Bernardo's own NixOS (TuringMachine, 25.11); its + layout resumes fine (verified 2026-07-10) but that only corroborates + the *layout*, not Nomarchy's oom.nix/patch-template/rofi wiring. + Candidate: a fresh Nomarchy install on a Latitude, or the dev box + *after* migrating to Nomarchy (docs/MIGRATION.md). + 1. Confirm the wiring on the Nomarchy box: `swapon --show` lists + `/swap/swapfile` (Type file) **and** `/dev/zram0` at priority 100; + `cat /proc/cmdline` shows `resume_offset=…` + `resume=` the btrfs UUID. + 2. Open apps, note an unsaved in-RAM state. `nomarchy-menu → Power → + Hibernate` (or `systemctl hibernate`). Machine writes image, **powers + off**. + 3. Power on: unlock LUKS **once** in the themed prompt; land back in the + **same session** — state restored, not a fresh login. + 4. **Pass** = session restored after full power-off + single unlock. Fail (fresh boot / stuck initrd) → NOW bug in BACKLOG (capture `journalctl -b -1 | grep -i -E 'hibernat|resume|swap'`). -- [ ] **#76 no-swap Hibernate notify** — on a machine installed with `swap = 0` - (or temporarily `sudo swapoff -a`): `nomarchy-menu → Power → Hibernate` - must surface a desktop notification ("Couldn't hibernate — likely no - swap is configured. See docs/MIGRATION.md → Enabling hibernation."), - **not** a silent no-op. (`swapon` after, if you swapoff'd for the test.) +- [ ] **#76 no-swap Hibernate notify** — on a **Nomarchy** machine installed + with `swap = 0` (or temporarily `sudo swapoff -a` on one): `nomarchy-menu + → Power → Hibernate` must surface a desktop notification ("Couldn't + hibernate — likely no swap is configured. See docs/MIGRATION.md → + Enabling hibernation."), **not** a silent no-op. (`swapon` after, if you + swapoff'd for the test.) ## AMD dev box only - [ ] **AMD runtime bits** — VA-API (`vainfo` → radeonsi), amd-pstate EPP