@@ -3,27 +3,14 @@
Everything shipped at V1/V2 whose final verification needs real hardware.
Agents **append ** (newest at the bottom of a section) with exact steps;
Bernardo runs them and either checks off (`[x]` + date + verdict) or files
the failure as a NOW bug in BACKLOG.md. Machines: the **AMD dev box **
(Ryzen AI laptop: AMD + fingerprint + NPU), the **Latitude 5310/5410 **
(Intel QA — 2026-07-10 session on **5310 ** ), the **T14s ** (webcam case).
the failure as a NOW bug in BACKLOG.md. Checked-off entries are **pruned **
on the next sync sweep (LOOP.md §5) — outcomes live in the journal/ROADMAP;
git history is the archive. Machines: the **AMD dev box ** (Ryzen AI
laptop: AMD + fingerprint + NPU), the **Latitude 5310/5410 ** (Intel QA),
the **T14s ** (webcam case).
## Any machine (dev box is fine)
*2026-07-10 Latitude 5310 session (Bernardo) — ticks below marked PASS from
that run; leftover open items still need a pass.*
- [x] **Unfree CLI default (2026-07-10) ** — PASS (Bernardo, Latitude).
- [x] **Waybar icon+percentage spacing (2026-07-10) ** — PASS after double-pad
(volume high / keyboard / battery no longer kiss text; unified clock).
- [x] **Calendar on unified clock (2026-07-10) ** — PASS (Bernardo).
- [x] **Rofi menu case-insensitive filter (2026-07-10) ** — PASS: SUPER+M
`sys` → System; apps/drun already fine.
- [x] **Charge-limit live apply (2026-07-10) ** — PASS after Custom type fix
(`45c584d` ): menu 60/90/80 writes sysfs; toast; no rebuild needed.
Adaptive was ignoring the cap while reporting end=80.
- [x] * * #41 float classes** — PASS polkit float+same-ws (Latitude); portal
rules shipped (`xdg-desktop-portal-gtk` ). OpenFile file-picker confirmed
floating on hardware (Bernardo, 2026-07-10) — #41 fully closed.
- [ ] * * #55 fingerprint enroll on real reader** — with
`nomarchy.hardware.fingerprint.enable` and a physical reader: System ›
Fingerprint › Enroll a finger; List shows it; Verify succeeds; optional
@@ -34,7 +21,8 @@ that run; leftover open items still need a pass.*
charge-limit oneshot writes the threshold, System › Battery limit
and Power profile rows appear, Waybar power-profile module shows,
doctor charge-limit section runs. On `BAT0` -only machines this is
a no-op (already covered by existing charge-limit re-apply item).
a no-op (charge-limit re-apply passed on `BAT0` — Latitude
2026-07-10).
- [ ] **btop theme fidelity (#52 residual) ** — softGL theme-shot cannot
open Ghostty, so the hand `btop.theme` assets were only guest-file
asserted (main_bg / inactive_fg keys) + desktop/bar rendered for
@@ -43,9 +31,6 @@ that run; leftover open items still need a pass.*
confirm backgrounds/text match the theme (esp. rose-pine Dawn light
bg `#faf4ed` , vantablack near-black `#0d0d0d` , catppuccin Mocha
`#1E1E2E` ). One pass cycling those five is enough.
- [x] **Battery charge limit re-apply on unplug ** — PASS (Latitude
2026-07-10): with limit 80, unplug ~3s + plug; sysfs stays 80
(delayed oneshot + Custom type).
- [ ] **SSH_AUTH_SOCK for GUI clients ** — after relogin, launch a GUI git
client (or `rofi` -launched terminal-less app) and confirm it reaches
gpg-agent's SSH socket without an interactive shell parent.
@@ -58,17 +43,6 @@ that run; leftover open items still need a pass.*
own bell-off glyph, executive-slate/boreal use ). The glyph itself
already renders (DND uses it); this only confirms swaync emits the
`inhibited-*` class and the bar routes it.
- [x] **Night-light full cycle ** — first menu enable rebuilds + hyprsunset
starts; later toggles are instant (no rebuild); an * off * survives
reboot (ExecCondition); stopping hyprsunset restores gamma.
— 2026-07-04 Bernardo: PASS enable/disable on hardware
(off-survives-reboot + gamma-restore not explicitly checked).
- [x] **Auto-timezone ** — enable from the menu; confirm geoclue finds the
zone, `/etc/localtime` updates, and the Waybar clock refreshes
(SIGUSR2 watcher) — also after a manual `timedatectl set-timezone` .
— 2026-07-04 Bernardo: PASS — enabled from the menu, `timedatectl`
shows Europe/London (the manual set-timezone re-trigger wasn't
exercised).
- [ ] **Keyboard layout cycle bind ** — with a comma layout (e.g.
`nomarchy.keyboard.layout = "us,de"` ), SUPER+SHIFT+K cycles the
focused keyboard's layout, the Waybar `` indicator follows, and
@@ -76,10 +50,8 @@ that run; leftover open items still need a pass.*
no comma layout was configured, so the bind wasn't rendered (the
gate working as designed, not a failure) — retest after setting a
comma layout + rebuild + relogin. The SUPER+? no-op found en
route IS a real bug → BACKLOG item 26 (fix shipped — see the
dedicated SUPER+? entry below ).
- [x] **SUPER+? opens the cheatsheet ** (item 32 re-fix) — PASS (Latitude
2026-07-10): SUPER+? opens cheatsheet; row shows `SUPER + ?` .
route was a real bug → BACKLOG item 26 (fix shipped; SUPER+?
cheatsheet PASS on Latitude 2026-07-10 ).
- [ ] **swaync readable on summer-day ** (item 25 fix) — on summer-day
after `home-update` : `notify-send "title" "body text"` shows
readable body text; open the control centre (SUPER+N), hover a
@@ -99,42 +71,15 @@ that run; leftover open items still need a pass.*
(SUPER+? / root menu › Keybindings) now ends in ↩ Back and
returns to the root picker; spot a couple of submenus (Display,
VPN › Tailscale) still Back correctly after the audit pass.
- [x] **Network menu has no blank rows ** (item 22 fix) — PASS (Latitude
2026-07-10 Round 4): Tools › Network, no empty separator rows.
Residual hidden-SSID nameless row still possible (not a config bug).
- [ ] **Keyboard hotplug picker (re-verify after in-flake graduation) ** —
plug an external keyboard post-login, pick a layout in rofi, confirm
it applies per-device only, persists in `settings.keyboard.devices` ,
and graduates into a `device{}` block on the next rebuild.
- [x ] **Snapshots restore/ rollback** — ⚠ PRECONDITION: update to main ≥
a47aa3a and RELOGIN first (the polkit agent starts with the session).
Bernardo's 2026-07-04 Latitude findings 5/6 ("btrfs-assistant still
crashes", "menu snapshots shows nothing") match the PRE-fix behavior
exactly: no agent → pkexec fails silently (= menu does nothing), and
a direct unprivileged run crashes (= the libbtrfsutil bug). If either
still reproduces ON THE FIXED BUILD after relogin, reopen BACKLOG
item 4 as [stuck]. Then: `nomarchy-menu snapshot` now opens
the **btrfs-assistant GUI ** : a * themed * polkit prompt must appear
(hyprpolkitagent — first on-hardware outing) and the GUI must open
as root. Also exercise the fzf fallback in a terminal
(`sudo nomarchy-snapshots` ): browse/diff, restore a file
(`undochange` ), and a root-config rollback behind the typed-`yes`
gate. Bonus check: any other pkexec flow now prompts instead of
silently failing. — 2026-07-04 Bernardo: PASS on the fixed build —
polkit prompt appears, GUI opens as root, fzf fallback works.
Restore/rollback not exercised → residual item below.
- [ ] **Snapshots restore + rollback exercise ** (residual from the item
above — the GUI/polkit half passed 2026-07-04): in
- [ ] **Snapshots restore + rollback exercise ** (residual — the
GUI/polkit half passed on hardware 2026-07-04, a47aa3a): in
`sudo nomarchy-snapshots` , restore a single file (`undochange` )
and walk a root-config rollback up to (or through) the
typed-`yes` gate.
- [x] **Caffeine toggle (item 13 slice) ** — PASS (Latitude 2026-07-10):
bar cup toggles ↔; idle hold smoke OK (full 5‑ min lock wait not
re-timed this session).
- [x] **Screen recording (item 12) ** — PASS (Latitude 2026-07-10 Round 3):
region/screen record → playable mp4; bar ⏺; click ⏺ stops.
- [x] **Doctor (item 10) ** — PASS (Latitude 2026-07-10 Round 4): System ›
Doctor sheet opens; healthy machine mostly ✔/– .
- [ ] **Rollback menu (item 9b) ** — after a couple of theme changes,
menu › System › Rollback: recent desktop generations listed
(newest marked current); picking an older one opens a terminal,
@@ -162,14 +107,6 @@ that run; leftover open items still need a pass.*
- [ ] **Visual theme pass ** — live ISO: all six identity themes (bars) +
the four authored rofi `.rasi` (nord/retro-82/lumon/kanagawa) look
right, not just parse.
- [x] **Auto-commit on a real machine ** — System › Auto-commit toggles on
(row shows state, notification fires); a theme apply from SUPER+T then
shows a `nomarchy: apply theme …` commit in `~/.nomarchy` (`git log` );
unrelated dirty files in the checkout stay uncommitted; toggle off is
itself the last commit. Also: the "Auto timezone (on/off)" row label
now reflects the real state (the `= true` comparison fix).
— 2026-07-04 Bernardo: PASS — theme changes committed and the
toggle self-committed.
- [ ] **Display profiles, slice a (item 15) ** — declare two
`nomarchy.displayProfiles` (e.g. docked disables eDP-1 + arranges
the externals; undocked re-enables it), `home-update` , then:
@@ -204,9 +141,6 @@ that run; leftover open items still need a pass.*
(tooltips, fastfetch labels) is visible on summer-day +
flexoki-light, kanagawa floats are lighter than the bg (upstream
sumiInk4). Anything that reads worse than before → reopen 28b.
- [x] **Clock zone tooltip ** — PASS (Bernardo, Latitude 2026-07-10):
hover shows date + zone (single chrono block fix `0834038` ); calendar
is click-to-calcurse, not in the tooltip.
- [ ] **Doctor bar tripwire (LATER item) ** — with everything healthy
the bar shows nothing; `systemctl --user start doomed` -style
induced failure → within ~5 min a red appears (tooltip lists
@@ -246,30 +180,10 @@ that run; leftover open items still need a pass.*
draining. (Crossing logic VM-verified — this checks the real
swaync rendering in a session.)
- [x] **Battery charge-limit toggle ** (iteration #55 / menu path) — PASS
(Latitude 2026-07-10): Power + System Battery limit presets write
state + sysfs (Custom type). Gum control-center path not re-checked
(limit moved to rofi).
- [x] **Waybar hides under fullscreen video ** (item 30) — PASS (Latitude
2026-07-10): fullscreen video covers bar; exit restores.
- [x] **Battery limit in rofi System ** (iteration #64 , item 36a) — PASS
(Latitude 2026-07-10): presets apply live; sysfs matches.
- [x] **Config dialogs float ** (item 41 residual) — PASS (Latitude
2026-07-10 Round 4): polkit + config dialogs float; portal rule
shipped; OpenFile file-picker confirmed floating on hardware
(Bernardo, 2026-07-10) — #41 fully closed.
- [x] **Right-click volume → floating mixer ** (iteration #62 , item 35) —
PASS (Latitude 2026-07-10): pwvucontrol floats+centered after
packaging with waybar.
- [x] **Window focus on arrows ** (iteration #61 ) — PASS (Latitude
2026-07-10): SUPER+arrows move focus; SUPER+? shows them.
- [ ] **Audio opens in Amberol ** (iteration #60 , item 37) — after
`nomarchy-home` : double-click an mp3/flac/ogg (or `xdg-open song.mp3` )
→ it opens in Amberol, not mpv; video files still open in mpv.
(`xdg-mime query default audio/mpeg` → io.bassi.Amberol.desktop.)
- [x] **Capture-to-file keybinds ** (iteration #59 , item 38) — PASS
(Latitude 2026-07-10): Print / SHIFT+Print / CTRL+Print + Capture
menu; clipboard path toasts after fix.
- [ ] **rofi menu polish ** (iteration #58 , item 39 + #56/ #57 34/40) —
after `nomarchy-home` : (a) menu › System › Power profile shows a
colored icon per profile (performance/balanced/power-saver), not
@@ -277,13 +191,6 @@ that run; leftover open items still need a pass.*
shows a single arrow, no double; (c) on this single-monitor box,
System › Display → pick a resolution → Back returns to System
(not back into the same resolution list).
- [x] **Combined power menu ** (iteration #67 , item 36b) — PASS (Latitude
2026-07-10 A1/A2): battery + power-profile icons open same Power
menu; profile switch + charge limit work.
- [x] **Calendar on the unified clock click ** (iteration #68 + 2026-07-10
bar polish) — PASS (Bernardo, Latitude 2026-07-10): unified clock,
calcurse floats centered.
- [ ] **Screenshot annotation (satty) ** (iteration #73 ) — after `nomarchy-home` :
hit SUPER+SHIFT+Print (or Tools ▸ Capture ▸ Annotate region) → a region
select (slurp) appears, then the `satty` UI opens in fullscreen with the
@@ -333,20 +240,6 @@ that run; leftover open items still need a pass.*
hardware-only.)
## Latitude 5310 / 5410 only
- [x] **Waybar theme-switch resilience** (finding #1 re-test, needs main ≥
the supervisor commit + relogin) — switch themes repeatedly (incl.
summer-day/night whole-swaps): the bar restarts cleanly each time;
if anything kills it, it's back within ~a second. ` pgrep -f
nomarchy-waybar` shows the supervisor. — 2026-07-04 Bernardo:
PASS — theme switches clean; pkill respawn so fast the bar never
visibly disappears.
- [x] **Media keys + gestures** (from dccceb4) — volume/brightness keys
drive the OSD; touchpad gestures work. — 2026-07-04 Bernardo:
PASS, volume/brightness keys and touchpad gestures all working.
- [x] **2026-07-10 Latitude 5310 QA batch** — PASS core desktop smoke
(charge Custom type, bar, menus, capture, polkit workspace, lifecycle
CLIs). Not a full v1 promotion gate — residual open items remain
above (themes eyeball, greeter, display profiles, Amberol, satty, …).
- [ ] **v1 QA batch on-hardware pass** (583708d batch was QEMU-verified) —
general smoke before the next ` main → v1` promotion (broader than
the 2026-07-10 session; include theme/ISO/greeter leftovers).