# Native .NET pre-warmup capture — HP qualification

The standalone native .NET canonical consumer now runs ten functional cycles
before the requested warmup. Each directional stream closes at that limit;
warmup refuses to begin unless both streams are closed. The owner checks the
independent ten-cycle sink and fold count, and markers/sink reset at both
phase boundaries. Full in-process directional counts, measured owner sink
and primary/delay samples remain required without measured application I/O.

The change preserves its existing explicit clock policy, including the
native tick's UTC start/end domain and resolution. It supplies no new clock
or physical admission. The native compact writer does not support this
producer, so capture implementation alone cannot publish a result under the
new method. The SDK and native library remain separate immutable inputs.

A portable cold controller replays actual functional matrices and mutates
copies for refusal controls. Shared corruption checks select each producer's
declared raw filename, keeping existing C++ behavior and the native .NET
`samples.hftbrw` format. New functional manifests name their actual engine.

The complete stripped harness has 887 files, no engine/internal/Git tree and
inventory SHA-256
`8241a2518b43fe3a29d7953ccb54784fed2a4c87bde8516e791e57e7dbbc7455`.
HP builds the managed driver under a high-priority `isol` lease, with shared
conformance running concurrently. MSBuild is capped at two jobs with build
servers and shared compilation disabled. The build has zero warnings/errors.
It loads the existing native library through the checker's supported
`--native-lib` binding; there is no ad-hoc library relocation or native rebuild.

All twelve actual four-flow pairs pass for warmup 5/0/5 and repeated runs.
Cold replay reproduces every fixture receipt and refuses all 73 corruptions.
There are 240 primary samples, 240 delay samples and 1,000 application frames
per peer; capture contains only 300 preflight frames per peer. No test skips.

| Bound product/input | Identity |
|---|---|
| Managed driver DLL SHA-256 | `ea90c9072cc16909e029620262031272d5af4a0e0eab3e68cda058d8af2a3c95` |
| Existing native library SHA-256 | `91bdc88f8cd2d375262daafdc233ce2b16bc49e8fcae0789da12af999c737dc9` |
| Unpatched SDK content pin | `uncommitted-functional-source-26310f12584fd0f392af231da8c2ea10067f50bb337db118cc79a2895da54386` |

The library provenance binds that exact SDK content pin. Full SDK and harness
byte/mode inventories and native library bytes remain unchanged. Working
output stays in `~/build/codex-fullbench/libhft/dotnet-native-preflight-20261017-v1`
on HP; raw samples, captures, logs and products are not added to Git.

After combining the independently qualified Rust and native .NET producer
whitelists, all 529 focused preflight, compact-writer, generation and cold
admission controls pass, with zero skips. The four C# owner vectors still
match the independent specification. No timing, Stage 5, new clock or matched
comparison result is claimed; native compact output and fresh physical
admission remain separate work.
