Forward Deployed Engineer, requirement 10 of 12

Approvals and exception handling

I put a person between the agent and the change, with gated tools, a pending queue, expiry, and a record.

The requirementBuild workflows where an agent proposes an action, a signed-in person approves or rejects it, and unanswered requests are handled rather than dropped.

How I deliver it at a customer

  1. Map decision rightsI list every action the agent can take and mark the ones that change a live system. I give each policy its own ordered list of approver roles, so the queue knows who may answer.
  2. Gate the tool callsI route every agent tool call through one bridge that blocks reserved schemas and refuses database writes when writes are off. I can also enable a risk router that sends shell, filesystem, package and deploy tools to an isolated sandbox.
  3. Classify the actionI write the pattern list that the policy engine matches each command against, which labels it allow, confirm or block. Force pushes to main and DROP DATABASE stay blocked, while kubectl delete and helm upgrade need a confirmation.
  4. Hold for a personA confirm result becomes a pending request instead of a running call, and the agent waits for an answer. That path is built but off by default, so I wire it up and test it in each deployment.
  5. Route and answerI point approvers at the pending queue at GET /policies/approvals, where a signed-in person posts an approve or reject decision. The stored request keeps the decider id and timestamp, and a failed write throws rather than letting the action run.
  6. Handle the exceptionsI run a sweep every minute that marks queued requests past the configured approval timeout as expired and emits a timeout event. I set a second sweep to post one note on each work chain left open past the stale threshold.

Tools I use

ToolWhat it does hereStatus
Agent runtime and tool bridgeRuns the agent and sends every tool call through one bridge that blocks reserved schemas and refuses disabled database writes.Available
Command classifier and approval APILabels each command allow, confirm or block, and stores a confirm request for a person to approve or reject.Early access
Approval queue and audit record (GET /policies/approvals, GET /policies/audit)Holds pending requests with the decider id and timestamp, and throws when a decision cannot be written.Early access
Policy exception chains in the admin consoleRecords the ordered approver roles per policy and advances an exception one recorded approver at a time.Early access
Public demo on Cloudflare Workers AIRuns the approve-or-reject demo on this page with a Llama model, not a customer deployment.Demo only

Available means shipped and in use. Early access means built but not generally available. Roadmap means designed, not built. Demo only means it powers this public demo, not customer deployments.

The demo runs an agent that proposes an action against a system and then stops and waits. Nothing runs until you approve or reject, and the page logs your decision with a timestamp.

Open the live demo

The other answers

LLM applications in productionEvery model call goes through one gateway, guardrails run on both sides, and each task gets a measured model choice.Prompt engineeringI write the output shape first, version the prompt, budget its tokens, and compare model replies before shipping.Retrieval-augmented generationGrounded, cited answers over the customer's own documents, with access rules applied before retrieval.AI agents and orchestrationI build agents that call your systems as registered tools, and the workflows that trigger and sequence them.Request classification and routingI build automation that classifies each inbound request, routes it by role, and holds risky changes for human approval.AI workflow orchestrationI design the steps, contracts, and data flows, then ship them as running workflows on customer systems.API and integration designI publish the API contract first, gate it with keys and scopes, then build integrations against it.Hybrid enterprise integrationI connect AI services to your identity, applications and data, then run them where your policy allows.Prototype to productionI take a prototype through generated test suites and merge review gates to a zero-downtime deploy that rolls back on failure.Evals and output validationI score answers against a versioned rubric, trace failing calls to the integration that broke, and tune latency per call.Client-facing deliveryI turn engineering work into updates that client architects, security leads and business owners can each act on.

Gus IT LLC. Contact gus@gusit.de. Claude is a product of Anthropic PBC. Cloudflare and Workers AI are trademarks of Cloudflare, Inc. Llama is a trademark of Meta Platforms, Inc. Other names are trademarks of their respective owners. Gus IT LLC is an independent engineering firm and is not affiliated with or endorsed by these companies.