Run
- The agent wants to acttool call, API request, transfer
- The gate interceptsbefore the outside world sees it
- Allow · Ask · Denywith a reason
- A record is stampedfor later replay
01The Problem
An agent is about to act. It will send an email, refund a customer, open a pull request, or move money. There is one moment — before the call leaves the machine — where a decision can still be stopped or changed.
Miss that moment and governance becomes archaeology.
02Why existing approaches fall short
Async review is not a gate. Nightly audits are not a gate. A dashboard someone will look at tomorrow is not a gate.
The rules only bind behaviour if they live between the agent's intent and the outside world — synchronous, cheap, and never optional.
03The concept
Run is the moment governance is enforced. A run-time gate receives the intended action, evaluates it against the current policy bundle, and returns one of three verdicts: allow, ask, or deny — with a reason and a stamped record.
04How Aarmos applies it
Aarmos runs the gate in-process wherever the agent runs. Tail latency stays predictable at microsecond scale, so the gate can be on every call, not just risky ones.
- Same verdict, same inputs, every time.
- A kill switch stops a class of decisions without stopping the agent.
- Every verdict is recorded in a signed receipt — the input to Prove.
05Example
A support agent tries to refund $9,400. The gate consults the current policy bundle, matches the refund rule, and returns ask — routing to a human on the finance rota. The human approves; the gate records both the original verdict and the human decision as one linked record.
06Mini-FAQ
- Does the gate add real latency?
- Policy decisions are measured in microseconds — ≈1µs p99 at steady state, ≈50µs p99 during continuous policy updates. It runs alongside the agent, not across a network.
- What if the gate is down?
- There is no fail-open path. Decisions without a live gate do not happen — that is the point.
- Can I use my existing policy engine?
- Yes. The runtime accepts external policy sources; see the policy gate docs.