# Six-flavour cursor/index rerun — 19 October 2026

Pulled private `main` first with a fast-forward to `0d4a254841956e3a3af1f30632e7f8173ecb1e34`, then built fresh SDKs and benchmark adapters using the relocated OSS/private roots. No SDK or benchmark source was edited for this rerun.

Initial admission passed **72 normal rows and all 144 negative probes**. The two frozen campaigns completed **840 timed processes and all 192 repeated negative checks**, plus two separate actual-runtime admission traces. Rechecks reuse the selected probe identities; they are not 192 distinct semantic tests. The normal recipes use GCC 14.2, Java 21.0.12.1, Rust 1.99.1 and .NET SDK 10.0.402/runtime 10.0.13. Rust uses the default release profile with default features disabled; no ThinLTO candidate is selected. Exact inputs, flags, commands and artifact identities are retained with the evidence.

Cursor/index instances are constructed outside timed loops and reused. Cursor timing includes Init, the complete field walk and END plus its observer; index timing includes Index and its observer. Structural rows fold metadata; extraction rows also perform the contracted conversions. They do not isolate parser-kernel or constructor latency. D/8/W contain 184/216/746 bytes and 18/21/73 fields; fixture and observer seals match the earlier campaigns.

[Full 96-cell CSV](../cursor-index-rerun-20261019/analysis-tools/RERUN_CELLS.csv) · [Machine-readable analysis and consumed-input seals](../cursor-index-rerun-20261019/analysis-tools/RERUN_ANALYSIS.json) · [Execution receipt](../cursor-index-rerun-20261019/execution.json) · [Archive identity](../cursor-index-rerun-20261019/ARCHIVE.json) · [Replay/evidence scope](../cursor-index-rerun-20261019/ARCHIVE_SCOPE.md).

The remaining native/pure gaps are explicit: Java JNI cursor process-p50 ratios are **6.06–6.36×** for structural traversal and **3.43–3.70×** for extraction. JNI small-frame indexing is **7.6–15.2% slower** than pure; W structural indexing is about **4.6% faster** and W extraction is near parity. Under default .NET, cursor ratios are **0.995–1.031×**, D/8 structural indexing is **1.368/1.348×** pure, and native extraction indexing is **17.9–21.7% faster**. Diagnostic .NET is faster than pure in all 12 cells, so that profile cannot substitute for default-policy results.

Relative to the separately measured sealed SDK1 window, JNI structural-cursor medians are descriptively **7.2%/8.8%/10.3% higher** on D/8/W, while JNI index medians vary only −1.7% to +0.7%. Twelve of the JNI processes show positive >5% first/last-quarter drift. CPU4 enclosing steal is 7.95%/10.51% across the two campaigns; cgroup-wide throttle deltas occur in three/five fork windows. All observations are retained. These counters and across-window contrasts do not distinguish SDK/code-layout/JIT effects from VM interference.

All cells and nominal intervals are below. Historical median contrasts cover different revisions/VM windows and are descriptive; they are not a new paired SDK experiment. Detailed reports and all raw samples remain included even where native is slower.

**Diagnostic shared-VM evidence; no exclusive-host qualification.** All outliers and drift-flagged forks remain included. Each cell reports the median of process p50 and, separately, the median of process p99. Both are statistics of 32-operation batch averages, not individual-message latency tails.

Native/pure ratios are geometric means of within-campaign, round-paired process-statistic ratios. Ratios above one mean native is slower. Nominal 95% percentile-bootstrap intervals resample complete fork-round blocks with identical draws for every cell in a campaign. These are shuffled scheduling blocks, not simultaneous or adjacent paired measurements. Five-round .NET intervals are exploratory; intervals have no multiplicity correction or physical-host confidence guarantee. No historical observation enters these estimates.

Actual campaign UTC: 2026-10-19T00:11:37Z through 2026-10-19T00:30:16Z. Directory dates are labels rather than run timestamps. Two separate untimed admission traces selected frozen CoreCLR 10.0.13; this establishes runtime identity, not timed-method JIT tier.

## all-six-diagnostic

Completed 720 timed processes and 144 exact negative-probe identities. 10 rounds; warmup 200,000; 10,000 measured batches; profile `diagnostic`. Snapshot and fixture/observer workload seals match.

