# lightning.finite_horizon.studies { #aria_nbv.lightning.finite_horizon.studies }
`lightning.finite_horizon.studies`
Frozen scorer study protocols, admitted evidence, analysis and archive ownership.
Runtime composition remains in ``finite_horizon.experiment``. Import each
study owner directly; this namespace introduces no registry or reexports.
<!-- quartodoc-package-readme: aria_nbv.lightning.finite_horizon.studies -->
## Package guide
This package owns frozen scorer-study protocols, schema-specific evidence
admission and scientific reductions. The runtime composition interface remains
[QhExperiment](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/experiment.py); current optimization lives in
[objective.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/objective.py) and [module.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/module.py). The study namespace
has no registry or reexport facade: callers import the owner they use.
## From bytes to scientific claims
[archive.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/archive.py) authenticates original producer/configuration and result
bytes against an externally retained manifest digest. Transport verification
establishes integrity. [inventory.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/inventory.py) projects curated attempts,
controls, statuses and provenance from receipts. Scientific admission belongs
to the schema-specific readers, which verify population, support, pairing and
checkpoint roles. A catalogued attempt can be failed, interrupted or unlaunched.
```{mermaid}
flowchart LR
B["Sealed bytes and trusted digest"] --> A["Archive verification"]
A --> I["Receipt inventory and execution status"]
A --> R["Schema-specific scientific admission"]
R --> S["Admitted study and reductions"]
S --> P["Reporting snapshots and figures"]
```
The source owners are:
- [architecture_study.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/architecture_study.py) and
[architecture_results.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/architecture_results.py): frozen architecture protocol,
canonical diagnostic-fit dispatch and bounded CUDA measurements in the former,
pure scene-equal reductions/support identities and paired comparisons in the latter;
- [first_model_evidence.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/first_model_evidence.py): captured Q1 inputs, supported
original-label evaluation, TRAIN-fitted controls and readiness admission;
- [cuda_q1_posthoc.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/cuda_q1_posthoc.py): closed `cuda-q1-first-v1` admission
from independently retained S01 metadata/checkpoint pins; validates native terminal
history, selected/final roles and original-label support without deserializing
checkpoints. Runtime inference separately verifies actual checkpoint tensors;
- [first_model_analysis.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/first_model_analysis.py): exploratory post-hoc Q1
reductions over admitted inputs, with physical-scene observations and intervals;
- [development_screen.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/development_screen.py) and
[development_ranking.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/development_ranking.py): cold retained-screen admission
and physical-scene candidate-order diagnostics; the screen module also owns the
manifest-verification command;
- [continuing_evidence.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/continuing_evidence.py): continuing-QH terminal
dispositions, horizon support, residuals and operational-feasibility summaries.
## Interpretation and failure contracts
Physical scenes are statistical units. States, recipes, candidate rows and repeated
horizon queries share evidence; they are not independent scene replicates.
Preserve recipe pairing, seed, checkpoint role and original support when comparing
results. Original-label Q1 metrics have fixed labels; QH residuals describe the
fitted moving-target objective. Operational feasibility is auxiliary to the hard
action mask. These quantities answer different scientific questions.
Exploratory post-hoc analysis keeps fitted weights and frozen checkpoint selection
fixed; it does not revise readiness gates. Failed and incomplete attempts remain
visible with their dispositions. Missing telemetry is distinct from absent
scientific support. [history.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/diagnostics/history.py) supplies
optional telemetry and common bindings; the readers retain their own evaluator
normalization and terminal rules.
Historical source/configuration bytes and hashes retain their execution identity.
Current code or Python-path changes alter package fingerprints and may invalidate
frozen resume checks. Portable readback and report rendering establish neither
training-resume compatibility nor held-out policy effectiveness.
## Presentation and evidence locations
[aria_nbv.reporting](reporting.qmd) consumes admitted products,
builds snapshots and renders/exports results. Campaign-specific progression stays
with the owning campaign. Living missions/reports live in their owning `.omx`
campaign; immutable scientific exports live under `experiments/`. Configuration
inputs and brief purpose/link READMEs live under `.configs/`. Figure registration
is discovery, separate from scientific admission and evaluated thesis inclusion.
The [consolidated implementation](https://github.com/JanDuchscherer104/ARIA-NBV/pull/648)
retains the historical larger Q1 and interrupted continuing-QH lineage. Its
publication evidence is under
[experiments/2026-10-research/scorer](https://github.com/JanDuchscherer104/ARIA-NBV/tree/main/experiments/2026-10-research/scorer).
## Verification
Focused tests cover [archive integrity](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/tests/lightning/test_qh_study_archive.py),
[inventory dispositions](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/tests/lightning/test_qh_study_inventory.py),
[admitted products and post-hoc reductions](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/tests/lightning/test_scorer_study_products.py),
[architecture results](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/tests/lightning/test_qh_architecture_results.py)
and [reporting](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/tests/reporting/test_scorer_study_report.py).
Readback requires the correct historical payloads and externally trusted digest;
local success does not establish hosted CI or thesis admission.
## Prospective matched continuing-QH evidence
[matched_evidence.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/aria_nbv/lightning/finite_horizon/studies/matched_evidence.py) admits the four-cell 2026-10-09
score-only/joint protocol separately from historical continuing-QH. It requires
current fit-v3/training-v6 receipts, 40 exact TRAIN passes (6,160 successful
whole-chain updates), same-seed cold/exposure identity, and all 640 ordered
original-label validation states. Each successful update must retain all 16 dense H1 states. Canonical coverage
keeps 16 state records per chain and 40 H1 observations per state; the total
dense candidate exposure must equal 40 passes over the frozen TRAIN support.
Recursive queries retain exactly one selected candidate per supported state.
Final fixed-budget checkpoints are primary;
validation-selected checkpoints are separate secondary evidence. Operational
teacher calibration is distinct from H1 utility and moving TD residuals.
Portable publication uses the existing authenticated archive. The selected
study prefix contains the original `config.toml`, `protocol.json`,
`protocol-sha256.json`, cell launch/terminal/fit/exposure/query-coverage receipts,
and `evaluations.json`. The prospective protocol also seals ordered materialized
operational teacher support directly from actor masks, including invalid real
candidates and excluding padding. Evaluation must reproduce its digest and
counts; agreement between two arms alone cannot authenticate classification
labels or their denominator. The typed `MatchedEvaluationIndex` binds the constant
receipt and each evaluated cell's `final`/`selected` H1/joint receipts by relative
path and SHA256; it names the independent evaluator package digest. Checkpoint
payloads are excluded. Actual runtime evaluation admits the checkpoint bytes;
cold report readback authenticates retained observations and metadata, without
reopening the old execution paths or asserting resume compatibility.
Failed, interrupted, unlaunched, completed-but-evaluation-pending, evaluation-failed
and unsupported
H1 dispositions remain visible. No arm comparison is manufactured from missing
support. Original candidate/label seals, operational teacher masks, phase-zero
horizon queries and physical scene/recipe composition must align before paired
reduction. State means reduce within recipe and then equally across recipes and
physical scenes. Each seed has its own scene-bootstrap interval conditional on
fixed weights; two seeds do not establish seed-population uncertainty. R0/crop-R1
pairs share physical scenes but have different target tasks, so recipe effects
are descriptive. `MatchedStudy.provenance` retains `analysis_source_sha256`,
the deterministic Python package-tree digest of the executing reductions. Its
conservative scope includes unrelated package edits and remains distinct from
the historical fit `source_package_digest` and `evaluator_source_package_digest`.
The retained `bootstrap_method` is `percentile_scene_bootstrap_95`, with
`bootstrap_seed=20261009`, `bootstrap_draws=10000` and
`bootstrap_unit=physical_scene`. `reduction` records equal states within recipe,
equal recipes within physical scene and equal physical scenes; `conditioning`
retains the fixed-weight/checkpoint limitations. These settings govern computation
and provenance at the same source owner. Focused proof lives in
[test_qh_matched_evidence.py](https://github.com/JanDuchscherer104/ARIA-NBV/blob/main/aria_nbv/tests/lightning/test_qh_matched_evidence.py).
`admit_archived_interrupted_evaluations` in `continuing_evidence.py` admits exactly
`cold.json` and `interrupted.json` from an independently pinned analysis archive.
The original failed continuing-QH seed41 attempt remains failed: cold update 0 and
historically selected partial update 770 are never completed or final checkpoints.
Admission matches source/configuration/population seals, ordered manifests and
R0/cropR1 recipe identity, physical states, dense original labels and materialized
operational-teacher candidates before calculation. `InterruptedQhStudy` preserves
original and evaluator/method provenance separately. Candidate means reduce
within state, then states within recipe, recipes within physical scene and scenes
equally. Its exploratory paired intervals use 20,000 shared physical-scene draws,
seed 20261009, holding weights and checkpoint selection fixed. Candidate-pooled
feasibility and calibration bins remain separate descriptive products. Within-state
AUROC compares operational-teacher positive/negative probabilities with ties
weighted one half; missing classes retain explicit unavailable support. Its scene
contrast uses the same paired draws and higher values indicate better discrimination.
Threshold summaries use 0.5 without validation fitting. No geometric-safety,
policy-value or joint-versus-score-only superiority claim follows. Regression/cold-readback proof:
`tests/reporting/test_interrupted_qh_report.py`.
Interrupted H1 utility diagnostics remain separate from the established regret,
calibration and teacher-discrimination results. Signed bias uses original FP32
prediction-minus-label residuals. Retained informative-pair counts are checked
against the producer's FP32 arithmetic; strict sign agreement gives tied predictions
zero correctly ordered pairs. Within-state Pearson correlation is descriptive,
with constant labels/predictions and absent informative pairs explicitly unavailable.
No unsupported state is dropped to manufacture a full-population interval.
States reduce within recipe chains, chains equally within recipes, recipes equally
within physical scenes, then scenes equally. Shared paired scene draws hold weights
and historical selection fixed. Recording-state summaries carry actual candidate,
state, chain, scene-recipe and physical-scene support; they are correlated descriptive
strata. Positive pair-correctness contrasts favour interrupted weights, while signed
bias is a calibration diagnostic: a common state offset cannot change argmax.
The reporting section exposes additive `utility_*` tables, `utility_contrasts` and
`recording_state_diagnostics` result IDs through the existing `ReportRequest`.
Recording-state figures retain paired physical-scene trajectories alongside
equal-scene means, with scene/recipe/chain/candidate and metric-specific support
in their source table. Missing scene metrics remain missing and plotted gaps are
never connected. These observations show scene heterogeneity without pretending
that recording states or candidate rows are independent bootstrap units.
<!-- /quartodoc-package-readme -->