aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/design/2026-07-02-net-panel-other-interfaces-spec.org13
-rw-r--r--todo.org30
2 files changed, 38 insertions, 5 deletions
diff --git a/docs/design/2026-07-02-net-panel-other-interfaces-spec.org b/docs/design/2026-07-02-net-panel-other-interfaces-spec.org
index 86b2a2f..3ec9520 100644
--- a/docs/design/2026-07-02-net-panel-other-interfaces-spec.org
+++ b/docs/design/2026-07-02-net-panel-other-interfaces-spec.org
@@ -4,10 +4,19 @@
#+TODO: TODO | DONE
#+TODO: DRAFT READY DOING | IMPLEMENTED SUPERSEDED CANCELLED
-* DRAFT Status
+* DOING Status
:PROPERTIES:
:ID: 79a1075a-4b56-4f25-a861-b69f120a636a
:END:
+- [2026-07-02 Thu] DOING — decomposed into six build phases under the
+ todo.org parent (:SPEC_ID: bound); build started same evening per Craig
+ ("tunnels build now + audio-panel spec alongside").
+- [2026-07-02 Thu] READY — fused review passed the gate: 4/4 decisions
+ resolved, phases decomposable, claims re-verified live (proton-vpn-cli
+ 1.0.1 in extra, binary =/usr/bin/protonvpn=, no package conflict with the
+ GTK app; =tailscale status --json= shape confirmed on velox — Self/Peer/
+ CurrentTailnet.Name/MagicDNSSuffix; zero NM wireguard connections yet,
+ seven configs in assets awaiting the phase 6 import).
- [2026-07-02 Thu] DRAFT — initial spec from the roam capture "other network
interfaces (tailscale, VPNs, wireguard)" filed in todo.org 2026-07-02.
@@ -15,7 +24,7 @@
| Field | Value |
|--------+---------------------------------------------------|
-| Status | draft |
+| Status | doing |
|--------+---------------------------------------------------|
| Owner | Craig Jennings |
|--------+---------------------------------------------------|
diff --git a/todo.org b/todo.org
index 2202092..e36a83d 100644
--- a/todo.org
+++ b/todo.org
@@ -24,10 +24,34 @@ The vocabulary is open — topic tags are coined as needed — so these are conv
** TODO [#B] Audio panel spec :feature:waybar:audio:
Work Craig's ask (roam inbox, 2026-07-02) into a spec, net/bt-panel kin: an audio panel replacing the pypr audio scratchpad (Super+A) with the same functionality — change the default/active output (speaker) and input (mic), volume control for both. The one new capability: a push-to-talk mic mode for meetings — mic stays muted except while the space bar is held, releasing re-mutes. (Hold-to-talk under Wayland needs a global key grab — likely a hyprland bind pair on press/release or an evdev listener; feasibility research belongs in the spec.) Related current bindings: Super+M audio-cycle ring, Super+Shift+A mic-toggle.
-** TODO [#B] Network panel: other network interfaces (tailscale, VPNs, wireguard) :feature:waybar:network:
-Consider displaying other relevant network info in the panel: tailscale, installed VPNs (can we turn them on/off here?), wireguard — and whatever else is in this category. Pretty big; probably deserves its own spec. Origin: roam inbox capture 2026-07-02.
+** DOING [#B] Network panel: other network interfaces (tailscale, VPNs, wireguard) :feature:waybar:network:
+:PROPERTIES:
+:SPEC_ID: 79a1075a-4b56-4f25-a861-b69f120a636a
+:END:
+Spec: [[file:docs/design/2026-07-02-net-panel-other-interfaces-spec.org]] (DOING — reviewed READY and decomposed 2026-07-02 evening; all four decisions were resolved same morning, claims re-verified live at review: protonvpn binary, tailscale JSON shape, seven importable wireguard configs).
+
+Tunnels visible and controllable in the net panel: tailscale + NM wireguard + proton-vpn-cli probes, a Tunnels group in Connections, diagnose/doctor route-ownership awareness, a bar badge when a tunnel owns the default route, archsetup operator flag + package swap, and the one-time NM import of the seven Proton configs. Origin: roam inbox capture 2026-07-02.
+
+*** TODO Phase 1 — overlays.py probes (dotfiles) :feature:
+tailscale JSON / nmcli wireguard filter / protonvpn status probes, one dict shape, TDD over fake binaries; =net status= grows an overlays section.
+
+*** TODO Phase 2 — panel Tunnels group (dotfiles) :feature:
+Fourth Connections group with Up/Down through the worker thread; AT-SPI smoke extension.
+
+*** TODO Phase 3 — diagnose/doctor overlay awareness (dotfiles) :feature:
+Route/DNS ownership step, classifier rows, evidence text; TDD against the diag harness.
+
+*** TODO Phase 4 — waybar-net tunnel badge (dotfiles) :feature:
+Badge on the net glyph riding phase 3's route-ownership detection; suite coverage.
+
+*** TODO Phase 5 — archsetup: operator flag + package swap :feature:
+=tailscale set --operator= in the tailscale step; proton-vpn-cli replaces proton-vpn-gtk-app; VM assertions.
+
+*** TODO Phase 6 — wireguard config migration (both machines) :chore:
+Import the seven assets/wireguard-config configs into NM with autoconnect off; scriptable; velox now, ratio on its trip.
-Initial spec written 2026-07-02: [[file:docs/design/2026-07-02-net-panel-other-interfaces-spec.org]] (DRAFT — four decisions await Craig's review before build).
+*** TODO Test surface :test:
+Probe suites over fake tailscale/nmcli/protonvpn, panel-model Tunnels coverage, diag overlay-ownership cases, badge suite, VM assertions for phase 5.
** TODO [#B] File-manager swallow pattern :feature:hyprland:
When the file manager launches another app, it should hide to a special workspace (the "swallow" pattern) and return when that process ends, rather than vanishing. Today it disappears with no signal of whether it's coming back, so the user can't tell success from failure — they should quit explicitly instead. Origin: roam inbox capture.