@cratis/pi 7.32.0 → 7.34.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 (176) hide show
  1. package/package/corpus/agents/screenplay-modeler.md +1 -1
  2. package/package/corpus/agents/screenplay-renderer.md +1 -1
  3. package/package/corpus/agents/screenplay-reviewer.md +1 -1
  4. package/package/corpus/agents/slice-implementer.md +1 -1
  5. package/package/corpus/rules/profiles.md +1 -0
  6. package/package/corpus/skills/cratis-application-slice-conformance/LICENSE +2 -2
  7. package/package/corpus/skills/cratis-application-slice-conformance/SKILL.md +5 -0
  8. package/package/corpus/skills/cratis-application-slice-conformance/references/checklists.md +12 -0
  9. package/package/corpus/skills/cratis-application-slice-conformance/references/provenance.md +3 -4
  10. package/package/corpus/skills/cratis-application-slice-specifications/LICENSE +2 -2
  11. package/package/corpus/skills/cratis-application-slice-specifications/references/provenance.md +2 -3
  12. package/package/corpus/skills/cratis-arc-react-page/LICENSE +2 -2
  13. package/package/corpus/skills/cratis-arc-react-page/references/provenance.md +2 -3
  14. package/package/corpus/skills/cratis-chronicle-event-modeling/SKILL.md +12 -6
  15. package/package/corpus/skills/cratis-chronicle-reactor/LICENSE +2 -2
  16. package/package/corpus/skills/cratis-chronicle-reactor/SKILL.md +5 -2
  17. package/package/corpus/skills/cratis-chronicle-reactor/references/provenance.md +3 -3
  18. package/package/corpus/skills/cratis-chronicle-reactor/references/slice-delivery-checklist.md +93 -0
  19. package/package/corpus/skills/cratis-chronicle-read-model-specifications/LICENSE +2 -2
  20. package/package/corpus/skills/cratis-chronicle-read-model-specifications/SKILL.md +1 -1
  21. package/package/corpus/skills/cratis-chronicle-read-model-specifications/references/provenance.md +3 -3
  22. package/package/corpus/skills/cratis-chronicle-read-model-specifications/references/view-lifecycle-checks.md +79 -0
  23. package/package/corpus/skills/cratis-event-model-diagram/LICENSE +7 -0
  24. package/package/corpus/skills/cratis-event-model-diagram/SKILL.md +26 -2
  25. package/package/corpus/skills/cratis-event-model-diagram/references/provenance.md +19 -0
  26. package/package/corpus/skills/cratis-screenplay-automations-and-translations/LICENSE +2 -2
  27. package/package/corpus/skills/cratis-screenplay-automations-and-translations/SKILL.md +16 -11
  28. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/audit-format.md +1 -1
  29. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/automation-patterns.md +7 -7
  30. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/effects-and-idempotency.md +1 -1
  31. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/provenance.md +5 -6
  32. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/public-events-and-direction.md +2 -3
  33. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/realization-and-gap-fill.md +9 -5
  34. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/todo-list-example.md +6 -6
  35. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/translate-example.md +1 -1
  36. package/package/corpus/skills/cratis-screenplay-captures-and-reactions/SKILL.md +16 -15
  37. package/package/corpus/skills/cratis-screenplay-captures-and-reactions/references/invocation-identity.md +2 -2
  38. package/package/corpus/skills/cratis-screenplay-command-surface/SKILL.md +20 -19
  39. package/package/corpus/skills/cratis-screenplay-command-surface/references/compliance.md +3 -1
  40. package/package/corpus/skills/cratis-screenplay-command-surface/references/context.md +1 -1
  41. package/package/corpus/skills/cratis-screenplay-command-surface/references/enum-numbers.md +93 -0
  42. package/package/corpus/skills/cratis-screenplay-command-surface/references/generated-values-and-responses.md +5 -6
  43. package/package/corpus/skills/cratis-screenplay-command-surface/references/validate-rules.md +4 -2
  44. package/package/corpus/skills/cratis-screenplay-delivery-planning/LICENSE +9 -0
  45. package/package/corpus/skills/cratis-screenplay-delivery-planning/SKILL.md +118 -0
  46. package/package/corpus/skills/cratis-screenplay-delivery-planning/references/parallel-delivery.md +45 -0
  47. package/package/corpus/skills/cratis-screenplay-delivery-planning/references/provenance.md +29 -0
  48. package/package/corpus/skills/cratis-screenplay-delivery-planning/references/slice-counting.md +43 -0
  49. package/package/corpus/skills/cratis-screenplay-delivery-planning/references/velocity-and-capacity.md +48 -0
  50. package/package/corpus/skills/cratis-screenplay-delivery-planning/verification.json +16 -0
  51. package/package/corpus/skills/cratis-screenplay-discovery/LICENSE +2 -2
  52. package/package/corpus/skills/cratis-screenplay-discovery/SKILL.md +6 -5
  53. package/package/corpus/skills/cratis-screenplay-discovery/references/divergent-sweep.md +1 -0
  54. package/package/corpus/skills/cratis-screenplay-discovery/references/domain-analysis-template.md +92 -0
  55. package/package/corpus/skills/cratis-screenplay-discovery/references/personas-and-causes.md +2 -2
  56. package/package/corpus/skills/cratis-screenplay-discovery/references/provenance.md +4 -3
  57. package/package/corpus/skills/cratis-screenplay-discovery/verification.json +1 -1
  58. package/package/corpus/skills/cratis-screenplay-event-modeling/LICENSE +2 -2
  59. package/package/corpus/skills/cratis-screenplay-event-modeling/SKILL.md +30 -29
  60. package/package/corpus/skills/cratis-screenplay-event-modeling/references/nine-steps.md +7 -5
  61. package/package/corpus/skills/cratis-screenplay-event-modeling/references/parsed-not-runnable.md +13 -10
  62. package/package/corpus/skills/cratis-screenplay-event-modeling/references/provenance.md +2 -3
  63. package/package/corpus/skills/cratis-screenplay-legacy-extraction/LICENSE +2 -2
  64. package/package/corpus/skills/cratis-screenplay-legacy-extraction/SKILL.md +26 -13
  65. package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/candidate-inventory.md +6 -1
  66. package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/generate-notes.md +7 -0
  67. package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/prologue-safety.md +22 -17
  68. package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/provenance.md +2 -3
  69. package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/rule-modeling.md +2 -2
  70. package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/side-car-migration.md +1 -0
  71. package/package/corpus/skills/cratis-screenplay-legacy-extraction/verification.json +1 -1
  72. package/package/corpus/skills/cratis-screenplay-model-authoring/SKILL.md +25 -25
  73. package/package/corpus/skills/cratis-screenplay-model-authoring/references/language-reference.md +8 -2
  74. package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-loop.md +8 -3
  75. package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-tools.md +38 -8
  76. package/package/corpus/skills/cratis-screenplay-model-authoring/references/property-links.md +126 -0
  77. package/package/corpus/skills/cratis-screenplay-model-authoring/references/screen-authoring-workflow.md +3 -4
  78. package/package/corpus/skills/cratis-screenplay-model-authoring/verification.json +1 -1
  79. package/package/corpus/skills/cratis-screenplay-model-review/LICENSE +2 -2
  80. package/package/corpus/skills/cratis-screenplay-model-review/SKILL.md +8 -8
  81. package/package/corpus/skills/cratis-screenplay-model-review/references/anti-patterns.md +2 -2
  82. package/package/corpus/skills/cratis-screenplay-model-review/references/checklist.md +4 -4
  83. package/package/corpus/skills/cratis-screenplay-model-review/references/model-inventory-report.md +75 -0
  84. package/package/corpus/skills/cratis-screenplay-model-review/references/provenance.md +3 -4
  85. package/package/corpus/skills/cratis-screenplay-model-review/references/public-keys-and-routes.md +1 -1
  86. package/package/corpus/skills/cratis-screenplay-model-review/references/worked-example.md +4 -3
  87. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/LICENSE +2 -2
  88. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/SKILL.md +7 -5
  89. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/core-rules-digest.md +131 -0
  90. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/phases.md +1 -1
  91. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/provenance.md +25 -4
  92. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/reasoning-notes.md +2 -2
  93. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/verdicts-and-modes.md +1 -1
  94. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/vocabulary-map.md +5 -4
  95. package/package/corpus/skills/cratis-screenplay-projections/SKILL.md +9 -5
  96. package/package/corpus/skills/cratis-screenplay-projections/references/pdl-grammar.md +4 -2
  97. package/package/corpus/skills/cratis-screenplay-read-surface/LICENSE +7 -0
  98. package/package/corpus/skills/cratis-screenplay-read-surface/SKILL.md +16 -8
  99. package/package/corpus/skills/cratis-screenplay-read-surface/references/provenance.md +21 -0
  100. package/package/corpus/skills/cratis-screenplay-read-surface/references/screen-patterns.md +130 -0
  101. package/package/corpus/skills/cratis-screenplay-read-surface/verification.json +1 -1
  102. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/LICENSE +2 -2
  103. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/SKILL.md +60 -47
  104. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/delivery-protocol.md +17 -2
  105. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/drift-and-ledger.md +19 -2
  106. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/gap-fill-handoff.md +24 -6
  107. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/provenance.md +2 -3
  108. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/renderability-gate.md +21 -16
  109. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/worked-example.md +34 -29
  110. package/package/corpus/skills/cratis-screenplay-scenario-coverage/LICENSE +2 -2
  111. package/package/corpus/skills/cratis-screenplay-scenario-coverage/SKILL.md +5 -4
  112. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/berth-reservations.md +1 -1
  113. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/invoicing-dues-design.md +5 -4
  114. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/invoicing-dues-example.md +32 -3
  115. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/provenance.md +3 -4
  116. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/scenario-catalogue.md +7 -6
  117. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/scenario-examples.md +3 -3
  118. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/scenario-workshop.md +15 -7
  119. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/spec-forms-by-mode.md +11 -10
  120. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/view-and-story-specs.md +6 -4
  121. package/package/corpus/skills/cratis-screenplay-slice-design/LICENSE +2 -2
  122. package/package/corpus/skills/cratis-screenplay-slice-design/SKILL.md +4 -3
  123. package/package/corpus/skills/cratis-screenplay-slice-design/references/command-inventory.md +2 -2
  124. package/package/corpus/skills/cratis-screenplay-slice-design/references/derived-condition-events.md +68 -0
  125. package/package/corpus/skills/cratis-screenplay-slice-design/references/field-lineage.md +1 -1
  126. package/package/corpus/skills/cratis-screenplay-slice-design/references/provenance.md +5 -5
  127. package/package/corpus/skills/cratis-screenplay-slice-design/references/read-model-design.md +17 -0
  128. package/package/corpus/skills/cratis-screenplay-slice-design/references/rule-layers.md +6 -6
  129. package/package/corpus/skills/cratis-screenplay-slice-design/references/worked-example.md +3 -3
  130. package/package/corpus/skills/cratis-screenplay-specifications/SKILL.md +7 -5
  131. package/package/corpus/skills/cratis-screenplay-specifications/references/examples-and-routes.md +4 -3
  132. package/package/corpus/skills/cratis-screenplay-specifications/references/generated-fixtures.md +3 -2
  133. package/package/corpus/skills/cratis-screenplay-specifications/references/persona-callers-and-cases.md +3 -0
  134. package/package/corpus/skills/cratis-screenplay-specifications/references/reactions-and-cascades.md +3 -2
  135. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/LICENSE +2 -2
  136. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/SKILL.md +14 -11
  137. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/boundaries.md +31 -3
  138. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/chronicle-boundaries.md +6 -6
  139. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/consistency-and-concurrency.md +12 -11
  140. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/evolution.md +18 -1
  141. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/provenance.md +4 -4
  142. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/stream-patterns.md +1 -1
  143. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/streams-example.md +1 -1
  144. package/package/corpus/skills/cratis-screenplay-toolchain/LICENSE +2 -2
  145. package/package/corpus/skills/cratis-screenplay-toolchain/SKILL.md +29 -18
  146. package/package/corpus/skills/cratis-screenplay-toolchain/references/cheat-sheet-example.md +3 -3
  147. package/package/corpus/skills/cratis-screenplay-toolchain/references/cheat-sheet.md +7 -4
  148. package/package/corpus/skills/cratis-screenplay-toolchain/references/diagnostics.md +21 -2
  149. package/package/corpus/skills/cratis-screenplay-toolchain/references/doc-contradictions.md +5 -3
  150. package/package/corpus/skills/cratis-screenplay-toolchain/references/executable-subset.md +32 -18
  151. package/package/corpus/skills/cratis-screenplay-toolchain/references/production-routes-and-filters.md +1 -1
  152. package/package/corpus/skills/cratis-screenplay-toolchain/references/provenance.md +3 -4
  153. package/package/corpus/skills/cratis-screenplay-toolchain/references/renderable-subset.md +46 -16
  154. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract-exceptions.json +1 -1
  155. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.json +1092 -17
  156. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.version +1 -1
  157. package/package/corpus/skills/cratis-screenplay-toolchain/references/sources-and-streams.md +1 -1
  158. package/package/corpus/skills/cratis-screenplay-toolchain/references/traps.md +8 -8
  159. package/package/corpus/skills/cratis-screenplay-toolchain/references/verdicts.md +18 -13
  160. package/package/corpus/skills/cratis-screenplay-toolchain/references/versions.md +41 -20
  161. package/package/corpus/skills/cratis-screenplay-toolchain/verification.json +7 -2
  162. package/package/corpus/skills/cratis-screenplay-ui-composition/LICENSE +2 -2
  163. package/package/corpus/skills/cratis-screenplay-ui-composition/SKILL.md +10 -10
  164. package/package/corpus/skills/cratis-screenplay-ui-composition/references/flow-review.md +1 -1
  165. package/package/corpus/skills/cratis-screenplay-ui-composition/references/provenance.md +2 -3
  166. package/package/corpus/skills/cratis-screenplay-ui-composition/references/screen-composition-contract.md +41 -16
  167. package/package/corpus/skills/cratis-screenplay-ui-composition/references/worked-flow.md +17 -9
  168. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/SKILL.md +85 -77
  169. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/admission.md +65 -16
  170. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/case-tables-and-whole-numbers.md +2 -2
  171. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/render-example.md +3 -1
  172. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/rendered-application.md +30 -15
  173. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/sandbox-and-specrunner.md +21 -1
  174. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/verification.json +9 -4
  175. package/package/profile-catalog.json +1 -0
  176. package/package.json +1 -1
