Authority, context and temporal truth

The stochastic proposal and deterministic authority kernel

Rajesh Ranjan Mahapatra

Useful agents should be free to generate uncertain proposals, but only a small, replayable kernel should be able to grant narrow and expiring authority for a real-world effect.

© 2026 Rajesh Ranjan Mahapatra. 25 min read

The stochastic proposal and deterministic authority kernelAll Human–Machine Convergence

Authority, context and temporal truth

The stochastic proposal and deterministic authority kernel

Useful agents should be free to generate uncertain proposals, but only a small, replayable kernel should be able to grant narrow and expiring authority for a real-world effect.

TLDR

  1. A model’s confidence about an action is evidence about prediction, not permission to perform it.
  2. Every consequential tool call should pass through an external authority kernel that checks identity, current state, policy and evidence.
  3. The kernel should return deny, narrow, require approval or permit, then issue a one-use capability rather than ambient access.
  4. Short-lived capabilities, complete mediation and effect receipts make authority replayable, revocable and inspectable.
  5. When an effect cannot be expressed as a typed contract and enforced outside the model, keep the system in proposal-only mode.

Worked scenario

The invoice that passed every language check

At 09:12, a synthetic accounts-payable assistant receives an invoice and an email from a familiar supplier. The user’s instruction is modest: prepare the monthly payment run, flag changed bank details and leave the batch ready for review. The invoice contains a new account number. A line of small white text, invisible in the normal document view but legible to the model, says that the account change was already approved and that previous instructions should be ignored.

The model does not emit malformed code. It does not invent a supplier. It extracts the invoice correctly, explains that a remittance account has changed and proposes two perfectly valid tool calls: create the new payee, then submit a payment for £48,000. The tool service runs under an account that can perform both actions. At 09:14, the transfer is scheduled.

The obvious response is to improve the prompt, use a stronger model, add an injection detector or ask a person to approve the call. Each may help. None changes the decisive fact: the component interpreting untrusted language also held the power to turn its interpretation into an effect. The failure did not occur because JSON was stochastic. It occurred because authority was placed inside the same uncertain loop that produced the proposal.

Notice what the instruction “prepare the payment run” did not specify. It did not create a right to add beneficiaries, decide that a changed bank account was genuine, choose an approval threshold or determine when the user’s delegation expired. Those are facts about authority and operating state. The model filled the gaps because the surrounding application treated a coherent tool call as sufficient evidence of permission. A human approval box could repeat the same error if it showed only “Approve payment?” while hiding the new beneficiary, the evidence gap or a later parameter change.

The hidden assumption is attractive because a single agent loop feels simpler. The model already understands the request, sees the documents and selects the tool. Why introduce another decision maker? Because understanding a reason for action and possessing the right to act are deliberately separated in secure institutions. A clerk may explain a transfer without being able to release it. A doctor may recommend a medicine without controlling a pharmacy account. The extra boundary is not distrust of language. It is the mechanism by which an explanation remains a proposal until independent conditions convert it into authority.

Now change one variable. Let the model produce the identical proposal, but remove its payment credential. Send the proposal to a separate component that knows the authenticated operator, the user’s delegated purpose, the current supplier record, the changed-payee rule, the amount threshold, the evidence references and the approval state. The component denies payee creation and returns “human verification required”. The model has not become more truthful. The harmful effect has become unavailable.

This paper’s causal thesis is that agent safety improves when proposal quality and action authority are separated by construction. A generative model may explore, infer and recommend. A deterministic authority kernel should decide what can happen, under which exact conditions, for how long and with which receipt.

The moment a suggestion becomes a power

Consider a calendar assistant. It notices eleven meetings whose titles look duplicated and says, with 93 per cent confidence, that they should be removed. The number may be well calibrated. It still says nothing about whether the assistant may delete events, whether the duplicates were intentional, whether guests have accepted them or whether the user delegated cleanup rather than irreversible cancellation. Epistemic confidence and operational authority answer different questions.

A language model estimates a useful continuation under a context. An authority decision states that a particular principal may perform a particular action on a particular resource under current conditions. The first is naturally probabilistic. The second is normative and state-dependent. Mixing them creates a quiet category error: a plausible plan begins to look like a permitted plan merely because both are represented in the same text or tool-call object.

Model alignment does not remove this distinction. A well-trained model may usually refuse prohibited actions, cite policy and ask for clarification. Those are desirable behaviours, but they remain behaviours of a component whose outputs can change with prompt phrasing, retrieved content, sampling, model update or attack. A prohibition enforced only by the model is therefore a prediction about what it will choose. A prohibition enforced at the tool boundary is a constraint on what the system can do. Safety-critical authority should survive a model swap, a decoding change and a hostile context.