| Provider | Fixture | Cursor structural p50 / batch-p99 ns | Cursor extraction p50 / batch-p99 ns | Index structural p50 / batch-p99 ns | Index extraction p50 / batch-p99 ns |
|---|---|---:|---:|---:|---:|
| C++ | D | 146 / 197.5 | 206 / 492.5 | 192 / 550 | 269 / 688 |
| C++ | 8 | 165 / 244 | 235 / 629.5 | 221 / 584 | 312 / 700.5 |
| C++ | W | 572.5 / 1568.5 | 920 / 2292.5 | 797 / 1463 | 1192.5 / 2450 |
| Java-pure | D | 178 / 526 | 333.5 / 821.5 | 229 / 603 | 339 / 838 |
| Java-pure | 8 | 209.5 / 560.5 | 414.5 / 1072.5 | 270.5 / 712.5 | 419.5 / 1275.5 |
| Java-pure | W | 639 / 1588.5 | 1324 / 3061.5 | 909 / 2418.5 | 1519.5 / 3402.5 |
| Java-JNI | D | 1106 / 2414.5 | 1232.5 / 2946 | 264.5 / 734.5 | 377.5 / 998 |
| Java-JNI | 8 | 1261 / 3051.5 | 1452.5 / 3299 | 296 / 746 | 451.5 / 1016.5 |
| Java-JNI | W | 4064 / 9723 | 4566.5 / 9163.5 | 866 / 2026 | 1537 / 3055 |
| .NET-pure | D | 383.5 / 900.5 | 628 / 1439 | 532 / 1342 | 706.5 / 1936 |
| .NET-pure | 8 | 420.5 / 1023 | 740 / 1836 | 592 / 1394.5 | 850 / 2247.5 |
| .NET-pure | W | 1396.5 / 3102 | 2976.5 / 5375.5 | 1984.5 / 3848.5 | 3239 / 7661 |
| .NET-native | D | 302 / 709 | 555 / 1119 | 286 / 675.5 | 458 / 1108.5 |
| .NET-native | 8 | 345 / 826.5 | 669 / 1659 | 327 / 848.5 | 571 / 1373.5 |
| .NET-native | W | 1173 / 2537.5 | 2696 / 4697.5 | 1134 / 2723 | 2365 / 4844.5 |
| Rust | D | 210 / 531 | 326 / 747 | 232 / 591.5 | 326 / 867.5 |
| Rust | 8 | 242 / 699.5 | 373 / 930 | 264.5 / 622 | 387.5 / 1068 |
| Rust | W | 878.5 / 2188.5 | 1497 / 2993.5 | 932.5 / 2220.5 | 1550.5 / 3160 |

| Language | Operation | Fixture | Native/pure process-p50 ratio [nominal 95%] | Native/pure process-p99 ratio [nominal 95%] |
|---|---|---|---:|---:|
| Java | cursor_parse_only | D | 6.142 [6.036, 6.238] | 5.528 [3.754, 8.998] |
| Java | cursor_parse_only | 8 | 6.065 [5.963, 6.175] | 5.229 [4.513, 5.939] |
| Java | cursor_parse_only | W | 6.357 [6.248, 6.470] | 5.936 [4.234, 8.256] |
| Java | cursor_parse_extract | D | 3.699 [3.647, 3.754] | 3.065 [2.554, 3.616] |
| Java | cursor_parse_extract | 8 | 3.522 [3.458, 3.594] | 2.933 [2.295, 3.737] |
| Java | cursor_parse_extract | W | 3.428 [3.350, 3.514] | 3.239 [2.860, 3.732] |
| Java | index_parse_only | D | 1.152 [1.144, 1.158] | 1.539 [1.143, 2.132] |
| Java | index_parse_only | 8 | 1.088 [1.081, 1.096] | 1.043 [0.830, 1.292] |
| Java | index_parse_only | W | 0.954 [0.951, 0.957] | 0.917 [0.763, 1.129] |
| Java | index_parse_extract | D | 1.109 [1.102, 1.114] | 1.092 [0.941, 1.262] |
| Java | index_parse_extract | 8 | 1.076 [1.071, 1.081] | 0.976 [0.750, 1.482] |
| Java | index_parse_extract | W | 0.997 [0.976, 1.015] | 0.900 [0.795, 1.031] |
| .NET | cursor_parse_only | D | 0.780 [0.770, 0.788] | 0.742 [0.662, 0.817] |
| .NET | cursor_parse_only | 8 | 0.821 [0.813, 0.829] | 0.880 [0.690, 1.148] |
| .NET | cursor_parse_only | W | 0.838 [0.835, 0.841] | 0.758 [0.672, 0.860] |
| .NET | cursor_parse_extract | D | 0.885 [0.882, 0.887] | 0.983 [0.750, 1.375] |
| .NET | cursor_parse_extract | 8 | 0.906 [0.903, 0.910] | 0.899 [0.771, 1.052] |
| .NET | cursor_parse_extract | W | 0.906 [0.904, 0.908] | 0.879 [0.750, 1.024] |
| .NET | index_parse_only | D | 0.535 [0.529, 0.538] | 0.528 [0.431, 0.646] |
| .NET | index_parse_only | 8 | 0.553 [0.549, 0.555] | 0.734 [0.579, 0.963] |
| .NET | index_parse_only | W | 0.572 [0.571, 0.572] | 0.571 [0.417, 0.738] |
| .NET | index_parse_extract | D | 0.649 [0.647, 0.650] | 0.621 [0.483, 0.833] |
| .NET | index_parse_extract | 8 | 0.671 [0.670, 0.672] | 0.580 [0.383, 0.794] |
| .NET | index_parse_extract | W | 0.731 [0.730, 0.732] | 0.700 [0.563, 0.917] |

