Repository navigation
Release v4.249.0
Summary
Adds a prerelease, source-only test-support package so renderer targets and source adapters can prove that a Screenplay model survives a round trip to code and back, without each writing their own comparison.
Added
- Semantic conformance test support (
Cratis.Screenplay.Conformance, source-only, prerelease) that compares two canonical semantic models. Assigned identities, the top-level model revision and other provenance are normalized, so reassigning ids never creates a false difference. Literal text, patterns, labels and messages remain significant, and arrays compare as sets or ordered according to their schema path. Unknown arrays and unresolved identities fail explicitly. The rules are documented in https://github.com/Cratis/Screenplay/blob/main/Documentation/screenplay/semantic-conformance.md - Per-target JSON loss ledgers: each entry matches a difference exactly and carries an issue or a by-design reason. Stale entries, ledgers over budget, unledgered differences, uncited warning or error diagnostics, obsolete exclusions, malformed or duplicate ledger fields, and complete runs with no successful comparison all fail. (#1064)