feat(cli): scripted takeover hold and release subcommands
ย
ST
5d ago+840+840+012345678901234567890123456789-13-13-01234567890123456789
Summary
takeover today is a foreground interactive hold (TTL plus heartbeat), so scripted side-car tools โ a dpctl harness, an adb side-car, a CI step โ cannot announce themselves to the daemon and end up fighting live sessions for the same device. This adds non-interactive subcommands that reuse the existing human-control holds: takeover hold --device <udid> --reason <text> --ttl-ms 60000 prints a hold id, and takeover release <id> removes it. Same authority surface, one machine-readable entry.
11 files changed (CLI subcommands, hold plumbing, tests).
Validation
- Head: 2add31fa7 on a68693c72.
pnpm run typecheck,pnpm run lint, takeover and CLI tests, integration-progress--check, fallow, freerange: pass locally.- Independent cold review: APPROVE. CI runs the full gates on push.
๐ค Generated with Claude Code
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Open in [code]smith ยท Need help on this PR? Tag @codesmith-bot with what you need.