# Diagnosis with measured calibration and validated updates

v0.7 adds a physical visit to the tank, channel-wise rejection evidence, and a separate proposal model. It preserves every frozen v0.5 and v0.6 scientific source and prior result. The implementation reuses the v0.6 environment and journey planner; the new learner is `src/diagnosis.mjs`.

## What changed

Calibration takes 182 physical actions: travel to the shared tank, twelve inspections, return, then the earlier 160-action bed calibration. Tank readings now determine normal refill instead of leaving the supplied 0.0055 prior unchanged. A separate 160-action healthy trace measures normal bed forecast errors. Error scales use the larger of a declared floor and 1.5 times the empirical 98th percentile; tank scale uses refill convergence during the calibration segment. These are empirical reference scales, not calibrated confidence intervals.

Each explanation retains four recent residuals separately for bed A, bed B and normalized tank level. A channel needs at least two readings, and its last reading must be at most 24 ticks old. Each candidate's rejection score is the largest eligible channel mean divided by that channel's healthy scale. Three successive evidence updates on which every candidate exceeds 2× trigger “unexplained.” Candidate selection retains the earlier exponentially smoothed forecast-error rule. Stale channels cannot cause rejection; missing evidence can also hide an actual fault.

A shadow fitter proposes new parameters while care continues under committed models. A proposal predicts the next 48 physical ticks alongside a frozen copy of its incumbent. After a transit-delay burn-in, a local proposal requires six later observations of its affected bed; supply requires six tank readings; a composite requires six readings of all three channels. Acceptance requires at least 15% normalized prediction-error reduction in the required channels and no observed channel worsening by more than a quarter of its healthy scale. Unobserved channels do not supply preservation evidence. This tests subsequent prediction on the actual trajectory, not causal identification or guaranteed care improvement.

The original normal parameters are never overwritten. Six candidate families are authored, and at most one additional composite combines the best observed channel models. This is bounded parameter adaptation and recombination, not invention of new physical concepts.

## Frozen test

`experiments/frozen/conservatory-v7/manifest.json` was written before evaluation. Twelve new base seeds × five conditions × five controls. The controls are validated proposals, fixed candidates, immediate updates, unmeasured-supply prior, and the previous detector. All receive the same measured calibration; the prior control deliberately discards its refill estimate. Legacy detection receives measured calibration too, so its contrast isolates more than the previous release as a whole.

Each evaluation is 480 ticks with two disturbance cycles. A separate fresh-state 128-tick retention trial follows every evaluation, with fitting, switching and investigations disabled. A common pre-evaluation retention reference costs another 128 actions. Total: **188,040 physical actions**, including 4,104 calibration/validation actions. Model transitions are counted separately, including shadow fitters and pending proposal forecasts.

The primary care contrast is validated minus fixed candidates, averaged within independent habitat before a paired t interval with 11 degrees of freedom. Other contrasts are exploratory. Report unknown-window detections and missed unknown time together: a single correct tick must not imply sustained diagnosis. False-alarm time means “unexplained” during normal physics, including post-fault recovery. This definition deliberately counts lingering uncertainty after a return. An accepted composite is not counted as an unexplained flag, even if it explains a compound condition well. These metrics therefore describe flagging behavior, not complete diagnosis accuracy. On-policy observations differ between arms.

Fresh-state normal retention verifies preservation by construction. It does not establish recognition of a recovered environment. Development seeds 7201, 7213, 7237 were exposed and are excluded from the formal result. The first diagnostic development run over-rejected after return; its record remains under `experiments/development/diagnosis-first.json`.

## Use

Open the nursery at `/`. Inspect each explanation's separate channel scores, then the proposed/accepted/rejected model records below the journey forecasts. Controls next to the environment still send Lumen to the selected mechanism and charge travel. A complete exported journey contains the calibration, initial knowledge, actual actions, forecasts, proposals, events and final knowledge. Evaluation runs persist in the local service independently of the page.

The completed result and audit are linked from `README.md`. Negative results are retained; rerunning the frozen seed set is reproduction, not additional independent evidence.
