Deterministic engine
New fruit analysis
Capture one sample. The engine accumulates thermal time from bloom to the analysis date and runs the visual model on the fruit photo. Every number is either measured or derived from a published rule.
Fruit analysis
One submission issues one immutable analysis id, then runs the thermal engine and the visual model independently. Either stream can fail without discarding the other, and no maturity or dry-matter value is derived.