Repository navigation
Admissible compilation, host rule providers, occurrence times in scoped projections and file-backed validate - #1096
Merged
Merged
Conversation
The reference executor now resolves $eventContext.occurred from the fact's explicit occurrence time, as invariant UTC round-trip text, in property assignments of from, every and children scopes. Keys, joins, arithmetic, every mappings with joins and nested objects keep refusing it, both at admission and at runtime. A fact without an occurrence time that a mapping needs fails the projection, including a child that would otherwise be deferred, so no partial read-model or pending-child state is published.
… Screenplay candidate
A deferred child removal shared with an ancestor that removes itself for the same event was refused for a missing occurrence time, although replay skips that ancestor's every mappings. Both paths now pick ancestors through one predicate.
The configuration overload added for host rule providers had the same arity as Run(string?, TextReader, TextWriter), so a literal null root no longer compiled. Name it RunConfigured and pin the null-root call with a specification.
…date # Conflicts: # Documentation/screenplay/commands.md
Contributor
Author
|
Reviewer notes (not release notes). Train candidate assembled with merge commits from main e332621:
Local gates on 40c2916 (fresh Debug + Release builds): Release 0 warnings; compiler specs 14205/14205; MCP specs 3418/3418 (3 skipped). Reviews: #1091 deep (Opus + Astra) passed; #1087 Opus + Sol, one Sol finding fixed and delta-reviewed; whole-change full review round 1 found the overload ambiguity, round 2 (since 42f55f5) passed with no findings. Downstream: Stage train (stage-inline-train) pins to 4.254.0 after this releases; verified locally against package 4.254.0-local.sp.42f55f5. Follow-ups: #1094 (security attribution), #1095 (typed exclusion causes). |
Contributor
Author
|
Corpus impact: Cratis/AI#953 |
This was referenced Oct 29, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added
CompileAdmissible: slices, specifications, imports and policies that executable binding refuses are excluded and reported with their original diagnostics, while declarations whose security depends on an excluded or unresolved declaration are excluded too or fail the compilation, never silently widened (Bind with exclusions: compile the admissible subset and report excluded slices/specifications #1091)$eventContext.occurredinto read-model properties offrom,everyandchildrenblocks, using each event's own occurrence time in UTC; a projection that needs an occurrence time an event does not carry now fails instead of publishing partial state (Reference evaluator: support projection event-context values other than the event source id #1087)validateon concepts and properties can now load its body from a file withvalidate file <path>(Accept a file include for imperative concept validate blocks #1093)