# Libtrading: bounded source CDFs from admitted samples

## Current status

The 2026-10-19 storage ruling makes the committed compact result the evidence.
This migration adds a bounded, pooled CDF to the already admitted libtrading
cells using their original host samples. Every identity, percentile, maximum,
rate, functional decision and provenance field from the previous result stays
exact. The new provenance entry describes only this conversion.

| Host | Conversion | Cells | Result bytes | Bench reruns |
| --- | --- | ---: | ---: | ---: |
| HP | passed native and independent bounded readback | 4 | 463,756 | 0 |
| SCAN | passed native and independent bounded readback | 4 | 471,124 | 0 |

All eight results now retain bounded CDFs: 934,880 bytes in total. No existing
summary number changes. No timing grade or matched comparison is added by a CDF
conversion. The [original report](../../../docs/evidence/RECORD_2026-10-19_libtrading_report.md)
contains the measurement and admission history.

## Inputs and checks

- Converter, worker and base result pin:
  `fa57acb1c6fa62e34882683f1c5c19438961f8f7`.
- Input capsule `~/.cache/libhft/fullbench-libtrading-cdf-20261019-v1`;
  manifest SHA-256
  `41d1de51055f7d319854de2cea810795d5efbbd72274e7e5566e63668bad3312`.
- HP native review SHA-256:
  `d1fd2a6a9d3386d748e18671d0ecdb787c1f21aea88d34d23b20ff26c69c6ef1`.
- SCAN native review SHA-256:
  `d97b516894b7c2fb6b62da32a50e64de14dd61cc238e5976c805e8ca83dc3e76`.
- Each original result byte stream matches its sealed admission digest. Each
  of the three raw files per flow matches the original independent replay's
  byte count and SHA-256 before and after conversion.
- Both 30,000-sample series per cell reproduce every published median-of-runs
  percentile, pooled mean and actual maximum exactly.
- Every one of the 2,000 retained CDF points per series is checked against its
  original empirical rank. The minimum and true maximum remain present.
- Independent bounded readback checks the compact format, original result
  equality after removing conversion additions, all source/raw digests and
  CDF monotonicity. No raw sample or full clock trace is downloaded.
- The focused source suite passes 51 tests plus 24 Session refusal subtests;
  20 of those tests cover CDF completion and its refusals.

HP's helper requests high priority. The conversion service is
`codex-fullbench-libtrading-cdf-20261019-v1.service`. It survives the launching
SSH connection and exits successfully after its foreground CPU lease ends.
The commands select Python 3.11.13 on HP and Python 3.13.14 on SCAN. Their
console `Python 3.9.25` line comes from a separate PATH-selected version
subprocess, not the worker interpreter.

## Source results and hosting

Results remain under
`private/benchmarks/retained/results/<host>/dac-canonical-preflight-v1/libtrading+text-numbers+session-delivery+complete-rtt/kernel/`.
The four filenames are `nos_er-paced-10000.json`, `md-paced-10000.json`,
`md_nos_er-paced-10000.json` and `tick_to_trade-paced-10000.json`.

The source results contain the bounded CDFs. The Atrekes website importer
continues to project compact summaries and excludes full per-test CDFs from
its hosting artifact.

## Working-output storage

The campaign's old copies under `~/archive/libhft/fullbench-20261019` were
renamed, without deleting or changing their contents:

- HP and SCAN: `~/libhft-bench-runs/codex-fullbench-working-20261019`.
- Local bounded reviews: the session build root's
  `historical-review-working-20261019` directory.

The original host report runtime directories remain untouched. Raw output
is working output, not separate evidence. The historical archive-copy
launcher now refuses execution. Only `prune_run_folders.py apply` may delete
run folders; none was deleted here. The generic pruner currently keeps this
native campaign layout because it is not a `rows.csv` load-bench sitting.
Completing a CDF does not authorize manual cleanup.