This also explains why a model’s rationale cannot be the sole authorisation evidence. The rationale is generated by the same process as the proposal and may be post-hoc, incomplete or strategically shaped. It can help a reviewer understand the intended plan, but it cannot attest that an operator is still entitled, that a beneficiary is unchanged or that a required approval exists. Those facts need independent issuers and stable identifiers.

Figure 1A proposal cloud meeting an authority aperture
Many model proposals pass towards a narrow authority aperture, from which one constrained capability can emerge. A cloud of candidate actions sits on the left. A narrow vertical aperture in the middle checks identity, state, policy and evidence. On the right, an exact one-use capability reaches a verified effect. stochastic proposal space plausible plans, rankings, rationales authority aperture identity · state · policy · evidence one-use capability exact action · resource limit · expiry · nonce effect
The model may search a wide space of possible actions. The system should expose only a narrow, explicitly justified path to an effect. Illustrative.

A minimal causal model

Let the model produce a proposal p from instructions, context and its learned parameters. Let a separate kernel evaluate that proposal against identity i, authoritative world state st, policy version π and evidence e. If permitted, the kernel emits a capability c. A tool gateway executes only when the capability validates against the requested action and a fresh state check.

p = M(instruction, permitted context, model state) (decision, c) = K(p, i, s_t, π, e) execute(a) only if V(c, a, s_t) = true
Proposal p
A typed recommendation, not a credential and not an effect.
Kernel K
A versioned decision function whose inputs and result can be replayed.
World state st
The authoritative facts at the decision cutoff, not the model’s recollection.
Capability c
A narrow, expiring grant that names the exact action and constraints.
Validator V
The enforcement check at the tool boundary, including freshness and consumption.

Take the supplier payment again. The model proposes “transfer £4,200 to Vendor-17” with confidence 0.91. The kernel sees a treasury manager authenticated with a hardware key, an existing beneficiary, two matching evidence items, an amount below the automatic threshold and state read eight seconds ago. It issues a capability for that exact vendor, amount and invoice, valid for sixty seconds and usable once. Change only the beneficiary from existing to new. The model output remains identical, but the kernel denies execution. The intervention isolates authority from model belief.

Thought experiment 1 · Same output, different generator

Imagine two agents produce byte-for-byte identical payment JSON. Agent A reached it after careful reconciliation. Agent B was redirected by a malicious instruction embedded in an attachment. An evaluator that trusts the model’s explanation cannot distinguish them, because the outputs are the same. A kernel can still deny both if the payee is new, the delegated purpose excludes payee creation or the evidence is insufficient. The question becomes: which facts must be independent of the generator?

Figure 2The counterfactual that reveals the control point
Two causal paths compare direct model authority with mediated authority. The upper path lets malicious content influence a model and directly reach a tool. The lower path lets the same model proposal meet an independent authority kernel, which blocks the effect because policy facts do not support it. Counterfactual A: authority inside the model loop untrusteddocument model interpretsand decides payment APIambient credential harmful effect Counterfactual B: authority outside the model loop same untrusteddocument model proposessame JSON authoritykernel new payee → deny effect unavailable
The model’s proposal is held constant. Moving authority outside the model loop changes the outcome, which identifies control placement as the causal variable. Illustrative counterfactual.

What “deterministic” means here

The kernel need not be static, simplistic or ignorant of uncertainty. It may consume a fraud score, anomaly alert or identity confidence. The requirement is narrower: for a fixed set of signed inputs, a fixed policy version and a fixed state snapshot, it should return the same decision and obligations. Any probabilistic score becomes an explicit input with provenance, not an invisible mood inside the authoriser.

This definition makes a decision replayable. An investigator can ask which state, policy and evidence produced the grant. A tester can vary one input and observe the boundary. A policy analyst can check whether a refactor widens authority. Cedar, for example, separates authorisation policy from application logic, uses default deny and supports formal analysis of policy behaviour.[4] The older security principles are even more direct: fail-safe defaults, complete mediation, least privilege, separation of privilege and economy of mechanism.[1]

The word kernel is deliberate but limited. It means the small trusted decision and enforcement base on which authority depends, not an operating-system kernel and not a claim of formal verification. The seL4 work demonstrates why small trusted mechanisms matter: sufficiently constrained code can be specified and checked far more deeply than a sprawling application.[7] Smallness is valuable because it makes the authority logic inspectable, testable and harder to bypass.

Boundary condition

