Contracts 0.165.0: watch.resource.control (Watch is the first authority behind Services' control route) (#121)
OPOpenVibers committed 14 Oct 2026 · tag v0.165 · 0 files, +0−0
Plan T13 step 10 (ADR-048): OpenVibe.Services routes control operations to the authority that owns a resource (Services#54). No authority took them yet, so every request answered unsupported.
**`watch.resource.control`** (active, first-party, sensitive)
- OpenVibe.Watch's `POST /api/v1/resources/control` takes a `common.resource-control-request@1` for a `watch.watch`, from a first-party service acting for the watch's owner.
- Actions: suspend, resume and delete. Other actions are refused.
- Owner only, inside the project the OVRN names.
- Dry runs decide and explain without applying.
- Idempotent per (caller, project, key).
It is the first authority. Services enables control for an authority whose manifest lists an active `<id>.resource.control`, and the `watch` manifest now lists it. Watch's PR implements the route.
Additive. **Checks:** `node test/run.js`: 19,680 checks pass. `compat.js v0.164.0`: no breaking changes.