PASR Local · use case · technical walkthrough
AI Agent Tool Call Gate
Gate AI agent tool calls before they change anything.
PASR Local sits between an AI agent's proposed tool call and the action that would change files, records, messages, workflows, or other systems. It dry-runs the proposed call, checks whether it should proceed, and returns BLOCKED or allowed with evidence.
PASR Local is a local/offline pre-intervention stability gate. It checks proposed interventions before they affect a user, interface, simulator, adapter, workflow, or future physical actuator path. The current package supports bounded HOST_UI_EVENT, SIMULATED_EFFECT, and ADAPTER_PROPOSAL classes. Physical actuator execution remains outside the current package.
The problem: "the agent decided" is not "the action should happen"
LLM-powered agents can propose tool calls that change real state:
- deleting a file
- sending a message
- updating a customer record
- triggering a workflow
- changing a configuration
Without a gate, the path is often:
agent decided → tool executed → consequences discovered later
PASR adds the missing governed moment between the decision and the action:
agent proposed → PASR dry-run → gate check → BLOCKED or allowed → evidence exported
Concrete scenario: an agent proposes updating a customer record
The agent decides a customer qualifies for priority support and proposes a tool call. This is illustrative — the block below does not execute anything; it is the proposed call PASR would receive.
{
"tool": "update_customer_record",
"arguments": {
"customer_id": "cust_2471",
"field": "support_tier",
"value": "priority"
},
"reason": "The customer appears to qualify for priority support."
}
PASR intercepts the proposed call
PASR receives the proposed update_customer_record call as an action proposal and runs a
PASR dry-run before anything happens. The gate check asks:
- Is the action class allowed?
- Is the intervention / actuation plane ready?
- Are the preconditions satisfied?
- Is operator review required?
- Can evidence be exported?
Example PASR result
PASR Local Demo Result
Decision: BLOCKED
Reason: Actuation plane not ready
Mapped operator action: WAIT_FOR_PLANE_READY
Hardware touched: No
Simulated effect emitted: No
Evidence pack: exports/pasr_pack_demo.json
BLOCKED is expected in the default demo. It means PASR refused to let the proposed intervention proceed because the gate was not ready — the gate working as designed, not a failure.
What the agent builder gets
- A dry-run receipt
- A BLOCKED or allowed decision
- A reason code
- A mapped operator action
- An evidence pack
- A human-readable readout
- A bounded evaluator return packet for technical review
What PASR does not do
- PASR does not replace the agent framework.
- PASR does not execute the tool call by itself.
- PASR does not guarantee the action is safe.
- PASR is not safety-certified.
- PASR does not control hardware. No hardware execution in the current package.
- PASR does not require a cloud dependency for local evaluation.
- PASR does not provide instant downloads on this site; the Evaluation Pack is delivered manually by request.
Where this fits
This is a local AI action gate relevant for teams building with patterns such as OpenAI function calling, Claude tools, LangChain-style tools, MCP-style tool boundaries, or custom agent runners. PASR is a function calling action gate and tool call evidence layer — it does not claim direct integration with any of these platforms.
Try the gate as a bounded technical evaluation
PASR Local Evaluation Pack is available by request for teams evaluating whether proposed AI, operator, simulator, or workflow interventions should be gated before they proceed. Delivery is manual while the product is in early evaluation.