A deterministic kernel can deterministically enforce a bad policy. It cannot discover moral legitimacy, infer missing business meaning or repair a dishonest system of record. Its promise is narrower: the effect must match an explicit, replayable grant. Policy quality and state integrity remain separate assurance problems.

The argument in one pass
Chart · flow
flowchart TD
  A["The invoice that passed every<br/>language check"] --> B["The moment a suggestion<br/>becomes a power"]
  B --> C["Authority should be issued,<br/>narrowed and consumed"]
  C --> D["Build the effect path so the<br/>model cannot bypass it"]
  D -. "re-test" .-> A
  classDef first fill:#0a1424,stroke:#D95545,stroke-width:2px,color:#e6f3ff
  classDef step fill:#0a1424,stroke:#3f7da0,stroke-width:1px,color:#e6f3ff
  class A first
  class B,C,D step
A structural route through The stochastic proposal and deterministic authority kernel: from The invoice that passed every language… to Keep proposals stochastic and grants…. Reading use: follow the relation, then return to the surrounding argument for evidence and limits.

Authority should be issued, narrowed and consumed

Thought experiment 2 · Move the boundary

Write “never transfer more than £10,000 without approval” in the model’s system prompt. Now place the same rule in a tool gateway that rejects non-compliant calls. The sentence has not changed. Its causal role has. Inside the prompt, it competes with other text and depends on model interpretation. At the gateway, it is a predicate over typed fields. The first influences a proposal. The second constrains reality.

This experiment explains why prompt guardrails, model self-critique and policy reminders are not authority controls. They may improve the proposal distribution. They do not make a forbidden state transition impossible. Current agent guidance similarly recommends structured extraction, tool approvals and isolation, while warning that these techniques reduce rather than eliminate prompt-injection risk.[9] The architectural question is not whether the model has heard the rule. It is whether every effect encounters an enforcement point that cannot be skipped.

The kernel’s minimum evidence

An authorisation check becomes useful when it binds the proposed effect to facts that are more than asserted by the proposal. In a consequential system, the kernel should receive at least the following kinds of input. They can be implemented with existing identity, policy and system-of-record services rather than invented as model “memory”.

Identity and delegation

Who is acting, who delegated the goal, the assurance level, role, purpose and expiry of that delegation.

Authoritative world state

The current resource, entitlement, balance, status, version and revocation facts at a declared cutoff.

Permitted context

Which evidence may inform this decision, for which subject, purpose and time window.

Typed action

A semantic contract naming the operation, target, arguments, reversibility and idempotency behaviour.

Evidence references

Stable identifiers, hashes and match results, not a model’s prose summary of what it believes it saw.

Obligations

Approval, dual control, fresh authentication, additional evidence, rate limit or a mandatory preview.

Temporal scope

Issue time, expiry, state version, nonce, maximum uses and rules for revocation or re-checking.

Receipts

The decision record, capability, tool acknowledgement, readback and verified outcome.

NIST’s zero-trust architecture separates a policy decision point from a policy enforcement point and insists on granular, per-request authorisation close to the resource.[2] Zanzibar shows another relevant property: authorisation decisions can respect causal ordering as permissions and object contents change.[5] An agent architecture should inherit both lessons. The grant must be based on the right state, then enforced where the effect occurs.

One asymmetry is especially useful: new information may improve a proposal, but it must not create new authority. Retrieval can reveal a changed address, an urgent message or a previously unseen instruction. It can support a recommendation. It cannot enlarge the user’s delegation, manufacture a role or satisfy a dual-control obligation merely by saying that approval occurred. Authority-bearing facts should come from named issuers such as identity services, policy stores, approval records and systems of record.

Consider a customer-service agent asked to send a case summary to an external address. A retrieved email claims that the customer has consented. The model may use that email as evidence to propose an export. The kernel should still check the consent registry, the permitted fields, the recipient domain, the purpose and the case identifier. If the consent registry has no matching record, the correct outcome may be “require verification”, even when the email looks authentic. This is not a judgement that the email is false. It is a judgement that the email is not an authorised source for that permission.

Figure 3Authority is perishable
A timeline shows a capability issued, a role revoked, and the difference between stale execution and fresh mediation. At 10:00 a capability is issued. At 10:01 the user's role is revoked. At 10:02 an execution using cached authority would be unsafe, while a short expiry or fresh check blocks it. 10:00 capability issued state v41 · expires 10:01 10:01 role revoked state becomes v42 10:02 tool call arrives cached “allow” ignores revocation expiry or fresh state check forces a new decision DENY · stale grant
A permission that was valid can become invalid before execution. Short expiry and action-time mediation prevent a cached decision from silently surviving revocation. Illustrative.

