Policy records
Policy records define the human-owned boundary for AgentWorker autonomy.
Required fields
id, owner_worker_id, created_by_actor_id, autonomy_level, allowed_actions, denied_actions, review_required_actions, risk_classes, escalation_rules, created_at
Optional protocol context
tool_grants, memory_grants, external_send_rules, request_limits, and extensions
PolicyDecision records
PolicyDecision records why a requested AgentWorker action is allowed, denied, narrowed, or sent for human review.
PolicyDecision required fields are id, work_session_id, actor_id, policy_id, requested_action, normalized_action_hash, risk_class, result, reason, and created_at.
allow
The AgentWorker action fits Policy and becomes eligible for accepted protocol state after mutation checks pass.
deny
The AgentWorker action stays blocked. Denial creates or references a Request.
narrow
The action is allowed only inside a smaller bounded scope.
review_required
The action requires HumanWorker input through Request, Review, or Takeover before the blocked scope continues.
Compatibility expectations
- Compatible implementations MUST record PolicyDecision before accepted AgentWorker action state.
- Actor-bearing mutation bodies MUST match
Jarvis-Actor-Id.
- The protocol rejects missing PolicyDecision before accepted AgentWorker action state.
- The protocol rejects hidden policy traces, provider secrets, database ids, runtime decision objects, and credentials in portable records.