| Provider | Processes | Drift >5% | Whole-VM aggregate steal in fork windows | Cgroup throttled forks / µs |
|---|---:|---:|---:|---:|
| Java-JNI | 120 | 12 | 3.47% | 1 / 16075 |
| Rust | 120 | 2 | 2.17% | 0 / 0 |
| .NET-pure | 120 | 0 | 3.72% | 0 / 0 |
| Java-pure | 120 | 3 | 2.57% | 0 / 0 |
| .NET-native | 120 | 0 | 10.90% | 2 / 3871556 |
| C++ | 120 | 0 | 2.04% | 0 / 0 |

Frozen source/receipt references:

- Source `0d4a254841956e3a3af1f30632e7f8173ecb1e34`; identity `{"commit": "0d4a254841956e3a3af1f30632e7f8173ecb1e34", "kind": "git", "tracked_changes": false}`; archive `/tmp/libhft-bench-rerun-20261018/frozen/snapshot/provenance/source`.
- Snapshot `/tmp/libhft-bench-rerun-20261018/frozen/snapshot/snapshot.json` SHA256 `d34f2e7ed6761d8201093dc166975a88289f36cae81b5c28e1474fb270b2e71c`; prepared-manifest SHA256 `d8fb2b65180447f76ee53782c5b0453e09190917931cae76393b1831aabdaaff`.
- Exact receipts and raw samples: `/tmp/libhft-bench-rerun-20261018/all-six-diagnostic/forks`; probes: `/tmp/libhft-bench-rerun-20261018/all-six-diagnostic/parity`.

## default-dotnet

Completed 120 timed processes and 48 exact negative-probe identities. 5 rounds; warmup 2,000,000; 10,000 measured batches; profile `default`. Snapshot and fixture/observer workload seals match.

| Provider | Fixture | Cursor structural p50 / batch-p99 ns | Cursor extraction p50 / batch-p99 ns | Index structural p50 / batch-p99 ns | Index extraction p50 / batch-p99 ns |
|---|---|---:|---:|---:|---:|
| .NET-pure | D | 293 / 1232 | 479 / 1815 | 410 / 1453 | 575 / 1822 |
| .NET-pure | 8 | 346 / 1184 | 577 / 2095 | 485 / 1802 | 706 / 2225 |
| .NET-pure | W | 1122 / 3192 | 2382 / 4995 | 1586 / 3947 | 2825 / 6079 |
| .NET-native | D | 298 / 1280 | 497 / 1832 | 567 / 1896 | 455 / 1767 |
| .NET-native | 8 | 342 / 1321 | 594 / 2005 | 655 / 2103 | 556 / 1865 |
| .NET-native | W | 1153 / 4284 | 2426 / 5459 | 1140 / 3259 | 2325 / 4810 |

