Skip to main content

0.59 — An authored act states the caller its command is sent as

· 3 min read
0.59 — An authored act states the caller its command is sent as | ESS0.59.0 lets an authored scenario state the caller attributes its command reads, and fixes two cases where synthesis refused or mis-chose a scenario.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-10-11-0230-authored-caller-attributes.md · revision b89faaa411bd

0.59.0 is a feature release. It adds the authored scenario format ess-scenario/5; specifications, suites and deltas keep their formats. The changelog lists every change since 0.55.0.

0.55 — Json in CLI results, and optional values an implementation supplies

· 3 min read
0.55 — Json in CLI results, and optional values an implementation supplies | ESS0.55.0 lets a CLI result carry a JSON document as JSON, and routes an optional generated value through a port the implementation answers.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-10-06-2200-json-cli-results-and-optional-generator-ports.md · revision b89faaa411bd

0.55.0 is a feature release. Specifications, suites and deltas keep their formats. It follows 0.54.0, released the same day with source format ess/23; the changelog lists both.

0.51 — Branches selected by existence, and output that regenerates anywhere

· 2 min read
0.51 — Branches selected by existence, and output that regenerates anywhere | ESS0.51.0 generates the existence lookup a Rust server needs to choose between creating and refusing, and lets committed generated output regenerate in another checkout.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-10-01-2330-existence-lookup-and-portable-output.md · revision b89faaa411bd

0.51.0 is a feature and fix release. Specifications, suites and deltas keep their formats.

0.50 — Aggregates over rows a when_related guard admits

· 2 min read
0.50 — Aggregates over rows a when_related guard admits | ESS0.50.0 is one synthesis fix: an aggregate view whose creating command has a when_related guard gets its aggregate scenario instead of being refused with ESS-SYNTH-017.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-10-01-2200-aggregates-over-related-guards.md · revision b89faaa411bd

0.50.0 is a fix release. Specifications, suites and deltas keep their formats.

0.49 — Served surfaces enforce actor grants, and a related row's state

· 3 min read
0.49 — Served surfaces enforce actor grants, and a related row's state | ESS0.49.0 makes generated servers refuse a caller the specification does not grant a command, with suites that witness the refusal, adds ess/20 for a related row's lifecycle state in a when_related guard, and closes six synthesis and diff gaps.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-10-01-1800-actor-grants-and-related-state.md · revision b89faaa411bd

0.49.0 adds the source format ess/20, described in the format history. It changes the signature of generated servers in a specification that declares actors, so a caller of dispatch, handle or serve has one change to make.

0.48 — UI tests by node path, and reports from an outside runner

· 3 min read
0.48 — UI tests by node path, and reports from an outside runner | ESS0.48.0 runs ess-ui-test/1 tests against the terminal renderer and emits a Playwright spec from the same file, turns an outside runner's per-scenario results into a conformance report, and marks a served 501 whose effect was committed.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-30-2300-ui-tests-and-supplied-results.md · revision b89faaa411bd

0.48.0 adds three formats, ess-ui-test/1, ess-ui-test-report/1 and ess-conformance-results/1, described in the formats reference. Specifications, suites and deltas keep their earlier formats.

0.47 — UI documents, and generated servers that answer with what a command published

· 3 min read
0.47 — UI documents, and generated servers that answer with what a command published | ESS0.47.0 adds ess-ui/1, a renderer-neutral UI document that loads, checks, runs in the terminal and generates a React project, and makes the generated Rust and Go servers answer with the events a command published, deliver each binding on its own, and keep request headers.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-30-1800-ui-documents-and-published-answers.md · revision b89faaa411bd

0.47.0 adds two formats, ess-ui/1 and ess-ui-check/1, described in the formats reference. Specifications, suites and deltas keep their earlier formats.

0.43 — instance references inside structured values, one refusal order, and unstated external answers

· 4 min read
0.43 — instance references inside structured values, one refusal order, and unstated external answers | ESS0.43.0 lets an authored step name a created instance inside a list, a map or a struct, puts every command's refusals in one declared order, refuses an authored claim that holds only on an external answer the act does not state, and lets synthesis witness guards it refused before.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-29-2200-instance-references-in-structured-values.md · revision b89faaa411bd

0.43.0 adds the suite formats ess-conformance/32 and ess-conformance/33, described in the version history. A suite that does not use what they add keeps its earlier format, and committed suites regenerate byte for byte.

0.42 — unkillable mutants scored apart, overlap precedence, and counter limits

· 2 min read
0.42 — unkillable mutants scored apart, overlap precedence, and counter limits | ESS0.42.0 scores a mutant no scenario could kill apart from a survivor, gives two overlapping accepting guards a declared answer, witnesses a stored counter at its limit and a guard over a link field, and lets a relation ride on the identity.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-29-2000-unkillable-mutants.md · revision b89faaa411bd

0.42.0 adds ess-diff/11, ess-mutation-report/3 and ess-mutation-manifest/3, described in the version history.

0.41 — state-scoped refusals, guards over a related row, and a delivery context

· 2 min read
0.41 — state-scoped refusals, guards over a related row, and a delivery context | ESS0.41.0 adds source format ess/18: a refusal scoped to some held states, state in a when_subject predicate, a guard over the row of another entity, and a binding that reads the context its event was delivered with.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-29-1800-state-scoped-refusals.md · revision b89faaa411bd

0.41.0 adds the source format ess/18, described in the version history.