Skip to content

wu:sandbox

← Back to CLI Commands

Run command through hardened WU sandbox backend

pnpm wu:sandbox --id <wuId>

Options:

FlagDescriptionRequired
-i, --id &lt;wuId&gt;Work Unit ID. Required except on wu:create, which auto-generates the next sequential ID when omitted.Yes
-w, --worktree &lt;path&gt;Set the local worktree path; claims verify its confined realpath and exact Git registrationNo
--network &lt;posture&gt;Network posture for the sandboxed command: off, full, allowlist (default full)No
--loopback-grant &lt;host:port&gt;Linux only, with —network allowlist: also reach exactly this host loopback pair, 127.0.0.1:<port> or [::1]:<port> (repeatable, at most 4, default none; no ranges, hostnames or other addresses); requires —loopback-reasonNo
--loopback-reason &lt;text&gt;The reason recorded with every —loopback-grant (required with it; printable ASCII, at most 200 characters)No
--box &lt;name&gt;Linux only: start a boxed agent session with this box identity (its clone, home and pnpm store persist)No
--profile &lt;name&gt;Box spawn profile: agent (default), generic, test or buildNo
--interactiveInherit the terminal and keep Ctrl-C directed at the harness (default when stdin and stdout are TTYs)No
--no-interactiveUse the noninteractive protocol; Ctrl-C stops the entire sessionNo
--at &lt;sha&gt;build profile: the full 40-hex commit sha the fresh clone checks outNo
--out &lt;dir&gt;build profile: absolute host directory the fd-safe copy-out creates from the box’s /lf/out (regular files only)No
--checkPrint what a box can reach (mounts, env names, egress rules with reasons, sockets, relay policy, credential path, gate path, engine facts), then the posture of one start with argv trueNo
--conformanceWith —box <name>: run the real-process suites in a test box against that box’s clone; fails on 0 executed or any skipped. With —engine <id>: run the engine conformance catalogue insteadNo
--engine &lt;id&gt;With —conformance: run the conformance catalogue against this registered engine (Linux, from a source checkout). Exits 0 only on a pass: a skipped test fails its case, a case with no test is inconclusive, and inconclusive fails. A report grants nothing. With —admit: the engine to admitNo
--guest-launch &lt;module&gt;With —conformance —engine lumenflow.microvm: the guest builder’s guest-launch composition module (absolute path). It is trusted code that runs in the catalogue’s processes: it must be a regular file owned by root or the invoking user, not group- or world-writable, with no symlinked path component, and its sha256 is measured into the report. The catalogue runs for the microVM engine through it as a guest-class target, judged by host-side observers, and prints the report the builder signs a version 2 claim over. Without it the microVM engine refuses: LumenFlow ships no hypervisor launchNo
--guest-artifact &lt;path&gt;With —guest-launch (required at least once): a guest image file (VM kernel or root filesystem, absolute path) the host measures into the report. Repeat for each fileNo
--jsonWith —conformance —engine: print the canonical D4 report JSON instead of the summary. With —admit: print the outcome as JSONNo
--report &lt;file&gt;With —conformance —engine: also write the canonical D4 report JSON to this file. With —admit —dry-run: the report to evaluateNo
--admitOperator engine admission for this host (Linux, as root). Exits 0 only when a verified claim was writtenNo
--launch-user &lt;user&gt;With —admit: the production identity the kernel and agents run as; the catalogue runs as this non-root userNo
--dry-runWith —admit —report <file>: evaluate an existing report against the signing rules and print the typed reasons; needs no root and no key, and signs nothingNo
--scheduleWith —admit: print a scheduled re-admission unit for the host; installs nothingNo
--provision-fixturesOperator admission host only: prepare the admission test fixturesNo
--remove-fixturesOperator admission host only: remove the admission test fixturesNo

← Back to CLI Commands