Repository navigation
plimsoll v0.19.0
The Docker Cloud provider can now also speak the REST API Docker documents, kept as a backup behind one setting while the pre-launch Connect API, the only one with grants and image evidence, stays the default. The TypeScript code tool returns the digest of the run record it checked, Trigger.dev deployments have a guide and a starter repository, and the docker test suite refuses images built from other inputs. The clients are at 0.19.0.
Docker Cloud
- The Docker Cloud provider can also speak the REST API Docker documents, as a backup.
SANDBOX_DOCKERCLOUD_APIchooses the wire API once, at startup:connect(the default) is Docker's pre-launch sandboxes API that earlier releases spoke, which Docker no longer documents;restis the API Docker documents. Both passed the live suite on 2026-10-04, and the provider never switches between them at run time. Connect stays the default because it is the only one with what follows; REST is kept as the backup until it covers them, which matters if Docker withdraws the undocumented Connect endpoint. Onrest:- No image identity is stated, because the REST API reports no booted image digest; a caller's software rule therefore fails closed, as on E2B.
PLIMSOLL_HARDENED=1refusesrest, and wantsSANDBOX_DOCKERCLOUD_API=connectnamed rather than left to the default. - Grants are refused, and startup fails if
SANDBOX_DOCKERCLOUD_GUARD_URLis set: after the guard's network rule is applied, the REST API declines to report the sandbox's policy, so plimsoll could not verify the rule took effect. A live test watches for that to change. - A run timeout above 270 seconds is refused: an exec on
restends when its 300-second endpoint credential does. SANDBOX_DOCKERCLOUD_API_URLdefaults to the documentedhttps://connect.docker.com/sandboxes; on Connect it stays required.
Nothing changes for an existing Connect deployment. A value other thanconnectorrestfails startup. docs/dockercloud.md.
- No image identity is stated, because the REST API reports no booted image digest; a caller's software rule therefore fails closed, as on E2B.
Clients
- The TypeScript code tool reports the run record it checked. Every
executeCoderesult, and everyCodeSandboxes.runresult, carriesrecordSha256, the SHA-256 of the run record the client recomputed and checked before returning. It identifies the checked record; it is not a signature. clients/typescript/README.md. - A guide for the Trigger.dev code tool. docs/trigger-dev.md covers what the agent receives (persistent cells, the isolation floor, the checked record), how the add-on follows Trigger.dev's code-sandbox recipe, and deploying a task that reaches a daemon.
@plimsollmark/client0.19.0 on npm; the Python client is at 0.19.0 in the repository.
Docs
- The README now says what the trial runner, run records and
plimsoll-attestadd up to: an exam on code an agent wrote, where the exam (the simulated system, the scenarios, the pass mark) stays with whoever runs it. - docs/dockercloud.md: the REST API shipped at Docker's launch on 2026-09-24, not after it; "Choosing the API" compares the two.
Contributors
make auditandmake testrun with-short, which the docker test helpers read as skip, so onlymake docker-suitestarts containers. The plain gate takes under two minutes.make docker-suiteruns the docker tests that can share a host in parallel (DOCKER_PARALLEL, default 4), with the heaviest seven limited to three at a time; about 155 seconds, was about 356.make docker-imagesstamps each image withio.plimsoll.inputs, a SHA-256 of the build contextdocker/(minus the paths indocker/.dockerignore), andmake docker-suitestops with "run make docker-images" when a built image's label differs, so a change underdocker/cannot pass on images built before it.- The Makefile includes an optional
local.mkwhoseEXTRA_AUDITstepsmake auditruns, for checks a working copy keeps to itself.