What do we
know?
Package date, purchase date, storage and lifecycle events contribute different levels of evidence.
The food closest to becoming a problem should get a louder vote. 4DK manages freshness as kitchen context so the next meal can rescue something before it turns into waste.

4DK keeps package dates, storage, opened or cooked states, estimates and confidence separate. Then freshness can influence what gets suggested without pretending an estimate is certainty.
Package date, purchase date, storage and lifecycle events contribute different levels of evidence.
Useful states such as Fresh, Use Soon, Priority and Check are easier to act on than a fake precise expiry.
Meal suggestions can promote ingredients that need using before novelty wins by default.


Most of the time, freshness should work quietly. Ask the user only when evidence is genuinely unresolved. The system should do the boring part.
Get 4DK →Clear enough for humans. Structured enough to become useful search and answer-engine material later.
Not from an estimate alone. Estimated freshness is treated as uncertainty, not a safety verdict.
That is the design. Date semantics remain distinct instead of being collapsed into one generic expiry field.
Yes. Fridge, freezer, pantry, opened, cooked and defrosted states can materially change the useful freshness context.