| Language | Operation | Fixture | Native/pure process-p50 ratio [nominal 95%] | Native/pure process-p99 ratio [nominal 95%] |
|---|---|---|---:|---:|
| .NET | cursor_parse_only | D | 1.025 [1.010, 1.044] | 0.905 [0.738, 1.122] |
| .NET | cursor_parse_only | 8 | 0.995 [0.987, 1.003] | 1.225 [0.987, 1.680] |
| .NET | cursor_parse_only | W | 1.024 [1.004, 1.043] | 1.637 [0.974, 3.307] |
| .NET | cursor_parse_extract | D | 1.030 [1.009, 1.044] | 1.117 [0.853, 1.569] |
| .NET | cursor_parse_extract | 8 | 1.031 [1.027, 1.035] | 1.033 [0.818, 1.319] |
| .NET | cursor_parse_extract | W | 1.020 [1.015, 1.027] | 1.356 [0.969, 2.137] |
| .NET | index_parse_only | D | 1.368 [1.328, 1.403] | 1.293 [1.154, 1.434] |
| .NET | index_parse_only | 8 | 1.348 [1.332, 1.364] | 1.128 [0.675, 1.710] |
| .NET | index_parse_only | W | 0.708 [0.690, 0.721] | 0.692 [0.489, 0.951] |
| .NET | index_parse_extract | D | 0.790 [0.785, 0.797] | 0.912 [0.858, 0.956] |
| .NET | index_parse_extract | 8 | 0.783 [0.778, 0.787] | 0.921 [0.792, 1.130] |
| .NET | index_parse_extract | W | 0.821 [0.811, 0.829] | 0.803 [0.721, 0.876] |

| Provider | Processes | Drift >5% | Whole-VM aggregate steal in fork windows | Cgroup throttled forks / µs |
|---|---:|---:|---:|---:|
| .NET-pure | 60 | 0 | 4.40% | 2 / 3853201 |
| .NET-native | 60 | 0 | 6.11% | 3 / 2539534 |

Frozen source/receipt references:

- Source `0d4a254841956e3a3af1f30632e7f8173ecb1e34`; identity `{"commit": "0d4a254841956e3a3af1f30632e7f8173ecb1e34", "kind": "git", "tracked_changes": false}`; archive `/tmp/libhft-bench-rerun-20261018/frozen/snapshot/provenance/source`.
- Snapshot `/tmp/libhft-bench-rerun-20261018/frozen/snapshot/snapshot.json` SHA256 `d34f2e7ed6761d8201093dc166975a88289f36cae81b5c28e1474fb270b2e71c`; prepared-manifest SHA256 `d8fb2b65180447f76ee53782c5b0453e09190917931cae76393b1831aabdaaff`.
- Exact receipts and raw samples: `/tmp/libhft-bench-rerun-20261018/default-dotnet/forks`; probes: `/tmp/libhft-bench-rerun-20261018/default-dotnet/parity`.

## Historical context only

Current/historical ratios below compare medians across different source revisions and VM/time windows. They are descriptive, unpaired and have no causal SDK-effect interval. Matching fixture/observer seals attest declared workload equality, not identical machine code, code layout, compiler inputs or JIT state. Pure-provider movement is shown independently; it is never subtracted or used to causally adjust native movement. Missing old fixtures/profiles remain unavailable.

### 15acc-all-six

Status: `descriptive-only`; retained campaign `/workspace/build/libhft/final-perf-20261017/all-six-diagnostic`.
Measured source commit `15acc99220fb6f1bbd8903a16caaa90cc24fa212`; source archive `/workspace/build/libhft/final-perf-20261017/frozen/snapshot/provenance/source`; Clean Git source commit.
Snapshot `/workspace/build/libhft/final-perf-20261017/frozen/snapshot/snapshot.json` SHA256 `79b20cafcdbd833ecb0ea29927ae3cb95901c97adf4ceb9a6ce066226a2f45c4`. Fixture and observer seals exactly match the current rerun. Warmup 200,000, rounds 10.

