Mission Built

The MealStack Schema 0.9.3 · Field set

Plan

The whole thing a person runs: stacks, targets, meals a day, and the ingredients it needs.

The plan is what the person runs: its stacks in rotation order, the daily targets every stack is measured against, how many meals a day the slots hold, and any ingredients the app doesn't have built in. A .mealstack file is a plan document; the app's own plan store is the same shape with week_anchor set.

Fields

  1. plan.name core keyword required

    What the plan is called. A single stack imports under its own name.

    ExampleThe Rotation

  2. plan.notes extended text

    A sentence or two about the plan. A plan written by a model carries the caveat here ("General nutrition information for healthy adults, not medical advice…"), so it shows on the import preview and under each stack.

    ExampleA four-week meal-prep loop. When Week 4 ends, start Week 1 again.

  3. plan.stacks core object[]

    The stacks, in rotation order, one per calendar week. The first runs first; when the last ends the first runs again. In the plan file (formats 1 and 2) the key weeks is the older spelling and reads as the same thing.

  4. plan.meals core object[]

    Meals for the Meals shelf, with no place in a day. A file may carry only these.

  5. plan.ingredients core object[]

    Ingredients the app doesn't have built in, declared once and referenced by id from portions. A file may carry only these. In the plan file (formats 1 and 2) the app reads the key ingredients from 0.9.1 and foods (the spelling 0.9 reads, and the one writers still write until 0.9.1 is the oldest build in use) as the same thing; a file with both is read by ingredients.

  6. plan.week_anchor extended date

    The start of the calendar week that counts as the first stack's, from which the rotation is counted. Set by the app; "run Rice Bowls this week" moves it. Absent on a single-stack plan and in a plan file.

    Example2026-09-14

  7. plan.meals_per_day.training extended integer

    How many meal slots a training day holds, never counting fuel. Five by default, 2 to 8.

    Example5

  8. plan.meals_per_day.recovery extended integer

    How many meal slots a recovery day holds, never counting fuel. Five by default, 2 to 8.

    Example5

  9. plan.target core object

    The daily targets every stack is measured against. Offered on import, never applied silently.

  10. plan.schedule core object

    The times and days the plan is built on. Offered on import, never applied silently.