fix(docking): make workspace and lid transitions atomic
All checks were successful
Check / eval (push) Successful in 3m19s

Restore the old flake's external-only workspace handoff, protect closed-lid cable removal with a verified low-level logind inhibitor, and use monitor-added as the settled audio reprobe boundary.

Verified: V2 — nix flake check --no-build; docking-ux, option-docs, and template-sot checks; KVM tools/monitor-fallback.nix lifecycle test.

V3 pending: closed-lid BenQ round 4 in agent/HARDWARE-QUEUE.md.
This commit is contained in:
2026-07-13 13:56:54 +01:00
parent cffe432912
commit 2a34c7398b
12 changed files with 654 additions and 292 deletions

View File

@@ -19,6 +19,28 @@ Template:
---
## 2026-07-13 — #100 dock transition recovery (this commit)
- **Task:** Fix the real T14s dangling workspace, closed-lid cable-removal
suspend/apparent crash, and BenQ audio miss after 7ebfab4.
- **Did:** Added one atomic dock/internal-first undock helper; the IPC watcher
owns a verified low-level lid inhibitor through physical lid-open, with
validated stale-process cleanup. `monitoradded` now debounces a settled
PipeWire/WirePlumber reprobe then picks an available dock sink; generic
audio events never override a manual choice. Named clamshell profiles share
the safe transition. Replaced the fallback VM tool with a bounded hotplug
workspace/output/inhibitor test and strengthened generated-artifact guards.
- **Verified:** V2 — `nix flake check --no-build`; targeted docking-UX,
option-docs, and template-SoT builds; and
`nix build --impure -f tools/monitor-fallback.nix --no-link -L` all green.
The KVM guest proved atomic workspace handoff, internal-first restoration,
inhibitor retention with the simulated lid closed, and release on lid-open.
The harness restores the DRM output before deleting QEMU's last synthetic
headless output because that backend-specific zero-output state aborts
Hyprland before a usable removal lifecycle is delivered.
- **Pending:** V3 exact closed-lid BenQ round 4 in HARDWARE-QUEUE. No
real-hardware or real monitor-audio claim.
- **Next suggestion:** run V3 round 4, then take installer #91.
## 2026-07-13 — Live ISO hardware findings queued (#91#99)
- **Task:** Transcribe Bernardo's Acer Aspire M5-481T install/session notes
and installer failure photo into the executable queue.