This is the short policy entrypoint for agentsfleet.
- Keep control-plane orchestration separate from dangerous agent execution.
- Fail closed on missing runtime prerequisites or degraded sandbox posture.
- Keep automation credentials short-lived and outside agent artifacts.
- Make failures attributable: orchestration, sandbox, policy, or validation.
- Network boundary
- Data boundary
- Queue boundary
- Identity boundary
- GitHub automation boundary
- Execution boundary:
agentsfleetdassigns work via leases;agentsfleet-runnerruns each lease's tool calls in a bubblewrap sandbox of its own (rustd/crates/afr_sandbox), with the agent loop in its trusted supervisor (rustd/crates/afr_agent)
agentsfleet-runnerleases one event and runs its tool calls in a sandbox of its own (rustd/crates/afr_sandbox), destroyed when the lease ends or held frozen for the same fleet's next lease.- The agent loop and the model keys stay in the runner's supervisor (
rustd/crates/afr_agent), outside every sandbox; the runner owns Linux sandbox enforcement (bubblewrap, Landlock, seccomp, cgroup v2) for each lease. - If the sandbox posture is unsafe, run admission must fail closed.
- If a sandboxed child dies mid-stage, the lease expires and the run is reclaimed + re-run by another runner, or blocked from persisted stage state.
- Active runs are not guaranteed to survive
agentsfleet-runnerupgrades.
UZ-SANDBOX-001backend or prerequisite unavailableUZ-SANDBOX-002forced teardown / kill-switch firedUZ-SANDBOX-003command blocked by policy- Correlate by
trace_idfirst, thenrun_id