"'Noodles for lunch' should still count as a meal with nothing tapped. The chip only makes the truth more exact — it never becomes a requirement."
Why Meals Got Promoted
Meals used to ride along as ordinary Stream prose, and Dad decided that was too soft a foundation for the diet analysis he wanted later. So meals became first-class — but in a way that honors the free-prose rule instead of breaking it. There is a meal capture surface and optional one-tap slot chips (Breakfast / Lunch / Dinner / Snack), and rubric v2 added a meal reading type with slot, items, portion, and place. The promotion added exactness without adding a required form.
The Chip Is Capture Truth, Never a Requirement
When Dad taps the Lunch chip, that meal_slot is capture truth — store-enforced to the meal surface, revisable, and mutually exclusive with a workout-module chip. Because it is a fact he set at capture, the analysis layer trusts it over any slot the model might infer. But — and this is the whole discipline — no chip is ever required. "Noodles for lunch" written as bare prose still becomes a meal reading; the slot is simply inferred, or left unspecified. The chip sharpens the record when Dad wants to; it never gates the capture.
The Version Bump Reaches Backward
Because the reading is derived and versioned, promoting meals did not orphan the old ones. Rubric v2 re-reads every existing crumb, so meals Dad wrote as plain prose before the feature existed get typed as meals too. This is the payoff of the whole track compounding: a new reading type is not a migration you run and pray over — it is a rubric version, and the version bump is the migration, replaying across history without touching a single original word. The next track's storage model is what makes that replay safe.