Files
Nomarchy/agent/HARDWARE-QUEUE.md
Bernardo Magri 0e6c678835 docs(agent): Latitude QA 2026-07-04 — media keys PASS, swaync contrast bug filed
- HARDWARE-QUEUE: media keys + touchpad gestures (dccceb4) checked off
  — verified working on the Latitude 5410 by Bernardo.
- BACKLOG item 25 (NOW): swaync text unreadable on summer-day. Traced:
  swaync.nix pairs @subtext on @base, but summer-day (and flexoki-light)
  use subtext as text-ON-surface (== base), and summer-day also has
  surface == text — self-colored body text and buttons.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 18:07:32 +01:00

92 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Hardware queue — V3 checks only a human can run
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 5410** (Intel
QA machine), the **T14s** (webcam case).
## Any machine (dev box is fine)
- [ ] **Battery charge limit re-apply on unplug** — `sudo nixos-rebuild
switch` with `power.batteryChargeLimit = 80`, physically unplug/replug
AC, confirm `charge_control_end_threshold` re-reads 80. (udev trigger
already VM-verified.)
- [ ] **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.
- [ ] **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.
- [ ] **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`.
- [ ] **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
the row shows in the SUPER+? cheatsheet.
- [ ] **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.
- [ ] **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.
- [ ] **Update awareness** — with `nomarchy.updates.enable`, let the timer
fire (or start the unit): indicator appears only when inputs are
behind, notification only on count growth, click opens the upgrade
flow.
- [ ] **VPN menu live paths** — import a real WireGuard `.conf` and an
`.ovpn` via System → VPN, toggle up/down (● / ○ state), and the
Tailscale block: up/down + exit-node without sudo (operator grant).
- [ ] **Printer menu** — with `nomarchy.services.printing`, System →
Printers opens system-config-printer; add a printer, test page.
- [ ] **GRUB UEFI ISO theme render** — boot the ISO on UEFI hardware:
composed splash background, palette menu in the lower third, accent
timeout bar.
- [ ] **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.
- [ ] **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).
## AMD dev box only
- [ ] **AMD runtime bits** — VA-API (`vainfo` → radeonsi), amd-pstate EPP
active and PPD switching governors; opt-ins: ROCm (`rocminfo`, a GPU
PyTorch/Ollama smoke) and the XDNA NPU driver loading.
- [ ] **Fingerprint** — `fprintd-enroll` + (opt-in PAM) login/sudo.
## Latitude 5410 only
- [ ] **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.
- [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.
- [ ] **v1 QA batch on-hardware pass** (583708d batch was QEMU-verified) —
general smoke before the next `main → v1` promotion.
## T14s only
- [ ] **Webcam IR-hide end-to-end on Nomarchy** — installer detects the
RGB+IR pair, bakes `hardware.camera.hideIrSensor`; `wpctl status`
shows one colour source; an app picker lists one camera; Howdy-style
direct `/dev/video2` reads still work.