openvibers/openvibe.network Commits

Network: Watch may run a person's agent on Actor (actor.agent.run) (#151)

OP OpenVibers committed 11 Oct 2026 · 43bbad7f5c · 1 file, +2 −0

Grants the `watch` principal `actor.agent.run` (audience openvibe.actor). A watch's new `actor-agent` action (Contracts 0.143.0; the Watch PR follows) runs the watch owner's personal agent, acting for that person with `X-OV-Subject`, as its `actor-task` action already does with `actor.task.create`.

Tests: principals, grants-admin.

Changes

ddiff --git a/server/identity/principals.js b/server/identity/principals.js
iindex 0e1c6074..9e84fafb 100644
---- a/server/identity/principals.js
++++ b/server/identity/principals.js
@@@ -224,6 +224,8 @@ const DEFAULT_GRANTS = [
// Plan T18 step 6: a watch's actor-task action gives Actor a task for the watch's owner. Watch names the owner in
// X-OV-Subject, so the task is the person's (their allowance and list) and Actor records Watch as `via`.
['watch', 'actor.task.create', 'openvibe.actor', []],
++ // A watch's actor-agent action runs the owner's personal agent (contracts 0.143.0, Actor's actor.agent.run).
++ ['watch', 'actor.agent.run', 'openvibe.actor', []],
// Plan T13: OpenVibe.Services merges every authority's resource index (ADR-048 section 3): it reads each one's
// GET /api/v1/resources under that authority's <id>.resource.read, with a token for that authority's audience.
['services', 'network.resource.read', SELF_AUDIENCE, []],