Repository navigation
Release v4.109.0
Summary
Stage now admits ESM v20, so a model can put validation rules on concepts that generate their values. Studio, the cli and Arc can adopt Screenplay's v20 models through this release.
Added
- Stage admits ESM v20 models: a concept that declares
generatemay carry validation rules, and the rendered concept has both itsNew()factory and itsConceptValidator. ESM v21 is still refused. (#393) - A rendered specification that uses a rule-bearing generated concept must pin its generated value, and a pinned value that fails the concept's rules is refused with
STAGE-ESM-011. (#393) - A generated concept rule with warning or information severity is refused with
STAGE-ESM-038, because the rendered application only rejects error-severity failures. (#393)
Changed
- A value that Stage's Host generates and that fails its concept's shape or rules is reported as a server error after authorization and input validation, never as a validation error, and appends nothing. (#393)
- The specification executor reports a generated fixture that fails its concept's rules with the reference evaluator's message, checking each fixture's shape and then its rules in fixture order. (#393)
Fixed
- Stage decides whether generated values are guarded for freshness and shape by whether the model declares a generation strategy, matching the reference evaluator, instead of by ESM version. Models that only use implicit UUID generation are no longer guarded. (#393)