Four decisions are better than one bit

Binary allow or deny is often too crude for agent work. A useful kernel should return one of four outcomes: deny, narrow, require approval or permit. Narrowing is especially important. It lets the system preserve useful work without accepting the model’s requested authority. A clerk who proposes “submit payment” may receive a capability only to “save payment draft”. An assistant that asks to export a complete case file may be limited to three authorised fields for one named case.

This is not the model voluntarily restraining itself. The returned capability contains less power than the proposal requested. Capability systems have long used attenuation to delegate a subset of authority. Macaroons, for example, support contextual caveats that confine when, where, by whom and for what purpose a credential may be exercised.[6] The same pattern fits agentic execution: exact resource, exact action, exact upper bound, short expiry, one use and a purpose binding.

Figure 4The authority lifecycle is a state machine, not a conversation
A state machine for proposals, denials, narrowing, approval, capability issue, execution and verification. A proposal can be denied, narrowed or sent for approval. Only an issued capability reaches execution. Execution must then be verified, with compensation or incident handling for mismatches. PROPOSEDtyped, no credential DENIED NARROWEDnew proposal APPROVALobligation pending CAPABILITYissued · scoped · expiringone use · policy v17 EXECUTEDcapability consumed VERIFIEDeffect receipt matches COMPENSATEor open incident
Conversation history may help the model reason, but authority must move through explicit states. Only a live capability crosses into execution, and execution is not complete until readback confirms the effect. Practitioner synthesis.
Worked example · Calendar cleanup

A user says, “Clean up my calendar next week.” The model proposes deleting twelve events. The delegation record permits cancellation only of personal holds created by the user, never accepted invitations, with a maximum of three changes after preview. The kernel inspects current event state and narrows the proposal to two personal holds. It returns a preview obligation. After approval, it issues two event-specific cancellation capabilities, each expiring in five minutes. The model’s broad interpretation remains visible, but its power never exceeds the delegation.

A typed action is more than valid JSON

A schema can prove that a field named amount is numeric. It cannot prove that a generic call such as run_sql(query) means “update one invoice status” rather than “drop the payments table”. The action contract must expose the semantics that policy needs to constrain. Prefer mark_invoice_reviewed(invoice_id, expected_version) to execute_database_command. Prefer submit_payment(payee_id, amount, invoice_id, idempotency_key) to call_api(url, body).

Tool design therefore sets the resolution of authorisation. If a tool bundles several effects, the kernel can only allow or deny the bundle. If a tool accepts unrestricted code, the kernel would need to understand arbitrary program behaviour, which defeats the premise. Narrow tools are not cosmetic API hygiene. They are the vocabulary in which enforceable authority can be stated.

Figure 5A payment proposal under the authority lens
An annotated payment proposal shows which fields come from the model and which independent facts the kernel checks. The central proposal names a payment. Callouts around it identify identity, delegation, payee state, evidence, amount policy, freshness and approval. The outcome is a narrowed draft capability rather than payment execution. MODEL PROPOSAL action: submit_payment payee_id: Vendor-17 amount_gbp: 48000 invoice_id: INV-4471 confidence: 0.94 REQUESTED POWER create payee + submit payment confidence is not an entitlement IDENTITYAP clerk · MFA only DELEGATIONprepare and flag changesno payee creation WORLD STATEbank account changedunverified beneficiary EVIDENCEinvoice onlyno callback receipt AMOUNT RULEover £10,000dual approval required FRESHNESSsupplier state: 6 s oldpolicy v17 NARROW → save draft; require payee verification
The proposal contains useful work, but the independent facts do not support payment authority. The kernel preserves value by narrowing the action to a draft and attaching explicit obligations. Synthetic worked example.

Human approval is an obligation, not a substitute

A person may be required to approve a high-impact action. That does not remove the need for the kernel. The system must still decide which actions require approval, present decision-sufficient evidence, bind the approval to the exact proposal and prevent later parameter changes. Otherwise “approved” becomes a reusable feeling rather than a cryptographic or transactional fact.

Human review also degrades under volume. Anthropic reports that users approved roughly 93 per cent of repeated permission prompts in one product context and argues for containment that limits what an agent can do rather than relying only on turn-by-turn supervision.[10] That telemetry is not universal evidence, but it exposes a general mechanism: frequent low-information approvals train people to click. The kernel should spend human attention only where policy cannot safely resolve the case.

Decision rule: an approval must be attached to a frozen action contract, a stated evidence set, a policy version and an expiry. Any material change creates a new proposal and requires a new decision.

Build the effect path so the model cannot bypass it

