Explain
This endpoint is pure. No side effect, no ledger row, nothing enqueued,
nothing metered — and
side_effects: [] is on the wire so you do not have to take
this page’s word for it. An explain that could itself be denied, or that wrote a
row, would be unusable as the thing you run before deciding whether to act.It calls the same three helpers the enforcing path calls. An explain that
reimplemented the decision would be a second policy.Body
Reading because
layer alone is an assertion nobody can check, so rule names the config path you
can go and look at.
verdict is deny when the primitive is off or the capability is denied, park
when approval is required, and allow otherwise. It is never approve — see the
verdict vocabulary.
Snapshot
statute_actions is a count. Enumerate them with GET /v1/policy/statute
rather than making one response 31 rows nobody reads.
Statute
outcome is approve on every row because that is the rule the author wrote.
The engine folds it to the park verdict when the condition is unsatisfied.
The set covers money movement (cards, trading, domain purchase, company
formation), identity (verification, browser signup), infrastructure (compute
create and exec, phone provisioning), mobile device control, connections, and the
destructive brain operations (
brain.kb.delete, brain.document.delete,
brain.forget, brain.proposal.accept). Read the live list rather than this
sentence — it is the one that is current.The four that refuse
POST /v1/policy/waives answers 501, not the 403 statute_not_waivable the
contract specifies. 403 would tell you the platform refused to waive something
— when in fact it never evaluated anything, because there is no statute layer at
all. The 403 becomes the correct answer the day a statute exists.