docs(agent): correct #76 V3 scope — dev box isn't a Nomarchy install
All checks were successful
Check / eval (push) Successful in 4m20s
All checks were successful
Check / eval (push) Successful in 4m20s
The dev box runs Bernardo's own NixOS (TuringMachine, 25.11), not Nomarchy — so hibernating it tests that config's hibernate, not Nomarchy's oom.nix/patch-template/rofi wiring, and can't close #76's V3. Its layout (LUKS cryptroot + btrfs @ + /swap/swapfile + resume_offset) does resume, which corroborates the MIGRATION.md runbook, but nothing more. Rescope the two #76 HARDWARE-QUEUE entries to require a machine actually running Nomarchy (a Latitude install, or the dev box after migration), and fix the matching reference in the BACKLOG #76 stub. Verification: V0 (docs/agent-notes only). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -30,9 +30,10 @@ in [`docs/ROADMAP.md`](../docs/ROADMAP.md); map in
|
|||||||
|
|
||||||
### 76. Hibernation default — all agent work shipped `[blocked:hw]`
|
### 76. Hibernation default — all agent work shipped `[blocked:hw]`
|
||||||
Hibernation + zram on by default (product intent, Bernardo 2026-07-10).
|
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
|
**All V0/V1/V2 slices done** (2026-07-10); only the V3 check remains — on a
|
||||||
(HARDWARE-QUEUE → "AMD dev box"). Design record in **ROADMAP § Hibernation +
|
machine **actually running Nomarchy** (the dev box runs Bernardo's own NixOS,
|
||||||
zram by default**. Shipped:
|
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`.
|
- zram default (`modules/nixos/oom.nix`, zstd/50%/prio 100) — `checks.zram-swap`.
|
||||||
- Installer/template already default new installs to a RAM-sized encrypted
|
- Installer/template already default new installs to a RAM-sized encrypted
|
||||||
`@swap` swapfile + `resume_offset` wiring; `swapSize=0` = no-swap opt-out.
|
`@swap` swapfile + `resume_offset` wiring; `swapSize=0` = no-swap opt-out.
|
||||||
|
|||||||
@@ -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
|
screenshot loaded. Check that the UI draws on the current theme palette
|
||||||
(tools colored properly) and hitting save places the screenshot in
|
(tools colored properly) and hitting save places the screenshot in
|
||||||
`~/Pictures/Screenshots/` while hitting copy places it in the clipboard.
|
`~/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
|
proves the resume mechanism + zram coexistence, but QEMU can't feed a
|
||||||
boot-time `resume_offset` for a btrfs *swapfile* nor drive the LUKS
|
boot-time `resume_offset` for a btrfs *swapfile* nor drive the LUKS
|
||||||
initrd unlock, so this triple needs hardware (dev box already runs it:
|
initrd unlock, so this triple needs hardware. **Requires a machine
|
||||||
LUKS mapper `cryptroot`, btrfs `@`, `/swap/swapfile`).
|
actually running Nomarchy** (installer default swap = RAM), NOT the dev
|
||||||
1. Confirm the layout: `swapon --show` lists `/swap/swapfile` (Type file)
|
box — that box runs Bernardo's own NixOS (TuringMachine, 25.11); its
|
||||||
**and** `/dev/zram0` at priority 100; `cat /proc/cmdline` shows
|
layout resumes fine (verified 2026-07-10) but that only corroborates
|
||||||
`resume_offset=…`; `nixos-option boot.resumeDevice` is the btrfs UUID.
|
the *layout*, not Nomarchy's oom.nix/patch-template/rofi wiring.
|
||||||
2. Open apps, note an unsaved in-RAM state (e.g. a terminal `echo` scroll,
|
Candidate: a fresh Nomarchy install on a Latitude, or the dev box
|
||||||
an editor buffer). Run `nomarchy-menu → Power → Hibernate` (or
|
*after* migrating to Nomarchy (docs/MIGRATION.md).
|
||||||
`systemctl hibernate`). Machine writes the image and **powers off**.
|
1. Confirm the wiring on the Nomarchy box: `swapon --show` lists
|
||||||
3. Power on: you unlock LUKS **once** in the themed prompt and land back
|
`/swap/swapfile` (Type file) **and** `/dev/zram0` at priority 100;
|
||||||
in the **same session** — windows/state restored, not a fresh login.
|
`cat /proc/cmdline` shows `resume_offset=…` + `resume=` the btrfs UUID.
|
||||||
4. **Pass** = session restored after a full power-off + single unlock.
|
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
|
Fail (fresh boot / stuck initrd) → NOW bug in BACKLOG (capture
|
||||||
`journalctl -b -1 | grep -i -E 'hibernat|resume|swap'`).
|
`journalctl -b -1 | grep -i -E 'hibernat|resume|swap'`).
|
||||||
- [ ] **#76 no-swap Hibernate notify** — on a machine installed with `swap = 0`
|
- [ ] **#76 no-swap Hibernate notify** — on a **Nomarchy** machine installed
|
||||||
(or temporarily `sudo swapoff -a`): `nomarchy-menu → Power → Hibernate`
|
with `swap = 0` (or temporarily `sudo swapoff -a` on one): `nomarchy-menu
|
||||||
must surface a desktop notification ("Couldn't hibernate — likely no
|
→ Power → Hibernate` must surface a desktop notification ("Couldn't
|
||||||
swap is configured. See docs/MIGRATION.md → Enabling hibernation."),
|
hibernate — likely no swap is configured. See docs/MIGRATION.md →
|
||||||
**not** a silent no-op. (`swapon` after, if you swapoff'd for the test.)
|
Enabling hibernation."), **not** a silent no-op. (`swapon` after, if you
|
||||||
|
swapoff'd for the test.)
|
||||||
|
|
||||||
## AMD dev box only
|
## AMD dev box only
|
||||||
- [ ] **AMD runtime bits** — VA-API (`vainfo` → radeonsi), amd-pstate EPP
|
- [ ] **AMD runtime bits** — VA-API (`vainfo` → radeonsi), amd-pstate EPP
|
||||||
|
|||||||
Reference in New Issue
Block a user