# Complete canonical QuickFIX/J production session

2026-10-12. Separate from installed v4 and all historical campaign cells.
The [full-bench plan](../../../docs/bench/PLAN_FULL_BENCH.md) still requires
fresh physical and comparison admission; this record advances complete
fixture and original transport evidence without granting those grades.

## Stock public APIs and declared settings

`QFCanonicalSession` uses stock QuickFIX/J 2.3.1 and MINA 2.2.3. Four
public message subclasses use the SDK field-order constructor to emit the
exact common D/V/W/8 bodies, including limit OrdType, repeated-group order,
required price spelling and actual ACK/book correlation. The SDK is unchanged.
The stock memory store and FIX 4.4 dictionary are declared. The dictionary
parses groups; incoming dictionary validation is explicitly disabled.
This is a benchmark configuration, not a statement that dictionary validation
has been tested or that another engine's configuration is equivalent.

The public filter-chain extension records a monotonic receive stamp before
the production decoder. After complete decoding it binds the stamp to the
original frame before session parsing and dispatch. Application callbacks
consume that original frame's stamp. Completed-write callbacks retain
`WriteRequest.getOriginalMessage()` only when its public future confirms
the transport write. Both directions stream every warmup and measured
application frame, actual administration, thirty-second Logons and bilateral
Logout. No reconstructed cycle substitutes for original transport bytes.

The tick responder starts after SDK serialization immediately before
delegating the send. The end uses the matching original receive stamp on
the same process before decoder/parser/extraction. Request/reply includes
checked extraction. Warmup/reset, measured full-book owner folds and both
unrounded raw series are retained. Metadata always declares
`timing_grade=false` and `stage5_pass=false`.

## Frozen source and both-host functional qualification

The stripped harness has **805 inventoried files**, without an engine,
private extension or parent checkout. Six stock dependency JARs and every
runtime class, launcher and dictionary are separately SHA-bound. `javac
--release 8` freshly builds five selected harness sources on HP and SCAN,
with no SDK build or patch. Each host passes twelve actual pairs spanning
warmup five, zero and repeated five: **240 primary/delay samples and 700
original application frames per peer**. Original source, products and
dependencies remain unchanged.

The first input inventory is
`uncommitted-quickfixj-canonical-2755ba350ed4519dea962292a4791e37cd7d7b529f4029a57327cef37d968d30`.
Its first HP pair failed because `getMessage()` returned the encoded buffer;
the original failure, logs and partial captures remain retained.
The corrected default inventory is
`uncommitted-quickfixj-canonical-f71779e072b99eda4efb58c286f3984981f141cd385b5408785627b5cd40521e`.
The maintained Java source and independent reader exactly match that
qualified inventory. Each host's cold replay reproduces all twelve receipts
and refuses **75 malformed-evidence controls** without new compilation or
sockets. The reader selects a fixed explicit Java API/observer/clock policy;
evidence cannot select its own policy. The current reader also reproduces
all four existing C++ and Native receipts unchanged.

## Full local report and bounded-spin experiment

HP's high-priority exclusive CPU lease runs twelve full report pairs at
1,000 warmups, 10,000 measured cycles and 10,000/s offered rate. All complete
original fixtures and measured owner folds pass. The matrix retains
**120,000 primary/delay samples and 330,000 original frames per peer**.
All four flows fail rate and scheduler-delay gates. NOS reaches
3,775–3,823/s, MD 3,004–3,095/s, mixed 2,002–2,049/s, and tick
3,844–4,197/s. These are localhost diagnostics.

A separately frozen bounded-spin experiment removes `Thread.yield()` from
the driver wait, without changing the SDK, bodies or clock boundaries.
Its inventory is
`uncommitted-quickfixj-canonical-b4baec79c86cf0c6193ebd44525f8962c9a9e41b6ea63d8105b43c38f4609e58`.
Twelve functional pairs pass on both hosts; HP cold replay again refuses
75 controls. HP's separate full matrix retains another 120,000 samples and
330,000 frames per peer, but worsens throughput, fails rate/delay on all
four flows and fails stability on NOS, MD and mixed. The maintained default
retains `Thread.yield()`; this experiment is not promoted or substituted for
an earlier result.

Independent cold readers reproduce both HP full matrices' twelve receipts,
every raw quantile/extremum and every failed gate exactly. Original bytes
and modes remain unchanged. SCAN's separate default full matrix also
retains 120,000 primary/delay samples and 330,000 frames per peer with every
complete fixture/owner passing. NOS reaches 2,218–2,295/s, MD
1,875–1,934/s, mixed 1,189–1,214/s and tick 2,232–2,355/s. All four
flows fail rate/delay; NOS also fails full stability. Its independent full
cold replay reproduces all original receipts, quantiles, extrema and gates.

## C++ and Native SCAN follow-up

The exact portable C++ CORE entry passes SCAN's twelve clean-environment
pairs without a new compile. Its binary is identical to the separate fresh
SCAN build and HP Broadwell package. SCAN's independent C++ and Native
readers reproduce twelve receipts each and refuse **75 / 63 controls**.
The earlier qualification seals remain immutable. The new C++ physical
jobs wait for the root prefix on both hosts without holding CPU leases;
HP requests high priority once admitted. No physical result is inferred
from localhost tests or synthetic counter classification checks.

The whole harness selects 803 source files plus templates with zero scrub,
private-reference, unresolved-reference or dead-link findings. This is
source readiness, not whole-harness build or public release admission.

## Immutable retention and remaining work

[Import](evidence/quickfixj-canonical-and-scan-followups-20261012/import-receipt.json)
and [seal](evidence/quickfixj-canonical-and-scan-followups-20261012/retention-seal.json)
retain **1,443 files / 533,312,673 bytes**, seal SHA-256
`43bf1e0292a00e5ce10f96e31e0a6791137e0d61e6e1e2136e43a346a06f65ef`.
All 1,444 originals including the seal are imported with exact bytes/modes;
separate replication receipts verify both hosts. The supplement covers
**96 completed actual pairs, 361,200 primary/delay samples and 993,500
original application frames per peer**, plus the preserved first failure.
Earlier seals remain unchanged. Physical integration, fresh
root runtime admission, achieved rate/delay and matched comparison gates
remain open. Historical CSV grades remain unchanged.
