specs/032-logind-shutdown/tasks.md

Tasks

  • Clarify scope, D-Bus/server test seams and implementation plan.
  • Red/green: private-bus shutdown saves live resume metadata before releasing inhibitor.
  • Red/green: false/initial shutdown, denied/unavailable/restarted service and monitor cleanup.
  • ADR-0028, persistence docs and verification feature map.
  • Independent Standards and Spec review; address findings.
  • Full verification and Rust 1.92 build.
  • Publish and link PR; record evidence and proof limits.

Evidence

cargo test -p signaltty-server --test logind: 8 passed. scripts/verify.sh full: passed (/tmp/signaltty-verify-032/summary.json), including fmt, clippy warning policy, architecture, workspace tests, server QA, 28 ignored GTK tests and the refresh benchmark. cargo +1.92.0 check --workspace --all-targets --locked: passed. Spec review: pass, no acceptance gaps. Standards review: the suite was taking a host delay inhibitor. SIGNALTTY_LOGIND=0 is now the harness default; only --test logind opts in, on a private bus. Shutdown also stores a notify permit so a request between accepts is kept.

Proof limits: the tests use a private dbus-daemon and never shut down the host. Power loss and SIGKILL can still skip the save. No desktop AT-SPI run; this change has no GUI surface.