Skip to main content

42 posts tagged with "ess"

View All Tags

0.84 — Generated servers refuse what their OpenAPI refuses, and generated UIs call their binding's routes

· 4 min read
0.84 — Generated servers refuse what their OpenAPI refuses, and generated UIs call their binding's routes | ESS0.84.0 adds no format: generated Rust servers refuse a malformed Timestamp and an undeclared JSON member at decode, authored success acts assert that no error came back, denied-grant scenarios reach ranked views and every ungranted actor, and a generated UI calls the routes its HTTP binding serves.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

0.84.0 adds no source, scenario or suite format. It changes what generated servers admit, what an authored success step checks, which denied-grant scenarios synthesis writes, and how generated UIs reach a server. The changelog lists every change; this note covers each of them.

0.83 — Optional list appends, binding refusals that check event identities, and refusals that tell states apart

· 5 min read
0.83 — Optional list appends, binding refusals that check event identities, and refusals that tell states apart | ESS0.83.0 adds no format: the interpreted target appends null for an absent optional list element, binding refusal scenarios compare their trigger event's identities, a row-set guard beside named rows is witnessed on every refusal order, and no-view input refusals tell the record's state apart.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

0.83.0 adds no source, scenario or suite format, and every change in it is a fix. One is in the interpreted target, and the others are in the conformance suites synthesis writes. The changelog lists every change; this note covers each of them.

0.82 — Binding scenarios that check event identities, refusals that probe the record, and validation that names the file

· 4 min read
0.82 — Binding scenarios that check event identities, refusals that probe the record, and validation that names the file | ESS0.82.0 adds no format: synthesized binding scenarios compare the identity fields of their trigger event, the arranged half of a refusal without an identity view probes the record through the command, and ess specify validate names the file a refusal was read from.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-11-01-2200-event-identities-and-file-cited-refusals.md · revision b89faaa411bd

0.82.0 adds no source, scenario or suite format, and every change in it is a fix. Two are in the conformance suites synthesis writes, and one is in what ess specify validate cites. The changelog lists every change; this note covers each of them.

0.81 — Nullable Binary64 fields in generated types, name aliases in the schema, and synthesis that follows bindings

· 4 min read
0.81 — Nullable Binary64 fields in generated types, name aliases in the schema, and synthesis that follows bindings | ESS0.81.0 adds no format: ess generate types realizes a nullable optional Binary64 field and refuses the response root of a command without a response by name, the published schema admits the id: and component: name aliases, and synthesis sends related-row and wrong-state scenarios to rows that keep their branch.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-11-01-1600-nullable-binary64-and-binding-aware-synthesis.md · revision b89faaa411bd

0.81.0 adds no source, scenario or suite format, and every change in it is a fix. Two are in ess generate types, one is in the published document schema, and three are in how synthesis picks the rows a scenario is sent to. The changelog lists every change; this note covers each of them.

0.80 — HTTP-bound inputs and short names in generated types, and input-type rules in Entity Runtime

· 4 min read
0.80 — HTTP-bound inputs and short names in generated types, and input-type rules in Entity Runtime | ESS0.80.0 adds no format: ess generate types takes --http, so a command's input type is the request body its bound OpenAPI document publishes, --names short combines with --all-commands and --all-views, and Entity Runtime lowering keeps an unstored input type's rules.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-11-01-1200-http-bound-inputs-and-short-names.md · revision b89faaa411bd

0.80.0 adds no source, scenario or suite format. It changes what ess generate types writes under two flags, what Entity Runtime lowering does with a command input's type, and how synthesis decides an identity guard. The changelog lists every change; this note covers each of them.

0.79 — Nested-member claims, Binary64 in conformance suites, and typed authored inputs

· 4 min read
0.79 — Nested-member claims, Binary64 in conformance suites, and typed authored inputs | ESS0.79.0 adds scenario format ess-scenario/6 and suite pair ess-conformance/62 and /63: an authored claim may name a nested member by its path, an authored literal input is held to its type, and a model that reaches a finite Binary64 runs a conformance suite.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-11-01-0130-nested-claims-and-binary64.md · revision b89faaa411bd

0.79.0 adds no source format: a specification keeps its meaning, its IR bytes and its compiled digest. It adds scenario format ess-scenario/6 and suite pair ess-conformance/62 (ordinary) and /63 (coverage). The changelog lists every change; this note covers what the new formats carry and the fixes that came with them.

0.78 — Structured input examples, rows a deployment provides, and lifecycle summaries

· 3 min read
0.78 — Structured input examples, rows a deployment provides, and lifecycle summaries | ESS0.78.0 adds source format ess/33: a struct, map or Json input may carry an example, an entity may declare that the deployment provides its rows, and lifecycle transitions and states may carry a summary.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-10-31-1600-structured-examples-and-provided-rows.md · revision b89faaa411bd

0.78.0 adds source format ess/33. A model that does not use its new keys keeps its meaning, its IR bytes and its compiled digest. The changelog lists every change; this note covers what ess/33 adds and the fixes that came with it.

0.77 — Alike HTTP outcomes, wider OpenAPI import, and branches an earlier refusal hides

· 3 min read
0.77 — Alike HTTP outcomes, wider OpenAPI import, and branches an earlier refusal hides | ESS0.77.0 lets an HTTP route answer two outcomes alike, imports open objects from OpenAPI, keeps declared field order in generated types on request, and refuses a branch an earlier refusal always answers first.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-10-29-1100-alike-outcomes-and-unreachable-branches.md · revision b89faaa411bd

0.77.0 is a feature release with no new source format: every model keeps its meaning, its IR bytes and its compiled digest. The changelog lists every change since 0.70.0; this note covers 0.77.0 and the releases since the last note.

0.70 — Named rows beside a row set, state wire spellings, and replays that finish

· 3 min read
0.70 — Named rows beside a row set, state wire spellings, and replays that finish | ESS0.70.0 adds source format ess/32: one command may guard on rows its input names beside a row-set guard, a struct may declare no fields, and a lifecycle state may declare its wire spelling.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-10-26-2000-named-rows-beside-a-row-set.md · revision b89faaa411bd

0.70.0 is a feature release. It adds the source format ess/32 and the suite formats ess-conformance/58 and /59. A model below ess/32 keeps its meaning, its IR bytes and its compiled digest. The changelog lists every change since 0.63.0.

0.63 — Values computed by typed expressions, and one precedence order for guards

· 4 min read
0.63 — Values computed by typed expressions, and one precedence order for guards | ESS0.63.0 adds source format ess/27: a value may be computed by a typed expression, a guard may read a digest of its input, and every command's guards answer in one precedence order.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-10-19-1200-typed-expressions-and-one-precedence-order.md · revision b89faaa411bd

0.63.0 is a feature release. It adds the source format ess/27, the suite formats ess-conformance/52 and /53, the delta format ess-diff/20 and the suite comparison ess-suite-diff/1. A model below ess/27 keeps its meaning, its IR bytes and its compiled digest. The changelog lists every change since 0.59.0.