@cratis/pi 7.31.0 → 7.33.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 (54) hide show
  1. package/package/corpus/skills/cratis-screenplay-automations-and-translations/SKILL.md +2 -2
  2. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/audit-format.md +1 -1
  3. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/automation-patterns.md +2 -2
  4. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/provenance.md +3 -3
  5. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/public-events-and-direction.md +2 -2
  6. package/package/corpus/skills/cratis-screenplay-captures-and-reactions/SKILL.md +2 -2
  7. package/package/corpus/skills/cratis-screenplay-captures-and-reactions/references/invocation-identity.md +2 -2
  8. package/package/corpus/skills/cratis-screenplay-command-surface/SKILL.md +8 -6
  9. package/package/corpus/skills/cratis-screenplay-command-surface/references/compliance.md +40 -0
  10. package/package/corpus/skills/cratis-screenplay-command-surface/references/context.md +1 -1
  11. package/package/corpus/skills/cratis-screenplay-command-surface/references/enum-numbers.md +93 -0
  12. package/package/corpus/skills/cratis-screenplay-command-surface/references/generated-values-and-responses.md +3 -4
  13. package/package/corpus/skills/cratis-screenplay-event-modeling/SKILL.md +3 -2
  14. package/package/corpus/skills/cratis-screenplay-event-modeling/references/parsed-not-runnable.md +1 -1
  15. package/package/corpus/skills/cratis-screenplay-legacy-extraction/SKILL.md +4 -2
  16. package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/generate-notes.md +71 -3
  17. package/package/corpus/skills/cratis-screenplay-model-authoring/SKILL.md +25 -25
  18. package/package/corpus/skills/cratis-screenplay-model-authoring/references/language-reference.md +6 -0
  19. package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-loop.md +5 -0
  20. package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-tools.md +36 -8
  21. package/package/corpus/skills/cratis-screenplay-model-authoring/references/property-links.md +126 -0
  22. package/package/corpus/skills/cratis-screenplay-model-authoring/references/screen-authoring-workflow.md +3 -4
  23. package/package/corpus/skills/cratis-screenplay-model-authoring/verification.json +1 -1
  24. package/package/corpus/skills/cratis-screenplay-model-review/SKILL.md +1 -1
  25. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/SKILL.md +6 -5
  26. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/gap-fill-handoff.md +2 -2
  27. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/spec-forms-by-mode.md +3 -3
  28. package/package/corpus/skills/cratis-screenplay-specifications/SKILL.md +1 -1
  29. package/package/corpus/skills/cratis-screenplay-specifications/references/examples-and-routes.md +2 -2
  30. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/SKILL.md +5 -2
  31. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/evolution.md +17 -0
  32. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/stream-patterns.md +1 -1
  33. package/package/corpus/skills/cratis-screenplay-toolchain/SKILL.md +15 -6
  34. package/package/corpus/skills/cratis-screenplay-toolchain/references/cheat-sheet.md +6 -3
  35. package/package/corpus/skills/cratis-screenplay-toolchain/references/diagnostics.md +21 -2
  36. package/package/corpus/skills/cratis-screenplay-toolchain/references/doc-contradictions.md +2 -2
  37. package/package/corpus/skills/cratis-screenplay-toolchain/references/executable-subset.md +9 -3
  38. package/package/corpus/skills/cratis-screenplay-toolchain/references/production-routes-and-filters.md +1 -1
  39. package/package/corpus/skills/cratis-screenplay-toolchain/references/provenance.md +1 -1
  40. package/package/corpus/skills/cratis-screenplay-toolchain/references/renderable-subset.md +5 -4
  41. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract-exceptions.json +1 -1
  42. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.json +1092 -17
  43. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.version +1 -1
  44. package/package/corpus/skills/cratis-screenplay-toolchain/references/sources-and-streams.md +1 -1
  45. package/package/corpus/skills/cratis-screenplay-toolchain/references/traps.md +3 -3
  46. package/package/corpus/skills/cratis-screenplay-toolchain/references/verdicts.md +4 -4
  47. package/package/corpus/skills/cratis-screenplay-toolchain/references/versions.md +32 -17
  48. package/package/corpus/skills/cratis-screenplay-toolchain/verification.json +3 -1
  49. package/package/corpus/skills/cratis-screenplay-ui-composition/references/screen-composition-contract.md +2 -2
  50. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/SKILL.md +8 -9
  51. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/admission.md +4 -5
  52. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/case-tables-and-whole-numbers.md +2 -2
  53. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/verification.json +1 -1
  54. package/package.json +1 -1
