@cratis/pi 7.29.1 → 7.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/package/corpus/skills/cratis-chronicle-client-dotnet/SKILL.md +14 -0
  2. package/package/corpus/skills/cratis-chronicle-client-dotnet/references/pinned-generation-delivery.md +92 -0
  3. package/package/corpus/skills/cratis-chronicle-event-type-migration/SKILL.md +24 -2
  4. package/package/corpus/skills/cratis-chronicle-event-type-migration/references/pinned-generations.md +114 -0
  5. package/package/corpus/skills/cratis-screenplay-automations-and-translations/SKILL.md +9 -4
  6. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/audit-format.md +4 -2
  7. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/automation-patterns.md +3 -3
  8. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/provenance.md +5 -2
  9. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/public-events-and-direction.md +137 -0
  10. package/package/corpus/skills/cratis-screenplay-automations-and-translations/verification.json +5 -1
  11. package/package/corpus/skills/cratis-screenplay-captures-and-reactions/SKILL.md +15 -16
  12. package/package/corpus/skills/cratis-screenplay-captures-and-reactions/references/invocation-identity.md +4 -4
  13. package/package/corpus/skills/cratis-screenplay-captures-and-reactions/references/product-sources.md +15 -0
  14. package/package/corpus/skills/cratis-screenplay-captures-and-reactions/verification.json +3 -1
  15. package/package/corpus/skills/cratis-screenplay-command-surface/SKILL.md +8 -9
  16. package/package/corpus/skills/cratis-screenplay-command-surface/references/context.md +1 -1
  17. package/package/corpus/skills/cratis-screenplay-command-surface/references/generated-values-and-responses.md +4 -4
  18. package/package/corpus/skills/cratis-screenplay-event-modeling/SKILL.md +2 -2
  19. package/package/corpus/skills/cratis-screenplay-event-modeling/references/parsed-not-runnable.md +1 -1
  20. package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/generate-notes.md +2 -2
  21. package/package/corpus/skills/cratis-screenplay-model-authoring/SKILL.md +4 -4
  22. package/package/corpus/skills/cratis-screenplay-model-authoring/references/language-reference.md +7 -1
  23. package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-tools.md +7 -2
  24. package/package/corpus/skills/cratis-screenplay-model-authoring/references/screen-authoring-workflow.md +5 -3
  25. package/package/corpus/skills/cratis-screenplay-model-authoring/verification.json +1 -1
  26. package/package/corpus/skills/cratis-screenplay-model-review/SKILL.md +10 -11
  27. package/package/corpus/skills/cratis-screenplay-model-review/references/anti-patterns.md +1 -1
  28. package/package/corpus/skills/cratis-screenplay-model-review/references/public-keys-and-routes.md +32 -0
  29. package/package/corpus/skills/cratis-screenplay-model-review/verification.json +1 -0
  30. package/package/corpus/skills/cratis-screenplay-projections/SKILL.md +11 -0
  31. package/package/corpus/skills/cratis-screenplay-read-surface/SKILL.md +19 -16
  32. package/package/corpus/skills/cratis-screenplay-read-surface/references/named-keys.md +122 -0
  33. package/package/corpus/skills/cratis-screenplay-read-surface/verification.json +3 -0
  34. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/SKILL.md +9 -6
  35. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/gap-fill-handoff.md +3 -3
  36. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/verification.json +1 -1
  37. package/package/corpus/skills/cratis-screenplay-scenario-coverage/SKILL.md +11 -0
  38. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/spec-forms-by-mode.md +2 -2
  39. package/package/corpus/skills/cratis-screenplay-slice-design/SKILL.md +32 -9
  40. package/package/corpus/skills/cratis-screenplay-slice-design/references/read-model-design.md +20 -13
  41. package/package/corpus/skills/cratis-screenplay-specifications/SKILL.md +12 -10
  42. package/package/corpus/skills/cratis-screenplay-specifications/references/examples-and-routes.md +3 -2
  43. package/package/corpus/skills/cratis-screenplay-specifications/references/source-notes.md +16 -0
  44. package/package/corpus/skills/cratis-screenplay-specifications/verification.json +2 -2
  45. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/SKILL.md +2 -2
  46. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/stream-patterns.md +2 -2
  47. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/verification.json +1 -1
  48. package/package/corpus/skills/cratis-screenplay-toolchain/SKILL.md +19 -10
  49. package/package/corpus/skills/cratis-screenplay-toolchain/references/cheat-sheet.md +12 -1
  50. package/package/corpus/skills/cratis-screenplay-toolchain/references/diagnostics.md +55 -3
  51. package/package/corpus/skills/cratis-screenplay-toolchain/references/doc-contradictions.md +7 -4
  52. package/package/corpus/skills/cratis-screenplay-toolchain/references/executable-subset.md +30 -10
  53. package/package/corpus/skills/cratis-screenplay-toolchain/references/production-routes-and-filters.md +119 -0
  54. package/package/corpus/skills/cratis-screenplay-toolchain/references/provenance.md +8 -1
  55. package/package/corpus/skills/cratis-screenplay-toolchain/references/renderable-subset.md +11 -5
  56. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.json +813 -0
  57. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.version +1 -1
  58. package/package/corpus/skills/cratis-screenplay-toolchain/references/sources-and-streams.md +7 -5
  59. package/package/corpus/skills/cratis-screenplay-toolchain/references/traps.md +6 -6
  60. package/package/corpus/skills/cratis-screenplay-toolchain/references/verdicts.md +6 -5
  61. package/package/corpus/skills/cratis-screenplay-toolchain/references/versions.md +56 -28
  62. package/package/corpus/skills/cratis-screenplay-toolchain/verification.json +7 -1
  63. package/package/corpus/skills/cratis-screenplay-ui-composition/references/screen-composition-contract.md +4 -3
  64. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/SKILL.md +11 -12
  65. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/admission.md +14 -3
  66. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/case-tables-and-whole-numbers.md +8 -6
  67. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/verification.json +3 -1
  68. package/package.json +1 -1