| Current profile | Provider | Operation | Fixture | Current / historical process-p50 median | Current / historical process-p99 median |
|---|---|---|---|---:|---:|
| diagnostic | C++ | cursor_parse_extract | 8 | 1.000 | 0.829 |
| diagnostic | C++ | cursor_parse_extract | D | 1.000 | 0.701 |
| diagnostic | C++ | cursor_parse_extract | W | 0.997 | 0.860 |
| diagnostic | C++ | cursor_parse_only | 8 | 0.965 | 0.392 |
| diagnostic | C++ | cursor_parse_only | D | 0.967 | 0.390 |
| diagnostic | C++ | cursor_parse_only | W | 0.953 | 0.807 |
| diagnostic | C++ | index_parse_extract | 8 | 1.016 | 0.529 |
| diagnostic | C++ | index_parse_extract | D | 1.019 | 0.610 |
| diagnostic | C++ | index_parse_extract | W | 1.004 | 0.776 |
| diagnostic | C++ | index_parse_only | 8 | 1.018 | 0.640 |
| diagnostic | C++ | index_parse_only | D | 1.021 | 0.737 |
| diagnostic | C++ | index_parse_only | W | 1.023 | 0.618 |
| diagnostic | .NET-pure | cursor_parse_extract | 8 | 0.852 | 0.682 |
| diagnostic | .NET-pure | cursor_parse_extract | D | 0.881 | 0.626 |
| diagnostic | .NET-pure | cursor_parse_extract | W | 0.848 | 0.660 |
| diagnostic | .NET-pure | cursor_parse_only | 8 | 0.889 | 0.562 |
| diagnostic | .NET-pure | cursor_parse_only | D | 0.931 | 0.595 |
| diagnostic | .NET-pure | cursor_parse_only | W | 0.918 | 0.883 |
| diagnostic | .NET-pure | index_parse_extract | 8 | 0.966 | 0.809 |
| diagnostic | .NET-pure | index_parse_extract | D | 0.972 | 0.842 |
| diagnostic | .NET-pure | index_parse_extract | W | 0.975 | 0.920 |
| diagnostic | .NET-pure | index_parse_only | 8 | 0.925 | 0.627 |
| diagnostic | .NET-pure | index_parse_only | D | 0.967 | 0.685 |
| diagnostic | .NET-pure | index_parse_only | W | 0.961 | 0.812 |
| diagnostic | .NET-native | cursor_parse_extract | 8 | 0.808 | 0.637 |
| diagnostic | .NET-native | cursor_parse_extract | D | 0.802 | 0.505 |
| diagnostic | .NET-native | cursor_parse_extract | W | 0.806 | 0.671 |
| diagnostic | .NET-native | cursor_parse_only | 8 | 0.822 | 0.491 |
| diagnostic | .NET-native | cursor_parse_only | D | 0.813 | 0.481 |
| diagnostic | .NET-native | cursor_parse_only | W | 0.863 | 0.744 |
| diagnostic | .NET-native | index_parse_extract | 8 | 0.984 | 0.745 |
| diagnostic | .NET-native | index_parse_extract | D | 0.974 | 0.663 |
| diagnostic | .NET-native | index_parse_extract | W | 1.002 | 0.909 |
| diagnostic | .NET-native | index_parse_only | 8 | 0.937 | 0.700 |
| diagnostic | .NET-native | index_parse_only | D | 0.944 | 0.576 |
| diagnostic | .NET-native | index_parse_only | W | 0.999 | 0.973 |
| diagnostic | Java-pure | cursor_parse_extract | 8 | 1.007 | 0.651 |
| diagnostic | Java-pure | cursor_parse_extract | D | 1.011 | 0.573 |
| diagnostic | Java-pure | cursor_parse_extract | W | 0.998 | 0.888 |
| diagnostic | Java-pure | cursor_parse_only | 8 | 0.998 | 0.720 |
| diagnostic | Java-pure | cursor_parse_only | D | 0.965 | 0.757 |
| diagnostic | Java-pure | cursor_parse_only | W | 1.000 | 0.705 |
| diagnostic | Java-pure | index_parse_extract | 8 | 0.982 | 0.768 |
| diagnostic | Java-pure | index_parse_extract | D | 0.974 | 0.630 |
| diagnostic | Java-pure | index_parse_extract | W | 0.990 | 0.791 |
| diagnostic | Java-pure | index_parse_only | 8 | 0.991 | 0.586 |
| diagnostic | Java-pure | index_parse_only | D | 0.996 | 0.777 |
| diagnostic | Java-pure | index_parse_only | W | 1.009 | 0.903 |
| diagnostic | Java-JNI | cursor_parse_extract | 8 | 1.049 | 0.993 |
| diagnostic | Java-JNI | cursor_parse_extract | D | 1.057 | 0.933 |
| diagnostic | Java-JNI | cursor_parse_extract | W | 1.049 | 0.919 |
| diagnostic | Java-JNI | cursor_parse_only | 8 | 1.063 | 0.923 |
| diagnostic | Java-JNI | cursor_parse_only | D | 1.056 | 0.867 |
| diagnostic | Java-JNI | cursor_parse_only | W | 1.118 | 1.184 |
| diagnostic | Java-JNI | index_parse_extract | 8 | 0.880 | 0.541 |
| diagnostic | Java-JNI | index_parse_extract | D | 0.870 | 0.613 |
| diagnostic | Java-JNI | index_parse_extract | W | 0.947 | 0.784 |
| diagnostic | Java-JNI | index_parse_only | 8 | 0.872 | 0.574 |
| diagnostic | Java-JNI | index_parse_only | D | 0.864 | 0.569 |
| diagnostic | Java-JNI | index_parse_only | W | 0.951 | 0.737 |
| diagnostic | Rust | cursor_parse_extract | 8 | 1.019 | 0.702 |
| diagnostic | Rust | cursor_parse_extract | D | 1.025 | 0.591 |
| diagnostic | Rust | cursor_parse_extract | W | 1.035 | 0.798 |
| diagnostic | Rust | cursor_parse_only | 8 | 1.073 | 0.729 |
| diagnostic | Rust | cursor_parse_only | D | 1.061 | 0.756 |
| diagnostic | Rust | cursor_parse_only | W | 1.058 | 0.930 |
| diagnostic | Rust | index_parse_extract | 8 | 1.033 | 0.675 |
| diagnostic | Rust | index_parse_extract | D | 1.035 | 0.697 |
| diagnostic | Rust | index_parse_extract | W | 1.067 | 0.932 |
| diagnostic | Rust | index_parse_only | 8 | 1.025 | 0.641 |
| diagnostic | Rust | index_parse_only | D | 1.055 | 0.576 |
| diagnostic | Rust | index_parse_only | W | 1.043 | 0.846 |

