# QuickFIX C++ exact integer-quantity candidate

This follows the original measured-window CPU investigation. It changes
consumer construction of integer-valued quantity fields through public SDK
APIs. The SDK, parser, required values, owner sink, wire order, clocks,
complete warmup and original 10,000/s report gates are unchanged. It grants
no timing or comparison admission.

## Public field and conversion scope

OrderQty (38), CumQty (14), LeavesQty (151) and MDEntrySize (271) retain
public `FIX::DoubleField` objects. Finite nonnegative quantities that are
exact integers through 2,147,483,647 use the unchanged public SDK
`IntConvertor::convert`. Fractional, negative, larger and nonfinite inputs
keep the original default `DoubleField(tag, value)` constructor. Negative
zero also keeps that constructor: the SDK converter has no UNIQUE_ZERO
flag, so its sign must not be lost through an integer conversion. No
application wire or formatted quantity is cached or substituted.

The native fixture compares 1,000,088 candidate/original field values and
tags: one million sampled integer inputs plus 22 boundary/fallback values
for all four tags. It includes signed zero, canonical quantities, the
signed-32-bit limit and adjacent values, one-ULP neighbours, fractions,
large values, subnormal values and nonfinite inputs. A static assertion
keeps the public SDK field type. The original 1,000,078 price comparisons,
48 wire cycles, twelve owner vectors, 43 malformed-payload refusals and
660 parsed-message immutability checks remain in the fixture. These native
checks require actual compilation/execution; their presence in source
is not a passing qualification.

The independent integration checker admits the new quantity marker only
once and at the exact expected count; old fixture output has no quantity
proof. All 160 targeted Python controls pass locally with zero skips.
The changed public header, native fixture and guide have zero scrub findings.
BEELINK2 already has other heavy jobs, so native work is scheduled remotely.

## Relocated source inputs and required qualification

Workload sources now live under `oss/benchmarks`; cross-engine controllers
live under `integration/benchmarks`. Qualification must declare the benchmark
root, tools, clock/admission helpers, workload adapters and integration
controller root explicitly, from one frozen revision. The Java/SBE and
benchmark-manifest freeze stays with its owners. No shared Stage 2/build/clock
API or manifest is edited, and no stale pre-move source path is restored.

The new campaign uses a private immutable development-source snapshot for
its integration controls, keeping that scope distinct from public standalone
archive/release qualification. Five native products must build against the
unchanged pinned SDK, followed by both socket/threaded 43-pair functional
checks and independent 76/88 cold refusals per implementation. Each fixture
must report both exact quantity and price counts and all original controls.
HP jobs use high priority; both hosts use queued CPU leases and explicit
CPU masks. Any fresh physical generation remains conditional on those
actual source-specific native checks and retains every full report gate.
At this checkpoint native and physical results are pending. The full plan
remains incomplete and the unanswered lower-rate policy question does not
change the 10,000/s contract.


## Frozen SCAN outcomes — 2026-10-19

The immutable source is
`43b20caa45ab3583d08b03bcb050f30f069ef688`, retained on
`s/codex-fullbench-qfcpp-quantity-20261019`. Its private development archive
contains 9,877 regular files and no symlinks; the source-inventory digest is
`b5c86287822e1af8e75b3a3b057ccad323a00ecf09d18afe6b796ce0bc9a7d14`.
It is not a standalone public-archive qualification.

The first broad integration run fails: 50 failed, 2,551 passed, 267 subtests
passed, two SDK-source deselections and zero skips. Its JUnit contains
2,868 cases, including 50 failures and zero errors/skips. The failures
include fixtures that call Stage 2 without setting its now explicit adapter
input, references to moved workload/helper files and missing `sys` imports
in Stage 7 launchers. The 50 failures occur across 39 failing testcase
nodes, including failed subtests. The original complete XML/log and failure
receipt stay on SCAN under
`~/build/codex-fullbench/libhft/quickfix-cpp-quantity-qualification-20261019-v1`;
a 26,108-byte bounded summary retains their original lengths and hashes.
Shared Stage 2 and layout code is unchanged by this campaign. This run is
not counted as a passing portable gate.

A separately labelled, focused functional run uses the same immutable
source and SDK. All six QuickFIX C++ integration test files pass: 284 tests,
zero failures/errors/skips. Five fresh native products compile with the
pinned GCC 15.2.1 and unchanged static SDK. Both original socket and threaded
sessions pass twenty bounded and twenty-three legacy TCP pairs each,
independent replay of all 43 pairs with 76 refusal controls, and the public
bounded replay with twenty cases and 88 refusal controls. Each model reports
the exact 1,000,088 quantity and 1,000,078 price checks plus 660 parsed-message
immutability checks. The 69 generation-argument checks and twelve SDK
preflight vectors also pass. Every source and SDK byte/mode remains unchanged.

The focused receipt is
`751802fd3619db3b6edd211950c6b2c6f625e641b2be8756d4fda95870cfa1f9`;
its threaded binary is
`fc3c63a6bb88fc2e802fc07f884c377d095c650c58db88c11defba5d086f633a`.
Twenty-one bounded metadata files are collected and verified. The receipt
explicitly retains `full_suite_pass: false`, the failed broader portable
gate and a functional-only scope. It grants no timing or public release
admission.

HP's same-source native qualification remains queued at high priority on
shared CPUs. The source-specific physical producer waits for its own focused
native pass before installing a distinct generation. SCAN's physical
preparation is queued on isolated CPUs; actual timing additionally queues
for an `isol-no-shared` quiet lease. Both retain the original 10,000/s rate,
1,000 warmup cycles, 10,000 measured cycles and three report repetitions.
No quantity-source physical result or promoted cell exists at this checkpoint.


