# NanoFIX complete canonical DAC preparation — 2026-10-13

The complete public-transport runtime now has a separate physical controller,
fixed namespace launcher and immutable installer. Legacy NanoFIX/Rust
runtimes and all previously queued jobs remain unchanged. Current fixture,
original admin, raw delay, 98% rate, physical counter and stability gates
remain required. All four HP local gates already pass, but physical report
and matched current Rust admission remain pending.

## Immutable runtime and source

The two-file staged payload on both hosts has tree SHA
`6d2cff328dc26616c6d681e2b71eb946e2558ed720575f40d11423193b756e7e`.
Executable SHA:
`ccf04379ff5ccbcf5d55f2e5e5bc196660674deb1c4c381eda21495c5bc110b9`.
Provenance SHA:
`3417a9e981415240a11929eb5aee8479fd0e2d1bcd456edba583714d1c70403b`.
Fixed launcher SHA:
`c1987f282df21ae84d82fc9a46cbf5c135928b1d531a1d38448cf1ea6cd8b9a8`.
Its executable needs only the system C/GCC libraries and loader; no additional
native SDK library directory is supplied to the root entry.

The standalone controller contains 830 files, pin
`uncommitted-nanofix-physical-controller-c845be51306f44d9ef814b61588bb3cd9df82ca26d75cca20b3cb866c59737de`.
Deployment facts are supplied separately. HP's actual CLI and missing-root
checks pass under the exclusive high-priority lease, rejecting missing
admission before output creation or sockets.

## Independent physical reader

The SDK-free reader now has an explicit NanoFIX branch. It applies NanoFIX's
public completed-transport observer and prepared-send/receive-clock policy.
HP passes twenty retained SDK cases across C++ CORE, Native, Rust, TrueFix
and NanoFIX, plus seventy synthetic physical declaration/counter controls.
These checks create no SDK builds, socket pairs or actual link proof. The
original twelve counter/polling tests passed during the preceding physical
reader expansion; their counter implementation is unchanged here.

Immutable `evidence/nanofix-dac-preparation-20261013` retains 6,320 files,
21,943,833 bytes, seal
`72e753b63160c8900e384df3d532ebd0683ee356497eae1adb19afb0c1b4a507`.
Both host replicas verify every original byte/mode. This seal includes zero
new SDK or physical pairs; synthetic views cannot award a report grade.

## Waiting jobs and remaining gates

Both frozen capsules are
`~/.cache/libhft/fullbench-nanofix-canonical-dac-20261013-c845be51306f`.
Jobs wait without CPU leases for the new root-owned
`fullbench-nanofix-canonical` prefix and launcher. SCAN also waits for its
own exact portable twelve-pair functional receipt, which is currently queued.
HP's functional, eighty-three-control cold and full local/cold checks pass
for this exact executable. The SCAN check cannot borrow HP's pass.

Each physical job checks current processes/memory and helper status, requests
isol-no-shared (high priority on HP, normal on SCAN), and uses wait if occupied.
It retains four tiny pairs and twelve full report pairs on ports 59000/59100:
120,080 primary/delay samples when complete. Full failed report rows remain
retained. Root installation, exact SCAN payload execution, actual physical
matrices, independent physical replay and matched Rust comparison remain open.

Six new runtime prefixes remain pending on both hosts, with twelve waiting
physical jobs. The home batch currently contains the earlier four; the new
TrueFix/NanoFIX bundles will be added after their exact SCAN qualification
and fixed installer preflight pass. No user-running script is replaced here.
