# Latency report source preference and presentation context

`load_frames` accepts optional per-report context: ordered source-preference
markers and campaign discussion. Frames copy the summary before attaching the
selection metadata, so two reports sharing a DataFrame cannot change each
other's source preference. Generic defaults have no dated campaign preference
or inherited host, setup, ranking or timing-admission claims. Original markers
and every original claim remain in a private context declaration and exact
source snapshot, pinned to `7ec99ac5d2e5`.

The source score still ranks complete rows after evidence quality and tail
availability and before sample count; it never combines columns across rows.
With original markers, the private replay reproduces the complete ranked CSV
and coherence outputs. **Thirty original functions are AST-identical.** Three
changed presenters have AST-identical numeric/control flow after stripping only
prose/title display calls, docstrings and the optional context keyword. Their
legacy three-probe pivot/classification, empirical CDF and quantile values are
unchanged. The remaining changes supply context to source ranking/loading and
provide validated discussion. Original loopback markdown and complete quantile
CSV replay exactly when explicitly requested. Current converted-values-v2
Stage 2 campaign publication and all frozen timing inputs are untouched.

## Verification and retention

Original source **8f633a3f9** and its first fixture log remain preserved:
**two failures, seven passes, 40 subchecks**. The new loopback fixtures used
short tokens rather than the original `libhftcpp/libhftjava/libhftnet` filenames,
so both original and migrated loaders correctly found no samples. Correcting
the fixture filenames leaves their discovery rules unchanged.

Source **fa1d53653915** passes **18 tests and 68 subchecks, zero skips**, including
private original-function/presentation/ranking replay and the real twelve-cell
CrossFIX notebook kernel. Its complete **745-file** flat archive passes
**12 public tests and eight subchecks, zero skips**: independent contexts,
complete-row selection, unknown/duplicate/invalid input refusal, unchanged
legacy Stage 2 pivot values, actual three-lane empirical loopback plot/quantiles
and CrossFIX CLI/kernel regression. Every materialized source byte and Git mode
remains unchanged; the disposable materialization is removed.

Source refs are `s/codex-fullbench-latency-context-original-source-20261003` and
`s/codex-fullbench-latency-context-source-20261003`. Exact old source/context
and active private regressions are under `internal/bench/java/fixbench/scripts/`.
Evidence is sealed under `~/archive/libhft/latency-context-20261003-fa1d53653915`
and [repository evidence](evidence/latency-context-20261003/SHA256SUMS).
Readiness selects **742 files**, with **23 scrub findings in one generator**,
84 textual escapes and zero dead links. No engine execution, HDR conversion,
physical benchmark, timing/report, Stage 5 or standalone release admission is
claimed. Full SDK/release closure and fresh physical comparison remain open.

After rebasing over concurrent main work, **all 745 qualified source inputs**
remain byte-identical. The integrated suite again passes **18 tests and 68
subchecks, zero skips**. Its input map and log are sealed beside the original
source archive generation.