@@ -0,0 +1,119 @@
1
+ <!-- Copyright (c) Cratis. All rights reserved. -->
2
+ <!-- Licensed under the MIT license. See LICENSE file in the project root for full license information. -->
3
+
4
+ # Per-production routes and observer filters (released ESM v10)
5
+
6
+ ## Contents
7
+
8
+ - Command defaults and complete overrides
9
+ - Observer selection
10
+ - Checked source form
11
+ - Admission and evidence
12
+
13
+ ## Command defaults and complete overrides
14
+
15
+ Named event sources/streams and command routes bind as ESM v8 (verified at 4.125.0).
16
+ A routed command's identifier and known destinations must match the source's nominal
17
+ identifier type (PLAY0504). Allocation uses the generated identifier's type, or
18
+ without one requires a UUID-based source. Composite `streamId` routes map every
19
+ named part exactly once; scalar `streamId T` and `streamId = x` remain valid.
20
+ See [sources and streams](sources-and-streams.md) for declarations and encoding.
21
+
22
+ A command's plain, conditional or inline event production can carry its own
23
+ `stream Source.Stream` plus scalar or composite `streamId` mappings. This replaces
24
+ the **whole source, stream and stream id**, for that production only. Other
25
+ productions inherit the command route. Overrides do not supply `for`: state the
26
+ destination explicitly and keep its type compatible with the override's source.
27
+ There is no `no stream` override. A payload `stream = value` remains payload.
28
+ Reaction and refusal-branch productions cannot carry routes (PLAY0663).
29
+
30
+ Resolve the command route and every override eagerly after validation/requirements
31
+ and before generation. An invalid route in a skipped conditional production still
32
+ rejects the command atomically as Contract, leaving no new facts or allocation.
33
+ Mappings accept required nongenerated direct scalar command inputs or literals;
34
+ property paths remain PLAY0268 (#574), generated inputs PLAY0273. A portable
35
+ unkeyed override replaces a keyed command id, never inherits it; a renderer must
36
+ refuse that form if its adapter cannot clear inherited metadata.
37
+
38
+ ## Observer selection
39
+
40
+ A reaction or reducer has at most one leaf `from Source` or `from Source.Stream`.
41
+ It matches stored source/stream names, not stream ids. Unrouted facts never match;
42
+ without a filter, existing observation behavior is unchanged. Direct reaction
43
+ productions, captures and public publication are unrouted. A filtered reaction may
44
+ only have `when Event` triggers on declared events, not clock/application triggers.
45
+ Filters are not available on projections or captures.
46
+
47
+ PLAY0665 rejects malformed, duplicate, child-bearing, unresolved/ambiguous filters
48
+ and non-event triggers. PLAY0666 warns when all statically known producers lie
49
+ outside the filter: include effective production overrides in this check. Handler
50
+ commands and foreign origins are unknown and suppress this C#-only warning.
51
+ A filtered opaque reducer returns typed Unsupported when matching given history
52
+ or the when-step reaches a transition; ignoring its body cannot prove absence.
53
+
54
+ ## Checked source form
55
+
56
+ The override and filter select ESM v10. The second production keeps the command
57
+ default, while Booked is routed to Notes and can trigger Follow:
58
+
59
+ ```screenplay
60
+ concept AccountId : String
61
+ eventsource Account
62
+ identifier AccountId
63
+ stream Base
64
+ streamId String
65
+ stream Notes
66
+ streamId String
67
+ module Accounts
68
+ feature Booking
69
+ slice StateChange Book
70
+ command Book
71
+ accountId AccountId identifier
72
+ period String
73
+ stream Account.Base
74
+ streamId = period
75
+ produces event Booked
76
+ for accountId
77
+ stream Account.Notes
78
+ streamId = period
79
+ produces event BookRecorded
80
+ for accountId
81
+ slice Automation FollowBooking
82
+ event Followed
83
+ reaction Follow
84
+ from Account.Notes
85
+ when Booked
86
+ produces Followed
87
+ specification RoutedReaction
88
+ when append Booked
89
+ for "account-1"
90
+ stream Account.Notes
91
+ streamId = "2026-10"
92
+ then Followed
93
+ no stream
94
+ ```
95
+
96
+ For a composite override, the child form is `streamId` followed by every
97
+ `part = inputOrLiteral`. Mapping order does not change part correspondence.
98
+ Specification routes describe effective facts, not only the command default.
99
+ Cover inherited versus overridden routes, atomic skipped-route failure, matching
100
+ and wrong source/stream, and unrouted input. Read [specification route forms](sources-and-streams.md).
101
+
102
+ ## Admission and evidence
103
+
104
+ ESM v10 was first published in 4.125.0 (reaction system identity). Production
105
+ routes and observer filters shipped in 4.129.0. Decision 0066 records that already
106
+ shipped extension as a retroactive exception; all three are now one frozen v10
107
+ contract. A consumer admitting v10 must include all three, not just identity.
108
+ Composite **read-model** keys are separate and remain unadmitted (PLAY0268, #599).
109
+
110
+ Previous CLI 3.46.1/Stage 4.52.0 refused versions above v7 before planning.
111
+ CLI 3.50.0/Stage 4.67.0 admits through v10 to construct checks: production overrides
112
+ still refuse STAGE-ESM-036 and reaction filters STAGE-ESM-035; reducer filters render.
113
+ A supported version number alone never proves target support or a passing render.
114
+
115
+ Source: Screenplay `v4.135.0:Documentation/screenplay/{event-sources,readmodels,reactions,diagnostics}.md`,
116
+ decisions 0061–0063/0066 and canonical corpus
117
+ `Source/DotNET/Screenplay.CanonicalCorpus/Corpus/EventRoutes/{production-routes,observer-filters}/source/`.
118
+ Stage `v4.67.0:Source/Rendering.Cratis/Semantics/{SemanticVersionFeatures,SemanticVersionFeatureAdmission}.cs`;
119
+ CLI `v3.50.0:Source/Cli/Commands/Render/RenderedSemanticVersions.cs`.
@@ -28,7 +28,14 @@ is adapted with the agreement of Martin Dilger and Nebulit GmbH.
28
28
 
29
29
  ## Sources read for facts
30
30
 
31
- - Current pin update: Screenplay `v4.131.0` (`71f3ef37`), published
31
+ - Current public/keys/routes/version update: Screenplay `v4.135.0` (`b4e46130`),
32
+ unchanged release contract, `Semantics/Versions.cs`, `Documentation/screenplay/{events,slices,captures,readmodels,queries,event-sources,diagnostics,interoperability}.md`,
33
+ decisions 0049–0051 and 0060–0066. Composite view keys remain PLAY0268 (#599);
34
+ v11 literal lowering is admitted despite interoperability's unreleased label.
35
+ CLI `v3.50.0` (`546dea12`) pins Stage 4.67.0 and Screenplay 4.131.0;
36
+ `RenderedSemanticVersions.cs` and Stage's version-feature admission were read,
37
+ not executed as a new render/browser vector.
38
+ - Previous pin update: Screenplay `v4.131.0` (`71f3ef37`), published
32
39
  `screenplay-contract.json`, `Source/DotNET/Screenplay.Mcp/{McpRevisionDiff,McpWorkspaces.Comparison,McpToolSchemas}.cs`
33
40
  and `Documentation/screenplay/mcp/reference.md`; CLI `v3.46.1` (`73578fbf`)
34
41
  `Directory.Packages.props`, `RenderedSemanticVersions.cs`, `RenderSettings.cs`,
@@ -7,13 +7,19 @@
7
7
  - Ownership, publication and recovery
8
8
  - Reading V5
9
9
 
10
- Current pins: standalone Screenplay 4.131.0; CLI 3.46.1 bundles Screenplay
11
- 4.130.0 and Stage 4.52.0 (`versions.md`). CLI admits ESM v7 to Stage planning;
12
- above v7 is CLI-RENDER-004. The historical v7 canonical-corpus check got
10
+ Current pins: standalone Screenplay 4.135.0; CLI 3.50.0 bundles Screenplay
11
+ 4.131.0 and Stage 4.67.0 (`versions.md`). CLI/Stage admit through v10 to construct
12
+ checks, not blanket rendering; above v10 is CLI-RENDER-004 (direct Stage:
13
+ STAGE-ESM-016). v9 publication/foreign facts and v10 reaction identity,
14
+ reaction filters and production overrides still refuse STAGE-ESM-032–036;
15
+ reducer filters render. v8 routes reach specific checks (including routed
16
+ read-model/query replay refusal STAGE-ESM-030). Case tables and v8+ `long`
17
+ whole numbers apply to the current default. Previous CLI 3.46.1/Stage 4.52.0
18
+ admitted only through v7 and applied neither newer rule. The historical v7 canonical-corpus check got
13
19
  STAGE-ESM-028/029 for generated values/responses
14
20
  (`v3.41.0:Source/Cli.Specs/for_ScreenplayPlanning/when_planning_an_esm_v7_model.cs`).
15
21
  The following detailed Stage 4.24.x results are **historical**, not reverified
16
- 4.52.0 claims. Run the bundled renderer before asserting current renderability.
22
+ 4.67.0 claims. Run the bundled renderer before asserting current renderability.
17
23
 
18
24
  Historical sources, all read at tags: Stage v4.24.1 `Source/Rendering.Cratis/Semantics/SemanticSurfaceLedger.cs`
19
25
  (an exhaustive map of every ESM member to Rendered, Rejected(code) or Ignored),
@@ -61,7 +67,7 @@ accepted with PLAY0565 information); either still refuses binding. Identity bloc
61
67
  purposes and event `subject` are authoring metadata, not provider realization;
62
68
  executing identity detail reads still refuses PLAY0268. Current source/stream
63
69
  routes are admitted as v8, including composite ids, not the historical binding
64
- refusal above; CLI 3.46.1 still refuses versions above v7. Never split hand-joined
70
+ refusal above; current CLI 3.50.0 reaches Stage's v8 route checks. Never split hand-joined
65
71
  legacy ids or drop protected ids into routing to fit a renderer (PLAY0515).
66
72
 
67
73
  ## Authoring consequences in renderable mode