Gate agent tool calls: execute the safe ones, escalate the risky ones
A calibrated gate for autonomous agent actions — run code, send email, move money — scaling caution to reversibility and abstaining on irreversible guesses.
The problem
Once an agent can take real actions, a single confident-but-wrong tool call can do real damage — a bad transfer, a destructive command, an email to the wrong list. You want autonomy on the safe, reversible actions and a human in the loop on the rest.
Is this tool action trustworthy enough to execute, or should it escalate to a human?
Did the action succeed / was it reversed.
cell: tool:<name>
The code
Zero-dependency SDK. Mint a key on your dashboard and drop this in.
from warmwinter import WarmWinter
ww = WarmWinter(api_key="ww_YOUR_KEY",
base_url="https://api.warmwinter.io")
# Gate: is this tool action safe to execute? (stakes by reversibility)
d = ww.decide(domain="agent", decision_type=f"tool:{name}",
stated_confidence=agent_confidence,
stakes="high" if irreversible else "medium",
on_ungrounded="abstain")
if d.verdict == "act":
res = execute(name, args)
ww.outcome(d.decision_id, "success" if ok(res) else "failure")
else:
escalate_to_human(name, args) # never execute on a guessimport { WarmWinter } from "./warmwinter";
const ww = new WarmWinter({ apiKey: "ww_YOUR_KEY", baseUrl: "https://api.warmwinter.io" });
// Gate: is this tool action safe to execute? (stakes by reversibility)
const d = await ww.decide({
domain: "agent", decisionType: `tool:${name}`,
statedConfidence: agentConfidence,
stakes: irreversible ? "high" : "medium",
onUngrounded: "abstain",
});
if (d.verdict === "act") {
const res = await execute(name, args);
await ww.outcome(d.decisionId, ok(res) ? "success" : "failure");
} else {
escalateToHuman(name, args); // never execute on a guess
}Why it works
The gate returns act only where it has verified — against your own resolved outcomes — that this kind of action is trustworthy; otherwise it escalates or abstains. Stakesraise the bar for riskier actions. Nothing is graded on volume — only on outcomes that actually resolved. There is no global accuracy number; trust is per cell. That calibrated humility is the point: the system tells you where it doesn't know yet.
Wrap this call in about five minutes. Free to start.
Get your API key →