# Artio original prepared and callback clocks — 2026-10-25

Both hosts pass the new original-SDK clock qualification: 23 real Session pairs
per host, 4,716 actual clock events and 276 exact primary differences. Eleven
actual CLI refusals and eighteen semantic corruptions of actual clock output
refuse per host. This qualifies finite diagnostic clock boundaries. It grants
no pacing, measured-phase, report timing or physical Stage 5 admission and
exports no result cells.

## Source and parent qualifications

Published source pin: `9601887a0c1711ab6e9c5c06e50e4e1f5052a98e`. Public producer:
`oss/benchmarks/cpp/fixbench/tools/open_source_fix_engines/java/ArtioCanonicalClocks.java`.
The separate [original typed Session gate](RECORD_2026-10-25_artio_canonical_session.md)
and [numeric codec gate](RECORD_2026-10-25_artio_canonical_writer.md) remain
unchanged. Both hosts retain all 26 original SDK/runtime files, all 32 previously
qualified codec/fixture classes and both original functional producer classes.
The two new clock producer classes match byte-for-byte between hosts.

The producer uses the original public `Session.prepare(header)`, generated
`Encoder.encode(buffer, offset)` and original buffer `Session.trySend` APIs.
Original SDK code owns header preparation, sequencing, message serialization
and publication. No handwritten production envelope, SDK patch, reflection,
private access or replacement Session clock is introduced. Original decimal
value/scale getters supply all numeric reads and folds. Actual class-load logs
bind the clock producer, original Session/admin dictionary, numeric type,
harness transport/runtime and each role's generated business codecs to their
separately authenticated artifacts.

## Clock boundaries and actual probes

The request/reply owner records task start before constructing its initial
message. Its stop follows all required typed reply reads and owner folds.
The mixed span includes V/W, decoded reactive D construction and the complete
8 response. Each primary value equals its exact captured stop minus start.

The tick owner first prepares the original Session header and serializes its
completed top-of-book W with the original generated encoder. It stamps tick
start after serialization and before original buffer publication. Diagnostic
event recording and the prepared probe lie inside this finite span.
Tick stop is the first application callback instruction for D, before any
benchmark validation, field extraction or fold. It emits no 8 response.
Subsequent typed reads/folds still run and are independently checked, but are
outside the primary tick span. All clock events use the pinned JVM's
`System.nanoTime`; the finite two-process test uses the same host clock.
No cross-machine clock subtraction is performed.

Every flow runs with no probe plus separate 2 ms construction, serialization,
extraction and after-completion probes. A separate tick pair inserts a prepared
publication probe. Two further pairs preserve the changed-symbol/touch controls
and both actual quantity clamps. Cold replay consumes every event, correlates
original SDK wire sequences and callback cycles, checks ordering and actual
probe durations, and recomputes every raw primary difference. In particular,
construction/serialization probes lie inside complete RTT, outside prepared
tick timing; typed extraction lies inside RTT and after tick stop. The prepared
publication probe lies inside the tick span. After-completion probes remain
outside each primary span.

The finite driver deliberately requires an unbackpressured publication offer.
A refused offer stops qualification instead of inventing an accepted clock.
Pacing and a general retry policy are separate subsequent gates. Full transport
capture and clock-event buffering are diagnostic instrumentation; these pairs
are not a performance campaign.

## Native and independent gates

Each host completes 23 original Session pairs, 696 application frames and 184
administration frames. Independent replay preserves exact canonical bodies,
groups, numeric presentation, owner sinks, bilateral transport bytes,
HeartBtInt=30, bilateral TestRequest echoes, original sequences and both
Logouts. The scoped SDK/parent inventories agree before and after execution.
HP uses a high-priority isolated functional lease, CPUs 8–12 / 13–17; SCAN
uses a normal isolated functional lease, CPUs 10–13 / 14–17. Every stage checks
slot status, processes and memory first. Effective library, framer, media-driver
and background affinity is verified. Concurrent shared work is allowed for
these functional gates and does not establish a quiet timing window.

Both services finish success/status zero/MainPID zero. Collected cold reviews
replay independently and match native reviews exactly. Source tests pass 232
with no selected skips. Eleven actual malformed CLI processes reject invalid
roles, flows, samples, variants, ports, outputs and probe configurations before
runtime startup. Eighteen actual-output controls reject missing/duplicate clock
events, raw differences, passive samples and shortened probes. They also reject
repaired raw series that stop RTT before typed extraction, stop tick after
extraction, omit construction or move prepared tick start before original
serialization. These controls do not depend on a stale outer hash.

The earlier HP prepared-API and 23-pair development runs remain explicitly
ungraded; the sealed published-source campaign above supplies this gate.
Historical v10 timing and every other Java comparison retain their prior grades.

## Bounded provenance

Native capsule: `~/.cache/libhft/fullbench-artio-original-clock-20261025-v1`.
Native output: `~/build/codex-fullbench/libhft/artio-clock-qualification-20261025-v1`.
Collected reviews: sibling `artio-clock-review-20261025-v1/{hp,scan}`.
Service: `codex-fullbench-artio-clock-20261025-v1.service`.
Retained workers: `private/benchmarks/retained/artio_clock_*_20261025.py`.
Independent readers: `integration/benchmarks/open_source_fix_engines/check_artio_canonical_clocks.py`
and `check_artio_canonical_clock_native.py`. Runtime state remains working output
on its original host; bounded captures and receipts are collected for replay.

| Receipt | HP SHA-256 | SCAN SHA-256 |
|---|---|---|
| Sealed inputs | `14ed7fb355656edd444b84318c1798fa92a4bae0f4a0bf9c843670b5a32687af` | `8f18f7ab279abd803856ea359e5e207913a821ebe0ad5974bf5d8b4980f2e35f` |
| Native receipt | `a1246aff1ae0ad59fee0022871aba8f3e61240f0c901ecabb377a4e40f32f4a6` | `c32f57839ff024283e8cc327165f3a6371e65d466051aa9fe8db1c0108661ade` |
| Cold review | `d83abbe8cc78f492b9fa6ecc32afa1fec8d59db012bbf255c1a59d27e94b11bd` | `efb05a5d4e077bd8f760b82f0ddfecd136d35d9d60bbacc01db0ba80714adc5f` |
| Actual-output refusals | `547bd32e53e5a8f4b6b1dd53fedb153973bf7f88a6625df357cf43bdbd739582` | `6d5be13292a2a7689fc2518a10a71302984e62296484e3f24c00545e1513cede` |
| Collected files | `f47053339afcb058f78f6c90ab5e52f37ea651c11a2b4ef92fb0a4838efb026b` | `aa2e6f2031975ef76e23614472de136bebf8db818edf3781c54da4d003990e13` |
| Independent native reader | `a63c384c1eeb1c6f197f86e30753e25fbfaf7af2768ebadc6db7f6c73e271bf9` | `a63c384c1eeb1c6f197f86e30753e25fbfaf7af2768ebadc6db7f6c73e271bf9` |

## Remaining gates

Explicit pacing/delay measurement, zero/nonzero warmup, bounded preflight capture,
measured administration and shutdown, runtime generation/install qualification
and fresh quiet physical DAC collection remain required. No original offered
load, report sample count, acceptance threshold or good result key changes here.
No unchanged v10, FIX8, fixer-rs, Go or DFX timing campaign is repeated.
