0.6 — the code that was never yours to write | ESSRelease 0.6.0-ess-wave-6 adds one verb: ess synthesize. The specification that already writes its documentation, its contracts and its tests now writes the structural part of the code — and the generated system passes the suite the specification generated before this code existed.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch
Release 0.6.0-ess-wave-6 adds one verb to the CLI. ess synthesize turns a compiled
specification into a plan and a Rust workspace: the types, the states, the ports — the part of an
implementation that was never anyone's to write — plus a typed list of exactly what remains. The
specification that already writes its documentation, its contracts and its tests now writes code,
and the claim that matters is executed rather than asserted: the generated system passes the
conformance suite the specification generated two waves earlier, before any of this code existed.
This post is a tutorial, run against the normative example that ships in the repository, so every
output below is reproducible — and checked by tests, not pasted from memory.