# Capture-v1 libhft candidate: implementation and pending qualification

2026-10-17. Source checkpoint only. No compilation, native pair or timing grade
is claimed for this candidate.

While the final llfix timing-controller functional job waits behind existing
exclusive queues and shared conformance, the
[separate libhft profile](../../bench/llfix_reference/PROFILE_CAPTURE_LIBHFT.md)
now implements the next functional candidate. Its three-file source checkpoint
is `34c250c392fb5d31582cd119cdc63c8a9dbf5d0c`, preserved on
`s/codex-llfix-capture-libhft-source-20261017-v1`.

## Policy finding

Reading the actual bundled llfix1.0.7 archive at upstream
`165cc999fa283a4ead17a7b935c5d3f850fec851` shows:

- `fix_session.h` opens the sequence store before the conditional message-journal
  initialization. `max_serialised_file_size=0` does not disable sequence storage.
- `electronic_trading/session/sequence_store.h` updates two32-bit values in a
  mapped file. Its cold save/destructor flushes the mapping.
- libhft `NullStore` would omit that retained storage work. The candidate instead
  selects the production pro mmap store with `PersistMessages=N` and checkpoint
  durability; its production lifecycle saves zero-length sequence markers.

The formats and hot-path work still differ: numeric overwrites versus committed
empty records/index updates, and libhft prepares its marker before send. They
are explicit implementation costs, not benchmark substitutes for the stores.
No SDK implementation or source byte was changed to obtain this profile.

## Implementation

The sender preserves the original2,048-entry application cache, reference values,
millisecond times and two parties. Public production composition/send APIs use
the real session, pro mmap lifecycle and production TCP socket. A transport
decorator delegates the actual send/retry and observes its result with the exact
unchanged ten-frame capture-v1 tap. No frame copies continue after that prefix.

The unchanged source-qualified llfix receiver independently converts actual fields
and groups, with contiguous owner and partitioned value folds. The controller
requires bilateral capture, receiver warmup completion, actual native identities
and all-thread17/16 placement, complete raw series and exact cold replay. Every
production mmap record must have zero payload, contiguous sequence and a valid
commit; actual inbound checkpoint, counts, cursor and64MiB file size must agree.
No per-message flush is introduced. Final checkpoints happen outside measurement.

An explicit Git-object materializer checks the SDK archive's complete regular
file roster, modes/sizes and every Git blob before writing its fresh directory.
It uses no checkout/index/ref mutation or enclosing private SDK fallback. The
selected source pin is `a697b542bebca49f86a5b070fb1f29d48a675948`,215 files
and21,365,232 bytes. The queued build reads those already available immutable
objects on HP; it does not pull or alter the checkout used by another session.

Four local controls pass, zero skips: archive substitutions/unsafe members,
private-source refusal, corrupted/nonempty sequence markers, and full-width
raw/plot-clamp agreement. Actual compilation and tiny/full functional execution
are queued high-priority on HP under `isol`, shared work allowed. The prior
waiting jobs and running conformance are unchanged. Original failures, if any,
will be retained in their own attempt rather than overwritten.

## Open gates

The planned compiler is Clang21/C++23, while the frozen llfix sender and receiver
are GCC11/C++17. This is functional work, not a matched compiler comparison.
Ordinary localhost proof also cannot qualify a physical Onload run. Compilation,
actual tiny/full pairs and cold proof remain pending, followed by matching
toolchain/physical/quiet qualification before any timing comparison.

The llfix timing-controller v3 job remains queued; no new timing job, quiet
preflight, compact latency result or CDF is created in this sitting. The pending
whole-host HP quiet-window request remains unanswered. Stage2 adapters, shared
clock/framework/build helpers, fullbench controllers, all older frozen inputs,
installed data generations and host policy remain unchanged. Only HP was contacted.

## Later qualification in this sitting

The [continuation](RECORD_2026-10-17_llfix-capture-common-toolchain.md) records
the completed exact HP v3 controller and candidate-v1 functional qualifications.
The pending status above describes this original implementation checkpoint;
no timing or physical candidate grade is inferred.