### sdk1-diagnostic

Status: `descriptive-only`; retained campaign `/workspace/build/libhft/native-gap-20261018/diagnostic-sdk`.
Compiled observer-origin commit `45f8f66476bed0ea7b936653e7210ea679163188`; measured SDK runtime replacement has base commit `45f8f66476bed0ea7b936653e7210ea679163188` plus sealed working-state identity `235b92b73f1fb537bdfafc46e05d8584ea6e11e4b4e1ff98cdba4864097e796c`. This is not a clean candidate commit. Source archive `/workspace/build/libhft/native-gap-20261018/sdk-frozen/snapshot/provenance/sdk-replacement/current-sdk-source`; working-state JSON `/workspace/build/libhft/native-gap-20261018/sdk-frozen/snapshot/provenance/sdk-replacement/current-sdk-source/working-state.json` file SHA256 `b59a6cf39e052375fb4156e401af6982303209cd95894378df3dd3e9bf92e2a9`; composition `/workspace/build/libhft/native-gap-20261018/sdk-frozen/snapshot/provenance/sdk-replacement/composition.json` SHA256 `016a12f0da9b704c8e64514b428dec188f0d783b2c2da57793c8faedd3272989`. Working patch and untracked archive seals are verified and retained in JSON; the large HEAD archive's declared manifest seal is recorded without rehashing it.
Snapshot `/workspace/build/libhft/native-gap-20261018/sdk-frozen/snapshot/snapshot.json` SHA256 `0c1c08db8e223db5088c5885e6efeea43dbd1bb6c72a3ef7ef5387c2df4b47cc`. Fixture and observer seals exactly match the current rerun. Warmup 200,000, rounds 10.