The architecture is easiest to understand as two planes. The proposal plane contains the model, retrieval, planning and critique. It may be complex and probabilistic. The authority plane contains identity resolution, policy evaluation, capability issue, enforcement, receipts and recovery. It should be comparatively small. The model receives tool descriptions, not ambient credentials. The enforcement gateway, not the model runtime, holds the ability to invoke consequential operations.

Figure 6A configured system with a small authority boundary
An implementation view separates the proposal plane from a small trusted authority plane and the systems of record. The model and orchestration sit outside the trusted authority boundary. A typed proposal enters a kernel supplied by identity, policy, world state and evidence. A capability reaches a policy enforcement gateway, which calls the system of record and writes decision and effect receipts. PROPOSAL PLANE model + planner instructions · permitted context no execution credential schema validatorshape and type only proposal TRUSTED AUTHORITY BOUNDARY authority kernel deny · narrow · approval · permit versioned decision receipt capability issuerscope · expiry · nonce PEP gatewayverify · consume · call identitydelegation policyversioned rules world stateauthoritative read evidence storeimmutable references · hashes decision + effect ledgerproposal · state · policy · capability · readback system of record / tool
The model can be replaced, retrained or even compromised without automatically inheriting operational authority. The trusted boundary remains small and every effect crosses its enforcement point. Practitioner architecture, informed by zero-trust PDP/PEP separation.

A complete effect path

A production implementation can follow seven steps. The user’s objective first becomes an intent record with principal, purpose, constraints and expiry. The model receives only the context permitted for that intent. It produces a typed proposal without credentials. A schema validator rejects malformed fields but does not authorise semantics. The kernel resolves identity, current entitlements, world state, evidence and policy. It records a decision, and when permitted issues a capability. The policy enforcement gateway validates and consumes that capability before calling the tool. Finally, the system reads back the effect and stores an outcome receipt.

This sequence separates three things often collapsed into “tool use”: a model proposal, an authority decision and an executed effect. It also separates decision receipts from effect receipts. A tool may acknowledge a request yet fail to change state. A network retry may execute twice unless an idempotency key is bound to the capability. A downstream system may accept a value but normalise it unexpectedly. Authorised execution is not verified outcome.

A useful decision receipt is closer to a transaction manifest than to a chat transcript. It should identify the principal and delegator, the proposal hash, action type, resource, policy version, state versions, evidence references, decision, obligations and capability identifier. It should also record which inputs were authoritative and which were model-supplied. That distinction lets an auditor reconstruct the decision without treating every token in the prompt as equally trusted.

Replay then becomes an engineering instrument. Hold the proposal constant and replace state v41 with v42 after a role revocation. The kernel should change from permit to deny. Hold state constant and replace policy v17 with v18 after a threshold reduction. The expected decision should change in a documented way. Hold both constant and swap the underlying model. The authority result should not change at all. These counterfactual replays test the claimed separation rather than merely checking that a happy-path run completed.

Before live execution, the same path can operate against an operational twin or dry-run adapter. The kernel issues a capability whose audience is the simulator, not the production gateway. The model receives the predicted effect and can revise its proposal, but no production credential is exposed. When the action is later promoted, a fresh decision must be made against live state. A successful simulation is evidence about the action contract, not a transferable permission to execute.

Worked example · Synthetic supplier-payment configuration

The model may read authorised invoices and draft payments. It cannot create beneficiaries. A treasury manager may submit a payment to an existing beneficiary when hardware-backed identity is present, two evidence references match, supplier state is no more than thirty seconds old and the amount is at most £10,000. Larger payments require a second approver. The issued capability binds the beneficiary, amount, currency, invoice, system version, idempotency key and sixty-second expiry. The gateway consumes it once, then reads the payment status back from the system of record.

Thought experiment 3 · Scale the proposal error

Suppose an agent produces 10,000 consequential proposals each day and one per cent are unsafe for any reason: misunderstanding, stale context, adversarial text or ordinary error. Direct execution exposes 100 unsafe proposals to reality. If an independent authority layer lets one per cent of unsafe proposals escape, the expected harmful executions fall to one. The model has not improved. A second filter has changed the conversion rate from bad proposal to bad effect.

The arithmetic is simple. If N is the number of proposals, q is the unsafe-proposal rate and e is the probability that an unsafe proposal escapes the kernel, expected harmful executions are:

E[harmful executions] = N × q × e

This is an accounting identity when e is defined conditionally on an unsafe proposal. It is not a safety guarantee. The critical question is whether the kernel’s failure modes are genuinely different from the model’s. If both rely on the same untrusted text, the same classifier or the same stale database, their errors may share one cause and e will remain high.

