# Managed .NET 10 and validated QuickFIX/n physical outcomes

All **96 actual physical tiny/report pairs** completed across both accepted DAC
rigs: inherited/first-CPU QuickFIX/n and first-CPU public managed LibHFT net10.
The actual managed .NET 10 configuration passes **all four Stage 5 flows on
both rigs**, with one source and one generation per host, without merging
profiles. Eight new producer-written compact cells are imported byte-exactly,
giving **651 compact cells**. Every preceding successful byte is unchanged.

Both QuickFIX/n configurations retain rate failures on every flow, with MD/
mixed delay failures; SCAN first-CPU tick also misses delay and stability.
They import no compact cell and replace no result. These validated profiles
also keep dictionary validation and omit logical request construction from
RTT; their performance data cannot qualify a current contract-matched headline.
The newly explicit public parsing-only profile and expanded request start need
separate fresh qualification/physical runs. No .NET peer ratio is published.

| Rig | Configuration | Flow | Original full grade | Achieved cycles/s, min–max | Original blockers |
|---|---|---|---|---:|---|
| hp | qfn-inherit | nos_er | S5 diag | 9671.609–9673.722 | achieved_rate_below_98pct |
| hp | qfn-inherit | md | S5 diag | 5463.749–5485.381 | achieved_rate_below_98pct;scheduler_delay_above_interval |
| hp | qfn-inherit | md_nos_er | S5 diag | 3561.749–3582.025 | achieved_rate_below_98pct;scheduler_delay_above_interval |
| hp | qfn-inherit | tick_to_trade | S5 diag | 9658.368–9664.514 | achieved_rate_below_98pct |
| hp | qfn-first | nos_er | S5 diag | 9671.303–9672.882 | achieved_rate_below_98pct |
| hp | qfn-first | md | S5 diag | 5466.874–5474.494 | achieved_rate_below_98pct;scheduler_delay_above_interval |
| hp | qfn-first | md_nos_er | S5 diag | 3576.009–3583.720 | achieved_rate_below_98pct;scheduler_delay_above_interval |
| hp | qfn-first | tick_to_trade | S5 diag | 9661.322–9662.624 | achieved_rate_below_98pct |
| hp | managed-first | nos_er | S5 pass | 9983.150–9983.523 | none |
| hp | managed-first | md | S5 pass | 9860.325–9865.761 | none |
| hp | managed-first | md_nos_er | S5 pass | 9864.681–9864.886 | none |
| hp | managed-first | tick_to_trade | S5 pass | 9980.872–9981.303 | none |
| scan | qfn-inherit | nos_er | S5 diag | 6593.836–6614.262 | achieved_rate_below_98pct |
| scan | qfn-inherit | md | S5 diag | 3431.391–3493.089 | achieved_rate_below_98pct;scheduler_delay_above_interval |
| scan | qfn-inherit | md_nos_er | S5 diag | 2171.778–2228.923 | achieved_rate_below_98pct;scheduler_delay_above_interval |
| scan | qfn-inherit | tick_to_trade | S5 diag | 6364.776–6643.435 | achieved_rate_below_98pct |
| scan | qfn-first | nos_er | S5 diag | 6757.587–6835.090 | achieved_rate_below_98pct |
| scan | qfn-first | md | S5 diag | 3429.031–3468.031 | achieved_rate_below_98pct;scheduler_delay_above_interval |
| scan | qfn-first | md_nos_er | S5 diag | 2180.590–2265.487 | achieved_rate_below_98pct;scheduler_delay_above_interval |
| scan | qfn-first | tick_to_trade | S5 diag | 5986.581–6700.336 | achieved_rate_below_98pct;full_percentile_stability;scheduler_delay_above_interval |
| scan | managed-first | nos_er | S5 pass | 9974.931–9975.204 | none |
| scan | managed-first | md | S5 pass | 9974.684–9974.915 | none |
| scan | managed-first | md_nos_er | S5 pass | 9841.537–9888.803 | none |
| scan | managed-first | tick_to_trade | S5 pass | 9973.574–9973.711 | none |

## Frozen source, qualification and physical proof

Source `b823053aee2ddb57b6a2c15d60ea8ec5753056c0`; 925 stripped files, inventory
SHA-256 `a572f4d228f8003f4b40be5f2c17d5810bb395dd0bf2df5a05b79e69851b960b`.
The managed product is the exact [qualified net10 consumer](RECORD_2026-10-17_dotnet_managed_net10.md),
not a runtime override of the prior net8 result. All compiled input and runtime
asset hashes are bound to the immutable installed generation, including its
actual malformed-book checker. QuickFIX/n binds the exact [112-pair measured
qualification](RECORD_2026-10-17_quickfix_n_canonical_measurement.md), original
SDK core/factory/dictionary/dependencies and original validated configuration.
Neither product is rebuilt during staging or collection. Both actual runtimes
are .NET 10.0.12. Only the existing registered helpers use root; applications
run as the benchmark user. No new sudo registration or helper change.

| Rig | Configuration | Immutable installed generation |
|---|---|---|
| hp | qfn-inherit | `fabdf86eae40b120319f3c6dff1afdc0134227442dcc799da181731129054beb` |
| hp | qfn-first | `5060d3742b4b4c09aabf6f465cc51ec9e812a9b587ad558a844bba37e28669dd` |
| hp | managed-first | `f31869131bc6faa5de4567624221ea8c280859dfb396222d465cbe9fe237808f` |
| scan | qfn-inherit | `e9ad22e98ca36a07e8e0a8fdd21a06b5deb9298cca588bf9a349648342fc9315` |
| scan | qfn-first | `30dd1702adcb3909e6db82006ae59cf2719146940f24d58745bb5e941e617f7b` |
| scan | managed-first | `75279b3eabde8f172a8919a46eba01042bba0e7b3951d0136c5264f155ec7449` |

Preparation uses `host-cpu-slot wait --pool isol`; physical timing uses
`isol-no-shared`, HP high/SCAN normal priority, after CPU/process/disk checks.
HP uses Solarflare sfcA/sfcB, outer server 8–12/client 13–17; SCAN uses Mellanox
mlxA/mlxB, outer server 10–13/client 14–17. Foreground first-CPU masks are
8/13 and 10/14. Actual root-entry CPU/namespace/user/generation records and
physical NIC TX counters pass for every pair. Host probes bind actual kernel,
PCI NIC/firmware, namespace and CPU observations. Ports for the three declared
profiles are disjoint: 64400–64415, 64420–64435 and 64440–64455.

Every full report uses ten graded preflight cycles, 1,000 warmups and three
10,000-cycle runs at 10,000 cycles/s. Captures close before warmup. SDK Logon/
Logout, typed canonical values, all twenty book entries, complete application
counts and phase-reset owner folds pass. Actual primary/delay streams retain
all samples. The six tiny and six full SDK-free independent physical replays
reproduce raw metrics/extrema and every original promotion decision exactly.
Together they check **720,480 primary samples**, **720,480 scheduler-delay
samples** and **1,983,900 original application frames per peer**. This grants
no matched foreign comparison or whole-harness release admission.

## Working retention

Both hosts retain immutable sources/operations under
`~/.cache/libhft/fullbench-dotnet-quickfix-net10-physical-20261017-v1` and working
outputs under `~/build/codex-fullbench/libhft/dotnet-quickfix-net10-{qfn-inherit,qfn-first,managed-first}-physical-20261017-v1`.
Small receipts/manifests and eight compact results were inspected locally;
raw captures/samples/logs remain on their hosts and are not imported into Git
or a new archive. The earlier failed framework builds remain retained.