@@ -5,35 +5,40 @@
5
5
  - Caller and compliance boundary (4.127.0)
6
6
  - Admitted on both compilers
7
7
  - Admitted from Screenplay 4.61 (ESM v6): standalone tool and cratis 3.28.2 or later
8
- - Generated values and responses (ESM v7): standalone 4.68.0 or later only
8
+ - Generated values and responses (ESM v7): standalone 4.68.0 or later; the cratis 3.53.1 bundle binds them too
9
9
  - Released public boundaries and observer routes
10
10
  - Code attachments (what binds, what never does)
11
11
  - Refused (code, reason): fix, or record as a mode gap
12
12
  - Not refused, but do not rely on it
13
13
  - Never do this to reach V3
14
14
 
15
- Current pins are Screenplay 4.135.0 / CLI 3.50.0 (`versions.md`). Detailed
15
+ Current pins: `versions.md`. Detailed
16
16
  4.66.0/4.68.0 binder probes below retain their historical labels. Current source
17
17
  admits routes as ESM v8, public/direction constructs as v9, identity/overrides/filters
18
- as v10 and qualifying non-route Double literals as v11. Operations,
19
- `numbers exact` source mode and reaction refusals/redelivery remain unadmitted. Use the actual
18
+ as v10, qualifying non-route Double literals as v11 (exact lowering of Double-mode literals)
19
+ and non-positional enum numbers as v12. Operations, the `numbers exact` **source mode** (PLAY0268) and
20
+ reaction refusals/redelivery remain unadmitted. Use the actual
20
21
  binder before promoting an older probe to a current capability claim.
