Repository navigation
Release v4.23.0
Specifications can now start from an event instead of a command, and state how strictly their outcomes are compared. The executable model also reports exactly which inline code and code files a document depends on, and policies can name a code file.
Added
when append <Event>specifications: the event goes through append-time constraints and projections, then the stated read models and query results are compared. If the specification asserts events, they must equal the complete set of new facts. Reactions do not run.- Explicit comparison qualifiers on specification outcomes. Event order defaults to authored order and can be relaxed; read-model and query properties default to subset matching and can be made exact. Conflicting actions and malformed qualifiers are reported (
PLAY0358,PLAY0359). - An inventory of the code attachments the executable model cannot run yet: command handlers and validation, concept validation, rule and policy predicates, reducer transitions, query performers and reactions. Each is listed with its role, owning declaration, language or file, content hash and source location. It sits on the compilation result, and MCP pages it by workspace revision. Binding still fails closed with
PLAY0268. - A
policymay name its implementation withfile <Path>, as an alternative to inline code. The executable model treats it like a code policy.