Adoption Ladder
Soustack adoption is profile-based. Profiles act as trust badges: they promise what apps and users can rely on. You don't need to start at the top—apps can support as much as they want, and recipes declare what they can do.
Profile progression
Soustack is incremental by design. You can stop at any rung and still be a compliant adopter. Each profile builds on the previous one, adding capabilities without removing expressiveness.
Lite
Minimal contract for interoperable recipe payloads. Establishes basic structure and identity.
Equipped
Declares required equipment and capacity. Helps cooks know what tools they need before starting.
Prepped
Includes ingredient prep annotations and mise en place tasks. Makes meal planning and execution smoother.
Scalable
Provides scaling metadata for intelligent yield changes. Ingredients and equipment scale appropriately.
Timed
Adds active/passive time tracking and scheduling. Enables timeline generation and orchestration.
Move upward when you need stronger guarantees; otherwise stay where the contract matches your product. Each step keeps the rules of the previous one.
How it works
Profiles are named conformance bundles that promise what apps and users can rely on. When a recipe declares a profile, it guarantees that specific data structures and behaviors are present.
Apps can support as much as they want. A simple recipe viewer might only support Lite, while a meal planning app might support all profiles up to Timed. Recipes declare what they can do, and apps consume what they can handle.
This adoption-first philosophy means you can start small and grow your support over time without breaking existing integrations.
Profile definitions
Each profile in the adoption ladder provides specific guarantees. Here's what each profile promises:
Lite
Purpose: Establishes a minimal, interoperable envelope for recipe data.
Guarantees: Stable keys for recipe identity and transport so data can be exchanged safely.
Equipped
Purpose: Declares required equipment and capacity.
Guarantees: Equipment requirements and scaling-aware counts so cooks know what tools they need.
Prepped
Purpose: Includes ingredient prep annotations and mise en place.
Guarantees: Prep instructions and mise en place tasks for smoother meal planning and execution.
Scalable
Purpose: Declares how ingredients and equipment scale.
Guarantees: Scaling metadata for intelligent yield changes and equipment upgrades.
Timed
Purpose: Adds active/passive time tracking and scheduling.
Guarantees: Timing metadata and dependency-aware steps so schedules can be generated.
Capabilities
Soustack organizes features by user value. Each capability solves real cooking problems and can be combined with profile levels.
Ingredients & Prep
Purpose: Ingredient prep annotations and mise en place tasks.
Benefits: Helps cooks prepare ingredients before cooking begins, making meal planning and execution smoother.
Equipment
Purpose: Required tools and scaling-aware counts.
Benefits: Helps cooks know what they need before starting. Equipment can declare capacity and scaling limits, making it easier to scale recipes up or down.
Scaling
Purpose: Ingredient and equipment scaling metadata.
Benefits: Enables intelligent yield changes. Recipes can declare how quantities change when scaling up or down, supporting different scaling strategies (linear, proportional, discrete, etc.).
Timing & Scheduling
Purpose: Active and passive time tracking.
Benefits: Enables timeline generation and scheduling. Recipes can declare how long steps take and whether they require active attention or can run passively.
Storage & Leftovers
Purpose: Storage methods and reheating guidance.
Benefits: Helps with meal planning and food safety. Recipes can declare how to store leftovers and how to reheat them properly.
Presentation
Purpose: Images and media for recipe presentation.
Benefits: Enhances recipe presentation and provides visual guidance. Recipes can include images at the recipe level and for individual steps.
Next steps
- Review core concepts about stacks and profiles.
- Use the canonical specification as the reference.