# FIX Antenna .NET Core session observations — 2026-10-02

The separate `--instrumented true` adapter uses pinned upstream
`ff38f51129fd9555bf8a992245dc9fb9d6e89be8` and its production
`SyncNoqueue` sending mode. The existing admitted physical payload remains
separate. This record establishes local functionality and records unmet rate
gates; it does not add a Stage-5 pass.

## Instrumentation and workload

The public extended session listener observes received admin frames and the
production pumper's completed synchronous writes. Per-role JSON retains actual
counts, complete admin frame events, measured-window flags and ResendRequest
counts. The owner opens its window after excluded warmup; the passive role
opens after its final warmup reply and closes after its final measured reply.
With no warmup, the passive role opens on its first application callback.
Logon readiness is published after observing the setup frame.

A default-disabled, hash-checked source overlay observes the fully serialized
`W` immediately before the existing production transport write. It only
captures the local clock, leaving bytes, parser, session, sequencing and IO
upstream. The pinned reference stays untouched; a separate cached source tree
contains the declared overlay. Tick `t1` is the first instruction of the
application callback, before dumping or extracting the received order.
The sample is accepted after the required extraction checks.

Order entry varies identifier, side, quantity and price. Market-data requests
are checked and echoed; every snapshot entry is parsed and folded in one
traversal, with complete bid/ask depth and checked touch prices/sizes. Reactive
orders use the current marker, symbol, side and touch. Missing required
order/report/book fields or malformed/crossed books fail the row. The sink is
observable in both process summaries. Generator tables and sink algorithms
still need common-fixture alignment with the control before a comparison can
be promoted.

The owner writes full HFTBRW1 primary and scheduler-delay series. Options and
observations declare the synchronous sending mode and clock overlay. An
optional measured TestRequest/Heartbeat probe is explicitly diagnostic.

## Retained checks

[Evidence](evidence/fixantenna-session-instrumented-20261002/) retains source
snapshots, overlay hashes, build logs, exact executable/runtime hashes,
received wire cycles, raw samples and admin events, sealed by `SHA256SUMS`.
SCAN SDK 10.0.111 builds the self-contained .NET 10.0.12 runtime.
Builds and checks acquire the host's shared CPU slot; the medium run acquires
`isol-no-shared`. Outputs and upstream reference intermediates stay outside
the worktree.

- All twelve functional pairs pass: four flows with five warmups, no warmup,
  and a measured admin probe. Both processes exit zero, with twenty primary
  and twenty delay samples per pair. Twelve complete wire cycles are audited
  for payload variation and reactive derivation.
- Fifty standalone checks pass with zero skips: a known twenty-entry
  sink and touch, last-entry mutation, missing fields, bad depth/sides/sizes,
  crossed touch, invalid numeric orders/acknowledgements and the
  default-disabled/prepared-wire clock behavior.
- Nine admin-event regression checks pass, including matching probe frames on
  both roles, count/event mismatch, measured setup/logout/resend traffic,
  undeclared probes and missing observer evidence.

The first check incorrectly required every ordinary window to observe zero
admin messages. Moving the readiness publication after the Logon observation
did not resolve that failure. The retained raw transcript identifies the
extra message as an automatic post-logon Heartbeat, measured by the zero-warmup
client while the server's corresponding send is outside its own window. The
final checker verifies counts against complete actual events and permits that
ordinary protocol traffic; it requires each injected TestRequest and matching
Heartbeat explicitly. All failed attempts remain in the bundle.

## Quiet SCAN rate diagnostic

Three fresh 10,000-sample pairs per flow use masks `10-13` / `14-17`, after
1,000 requested warmups. The immutable 218-file payload is cached separately
as `fullbench-fixantenna-session-numeric-checked-20261002`. These are two
localhost processes, with an actual quiet lease and explicit physical-topology
and common-fixture blockers.

| Flow | Achieved cycles/s, three runs |
|---|---|
| `nos_er` | 9195.980 / 9258.384 / 9152.886 |
| `md` | 6514.153 / 6656.043 / 6698.583 |
| `md_nos_er` | 3934.557 / 3808.187 / 4098.237 |
| `tick_to_trade` | 8703.298 / 9008.298 / 8904.501 |

Every flow retains all 30,000 samples and passing canonical/observation checks,
but misses the 98%-rate gate. The per-flow manifests retain all remaining
delay/stability blockers. Physical integration, fresh DAC results and report
rate/fixture gates remain open.

The preceding 38-check build and its separate quiet rate run remain in the
bundle with their original hashes. The table above uses the numeric-checked
build, its 50 checks and a fresh twelve-pair functional run.

## Quiet HP rate diagnostic

The same numeric-checked payload ran at high priority under an
`isol-no-shared` lease, using masks `8-12` / `13-17`. All twelve pairs pass
the functional checks and retain 30,000 samples per flow. The separate
[HP bundle](evidence/fixantenna-session-instrumented-20261002/hp-numeric-medium/)
records these local measurements:

| Flow | Achieved cycles/s, three runs |
|---|---|
| `nos_er` | 9536.081 / 9586.973 / 9592.094 |
| `md` | 9564.245 / 9567.656 / 9563.953 |
| `md_nos_er` | 6506.938 / 6522.184 / 6634.526 |
| `tick_to_trade` | 9522.449 / 9514.689 / 9517.448 |

All flows miss the 98%-rate gate; tick-to-trade also misses percentile
stability. These remain localhost diagnostics with physical-topology and
common-fixture blockers.

## Physical integration

`run_scan_fixantenna_stage5.py --instrumented` selects this separate payload
on SCAN's mlx5 or HP's Solarflare physical DAC. Both tiny and report profiles
require a quiet host CPU lease. The fixed namespace launcher pins disjoint
process masks, owns the output paths, bounds the process lifetime and accepts
only typed role/flow/count/rate arguments. Both roles capture twelve complete
received wire cycles, actual admin events and the owner's complete raw series.
Missing evidence or a changed clock boundary fails the functional gate.

`install-dac-fixantenna-session-stage5.sh --check` validates all 218 runtime
files (including nested dictionaries), the launcher and declared observer
overlay. Installation is atomic, root-owned and refuses an active adapter.
The retained numeric-build inventory gives every relative path and digest.
Twenty-seven DAC gate checks pass against real retained functional evidence
and missing/changed observations, plus the existing 29 admin/QuickFIX/n checks.
The fresh report gate explicitly retains `comparison_fixture_unaligned`;
these prepared inputs do not establish a new physical grade. The HP local
diagnostic completed at high priority. Fresh physical runs await root
admission on each host.
