@cratis/pi 7.29.0 → 7.30.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/skills/cratis-screenplay-automations-and-translations/SKILL.md +9 -4
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/audit-format.md +4 -2
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/automation-patterns.md +3 -3
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/provenance.md +5 -2
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/public-events-and-direction.md +137 -0
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/verification.json +5 -1
- package/package/corpus/skills/cratis-screenplay-captures-and-reactions/SKILL.md +15 -16
- package/package/corpus/skills/cratis-screenplay-captures-and-reactions/references/invocation-identity.md +4 -4
- package/package/corpus/skills/cratis-screenplay-captures-and-reactions/references/product-sources.md +15 -0
- package/package/corpus/skills/cratis-screenplay-captures-and-reactions/verification.json +3 -1
- package/package/corpus/skills/cratis-screenplay-command-surface/SKILL.md +8 -9
- package/package/corpus/skills/cratis-screenplay-command-surface/references/context.md +1 -1
- package/package/corpus/skills/cratis-screenplay-command-surface/references/generated-values-and-responses.md +4 -4
- package/package/corpus/skills/cratis-screenplay-event-modeling/SKILL.md +2 -2
- package/package/corpus/skills/cratis-screenplay-event-modeling/references/parsed-not-runnable.md +1 -1
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/generate-notes.md +2 -2
- package/package/corpus/skills/cratis-screenplay-model-authoring/SKILL.md +4 -4
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/language-reference.md +7 -1
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-tools.md +7 -2
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/screen-authoring-workflow.md +5 -3
- package/package/corpus/skills/cratis-screenplay-model-authoring/verification.json +1 -1
- package/package/corpus/skills/cratis-screenplay-model-review/SKILL.md +10 -11
- package/package/corpus/skills/cratis-screenplay-model-review/references/anti-patterns.md +1 -1
- package/package/corpus/skills/cratis-screenplay-model-review/references/public-keys-and-routes.md +32 -0
- package/package/corpus/skills/cratis-screenplay-model-review/verification.json +1 -0
- package/package/corpus/skills/cratis-screenplay-projections/SKILL.md +11 -0
- package/package/corpus/skills/cratis-screenplay-read-surface/SKILL.md +19 -16
- package/package/corpus/skills/cratis-screenplay-read-surface/references/named-keys.md +122 -0
- package/package/corpus/skills/cratis-screenplay-read-surface/verification.json +3 -0
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/SKILL.md +9 -6
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/gap-fill-handoff.md +3 -3
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/verification.json +1 -1
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/SKILL.md +11 -0
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/spec-forms-by-mode.md +2 -2
- package/package/corpus/skills/cratis-screenplay-slice-design/SKILL.md +32 -9
- package/package/corpus/skills/cratis-screenplay-slice-design/references/read-model-design.md +20 -13
- package/package/corpus/skills/cratis-screenplay-specifications/SKILL.md +12 -10
- package/package/corpus/skills/cratis-screenplay-specifications/references/examples-and-routes.md +3 -2
- package/package/corpus/skills/cratis-screenplay-specifications/references/source-notes.md +16 -0
- package/package/corpus/skills/cratis-screenplay-specifications/verification.json +2 -2
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/SKILL.md +2 -2
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/stream-patterns.md +2 -2
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/verification.json +1 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/SKILL.md +19 -10
- package/package/corpus/skills/cratis-screenplay-toolchain/references/cheat-sheet.md +12 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/references/diagnostics.md +55 -3
- package/package/corpus/skills/cratis-screenplay-toolchain/references/doc-contradictions.md +7 -4
- package/package/corpus/skills/cratis-screenplay-toolchain/references/executable-subset.md +30 -10
- package/package/corpus/skills/cratis-screenplay-toolchain/references/production-routes-and-filters.md +119 -0
- package/package/corpus/skills/cratis-screenplay-toolchain/references/provenance.md +8 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/references/renderable-subset.md +11 -5
- package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.json +813 -0
- 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 +7 -5
- package/package/corpus/skills/cratis-screenplay-toolchain/references/traps.md +6 -6
- package/package/corpus/skills/cratis-screenplay-toolchain/references/verdicts.md +6 -5
- package/package/corpus/skills/cratis-screenplay-toolchain/references/versions.md +56 -28
- package/package/corpus/skills/cratis-screenplay-toolchain/verification.json +7 -1
- package/package/corpus/skills/cratis-screenplay-ui-composition/references/screen-composition-contract.md +4 -3
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/SKILL.md +11 -12
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/admission.md +14 -3
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/case-tables-and-whole-numbers.md +8 -6
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/verification.json +3 -1
- package/package.json +1 -1
package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.
|
|
1
|
+
4.135.0
|
|
@@ -15,13 +15,15 @@ Sources, streams and command/specification routes bind and reference-execute as
|
|
|
15
15
|
`specifications.md`, `Versions.cs`; the complete example below compiled with
|
|
16
16
|
`--warnaserror` and passed `screenplay test` on 4.125.0.
|
|
17
17
|
|
|
18
|
-
CLI 3.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
CLI 3.50.0/Stage 4.67.0 admits through v10 to construct checks, including v8
|
|
19
|
+
routes. Routed read-model/query replay scenarios can still refuse STAGE-ESM-030;
|
|
20
|
+
run admission before promising parity. Previous CLI 3.46.1/Stage 4.52.0 refused
|
|
21
|
+
above v7 with CLI-RENDER-004. Keep routing intact when a target refuses it;
|
|
22
|
+
never remove routing to obtain a render. Pins: `versions.md`. Per-production
|
|
23
|
+
v10 overrides and observer filters: `production-routes-and-filters.md`.
|
|
22
24
|
|
|
23
25
|
The 4.68.0 historical binder refusal (`PLAY0268`, no admitted version then) is
|
|
24
|
-
not the current disposition. Systems/operations and exact
|
|
26
|
+
not the current disposition. Systems/operations and `numbers exact` source mode still report
|
|
25
27
|
PLAY0268; they are separate capabilities, not evidence against v8 routing.
|
|
26
28
|
|
|
27
29
|
## Declare and route
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Traps (one line each, with the fix)
|
|
2
2
|
|
|
3
|
-
Current pins: Screenplay 4.
|
|
3
|
+
Current pins: Screenplay 4.135.0 / CLI 3.50.0 (`versions.md`). Unless explicitly
|
|
4
4
|
updated below, [probed]/[source] rows retain their historical v4.66.0/CLI 3.28.2
|
|
5
5
|
scope; negative capability claims there are not current verdicts. Current routes
|
|
6
6
|
bind as v8, v7 reaches Stage planning, reference tests have CLI/MCP routes, and
|
|
@@ -15,9 +15,9 @@ exact numbers are documented in the grammar. Compiler syntax: `cheat-sheet.md`.
|
|
|
15
15
|
7. Current V1 warns on absent projection/children/nested targets (PLAY0514) and unknown removal/capture events (PLAY0166). Opt-in field-origins checks find unmapped declared fields (PLAY0534) where coverage is known; still walk lineage for skipped/opaque shapes.
|
|
16
16
|
8. Severity does not soften a rule: `severity warning` still rejects the command.
|
|
17
17
|
9. Authorization (module AND feature AND construct) runs before validation; unauthorized is `then denied`, never `then error`.
|
|
18
|
-
10. Without a declared actor an invocation is caller-less. At 4.125.0 declare reaction `runs as system role "<Role>"` (ESM v10), keep its gate, and reference-test the trusted path. The historical CLI 3.41.0/4.114.0 parser rejected this syntax (PLAY0137);
|
|
18
|
+
10. Without a declared actor an invocation is caller-less. At 4.125.0 declare reaction `runs as system role "<Role>"` (ESM v10), keep its gate, and reference-test the trusted path. The historical CLI 3.41.0/4.114.0 parser rejected this syntax (PLAY0137); previous CLI 3.46.1 refused v10 at its version gate; CLI 3.50.0/Stage 4.67.0 reaches construct checks but still refuses reaction identity (STAGE-ESM-034). Arc gap-fill uses `[ExecuteCommandsAsSystem]` for returned commands, not a fictional `given caller`.
|
|
19
19
|
11. A reaction `produces` without `for` lands on the trigger's event source; clock and application triggers need an explicit `for`.
|
|
20
|
-
12.
|
|
20
|
+
12. Explicit trailing `key` marks replace inference (never `identifier`); multipart read-model keys remain PLAY0268 (#599). Without marks, single-instance queries in the owning slice must agree on `by xId XId`, where `xId` is a read-model property. Only with no such identifier and an admitted list query does `*Id` inference run (collection-key exclusions: read-surface `references/named-keys.md`); queryless views need explicit `key`. The identifier equals the projection's effective key (table in slice-design `references/read-model-design.md`; full rule, including Stage's narrower admission and `STAGE-ESM-017`, in `cratis-stage-rendering-and-sandbox` `references/admission.md`). Never mark a read-model property `identifier`. (Without explicit `key`, PLAY0268 when identity inference is ambiguous or absent; PLAY0351 when a `given`/`then` readmodel block omits that property.)
|
|
21
21
|
13. Projection `key` routes only on `from` (projection-level: PLAY0381). `all` is per event source. Joins never create instances and match the joined event's source id. [probed]
|
|
22
22
|
14. AutoMap is on by default: same-named event properties fill read-model properties silently (scoped: case-insensitive, same type only; flat-bound: exact name, no type check, so a type mismatch invalidates the model). Use `no automap` for control.
|
|
23
23
|
15. `given readmodel` bypasses the projection; prove a projection with `given` events + `when append`/command + `then readmodel`/`then query`.
|
|
@@ -31,8 +31,8 @@ exact numbers are documented in the grammar. Compiler syntax: `cheat-sheet.md`.
|
|
|
31
31
|
23. `@` escapes are mandatory for `tag`, `authorize`, `produces`, `reads`, `file`, `validate`, `sequence`, `occurred`, `causedBy`, `namespace`, `correlation`, `causation`, and projection `key`/`parent`/`with` as names.
|
|
32
32
|
24. Canonicalizing edits can drop unplaceable comments (PLAY0288; inspect `droppedCommentCount`); keep durable rationale in fenced Markdown `documentation`, not `//`, and summaries in `description`. Documentation survives canonical printing but changes neither executable bytes nor `modelRevision`; it is not rendered code.
|
|
33
33
|
25. MCP writes: propose, review, approval, apply by the identity owner (the session that owns the MCP connection); other subagents return edit requests; proposals are connection-local, at most 16 (`cratis-screenplay-model-authoring`).
|
|
34
|
-
26. Operations/systems and exact
|
|
35
|
-
27. Translate
|
|
34
|
+
26. Operations/systems and `numbers exact` source mode remain unadmitted. Qualifying retained non-route Double literals instead select published v11 at 4.135.0. Sources/streams/routes bind as v8, public/direction forms v9, identity/overrides/filters v10. CLI 3.50.0 reaches Stage construct checks through v10; v11 needs explicit consumer admission. See `versions.md`.
|
|
35
|
+
27. Translate crosses the public boundary: inbound foreign/data to private local facts; outbound private facts to one local public type. Public metadata needs explicit direction; a quoted origin is an unverified store name, not a path. Commands never publish public events. In-app private follow-up is Automation; see public-events-and-direction in the method skill.
|
|
36
36
|
28. Personas drive the board: a persona must list every policy on the path, including module-level `IsAuthenticated`.
|
|
37
37
|
29. A sample's source check is not execution. Run selected admitted specifications through `screenplay test`/MCP; given==when clock still fires no scheduled occurrence.
|
|
38
38
|
30. Claims compare with `matches` (`claim "dept" matches "Finance"`); `==` is PLAY0120. Conditions with `contains`/`starts with` compile but do not bind. [probed]
|
|
@@ -42,7 +42,7 @@ exact numbers are documented in the grammar. Compiler syntax: `cheat-sheet.md`.
|
|
|
42
42
|
|
|
43
43
|
34. A `from <Event> key <property>` routes only if every such event carries that property: an event that frees or updates a row keyed by another stream's id must carry that id in its payload, or the row never changes. Whether the compiler reports a missing key property is unverified [to probe]; check by hand.
|
|
44
44
|
35. `description`/`documentation` are authoring metadata: board, MCP and Prologue show them; `cratis render` never does (Stage#178). A rule only in prose is unenforced in rendered code; make it a rule layer, a spec or a recorded target requirement.
|
|
45
|
-
36. One unadmitted construct (operations, exact
|
|
45
|
+
36. One unadmitted construct (operations, `numbers exact`, composite view keys, refusal/redelivery) blocks whole-model binding. Routing is admitted v8, unlike composite view keys (#599); current CLI admits through v10 to construct checks. Overrides replace the whole route, filters never match unrouted facts. Do not remove routing or authorization to render a model.
|
|
46
46
|
37. Personas remain outside ESM bytes, but 4.127.0 specifications accept `given caller as <Persona>`: one authenticated deterministic policy witness, not every matching caller. Inspect the chosen `or` branch; use explicit callers when synthesis is refused.
|
|
47
47
|
38. A rule that depends on stored state is `reads <View>` + `require <expr> message "..."` (stated intent; PLAY0268/0271 at binding are expected in design mode). The slice `description` must mark it NOT enforced in the model today (Screenplay#129/#209) and name the target: Arc `[ProtectedDecision]` + `DecisionRead<T>` (Arc v22.39.0 and later; available to gap-fill on Stage 4.51.3's Arc 22.50.5/Chronicle 19.32.0, not emitted protection), Chronicle DCB (`concurrency` scope), or a constraint where one fits. Forbidden: caller-supplied copies of state in `require`, boolean attestation inputs (`confirmsX == true`), rules hidden in `handler`/implementation-hint prose. An unguarded materialized read is unsafe for a protected decision.
|
|
48
48
|
|
|
@@ -28,7 +28,7 @@ V3 are read from the MCP server or from a render, V1 and V5 from the CLIs.
|
|
|
28
28
|
|
|
29
29
|
| Tool | Command | Pass | Fail |
|
|
30
30
|
| --- | --- | --- | --- |
|
|
31
|
-
| Standalone 4.
|
|
31
|
+
| Standalone 4.135.0 (preferred) | `screenplay <model-root> --warnaserror --no-color` | exit 0 and a nonzero compiled file count | exit 1 defects; exit 2 could not run/invalid arguments or input |
|
|
32
32
|
| cratis (fallback) | `cratis screenplay validate <model-folder> --warnings-as-errors -o json-compact` | exit 0 | exit 5; exit 1 means missing path or no files |
|
|
33
33
|
|
|
34
34
|
- Validate the complete application root, not an independently selected fragment.
|
|
@@ -85,8 +85,9 @@ never "specifications pass".
|
|
|
85
85
|
`secret`, authorization, list queries, automations or rules to reach V3; record the
|
|
86
86
|
slice and the code in the gap list.
|
|
87
87
|
- A model is executable only on the compiler that bound it. V3 does not carry
|
|
88
|
-
to render admission: CLI 3.
|
|
89
|
-
models
|
|
88
|
+
to render admission: CLI 3.50.0 passes through ESM v10 to Stage construct
|
|
89
|
+
checks; newer models receive CLI-RENDER-004. Public publication and reaction
|
|
90
|
+
identity/filters/production overrides still receive typed Stage refusals.
|
|
90
91
|
The old 3.28.x/Stage 4.24.x probes remain historical in the subset references.
|
|
91
92
|
|
|
92
93
|
## V4: reference specifications run
|
|
@@ -151,9 +152,9 @@ source change makes earlier verdicts stale.
|
|
|
151
152
|
|
|
152
153
|
Historical corpus fences were checked with standalone 4.68.0 and CLI 3.28.2.
|
|
153
154
|
Do not promote those results to current pins without rerunning. Check each changed
|
|
154
|
-
complete fence with standalone 4.
|
|
155
|
+
complete fence with standalone 4.135.0 `--warnaserror`; run `screenplay test` for
|
|
155
156
|
specification examples, and verify expected-diagnostic examples against their
|
|
156
|
-
claimed codes. Where bundle compatibility matters, also check CLI 3.
|
|
157
|
+
claimed codes. Where bundle compatibility matters, also check CLI 3.50.0.
|
|
157
158
|
The `// Needs the standalone screenplay compiler (ESM v6)` first-line marker belonged to cratis
|
|
158
159
|
before 3.28.2, which could not validate those fences; no fence carries it now, and a
|
|
159
160
|
checker that still skips marked fences under `cratis` skips nothing. Examples meant to execute are also opened through MCP and
|
|
@@ -17,10 +17,10 @@ probe; older probes retain their original labels in the other references.
|
|
|
17
17
|
|
|
18
18
|
| Source | Pin | Evidence |
|
|
19
19
|
| --- | --- | --- |
|
|
20
|
-
| Screenplay language, standalone tool and MCP | **4.
|
|
21
|
-
| cratis CLI | **3.
|
|
22
|
-
| Screenplay bundled by CLI | **4.
|
|
23
|
-
| Stage bundled by CLI | **4.
|
|
20
|
+
| Screenplay language, standalone tool and MCP | **4.135.0** (`b4e46130`) | Released tag `v4.135.0` and its unchanged published contract |
|
|
21
|
+
| cratis CLI | **3.50.0** (`546dea12`) | Released tag `v3.50.0`; source-checked, not a new render/browser probe |
|
|
22
|
+
| Screenplay bundled by CLI | **4.131.0** | CLI `v3.50.0:Directory.Packages.props`; includes `semantic-diff` source objects, not v11 literal lowering |
|
|
23
|
+
| Stage bundled by CLI | **4.67.0** | Same file; renderer and default sandbox image use the same Stage release |
|
|
24
24
|
| Cratis.Arc.Screenplay bundled by CLI | **22.54.0** | Same file; this is the generator package, not a blanket rendered-app dependency pin |
|
|
25
25
|
| Chronicle / Fundamentals bundled by CLI | **19.32.0 / 7.22.8** | Same file |
|
|
26
26
|
| Historical Stage 4.51.3 rendered backend | **Arc 22.50.5 / Chronicle 19.32.0** | Stage `v4.51.3:Source/Rendering.Cratis/Scaffolding/CratisBackendApplicationScaffoldProfile.cs`; client/testing/image match; scaffold disables embedded reverse extraction |
|
|
@@ -44,7 +44,7 @@ or renderer probes below as results from the newer bundle.
|
|
|
44
44
|
|
|
45
45
|
## Two compilers, one rule
|
|
46
46
|
|
|
47
|
-
Standalone Screenplay 4.
|
|
47
|
+
Standalone Screenplay 4.135.0 and CLI 3.50.0's 4.131.0 bundle are different releases.
|
|
48
48
|
Prefer standalone for the current language checks; CLI owns generation, Prologue
|
|
49
49
|
and rendering. Name the tool/version with every verdict. No verdict transfers
|
|
50
50
|
between differing compilers without checking the same inputs there.
|
|
@@ -76,35 +76,63 @@ for identity-stable selection.
|
|
|
76
76
|
|
|
77
77
|
## Admission boundaries
|
|
78
78
|
|
|
79
|
-
Screenplay `v4.
|
|
80
|
-
pairs through
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
79
|
+
Screenplay `v4.135.0:Source/DotNET/Screenplay/Semantics/Versions.cs` supports
|
|
80
|
+
schema pairs through v11. Admission selects by use:
|
|
81
|
+
|
|
82
|
+
- v7: generated values/responses and policy negation.
|
|
83
|
+
- v8: sources/streams and command/specification routes.
|
|
84
|
+
- **Released v9 (4.117.0):** public events/origins, Translate direction,
|
|
85
|
+
event-target projections/reducers and events-source captures. Publication folds
|
|
86
|
+
reference-execute; captures and reached opaque reducers return typed Unsupported.
|
|
87
|
+
Public/foreign imports without local shapes remain PLAY0268. See
|
|
88
|
+
automations-and-translations `references/public-events-and-direction.md`.
|
|
89
|
+
- **Released, frozen v10:** reaction `runs as system [role "<Role>"]` first
|
|
90
|
+
shipped in 4.125.0; production route overrides and observer filters shipped in
|
|
91
|
+
4.129.0. Marked released by #647 in 4.133.2. Decision 0066 records the shipped
|
|
92
|
+
extension as a retroactive exception: consumers admit all three together.
|
|
93
|
+
Checked actor scenario: captures-and-reactions `references/invocation-identity.md`;
|
|
94
|
+
route/filter contract: [production routes and filters](production-routes-and-filters.md).
|
|
95
|
+
- **Published v11 in 4.135.0:** qualifying retained non-route Double-mode literals
|
|
96
|
+
select v11 and execute with corrected decimal lowering (decision 0064). This
|
|
97
|
+
includes whole numbers such as `9007199254740991` and qualifying fractions;
|
|
98
|
+
unused/overridden examples and validation-only values do not select it.
|
|
99
|
+
Already-lossless routes/route-feeding inputs do not select v11. This does not
|
|
100
|
+
admit `numbers exact` source mode or arbitrary precision. At this tag,
|
|
101
|
+
interoperability documentation still says "claimed, unreleased"; this corpus
|
|
102
|
+
follows Versions.cs and decision 0066's publication boundary.
|
|
103
|
+
|
|
104
|
+
Decision 0066 freezes a version when any exposing NuGet/npm package is published,
|
|
105
|
+
including prereleases. Later byte-changing features take the next version at
|
|
106
|
+
admission; a byte-preserving extension under 0004 is the exception. Published
|
|
107
|
+
numbers never change or get reused. Enum member numbers (decision 0065) remain
|
|
108
|
+
unimplemented/unadmitted and have no numbered claim. Concept generation strategies
|
|
109
|
+
and freshness (decision 0054, #616) are accepted but not implemented. Operations,
|
|
110
|
+
exact source numeric mode and reaction refusals/redelivery remain PLAY0268.
|
|
111
|
+
Composite read-model keys/query blocks are also still PLAY0268 (#599), not
|
|
112
|
+
admitted by the 4.129.0 authoring delivery; a single explicit key preserves bytes.
|
|
113
|
+
Never delete these contracts to obtain a green bind.
|
|
114
|
+
|
|
115
|
+
CLI 3.50.0 `RenderedSemanticVersions.Newest` is **v10**:
|
|
116
|
+
`Source/Cli/Commands/Render/RenderedSemanticVersions.cs`. Stage 4.67.0 uses
|
|
117
|
+
EsmSchemaV10Support in `SemanticVersionFeatures.cs` and construct checks in
|
|
118
|
+
`SemanticVersionFeatureAdmission.cs`. v11 gets CLI-RENDER-004 before planning
|
|
119
|
+
(and STAGE-ESM-016 at the direct Stage version gate). Through v10 is not blanket
|
|
120
|
+
render support: public publication STAGE-ESM-032, foreign events/event captures
|
|
121
|
+
033, reaction identity 034, reaction filters 035 and production overrides 036
|
|
122
|
+
remain refused; reducer filters render. ESM v8 routes reach their own checks.
|
|
123
|
+
Previous CLI 3.46.1/Stage 4.52.0 admitted only through v7 (CLI-RENDER-004 and
|
|
124
|
+
STAGE-ESM-016 respectively). Historical CLI 3.41.0/Screenplay 4.114.0 rejected
|
|
125
|
+
`runs as` at parsing (PLAY0137, exit 5), not a current parser claim. Each unsupported
|
|
126
|
+
construct needs a diagnostic, not silent omission or guessed package support.
|
|
100
127
|
|
|
101
128
|
The renderable-subset and Stage references retain older probes explicitly;
|
|
102
129
|
read them as tested snapshots, not as a claim that Stage 4.52.0 shares every
|
|
103
130
|
4.24.2 limitation. Query the actual bundled renderer before a V5 claim.
|
|
104
131
|
|
|
105
132
|
Stage case tables require 4.59.0; ESM v8 whole numbers as `long` and the
|
|
106
|
-
pre-v8 out-of-`int` refusal STAGE-ESM-031 require 4.61.0. CLI 3.
|
|
107
|
-
to Stage 4.
|
|
133
|
+
pre-v8 out-of-`int` refusal STAGE-ESM-031 require 4.61.0. CLI 3.50.0 defaults
|
|
134
|
+
to Stage 4.67.0, so both rules apply. Previous CLI 3.46.1 bundled Screenplay
|
|
135
|
+
4.130.0 and Stage 4.52.0; neither rule applied there. `cratis run --tag 4.63.2`
|
|
108
136
|
selects a newer sandbox image only (`RunSettings.cs`), not a renderer package.
|
|
109
137
|
`cratis render` has a statically bundled target (`RenderSettings.cs`,
|
|
110
138
|
`CratisRenderTarget.cs`); a newer renderer needs a CLI release that pins it.
|
|
@@ -3,8 +3,14 @@
|
|
|
3
3
|
"input": "Check a Screenplay model folder: which compiler should I run, what do V1 to V3 mean, and what does the cratis CLI do with my Automation slice?",
|
|
4
4
|
"fixtures": [],
|
|
5
5
|
"assertions": [
|
|
6
|
+
{ "kind": "skill-contains", "value": "PLAY0614", "file": "references/diagnostics.md" },
|
|
7
|
+
{ "kind": "skill-contains", "value": "PLAY0666", "file": "references/diagnostics.md" },
|
|
8
|
+
{ "kind": "skill-contains", "value": "Published v11", "file": "references/versions.md" },
|
|
9
|
+
{ "kind": "skill-contains", "value": "Decision 0066 freezes", "file": "references/versions.md" },
|
|
10
|
+
{ "kind": "skill-contains", "value": "Composite read-model keys/query blocks are also still PLAY0268", "file": "references/versions.md" },
|
|
11
|
+
{ "kind": "skill-contains", "value": "the **whole source, stream and stream id**", "file": "references/production-routes-and-filters.md" },
|
|
6
12
|
{ "kind": "play-compiles" },
|
|
7
|
-
{ "kind": "skill-contains", "value": "4.
|
|
13
|
+
{ "kind": "skill-contains", "value": "4.135.0" },
|
|
8
14
|
{ "kind": "skill-contains", "value": "PLAY0653", "file": "references/diagnostics.md" },
|
|
9
15
|
{ "kind": "skill-contains", "value": "PLAY0646", "file": "references/diagnostics.md" },
|
|
10
16
|
{ "kind": "skill-contains", "value": "PLAY0595", "file": "references/diagnostics.md" },
|
|
@@ -36,9 +36,10 @@ the package/version you are using proves the new level. Historical verified vect
|
|
|
36
36
|
CLI 3.43.0 with its default `cratis/stage:4.52.0` and bundled Screenplay 4.127.0;
|
|
37
37
|
the executed vector renders on Scene 4.15.0. Packages published since are newer than
|
|
38
38
|
that vector and are not claimed verified: Scene 4.17.0, Screenplay 4.133.1, Stage
|
|
39
|
-
4.64.0, CLI 3.46.1 (bundled Screenplay 4.130.0; its default Stage
|
|
40
|
-
Studio 0.152.2.
|
|
41
|
-
|
|
39
|
+
4.64.0, previous CLI 3.46.1 (bundled Screenplay 4.130.0; its then-default Stage was
|
|
40
|
+
4.52.0) and Studio 0.152.2. Current pins are CLI 3.50.0 (Screenplay 4.131.0 / Stage
|
|
41
|
+
4.67.0) and standalone Screenplay 4.135.0; see toolchain `references/versions.md`.
|
|
42
|
+
All three levels hold for the canonical `ScreenComposition` corpus on the historical vector:
|
|
42
43
|
|
|
43
44
|
- authoring and executable admission: MCP opens it with `sourceSuccess true`,
|
|
44
45
|
`semanticSuccess true`, `executableReady true`, and the stdio MCP harness sends
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cratis-stage-rendering-and-sandbox
|
|
3
|
-
description: "What Cratis Stage and `cratis render` actually do with a Screenplay `.play` model today: the
|
|
3
|
+
description: "What Cratis Stage and `cratis render` actually do with a Screenplay `.play` model today: the model shape Stage 4.67 admits and refuses (`STAGE-ESM-*`, `PLAY0268` render refusals), what it emits (C# Arc/Chronicle backend, React/Vite scaffold with Arc `CommandForm` shell emission over Scene 4.12 typed bindings, Debug specifications), managed publication, `--force` and recovery, authored-UI omission/parity checks, the unmanaged `Customizations/` seam, and the `cratis/stage` sandbox and `cratis/stage-specrunner` job. Use when deciding whether Stage can render a model, reading a blocked render, re-rendering safely, checking generated/runtime screen parity, or running the sandbox. Not for: authoring the model (use `cratis-screenplay-model-authoring`) or the render and gap-fill workflow (use `cratis-screenplay-render-and-gap-fill`)."
|
|
4
4
|
license: MIT
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -42,9 +42,9 @@ argument or an invalid semantic option.
|
|
|
42
42
|
|
|
43
43
|
| Source | Pin | Notes |
|
|
44
44
|
| --- | --- | --- |
|
|
45
|
-
| Stage | `4.
|
|
46
|
-
| cratis CLI | `3.
|
|
47
|
-
| Screenplay | bundled `4.
|
|
45
|
+
| Stage | `4.67.0` as CLI 3.50.0's renderer and default sandbox image | Source-checked, not a new executed vector. Case tables (4.59.0+) and whole numbers as `long` from ESM v8 (4.61.0+) apply to this default. Previous CLI 3.46.1 used Stage 4.52.0 (`0e4fd87`) and applied neither. Stage 4.52.0 defines `STAGE-SCENE-ACTION-001`/`STAGE-SCENE-INTERACTION-001` and was executed on CLI 3.43.0. Earlier executed baselines: 4.51.3, 4.51.1, 4.49.5 and `v4.24.2` (`32dcac4`) |
|
|
46
|
+
| cratis CLI | `3.50.0` (`546dea12`) | `v3.50.0:Directory.Packages.props` pins Stage 4.67.0, Screenplay 4.131.0, Arc.Screenplay 22.54.0, Chronicle 19.32.0, Fundamentals 7.22.8. `cratis run --tag` changes only the sandbox image. Executed render/browser/MCP baseline remains 3.43.0 (Stage 4.52.0, Screenplay 4.127.0), not a 3.50.0 probe; UI-profile refusal and rendered recovery shipped in Cratis/cli#301. Older baselines: 3.41.0, 3.40.7, `v3.28.2` (`141c499`, Cratis/cli#253) |
|
|
47
|
+
| Screenplay | bundled `4.131.0`; standalone pin `4.135.0` | Name the compiler: bundled 4.131.0 lacks v11 literal lowering; `semantic-diff` source objects are in both current tools |
|
|
48
48
|
| Rendered applications | Arc, Chronicle, Scene 4.15.0, .NET 10 | CLI 3.43.0 renders the canonical corpus to `.cratis-render.json`, backend artifacts, `.frontend/**`, `scene.json`, `src/bindings.ts`. Verify the generated package set for each render before claiming exact Scene runtime parity |
|
|
49
49
|
|
|
50
50
|
The retained admission and runtime evidence below was read at its named tags (`Source/Rendering.Cratis/**`, `README.md`,
|
|
@@ -140,13 +140,11 @@ Facts that surprise:
|
|
|
140
140
|
|
|
141
141
|
## Historical Stage 4.24 admission
|
|
142
142
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
only through v7 (STAGE-ESM-016 otherwise). Source/identity contracts
|
|
149
|
-
stay intact for gap-fill; source acceptance is not target admission.
|
|
143
|
+
CLI 3.50.0/Stage 4.67.0 reaches construct checks through v10; v11 gets
|
|
144
|
+
CLI-RENDER-004 (direct Stage: STAGE-ESM-016). Public/foreign events, reaction
|
|
145
|
+
identity/filters and production overrides still refuse. Reducer filters render.
|
|
146
|
+
Read [admission](references/admission.md) for STAGE-ESM-032–036 and previous
|
|
147
|
+
CLI/version boundaries. Source acceptance is not V5; keep contracts for gap-fill.
|
|
150
148
|
|
|
151
149
|
The following detailed 4.24.x probes are historical, not current pin claims.
|
|
152
150
|
|
|
@@ -200,7 +198,8 @@ Stage 4.59.0+ expands a case table to effective `<Specification>_<Case>` names
|
|
|
200
198
|
and one generated class per case; normalized path collisions refuse the plan
|
|
201
199
|
with `STAGE-CRATIS-004`. Failed case results include the case and effective fixtures.
|
|
202
200
|
Stage 4.61.0+ renders whole numbers as `long` from ESM v8, retains `int` below
|
|
203
|
-
v8 and refuses out-of-`int` literals there with `STAGE-ESM-031`. CLI 3.
|
|
201
|
+
v8 and refuses out-of-`int` literals there with `STAGE-ESM-031`. CLI 3.50.0's
|
|
202
|
+
Stage 4.67.0 default applies both rules. Previous CLI 3.46.1's
|
|
204
203
|
Stage 4.52.0 renderer applies neither new rule. Read
|
|
205
204
|
[case tables and whole numbers](references/case-tables-and-whole-numbers.md)
|
|
206
205
|
for complete examples, stored-schema consequences and the sandbox-only `--tag` override.
|
|
@@ -10,9 +10,20 @@
|
|
|
10
10
|
- Source disagreements (trust the code)
|
|
11
11
|
|
|
12
12
|
Current pins are in `cratis-screenplay-toolchain` `references/versions.md`:
|
|
13
|
-
Standalone Screenplay is 4.
|
|
14
|
-
4.
|
|
15
|
-
It admits through ESM
|
|
13
|
+
Standalone Screenplay is 4.135.0; CLI 3.50.0 bundles Stage 4.67.0 / Screenplay
|
|
14
|
+
4.131.0 / Arc.Screenplay 22.54.0 / Chronicle 19.32.0 / Fundamentals 7.22.8.
|
|
15
|
+
It admits through ESM v10 to construct planning; above v10 is CLI-RENDER-004.
|
|
16
|
+
Stage 4.67.0 `SemanticVersionFeatures`/`SemanticVersionFeatureAdmission` refuse
|
|
17
|
+
public publication (STAGE-ESM-032), foreign events/events-source captures (033),
|
|
18
|
+
reaction identity (034), reaction filters (035) and production overrides (036).
|
|
19
|
+
Reducer filters render. ESM v8 routes have construct checks including refusal of
|
|
20
|
+
route-bearing read-model/query replay scenarios (STAGE-ESM-030); admitted routes
|
|
21
|
+
are not blanket scenario parity. Case tables and whole numbers as long apply to
|
|
22
|
+
the default; see `case-tables-and-whole-numbers.md`. Previous CLI 3.46.1's Stage
|
|
23
|
+
4.52.0 audited only through v7 and applied neither new rule. Current version
|
|
24
|
+
checks are CLI `RenderedSemanticVersions.Newest` and Stage
|
|
25
|
+
`SemanticVersionFeatures.Supports`. The historical CLI 3.41.0/Screenplay 4.114.0
|
|
26
|
+
parser rejected `runs as` with PLAY0137; that is not a current parser refusal.
|
|
16
27
|
The historical CLI 3.41.0 v7 canonical-corpus planning spec received
|
|
17
28
|
STAGE-ESM-028/029 for generated values/responses.
|
|
18
29
|
The detailed 4.24.x source/probe rows below have not been relabeled as current
|
|
@@ -12,11 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
## CLI default versus Stage release
|
|
14
14
|
|
|
15
|
-
CLI 3.
|
|
16
|
-
applies
|
|
17
|
-
|
|
18
|
-
and
|
|
19
|
-
|
|
15
|
+
CLI 3.50.0 bundles Screenplay 4.131.0 and Stage 4.67.0. Its default renderer
|
|
16
|
+
applies case-table support introduced in Stage 4.59.0 and the whole-number rule
|
|
17
|
+
introduced in 4.61.0: v8+ whole numbers use `long`, earlier versions keep `int`.
|
|
18
|
+
CLI and Stage admit through v10 to construct checks; newer versions receive
|
|
19
|
+
CLI-RENDER-004 before planning (direct Stage: STAGE-ESM-016).
|
|
20
|
+
Previous CLI 3.46.1 bundled Screenplay 4.130.0/Stage 4.52.0, applied neither rule,
|
|
21
|
+
and refused above v7. A standalone compiler does not upgrade the bundled renderer.
|
|
20
22
|
|
|
21
23
|
`cratis run ./model --tag 4.63.2` selects a newer **sandbox image**; it does not
|
|
22
24
|
change `cratis render`. The renderer is statically bundled and has no Stage
|
|
@@ -122,6 +124,6 @@ Chronicle event generation; changing model version is not a safe schema migratio
|
|
|
122
124
|
- Stage `v4.61.0`: `Source/Rendering.Cratis/Semantics/SemanticTypeSystem.cs`,
|
|
123
125
|
`SemanticCratisAdmission.WholeNumbers.cs` and
|
|
124
126
|
`Source/Rendering.Cratis/Semantics/for_SemanticCratisAdmission/when_admitting_whole_number_literals/with_a_pre_v8_model.cs`.
|
|
125
|
-
- CLI `v3.46.1
|
|
127
|
+
- CLI `v3.50.0` (previous bundle `v3.46.1`): `Directory.Packages.props`,
|
|
126
128
|
`Source/Cli/Commands/Render/{RenderSettings,CratisRenderTarget,RenderedSemanticVersions}.cs`,
|
|
127
129
|
`Source/Cli/Commands/Run/{RunSettings,StageContainer}.cs`.
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
"input": "Can Stage render this Screenplay model, and how do I re-render it safely after someone edited Program.cs?",
|
|
4
4
|
"fixtures": [],
|
|
5
5
|
"assertions": [
|
|
6
|
+
{ "kind": "skill-contains", "value": "Stage 4.67.0 default applies both rules" },
|
|
7
|
+
{ "kind": "skill-contains", "value": "Reducer filters render" },
|
|
6
8
|
{ "kind": "play-compiles" },
|
|
7
9
|
{ "kind": "skill-contains", "value": "`cratis render`" },
|
|
8
10
|
{ "kind": "skill-contains", "value": "`--name <NAME>` | **Required for plain source**" },
|
|
@@ -16,7 +18,7 @@
|
|
|
16
18
|
{ "kind": "skill-contains", "value": "`Customizations/`" },
|
|
17
19
|
{ "kind": "skill-contains", "value": "`Stage__Runtime__Engine=semantic`" },
|
|
18
20
|
{ "kind": "skill-contains", "value": "`--engine semantic`" },
|
|
19
|
-
{ "kind": "skill-contains", "value": "
|
|
21
|
+
{ "kind": "skill-contains", "value": "through v10" },
|
|
20
22
|
{ "kind": "skill-contains", "value": "CLI-RENDER-004" },
|
|
21
23
|
{ "kind": "skill-contains", "value": "STAGE-ESM-024" },
|
|
22
24
|
{ "kind": "skill-contains", "value": "`v4.24.2`" },
|