Skip to main content
Version: 0.1.0-alpha.5 (alpha)

OCI pool resource qualification

The manual OCI campaign passed on source 4273942ac2c6a7d995a3a2ae99ff8a178cafeee6 on 21 September 2026 (local date). The execution receipt binds the exact Cargo-reported test executable, compiler, source inputs, configured limits and all four reaped commands. The 48 observations have an independent SHA-256 sidecar. The executable was 24,526,128 bytes with digest sha256:3f4f84f3cfeb1d5b3a2a3ba20fed493dabe3b8f90d29b7eb6792867e1b681f4c.

This was a shared Docker Desktop/WSL2 Linux host with three CPUs and 6 GiB. One current-thread Tokio runtime owned the registry client and real local TLS/DNS protocol peers. The process snapshot includes the test harness and peer costs; it is not a standalone registry or production-network throughput measurement.

Fixed, active, recovered and retired ownership​

Each pool ran at one and two concurrent registry operations. Every population retained a fixed snapshot, a physically observed held request, cancellation and recovery, one cold successful pull, three warm successful pulls, and shutdown. Each successful pull verified the exact three-byte blob and its digest.

Held operationCeiling oneCeiling two
Token acquisitionOne leader, no followersOne leader, one follower
Token acquisition reserved bytes65,53665,536
DNS lookupOne resolver, no waitersOne resolver, one waiter
DNS active plus fixed reservation65,696 bytes65,696 bytes
DNS fixed configuration/cache reservation160 bytes160 bytes
Approved redirect reservation16,384 bytes32,768 bytes
Redirect connection reservation262,144 bytes524,288 bytes
Retained registry-operation blob bytes36

All connection and token reservations stayed within their configured limits. Cold and warm pulls retained one 22-byte token per client. DNS kept one bounded cached answer and its fixed 160-byte configuration/cache reservation. These are accounting charges, not allocator or process RSS measurements. Token and DNS retained bytes plateaued across all four successful pulls.

Cancellation aborted every caller before awaiting any of them, preventing a surviving follower from taking over token acquisition. The token/storage TLS peers observed physical connection closure. Registry in-flight work, bearer leaders/followers, DNS resolver jobs/waiters, live connections, connection reservations and redirect reservations all returned to zero. Shutdown closed all three owners and removed cached token/answer entries; configured DNS metadata remained separately measured.

After every owned peer was stopped and joined, the same process returned to two threads, seven file descriptors and zero sockets, matching its initial snapshot. RSS changed from 6,684,672 to 13,893,632 bytes. The campaign does not equate allocator retention with a leaked active owner or promise exact RSS return.

Observed pull latency​

Pool / concurrency ceilingCold pullThree warm pulls, minimum to maximum
Token / one4.336 ms1.378–1.533 ms
DNS / one4.505 ms1.366–1.430 ms
Redirect / one3.199 ms3.095–3.214 ms
Token / two3.908 ms1.339–2.465 ms
DNS / two4.440 ms1.367–1.400 ms
Redirect / two3.148 ms3.105–5.059 ms

The held/cancelled population exercises each ceiling; successful cold/warm pulls are sequential. These local-peer timings cannot establish network service latency or a universal hardware comparison. Approved storage redirects also verify that registry authorization and cookies are not forwarded.

Reproduction and regression boundary​

python3 tools/phase3_resource_oci.py --revision FULL_TESTED_COMMIT --output /workspace/target/oci-run.json --report /workspace/target/oci-observations.json --host-condition shared-docker-desktop-wsl2
python3 -m unittest tools.tests.test_phase3_resource tools.tests.test_phase3_resource_oci
cargo test --locked -p latent-oci --lib

The manual case is explicitly ignored in ordinary CI. Its runner requires a fresh absolute output/report path, exact nonempty test listing, bounded subprocess output and deadlines, unchanged source/binary identities and complete observations. Small tests reject incomplete populations, wrong artifacts, unbounded reservations, retained active owners and unreaped peers. All 54 ordinary OCI tests passed with the manual case explicitly ignored. The unconditional workspace dependency graph also passed.

The earlier execution and earlier observations remain unchanged. That source used the higher-level testkit process probe: measurements passed, but CI correctly rejected the new dependency cycle. The current probe reads only this process's bounded Linux status and descriptor population and introduces no node/provider dependency into OCI.

Together with the provider checkpoint, standalone provider profiles, and renderer/shared-storage measurements, these observations cover the resource populations requested by #239. Each receipt retains its original source and pending ticket status. Ticket closure and the overall Phase 3 gate require the reviewed integration and their separate dependency evidence.