Stop trusting agents to police themselves. Supervision Layer wraps every tool call in timeouts, circuit breakers, and audit logs — enforcement the agent cannot bypass.
Without SupervisionWith SupervisionRunaway callsAgent loops infinitely on a failing APICircuit breaker trips after 3 failuresStuck sessionsTool hangs silently, agent waits foreverTimeout kills it after 30sAudit trailNo record of what happenedEvery call logged with timestamp, outcome, costCrash loopsSubagent restarts infinitelyAfter 3 crashes, marked permanently failed
python
from supervision import get_supervisor
supervisor = get_supervisor()
result = await supervisor.execute(
tool="web_fetch",
fn=fetch_fn,
agent_id="worker-1",
session_id="sess-abc",
)
bash
cd scripts/ && python -m pytest test_supervision.py -v
58 tests. 0 external dependencies. Works with any async Python project.
MIT