Components · Agents

Tool policy engine

Checks every tool call against permissions and data-flow rules before it runs.

Lesson
Coming soon
Zone
app
Place it
6 cr on the blank canvas, free inside a problem

At a glance

Did you know
A policy engine checks each tool call against what this agent, user and data may do.
Rule of thumb
Deny by default for side-effecting tools; log every decision.
Watch out
Over-strict policies stall agents; policy store becomes a hot path.

Its settings in ScaleMySystems

What you can change on it in the lab, and what each number does.

Concurrency (slots)
Calls it can work on at once (per instance when autoscaling). Needed slots ≈ calls per second × seconds each takes. Extra calls wait in the queue, then are rejected.
Queue capacity
Calls allowed to wait for a free slot. A bigger queue absorbs bursts but adds waiting time; 0 rejects straight away.
vCPU
CPU cores available. Needed ≈ calls per second × CPU per request ÷ 1000. Above about 90% busy it slows down and may crash.
CPU per request (ms)
CPU time each call burns. Part of what the component is; make the code cheaper to lower it.
Latency (p50) (ms)
Typical time one call takes here, before any calls it makes itself. Slots are held for this long.
Latency (p99) (ms)
The slowest 1% of calls. Callers must set their timeout above this or they cut off healthy calls.
Timeout to dependencies (ms)
How long it waits for each call it makes before giving up. Set it above the dependency’s p99 but low enough that a dead dependency does not hold every slot.
Error rate
Share of calls that fail on their own (bugs, declines, flaky tools). An agent that calls it on every step multiplies this.
Quota (req/min)
Calls allowed per minute (an API key or provider limit). Calls over it get 429s. Needed = calls per second × 60, with headroom.

Problems that start with it

  • Policy check on every tool call Every tool call is authorised by a policy engine with 8 slots and 30 ms per check.
  • Policy service on the chat path Every chat checks a data-access policy service with 8 slots and 40 ms per check.
  • Multi-tenant RAG: the permission filter Each customer may only see its own documents, so every retrieval passes a document-ACL filter after hybrid search. The filter has 2 slots and takes about 60 ms; questions arrive at 60 a second.
  • Coding agent platform: the model provider goes down A coding agent platform: each task is a loop of model calls, tool calls, code runs in a sandbox and checkpoints, minutes long. Twenty seconds in, the model provider has an outage for 30 seconds. Every step that needs the model fails, and with it the whole task: two in three tasks are lost.

Full lesson coming soon

Lessons are being added one component at a time: how it works, its settings, a live exercise to break and fix it, interview questions and a short check. See the Circuit breaker lesson for what one looks like.