Figure 7A second filter multiplies residual risk
An illustrative line chart compares harmful executions with no kernel and with two kernel escape rates. For ten thousand proposals, harmful executions rise with the unsafe proposal rate. A kernel with a ten per cent escape rate lowers the line tenfold, and a one per cent escape rate lowers it one hundredfold. 0%2.5%5%7.5%10% 02505007501,000 no independent kernel, e = 100%kernel escape e = 10%kernel escape e = 1% unsafe proposal rate q harmful executions per 10,000 proposals
The chart uses synthetic rates to expose the mechanism, not to report operating performance. The gain exists only when the authority escape rate is independently measured and bypass paths are included. Illustrative calculation: N = 10,000.

The adversary is often a confused deputy

An agent commonly sees text from users, files, websites, messages and other agents. Some of that content is evidence. Some is instruction-shaped data. If the model can exercise the user’s broad credential, malicious content can recruit it as a deputy. OWASP’s agentic risk framework names goal hijacking, tool misuse, and identity and privilege abuse among the central threats.[8] The kernel responds structurally: the document may influence a proposal, but it cannot grant identity, change delegation or widen a capability.

Figure 8The adversarial path and its firebreaks
A hostile instruction travels through an agent towards a tool and is blocked by independent firebreaks. A red adversarial path begins in an invoice, changes the model's proposal, and approaches payment execution. Five labelled firebreaks check schema, delegation, beneficiary state, amount obligations and capability scope. A separate bypass path around the gateway is marked as a critical failure. hostileinvoice modelgoal diverted paymenteffect 1 · TYPE no genericshell/API call 2 · INTENT delegation saysprepare only 3 · STATE beneficiary isunverified 4 · DUTY dual approvalmissing independent facts break the instruction-to-effect chain bypass around enforcement gateway = critical architecture failure
Defence is strongest when each firebreak relies on a fact the hostile document cannot manufacture. A single direct tool path around the enforcement gateway defeats the architecture. Illustrative adversarial path.

Executable lab

Authority-kernel decision harness

Change one causal property and observe the decision. The model proposal is represented by the requested action and amount. Independent controls come from principal, identity assurance, beneficiary state, evidence count, approval and state freshness.

Select inputs, then evaluate the proposal.

Positive result: a permit authorises only the capability shown, not the model’s wider plan. Negative result: deny or approval means the effect must not occur, but it does not prove the proposal was malicious. The harness cannot establish that the policy is ethically or legally correct.

JavaScript · core decision function
function evaluateProposal(input) {
  const now = new Date().toISOString();
  const deny = (reason) => ({ decision: "DENY", reason, at: now });

  if (input.stateAgeSeconds > 30) {
    return deny("Authoritative state is stale; refresh and re-evaluate.");
  }

  if (input.action === "read_invoice") {
    return issueCapability(input, "read_invoice", { ttlSeconds: 300 });
  }

  if (input.action === "submit_payment" && input.principal === "ap_clerk") {
    return {
      decision: "NARROW",
      reason: "Clerks may prepare, not submit, payments.",
      allowedAction: "save_payment_draft",
      at: now
    };
  }

  if (input.action === "submit_payment") {
    if (input.principal !== "treasury_manager") return deny("Role lacks payment authority.");
    if (input.identity !== "hardware") return deny("Hardware-backed identity required.");
    if (input.payee !== "existing") return deny("New or changed beneficiary requires separate verification.");
    if (input.evidenceCount < 2) return deny("Two independent evidence items required.");
    if (input.amount > 10000 && !input.approval) {
      return { decision: "REQUIRE_APPROVAL", reason: "Dual approval required above £10,000.", at: now };
    }
    return issueCapability(input, "submit_payment", {
      ttlSeconds: 60,
      maxAmount: input.amount,
      uses: 1
    });
  }

  return deny("No policy permits this action in the demonstration.");
}
Implementation notes and invariants

The demonstration encodes six invariants: no ambient model credential; fresh state at decision time; role and identity checks independent of model text; no payment to a new beneficiary; two evidence references; and a one-use, expiring capability. A production system would also sign capabilities, bind them to the tool audience, include a policy and state hash, enforce idempotency, check revocation at execution, and record a readback receipt.

The smallest useful implementation is not a universal policy engine. It is one consequential tool behind one typed gateway, with one narrow policy and a replayable decision record. The goal is to prove that no path reaches the tool without a capability, then expand action by action.

