- scripts/analyze_history.py: read-only per-meal/per-day kcal+protein+micronutrient review of meal-history.json, unit-aware via references/nutrition-db.json (g_per_unit conversion so veg logged in g vs count both resolve correctly) - references/nutrition-db.json: estimate per-item nutrition DB (ESTIMATE-grade; condiments/oil not logged => ~+80-120 kcal/meal real) - SKILL.md: 'Health / calorie review (on-demand)' section; 'Git-sync README trap' pitfall (live README may be a stub while repo README is the real doc -- safe-sync procedure); scripts + references pointers
61 lines
2.4 KiB
Markdown
61 lines
2.4 KiB
Markdown
# Calorie & macro estimates (per logged portion)
|
||
|
||
Rough, food-database-style estimates used by `scripts/calc_meal.py` to show per-meal
|
||
calories and to enforce the RATIONAL PORTIONS rule (incl. the 1000 kcal/meal cap).
|
||
These are SUGGESTED-meal estimates — they exclude cooking oil/butter/condiments that
|
||
are NOT logged in meal-history.json, so real cooked calories run ~80–150 kcal higher
|
||
per cooked meal. Label any shown figure as "est." Not medical/dietitian-grade.
|
||
|
||
`kcal_per` is the value for the portion unit used in meal-history.json:
|
||
- count / can / portion / bulb / tub / jar / pack / loaf / serving → whole item
|
||
- g / ml → per gram (× qty)
|
||
|
||
## Animal (non-red-meat)
|
||
- Eggs — 70 kcal each (count)
|
||
- Chicken breast — 165 kcal (count ~1 breast / ~120g)
|
||
- Tinned tuna in veg oil — 190 kcal (can, drained+oil)
|
||
- Tinned tuna in spring water — 130 kcal (can)
|
||
- Tinned green lentils — 230 kcal (can)
|
||
- Greek yogurt (0%) — 50 kcal / 100g
|
||
- Cottage cheese — 95 kcal / 100g
|
||
- Cheese — 400 kcal / 100g
|
||
- Halloumi — 320 kcal / 100g
|
||
- Whey protein powder — 4 kcal / g (i.e. 200 kcal per 50g)
|
||
- Milk (semi) — 0.5 kcal / ml
|
||
|
||
## Plant / grain / legume
|
||
- Dried red lentils — 3.5 kcal / g (dry)
|
||
- Baked beans — 200 kcal / can
|
||
- Chickpeas — 180 kcal / can
|
||
- Tofu (firm) — 1.4 kcal / g
|
||
- Edamame (frozen) — 1.2 kcal / g
|
||
- Wholemeal pasta — 350 kcal / serving
|
||
- Microwave rice — 220 kcal / portion
|
||
- Scottish oats — 3.7 kcal / g
|
||
|
||
## Veg (mostly low-cal, high volume)
|
||
- Broccoli — 35 kcal (count ~1 head half)
|
||
- Carrots — 0.41 kcal / g
|
||
- Courgette — 20 kcal (count)
|
||
- Sweet potatoes — 130 kcal (count)
|
||
- Aubergine — 40 kcal (count)
|
||
- Red cabbage — 40 kcal (count)
|
||
- Cauliflower — 30 kcal (count)
|
||
- Leeks — 55 kcal (count)
|
||
- Mushrooms — 0.23 kcal / g
|
||
- Lettuce — 15 kcal (count)
|
||
- Salad tomatoes — 15 kcal (count)
|
||
- Orange bell pepper — 30 kcal (count)
|
||
- Small white onions — 15 kcal (count)
|
||
- Frozen mixed veg — 0.73 kcal / g
|
||
- Peeled plum tomatoes — 90 kcal (can)
|
||
|
||
## Red meat (in-stock only, never bought)
|
||
- Cumberland sausages — 55 kcal (count)
|
||
- Lamb mince — 2.5 kcal / g
|
||
|
||
## Calorie cap (RATIONAL PORTIONS)
|
||
Each meal must stay at or under **1000 kcal** (est., excluding unlogged cooking fat).
|
||
If a capped+balanced meal would exceed 1000 kcal, reduce starch/cheese/halloumi/lentil
|
||
portions (not protein) until it fits — or it's a sign the plate is too starch-heavy.
|