21
22
 
22
23
  What the binder admits, and what it refuses with which code. The answer depends on the
23
- compiler version: standalone Screenplay 4.68.0 admits ESM v1 to v7; the 4.66.0 compiler bundled in
24
- cratis 3.28.2 and 3.28.3 admits v1 to v6; the 4.60.1 compiler bundled in cratis before 3.28.2 admits v1 to v5.
24
+ compiler version: the standalone tool (4.139.0) binds through v12; the compiler bundled in cratis
25
+ 3.53.1 (4.137.0) binds ESM through v10 for rendering and refuses non-positional enum numbers at
26
+ binding; older bundles (4.66.0 in cratis 3.28.x, admitting v1 to v6; 4.60.1 before 3.28.2, v1 to v5)
27
+ are history.
25
28
  Tool facts and the exact v6 messages: `versions.md`. Always name
26
29
  the tool with a V2 or V3 result. When tool and documentation disagree, the tool decides
27
30
  current capability; the documentation and the domain decide intended correctness. Record
28
31
  the gap, never strip the model to pass.
29
32
 
30
- Binding is observed only through MCP (`read-workspace view=executable-diagnostics`) or a
31
- render. `screenplay <folder>` and `cratis screenplay validate` never bind (`verdicts.md`).
33
+ Binding is observed through MCP (`read-workspace view=executable-diagnostics`), a render, or
34
+ `cratis screenplay validate --executable <root>` (bundled compiler; binding errors only, writes
35
+ nothing; exit 5 when it does not bind). `screenplay <folder>` and plain `cratis screenplay validate`
36
+ never bind (`verdicts.md`).
32
37
 
