# DFX local four-flow parity preflight — 2026-10-01

The repository-owned DFX adapter was built against the roster's `546c86f`
source snapshot with Rust 1.93.1, then run as separate client and server
processes over localhost TCP. Each flow used five warmups and 20 measured
cycles. All four processes on both sides exited successfully, and the shared
FIX contract auditor passed the first emitted application cycle of each flow.
The [retained report](evidence/dfx-parity-local-20261001/report.md),
[summary](evidence/dfx-parity-local-20261001/summary.csv), per-flow wire dumps,
and raw samples are the evidence. `SHA256SUMS` records their hashes.

| Flow | Measured samples | Wire audit | Application cycle |
|---|---:|---|---|
| `nos_er` | 20 | pass | `D → 8` |
| `md` | 20 | pass | `V → W`, ten bids and ten asks |
| `md_nos_er` | 20 | pass | `V → W → D → 8`, derived order |
| `tick_to_trade` | 20 server-owned | pass | `W → D`, one bid and one ask |

The adapter decodes FIX 4.4 repeating groups using the pinned source's
`spec/FIX44.xml` (SHA-256 `a1e178682e9ea616a55dd4b27e7b1cce7e82b88207b8cca90dfacf3b4024b76d`).
It echoes the parsed request symbol into the snapshot, selects the best ask
from parsed snapshot entries for each reactive buy order, and echoes the
order's canonical fields in a new-order execution report. The first-cycle
wire dump is emitted by DFX's outgoing message logger and assembled from the
two process logs before the shared auditor checks it.

This is a **local functional preflight**, not an S5 pass. It has no physical
NIC counter proof, fixed-interval pacing, report-rate proof, or three-run
stability evidence. Its latency values are diagnostics only. The historic DFX
S5 market-data rows still need a fresh physical rerun before their coverage
cells can be promoted.
