@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.
- package/package/corpus/agents/screenplay-modeler.md +1 -1
- package/package/corpus/agents/screenplay-renderer.md +1 -1
- package/package/corpus/agents/screenplay-reviewer.md +1 -1
- package/package/corpus/agents/slice-implementer.md +1 -1
- package/package/corpus/rules/profiles.md +1 -0
- package/package/corpus/skills/cratis-application-slice-conformance/LICENSE +2 -2
- package/package/corpus/skills/cratis-application-slice-conformance/SKILL.md +5 -0
- package/package/corpus/skills/cratis-application-slice-conformance/references/checklists.md +12 -0
- package/package/corpus/skills/cratis-application-slice-conformance/references/provenance.md +3 -4
- package/package/corpus/skills/cratis-application-slice-specifications/LICENSE +2 -2
- package/package/corpus/skills/cratis-application-slice-specifications/references/provenance.md +2 -3
- package/package/corpus/skills/cratis-arc-react-page/LICENSE +2 -2
- package/package/corpus/skills/cratis-arc-react-page/references/provenance.md +2 -3
- package/package/corpus/skills/cratis-chronicle-event-modeling/SKILL.md +12 -6
- package/package/corpus/skills/cratis-chronicle-reactor/LICENSE +2 -2
- package/package/corpus/skills/cratis-chronicle-reactor/SKILL.md +5 -2
- package/package/corpus/skills/cratis-chronicle-reactor/references/provenance.md +3 -3
- package/package/corpus/skills/cratis-chronicle-reactor/references/slice-delivery-checklist.md +93 -0
- package/package/corpus/skills/cratis-chronicle-read-model-specifications/LICENSE +2 -2
- package/package/corpus/skills/cratis-chronicle-read-model-specifications/SKILL.md +1 -1
- package/package/corpus/skills/cratis-chronicle-read-model-specifications/references/provenance.md +3 -3
- package/package/corpus/skills/cratis-chronicle-read-model-specifications/references/view-lifecycle-checks.md +79 -0
- package/package/corpus/skills/cratis-event-model-diagram/LICENSE +7 -0
- package/package/corpus/skills/cratis-event-model-diagram/SKILL.md +26 -2
- package/package/corpus/skills/cratis-event-model-diagram/references/provenance.md +19 -0
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/SKILL.md +16 -11
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/audit-format.md +1 -1
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/automation-patterns.md +7 -7
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/effects-and-idempotency.md +1 -1
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/provenance.md +5 -6
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/public-events-and-direction.md +2 -3
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/realization-and-gap-fill.md +9 -5
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/todo-list-example.md +6 -6
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/translate-example.md +1 -1
- package/package/corpus/skills/cratis-screenplay-captures-and-reactions/SKILL.md +16 -15
- package/package/corpus/skills/cratis-screenplay-captures-and-reactions/references/invocation-identity.md +2 -2
- package/package/corpus/skills/cratis-screenplay-command-surface/SKILL.md +20 -19
- package/package/corpus/skills/cratis-screenplay-command-surface/references/compliance.md +3 -1
- package/package/corpus/skills/cratis-screenplay-command-surface/references/context.md +1 -1
- package/package/corpus/skills/cratis-screenplay-command-surface/references/enum-numbers.md +93 -0
- package/package/corpus/skills/cratis-screenplay-command-surface/references/generated-values-and-responses.md +5 -6
- package/package/corpus/skills/cratis-screenplay-command-surface/references/validate-rules.md +4 -2
- package/package/corpus/skills/cratis-screenplay-delivery-planning/LICENSE +9 -0
- package/package/corpus/skills/cratis-screenplay-delivery-planning/SKILL.md +118 -0
- package/package/corpus/skills/cratis-screenplay-delivery-planning/references/parallel-delivery.md +45 -0
- package/package/corpus/skills/cratis-screenplay-delivery-planning/references/provenance.md +29 -0
- package/package/corpus/skills/cratis-screenplay-delivery-planning/references/slice-counting.md +43 -0
- package/package/corpus/skills/cratis-screenplay-delivery-planning/references/velocity-and-capacity.md +48 -0
- package/package/corpus/skills/cratis-screenplay-delivery-planning/verification.json +16 -0
- package/package/corpus/skills/cratis-screenplay-discovery/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-discovery/SKILL.md +6 -5
- package/package/corpus/skills/cratis-screenplay-discovery/references/divergent-sweep.md +1 -0
- package/package/corpus/skills/cratis-screenplay-discovery/references/domain-analysis-template.md +92 -0
- package/package/corpus/skills/cratis-screenplay-discovery/references/personas-and-causes.md +2 -2
- package/package/corpus/skills/cratis-screenplay-discovery/references/provenance.md +4 -3
- package/package/corpus/skills/cratis-screenplay-discovery/verification.json +1 -1
- package/package/corpus/skills/cratis-screenplay-event-modeling/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-event-modeling/SKILL.md +30 -29
- package/package/corpus/skills/cratis-screenplay-event-modeling/references/nine-steps.md +7 -5
- package/package/corpus/skills/cratis-screenplay-event-modeling/references/parsed-not-runnable.md +13 -10
- package/package/corpus/skills/cratis-screenplay-event-modeling/references/provenance.md +2 -3
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/SKILL.md +26 -13
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/candidate-inventory.md +6 -1
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/generate-notes.md +7 -0
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/prologue-safety.md +22 -17
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/provenance.md +2 -3
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/rule-modeling.md +2 -2
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/side-car-migration.md +1 -0
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/verification.json +1 -1
- package/package/corpus/skills/cratis-screenplay-model-authoring/SKILL.md +25 -25
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/language-reference.md +8 -2
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-loop.md +8 -3
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-tools.md +38 -8
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/property-links.md +126 -0
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/screen-authoring-workflow.md +3 -4
- package/package/corpus/skills/cratis-screenplay-model-authoring/verification.json +1 -1
- package/package/corpus/skills/cratis-screenplay-model-review/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-model-review/SKILL.md +8 -8
- package/package/corpus/skills/cratis-screenplay-model-review/references/anti-patterns.md +2 -2
- package/package/corpus/skills/cratis-screenplay-model-review/references/checklist.md +4 -4
- package/package/corpus/skills/cratis-screenplay-model-review/references/model-inventory-report.md +75 -0
- package/package/corpus/skills/cratis-screenplay-model-review/references/provenance.md +3 -4
- package/package/corpus/skills/cratis-screenplay-model-review/references/public-keys-and-routes.md +1 -1
- package/package/corpus/skills/cratis-screenplay-model-review/references/worked-example.md +4 -3
- package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/SKILL.md +7 -5
- package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/core-rules-digest.md +131 -0
- package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/phases.md +1 -1
- package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/provenance.md +25 -4
- package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/reasoning-notes.md +2 -2
- package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/verdicts-and-modes.md +1 -1
- package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/vocabulary-map.md +5 -4
- package/package/corpus/skills/cratis-screenplay-projections/SKILL.md +9 -5
- package/package/corpus/skills/cratis-screenplay-projections/references/pdl-grammar.md +4 -2
- package/package/corpus/skills/cratis-screenplay-read-surface/LICENSE +7 -0
- package/package/corpus/skills/cratis-screenplay-read-surface/SKILL.md +16 -8
- package/package/corpus/skills/cratis-screenplay-read-surface/references/provenance.md +21 -0
- package/package/corpus/skills/cratis-screenplay-read-surface/references/screen-patterns.md +130 -0
- package/package/corpus/skills/cratis-screenplay-read-surface/verification.json +1 -1
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/SKILL.md +60 -47
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/delivery-protocol.md +17 -2
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/drift-and-ledger.md +19 -2
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/gap-fill-handoff.md +24 -6
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/provenance.md +2 -3
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/renderability-gate.md +21 -16
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/worked-example.md +34 -29
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/SKILL.md +5 -4
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/berth-reservations.md +1 -1
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/invoicing-dues-design.md +5 -4
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/invoicing-dues-example.md +32 -3
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/provenance.md +3 -4
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/scenario-catalogue.md +7 -6
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/scenario-examples.md +3 -3
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/scenario-workshop.md +15 -7
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/spec-forms-by-mode.md +11 -10
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/view-and-story-specs.md +6 -4
- package/package/corpus/skills/cratis-screenplay-slice-design/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-slice-design/SKILL.md +4 -3
- package/package/corpus/skills/cratis-screenplay-slice-design/references/command-inventory.md +2 -2
- package/package/corpus/skills/cratis-screenplay-slice-design/references/derived-condition-events.md +68 -0
- package/package/corpus/skills/cratis-screenplay-slice-design/references/field-lineage.md +1 -1
- package/package/corpus/skills/cratis-screenplay-slice-design/references/provenance.md +5 -5
- package/package/corpus/skills/cratis-screenplay-slice-design/references/read-model-design.md +17 -0
- package/package/corpus/skills/cratis-screenplay-slice-design/references/rule-layers.md +6 -6
- package/package/corpus/skills/cratis-screenplay-slice-design/references/worked-example.md +3 -3
- package/package/corpus/skills/cratis-screenplay-specifications/SKILL.md +7 -5
- package/package/corpus/skills/cratis-screenplay-specifications/references/examples-and-routes.md +4 -3
- package/package/corpus/skills/cratis-screenplay-specifications/references/generated-fixtures.md +3 -2
- package/package/corpus/skills/cratis-screenplay-specifications/references/persona-callers-and-cases.md +3 -0
- package/package/corpus/skills/cratis-screenplay-specifications/references/reactions-and-cascades.md +3 -2
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/SKILL.md +14 -11
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/boundaries.md +31 -3
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/chronicle-boundaries.md +6 -6
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/consistency-and-concurrency.md +12 -11
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/evolution.md +18 -1
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/provenance.md +4 -4
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/stream-patterns.md +1 -1
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/streams-example.md +1 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-toolchain/SKILL.md +29 -18
- package/package/corpus/skills/cratis-screenplay-toolchain/references/cheat-sheet-example.md +3 -3
- package/package/corpus/skills/cratis-screenplay-toolchain/references/cheat-sheet.md +7 -4
- package/package/corpus/skills/cratis-screenplay-toolchain/references/diagnostics.md +21 -2
- package/package/corpus/skills/cratis-screenplay-toolchain/references/doc-contradictions.md +5 -3
- package/package/corpus/skills/cratis-screenplay-toolchain/references/executable-subset.md +32 -18
- package/package/corpus/skills/cratis-screenplay-toolchain/references/production-routes-and-filters.md +1 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/references/provenance.md +3 -4
- package/package/corpus/skills/cratis-screenplay-toolchain/references/renderable-subset.md +46 -16
- package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract-exceptions.json +1 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.json +1092 -17
- package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.version +1 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/references/sources-and-streams.md +1 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/references/traps.md +8 -8
- package/package/corpus/skills/cratis-screenplay-toolchain/references/verdicts.md +18 -13
- package/package/corpus/skills/cratis-screenplay-toolchain/references/versions.md +41 -20
- package/package/corpus/skills/cratis-screenplay-toolchain/verification.json +7 -2
- package/package/corpus/skills/cratis-screenplay-ui-composition/LICENSE +2 -2
- package/package/corpus/skills/cratis-screenplay-ui-composition/SKILL.md +10 -10
- package/package/corpus/skills/cratis-screenplay-ui-composition/references/flow-review.md +1 -1
- package/package/corpus/skills/cratis-screenplay-ui-composition/references/provenance.md +2 -3
- package/package/corpus/skills/cratis-screenplay-ui-composition/references/screen-composition-contract.md +41 -16
- package/package/corpus/skills/cratis-screenplay-ui-composition/references/worked-flow.md +17 -9
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/SKILL.md +85 -77
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/admission.md +65 -16
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/case-tables-and-whole-numbers.md +2 -2
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/render-example.md +3 -1
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/rendered-application.md +30 -15
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/sandbox-and-specrunner.md +21 -1
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/verification.json +9 -4
- package/package/profile-catalog.json +1 -0
- 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
|
|
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
|
|
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
|
|
19
|
-
`numbers exact` source mode and
|
|
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
|
|
24
|
-
|
|
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
|
|
31
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
115
|
-
|
|
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
|
|
185
|
-
code validation (STAGE-ESM-005)
|
|
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`
|
|
200
|
-
| `
|
|
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
|
|
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
|
|
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
|
|
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)
|
|
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
|
-
-
|
|
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
|
-
-
|
|
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:
|
|
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.
|
|
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.
|
|
33
|
-
and friends appear first), then Stage admits or
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
##
|
|
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;
|
|
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
|
|
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
|
|
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.
|
|
107
|
-
and emits a `.frontend/` React/Vite app (Components 4.
|
|
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
|
|
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
|
|
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",
|