33
38
  Complete examples that bind live in `executable-example.md` (both compilers),
34
39
  `pdl-example.md` (projections, both compilers) and `automation-translate-example.md`
35
40
  (ESM v6; standalone tool and cratis 3.28.2 or later) and `generated-responses-example.md`
36
- (ESM v7; standalone tool 4.68.0 or later only).
41
+ (ESM v7; standalone tool 4.68.0 or later, and the cratis 3.53.1 bundle).
37
42
 
38
43
  ## Caller and compliance boundary (4.127.0)
39
44
 
@@ -94,7 +99,7 @@ Authority: v4.127.0 `context.md`, `identity.md`, `concepts.md`, `events.md`, `pu
94
99
  ...` with an explicit `for`. Without a declared actor, a gated invocation denies.
95
100
  On 4.125.0 reaction `runs as system role "<Role>"` supplies the actor and
96
101
  selects ESM v10; keep the gate. CLI 3.41.0's older compiler rejected this syntax;
97
- CLI 3.50.0's bundle supports it, but Stage refuses reaction identity with STAGE-ESM-034.
102
+ The pinned CLI bundle (`versions.md`) supports it, but Stage refuses reaction identity with STAGE-ESM-034.
98
103
  Standalone reference execution admits it.
99
104
  - Application `trigger` declarations and `when trigger` specifications.
