C.W.K.
Stream
Lesson 05 of 05 · published

Meals, First-Class

~9 min · meals, slot-chips, capture-truth, rubric-v2

Level 0Cold Iron
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"'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.

A device-set slot is authoritative; an inferred slot is a best guess; no chip is ever required. Deterministic capture truth beats inference every time it is present — but its absence never blocks a crumb. That is 'free prose is the record, typing is interpretation' applied to one more dimension.

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.

Code

Chip-set slot (authoritative) vs bare-prose meal (inferred)·json
// Dad tapped the Lunch chip - capture truth:
{
  "surface": "meal",
  "meal_slot": "lunch",          // device-set, authoritative
  "text": "kimchi stew, half a bowl of rice"
}
// reading.slot = "lunch"   (copied from meal_slot, trusted)

// Bare prose, no chip - still a meal:
{
  "surface": "stream",
  "text": "noodles for lunch, too salty"
}
// reading.slot = "lunch"   (INFERRED) or "unspecified"
// Analysis trusts a device-set slot over an inferred one.

External links

Exercise

Compare two crumbs: 'kimchi stew' filed with the Lunch chip tapped, versus 'kimchi stew for lunch' typed as bare prose with no chip. What is identical in the resulting meal reading, what differs, and which slot value does the analysis layer trust more?
Hint
Both become meal readings with the same items; the chip version carries an authoritative meal_slot from capture, while the prose version's slot is inferred. Analysis trusts the device-set slot over the inferred one.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.