deskctl/openspec/changes/archive/2026-03-25-stabilize-v0-2-foundation/tasks.md
Hari 6dce22eaef
stabilize (#3)
* specs

* Stabilize deskctl runtime foundation

Co-authored-by: Codex <noreply@openai.com>

* opsx archive

---------

Co-authored-by: Codex <noreply@openai.com>
2026-03-25 18:31:08 -04:00

17 lines
1.2 KiB
Markdown

## 1. Contract and protocol stabilization
- [x] 1.1 Define the public `window_id` contract in shared types/protocol code and remove backend-handle assumptions from public runtime responses
- [x] 1.2 Update daemon state and selector resolution to map `window_id` and refs to internal backend handles without exposing X11-specific IDs publicly
- [x] 1.3 Update CLI text and JSON response handling to use the new public identity consistently
## 2. Cheap reads and diagnostics
- [x] 2.1 Split backend window enumeration from screenshot capture and route `list-windows` through a read-only path with no screenshot side effects
- [x] 2.2 Add a daemon-independent `deskctl doctor` command that probes X11 environment setup, socket health, window enumeration, and screenshot viability
- [x] 2.3 Harden daemon startup and reconnect behavior with stale socket cleanup, health probing, and clearer failure messages
## 3. Validation and follow-through
- [x] 3.1 Add unit tests for selector parsing, public ID resolution, and read-only behavior
- [x] 3.2 Add X11 integration coverage for `doctor`, `list-windows`, and daemon recovery behavior
- [x] 3.3 Update user-facing docs and examples to reflect the new contract, `doctor`, and the explicit X11 support boundary