100
105
  - `slice Translate` with `capture` (`key`, `map ... translate`, `append ... when x from "a"
@@ -106,13 +111,15 @@ Authority: v4.127.0 `context.md`, `identity.md`, `concepts.md`, `events.md`, `pu
106
111
  - Command specifications that list reaction cascades (no false PLAY0285).
107
112
  - In a `then` list after `when append`, only what followed the appended event.
108
113
 
109
- ## Generated values and responses (ESM v7): standalone 4.68.0 or later only
114
+ ## Generated values and responses (ESM v7): standalone 4.68.0 or later; the cratis 3.53.1 bundle binds them too
110
115
 
111
116
  Facts read at `v4.68.0`: decision 0026 and `Documentation/screenplay/{commands,specifications,interoperability}.md`.
112
117
  A model selects ESM v7 only when it uses a generated property, a response, a generated fixture or a `then returns`
113
118
  expectation; every other model keeps its version, bytes and revision. The cratis CLI 3.28.3 (bundled 4.66.0)
114
- reports `PLAY0268` for these constructs, and Stage 4.24.2 refuses ESM v7 with `STAGE-ESM-016` (tracked in
115
- Stage#201), so they bind and run but are not rendered: gap-fill with the model as contract. Complete example:
119
+ reported `PLAY0268` for these constructs (history). The current CLI (3.53.1, bundled 4.137.0) binds them
120
+ and reaches Stage planning, where Stage 4.73.1 refuses generated values with `STAGE-ESM-028` and
121
+ responses with `STAGE-ESM-029` (Stage#175), so they bind and run but are not rendered: gap-fill with the
122
+ model as contract. Complete example:
116
123
  `generated-responses-example.md`.
117
124
 
118
125
  - A generated property is command-only, required, scalar and a concept backed by `Uuid`; bare `Uuid`, optional and collection
@@ -153,6 +160,12 @@ filters match routed source/stream names only. Read
153
160
  Qualifying retained non-route Double literals bind/reference-execute as v11 on
154
161
  4.135.0, unlike `numbers exact`; see `versions.md`.
155
162
 
163
+ Non-positional enum member numbers bind as ESM v12 from 4.139.0; positional
164
+ pins preserve the earlier executable version/bytes. The optional canonical last
165
+ `numbers` array parallels `values`; specifications still use member names.
166
+ Consumers must admit v12 explicitly; CLI 3.53.1/Stage 4.73.1 do not. Syntax:
167
+ command-surface `references/enum-numbers.md`; version contract: `versions.md`.
168
+
156
169
  ## Code attachments (what binds, what never does)
157
170
 
158
171
  Inline fences (`csharp`, `typescript`, `react`, `html`, `sql`) and `file <path>` attach
@@ -181,8 +194,9 @@ bodies still leave their owner non-executable.
181
194
  `require`/`validate` bodies (`v4.66.0:Documentation/screenplay/commands.md`, `context.md`).
182
195
  - A handler therefore makes the slice non-executable and non-renderable: it is gap-fill
183
196
  with the model as the contract.
184
- - Stage 4.24 admits only pure reducer bodies (Roslyn allowlist, STAGE-ESM-019 and 022);
185
- code validation (STAGE-ESM-005) and opaque policies (STAGE-ESM-015) are refused.
197
+ - Stage admits only pure reducer bodies (Roslyn allowlist, STAGE-ESM-019 and 022);
198
+ code validation is refused (STAGE-ESM-005). Opaque pure policies render at Stage 4.73.1 (4.24
199
+ refused them with STAGE-ESM-015).
186
200
  - The reference runner returns Unsupported for the opaque bodies that do bind (rule and
187
201
  policy predicates, code validation, reducer transitions); a specification that needs one
188
202
  never passes. Handlers, file constraints and query performers (and reaction effects on a trigger with
@@ -196,8 +210,8 @@ bodies still leave their owner non-executable.
196
210
  | `Automation` or `Translate` slice, `reaction`, `capture`, `trigger`; `given clock`, `when clock`, `when trigger`, `when capture` | PLAY0268 | **cratis before 3.28.2 bundles only** (4.60.1); messages in `versions.md` |
197
211
  | Unquoted `import Other.Contract` | PLAY0268 | external contract import is not bound |
198
212
  | `pii` or `secret` on any concept (also alias/legacy markers) | PLAY0268 | Compliance requires portable data-subject semantics; scopes/qualifiers do not admit it. Secret provider mapping is `[Encrypted]` + `[NotAudited]`, not a bind/render claim |
199
- | `query` returning a collection (`RM[]`), or without exactly one caller-supplied scalar `by` | PLAY0268 | Current 4.135.0 boundary: composite `by` blocks remain unadmitted (#599); optional scalar snapshot lookup binds |
200
- | `observable`, `filter`, `scoped to`, `performer` queries | PLAY0268 | "uses delivery, filtering, scope, or implementation behavior outside the first ESM v1 vertical." `observable` goes in the return position (`=> observable RM optional`); as a body line it is PLAY0048 |
213
+ | `query` with a composite `by` block, or `by ... from` context-derived arguments | PLAY0268 | composite `by` blocks remain unadmitted (#599). An optional scalar snapshot lookup, an unfiltered list (`RM[]`) and a list narrowed by one caller-supplied `by` key bind, in their `observable` form too (since 4.105.0) |
214
+ | `filter`, `scoped to`, `performer` queries | PLAY0268 | "uses delivery, filtering, scope, or implementation behavior outside the first ESM v1 vertical." `observable` is not the blocker: it goes in the return position (`=> observable RM[]`); as a body line it is PLAY0048 |
201
215
  | `contains` or `starts with` in conditions | PLAY0268 | equality and numeric ordering only |
202
216
  | Date or DateTime comparison, `today` | PLAY0268 | no runtime date value |
203
217
  | Rule on a nested path (`lines.qty all > 0`) | PLAY0268 | put the rule on the nested value's concept |
@@ -216,7 +230,7 @@ bodies still leave their owner non-executable.
216
230
  | `$eventContext.occurred.Week` | PLAY0273 | derived value |
217
231
  | Projection `parent p` where `p` is not on the child event | PLAY0273 | "Event property not found" |
218
232
  | `generated` or `returns` on a compiler before 4.68.0 (4.66.0 and 4.67.0 refuse; 4.66.0 is bundled in cratis 3.28.x) | PLAY0268 | admitted from standalone 4.68.0 (ESM v7), see above |
219
- | Operations or systems, `numbers exact`, reaction refusals/redelivery | PLAY0268 | not admitted by any supported ESM version; one such construct leaves the **whole** application without an executable model. Event sources/streams/routes instead bind as ESM v8 on the current compiler (`sources-and-streams.md`) |
233
+ | Operations or systems, `numbers exact` source mode, reaction refusals/redelivery | PLAY0268 | not admitted by any supported ESM version; one such construct leaves the **whole** application without an executable model. Event sources/streams/routes instead bind as ESM v8 on the current compiler (`sources-and-streams.md`) |
220
234
  | Spec of a gated command or query without `given caller` | PLAY0389 | module and feature gates count |
221
235
  | `given` or `then readmodel` missing key parts | PLAY0351 | explicit `key` marks replace inference; composite fixtures need every part but remain unadmitted (#599) |
222
236
  | When-less spec asserting events or errors | PLAY0352 | |
@@ -108,7 +108,7 @@ contract. A consumer admitting v10 must include all three, not just identity.
108
108
  Composite **read-model** keys are separate and remain unadmitted (PLAY0268, #599).
109
109
 
110
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
111
+ The pinned CLI/Stage pair (`versions.md`) admits through v10 to construct checks: production overrides
112
112
  still refuse STAGE-ESM-036 and reaction filters STAGE-ESM-035; reducer filters render.
113
113
  A supported version number alone never proves target support or a passing render.
114
114
 
@@ -14,11 +14,10 @@ the file that holds it.
14
14
  | --- | --- | --- |
15
15
  | TrogonStack/agentskills `7b249d3ee42d8b7e11fa564141ebd5fbc37aadf1` (MIT, Copyright (c) 2025 Straw Hat, LLC) | none: no passage of this skill is adapted from it | no third-party notice needed in `LICENSE` |
16
16
 
17
- ## Adapted closely (Martin Dilger and Nebulit GmbH, with agreement)
17
+ ## Adapted closely (Martin Dilger and Nebulit GmbH)
18
18
 
19
19
  Source: https://github.com/Nebulit-GmbH/agentic-engineer at commit `07b0f30648d663cb588d7e2c7aa031af9dfc21f2`,
20
- by Martin Dilger and Nebulit GmbH (https://nebulit.de). The repository carries no licence file; this material
21
- is adapted with the agreement of Martin Dilger and Nebulit GmbH.
20
+ by Martin Dilger and Nebulit GmbH (https://nebulit.de), used with the explicit consent of Martin Dilger and Nebulit GmbH.
22
21
 
23
22
  | Source file | Used in | How |
24
23
  |---|---|---|
@@ -28,7 +27,7 @@ is adapted with the agreement of Martin Dilger and Nebulit GmbH.
28
27
 
29
28
  ## Sources read for facts
30
29
 
31
- - Current public/keys/routes/version update: Screenplay `v4.135.0` (`b4e46130`),
30
+ - Historical public/keys/routes/version source check: Screenplay `v4.135.0` (`b4e46130`),
32
31
  unchanged release contract, `Semantics/Versions.cs`, `Documentation/screenplay/{events,slices,captures,readmodels,queries,event-sources,diagnostics,interoperability}.md`,
33
32
  decisions 0049–0051 and 0060–0066. Composite view keys remain PLAY0268 (#599);
34
33
  v11 literal lowering is admitted despite interoperability's unreleased label.
@@ -2,13 +2,13 @@
2
2
 
3
3
  ## Contents
4
4
 
5
- - What Stage 4.24 admits
5
+ - Current admission (Stage 4.73.1)
6
+ - Historical: what Stage 4.24 admitted
6
7
  - Authoring consequences in renderable mode
7
8
  - Ownership, publication and recovery
8
9
  - Reading V5
9
10
 
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
11
+ Current compiler/CLI/Stage pins: `versions.md`. CLI/Stage admit through v10 to construct
12
12
  checks, not blanket rendering; above v10 is CLI-RENDER-004 (direct Stage:
13
13
  STAGE-ESM-016). v9 publication/foreign facts and v10 reaction identity,
14
14
  reaction filters and production overrides still refuse STAGE-ESM-032–036;
@@ -19,7 +19,9 @@ admitted only through v7 and applied neither newer rule. The historical v7 canon
19
19
  STAGE-ESM-028/029 for generated values/responses
20
20
  (`v3.41.0:Source/Cli.Specs/for_ScreenplayPlanning/when_planning_an_esm_v7_model.cs`).
21
21
  The following detailed Stage 4.24.x results are **historical**, not reverified
22
- 4.67.0 claims. Run the bundled renderer before asserting current renderability.
22
+ 4.73.1 claims. Non-positional enum numbers select v12 on standalone 4.139.0,
23
+ but the CLI's 4.137.0 compiler does not bind them and Stage does not admit v12.
24
+ Keep the pins and report the consumer gap. Run the bundled renderer before asserting current renderability.
23
25
 
24
26
  Historical sources, all read at tags: Stage v4.24.1 `Source/Rendering.Cratis/Semantics/SemanticSurfaceLedger.cs`
25
27
  (an exhaustive map of every ESM member to Rendered, Rejected(code) or Ignored),
@@ -29,12 +31,35 @@ render itself before claiming renderability: this table is a reading of the sour
29
31
  render result.
30
32
 
31
33
  Renderable is a strict subset of executable (`executable-subset.md`). Order of events in
32
- `cratis render`: the CLI binds the model with its **bundled Screenplay** (4.66.0 in cratis 3.28.2, so PLAY0268
33
- and friends appear first), then Stage admits or
34
- rejects members. An ESM v6 model binds but Stage refuses it whole with `STAGE-ESM-016`
35
- (probed on 3.28.2; an ESM v7 model with generated values or responses fails binding first on the bundled 4.66.0 with `PLAY0268`, and Stage 4.24.2 would refuse it with `STAGE-ESM-016` too, tracked in Stage#201; on before 3.28.2 it failed binding first, with PLAY0268).
34
+ `cratis render`: the CLI binds the **whole** model with its **bundled Screenplay** (4.137.0 in cratis
35
+ 3.53.1, so PLAY0268 and friends appear first, even with `--scope`), then Stage admits or rejects
36
+ members of the selected scope. (Historical, cratis 3.28.2: an ESM v6 model bound but Stage refused it
37
+ whole with `STAGE-ESM-016`.)
36
38
 
37
- ## What Stage 4.24 admits
39
+ ## Current admission (Stage 4.73.1)
40
+
41
+ Read at Stage `v4.73.1` (`Documentation/guides/build-renderer-target.md`, `SemanticVersionFeatures.cs`,
42
+ `SemanticCratisAdmission*.cs`) and cli `v3.53.1`; source reading, not a render run (the worked
43
+ example in `cratis-screenplay-render-and-gap-fill` was probed). Stage admits ESM v1 to v10 by
44
+ version; each construct it does not render refuses with its own code before any artifact is planned.
45
+
46
+ | Area | Renders at 4.73.1 | Refused (code) |
47
+ | --- | --- | --- |
48
+ | Slice kinds | `StateChange`, `StateView` | `Automation`, `Translate`, every reaction, capture, application trigger and clock specification (`STAGE-ESM-001`/`-024`); a reaction that both produces and invokes (`-037`, Stage#207; Arc 22.72.0+ can run it, and the scaffold's Arc 22.68.0 needs a proven override; hand-write one reactor, never split the reaction) |
49
+ | Queries | optional keyed snapshot lookups; observable collections, keyed or unkeyed (since 4.49.0) | a snapshot list: `STAGE-ESM-010`; `filter`, `scoped to`, `performer`, composite `by`: `PLAY0268` at binding |
50
+ | Authorization | role-only, authenticated, opaque pure policies, claim conditions with Uuid, Date, DateTime or text targets (numeric and Boolean claim matches render as always false; Stage 4.73.1 `IsSupportedClaimPath`), `not`/and/or; roles read through the identity's `RoleClaimType` | role-claim URIs, nested opaque policies, unresolved or non-portable policies, no single identifier, opaque-policy subjects that are not text, Uuid, Date or DateTime (`STAGE-ESM-015`; Stage 4.73.1 `IsTextualSubject`, a restriction separate from declarative claim targets) |
51
+ | Event sources, streams, routes (ESM v8) | rendered, with routed specifications | reserved stored names, unformattable routed fixtures, unsupported routed replay (`STAGE-ESM-030`) |
52
+ | Numbers, case tables | whole numbers as `long` from ESM v8; case tables | out-of-`int` literals below v8 (`STAGE-ESM-031`) |
53
+ | Generated values and responses (v7) | not rendered | `STAGE-ESM-028`/`-029` (Stage#175) |
54
+ | Specifications | as in Stage's `admission.md` | `then no readmodel` (`-027`); an unauthenticated caller carrying roles or claims, `$context.occurred`-derived fixed values asserted (`-011`) |
55
+ | v9 and v10 | reducer observer `from` filters | public events and event-target projections (`-032`); foreign origins and event-source captures (`-033`); directed Translate (`-024`); reaction `runsAs` (`-034`); reaction `from` filters (`-035`); per-production route overrides (`-036`) |
56
+ | Evolved events | initial revisions only | `STAGE-ESM-026` (Stage#204) |
57
+ | Descriptions, documentation | XML `<summary>`/`<remarks>` doc comments only (Stage#178 closed) | characters invalid in XML: `CLI-RENDER-005`; never behavior |
58
+
59
+ Still bind-refused (not Stage): `reads` and `concurrency` (`PLAY0271`), command `handler`s, `pii`/`secret`
60
+ (`PLAY0268`). Other rows of the table below that name 4.24 behavior are history.
61
+
62
+ ## Historical: what Stage 4.24 admitted
38
63
 
39
64
  Models using `eventsource`, `stream` or command routes are not renderable: they fail
40
65
  binding (`PLAY0268`) and Stage refuses their ESM version (`STAGE-ESM-016`); rendered
@@ -67,7 +92,7 @@ accepted with PLAY0565 information); either still refuses binding. Identity bloc
67
92
  purposes and event `subject` are authoring metadata, not provider realization;
68
93
  executing identity detail reads still refuses PLAY0268. Current source/stream
69
94
  routes are admitted as v8, including composite ids, not the historical binding
70
- refusal above; current CLI 3.50.0 reaches Stage's v8 route checks. Never split hand-joined
95
+ refusal above; the pinned CLI (`versions.md`) reaches Stage's v8 route checks. Never split hand-joined
71
96
  legacy ids or drop protected ids into routing to fit a renderer (PLAY0515).
72
97
 
73
98
  ## Authoring consequences in renderable mode
@@ -79,11 +104,14 @@ legacy ids or drop protected ids into routing to fit a renderer (PLAY0515).
79
104
  readmodel`). The seeded when-less `then query` only checks a lookup over a given read-model
80
105
  state; it proves no projection (Stage `SemanticSpecificationAdmission.Callers.cs`).
81
106
  - Use `$context.occurred` only; no `$context.identity.*` mappings.
82
- - A list is a design-only query and blocks binding, and so rendering, of the whole application on its own. A keyed `XById` sibling does not change that: while any list query remains, nothing in the model binds, runs or renders. Keep a list the domain needs and report the capability gap.
107
+ - A list query binds (unfiltered, or narrowed by one `by` key); Stage 4.73.1 renders it only as an
108
+ `observable` collection, and refuses a snapshot list with `STAGE-ESM-010`. `filter`, `scoped to` and
109
+ `performer` queries block binding of the whole application. Keep a list the domain needs and report
110
+ the capability gap; marking it `observable` or keying it is a modeling decision for the user.
83
111
  - A `handler` (with or without `implementation` or `hint`) never binds; the slice is
84
112
  gap-fill, never "customized into" rendering.
85
- - Descriptions and documentation are never rendered (Stage#178): a rule that exists only in
86
- prose is unenforced in rendered code.
113
+ - Descriptions and documentation render only as XML doc comments (Stage#178 closed), never as
114
+ behavior: a rule that exists only in prose is unenforced in rendered code.
87
115
 
88
116
  ## Ownership, publication and recovery
89
117
 
@@ -103,8 +131,9 @@ legacy ids or drop protected ids into routing to fit a renderer (PLAY0515).
103
131
  `Customizations/styles.css`. The planner never reads it, and it never binds a modeled
104
132
  reaction or capture. A customization never makes a rejected model renderable.
105
133
  - `cratis render` does **not** build, test or run the application.
106
- - Stage 4.51.3's scaffold pins .NET 10, Arc 22.50.5, Chronicle client/kernel 19.32.0
107
- and emits a `.frontend/` React/Vite app (Components 4.14.0, Scene 4.10.0).
134
+ - Stage 4.73.1's scaffold pins .NET 10, Arc 22.68.0, Chronicle client/kernel 19.45.0
135
+ and emits a `.frontend/` React/Vite app (Components 4.26.2, Scene 4.21.0); these are not the latest
136
+ releases (`cratis-stage-rendering-and-sandbox` `references/rendered-application.md`).
108
137
  `CratisEmbeddedScreenplayEnabled=false`; `Directory.Packages.props` is managed,
109
138
  never edit it. `[ProtectedDecision]` / `DecisionRead<T>` are available to gap-fill,
110
139
  not Stage-emitted enforcement; projection/key admission and unit-of-work enrollment
@@ -116,7 +145,8 @@ V5 is four separate results (admission, publication, build, tests), plus runtime
116
145
  was exercised; formats and the Debug-only spec classes are in `verdicts.md`. Three cases
117
146
  stay distinct: admission failure (nothing rendered); an existing generated base plus
118
147
  separately authorized hand-written gap-fill; and a fully hand-written delivery. Never claim a
119
- whole-application V5 from a subset. Drift: compare successive `.cratis-render.json`
148
+ whole-application V5 from a subset (`cratis render --scope` renders an admitted part; state the scope).
149
+ Drift: `cratis render ... --check` (CLI 3.44.0+; exit 6 means pending changes), or compare successive `.cratis-render.json`
120
150
  `semanticRevision` values from renders with the same `--name` and inputs (see `versions.md`,
121
151
  "Revisions and descriptions"); not the MCP `modelRevision`, not `open-workspace.revision`.
122
152
 
@@ -25,7 +25,7 @@
25
25
  "text": " remains on disk. On CLI 3.43.0: 9 requests and 9 responses, 37 tools,",
26
26
  "kind": "toolCount",
27
27
  "value": "37",
28
- "reason": "Measured CLI 3.43.0 transcript, whose bundled Screenplay 4.127.0 exposes 37 tools; the standalone pin's catalog has 38. Update with the transcript when the CLI bundle changes."
28
+ "reason": "Measured historical CLI 3.43.0 transcript, whose bundled Screenplay 4.127.0 exposes 37 tools. Current compiler and bundle pins are in references/versions.md; this count describes only that transcript. Remove when the transcript is removed or replaced."
29
29
  },
30
30
  {
31
31
  "file": ".cratis/ai/skills/cratis-screenplay-model-review/SKILL.md",