RFC-0004: Health and food-safety rule packs
Status: proposed, 2026-10-04. Kind: additive changes to the Humanitarian Profile rule model; new rule packs; a review record. Safety relevant: yes. Reviewers wanted: a registered dietitian and a food-safety officer. Not medical advice.
Problem #
The founder's second goal is a healthier world (M24, M48). Today one draft rule pack (basic-nutrition-food-safety) covers sodium, sugars, fats, rations and basic cold-chain rules. Missing: fruit and vegetables per meal, care for children, older people and pregnancy (foods to avoid, stricter reheating), school-meal patterns, a way to express "no raw egg" or "no unpasteurized dairy" (the rule kinds cannot say it), and a record of who reviewed what. Health content must be reviewable by professionals and must say what it does not do.
Proposal #
- Rule model (additive):
Item.foodClasses: a list from a closed enum (raw_egg,undercooked_egg,raw_meat,raw_fish,unpasteurized_dairy,soft_cheese,raw_sprouts,high_mercury_fish,honey,whole_nuts,hard_candy,alcohol,caffeine_high,deli_meat_cold,leafy_greens_raw,cut_melon,cooked_rice,none);Rule.kindgainsfood_classwithcheck.foodClassandcheck.audience;Rule.audiencestays free text; a new optionalaudienceGroupenum (all,children_under_5,children,pregnant,older_adults,immunocompromised) lets a program select rules for the people it serves.
- **
reviews** onRulePack(additive):[{ role, organization, date, scope, outcome (approved,approved_with_changes,rejected), notes }]whereroleis a profession (for example "registered dietitian"), never a person's name.statusmoves toreviewedonly when at least one review withapproved*exists. - New packs (all
status: draft, derived from public guidance, each rule with a source):care-vulnerable-groups: food classes to avoid for children under five, pregnancy, older adults and immunocompromised people; reheating and hot-holding stricter; cooked rice time limits;school-meals-basic: per-meal fruit and vegetables minimum, sodium and free sugars maxima per meal, energy range per meal by age band;sodium-reduction: per-meal sodium maxima consistent with the WHO daily guideline spread over three meals, with a warning tier and a block tier for programs that adopt it.
- Review template (
docs/health/REVIEW-TEMPLATE.md): how a dietitian or food-safety officer reviews a pack, rule by rule, with a checklist (source current? population right? unit right? block vs warn justified? jurisdiction?) and how to file the review. - Claims policy (
docs/health/CLAIMS-POLICY.md): general nutrition and food safety only; no diagnosis; condition-specific diets only with a clinician's targets entered locally (PersonNutrition.clinician); packs say which populations they exclude; infant and therapeutic feeding excluded. - Mapping to Core safety limits: hot-holding, two-stage cooling and reheating rules in the packs correspond to
SafetyLimitskindstime_tempandmin_core_tempfor robot kitchens; the mapping is documented, not automated.
Alternatives considered #
- Encode personal nutrition targets in packs. Rejected: personal targets are
PersonNutrition, local and sensitive; packs are population rules. - A medical profile. Rejected: outside what can be claimed without clinicians and regulators.
Migration #
Additive. Existing packs validate unchanged.
Open questions #
- Energy per meal by age band varies by country table; the pack ships one global default and tells programs to replace it. Is a per-country pack structure needed now? Proposal: later, as
extends. - Fruit and vegetable grams per meal: use 80 g portions and a per-meal minimum of one portion as the default. To be confirmed by a dietitian.