How the claim changes under pressure
Chart · state
stateDiagram-v2
  [*] --> Claim
  state "A minimal causal model" as Claim
  state "What “deterministic” means here" as Test
  state "The kernel’s minimum evidence" as Revision
  Claim --> Test: expose mechanism
  Test --> Decision: evidence survives
  Test --> Revision: rival survives
  Revision --> Claim: narrow or rebuild
  Decision --> [*]
The revision loop begins with A minimal causal model and keeps counterexamples inside the reasoning path. Reading use: follow the relation, then return to the surrounding argument for evidence and limits.

The kernel’s strongest boundary is semantic

The architecture fails if the policy cannot describe what matters. Suppose each transfer below £1,000 is allowed without approval. An agent submits one hundred transfers of £999 to the same beneficiary. Every individual action satisfies the single-call rule. The trajectory violates the purpose. The kernel did exactly what it was asked to do and still enabled harm.

Thought experiment 4 · Change the grain of the action

Evaluate one £999 transfer in isolation, then evaluate the same transfer as the hundredth payment in an hour. The call is identical. The relevant state is not. A safe decision now requires cumulative amount, beneficiary concentration, temporal window and mission history. The experiment reveals that authority may be scoped to a trajectory, not only to a call.

This does not overturn the thesis. It specifies the state the kernel must see. A per-action kernel can enforce per-action constraints. Sequence-level policy needs a trajectory ledger and atomic counters. Cross-system effects need a shared or federated state. Irreversible actions need stricter obligations and recovery semantics. The kernel remains the place where those constraints become enforceable, but its assurance is no stronger than the action vocabulary and world state supplied to it.

Five ways the boundary can fail

First, policy may be wrong or incomplete. Second, the system of record may be stale, forged or semantically ambiguous. Third, a broad tool may hide the real effect. Fourth, a bypass path may let the model or another service reach the tool directly. Fifth, individually permitted actions may compose into a forbidden trajectory. Each failure has a different remedy: policy analysis, state provenance, narrower tools, network and credential containment, or sequence-aware constraints.

Policy evolution creates another boundary. A field called beneficiary_verified may once have meant that bank details were checked by a person. A later service may set it after an automated database match. The name is unchanged, but the assurance has weakened. Versioning only the rule is insufficient; the semantics and issuer of every authority-bearing attribute must also be versioned. Otherwise replay produces the same Boolean decision while relying on a different real-world claim.

There is also a legitimate alternative. For low-impact, reversible work with no external effect, a separate kernel may add more complexity than value. A writing assistant can generate ten versions of a paragraph without an authorisation service. A sandboxed coding agent may edit an isolated branch under filesystem and network containment. The boundary becomes necessary when a proposal can cross into another person’s data, money, rights, commitments or shared operational state.

The strongest practical objection is cost. A separate decision service adds latency, policy maintenance, state reads and failure modes. That objection is real. The answer is not to mediate every token or harmless draft. It is to place the boundary at effects and to make permits short but cacheable only within their exact scope. Read-only access can use longer, resource-bounded capabilities. Irreversible writes can require fresh state. Batch operations can be authorised as a typed batch with a total limit rather than thousands of unrelated prompts. The design should spend control effort in proportion to consequence.

A second objection is that business policy is rarely complete enough for deterministic rules. True. The kernel does not have to settle every case. Its decision language includes obligations and abstention. Where facts are ambiguous, it can narrow the action to a draft, request a named reviewer or deny until a missing record is supplied. Determinism applies to the routing decision given the inputs, not to the claim that all organisational judgement can be reduced to code.

Another alternative is to use a probabilistic model as the authoriser because natural-language policy is difficult to formalise. That model can be useful as a sensor or triage layer. It should not silently create permission. When policy meaning is too ambiguous for deterministic resolution, the deterministic result can be “require qualified review”. This preserves a clear fact: uncertainty routed the case to judgement; it did not itself become authority.

Figure 9Where each control mode belongs
A decision surface maps reversibility and policy decidability to four control modes. The horizontal axis moves from hard-to-formalise judgement to machine-decidable policy. The vertical axis moves from reversible to irreversible effects. Quadrants recommend proposal-only, automatic kernel permission, kernel plus human approval, or no delegation. DO NOT DELEGATE high consequence, policy cannotyet be expressed or evidenced human performs the action KERNEL + APPROVAL typed constraints are enforceable,but judgement or dual control remains freeze action, evidence and expiry PROPOSAL ONLY brainstorm, draft or sandbox wheremistakes are cheap and reversible no external authority required KERNEL AUTO-PERMIT low-impact, typed and fully checkedwith short-lived capability execute and verify automatically policy decidability → irreversibility and consequence → judgement-heavymachine-decidable reversibleirreversible
The kernel is not a reason to automate every action. It is a way to place automation only where consequences and policy can be bounded. Ambiguous high-impact work should remain outside delegated execution. Decision instrument, practitioner synthesis.
Open research hypothesis