| Current profile | Provider | Operation | Fixture | Current / historical process-p50 median | Current / historical process-p99 median |
|---|---|---|---|---:|---:|
| diagnostic | .NET-pure | cursor_parse_extract | 8 | 0.987 | 0.655 |
| diagnostic | .NET-pure | cursor_parse_extract | D | 1.002 | 0.570 |
| diagnostic | .NET-pure | cursor_parse_extract | W | 1.001 | 0.627 |
| diagnostic | .NET-pure | cursor_parse_only | 8 | 1.004 | 0.501 |
| diagnostic | .NET-pure | cursor_parse_only | D | 0.997 | 0.499 |
| diagnostic | .NET-pure | cursor_parse_only | W | 1.000 | 0.658 |
| diagnostic | .NET-pure | index_parse_extract | 8 | 1.008 | 0.687 |
| diagnostic | .NET-pure | index_parse_extract | D | 0.998 | 0.741 |
| diagnostic | .NET-pure | index_parse_extract | W | 0.998 | 0.857 |
| diagnostic | .NET-pure | index_parse_only | 8 | 1.004 | 0.498 |
| diagnostic | .NET-pure | index_parse_only | D | 1.000 | 0.579 |
| diagnostic | .NET-pure | index_parse_only | W | 1.006 | 0.604 |
| diagnostic | .NET-native | cursor_parse_extract | 8 | 1.000 | 0.599 |
| diagnostic | .NET-native | cursor_parse_extract | D | 0.996 | 0.442 |
| diagnostic | .NET-native | cursor_parse_extract | W | 1.003 | 0.614 |
| diagnostic | .NET-native | cursor_parse_only | 8 | 0.993 | 0.449 |
| diagnostic | .NET-native | cursor_parse_only | D | 1.000 | 0.402 |
| diagnostic | .NET-native | cursor_parse_only | W | 1.003 | 0.639 |
| diagnostic | .NET-native | index_parse_extract | 8 | 1.000 | 0.544 |
| diagnostic | .NET-native | index_parse_extract | D | 0.989 | 0.546 |
| diagnostic | .NET-native | index_parse_extract | W | 1.003 | 0.734 |
| diagnostic | .NET-native | index_parse_only | 8 | 1.000 | 0.588 |
| diagnostic | .NET-native | index_parse_only | D | 1.007 | 0.413 |
| diagnostic | .NET-native | index_parse_only | W | 1.001 | 0.742 |
| diagnostic | Java-pure | cursor_parse_extract | 8 | 1.004 | 0.515 |
| diagnostic | Java-pure | cursor_parse_extract | D | 1.003 | 0.439 |
| diagnostic | Java-pure | cursor_parse_extract | W | 1.001 | 0.753 |
| diagnostic | Java-pure | cursor_parse_only | 8 | 1.002 | 0.473 |
| diagnostic | Java-pure | cursor_parse_only | D | 0.967 | 0.599 |
| diagnostic | Java-pure | cursor_parse_only | W | 0.999 | 0.588 |
| diagnostic | Java-pure | index_parse_extract | 8 | 1.004 | 0.604 |
| diagnostic | Java-pure | index_parse_extract | D | 1.003 | 0.456 |
| diagnostic | Java-pure | index_parse_extract | W | 0.978 | 0.739 |
| diagnostic | Java-pure | index_parse_only | 8 | 1.000 | 0.421 |
| diagnostic | Java-pure | index_parse_only | D | 1.000 | 0.481 |
| diagnostic | Java-pure | index_parse_only | W | 0.999 | 0.753 |
| diagnostic | Java-JNI | cursor_parse_extract | 8 | 1.040 | 0.743 |
| diagnostic | Java-JNI | cursor_parse_extract | D | 1.037 | 0.737 |
| diagnostic | Java-JNI | cursor_parse_extract | W | 1.046 | 0.895 |
| diagnostic | Java-JNI | cursor_parse_only | 8 | 1.088 | 0.826 |
| diagnostic | Java-JNI | cursor_parse_only | D | 1.072 | 0.634 |
| diagnostic | Java-JNI | cursor_parse_only | W | 1.103 | 1.041 |
| diagnostic | Java-JNI | index_parse_extract | 8 | 0.999 | 0.468 |
| diagnostic | Java-JNI | index_parse_extract | D | 0.996 | 0.556 |
| diagnostic | Java-JNI | index_parse_extract | W | 1.003 | 0.603 |
| diagnostic | Java-JNI | index_parse_only | 8 | 1.003 | 0.422 |
| diagnostic | Java-JNI | index_parse_only | D | 0.983 | 0.442 |
| diagnostic | Java-JNI | index_parse_only | W | 1.007 | 0.629 |

### sdk1-default

