# QuickFIX C++ original-byte comparison fixture admission

2026-10-12. The new source generation qualifies its cold and production
comparison fixture independently on HP and SCAN. These are localhost
functional checks. **Physical timing and Stage 5 admission remain open.**

## Implementation

Both endpoints declare `canonical_body_v2`. The extraction model remains
`canonical_spec_v1`; message values/order, public SDK and shared clock are
unchanged. The native controller requires complete bilateral original FIX
bodies, framing/checksums/session sequences, owner folds/sink, measured admin
windows and the original thirty-second Logons before accepting those
declarations. A successful printed declaration alone cannot grant admission.
The strict cold reader requires the new fixture marker and all original SDK
frames, vectors and rejection controls. Exact older diagnostic vectors remain
unadmitted; older installed runtimes and literal false flags are immutable.

Fresh explicit-SDK local runs automatically collect original Logons. The
installed v2 observation capability already provides this capture, so the new
v3 runtime uses that unchanged schema. Controller report admission requires
both the fixture and original Logon receipts. Admin resend negative controls
continue to invalidate the measured session; their expected failures supply
control evidence, never a timing pass.

## Inputs and checks

| Input | Identity |
|---|---|
| Compiled/qualified source | `c022fd0c6c9e140b36c625e9d540daaf0f4d04fc` |
| Unpatched public QuickFIX C++ SDK | `386ce46e917ae494ab6e90b1be90fd421cdbe3f9` |
| SDK static library SHA-256 | `93ba126bd531479aa5f503c179235ec15ee0165f85fc0fc3ebf858d742730c1a` |
| FIX44 dictionary SHA-256 | `a82655b54363aa9c6d1b2f21f294f1198c0d7125d7b44c26d93d3179f3358425` |
| Fresh adapter on both hosts SHA-256 | `23ce680dfd417ede262536fe4ee2be11b2c39def1d32e866e8dfe65afe68cd9b` |
| Fresh cold fixture on both hosts SHA-256 | `6f3dfcf2cbe8ab4f75fad0504d57abccbbe7d36bbb24fa7b13f71cacd803b7fc` |

**326 focused checks pass, zero skips**, locally and in each host's complete
789-file stripped archive. The source has no engine/internal/Git tree and
is extracted under an unrelated Git parent. The controller keeps
`source-archive-unqualified`; it does not borrow that parent's revision.
The source manifest binds every file's SHA-256 and mode, and the build receipt
retains the actual GCC 14 commands/version. Each host freshly compiles both
products against the same preserved SDK. All SDK files and symlinks are
checked before and after. SCAN receives the existing preserved SDK cache;
no SDK patch or new upstream checkout is involved.

The first local check retained **260 passes and six failures**: two new
synthetic cold FIX envelopes lacked mandatory session headers, and four
existing remote-copy mocks lacked actual counter snapshot files. Correcting
the test inputs produces the passing 326-check suite. The body mutation now
has a valid recomputed checksum, so it exercises the intended body refusal.

Both actual host suites successfully build the products and complete all
**23 canonical TCP pairs per host**, including warmup zero/three/seventeen,
multiple measured runs, every flow, real TestRequest/Heartbeat and deliberate
ResendRequest invalidation. The cold SDK fixture independently passes **48
cycles, 120 original frames, twelve owner vectors and 43 rejection controls**.
Each canonical suite retains 312 primary/delay samples and 1,100 application
frames per peer.

The original outer runner then refuses `build_strategy=direct` with explicit
SDK inputs, before starting any generic-controller pair. Both original build
reports correctly remain **failed**; their successful compile and canonical
commands are retained. A separate continuation uses the supported `auto`
strategy with those exact fresh linked products and explicit SDK inputs.
It does not rebuild or repeat the 23 canonical pairs. Each host completes
the four remaining real generic pairs, twelve samples with warmup five,
and retains complete original Logon/body/owner/admin/wire receipts. These
add 48 primary/delay samples and 170 application frames per peer per host.

The complete qualification therefore retains **54 real TCP pairs, 720
primary and 720 scheduler-delay samples, and 2,540 application frames per
peer across both hosts**. A separate read-only replay from the same complete
archive exactly reproduces all 54 receipts and both cold proofs. It preserves
every original byte/mode and creates zero new socket pairs. Both independent
compiled products also match byte for byte across hosts.

Host leases/processes/memory were checked before heavy work. HP waits with
high priority in `shared`; SCAN uses `isol` with shared work permitted.
The generic continuations use cooperative shared leases, with HP high
priority. Neither host qualification supplies quiet-host or timing admission.

## Retention and prepared physical runtime

The immutable archive is
`~/archive/libhft/quickfix-cpp-fixture-admission-20261012`, replicated to HP
and SCAN with SHA-256, size and mode verification. It seals **721 input files /
10,923,857 bytes**; retention seal SHA-256 is
`4801f7e23134b619301978686348e7b8c38678a7e814cc5060db0ccb11dec064`.
The committed import retains 716 original files plus import and replication
receipts. Six complete source tarballs/compiled products remain archive-only.
Failed unit checks, both failed original outer reports, corrected
continuations, all original wire/raw/admin/Logon artifacts and independent
cold receipts remain distinct and unchanged.

The separately pinned `fullbench-quickfix-cpp-canonical-v3` payload contains
six files: adapter, launcher, FIX dictionary, SDK build inputs, fixture
admission and provenance. Both staged hash checks and runtime-library
resolution pass. The new private machine config combines this runtime with
the unchanged qualified NexusFIX v2; every older configuration remains intact.
The fixed installer checks all hashes, exact regular-file count and executable
bits, refuses mismatched existing destinations, installs through a temporary
root-owned directory and atomically renames it. Installation cannot grant
physical or timing admission.

The home script `~/install-fullbench-stage5-next.sh` now prepares eight fixed
immutable installs, including this runtime, with interactive sudo inside a
cooperative shared lease and HP high priority. Root authentication is still
required before fresh DAC runs. Full physical rate/delay/stability, quiet-host
comparison, whole-harness standalone and release gates remain open. Existing
physical v2 report rows retain their failed rate and fixture grades.

### Physical caller continuation

Both hosts now retain a ready v3 caller from the same qualified 789-file
`c022fd0c6c9e` archive. Its separate deployment declaration binds the private
machine configuration at `986ccba5c9af85a75ee6ea10ff01c09af2a452c8`.
Read-only root admission precedes output creation, sockets and CPU queueing;
both actual checks refuse the missing root runtime. Once installed, the
caller requires both genuine outer lease descriptors, checks original
Logon/body/owner/admin/counter proof on four tiny pairs and retains the full
three-run physical matrix and its actual numerical gates. HP waits at high
priority in `isol-no-shared`; SCAN uses normal priority. No physical job has
been started by this continuation.

The ready callers/queues, eight-runtime home script, passing bilateral staged
checks and root refusals are retained separately in
`~/archive/libhft/quickfix-cpp-fixture-deployment-20261012`, replicated and
verified on both hosts. This second archive seals **11 inputs / 274,315
bytes**, seal SHA-256
`50c7ab4ee51750fe20ea3b16a65a7b6eb7ef0779395d18a7058c218ab36649df`.
Its thirteen committed files include the seal and replication receipt. The
first qualification archive and all historical grades remain unchanged.
