- create/delete run as driver-owned tasks: cancelling the gateway request
can't abandon provisioning or cleanup; duplicate creates are rejected
- delete keeps a 'deleting' record (visible, blocks concurrent deletes) and
removes + announces only after E2B confirms; failures stay visible
- failed create rollbacks go on a leaked list the health loop keeps retrying
- health: judge only boxes known before the E2B query (no false 'gone')
- bounded shutdown on SIGINT/SIGTERM: stop helpers, kill E2B boxes, exit
- reject workload identities other than sandbox/1500 in Validate and Create
- socat step fails if the runtime socket never appears
- spike negative-test client verifies the certificate too
- watch: a fence failure is no longer shown as success
- control template pins e2b@2.51.0; demo.sh asserts 200/403/denied with
bounded waits and always cleans up; README and end card claims made precise
What
Follow-up to #1, which was merged before its second review round landed. These three commits were pushed to the #1 branch after the merge, so they aren't on main yet. The #1 description already describes them.
Changes
Driver (Codex gpt-6-astra, round 2)
Scripts and docs
./media/demo.mp4
Verified live on E2B
- npm run demo passes all assertions against the rebuilt driver (create and delete through the new tasks).
- SIGTERM with the gateway's watch open: supervisors 1 → 0, E2B boxes 1 → 0, driver exited.
- cargo clippy (pedantic + nursery, unwrap/expect denied) clean; cargo test 3 passed.
demo.mp4