diff --git a/agent/BACKLOG.md b/agent/BACKLOG.md index c0fb9f6..55de533 100644 --- a/agent/BACKLOG.md +++ b/agent/BACKLOG.md @@ -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 diff --git a/agent/JOURNAL.md b/agent/JOURNAL.md index d275d6c..228c5f0 100644 --- a/agent/JOURNAL.md +++ b/agent/JOURNAL.md @@ -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)