Skip to content

Release v4.13.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 20:48
40df4cd

Added

  • The Stage sandbox can run a model on the Screenplay executable semantic model with the opt-in Stage__Runtime__Engine=semantic. The default engine is unchanged. (part of #23)
    • Commands run through Screenplay's reference evaluator. That covers authorization, validation rules and requirements, produces when, destinations, $context values and constraints, so the sandbox behaves as the model specifies.
    • Accepted events are appended to Chronicle in one atomic call.
    • Unauthorized commands return 403. Validation and constraint rejections return 400 with the modeled messages and constraint name. Anything the engine cannot realize exactly returns a typed 501.
  • /stage/semantic/admission reports which commands, queries, events and projections the semantic engine supports, and why the others are not supported. (part of #23)

Changed

  • In the semantic engine, keyed queries are served with their modeled authorization. The compatibility Get…ById/All… queries are served only for read models whose keyed queries are unprotected. (part of #23)
  • The semantic engine refuses a model it cannot compile, or a Chronicle log that is not empty, with a typed status instead of starting partially. If an append's outcome is unknown, it stops serving requests rather than drift from the event log. (part of #23)