Explain locked desktop management refusals #87
- IA
When macOS is locked, explicit activate/focus/restore can currently report an unsupported operation or missing Accessibility window. The native client now checks the same session-lock signal used by the pinned capture implementation after request-shape validation and before inventory or management dispatch. An explicit `true` returns typed `target_unavailable`, zero-dispatch evidence, and guidance to unlock and refresh the inventory. Missing or false state keeps the existing path; this does not reclassify partial actions or add retries or foreground fallback.
Part of #64, #73, and #8. Those broader issues remain open.
At `0cd64949a8a5327768408b7b95d59c3073ecbcee`, type checks, formatting/lint, Swift parsing, diff checks, Ace source-diff review, and independent source review passed. The isolated native-client release build and strict signature verification also passed; it did not replace or launch a desktop bundle.
A real locked-session check through the production host adapter and that signed client passed for activate, focus, and restore. Each returned `target_unavailable`, `dispatch_state: none`, `requires_fresh_observation: true`, and unlock/refresh guidance. The disposable receiver remained byte-for-byte unchanged. Requests used intentionally stale process generations so an unlock race could not send input; the locked-state refusal happened before generation inventory or management dispatch. This validates the explicit-true branch on the real locked Mac. False/unknown lock states and locking during an operation were not exercised; their existing paths are unchanged. No model behavior or stored format changed.
### Built in Ace
Dependency setup, Git/GitHub, source-diff review, checks, and the isolated signed-client build use dedicated Ace terminals. The runtime check called the real host adapter and signed native client using the existing Ace bridge, without launching another desktop. The lock refusal itself is local and precedes any management request to the bridge.
Codex external file tools edited source and prepared/read temporary validation artifacts because Ace lacks a file-editing surface (#22) and external-harness integration (#9). Read-only Codex computer-use observation established the locked desktop; no success is inferred from that observation or compilation.
iamnbutlerready-for-reviewlast month on GitHub
iamnbutlermerged c89f87ba0450last month on GitHub
iamnbutlerreferenced this in [Meta] Complete native computer use in Ace #8last month on GitHub
iamnbutlerreferenced this in Explain native inspection failure when the desktop or target window becomes unavailable #64last month on GitHub
iamnbutlerreferenced this in Finish native window, menu, and dialog workflows #73last month on GitHub
iamnbutlerreferenced this in Land desktop inspection/actions and tab API from feat/github-cache #89last month on GitHub
iamnbutlerreferenced this in Move and resize exact native windows #86last month on GitHub