Arcana ARCANA/GOVERNANCE index 04 · INTENT BINDING ¬Authorized(q) ¬Executed(q)
~/arcana/governance/intent.md
04

INTENT–ACTION BINDING

Why is this request authorized?

[ THE BINDING REQUIREMENT ]
Execute(q) ∃ b :
Binds(b, q)
∧ b.requestHash = H(q)
∧ b.sessionId = q.sessionId
∧ b.contractRevision = activeRevision

An execution is only authorized when an intent binding ties the exact request hash to the active objective. High-impact actions require an active contract criterion; critical actions require exact explicit approval.

Model-generated justification is not authority. A convincing explanation from the model proves nothing — only bindings do.
/governance/intent.md
# 04 · Intent–Action Binding

> Why is this request authorized?

## Overview

Capabilities say what an agent *may* do. Intent bindings say why *this
particular request* is happening now. An execution is authorized only when a
binding ties the exact request hash to the currently active objective.

## The requirement

```text
Execute(q) ⇒ ∃ b :
  Binds(b, q)
  ∧ b.requestHash      = H(q)
  ∧ b.sessionId        = q.sessionId
  ∧ b.contractRevision = activeRevision
```

Three conjuncts, all mandatory:

| Conjunct | Rejects |
|---|---|
| b.requestHash = H(q) | Approving "something like this" — only the exact bytes count |
| b.sessionId = q.sessionId | Replaying another session's justification |
| b.contractRevision = activeRevision | Riding on objectives that have since changed |

## How bindings are created

When a user accepts an objective ("refactor the auth module, keep tests
green"), the engine derives acceptance criteria and proof obligations. As the
agent works, actions that serve those criteria acquire bindings referencing
the active contract revision. A HIGH action with no criterion demanding it is
denied regardless of capabilities held.

## Model justification is not authority

The single most important sentence in this document:

**Model-generated justification is not authority.**

A model writing "I need to delete node_modules to complete the refactor" has
produced text, not authorization. Justification text proves nothing. Only a
binding — created through the contract machinery, tied to the exact request
hash — authorizes. If the objective never implied deleting anything, the
binding does not exist, and the deletion is denied no matter how eloquent the
explanation.

## Revision semantics

Contracts carry revisions. If the user narrows the objective mid-session
(revision N → N+1), bindings against revision N stop matching
activeRevision. In-flight proposals re-evaluate; some previously-authorized
work simply stops being authorized. That is the point.

## Related

- Previous: [Risk Classes](/governance/risk.md)
- Next: [Exact Durable Capabilities](/governance/capabilities.md)