## SCAN physical matrix complete; HP functional work moved to isolated CPUs

SCAN’s separately installed quantity generation completes its actual four
tiny and twelve report pairs under an `isol-no-shared` lease. All 32 process
exits are zero; fixture, registered entry, physical wire counters, original
application counts and pre-run source/kernel/NIC/namespace/CPU facts pass.
The runtime executes as UID/GID 1000. Both independent cold replays pass
with exact original raw quantiles, extrema and promotion decisions: 80 tiny
and 120,000 report primary samples, the same scheduler-delay sample counts
and 100/300 captured application frames per peer respectively. All source
bytes/modes remain unchanged and 23 bounded metadata payloads are verified.
No raw samples are imported.

All four report flows remain diagnostic at the unchanged 10,000/s target:

| Flow | Achieved/s across three reports | Failed gates |
| --- | ---: | --- |
| nos_er | 5,894.301–5,954.798 | achieved_rate_below_98pct |
| md | 4,336.034–4,375.104 | achieved_rate_below_98pct, scheduler_delay_above_interval |
| md_nos_er | 2,436.455–2,498.737 | achieved_rate_below_98pct, full_percentile_stability, scheduler_delay_above_interval |
| tick_to_trade | 5,744.142–5,756.063 | achieved_rate_below_98pct, scheduler_delay_above_interval |

The generation is
`86614a32d691b63e324feb40a6cefabc6d2407b77df84668530c9e1f78150033`;
the completed receipt is
`a0758b8cbd763391c38aeee8728cfb22ba5f63fea76ffb3097dded6111de890f`.
Its manifest binds the original focused native receipt and threaded binary.
The cold-reader digest matches the frozen source, and all payload lengths
and hashes are checked. The writer executes and produces zero compact
cells. No retained good key is replaced; this is no timing-improvement,
matched-comparison, full portable-suite or public-release admission.

The waiting HP shared request was explicitly dequeued before execution,
with only its dependent local queue controller stopped. No foreign job was
interrupted. The same immutable source and SDK now run the six-file focused
qualification with high priority under an `isol` lease on CPUs 8–17, allowing
the existing shared conformance job to continue. The HP receipt explicitly
references SCAN’s failed broader gate and says the HP broader suite was not
run; it cannot borrow a passing whole-suite grade. The existing HP collector
and physical pipeline still wait for that actual source-specific native
result before preparation, then require a high-priority quiet lease for
physical timing. The full plan and original report gates remain open.


## HP focused native qualification completes

The high-priority isolated qualification finishes on the exact same frozen
source and unchanged original SDK. All 284 focused tests pass with zero
failures/errors/skips. Five fresh native products, 69 generation-argument
checks and twelve SDK vectors pass. Both socket/threaded implementations
pass their own twenty bounded and twenty-three legacy TCP pairs, all 43
original cold pairs/76 refusal controls, and twenty public cold cases/88
refusal controls. Both exact quantity/price markers and all 660 immutability
checks pass. All 9,877 source files and the SDK retain their original bytes
and modes; 21 bounded metadata files are verified.

The HP focused receipt is `35ea13992725c2417e81dbe13e3165014015eff9ff7bb03db56eb39d03fb184b`.
Its threaded binary is byte-identical to SCAN’s
`fc3c63a6bb88fc2e802fc07f884c377d095c650c58db88c11defba5d086f633a`;
the host-specific receipts and runtime generations remain separate. The
receipt explicitly says HP’s broader suite was not run and retains SCAN’s
failed broader gate. This is a focused functional pass on both hosts, with
no full-suite, public-archive or timing admission. HP physical preparation
now queues at high priority, followed by a required quiet lease.


## HP physical matrix completes at high priority

HP’s original quantity source `43b20caa45ab3583d08b03bcb050f30f069ef688`
completes its own isolated preparation and quiet high-priority timing lease.
All four tiny/twelve report pairs finish with all 32 process exits zero;
protocol, original fixture/wire/count gates, source bytes/modes and the
pre-run kernel/NIC/namespace/CPU facts pass. Both cold replays reproduce the
80/120,000 primary and scheduler-delay samples, exact quantiles/extrema,
100/300 captured application frames per peer and promotion decisions. The
runtime uses UID/GID 1000, with the registered source-specific native receipt
and binary. All 23 bounded payload lengths/hashes are verified independently.

| Flow | Achieved/s across three reports | Failed gates |
| --- | ---: | --- |
| nos_er | 7,059.446–7,084.615 | achieved_rate_below_98pct |
| md | 5,658.293–5,674.775 | achieved_rate_below_98pct |
| md_nos_er | 3,558.679–3,607.609 | achieved_rate_below_98pct, scheduler_delay_above_interval |
| tick_to_trade | 6,995.461–7,056.551 | achieved_rate_below_98pct, scheduler_delay_above_interval |

The HP generation is `ed51325a3ae473b68e816c36d81384eb2cb46f90784e1844e48a25e9a219f933`;
its completed receipt is `6b3064fe33034b6a01d8986c6176c71de5393ad1452dcaeacf8ca10bd249409e`.
All four report flows miss the original 10,000/s rate; mixed and tick also
fail scheduler delay. The exporter runs and produces zero compact cells.
This completes the quantity campaign on both hosts without a new retained
result key, matched comparison or evidence of a speedup. No raw samples are
imported. The separate source `26e7c334ce4c88c40ebfa18c2746307232fc0577`
repairs the private portable fixtures; its passing gate cannot be borrowed
by this older runtime generation or converted into a public SDK release.
