Stacks
Stacks are optional capability modules that extend recipes with specific features. They are composable, monotonic, and validated by schema and fixtures.
What stacks do
Stacks are optional capability modules that add power to recipes. They are monotonic: adding a stack increases expressiveness but never removes what was already available. This means recipes can be upgraded incrementally without breaking existing consumers.
Each stack is validated by schema and fixtures, ensuring consistent behavior across implementations. Stacks can be combined to build recipes that support multiple capabilities—equipment, prep, scaling, timing, storage, and presentation.
Stack versioning
Stack versions use the @ suffix (for example, scaling@1). The version applies to the contract the stack enforces. Schema filenames and $ref values remain version-agnostic; the @1 marker tells implementers which contract version to honor.
Stack documentation
For detailed stack documentation, schemas, and fixtures, see the canonical specification. The reference implementation for validation and computation is available in soustack-core.