Repository navigation
Release v4.86.0
Summary
Reactions that declare runs as now render, and a when append specification whose appended event fires a single reaction renders as a generated specification. Together they bring Screenplay's canonical reaction identity corpus into three-way conformance: the reference, Stage's spec runner and the rendered application agree.
Added
- A reaction with
runs asrenders its Chronicle reactor with Arc's[ExecuteCommandsAsSystem(roles)], so the commands it invokes run as the system with exactly the declared roles. (#292) - A
when appendspecification whose appended event fires one reaction renders as a ChronicleReactorScenariochained into an ArcCommandScenario. It asserts the events the reaction produces (payload, destination and an exact count) or the invoked command's outcome. The invoked command runs under the identity declared on the reactor itself, and the specification's caller is not forwarded. (part of #207)
Changed
STAGE-ESM-034now refuses onlyruns asreactions that invoke commands whose authorization reads claims or uses opaque policies. Arc's system principal carries subject claims that Screenplay treats as unknown, so such a command could be allowed in the rendered application and denied by the model. (#292)- Reaction appends that fan out to several reactions, cascade further, use
$context, expect read-model or query state, or produce events that constraints check still failSTAGE-ESM-011. (part of #207)