docs(agent): queue desktop and menu follow-ups
All checks were successful
Check / eval (push) Successful in 3m18s

Promote NEXT items #102-#112 for Nextcloud, live ISO apps, airplane mode, menu navigation and hierarchy, keybinding discoverability, keyboard indicator parity, Control Center retirement, recovery terminology, and installer disk-picker safety. Expand #96 for the live-ISO power policy and record #92's completed KVM UI verification.

Verified: V0 source audit and git diff --check; #92 additionally reached V2 on the exact current ISO under KVM.
This commit is contained in:
2026-07-13 17:19:18 +01:00
parent d09c11d872
commit 5d97cf23fe
2 changed files with 100 additions and 9 deletions

View File

@@ -56,10 +56,11 @@ the installed graphical session and the SUPER+Return path works.
### 96. Live ISO/install: battery charge-threshold menu is absent
On this Acer the charge-threshold menu could not be found. Audit the hardware
capability gate and menu discoverability: unsupported hardware must get a
clear explanation instead of looking like a missing feature; supported
hardware must expose the control. Pass = the System/Power route communicates
the correct state and never silently disappears.
capability gate, live-ISO `power.laptop = false` policy/permissions, and menu
discoverability. Unsupported hardware must get a clear explanation instead of
looking like a missing feature; supported hardware must expose the control.
Pass = the System/Power route communicates the correct state and never silently
disappears, including in the live session.
### 97. Live ISO/install: Bluetooth menu reports `Connection to BlueZ failed`
@@ -85,7 +86,85 @@ untracked canonical state file is still detected.
## NEXT
*(empty — NEXT's top item is the queue head)*
### 102. Nextcloud Desktop opt-in through Home Manager
Expose and document upstream Home Manager `services.nextcloud-client` in the
downstream template, including its background-session lifecycle; do not add a
duplicate Nomarchy wrapper. Pass = the documented opt-in installs the client,
starts it with the graphical session, and disabling it removes that lifecycle.
### 103. Live ISO baseline desktop applications
Make Chromium and Firefox, `libreoffice-fresh`, GNOME Text Editor, Amberol, and
GNOME Snapshot explicitly available in the live profile and application
launcher. Text Editor and Snapshot are the maintained gedit/Cheese successors;
HTTP remains assigned to Chromium. Pass = all six launch in the live session
and the resulting ISO-size delta is recorded.
### 104. Runtime Airplane mode
Add Airplane mode under System connectivity controls. It must disable Wi-Fi
and Bluetooth together, remember their prior states, and restore those states
when disengaged. Pass = the runtime round trip works, and a Waybar indicator is
visible only while engaged with parity across every whole-bar swap.
### 105. `[big]` System-menu information architecture
Keep exactly six root menu entries while reorganizing System into
Connectivity, Devices, Recovery, and Preferences. This item must be split into
scoped implementation/verification tasks before work starts. Pass = every
current route has one deliberate home, navigation remains shallow, and no
root-level entry is added or lost.
### 106. Internal menu Back/Left navigation contract
Reproduce the reported internal leaf with neither Back nor Left behavior, then
fix any breach of the already-intended navigation contract. Add a permanent
guard covering every internal leaf; external GUIs and free-text prompts retain
their explicit Esc exceptions. Pass = no internal leaf can strand the user and
the guard fails on a regression.
### 107. Direct keybindings for System and Tools menus
Add conflict-free direct bindings for System and Tools through the canonical
`keybinds.nix` source of truth. Pass = both routes open directly, generated
Hyprland bindings and the cheatsheet agree, and conflict checks stay green.
### 108. Keybindings menu presentation and completeness audit
Group the menu as Window, Workspace, Menu, and Media, then prove every live
Hyprland binding appears from the canonical source. Do not repeat the obsolete
claim that float/move bindings are absent. Pass = presentation is scannable and
an automated comparison detects omissions or stale displayed bindings.
### 109. Conditional keyboard Waybar indicator parity
Hide the keyboard indicator for an unambiguous one-layout setup; show it when
multiple layouts, a per-device override, or a remembered keyboard makes it
useful. Pass = hotplug/remembered-device transitions update correctly and every
whole-bar swap matches the generated default bar.
### 110. `[big]` Retire Control Center safely
Split this into two phases before implementation: first build a migration/drop
matrix for every unique setting, then remove the package and all references.
Keyboard and terminal replacements must reject unsafe free-text values. Pass =
no supported setting silently disappears and the second phase leaves no stale
launcher, menu, package, documentation, or generated-artifact reference.
### 111. Scope-first Recovery menu
Replace confusing Rollback/Snapshots duplication with explicit Desktop
generation, System boot generation, and Files/root BTRFS scopes. Pass = labels
state what is restored and from where before action, with destructive or reboot
effects made clear and each existing recovery path represented once.
### 112. Installer disk-picker safety
Exclude floppy, pseudo, tiny, and otherwise non-installable devices such as
`/dev/fd0`; never select them by default. Pass = the real install disk is clear,
invalid devices cannot reach destructive setup, a permanent guard covers the
filter/default logic, and a pre-destructive KVM run proves the picker behavior.
## LATER

View File

@@ -19,18 +19,30 @@ Template:
---
## 2026-07-13 — User-promoted NEXT queue curation (#102#112; this commit)
- **Task:** Audit Bernardo's live-ISO, application, menu, and device follow-ups
against shipped behavior and curate the executable queue.
- **Did:** Promoted scoped work as NEXT #102#112, with `[big]` split gates for
System-menu IA and Control Center retirement. Reused NOW #96 for the Acer
threshold finding; #106/#108 start from shipped navigation/bind coverage.
- **Verified:** V0 — read-only source/option/menu audit and `git diff --check`.
- **Pending:** #105 and #110 must be split before implementation; no runtime
behavior changed.
- **Next suggestion:** #93 remains the NOW head; #102 is the first NEXT item.
## 2026-07-13 — #92 catalog-only installer keyboard selection (this commit)
- **Task:** Make installer layout/variant choices understandable without
allowing arbitrary XKB values to break generated Nix.
- **Did:** Added a pinned human-readable XKB catalog, a one-step US/default
path, strict searchable layout/variant pickers, shared exact validation for
interactive and unattended input, and a resolved review summary.
- **Verified:** V1 — full flake eval; installer safety/keyboard/package builds;
- **Verified:** V2 — full flake eval; installer safety/keyboard/package builds;
shell/Python/diff checks; real validator accepts valid layout-specific rows
and rejects fabricated/prefix/wrong-layout values before installer setup.
KVM boot of the exact current ISO proved the packaged installer contains the
new flow; interactive screenshot pass was still running at commit time.
- **Pending:** Complete the already-running pre-destructive KVM UI review.
Exact-current-ISO KVM UI review captured catalog, variant, and review screens;
strict unmatched input was rejected and the blank disk remained untouched.
- **Pending:** V3 real-hardware install remains; V2 artifacts are under
`/tmp/nomarchy-v2-keyboard-92-current/`.
- **Next suggestion:** #93 swap-size prompt and explanation.
## 2026-07-13 — #91 installer no-variant normalization (this commit)