A temperature log releases or quarantines a shipment. See which reading moved, and the decision after it.
A shipment's temperature logger gives a reading every ten minutes, with a gap or two where it missed one. The pipeline fills the gaps, lists every reading outside the allowed range, and releases or quarantines the shipment.
Invented example data, recorded when the demo was built. The demo records and compares; it controls nothing. The screenshots are from a build of the same demo: each build gives its runs new fingerprints and times, so those differ from the live demo's, and what the screenshots show is the same.
The pipeline
Three steps, from a logger's file to a release decision.
fill_gapsreads the logger's file and fills each gap with the reading before it.excursion_checklists every reading outside the allowed range.releasereleases the shipment where there is no excursion, and quarantines it where there is.
What the demo plants
The runs, and what was changed in each.
| Run | What was changed |
|---|---|
p7-39-cold-chain-baseline | Nothing: the baseline. |
p7-40-cold-chain-one-reading-changed | One reading in the logger's file, 4.6 °C to 9.4 °C at minute 30. |
p7-41-cold-chain-decision-tampered | Its recorded decision, one byte of it, after the run was recorded. |
What onetrace shows
Each change, located in the record.
One reading changed: release becomes quarantine
The logger's file is an input from outside the pipeline, kept beside its digest, so the page shows it changed and the reading that did. fill_gaps is the first difference: minute 30 reads 9.4 °C, and the gap at minute 40 is filled with it. excursion_check lists both, and release quarantines where it released.
fill_gaps.A decision altered after the fact: it contradicts its record
One byte of the recorded decision was changed after the run closed. The run's page says its records do not agree: the release step's output no longer matches the digest its receipt holds. The step-by-step comparison is not shown for a record that does not hold up.
What it doesn't say
A located change, not a reason.
The comparison shows which reading moved and the decision that followed. It doesn't say whether the shipment was in fact spoiled, or whether filling a gap with the last reading is the right rule. See what each verdict means and what onetrace does not claim.
Try it yourself: this pipeline in the live demo, or on your machine with pip install onetrace-console and onetrace-console demo --open.


