All checks were successful
Check / eval (push) Successful in 3m10s
18 hex retunes, hue-preserving OKLCH minimal raises except where the upstream palette defines a canonical value: muted lifted to >= 2.0 on lumon/white/retro-82/everforest (solved), gruvbox (bg4 #7c6f64), nord (#616e88, the community comment-brightening), catppuccin-latte (overlay1 #8c8fa1); text-on-surface >= 4.5 via surface nudges (ristretto darker, latte lighter); accentAlt >= 3.0 (latte, summer-day darkened); warn >= 2.5 — the bar's battery tint — darkened on the light bases (latte, rose-pine dawn, summer-day) and flexoki-light's four status colors moved to their canonical light-mode 600 series. check-theme-contrast.py now gates all four adopted floors (7 pairings x 21 themes, green). good/bad stay audit-only — identity themes sit at 2.0-2.3 there by design, so no exemption mechanism was needed. The design audit's contrast findings drop 20 -> 1 (miasma's earthy `bad`, kept as identity). Item 28 slice (b) complete. Verified: V0, checks.theme-contrast green, flake check green, re-audit. Rendering is V3 -> HARDWARE-QUEUE eyeball entries. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
13 KiB
13 KiB
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 switchwithpower.batteryChargeLimit = 80, physically unplug/replug AC, confirmcharge_control_end_thresholdre-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. — 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/localtimeupdates, and the Waybar clock refreshes (SIGUSR2 watcher) — also after a manualtimedatectl set-timezone. — 2026-07-04 Bernardo: PASS — enabled from the menu,timedatectlshows 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 Waybarindicator follows, and 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 (fix shipped — see the dedicated SUPER+? entry below). - SUPER+? opens the cheatsheet (item 26 fix) — after
home-update+ relogin (orhyprctl reload), SUPER+? must open the keybindings cheatsheet, whose row still readsSUPER + ?(notSUPER + SHIFT + ?). - 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 notification row and check the Clear button — all text legible (body/buttons now @text on tinted chips, not subtext/surface). - Bar + rofi legible on flexoki-light (item 27 fix) — switch to flexoki-light: every Waybar module readable (window title, tray row, dimmed inactive workspaces / muted volume visible-but-dim), rofi inputbar/alternate rows show text. Spot-check one dark theme (e.g. tokyo-night) for no visual regression in the same spots.
- Back-audit spot-check (item 24) — the keybinds cheatsheet (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.
- Network menu has no blank rows (item 22 fix, needs Wi-Fi) —
after
home-update, open Tools › Network: no empty separator rows between the ethernet/wifi/VPN sections (compact = True). KNOWN RESIDUAL: if exactly one nameless wifi row remains showing only security+bars, that's a hidden-SSID AP — config can't filter it; report it and the follow-up is a small source patch skipping empty-name APs in create_ap_list. - 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 adevice{}block on the next rebuild. - Snapshots restore/rollback — ⚠ PRECONDITION: update to main ≥
a47aa3aand 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 snapshotnow 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-yesgate. 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
sudo nomarchy-snapshots, restore a single file (undochange) and walk a root-config rollback up to (or through) the typed-yesgate. - Caffeine toggle (item 13 slice) — click in the bar → turns (warm tint on the generated bar) and hypridle must NOT lock / blank while it's on (wait past the 5-min lock); click again releases. Also present on both summer bars now.
- Screen recording (item 12) — Tools › Capture: Record region (slurp) and Record screen produce a playable .mp4 in ~/Videos/Recordings; the red ⏺ REC appears in the bar instantly and CLICKING IT stops + notifies the path; the + audio variants carry sound. While recording, the Capture menu offers only "■ Stop recording". On the AMD box wl-screenrec (VAAPI) should do the work; if it dies at start the wf-recorder fallback kicks in silently — check the notification says which. Summer bars have the same ⏺ (parity).
- Doctor (item 10) — menu › System › Doctor opens the sheet in
a terminal;
nomarchy-doctorover SSH shows the same minus user units. On a healthy machine everything is ✔/– (dev-box run 2026-07-04 correctly flagged a genuinely failed user unit). - 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, activates it, and the theme visibly reverts; picking the newer one again rolls forward. The two System rows: Snapshots opens the snapshot flow, "boot an older generation (how)" fires an instruction notification.
- Open-a-file smoke (viewers + mime defaults, item 8) — after
home-update: from yazi/Thunar, open a PDF (→ zathura, themed to the palette), an image (→ imv, NOT GIMP), a video (→ mpv);xdg-open .on a directory → Thunar. With no browser installed, clicking a link must still fall through to something sane (the firefox.desktop entries are inert); if you've uncommented a browser, links go there. - 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
.confand an.ovpnvia 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= truecomparison 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: System › Display › Profiles lists them (● marks active); applying is instant (no rebuild) and survives a relogin (the baked overlay); "Base layout" restores; a menu resolution pick made earlier must NOT re-enable a profile-disabled panel after the next rebuild. - Display profiles auto-switch, slice b (item 15) — same setup, then menu › Profiles › Auto-switch on: plugging the dock/monitor applies the matching profile within ~3s (toast names it); unplugging switches back; Auto-switch off stops that; with two profiles naming the same outputs, no flapping (ties do nothing).
- P2 retunes eyeball (item 28b) — spot-check on top of the P1 entry below: gruvbox/nord/lumon/everforest/retro-82/white dimmed text (inactive workspaces, muted volume) now visible-but-dim; latte + rose-pine(dawn) + summer-day warn/battery tint reads on the light bases; flexoki-light statuses are the deeper canonical 600s; latte selected-row/alt-accent pink darker. Anything that lost its "dim" feel → reopen 28b.
- Retuned palettes eyeball (item 28b P1) — switch through summer-day, flexoki-light, kanagawa, miasma: chips/menus/toasts now draw on a raised surface (summer-day's was slate-on-cream, kanagawa's near-black, miasma's pure black), secondary text (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.
- Themed greeter + console (item 16) — after
sys-rebuild+ logout: tuigreet renders in theme colors (dark container, accent border, themed prompt/time) and a raw tty (CTRL+ALT+F2) shows the theme's ANSI palette; on a LUKS machine the passphrase prompt follows too. Then switch theme +sys-rebuild+ logout → the greeter follows the new palette. (tuigreet can't run under the VM harness — see MEMORY.md — so rendering is hardware-tier.) - Color picker (item 13, final slice) — SUPER+CTRL+P (or Tools ›
Color picker): hyprpicker's zoom loupe appears; click a pixel →
toast shows the hex and
wl-pasteyields it; Esc cancels with no toast. Row present in the SUPER+? cheatsheet. - Low-battery toasts (item 13 slice) — on battery, drain past 25%: one "Battery low" toast; past 10%: a critical "Battery critical" toast that stays up until dismissed (swaync); plug in, drain again → it re-notifies; no repeat toasts while it just keeps draining. (Crossing logic VM-verified — this checks the real swaync rendering in a session.)
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-waybarshows the supervisor. — 2026-07-04 Bernardo: PASS — theme switches clean; pkill respawn so fast the bar never visibly disappears. - 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 (
583708dbatch was QEMU-verified) — general smoke before the nextmain → v1promotion.
T14s only
- Webcam IR-hide end-to-end on Nomarchy — installer detects the
RGB+IR pair, bakes
hardware.camera.hideIrSensor;wpctl statusshows one colour source; an app picker lists one camera; Howdy-style direct/dev/video2reads still work.