@@ -15,7 +15,7 @@ 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.50.0/Stage 4.67.0 admits through v10 to construct checks, including v8
18
+ The pinned CLI/Stage pair (`versions.md`) admits through v10 to construct checks, including v8
19
19
  routes. Routed read-model/query replay scenarios can still refuse STAGE-ESM-030;
20
20
  run admission before promising parity. Previous CLI 3.46.1/Stage 4.52.0 refused
21
21
  above v7 with CLI-RENDER-004. Keep routing intact when a target refuses it;
@@ -1,6 +1,6 @@
1
1
  # Traps (one line each, with the fix)
2
2
 
3
- Current pins: Screenplay 4.135.0 / CLI 3.50.0 (`versions.md`). Unless explicitly
3
+ Current pins: `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,7 +15,7 @@ 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); 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`.
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; the pinned CLI/Stage pair (`versions.md`) 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
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]
@@ -31,7 +31,7 @@ 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 `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`.
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. The pinned CLI (`versions.md`) reaches Stage construct checks through v10; v11 needs explicit consumer admission. See `versions.md`.
35
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.
@@ -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.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 |
31
+ | Standalone (preferred; pin: `versions.md`) | `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,7 +85,7 @@ 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.50.0 passes through ESM v10 to Stage construct
88
+ to render admission: the pinned CLI (`versions.md`) passes through ESM v10 to Stage construct
89
89
  checks; newer models receive CLI-RENDER-004. Public publication and reaction
90
90
  identity/filters/production overrides still receive typed Stage refusals.
91
91
  The old 3.28.x/Stage 4.24.x probes remain historical in the subset references.
@@ -152,9 +152,9 @@ source change makes earlier verdicts stale.
152
152
 
153
153
  Historical corpus fences were checked with standalone 4.68.0 and CLI 3.28.2.
154
154
  Do not promote those results to current pins without rerunning. Check each changed
155
- complete fence with standalone 4.135.0 `--warnaserror`; run `screenplay test` for
155
+ complete fence with the pinned standalone tool (`versions.md`) `--warnaserror`; run `screenplay test` for
156
156
  specification examples, and verify expected-diagnostic examples against their
157
- claimed codes. Where bundle compatibility matters, also check CLI 3.50.0.
157
+ claimed codes. Where bundle compatibility matters, also check the pinned CLI (`versions.md`).
158
158
  The `// Needs the standalone screenplay compiler (ESM v6)` first-line marker belonged to cratis
159
159
  before 3.28.2, which could not validate those fences; no fence carries it now, and a
160
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.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 |
20
+ | Screenplay language, standalone tool and MCP | **4.139.0** (`dcd84574`) | Released tag `v4.139.0` and its unchanged published contract; enum numbers/ESM v12 and property references |
21
+ | cratis CLI | **3.53.1** | Released tag `v3.53.1`; source-checked, not a new render/browser probe |
22
+ | Screenplay bundled by CLI | **4.137.0** | CLI `v3.53.1:Directory.Packages.props`; enum-number authoring, not v12 binding |
23
+ | Stage bundled by CLI | **4.73.1** | Same file; Stage's own `Directory.Packages.props` also pins Screenplay 4.137.0 |
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.135.0 and CLI 3.50.0's 4.131.0 bundle are different releases.
47
+ Standalone Screenplay 4.139.0 and CLI 3.53.1's 4.137.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,8 +76,8 @@ for identity-stable selection.
76
76
 
