Repository navigation
Release v3.66.0
cratis render and cratis run now use Stage 4.113.0, so models with validation rules on generated concepts (Screenplay ESM v20) render, and cratis run explains refusals instead of printing one error per issue.
Added
cratis renderadmits Screenplay ESM v20: validation rules on generated concepts render with both the concept'sNew()factory and its validator. Specifications using such a concept must pin its generated value; a pin that fails the rules is refused withSTAGE-ESM-011, and warning or information rules on generated concepts withSTAGE-ESM-038. ESM v21 is still refused withCLI-RENDER-004. (#372)- When Stage's default
eventmodelengine refuses a model only for capabilities the semantic engine runs,cratis runwithout--enginerestarts once onsemanticand says so. An explicit--enginenever switches; refusal suggestions give the exactcratis run <path> --engine semanticcommand with your other options. (part of #324) cratis runrefusals are grouped by kind into Fix your model, Not supported by this engine yet and Ignored by this engine, with counts and the first three locations;--verboselists every issue, and JSON output keeps every issue plus the groups. (part of #324)cratis runshows the compiler notes Stage reports as ignored: a one-line count when the session is ready (listed with--verbose), grouped under Ignored by this engine on a refusal, and as a rawnotesarray in JSON output.
Changed
- The CLI bundles Stage 4.113.0 and Screenplay 4.180.1 (including its MCP server);
cratis runstartscratis/stage:4.113.0by default. Rendered applications are two-project solutions with a<Project>.Specsproject, and validation rules on optional whole-number, decimal and Boolean concept properties now render. - A render whose bundled renderer breaks its own contract is refused with
CLI-RENDER-005, naming the error to report to Cratis/Stage, instead of crashing; nothing is published.