# Ground-supply candidate helpers Root alone executes target-writing and native commands in `commands.json`/`commands.txt`. These helpers create a new `.build/playtest-2026-10-03-ground-supply` from `.build/playtest-source-2026-10-03-ground-supply`; earlier mine-safety and mounted-pair candidates remain untouched. Read-only inventory verified 423 authored files and 364 expected PAK payloads. The completed `/tmp/erri-gameplay-root-0826` suite contains 300 successful programs. All current authored/source/test/tool inputs match it exactly. Only `docs/current-status.md` and `docs/infantry-resupply.md` changed afterward. Reuse requires the independent exact delta and current-input map in `/tmp/erri-playtest-review-0914/preflight.json`; suite input hashes are never rewritten. Normal-source evidence is `docs/evidence/native-2026-10-03-resupply-compatible-stock` (63 assertions, one round, no script/runtime failures, 13 retained installed-resource errors). Its enabled zero-radius diagnostic emitted neither the error nor a trace; the intermittent defect remains unresolved. 1. Root freezes source and creates `/tmp/erri-source-ground-supply-0914.zip`. Do not overwrite an unrelated existing archive. `preflight.py` checks exact frozen/suite/normal/review binding and refuses occupied output/session paths. 2. Root checks host-visible processes under approved escalation before each native operation. Restricted process visibility can miss a user game. Do not touch existing sessions. Package session is canonical `/tmp/erri-package-ground-supply-0914`, log `/tmp/erri-gameplay-root-0914/package.log`. 3. `assemble.py` requires unchanged source/external/profile inputs, confirmed cleanup, native child exit0 and exact PAK/source/ZIP membership before creating any candidate. It preserves actual strict packaging result/candidate_created fields; independently usable bytes never relabel packaging passed. 4. Ordinary packed startup uses canonical `/tmp/erri-packed-chat-ground-supply-0914`, log with `.log` suffix. No smoke, trace, input or flight flags. `verify.py` recomputes raw launch/module/input evidence, exact runtime bytes and known installed error set. Unknown errors, script failures, ownership ambiguity or changed inputs stop finalization. Three runtime files are expected, but only actual verified inventory is reported. 5. After independent `final-review.json`, root invokes `finalize_docs.py --verified --review PATH --review-sha256 HASH` to generate a preview. Only root may then repeat with `--apply`. The helper revalidates complete evidence and refuses changed current docs or candidate README. All historical status/guide sections remain; latest pointer advances only after verified packed startup. `finalize_docs.py` without `--verified` produces scratch-only pending previews and makes no package/test success claim. The candidate is **UNQUALIFIED DEVELOPMENT CANDIDATE**, unpublished. Repeated mine placement/native route avoidance, physical logistics/interception, human escape/manual UI, remote multiplayer/JIP/reconnect/twelve-player use, comparative FPS and clean release remain unqualified. Finite post reuse is not same-post repeated mine laying; no new mines or forces are introduced.