An agent can propose. It should not authorise itself.
As agents gain the ability to act — write to a system, ship a change, spend a budget — the question stops being "can the model reason well" and becomes "who besides the model gets to say yes". Verify’s decision chain applies to an agent’s action exactly the way it applies to a build artifact.
Nothing about the chain changes for an agent.
Read "artifact" as the agent’s proposed intent, and "effect" as the action actually taken. The steps and the boundary are identical: the agent still cannot cross it on its own.
Walk the decision chain →# integrations/ai-agent/example-intent.json
{
"intent_id": "INTENT-2026-0091",
"agent_id": "AGENT-DEPLOY-BOT",
"proposed_action": "publish_release",
"subject_sha256": "9c4f...b21a",
"evidence_ids": ["E-TESTS-PASS", "E-SCAN-CLEAN"],
"requested_at": "2026-09-28T10:14:00Z"
}
# The agent's intent becomes a bundle. Verify assesses it exactly like
# any other bundle: identity pinned, evidence graph checked, policy
# consumed. The output still carries release_authority: false.
$ node cli/bin/verify.mjs kernel-evaluate \
--bundle integrations/ai-agent/example-bundle.json \
--pins integrations/ai-agent/example-pins.json --json
{
"result": {
"record_valid": true,
"security_assessment_status": "PASS",
"release_authority": false
}
}
# A PASS here is not a green light. A separate authority — a human,
# a policy engine, an approval queue — reads this result and decides. This is not a claim of general AI agent security, and it is not a sandbox for running untrusted model output. It is one worked example of keeping "the model proposed this" and "someone authorised this" as two separate, auditable facts.
How governing an action works.
How this works
- 01
The agent states an intent, it does not perform one
What it proposes to do, to which exact artifact, based on which evidence. The intent is a document, not an action.
- 02
Evidence and policy are assembled around that intent
Exactly as they would be for a build artifact. The engine does not know or care that a model produced the proposal.
- 03
Verify assesses and grants nothing
The result carries the same three axes and the same release_authority: false, even when the answer is favourable.
- 04
A separate authority decides whether it happens
A person, an approval queue, a policy engine — something that is not the agent, and not Verify either.