aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org13
1 files changed, 13 insertions, 0 deletions
diff --git a/todo.org b/todo.org
index bef8149..7022682 100644
--- a/todo.org
+++ b/todo.org
@@ -21,6 +21,19 @@ The vocabulary is open — topic tags are coined as needed — so these are conv
- *Effort / autonomy*: =:quick:= a spare-moment fix (minutes, not a sitting); =:solo:= Claude can carry it end to end — there's a build path, a test path, and no upfront decision needed (a leftover manual spot-check doesn't disqualify it).
- *Topic / area* (open): the subsystem a task touches — e.g. =:hyprland:= =:waybar:= =:mpd:= =:music:= =:network:= =:tooling:= =:llm:= =:eask:= =:pocketbook:= =:cmail:=. Coin a new one when it aids filtering.
* Archsetup Open Work
+** TODO [#B] Maintenance console — spec from design doc + prototype :feature:
+Run spec-create against [[file:docs/design/maintenance-console-design-ideas.org][maintenance-console-design-ideas.org]] (all decisions resolved 2026-07-06/07) and the interactive prototype ([[file:docs/prototypes/2026-07-07-maint-console-E5-selector-subpanel.html][E5]], the converged design). The design is complete: selector + dense subpanels, doctor (Clean up / Review & fix) streaming to the results wall, determinate remedies incl. guard-armed updates, evidence digests + curation lifecycles (known-noise, expected-listeners, expected-containers, kept-orphans), rotary band selectors on tall subpanels, refresh cadence, CLI-first architecture with the four-layer test strategy (unit fakes → read-only live → VM remedies via the archsetup test harness → AT-SPI GUI smoke on fixtures). Prototype's GOOD/BAD snapshots become test fixtures. Build lands as the =maint= package in dotfiles (fourth panel sibling); thresholds TOML owned by archsetup. Related: the proposed system-health-check workflow move from home (see doc) sequences at implementation time.
+
+** TODO [#C] Consistent keybinding family for the panel console :feature:hyprland:
+Consider putting every panel (net, bluetooth, audio, timer, and the coming maintenance console) on one consistent chord family — a shared modifier set (Super+Shift, Control+Alt, or similar) plus a mnemonic letter per panel (N/B/A/T/M). Today the panels open via waybar clicks only; a uniform chord family makes them keyboard-reachable and predictable. Watch for collisions with existing binds: Super+Shift+A is already PTT toggle, and the hold-to-talk grave bind is load-bearing. Decide the family, audit current hyprland binds for conflicts, wire via the dotfiles hyprland config, and document in the keybind reference. Both machines (velox can't QMK-remap, so chords must work on a plain laptop keyboard).
+
+** TODO [#C] Realtime lamp output for the net + bt doctors :feature:
+Retrofit the net doctor (=~/.dotfiles/net/src/net/doctor.py=) and bluetooth doctor (=~/.dotfiles/bluetooth/src/bt/doctor.py=) to stream results as a live output wall — one lamp per escalation step, amber while running, green on success, red on failure — instead of a final summary. Matches the maintenance-console doctor design (see [[file:docs/design/maintenance-console-design-ideas.org][maintenance-console-design-ideas.org]], "Doctor = live output wall"). Goal: every doctor in the system reads the same way. Both doctors already step through an escalation chain re-probing after each, so the steps are natural lamp boundaries.
+
+Scope note (Craig, 2026-07-07): realtime lamp *behavior* only. The maintenance console's wider results-wall layout (date+time stamp column, COPY, persistent history) does NOT backport — the net/bt panels are ~400px wide and lack the horizontal real estate. Their existing output wells keep their compact layout; this task just makes them stream live.
+
+Addendum (Craig, 2026-07-07): DO backport the 3.5-entry height convention — every panel's output well caps at 3.5 visible entries, the half-visible entry being the scroll cue, with the dark slate-on-black scrollbar. Layout stays compact per above; only the height cap + scroll affordance carries over.
+
** TODO [#B] Scrolling/Carousel layout: frame fit + wrap-around :hyprland:
:PROPERTIES:
:LAST_REVIEWED: 2026-07-06