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
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.
An authored act states its caller
An act in an ess-scenario/5 document states the caller its command is sent as, under caller:.
Each attribute value is a literal of its declared type, or {$instance: name} for an instance
arranged with setup:. A command that records {caller: account_id} now runs from an authored
scenario on the interpreted target and the generated Go and TypeScript runners.
ess verify conform authorrefuses an attribute the act'sactor:does not declare (ESS-AUTHOR-013), a required attribute the command reads that the act leaves unstated (ESS-AUTHOR-014), and an instance captured at run time (ESS-AUTHOR-015), naming the attribute and the command.- An act with no
caller:sends none, and its suite keeps its bytes.ess-scenario/1to/4refuse the key. - A suite step that reaches a caller attribute nothing supplied is still
unsupported, now with a reason naming the attribute andcaller:.
Synthesis
- A command whose branches a stored field of its subject selects (
when_subject:) gets its scenarios even when no view observes that field; synthesis used to refuse each withESS-SYNTH-001. A model with an immediate view covering the guarded fields keeps its suite byte for byte (#496). - A
when_related:guard that reads a member of a struct input is decided against the key the subject was created under, where it used to choose a row against a key the search made up. A struct sent as a literal keeps its scenarios byte for byte (#521).