docs(agent): file #127 — docked idle blackout, no wake, undock no panel
All checks were successful
Check / eval (push) Successful in 3m47s

Bernardo 2026-07-15: docked idle → black screens; external KB/mouse did
not wake; unplugging the external did not restore eDP; Caps Lock still
worked. Captures the "session crash" as a seat brick. HARDWARE-QUEUE
repro + journal steps for the next controlled run.
This commit is contained in:
2026-07-15 11:11:57 +01:00
parent e08426880d
commit 46adcc9989
3 changed files with 68 additions and 0 deletions

View File

@@ -72,6 +72,35 @@ buttons in the installer (VM gum screens under Boreal look legible —
artifacts in `/tmp/nomarchy-v2-swap-93/`). Needs Bernardo's screenshot or artifacts in `/tmp/nomarchy-v2-swap-93/`). Needs Bernardo's screenshot or
an Acer repro to pin the actual widget before fixing. an Acer repro to pin the actual widget before fixing.
### 127. `[blocked:hw]` Docked idle: black screens, no wake, undock does not restore panel
Bernardo 2026-07-15 (AMD dev box, docked): left the laptop docked; after a
few minutes of idle it appeared to "sleep". Then:
1. External keyboard/mouse did **not** wake any display.
2. Unplugging the external monitor did **not** turn the laptop panel back
on (dock mode has eDP disabled — undock *should* re-enable it).
3. The machine was still alive: Caps Lock LED toggled on the keyboard.
This also killed a long agent session (looked like a "crash" from the
outside). Separate from awake undock recovery (HARDWARE-QUEUE round 8):
the failure is **idle while docked**, then no path back to a usable panel.
**Likely shape (code-side, unconfirmed on the incident):** on AC, hypridle
does **not** call `systemctl suspend` (`onAc || suspend` — only battery
suspends at 15 min). Idle path is lock @5 min + `dpms off` @10 min
(`modules/home/idle.nix`). Caps Lock working fits **DPMS/lock blackout**
better than deep S3. Dock mode has already disabled eDP; recovery then
needs either (a) input → hypridle `on-resume` / `dpms on` on the external,
or (b) undock → `nomarchy-display-transition undock` re-enabling the
panel. Both failed. `after_sleep_cmd` only does `hyprctl dispatch dpms on`
and never re-enables a disabled internal.
**Pass:** docked on AC, idle past lock + DPMS; external KB/mouse restores
the external; if the external is unplugged while black, eDP comes back
without reboot; journal shows display-watch undock `result=ok` when the
cable leaves. Capture steps in HARDWARE-QUEUE.
## NEXT ## NEXT
### 122. A crisper Nomarchy logo in fastfetch ### 122. A crisper Nomarchy logo in fastfetch

View File

@@ -11,6 +11,33 @@ the **T14s** (webcam case).
## Any machine (dev box is fine) ## Any machine (dev box is fine)
- [ ] **#127 docked idle blackout (AMD dev box, 2026-07-15)** —
**Incident (FAILED, unsolicited):** laptop docked, idle a few minutes,
screens went black ("sleep"). External keyboard/mouse did not restore
any display; unplugging the external did not re-enable the laptop
panel; Caps Lock LED still toggled (machine alive). Forced recovery
was needed; a long Grok session died with the brick.
**Important distinction:** on AC, hypridle is *not* supposed to
suspend — only lock (5m) + `dpms off` (10m). Confirm next time with
`journalctl -b | rg -i 'Suspending|PM: suspend'` vs hypridle/hyprlock
lines so we know DPMS-stuck vs real S3.
**Repro / capture (next time, before reboot if possible — SSH/TTY):**
1. Dock, confirm dock mode (eDP disabled in `hyprctl monitors all -j`).
2. Leave idle past 10 minutes (or force: `loginctl lock-session` then
`hyprctl dispatch dpms off`).
3. Try external KB key / mouse move — does external wake?
4. Unplug external — does eDP return within a few seconds?
5. Capture (SSH from another machine if the seat is blind):
```
journalctl --user -t nomarchy-display-watch -t nomarchy-display-transition \
-t hypridle --since '-30 min'
journalctl -b --since '-30 min' | rg -i 'suspend|sleep|dpms|lid|hyprlock'
hyprctl monitors all -j; hyprctl keyword monitor 2>&1 | head
systemd-inhibit --list
```
**Pass:** input wakes the external while docked; undock while black
restores eDP without power cycle. Related: docking recovery round 8
(awake undock) and BACKLOG #127.
- [ ] **#96 battery-limit row on threshold-less firmware (Acer M5-481T)** — - [ ] **#96 battery-limit row on threshold-less firmware (Acer M5-481T)** —
on the Acer (live or installed session with the commit carrying this on the Acer (live or installed session with the commit carrying this
entry): open System (`SUPER+CTRL+I`). **Pass:** a "Battery limit" row entry): open System (`SUPER+CTRL+I`). **Pass:** a "Battery limit" row

View File

@@ -19,6 +19,18 @@ Template:
--- ---
## 2026-07-15 — File #127 docked idle blackout (no code)
- **Task:** Bernardo: docked laptop idle → black screens; external KB/mouse
no wake; unplug external did not restore panel; Caps Lock still worked.
Explains the "session crash" (seat brick, not agent-only).
- **Did:** NOW **#127** + HARDWARE-QUEUE capture steps. Code read: AC idle
path is lock+DPMS not suspend; dock mode disables eDP; both wake and
undock recovery failed on the incident.
- **Verified:** V0 (docs/agent only).
- **Pending:** hardware journal capture on next repro; then fix.
- **Next suggestion:** continue fix batches, or dig into #127 if Bernardo
can leave SSH open for a controlled repro.
## 2026-07-15 — V2 verification of fix batches (doctor-float + test-install) ## 2026-07-15 — V2 verification of fix batches (doctor-float + test-install)
- **Task:** V2-test shipped items that admit VM harnesses (#95 doctor, - **Task:** V2-test shipped items that admit VM harnesses (#95 doctor,
#123 bake, #112/#124/#125 install path). #123 bake, #112/#124/#125 install path).