Apple container Evaluation Record
August 16, 2026 ยท View on GitHub
Status
Workcell completed the C1 evaluation of Apple container. Workcell approved
the technical evaluation and deferred operator promotion.
The host-support matrix marks the target preview-only and blocked. The
Workcell CLI does not expose apple-container as a target. Colima remains the
default target.
Test Environment
The test host used macOS 26.5.1, Apple Silicon, and Apple container 1.0.0.
The guest used Linux kernel 6.18.15.
Test Methods
Repository tests exercise the local-VM contract and lifecycle. The tests use
the deterministic AppleContainerTarget in
internal/applecontainer.
The live probe calls RequireMacOS26() before it invokes the Apple CLI. The
probe measures start time and reads VM isolation properties.
Observed Results
Three idle-host samples had a median warm start of approximately 857 ms. The fastest sample was 843 ms. A busy host produced results from two to seven seconds.
The inspected container had a Linux kernel and hostname that differed from the
host. It had a 192.168.64.x network address and an ext4 root on a /dev/vd*
block device. These observations match the per-container VM model.
The probe observed VM separation from the host. It did not compare two concurrent containers. This result does not establish a stronger assurance claim for Workcell or operator support.
Limits
The evaluation used one Apple Silicon host. The idle-host measurement used three samples. This result does not create a general performance claim.
The evaluation probe uses the macOS 26 guard. The Workcell launcher does not
use this guard because it has no apple-container operator target.
The deterministic target writes lifecycle audit records without a signed digest chain. Session verification fails closed for this target.
Workspace Materialization Safety
The deterministic target pins a trusted, pre-existing StateRoot before it writes target state.
It rejects a source workspace that overlaps StateRoot.
Each materialization ID is create-once, and native exclusive publication does not replace an existing materialization.
The target prepares a private 0700 stage under .materialization-staging.
After stage creation, a preparation failure leaves the stage in place without pathname cleanup.
An operator can inspect and remove the stage after they understand the failure.
The conformance check reads workspace trees through stable descriptors. It does not create mirror copies. Persisted manifests use the same 64 MiB limit as workspace publication. The manifest reader rejects noncanonical JSON and trailing data.
Decision
The technical evaluation result was GO. Workcell deferred operator
promotion. The target stays preview-only and blocked.
A promotion change must add CLI selection and update the exact matrix row. It must add diagnostics, rollback, tests, and live certification. The change must also address audit signatures. It must satisfy the controls in Invariants.
Use
policy/host-support-matrix.tsv for the
support decision. Use Runtime Target Phase Record
for the program status.