You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Events can declare their generations: event ProjectRegistered generation 2. An event without the marker is generation 1 and prints as before. Each earlier generation is a complete declaration in the same slice, numbered consecutively from 1; an invalid, duplicate or missing generation is a compile error (PLAY0446, PLAY0447, PLAY0448). Printing, workspace and MCP authoring, and editor highlighting, completion and hover support the marker. This is the grammar part of decision 0011 for #71.
A model that uses the marker does not compile to the executable model yet: binding fails with PLAY0449 until generation lineage ships (decision 0015). Models without the marker are unchanged.
Changed
Two unmarked declarations of the same event in one slice are now a syntax error (PLAY0447, a duplicate generation 1); before, only binding rejected them.
References to an event and the checks on its shape (produced mappings, specifications, projections, reaction trigger values) use the current, highest generation.
Tools that read EventSyntax directly will now see one declaration per generation. Until the executable model carries lineage, they should reject or skip events that carry a generation marker (HasGenerationMarker).