New campaign
Noise settings
The repeatability σ comes from a repeat study: many dips at one level, without pouring. Your study at 501 mm and 1033 mm gave 0.2–0.4 mm. Every ± here means "the truth is almost surely inside" (2σ).
First level
Sound the bottom first and record the heel as this row (§3.3). The first level always needs two readings: no prediction can test it.
Now
1 · Pour
2 · Dip
Reading minus prediction
Each point is one level: the adopted reading minus the predicted level, with its ±2σ bar. Dashed lines: the ±3 mm action bar.
Levels
Running shell
The running shell is a tool for the live check. It is not the adopted shell. After the campaign, run calib init and calib fit on the exported raw file: the full fit (brim constraint, pair rule, block test, bootstrap) makes the deliverable.
Export
The raw CSV has one row per level with the adopted reading (the mean of the two readings that agree). Every reading is in the note and in the session JSON. Use the CSV with calib init.
Import
New campaign
The closed session stays in this browser's archive. Export it first.
Replay a raw file
This runs an old step_volume,measured_height,note file through the check, as if every level had been dipped now. When the check asks for another reading, the replay repeats the recorded one: the answer a correct reading gives.
How the check works
The question. You just read the tape. Is the reading good, or must you dip again? You must know now: after the next pour that level is gone.
Test 1: the prediction. The page knows your diameter and length estimates, the readings you accepted, and the pour. From these it learns the tank shape, and it predicts the level that this pour must give. If your reading falls inside the band, accept it and pour the next can.
Test 2: the repeat reading. If the reading misses the band, or if no prediction is possible (the first level, an unknown pour), the page asks for a second reading. It hides the first reading and the prediction, so that the second reading cannot copy them. Two readings that agree within about 1 mm make a good dip.
| Repeat | Prediction | Meaning | Action |
|---|---|---|---|
| — | inside | good reading | pour next |
| differ | any | misread, or level still moving | dip a third time; wait if it creeps |
| agree | inside | the first reading slipped a little | pour next |
| agree | miss < action bar | watch item | pour next |
| agree | miss ≥ action bar | the pour or the tank is off | recount the pour; OBJECT? / LOSS? |
The first pours. The page does not know the bottom shape yet. For the first 3 intervals a confirmed miss is "learning": the level is kept and teaches the shape.
Too wide to judge. When the band is wider than ±3 mm (very large pours, an early shell), the prediction cannot catch a 3 mm slip. Then the page asks for a second reading.
What it catches. In a simulation of 100 campaigns per slip size, a reading off by 3 mm was caught 92 % of the time, and 4 mm or more every time. An honest reading triggered a second dip 3–6 % of the time.
Method: CALIBRATION_METHODOLOGY.md §10a. Residual convention §2: resid = pour − predicted pour. resid < 0: the rise came too cheap (object, or more liquid than recorded). resid > 0: the rise came too small (loss, or less liquid than recorded).