77
77
  ## Admission boundaries
78
78
 
79
- Screenplay `v4.135.0:Source/DotNET/Screenplay/Semantics/Versions.cs` supports
80
- schema pairs through v11. Admission selects by use:
79
+ Screenplay `v4.139.0:Source/DotNET/Screenplay/Semantics/Versions.cs` supports
80
+ schema pairs through v12. Admission selects by use:
81
81
 
82
82
  - v7: generated values/responses and policy negation.
83
83
  - v8: sources/streams and command/specification routes.
@@ -100,23 +100,38 @@ schema pairs through v11. Admission selects by use:
100
100
  admit `numbers exact` source mode or arbitrary precision. At this tag,
101
101
  interoperability documentation still says "claimed, unreleased"; this corpus
102
102
  follows Versions.cs and decision 0066's publication boundary.
103
+ - **Published, frozen v12 in 4.139.0:** non-positional explicit enum numbers
104
+ select v12, carrying optional canonical last `numbers` parallel to `values`.
105
+ Positional pins retain earlier executable bytes/version/revision; unnumbered
106
+ enums retain positional meaning. Names remain fixture/condition/specification
107
+ values. Strict reading rejects arrays in older versions, without enum values,
108
+ with mismatched length, duplicates, non-int32 entries or positional numbers
109
+ (non-canonical). Consumers must admit v12 explicitly. Authoring shipped in
110
+ 4.137.0 (decision 0065); syntax/example: command-surface `references/enum-numbers.md`.
103
111
 
104
112
  Decision 0066 freezes a version when any exposing NuGet/npm package is published,
105
113
  including prereleases. Later byte-changing features take the next version at
106
114
  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,
