Skip to content

Index projection outputs that publish a local event as event references - #1073

Merged
woksin merged 4 commits into
mainfrom
screenplay-1070-1067
Oct 26, 2026
Merged

woksin merged 4 commits into
mainfrom
screenplay-1070-1067

Conversation

@woksin

@woksin woksin commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Fixed

Holds a private copy of the original canonical ESM bytes, versions,
revision and the projection validated by the unchanged strict reader.
Input and output bytes are copied; identity is the original document.
@woksin woksin added the patch Bug fixes, docs, refactoring label Oct 26, 2026
@woksin woksin self-assigned this Oct 26, 2026
@woksin woksin added the ai-corpus: none Language change that does not affect the AI corpus (reason stated in a PR comment) label Oct 26, 2026
@woksin

woksin commented Oct 26, 2026

Copy link
Copy Markdown
Contributor Author

Notes for reviewers

This PR combines two deliveries into one release: #1070 (user-facing fix) and the internal strict-document boundary from #1067 (part of #1067). #1067 stays open because future-minor wire admission is still held under Q93, so the release note has no bullet for it.

Test plan and evidence (local, pi-phase)

#1067 internal boundary

StrictSemanticDocument (internal sealed) copies the input bytes, verifies the copy with the unchanged strict SemanticModelSerializer.Deserialize, and keeps the original bytes, versions, revision and the validated projection. CopyBytes() returns a fresh array each call. The strict reader, writer, goldens, versions and public API are unchanged.

[SuppressMessage("Usage", "MA0182", ...)] on the type: the type has no production caller yet, and its specs are stripped from Release builds. This follows the existing precedent in Semantics/SemanticEventRoutes.cs and Dependencies/DependencyGraph.cs. Remove it when the first production caller lands.

ai-corpus

ai-corpus: none. #1070 aligns references and dependency graphs with the corpus's existing event-target distinction (cratis-screenplay-read-surface/SKILL.md:63-64, cratis-screenplay-projections/SKILL.md:70-75, cratis-screenplay-model-authoring/references/mcp-tools.md:598-618,722-724; checked against Cratis/AI 13ffb5a1; a second independent check agreed). #1067 is internal only, with no authoring or tool-surface change.

@woksin

woksin commented Oct 26, 2026

Copy link
Copy Markdown
Contributor Author

Corpus impact: none - the change aligns the authoring index and dependency graphs with the event-target distinction the Cratis/AI Screenplay skills already describe (cratis-screenplay-read-surface, cratis-screenplay-projections); no syntax, diagnostic or guidance changes.

@woksin
woksin merged commit cb2c8f3 into main Oct 26, 2026
23 of 28 checks passed
@woksin
woksin deleted the screenplay-1070-1067 branch October 26, 2026 09:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-corpus: none Language change that does not affect the AI corpus (reason stated in a PR comment) patch Bug fixes, docs, refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant