Skip to main content

0.40 — generated runtimes run every suite, and reader-side composition

· 2 min read
0.40 — generated runtimes run every suite, and reader-side composition | ESS0.40.0 runs suites ess-conformance/22 to /27 in the generated Go and TypeScript runtimes with the Rust runner's verdicts, and ess-composition/3 admits the widenings a consumer reads.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-29-1200-runtime-parity.md · revision b89faaa411bd

0.40.0 adds the composition format ess-composition/3, described in the version history.

0.39 — concurrent histories and direct library returns

· 2 min read
0.39 — concurrent histories and direct library returns | ESS0.39.0 checks a run of several clients against the specification's own model, records such runs from the Go and TypeScript explorers and from production logs, and adds typed direct returns.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-28-2100-concurrent-histories.md · revision b89faaa411bd

0.39.0 adds the history format ess-history/1 and the source format ess/17, described in the version history.

0.38 — set effects, caller values, existence-selected outcomes and paged views

· 2 min read
0.38 — set effects, caller values, existence-selected outcomes and paged views | ESS0.38.0 lets an outcome change every record a filter selects, read the caller's attributes, be selected by whether its record exists, bound a binding's retry and page a view.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-28-1800-set-effects.md · revision b89faaa411bd

0.38.0 adds the source format ess/16, described in the version history.

0.37 — outcome shapes, guards over the input, and new value types

· 2 min read
0.37 — outcome shapes, guards over the input, and new value types | ESS0.37.0 adds outcome shapes, subject guards that read the input, case-insensitive text, aggregates over optional fields, new value types and a pinned toolchain.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-28-1200-outcome-shapes.md · revision b89faaa411bd

0.37.0 adds the source format ess/15, described in the version history.

0.34–0.36 — predicates, stored-field guards, aggregates, and values read from the row

· 2 min read
0.34–0.36 — predicates, stored-field guards, aggregates, and values read from the row | ESS0.34.0 adds string predicate operators, guards over the subject's stored fields and aggregate views. 0.35.0 resolves typed fixture values before a scenario starts. 0.36.0 lets a payload or sets value read the subject, increment a stored number, fall back to a minted value and fill a struct field by field.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-27-1800-values-read-from-the-row.md · revision b89faaa411bd

Three releases, each adding a source format version described in the version history.

0.31–0.33 — Entity Runtime lowering, sidecars a binding must name, and a Secret that is only present

· 3 min read
0.31–0.33 — Entity Runtime lowering, sidecars a binding must name, and a Secret that is only present | ESS0.31.0 lowers a service contract to Entity Runtime definitions. 0.32.0 imports OpenAPI 3.0 and makes an unbound sidecar in a bound workload a violation. 0.33.0 stops a Kubernetes scan from writing anything derived from a Secret value, and lets a binding acknowledge containers the service does not build.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-26-1200-a-secret-is-only-present.md · revision b89faaa411bd

Three releases. One carries a specification into a runtime, and two tighten what an observed cluster is allowed to say — about the containers a workload runs, and about the Secrets it reads.

0.28–0.30 — the history a subject keeps, and what a retry returns

· 3 min read
0.28–0.30 — the history a subject keeps, and what a retry returns | ESSSource ess/6 models enum subject history and input eligibility beside an independently arranged failure. Source ess/7 declares that a retry returns the original command's result. Conformance suites compare actual subject values and actual retained responses. 0.30.0 shipped the agent plugin from this repository for one release.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-25-1200-what-a-retry-returns.md · revision b89faaa411bd

Three releases. Two of them move a claim a conformance suite used to make about a subject's shape into a comparison of the values an implementation actually produced, and each costs a source format version — ess/6 and ess/7, both described in the version history.

0.22–0.27 — what a binding promises, and the names nobody may invent

· 5 min read
0.22–0.27 — what a binding promises, and the names nobody may invent | ESSA binding declares one delivery attempt. A branch turns on the state a subject is already in, or says the field it owns holds nothing. A component declares its settings and the runtime slots are derived. An author names the identifier a code emitter spells, and the wire name a variant carries. Source formats ess/3, ess/4 and ess/5.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-21-1130-names-nobody-may-invent.md · revision b89faaa411bd

Six releases with one shape between them: each takes a fact that a generator was inferring, or a consumer was assuming, and makes it something an author states. Three of them cost a source format version — ess/3, ess/4 and ess/5 — and the version history says which.

0.19–0.21 — adopter schemas, a number that behaves, and a pass over nothing

· 3 min read
0.19–0.21 — adopter schemas, a number that behaves, and a pass over nothing | ESSChecked JSON Schema imports with source identity and source-pinned normalization recipes; a Binary64 field that preserves signed zero, subnormals and nearest-even rounding across three languages; and a conformance suite that records what it left out, so a pass over nothing and a pass over everything stop reading the same.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-21-1100-a-pass-over-nothing.md · revision b89faaa411bd

Three releases that each close a place where the toolchain was quietly agreeable: an adopter's own schemas, floating-point arithmetic, and a green suite.

0.16–0.18 — the scenarios an author writes, and a browser that plays them

· 4 min read
0.16–0.18 — the scenarios an author writes, and a browser that plays them | ESSA specification can carry authored scenarios, not only the ones it obliges: modelled instances, command timelines, expectations, a claimed length of time, and a consumer that halted an ordered scan. ess verify conform web walks them in a browser without executing an implementation. Also: why there is no 0.17.0 release.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-21-1030-the-scenarios-an-author-writes.md · revision b89faaa411bd

Synthesis writes the scenarios a specification obliges. These releases let an author write the ones it merely permits, and give three of them claims the format previously could not carry.