docs(backlog): #89 slice-1 tray inventory done; #76 unblocked by migration
Some checks failed
Check / eval (push) Failing after 1m37s

Tray SNI inventory run live on the T14s: nm-applet, udiskie, Telegram
and EasyEffects are name-based (icon-lookup overridable); Signal and
ZapZap publish pixmaps only (slice 3). Method: watcher's
RegisteredStatusNotifierItems + busctl get-property.

#76: the dev box now runs Nomarchy (migrated 2026-07-11), so the
'not a Nomarchy machine' blocker is gone — retagged [human]; queue
step 1 (swapfile/zram/resume_offset wiring) verified live, only the
power-cycle test remains.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-11 19:21:50 +01:00
parent c608f58b5a
commit dbc7741f58
2 changed files with 24 additions and 18 deletions

View File

@@ -28,11 +28,15 @@ in [`docs/ROADMAP.md`](../docs/ROADMAP.md); map in
## NEXT
### 76. Hibernation default — all agent work shipped `[blocked:hw]`
### 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 — 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
**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
@@ -62,12 +66,15 @@ blue (T14s V3, 2026-07-11); Signal / Telegram / ZapZap (all flatpaks on
the T14s) likely worse. Goal: every tray icon reads like part of the bar.
Slices:
1. **Inventory (V3-ish, cheap):** run each target app, read
`org.kde.StatusNotifierItem` `IconName` / `IconPixmap` / `IconThemePath`
off the bus (method proven 2026-07-11: watcher's
`RegisteredStatusNotifierItems` + `busctl get-property`). Name-based →
overridable via icon lookup; pixmap-based → *not* themable from outside
(needs a per-app knob/patch). Record the split in the item.
1. **Inventory — DONE (T14s live session, 2026-07-11):**
| app | IconName | pixmap? | verdict |
|---|---|---|---|
| nm-applet | `nm-signal-*` (state-varying) | no | **name-based** — override the `nm-*` family |
| udiskie | `drive-removable-media-usb-panel` | no | **name-based** |
| Telegram | `org.telegram.desktop[-mute/-attention]-symbolic` | yes (fallback) | **name-based** — ship all state names |
| Signal | `Signal_status_icon_1` (generated, not a real theme name) | yes | **pixmap** — slice 3 |
| ZapZap | *(empty)* | yes | **pixmap** — slice 3; check its own tray-style setting first |
| EasyEffects 8 | `com.github.wwmm.easyeffects` (prior T14s finding) | — | **name-based**; NB `--gapplication-service` alone registers no SNI |
2. **Override layer:** an HM-managed shadow icon dir that wins the XDG
lookup for the session icon theme (e.g. `xdg.dataFile
"icons/<theme-iconset>/…"` shadowing the store copy, or a

View File

@@ -219,16 +219,15 @@ the **T14s** (webcam case).
- [ ] **#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. **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
initrd unlock, so this triple needs hardware. **The dev box qualifies
since 2026-07-11**: TuringMachine (T14s) migrated to Nomarchy per
docs/MIGRATION.md — it now exercises Nomarchy's oom.nix/rofi wiring,
not just the layout.
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.
(**Verified on TuringMachine 2026-07-11**: swapfile 34G file-type,
zram0 prio 100, `resume_offset=533760`.)
2. Open apps, note an unsaved in-RAM state. `nomarchy-menu → Power →
Hibernate` (or `systemctl hibernate`). Machine writes image, **powers
off**.