Skip to content

Release v4.132.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 18:44
d4c6368

The domain blueprint samples have to render exactly as authored. Rendering the Screenplay samples (CRM, Ticketing, Approvals, Inventory, HR, Project tracker, Administration, Orders) with the published CLI stopped at admission for all eight, so the earlier blueprint work could only show them simplified. This fixes the renderer instead of the samples, and makes a reference to a template a blueprint does not ship a hard refusal.

Added

  • A specification that only projects facts - events given as history, optionally one more appended with when append, then then readmodel - renders as a generated read-model scenario (STAGE-ESM-011 no longer refuses the 37 Listing... specifications of the samples). An append an event reaction or constraint governs is still refused, and so is an instance no given event reaches, because the generated scenario could not prove it.
  • A root projection block keyed by a constant (key "global") renders as UsingConstantKey, with its summaryId = "global" mapping, so a one-row summary projection (SalesFigures, SupportFigures, InventoryFigures) renders.
  • RenderFindingKind.TemplateReferenceUnresolved: a template blueprint <Package> <Template> reference the approved blueprint's manifest does not list is reported with the blueprint and template named, through Scene's own resolver (Cratis/Scene#182). It is no longer possible to render a screen that silently has no template.
  • when_planning_the_domain_blueprint_samples plans each sample (kept in Verification/live-blueprints/models, the Screenplay samples) as authored; when_executing_projected_fact_specifications builds and runs the generated application of a model using all of the above, and when_refusing_unprovable_projected_facts pins what stays refused.

Changed

  • A protected live collection over a multi-block projection renders. The refusal named Chronicle#4816, which is fixed in the pinned Chronicle.
  • Running totals (add, subtract, increment, decrement) establish a required whole number from nothing, so a projection that only counts is complete. An optional whole number still cannot accumulate.
  • The live blueprint scenario now covers all eight samples (Orders added), runs them against the published blueprint packages 4.66.0, and fails instead of noting a template the package does not ship.
  • Cratis.Scene.Engine and Cratis.Scene.Model 4.66.0.

Part of #457