115
+ numbers never change or get reused. Enum member numbers are admitted as v12;
116
+ this does not admit flags or numeric values in name-based specifications.
117
+ Concept generation strategies and freshness (decision 0054, #616) are accepted but not implemented. Operations,
110
118
  exact source numeric mode and reaction refusals/redelivery remain PLAY0268.
111
119
  Composite read-model keys/query blocks are also still PLAY0268 (#599), not
112
120
  admitted by the 4.129.0 authoring delivery; a single explicit key preserves bytes.
113
121
  Never delete these contracts to obtain a green bind.
114
122
 
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
123
+ CLI 3.53.1 `RenderedSemanticVersions.Newest` is **v10**:
124
+ `Source/Cli/Commands/Render/RenderedSemanticVersions.cs`. Stage 4.73.1 uses
125
+ EsmSchemaV10Support in `Source/Rendering.Cratis/Semantics/SemanticVersionFeatures.cs`
126
+ and construct checks in `SemanticVersionFeatureAdmission.cs`. Both bundle
127
+ Screenplay 4.137.0: non-positional enum numbers pass source validation but
128
+ fail executable binding with PLAY0268, before renderer version admission.
129
+ Standalone >= 4.139.0 binds them as v12; that verdict does not transfer to
130
+ `cratis render`. The bundled compiler and Stage do not support reading v12 ESM.
131
+ A compiler upgrade alone would not lift the CLI/Stage v10 admission ceiling.
132
+ Bound v11 models get CLI-RENDER-004 before planning (STAGE-ESM-016 at the
133
+ Stage version gate); this is not the diagnostic path for v12 source on these pins.
134
+ Through v10 is not blanket
120
135
  render support: public publication STAGE-ESM-032, foreign events/event captures
121
136
  033, reaction identity 034, reaction filters 035 and production overrides 036
122
137
  remain refused; reducer filters render. ESM v8 routes reach their own checks.
@@ -130,8 +145,8 @@ read them as tested snapshots, not as a claim that Stage 4.52.0 shares every
130
145
  4.24.2 limitation. Query the actual bundled renderer before a V5 claim.
131
146
 
132
147
  Stage case tables require 4.59.0; ESM v8 whole numbers as `long` and the
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
148
+ pre-v8 out-of-`int` refusal STAGE-ESM-031 require 4.61.0. Historical CLI 3.50.0
149
+ defaulted to Stage 4.67.0; current CLI 3.53.1 defaults to 4.73.1, so both rules apply. Previous CLI 3.46.1 bundled Screenplay
135
150
  4.130.0 and Stage 4.52.0; neither rule applied there. `cratis run --tag 4.63.2`
136
151
  selects a newer sandbox image only (`RunSettings.cs`), not a renderer package.
137
152
  `cratis render` has a statically bundled target (`RenderSettings.cs`,
@@ -10,7 +10,9 @@
10
10
  { "kind": "skill-contains", "value": "Composite read-model keys/query blocks are also still PLAY0268", "file": "references/versions.md" },
11
11
  { "kind": "skill-contains", "value": "the **whole source, stream and stream id**", "file": "references/production-routes-and-filters.md" },
12
12
  { "kind": "play-compiles" },
13
- { "kind": "skill-contains", "value": "4.135.0" },
13
+ { "kind": "skill-contains", "value": "4.139.0" },
14
+ { "kind": "skill-contains", "value": "Published v12" },
15
+ { "kind": "skill-contains", "value": "PLAY0671", "file": "references/diagnostics.md" },
14
16
  { "kind": "skill-contains", "value": "PLAY0653", "file": "references/diagnostics.md" },
15
17
  { "kind": "skill-contains", "value": "PLAY0646", "file": "references/diagnostics.md" },
16
18
  { "kind": "skill-contains", "value": "PLAY0595", "file": "references/diagnostics.md" },
@@ -37,8 +37,8 @@ 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
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`.
40
+ 4.52.0) and Studio 0.152.2. Current pins:
41
+ `cratis-screenplay-toolchain/references/versions.md`.
42
42
  All three levels hold for the canonical `ScreenComposition` corpus on the historical vector:
43
43
 
44
44
  - authoring and executable admission: MCP opens it with `sourceSuccess true`,
@@ -42,18 +42,16 @@ argument or an invalid semantic option.
42
42
 
43
43
  | Source | Pin | Notes |
44
44
  | --- | --- | --- |
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 |
45
+ | Stage | See toolchain pins below | Historical source check: Stage 4.67.0 under CLI 3.50.0, not a new executed vector. Case tables (4.59.0+) and whole numbers as `long` from ESM v8 (4.61.0+) apply to the pinned 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 | See toolchain pins below | Historical source check: `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 | See toolchain pins below | Name the compiler; binding and renderer admission differ. Historical 4.131.0 lacked v11 literal lowering; `semantic-diff` source objects require 4.131.0 or later |
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`,
51
51
  `Documentation/**` in Stage; `Source/Cli/Commands/Render/**` and
52
52
  `Documentation/reference/screenplay.md` in the CLI), and the vertical in
53
53
  [references/render-example.md](references/render-example.md) was rendered, built and
54
- tested with cratis 3.28.2 (re-run on 3.28.3). Read `references/render-example.md` when you need a complete renderable model and the observed render, build, and test results. The full version table (Screenplay 4.66.0, Arc 22.50.5,
55
- Chronicle 19.32.0 and the tool split) is in the `cratis-screenplay-toolchain` skill,
56
- `references/versions.md`. Stage 4.51.3 scaffolds Arc `22.50.5` and Chronicle
54
+ tested with cratis 3.28.2 (re-run on 3.28.3). Read `references/render-example.md` when you need a complete renderable model and the observed render, build, and test results. Pins/tool split: `cratis-screenplay-toolchain/references/versions.md`. Stage 4.51.3 scaffolds Arc `22.50.5` and Chronicle
57
55
  `19.32.0`, with `CratisEmbeddedScreenplayEnabled=false`. `[ProtectedDecision]` and
58
56
  `DecisionRead<T>` are available to gap-fill code, not automatically emitted or
59
57
  protected by Stage; admission and unit-of-work enrollment still matter. See
@@ -140,7 +138,8 @@ Facts that surprise:
140
138
 
141
139
  ## Historical Stage 4.24 admission
142
140
 
143
- CLI 3.50.0/Stage 4.67.0 reaches construct checks through v10; v11 gets
141
+ The pinned CLI/Stage pair (`cratis-screenplay-toolchain/references/versions.md`)
142
+ reaches construct checks through v10; v11 gets
144
143
  CLI-RENDER-004 (direct Stage: STAGE-ESM-016). Public/foreign events, reaction
145
144
  identity/filters and production overrides still refuse. Reducer filters render.
146
145
  Read [admission](references/admission.md) for STAGE-ESM-032–036 and previous
@@ -198,8 +197,8 @@ Stage 4.59.0+ expands a case table to effective `<Specification>_<Case>` names
198
197
  and one generated class per case; normalized path collisions refuse the plan
199
198
  with `STAGE-CRATIS-004`. Failed case results include the case and effective fixtures.
200
199
  Stage 4.61.0+ renders whole numbers as `long` from ESM v8, retains `int` below
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
200
+ v8 and refuses out-of-`int` literals there with `STAGE-ESM-031`. The pinned Stage default applies both rules;
201
+ pins: toolchain `references/versions.md`. Previous CLI 3.46.1's
203
202
  Stage 4.52.0 renderer applies neither new rule. Read
204
203
  [case tables and whole numbers](references/case-tables-and-whole-numbers.md)
205
204
  for complete examples, stored-schema consequences and the sandbox-only `--tag` override.
@@ -9,11 +9,10 @@
9
9
  - Observed refusals
10
10
  - Source disagreements (trust the code)
11
11
 
12
- Current pins are in `cratis-screenplay-toolchain` `references/versions.md`:
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
12
+ Current pins: `cratis-screenplay-toolchain/references/versions.md`.
13
+ The pinned CLI admits through ESM v10 to construct planning; a bound newer model
14
+ gets CLI-RENDER-004. Binding with the bundled compiler is a separate prerequisite.
15
+ The pinned Stage's `SemanticVersionFeatures`/`SemanticVersionFeatureAdmission` refuse
17
16
  public publication (STAGE-ESM-032), foreign events/events-source captures (033),
18
17
  reaction identity (034), reaction filters (035) and production overrides (036).
19
18
  Reducer filters render. ESM v8 routes have construct checks including refusal of
@@ -12,8 +12,8 @@
12
12
 
13
13
  ## CLI default versus Stage release
14
14
 
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
15
+ Current CLI/compiler/Stage pins: `cratis-screenplay-toolchain/references/versions.md`.
16
+ The pinned default renderer applies case-table support introduced in Stage 4.59.0 and the whole-number rule
17
17
  introduced in 4.61.0: v8+ whole numbers use `long`, earlier versions keep `int`.
18
18
  CLI and Stage admit through v10 to construct checks; newer versions receive
19
19
  CLI-RENDER-004 before planning (direct Stage: STAGE-ESM-016).
@@ -3,7 +3,7 @@
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" },
6
+ { "kind": "skill-contains", "value": "pinned Stage default applies both rules" },
7
7
  { "kind": "skill-contains", "value": "Reducer filters render" },
8
8
  { "kind": "play-compiles" },
9
9
  { "kind": "skill-contains", "value": "`cratis render`" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratis/pi",
3
- "version": "7.31.0",
3
+ "version": "7.33.0",
4
4
  "description": "Configuration-aware Cratis AI integration for Pi",
5
5
  "type": "module",
6
6
  "files": [