diff --git a/agent/BACKLOG.md b/agent/BACKLOG.md index 01219e0..01b5eb4 100644 --- a/agent/BACKLOG.md +++ b/agent/BACKLOG.md @@ -22,9 +22,21 @@ next, in what order*. ## NOW -*Items 21–25: real-hardware QA findings from the Latitude 5410 +*Items 21–26: real-hardware QA findings from the Latitude 5410 (Bernardo, 2026-07-04) — bugs found on metal outrank the queue.* +### 26. SUPER+? cheatsheet bind never fires on hardware +Reported (Latitude sweep #2): SUPER+? does nothing — the ? reaches the +focused terminal. Cause: keybinds.nix binds `$mod, question`, but +typing ? holds Shift, so Hyprland sees mods SUPER+SHIFT with keysym +`question` and its exact-modmask match skips a bind declaring SUPER +only (the "question already implies Shift" comment doesn't hold on +real input; headless V1/V2 never pressed the key). Fix: `$mod SHIFT, +question` (user-facing label stays SUPER+?); while there, audit the +bind list for other shifted keysyms (none today — letters carry +explicit SHIFT mods). **Verify:** V1 (rendered bind string in the HM +generation); V3 retest on the Latitude. + ### 25. swaync text unreadable on summer-day (light-theme contrast) Reported: on summer-day, notification/control-centre text is invisible (contrast). Root cause (traced 2026-07-04): swaync.nix renders `.body` @@ -211,6 +223,22 @@ earns ≥3 entries — keep the root at six. *Agents: append here with a one-paragraph pitch (what/why/cost). Do not implement. Bernardo moves accepted items into a tier.* +- **Menu parity for downstream-flake options** (raised by Bernardo, + 2026-07-04, from the hardware sweep): anything the docs or the + hardware queue ask a user to *hand-edit into the downstream flake* + (`keyboard.layout` multi-layout, `power.batteryChargeLimit`, + `updates.enable`, `services.printing`, …) should have a menu toggle + instead — the in-flake-state philosophy already gives the menu a + write-into-the-flake path, and night-light / auto-timezone / + auto-commit prove the pattern (incl. rebuild-on-first-enable). + Pitch: (a) an audit listing every user-facing `nomarchy.*` option vs + its menu surface; (b) menu writers for the gaps, respecting the + toggle-vs-package discipline (bare template packages stay hand-edits) + and menu-placement convention (right submenu, root stays short). + Values beyond booleans (layout lists, charge thresholds) need a small + input UI per option. Cost: audit is one iteration; the writers a few + more, sliceable per option. + - **Portal/Flatpak camera picker still lists the internal IR sensor** (ROADMAP § Webcam follow-up). The shipped IR-hide is a *WirePlumber v4l2* rule, but Flatpak/portal apps consume cameras via the diff --git a/agent/HARDWARE-QUEUE.md b/agent/HARDWARE-QUEUE.md index b488fb2..1b95a90 100644 --- a/agent/HARDWARE-QUEUE.md +++ b/agent/HARDWARE-QUEUE.md @@ -15,21 +15,29 @@ QA machine), the **T14s** (webcam case). - [ ] **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 +- [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). - [ ] **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: enabled cleanly; zone correctness still + unconfirmed — check the Time zone row of `timedatectl`. - [ ] **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. + the row shows in the SUPER+? cheatsheet. — 2026-07-04 attempt: + 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. - [ ] **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 ≥ +- [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 @@ -43,7 +51,14 @@ QA machine), the **T14s** (webcam case). (`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. + 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 + `sudo nomarchy-snapshots`, restore a single file (`undochange`) + and walk a root-config rollback up to (or through) the + typed-`yes` gate. - [ ] **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 @@ -59,12 +74,14 @@ QA machine), the **T14s** (webcam case). - [ ] **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 +- [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. ## AMD dev box only - [ ] **AMD runtime bits** — VA-API (`vainfo` → radeonsi), amd-pstate EPP @@ -73,11 +90,13 @@ QA machine), the **T14s** (webcam case). - [ ] **Fingerprint** — `fprintd-enroll` + (opt-in PAM) login/sudo. ## Latitude 5410 only -- [ ] **Waybar theme-switch resilience** (finding #1 re-test, needs main ≥ +- [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. + 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. diff --git a/agent/JOURNAL.md b/agent/JOURNAL.md index 8ab6ef3..c7d4422 100644 --- a/agent/JOURNAL.md +++ b/agent/JOURNAL.md @@ -17,6 +17,21 @@ Template: --- +## 2026-07-04 — Latitude hardware sweep #2 (Bernardo; results booked, no code) +- **Task:** V3 sweep on the Latitude after pulling ≥18b8545 + reboot. +- **PASS:** waybar supervisor (theme switches clean; `pkill -x waybar` + respawns instantly); snapshots — themed polkit prompt → GUI as root, + fzf fallback works (restore/rollback gate not exercised → residual + queued); `sys-rebuild`; night-light enable/disable; auto-commit + (theme commits + the toggle self-commit); hibernate single-unlock + + suspend-still-locks (1b0eeea CONFIRMED). +- **Partial:** auto-timezone enabled cleanly; zone correctness + unconfirmed (`timedatectl` check pending). +- **Bug:** SUPER+? never fires — `$mod, question` misses because a real + ? carries SHIFT in the modmask → BACKLOG 26. SUPER+SHIFT+K no-op was + the comma-layout gate working (none configured) — retest queued. +- **Next suggestion:** item 25 (swaync contrast) or 26 (cheatsheet bind). + ## 2026-07-04 — Waybar resilience + sys-rebuild (iteration #7, items 21+23) - **Task:** the two top Latitude findings. - **Did:** (21) `nomarchy-waybar` supervisor (waybar.nix, exec-once'd