Versioned documentPlain text

Admission pipeline resource baseline v1

Single-run release measurements · macOS arm64 · 5 September 2026

On this page

Observed costs

The uninstrumented isolated-writer harness is 718,560 bytes (701.7 KiB). Its measured maximum resident set is 2,310,144 bytes (2.20 MiB); macOS peak physical footprint is 1,425,720 bytes (1.36 MiB). RSS and footprint use different accounting and must not be substituted for each other. This is the finite test executable, not a complete node binary or a container memory requirement.

A separately built diagnostic executable is 735,248 bytes. It passes the same twelve checks and reports the same protocol outcomes. Its maximum RSS is also 2.20 MiB in this run. Equality in one run does not show that instrumentation has zero overhead. Normal and diagnostic wall times are 0.43 and 0.48 seconds; deliberate timeout waits dominate this workload, so these are not latency or throughput benchmarks.

Requested heap samples

Allocation snapshots use the existing optional allocation-profile feature. Samples use fixed storage; report JSON is built afterward. Recorded live requested bytes:

  • Entry: 612.
  • Fixtures prepared, before ledger creation: 36,286.
  • Ledger and writer created: 39,102.
  • Held completion with one waiting job: 45,425.
  • Fenced with owner still held: 44,302.
  • Owner joined, before recovery: 3,012.

The cumulative requested-byte peak through these samples is 45,617 bytes (44.5 KiB). It excludes later recovery and report construction. Counts include fixture objects, client preparation, Rust runtime allocations, ledger state and channels. They exclude allocator metadata, foreign allocations, thread stacks and kernel socket buffers. Concurrent worker activity can race a snapshot; phase differences are observations, not isolated component costs.

On this build, Session occupies 1,104 bytes, Driver 4,832 bytes and the writer handle 120 bytes. These overlapping type sizes are not additive; they exclude owned heap allocations and do not measure stack high-water. RSS remains above 2 MiB after the owner joins even though requested live heap falls, illustrating why heap counters cannot stand in for process memory or demonstrate a leak.

Reproduction and scope

cargo build --release --locked --offline --features peer-recovery --example admission_isolated
/usr/bin/time -l target/release/examples/admission_isolated
cargo build --release --locked --offline --features peer-recovery,allocation-profile --example admission_isolated --target-dir outputs/admission-memory-build
/usr/bin/time -l outputs/admission-memory-build/release/examples/admission_isolated

The time flags and resident sampling here are macOS-specific. Other platforms report unavailable resident samples as null. Raw JSON, raw time output, a combined summary and source/binary manifest are retained under docs/results/admission-memory-v1*.

This measures one finite fixture workload with two committed claims and one queued job, not full session/queue/ledger capacity, churn, Internet traffic or millions of agents. No allocator tuning or architecture expansion follows from this sample. Next: distinguish ordinary policy rejection from uncertain ledger errors, then compare recovery traces with the existing model. Capacity sweeps, repeated-run statistics, Linux/container measurements and actual filesystem stalls remain open.