Status: `descriptive-only`; retained campaign `/workspace/build/libhft/native-gap-20261018/default-dotnet`.
Compiled observer-origin commit `45f8f66476bed0ea7b936653e7210ea679163188`; measured SDK runtime replacement has base commit `45f8f66476bed0ea7b936653e7210ea679163188` plus sealed working-state identity `235b92b73f1fb537bdfafc46e05d8584ea6e11e4b4e1ff98cdba4864097e796c`. This is not a clean candidate commit. Source archive `/workspace/build/libhft/native-gap-20261018/sdk-frozen/snapshot/provenance/sdk-replacement/current-sdk-source`; working-state JSON `/workspace/build/libhft/native-gap-20261018/sdk-frozen/snapshot/provenance/sdk-replacement/current-sdk-source/working-state.json` file SHA256 `b59a6cf39e052375fb4156e401af6982303209cd95894378df3dd3e9bf92e2a9`; composition `/workspace/build/libhft/native-gap-20261018/sdk-frozen/snapshot/provenance/sdk-replacement/composition.json` SHA256 `016a12f0da9b704c8e64514b428dec188f0d783b2c2da57793c8faedd3272989`. Working patch and untracked archive seals are verified and retained in JSON; the large HEAD archive's declared manifest seal is recorded without rehashing it.
Snapshot `/workspace/build/libhft/native-gap-20261018/sdk-frozen/snapshot/snapshot.json` SHA256 `0c1c08db8e223db5088c5885e6efeea43dbd1bb6c72a3ef7ef5387c2df4b47cc`. Fixture and observer seals exactly match the current rerun. Warmup 2,000,000, rounds 5.

| Current profile | Provider | Operation | Fixture | Current / historical process-p50 median | Current / historical process-p99 median |
|---|---|---|---|---:|---:|
| default | .NET-pure | cursor_parse_extract | D | 0.996 | 0.828 |
| default | .NET-pure | cursor_parse_extract | W | 0.997 | 0.804 |
| default | .NET-pure | cursor_parse_only | D | 1.000 | 0.850 |
| default | .NET-pure | cursor_parse_only | W | 1.029 | 0.949 |
| default | .NET-pure | index_parse_extract | D | 0.995 | 0.740 |
| default | .NET-pure | index_parse_extract | W | 0.994 | 0.822 |
| default | .NET-pure | index_parse_only | D | 0.995 | 0.748 |
| default | .NET-pure | index_parse_only | W | 0.964 | 0.827 |
| default | .NET-native | cursor_parse_extract | D | 1.000 | 0.893 |
| default | .NET-native | cursor_parse_extract | W | 1.006 | 0.881 |
| default | .NET-native | cursor_parse_only | D | 0.997 | 0.725 |
| default | .NET-native | cursor_parse_only | W | 1.030 | 1.178 |
| default | .NET-native | index_parse_extract | D | 1.007 | 0.951 |
| default | .NET-native | index_parse_extract | W | 1.000 | 0.831 |
| default | .NET-native | index_parse_only | D | 1.000 | 0.767 |
| default | .NET-native | index_parse_only | W | 0.998 | 0.936 |

## Telemetry, limitations and evidence

Affinity does not provide exclusive physical-host access. Whole-VM counters span all CPUs; cgroup counters span the whole container. CPU4 continuous samples, when available, enclose startup, warmup, probes, gaps and final verification, not just measured batches. These counters cannot attribute a particular cell change to virtualization or distinguish JIT/code-layout effects. Fixed warmup and low within-process drift do not certify a JIT tier. The .NET diagnostic profile disables tiered compilation/PGO; the default profile uses normal policy. Java retains its normal JIT behavior.

- all-six-diagnostic: CPU4 enclosing steal 7.95%.
- default-dotnet: CPU4 enclosing steal 10.51%.

The analyzer checks completed status; exact unique schedule, fork and negative-probe sets; process command/CPU/receipt identity; expected probe rejection; raw chronology and batch counts; raw p50/p99 and drift recomputation; summary agreement; snapshot/prepared-manifest/launcher hashes; and equal field/fixture/observer seals. It records and rechecks all consumed-file SHA256 hashes. Full runtime inventories were checked by the campaign driver; this lightweight analysis does not independently rehash every runtime byte. Negative probes are benchmark admission checks, not a substitute for complete SDK correctness tests. Two actual-CoreCLR admission traces and application target records are verified separately from timed forks; no timed JIT-tier trace is inferred from them.

Full cell data and descriptive historical columns: `RERUN_CELLS.csv`. Machine-readable source identities, seals, all per-round values, paired ratios, drift records and telemetry: `RERUN_ANALYSIS.json`. No observations are removed and no historical/pure-control correction is applied.
