Post 1 was the diagnosis: workflow logic keeps wanting to be more structured than ordinary glue code, but less heavy than a full workflow platform. The contract is hiding in the implementation, and that's where the production incidents come from. This one is about what should replace it. I didn't want to start by building a control plane. I wanted the map first. A way to describe a workflow as a contract: these are the states these are the transitions this is the data each state carries these are the side effects these are the committed actions this is the code the host application must provide Then I wanted that contract to compile into boring, ordinary code. That's the shape of Gust: a typed state-machine language that currently compiles to Rust and Go. From code path to contract A small workflow can start as a straightforward code path: func HandleOrder ( ctx context . Context , payload Payload ) error { order , err := parseOrder ( payload .…