First #304 validation allocation REQUEST — not execution authorization. Scope: W0 script behavior only, sequential in .worktrees/hertz-304 after its source boundary is committed. Exact commands: python .github/ci/local-lane-selftest.py bash .github/ci/ci-notify-selftest.sh No Cargo, nextest, compiler, dependency installation, released checker, live SPT notification, network fixture, firewall operation or pool claim/release. The notifier fixture substitutes git/spt and uses fixed fake workflow identity; the driver fixture launches short-lived Python children and injects cleanup-observation failures. This does not accept all W0 or any Rust/product requirement. Separate capacity sizing: forecast under 16 MiB output/temp for the current fixtures (source-based engineering estimate, not measured); request 1 GiB aggregate growth allocation including interpreter caches, raw logs and monitoring margin, PLUS 32 GiB protected reserve. Admission >=33 GiB (35,433,480,192 bytes); stop on aggregate free-space decline >=1 GiB (1,073,741,824 bytes) OR free <=32 GiB (34,359,738,368 bytes). Start and end free-space readings, periodic readings during producers, real producer exit status and PID+birth child cleanup/census retained independently. One producer at a time; outer wall 120 seconds each, no retry or automatic dependency installation. An unavailable capacity/process observation refuses the lane. Scrub perch identity and SPT_HOME; set private same-volume TMP/TEMP/TMPDIR and SPT_INSTALL_NO_FIREWALL=1. Use external retained process handles/monitor, not local-lane.py's own admission path to certify its selftest. Prerequisites still pending: Doyle GO for these commands; exact committed source hash; existing Python/psutil and bash dependencies available without installation; quiet-window/census; fresh capacity admission. No test command has run. Reclaim receipt post-sample was 74,668,027,904 bytes, not a reservation or future admission guarantee. Rust validation is a SECOND allocation, intentionally not folded into this one. .worktrees/hertz-304/target is absent: a cold build there cannot inherit the earlier 4–8 GiB warm-build estimate. The retained hertz-294-sync-stages pool is protected, and redirecting CARGO_TARGET_DIR to it from the new tree is not approved. Before requesting Rust execution, select an explicitly permitted same-tree warm-cache migration or independently sized cold target, preserve diagnostic/failure artifacts, compare compiler/profile flags, and enumerate the exact test binary set. No full-workspace build, pool copy, junction, deletion or takeover is included here.