The model our lab will build next. This page is its blueprint: the data we will collect and how we will get it, the architecture layer by layer, how it will be trained, and the tests it must pass. All of it is fixed before the lab data exist, so the results cannot be tuned to fit.
Design · prototype on simulated dataDairyGuard Kinetic treats every batch of milk as a draw from one fixed population. Its own results say that is now the limiting assumption.
AUC lost to the biology a log can't see. A lab-grade thermometer wins back at most 0.02.
Spread of growth rates between 11 real Listeria studies.
A neural growth law fitted to rates alone predicts 20 unseen studies no better.
Of the accuracy gap closed by one measurement of the batch itself.
| Source | What it gives | Access | Status |
|---|---|---|---|
| ComBase growth curves | counts against time for milk and chilled foods | public, free registration | In progress |
| Our ComBase collection | 373 milk records; 131 need a curve fit | in the repository | Available |
| Published shift studies | milk counts under fluctuating temperature | raw counts requested from authors | To request |
| E1–E3 lab counts | real milk, steady and shifting temperatures, day-one tests | university microbiology labs | To request |
| E4 calorimetry | heat-flow detection times of the same batches | a partner lab | To find |
| Temperature logs | the exact profile every sample saw | our ESP32 + DS18B20 controller | Hardware ready |
Do real milk curves under temperature shifts collapse onto one curve in generalized time?
Which cheap test at loading (initial count, dye time, pH, heat test) predicts a batch best?
On batches it has never seen, how much of Kinetic's error does a batch-aware model remove?
Layers 1–4 and training stages 0–2 are written and tested in experiments/batch_prototype.py. It learns from 30 simulated batches and judges 200 new ones on one trip. The batches and the link between day-one tests and biology are invented, so this tests the code, not milk.
True batch parameters inside their 90% intervals after fitting (stage 0).
Median error of hours left using the population only, as DairyGuard Kinetic does.
Median error with day-one tests, across four random seeds.
How often the cautious value was safe with tests. Below 0.85 fails the blueprint's test: more batches needed.
On locked test batches, compared with DairyGuard Kinetic, a classical Baranyi fit, and a black-box recurrent network of similar size.
Cuts the median error of hours left at 4 °C by at least 30%.
Keeps its 90% uncertainty band honest: coverage between 85 and 95%.
Is no worse than Kinetic at telling crossed cartons from safe ones (AUC).
Beats the black-box network on error of log counts.
If it fails, the failure is reported in full. A negative answer is a result.
Blueprint published. Prototype of stages 0–2 running on simulated batches.
Curve pipeline; data splits committed; synthetic recovery and population fit; lab protocol agreed.
E1 and E2 in the lab; batch encoder on first batches; Q1 answered.
E3 (and E4 with a partner); locked-test evaluation; Q2 and Q3.
A report of the results, and a peer-reviewed paper if they stand.