AI agents

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.

Referenceworked local example, no model API called
01 The same chain

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 →
02 A local worked example
# 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.
03 What this is not

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.

04 The mechanism

How governing an action works.

How this works

  1. 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.

  2. 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.

  3. 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.

  4. 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.