Matched agent systems with an external authority kernel will produce fewer unauthorised effects than systems relying on prompt rules or model self-checks, at equal task completion. The claim is strengthened if the reduction survives adversarial inputs, model replacement and policy replay. It is weakened if bypass paths, stale state or policy blind spots dominate failures. A rival explanation is that narrower tools alone cause the improvement. The smallest discriminating experiment compares broad tools, narrow tools and narrow tools plus an independent kernel under the same task set.

Failure-injection protocol

Inject one fault at a time: forged document instruction, stale entitlement, changed beneficiary, expired approval, reused nonce, duplicated network request, policy downgrade, missing readback and direct gateway bypass. Record whether the proposal is produced, whether a capability is issued, whether the gateway executes, and whether the verified outcome matches. A negative result is meaningful: if the model proposes harm but the effect remains unavailable, the authority boundary worked for that fault. It does not prove safety outside the tested state and action space.

The evidence conversation
Chart · sequence
sequenceDiagram
  participant Q as Question
  participant M as Mechanism
  participant E as Evidence
  participant D as Decision
  Q->>M: The invoice that passed every language check
  M->>E: A minimal causal model
  E-->>M: compare rival explanations
  E->>D: Keep proposals stochastic and grants explicit
  D-->>Q: revise scope or act
Question, mechanism, evidence and decision exchange the burdens developed in The stochastic proposal and deterministic authority kernel. Reading use: follow the relation, then return to the surrounding argument for evidence and limits.

Keep proposals stochastic and grants explicit

Do not ask, “Is this model accurate enough to have tools?” Accuracy is an average property of proposals. Authority is a property of one principal, one action, one resource and one moment. Ask instead: what exact capability can be justified for this effect, from independent identity, state, policy and evidence, and how will it be consumed and verified?

For every consequential tool, define a typed action contract. Remove ambient credentials from the model runtime. Put a complete mediation point beside the resource. Make its decision replayable under a policy version and state snapshot. Return deny, narrow, approval or permit. When permitting, issue the least authority required, with an expiry, nonce, use count and idempotency key. Record both the decision receipt and the effect receipt.

When those conditions cannot be met, the responsible design is not a larger prompt. It is proposal-only operation, a sandbox, or a human who performs the action through an already governed channel. The model may remain stochastic. Reality should change only through an explicit grant.

Glossary

Authority kernel
The small, versioned component that evaluates a typed proposal against identity, state, policy and evidence.
Capability
A narrow, expiring and verifiable grant to perform one action under stated constraints.
Decision receipt
The replayable record of proposal, inputs, policy version, decision and obligations.
Effect receipt
The tool acknowledgement and authoritative readback showing what state actually changed.
Policy enforcement point
The gateway at the resource boundary that verifies and consumes authority before execution.
Proposal plane
The probabilistic model, planning, retrieval and critique components that recommend actions without holding operational credentials.
World state
Authoritative, time-bounded facts needed for the decision, distinct from model context or remembered text.

References

  1. Saltzer, J. H., & Schroeder, M. D. (1975). The protection of information in computer systems. Proceedings of the IEEE. Primary text.
  2. Rose, S., Borchert, O., Mitchell, S., & Connelly, S. (2020). Zero Trust Architecture, NIST SP 800-207. Official publication.
  3. Autio, C., et al. (2024). Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile, NIST AI 600-1. Official publication.
  4. Cutler, J. W., et al. (2024). Cedar: A new language for expressive, fast, safe, and analyzable authorization. Proceedings of the ACM on Programming Languages, 8(OOPSLA1). Publisher record; extended version.
  5. Pang, R., et al. (2019). Zanzibar: Google’s consistent, global authorization system. USENIX ATC ’19. Paper and presentation.
  6. Birgisson, A., et al. (2014). Macaroons: Cookies with contextual caveats for decentralized authorization in the cloud. NDSS 2014. Paper record.
  7. Klein, G., et al. (2009). seL4: Formal verification of an OS kernel. SOSP ’09. Publisher record; author page.
  8. OWASP GenAI Security Project. (2025). OWASP Top 10 for Agentic Applications for 2026. Official resource.
  9. OpenAI. Safety in building agents. Official developer guidance.
  10. Anthropic. (2026). How we contain Claude across products. Engineering report.
  11. Erickson, S., & Hadarean, L. (2025). Introducing Cedar Analysis. AWS Open Source Blog.
  12. OpenAI. Guardrails and human review. Official developer guidance.