docs(agent): Latitude sweep #2 booked — 6 passes, SUPER+? bug filed (item 26)
All checks were successful
Check / eval (push) Successful in 3m0s
All checks were successful
Check / eval (push) Successful in 3m0s
PASS: waybar supervisor resilience, snapshots polkit+GUI (restore/
rollback residual queued), sys-rebuild, night-light on/off,
auto-commit, hibernate single-unlock (1b0eeea confirmed).
Partial: auto-timezone (enabled; zone check pending).
Item 26: SUPER+? never fires — `$mod, question` can't match because a
real ? carries SHIFT in the modmask; fix is `$mod SHIFT, question`.
SUPER+SHIFT+K no-op was the comma-layout gate working (none
configured) — retest annotated in HARDWARE-QUEUE.
PROPOSED: menu parity for downstream-flake options (Bernardo) — every
hand-edit-the-flake option gets a menu writer, per the in-flake-state
philosophy.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -22,9 +22,21 @@ next, in what order*.
|
|||||||
|
|
||||||
## NOW
|
## 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.*
|
(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)
|
### 25. swaync text unreadable on summer-day (light-theme contrast)
|
||||||
Reported: on summer-day, notification/control-centre text is invisible
|
Reported: on summer-day, notification/control-centre text is invisible
|
||||||
(contrast). Root cause (traced 2026-07-04): swaync.nix renders `.body`
|
(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
|
*Agents: append here with a one-paragraph pitch (what/why/cost). Do not
|
||||||
implement. Bernardo moves accepted items into a tier.*
|
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**
|
- **Portal/Flatpak camera picker still lists the internal IR sensor**
|
||||||
(ROADMAP § Webcam follow-up). The shipped IR-hide is a *WirePlumber
|
(ROADMAP § Webcam follow-up). The shipped IR-hide is a *WirePlumber
|
||||||
v4l2* rule, but Flatpak/portal apps consume cameras via the
|
v4l2* rule, but Flatpak/portal apps consume cameras via the
|
||||||
|
|||||||
@@ -15,21 +15,29 @@ QA machine), the **T14s** (webcam case).
|
|||||||
- [ ] **SSH_AUTH_SOCK for GUI clients** — after relogin, launch a GUI git
|
- [ ] **SSH_AUTH_SOCK for GUI clients** — after relogin, launch a GUI git
|
||||||
client (or `rofi`-launched terminal-less app) and confirm it reaches
|
client (or `rofi`-launched terminal-less app) and confirm it reaches
|
||||||
gpg-agent's SSH socket without an interactive shell parent.
|
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
|
starts; later toggles are instant (no rebuild); an *off* survives
|
||||||
reboot (ExecCondition); stopping hyprsunset restores gamma.
|
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
|
- [ ] **Auto-timezone** — enable from the menu; confirm geoclue finds the
|
||||||
zone, `/etc/localtime` updates, and the Waybar clock refreshes
|
zone, `/etc/localtime` updates, and the Waybar clock refreshes
|
||||||
(SIGUSR2 watcher) — also after a manual `timedatectl set-timezone`.
|
(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.
|
- [ ] **Keyboard layout cycle bind** — with a comma layout (e.g.
|
||||||
`nomarchy.keyboard.layout = "us,de"`), SUPER+SHIFT+K cycles the
|
`nomarchy.keyboard.layout = "us,de"`), SUPER+SHIFT+K cycles the
|
||||||
focused keyboard's layout, the Waybar `` indicator follows, and
|
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)** —
|
- [ ] **Keyboard hotplug picker (re-verify after in-flake graduation)** —
|
||||||
plug an external keyboard post-login, pick a layout in rofi, confirm
|
plug an external keyboard post-login, pick a layout in rofi, confirm
|
||||||
it applies per-device only, persists in `settings.keyboard.devices`,
|
it applies per-device only, persists in `settings.keyboard.devices`,
|
||||||
and graduates into a `device{}` block on the next rebuild.
|
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).
|
a47aa3a and RELOGIN first (the polkit agent starts with the session).
|
||||||
Bernardo's 2026-07-04 Latitude findings 5/6 ("btrfs-assistant still
|
Bernardo's 2026-07-04 Latitude findings 5/6 ("btrfs-assistant still
|
||||||
crashes", "menu snapshots shows nothing") match the PRE-fix behavior
|
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
|
(`sudo nomarchy-snapshots`): browse/diff, restore a file
|
||||||
(`undochange`), and a root-config rollback behind the typed-`yes`
|
(`undochange`), and a root-config rollback behind the typed-`yes`
|
||||||
gate. Bonus check: any other pkexec flow now prompts instead of
|
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
|
- [ ] **Update awareness** — with `nomarchy.updates.enable`, let the timer
|
||||||
fire (or start the unit): indicator appears only when inputs are
|
fire (or start the unit): indicator appears only when inputs are
|
||||||
behind, notification only on count growth, click opens the upgrade
|
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) +
|
- [ ] **Visual theme pass** — live ISO: all six identity themes (bars) +
|
||||||
the four authored rofi `.rasi` (nord/retro-82/lumon/kanagawa) look
|
the four authored rofi `.rasi` (nord/retro-82/lumon/kanagawa) look
|
||||||
right, not just parse.
|
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
|
(row shows state, notification fires); a theme apply from SUPER+T then
|
||||||
shows a `nomarchy: apply theme …` commit in `~/.nomarchy` (`git log`);
|
shows a `nomarchy: apply theme …` commit in `~/.nomarchy` (`git log`);
|
||||||
unrelated dirty files in the checkout stay uncommitted; toggle off is
|
unrelated dirty files in the checkout stay uncommitted; toggle off is
|
||||||
itself the last commit. Also: the "Auto timezone (on/off)" row label
|
itself the last commit. Also: the "Auto timezone (on/off)" row label
|
||||||
now reflects the real state (the `= true` comparison fix).
|
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 dev box only
|
||||||
- [ ] **AMD runtime bits** — VA-API (`vainfo` → radeonsi), amd-pstate EPP
|
- [ ] **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.
|
- [ ] **Fingerprint** — `fprintd-enroll` + (opt-in PAM) login/sudo.
|
||||||
|
|
||||||
## Latitude 5410 only
|
## 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.
|
the supervisor commit + relogin) — switch themes repeatedly (incl.
|
||||||
summer-day/night whole-swaps): the bar restarts cleanly each time;
|
summer-day/night whole-swaps): the bar restarts cleanly each time;
|
||||||
if anything kills it, it's back within ~a second. `pgrep -f
|
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
|
- [x] **Media keys + gestures** (from dccceb4) — volume/brightness keys
|
||||||
drive the OSD; touchpad gestures work. — 2026-07-04 Bernardo:
|
drive the OSD; touchpad gestures work. — 2026-07-04 Bernardo:
|
||||||
PASS, volume/brightness keys and touchpad gestures all working.
|
PASS, volume/brightness keys and touchpad gestures all working.
|
||||||
|
|||||||
@@ -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)
|
## 2026-07-04 — Waybar resilience + sys-rebuild (iteration #7, items 21+23)
|
||||||
- **Task:** the two top Latitude findings.
|
- **Task:** the two top Latitude findings.
|
||||||
- **Did:** (21) `nomarchy-waybar` supervisor (waybar.nix, exec-once'd
|
- **Did:** (21) `nomarchy-waybar` supervisor (waybar.nix, exec-once'd
|
||||||
|
|||||||
Reference in New Issue
Block a user