🍳 Foodlang

Industrial Batch (ISA-88 / S88)

Foodlang maps a recipe to an ISA-88 / S88-inspired batch procedure: a hierarchy of operations, each composed of ordered phases. This is the language of industrial process control — the same structure a batch reactor or a production coffee line would follow.

Honesty first. This is industrial inspiration, not a certified S88 recipe. The industrial_mappable validation level reports partial for this reason.

Compile

foodlang compile examples/simple-latte.food.yaml --target s88
s88:
  procedure:
    - operation: PrepareEspresso
      phases:
        - GrindCoffee
        - ExtractEspresso
    - operation: PrepareMilk
      phases:
        - SteamMilk
        - FoamMilk
    - operation: AssembleDrink
      phases:
        - DispenseEspresso
        - DispenseMilk
        - DispenseFoam

Authoring

X-foodlang:
  industrial:
    s88:
      procedure:
        - operation: PrepareEspresso
          phases: [GrindCoffee, ExtractEspresso]

If you don't author a procedure, Foodlang derives one from your transformations — each transformation becomes an operation with one phase.

Why it matters

The same .food.yaml that publishes to the web and drives a home coffee machine also expresses the recipe in the vocabulary of factory batch control. One source, every layer.