# Explicit fixture admission before Rust physical runs

2026-10-12. The shared Rust/Philadelphia physical qualifier previously
rejected explicit false fixture flags but allowed missing or malformed
flags. A run can now pass that prerequisite only when **both peers explicitly
declare both `comparison_fixture_aligned` and `fixture_pass` true**. Boolean
true and the existing textual true encoding are accepted; missing fields,
false, unknown strings and numeric lookalikes remain diagnostic. All other
physical, rate, sample, delay, administrative and stability gates still apply.
This does not grant a proof from affirmative metadata alone: the original
wire audit and the remaining controller gates must also pass.

## Qualification and retained inputs

The focused suite passes **69 checks**, including both peer roles, both
fields, missing/malformed values and a physical failure following an
affirmative declaration. Reclassification of **20 original local rows**
from five retained Rust matrices refuses physical promotion when fixture
declarations are absent. Those controls explicitly supply synthetic passing
wire/quiet flags; they are not new NIC evidence. Every original input byte
and mode remains unchanged. Installed runtime bytes and historical grades
are unchanged.

Both hosts consume the complete **806-file stripped controller archive**,
start its public CLI and pass missing/affirmative declaration controls.
The source inventory is
`uncommitted-rust-fixture-admission-controller-b4e11dfdcbdfcb492681ea1af7d3aa885a18f4a7afd008b4cbdd6a6cf1e939e5`,
archive SHA-256
`fd2ed65df426a21618b66956fc19122d097c587d499c2a8feba56e188e67f3b0`.
The inputs contain no engine, private extension or enclosing Git tree.
Source bytes/modes remain unchanged; no new SDK build or socket pair runs.

[Sealed qualification](evidence/rust-positive-fixture-admission-20261012/retention-seal.json)
retains **20 files / 284,351 bytes**, seal SHA-256
`5705799d30bc0c292fcc1130bde674ad7428cdfcb6fcb45e78f331d31f4d8ba2`.
The classification inputs are SHA-bound to the already committed original
manifests. This supplement records zero new physical runs.

## Prepared physical work

The initial two owned Rust waiters were stopped before root admission,
without starting physical work, because their frozen qualifier predated
this fix. Their original source capsule and wait logs remain unchanged.
Replacement jobs use the corrected inventory on both hosts. They verify
all three immutable installed adapters before output/sockets, inherit both
exclusive CPU lease descriptors, run four tiny pairs per engine, and run
twelve full report pairs only after that engine's tiny gates pass. Every
manifest, peer exit and failed gate is retained. HP requests high priority;
waiting for root admission holds no CPU lease. Current adapters' missing
comparison declarations remain diagnostic even if other gates pass.

The earlier nine root installs are already verified. New canonical Native,
instrumented Rust and canonical C++ prefixes remain absent on both hosts.
The C++ and Native jobs continue to wait independently for those new prefixes.

## Repair of the original home installer

The original `~/install-fullbench-stage5.sh` still selected three older
payloads and lacked the terminal-preserving CPU-slot wrapper. A preserved
copy is included in this supplement. The maintained replacement is
`internal/ops/scripts/install-fullbench-stage5.sh`, copied to that same home
filename. It installs the three remaining qualified bundles in one guarded
shared lease per host, with HP high priority and busy queues. Sudo authenticates
once per host inside a real pseudo-terminal with Bash. Child failures propagate.

Its `--check` passes all staged hashes on both hosts and explicitly distinguishes
staged inputs from installed root prefixes. No root install is inferred from
a successful staged check. Actual installation requires the user's terminal
password; the existing two narrower home helpers remain available.
