@cratis/pi 7.34.0 → 7.35.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/security-reviewer.md +1 -0
- package/package/corpus/agents/spec-writer.md +1 -1
- package/package/corpus/harnesses/pi/extensions/shared/rules.ts +3 -1
- package/package/corpus/hooks/scripts/cratis-nuget-pins.txt +7 -6
- package/package/corpus/hooks/scripts/cratis-release-notes-reviewed.cjs +7 -6
- package/package/corpus/hooks/scripts/cratis-store-mutations.json +7 -3
- package/package/corpus/product-sync.json +896 -0
- package/package/corpus/prompts/add-business-rule.prompt.md +1 -1
- package/package/corpus/prompts/ship-changes.prompt.md +2 -2
- package/package/corpus/rules/ai-distribution.md +31 -3
- package/package/corpus/rules/application-profile.md +2 -1
- package/package/corpus/rules/components.md +66 -7
- package/package/corpus/rules/concepts.md +11 -3
- package/package/corpus/rules/csharp.md +3 -1
- package/package/corpus/rules/dialogs.md +9 -0
- package/package/corpus/rules/efcore.md +1 -1
- package/package/corpus/rules/elixir.md +49 -0
- package/package/corpus/rules/framework.md +5 -3
- package/package/corpus/rules/general.md +1 -0
- package/package/corpus/rules/glossary.md +4 -4
- package/package/corpus/rules/go-engineering.md +60 -0
- package/package/corpus/rules/go.md +115 -0
- package/package/corpus/rules/java.md +5 -2
- package/package/corpus/rules/kotlin.md +7 -5
- package/package/corpus/rules/orleans.md +65 -9
- package/package/corpus/rules/profiles.md +43 -6
- package/package/corpus/rules/pull-requests.md +3 -3
- package/package/corpus/rules/react.md +8 -1
- package/package/corpus/rules/reactors.md +27 -3
- package/package/corpus/rules/specs.csharp.md +11 -4
- package/package/corpus/rules/specs.scenarios.csharp.md +35 -4
- package/package/corpus/rules/specs.typescript.md +2 -1
- package/package/corpus/rules/storybook.md +1 -1
- package/package/corpus/rules/typescript.md +1 -1
- package/package/corpus/rules/vertical-slices.md +37 -5
- package/package/corpus/skills/cratis-application-react-specifications/SKILL.md +4 -2
- package/package/corpus/skills/cratis-application-slice-specifications/SKILL.md +18 -8
- package/package/corpus/skills/cratis-application-slice-specifications/references/query-and-decision-scenarios.md +65 -0
- package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/SKILL.md +53 -57
- package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/authentication.md +38 -42
- package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/authorization.md +18 -7
- package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/authproxy.md +30 -0
- package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/frontend.md +12 -9
- package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/local-development.md +9 -9
- package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/observable-emission-guards.md +8 -5
- package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/tenancy.md +20 -4
- package/package/corpus/skills/cratis-arc-command/SKILL.md +32 -10
- package/package/corpus/skills/cratis-arc-command/references/command-result.md +12 -5
- package/package/corpus/skills/cratis-arc-command/references/decisions-and-routing.md +95 -0
- package/package/corpus/skills/cratis-arc-command/references/generated-values.md +3 -2
- package/package/corpus/skills/cratis-arc-command/references/handler-shapes.md +8 -8
- package/package/corpus/skills/cratis-arc-command/references/proxy-generation.md +22 -3
- package/package/corpus/skills/cratis-arc-command/references/read-model-injection.md +13 -1
- package/package/corpus/skills/cratis-arc-command-execution/SKILL.md +19 -9
- package/package/corpus/skills/cratis-arc-command-kotlin/SKILL.md +44 -18
- package/package/corpus/skills/cratis-arc-command-kotlin/references/read-model-naming.md +29 -0
- package/package/corpus/skills/cratis-arc-command-operation/SKILL.md +10 -9
- package/package/corpus/skills/cratis-arc-command-operation/references/execution-and-recovery.md +2 -2
- package/package/corpus/skills/cratis-arc-command-operation/references/testing.md +4 -3
- package/package/corpus/skills/cratis-arc-command-typescript/SKILL.md +42 -22
- package/package/corpus/skills/cratis-arc-command-typescript/references/chronicle-events.md +36 -5
- package/package/corpus/skills/cratis-arc-command-typescript/references/command-operations.md +114 -0
- package/package/corpus/skills/cratis-arc-command-typescript/references/hosting-and-storage.md +37 -16
- package/package/corpus/skills/cratis-arc-command-typescript/references/identity-and-introspection.md +88 -0
- package/package/corpus/skills/cratis-arc-command-typescript/references/observability-and-host-scopes.md +25 -0
- package/package/corpus/skills/cratis-arc-command-typescript/references/proxy-generation.md +35 -4
- package/package/corpus/skills/cratis-arc-command-typescript/references/slice-layout.md +11 -0
- package/package/corpus/skills/cratis-arc-command-typescript/verification.json +8 -1
- package/package/corpus/skills/cratis-arc-command-validation/SKILL.md +49 -19
- package/package/corpus/skills/cratis-arc-ef-core-migration/SKILL.md +12 -6
- package/package/corpus/skills/cratis-arc-go/SKILL.md +148 -0
- package/package/corpus/skills/cratis-arc-go/references/queries.md +80 -0
- package/package/corpus/skills/cratis-arc-hosting/SKILL.md +96 -0
- package/package/corpus/skills/cratis-arc-hosting/references/integrations-and-publish.md +80 -0
- package/package/corpus/skills/cratis-arc-identity-and-tenancy-kotlin/SKILL.md +137 -0
- package/package/corpus/skills/cratis-arc-observable-query-http/SKILL.md +20 -2
- package/package/corpus/skills/cratis-arc-query-kotlin/SKILL.md +26 -6
- package/package/corpus/skills/cratis-arc-query-paging/SKILL.md +25 -20
- package/package/corpus/skills/cratis-arc-query-typescript/SKILL.md +32 -6
- package/package/corpus/skills/cratis-arc-query-typescript/references/storage-observation-and-compliance.md +66 -0
- package/package/corpus/skills/cratis-arc-query-typescript/verification.json +5 -1
- package/package/corpus/skills/cratis-arc-react-page/SKILL.md +24 -13
- package/package/corpus/skills/cratis-arc-react-page/references/data-page.md +20 -10
- package/package/corpus/skills/cratis-arc-react-page/references/data-tables.md +17 -3
- package/package/corpus/skills/cratis-arc-react-page/references/dialogs.md +14 -3
- package/package/corpus/skills/cratis-arc-react-page/references/from-screenplay.md +6 -1
- package/package/corpus/skills/cratis-arc-react-page/references/provenance.md +1 -1
- package/package/corpus/skills/cratis-arc-react-page/references/queries-and-commands.md +11 -1
- package/package/corpus/skills/cratis-arc-react-page/verification.json +6 -1
- package/package/corpus/skills/cratis-arc-spring-data-kotlin/SKILL.md +163 -0
- package/package/corpus/skills/cratis-arc-testing-kotlin/SKILL.md +131 -0
- package/package/corpus/skills/cratis-arc-validation-kotlin/SKILL.md +44 -11
- package/package/corpus/skills/cratis-arc-validation-typescript/SKILL.md +5 -3
- package/package/corpus/skills/cratis-chronicle-cli-operations/SKILL.md +79 -25
- package/package/corpus/skills/cratis-chronicle-cli-operations/references/command-effects.md +57 -0
- package/package/corpus/skills/cratis-chronicle-client-dotnet/SKILL.md +87 -99
- package/package/corpus/skills/cratis-chronicle-client-dotnet/references/additional-surfaces.md +65 -0
- package/package/corpus/skills/cratis-chronicle-client-dotnet/references/client-construction.md +42 -0
- package/package/corpus/skills/cratis-chronicle-client-dotnet/references/compatibility-check.md +12 -0
- package/package/corpus/skills/cratis-chronicle-client-dotnet/references/discovery.md +43 -19
- package/package/corpus/skills/cratis-chronicle-client-dotnet/references/hosting.md +29 -1
- package/package/corpus/skills/cratis-chronicle-client-elixir/SKILL.md +158 -162
- package/package/corpus/skills/cratis-chronicle-client-elixir/references/append-api.md +36 -15
- package/package/corpus/skills/cratis-chronicle-client-elixir/references/compliance.md +32 -0
- package/package/corpus/skills/cratis-chronicle-client-elixir/references/connections.md +56 -0
- package/package/corpus/skills/cratis-chronicle-client-elixir/references/event-sources.md +64 -0
- package/package/corpus/skills/cratis-chronicle-client-elixir/references/pitfalls.md +25 -0
- package/package/corpus/skills/cratis-chronicle-client-elixir/references/projections.md +48 -0
- package/package/corpus/skills/cratis-chronicle-client-elixir/references/upgrading.md +34 -0
- package/package/corpus/skills/cratis-chronicle-client-elixir/references/variants.md +13 -5
- package/package/corpus/skills/cratis-chronicle-client-elixir/verification.json +23 -0
- package/package/corpus/skills/cratis-chronicle-client-go/SKILL.md +162 -0
- package/package/corpus/skills/cratis-chronicle-client-go/references/projections.md +73 -0
- package/package/corpus/skills/cratis-chronicle-client-kotlin/SKILL.md +87 -88
- package/package/corpus/skills/cratis-chronicle-client-kotlin/references/connection-lifecycle.md +13 -0
- package/package/corpus/skills/cratis-chronicle-client-kotlin/references/discovery-and-registration.md +14 -4
- package/package/corpus/skills/cratis-chronicle-client-kotlin/references/event-sources.md +65 -0
- package/package/corpus/skills/cratis-chronicle-client-kotlin/references/options.md +29 -0
- package/package/corpus/skills/cratis-chronicle-client-kotlin/references/spring-boot.md +13 -0
- package/package/corpus/skills/cratis-chronicle-client-kotlin/references/variants.md +5 -4
- package/package/corpus/skills/cratis-chronicle-client-typescript/SKILL.md +165 -156
- package/package/corpus/skills/cratis-chronicle-client-typescript/references/read-models-and-projections.md +54 -11
- package/package/corpus/skills/cratis-chronicle-client-typescript/references/testing.md +126 -0
- package/package/corpus/skills/cratis-chronicle-client-typescript/references/variants.md +3 -5
- package/package/corpus/skills/cratis-chronicle-client-typescript/verification.json +19 -0
- package/package/corpus/skills/cratis-chronicle-compliance/SKILL.md +36 -13
- package/package/corpus/skills/cratis-chronicle-decision-reads/SKILL.md +110 -0
- package/package/corpus/skills/cratis-chronicle-decision-reads/references/admission-and-ownership.md +57 -0
- package/package/corpus/skills/cratis-chronicle-decision-reads/verification.json +12 -0
- package/package/corpus/skills/cratis-chronicle-event-constraints/SKILL.md +58 -19
- package/package/corpus/skills/cratis-chronicle-event-constraints/references/closing-streams.md +73 -0
- package/package/corpus/skills/cratis-chronicle-event-modeling/SKILL.md +32 -3
- package/package/corpus/skills/cratis-chronicle-event-specifications/SKILL.md +18 -5
- package/package/corpus/skills/cratis-chronicle-event-type-migration/SKILL.md +32 -2
- package/package/corpus/skills/cratis-chronicle-hosting/SKILL.md +134 -0
- package/package/corpus/skills/cratis-chronicle-hosting/references/operations.md +89 -0
- package/package/corpus/skills/cratis-chronicle-hosting/verification.json +14 -0
- package/package/corpus/skills/cratis-chronicle-mcp-inspection/SKILL.md +93 -66
- package/package/corpus/skills/cratis-chronicle-mcp-inspection/references/blocked-tools.md +21 -7
- package/package/corpus/skills/cratis-chronicle-mcp-inspection/references/deployment.md +77 -0
- package/package/corpus/skills/cratis-chronicle-mcp-inspection/references/observational-tools.md +46 -4
- package/package/corpus/skills/cratis-chronicle-multi-tenancy/SKILL.md +15 -1
- package/package/corpus/skills/cratis-chronicle-projection/SKILL.md +44 -10
- package/package/corpus/skills/cratis-chronicle-projection/references/fluent-builder.md +7 -1
- package/package/corpus/skills/cratis-chronicle-projection/references/model-bound-attributes.md +8 -0
- package/package/corpus/skills/cratis-chronicle-reactor/SKILL.md +85 -105
- package/package/corpus/skills/cratis-chronicle-reactor/references/slice-delivery-checklist.md +1 -1
- package/package/corpus/skills/cratis-chronicle-reactor/references/specifications.md +20 -1
- package/package/corpus/skills/cratis-chronicle-read-model/SKILL.md +2 -2
- package/package/corpus/skills/cratis-chronicle-read-model/references/queries.md +35 -16
- package/package/corpus/skills/cratis-chronicle-read-model-specifications/SKILL.md +15 -3
- package/package/corpus/skills/cratis-chronicle-reducer/SKILL.md +23 -4
- package/package/corpus/skills/cratis-chronicle-web-workbench/SKILL.md +40 -15
- package/package/corpus/skills/cratis-cli-terminal-workbench/SKILL.md +20 -6
- package/package/corpus/skills/cratis-code-review/SKILL.md +25 -3
- package/package/corpus/skills/cratis-components-accessibility/SKILL.md +20 -4
- package/package/corpus/skills/cratis-components-schema-editor/SKILL.md +40 -28
- package/package/corpus/skills/cratis-components-schema-editor/references/tree-layout.md +62 -0
- package/package/corpus/skills/cratis-components-schema-editor/verification.json +14 -0
- package/package/corpus/skills/cratis-components-stepper-command-dialog/SKILL.md +16 -8
- package/package/corpus/skills/cratis-components-styling/SKILL.md +57 -20
- package/package/corpus/skills/cratis-components-styling/verification.json +13 -0
- package/package/corpus/skills/cratis-components-toolbar/SKILL.md +37 -7
- package/package/corpus/skills/cratis-components-toolbar/verification.json +12 -0
- package/package/corpus/skills/cratis-engineering-csharp-conventions/SKILL.md +6 -0
- package/package/corpus/skills/cratis-engineering-csharp-conventions/references/exceptions-logging-and-di.md +5 -3
- package/package/corpus/skills/cratis-fundamentals-concept/SKILL.md +19 -6
- package/package/corpus/skills/cratis-fundamentals-concept/references/typescript-concepts.md +97 -0
- package/package/corpus/skills/cratis-fundamentals-concept/verification.json +4 -1
- package/package/corpus/skills/cratis-fundamentals-concept-go/SKILL.md +112 -0
- package/package/corpus/skills/cratis-fundamentals-type-discovery/SKILL.md +54 -17
- package/package/corpus/skills/cratis-fundamentals-type-discovery/verification.json +14 -0
- package/package/corpus/skills/cratis-lens-browser-extension/SKILL.md +55 -28
- package/package/corpus/skills/cratis-performance-review/SKILL.md +5 -2
- package/package/corpus/skills/cratis-release-notes/SKILL.md +3 -1
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/SKILL.md +5 -4
- package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/realization-and-gap-fill.md +1 -1
- package/package/corpus/skills/cratis-screenplay-captures-and-reactions/SKILL.md +1 -1
- package/package/corpus/skills/cratis-screenplay-command-surface/SKILL.md +5 -6
- package/package/corpus/skills/cratis-screenplay-command-surface/references/compliance.md +25 -7
- package/package/corpus/skills/cratis-screenplay-command-surface/references/enum-numbers.md +4 -2
- package/package/corpus/skills/cratis-screenplay-command-surface/references/generated-values-and-responses.md +4 -1
- package/package/corpus/skills/cratis-screenplay-event-modeling/SKILL.md +4 -3
- package/package/corpus/skills/cratis-screenplay-event-modeling/references/nine-steps.md +1 -1
- package/package/corpus/skills/cratis-screenplay-event-modeling/references/parsed-not-runnable.md +2 -2
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/SKILL.md +3 -2
- package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/generate-notes.md +34 -4
- package/package/corpus/skills/cratis-screenplay-model-authoring/SKILL.md +5 -3
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/language-reference.md +1 -1
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-tools.md +4 -2
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/property-links.md +42 -3
- package/package/corpus/skills/cratis-screenplay-model-authoring/verification.json +3 -1
- package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/vocabulary-map.md +2 -2
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/SKILL.md +6 -6
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/drift-and-ledger.md +1 -1
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/gap-fill-handoff.md +6 -4
- package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/renderability-gate.md +1 -1
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/SKILL.md +3 -1
- package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/invoicing-dues-design.md +1 -1
- package/package/corpus/skills/cratis-screenplay-slice-design/SKILL.md +1 -1
- package/package/corpus/skills/cratis-screenplay-slice-design/references/rule-layers.md +2 -2
- package/package/corpus/skills/cratis-screenplay-slice-design/references/worked-example.md +1 -1
- package/package/corpus/skills/cratis-screenplay-specifications/references/examples-and-routes.md +48 -0
- package/package/corpus/skills/cratis-screenplay-specifications/verification.json +3 -1
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/SKILL.md +7 -5
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/chronicle-boundaries.md +2 -2
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/consistency-and-concurrency.md +2 -2
- package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/streams-example.md +5 -4
- package/package/corpus/skills/cratis-screenplay-toolchain/SKILL.md +8 -6
- package/package/corpus/skills/cratis-screenplay-toolchain/references/cheat-sheet-example.md +2 -2
- package/package/corpus/skills/cratis-screenplay-toolchain/references/diagnostics.md +4 -2
- package/package/corpus/skills/cratis-screenplay-toolchain/references/doc-contradictions.md +1 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/references/executable-subset.md +16 -11
- package/package/corpus/skills/cratis-screenplay-toolchain/references/renderable-subset.md +8 -5
- package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.json +1329 -32
- package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.version +1 -1
- package/package/corpus/skills/cratis-screenplay-toolchain/references/verdicts.md +2 -2
- package/package/corpus/skills/cratis-screenplay-toolchain/references/versions.md +23 -7
- package/package/corpus/skills/cratis-screenplay-toolchain/verification.json +1 -1
- package/package/corpus/skills/cratis-screenplay-ui-composition/SKILL.md +2 -0
- package/package/corpus/skills/cratis-screenplay-ui-composition/references/screen-composition-contract.md +27 -9
- package/package/corpus/skills/cratis-security-review/SKILL.md +9 -3
- package/package/corpus/skills/cratis-security-review/references/arc-boundaries.md +59 -0
- package/package/corpus/skills/cratis-specification-by-example/SKILL.md +7 -0
- package/package/corpus/skills/cratis-specifications-csharp/SKILL.md +43 -11
- package/package/corpus/skills/cratis-specifications-csharp/references/application-scenarios.md +16 -4
- package/package/corpus/skills/cratis-specifications-csharp/references/csharp-patterns.md +18 -5
- package/package/corpus/skills/cratis-specifications-csharp/references/integration-specs.md +21 -0
- package/package/corpus/skills/cratis-specifications-csharp/references/shared-lifecycle.md +34 -0
- package/package/corpus/skills/cratis-specifications-csharp/verification.json +13 -0
- package/package/corpus/skills/cratis-specifications-typescript/SKILL.md +14 -5
- package/package/corpus/skills/cratis-specifications-typescript/verification.json +12 -0
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/SKILL.md +11 -5
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/admission.md +7 -4
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/rendered-application.md +10 -1
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/scene-runtime.md +75 -0
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/verification.json +6 -1
- package/package/corpus/skills/cratis-studio-mcp-safety-guidance/SKILL.md +14 -1
- package/package/profile-catalog.json +68 -1
- package/package.json +1 -1
- package/src/index.ts +3 -1
package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/generate-notes.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
- Coverage (what a provider reads)
|
|
8
8
|
- Diagnostics are the loss list
|
|
9
9
|
- Arc recovery and authoring-only options
|
|
10
|
+
- Arc 22.76.0 enum and response recovery
|
|
10
11
|
- Arc 22.70.0 compliance recovery
|
|
11
12
|
- Generated-document self-check on compiler upgrades
|
|
12
13
|
- Reading the output cheaply
|
|
@@ -16,7 +17,7 @@ cratis-screenplay-toolchain `references/versions.md`; behaviour from the cratis
|
|
|
16
17
|
(`v3.28.2:Source/Cli/Commands/Screenplay/`; the generate files are unchanged since `v3.27.1`), Arc `v22.50.5`
|
|
17
18
|
(`Documentation/backend/csharp/generating-a-screenplay.md`,
|
|
18
19
|
`Source/DotNET/Screenplay/ScreenplayDiagnosticCodes.cs`), Screenplay.Generation `v0.18.0` and
|
|
19
|
-
Screenplay.CritterStack `v0.24.0
|
|
20
|
+
Screenplay.CritterStack `v0.24.0` (the versions cli 3.53.1 bundles). Later releases exist (Generation 0.18.1 preserves compiler warnings, including on successful generation; CritterStack 0.26.0 adds enum concepts, command-to-event production links and the `MixedSliceKindsSplit` and `ProductionLinkOmitted` diagnostics); do not claim them for `cratis screenplay generate` until a cli bundles them. Version-specific capability facts belong in cratis-screenplay-toolchain
|
|
20
21
|
`references/versions.md`.
|
|
21
22
|
|
|
22
23
|
For the current standalone compiler and CLI bundle, use the toolchain's
|
|
@@ -75,7 +76,7 @@ cratis screenplay generate <solution|project|folder> \
|
|
|
75
76
|
| Provider | Reads | Does not read |
|
|
76
77
|
|---|---|---|
|
|
77
78
|
| Arc | commands, events, concepts, read models, projections, reducers, reactors, constraints, declarative FluentValidation rules, authorization policies, `produces` from constants and input paths, Chronicle integration specs as given/when/then, `.tsx` beside a slice as `screen` + `data via query` | handler bodies, rules written in code, computed messages (`SP0016`), screen bodies, captures, personas, seeds, `@sensitive`. A rule held to `When`/`Unless` is written down as if unconditional and `SP0016` names the condition: read the diagnostic, do not trust the declaration |
|
|
78
|
-
| Marten / Critter Stack (preview) | aggregates, snapshots, HTTP and message handlers, document operations, queries, outgoing and delayed messages, saga facts | saga lifecycle, policies, middleware bodies, runtime tenancy, upcasting; unbounded extension code is reported by presence only |
|
|
79
|
+
| Marten / Critter Stack (preview; an independent optional adapter built on the neutral Screenplay.Generation SDK, not affiliated with JasperFx: review every `GEN`/`MARTEN`/`WOLVERINE` diagnostic by hand) | aggregates, snapshots, HTTP and message handlers, document operations, queries, outgoing and delayed messages, saga facts | saga lifecycle, policies, middleware bodies, runtime tenancy, upcasting; unbounded extension code is reported by presence only |
|
|
79
80
|
| any non-.NET stack | nothing | use Prologue and targeted reads |
|
|
80
81
|
|
|
81
82
|
## Diagnostics are the loss list
|
|
@@ -123,6 +124,34 @@ Handler/reaction bodies, unresolved conditions and unproven origins still need
|
|
|
123
124
|
source review. Do not infer generation/evolution/absence-assertion coverage from
|
|
124
125
|
a package upgrade; read diagnostics and reconcile each recovered scenario.
|
|
125
126
|
|
|
127
|
+
## Arc 22.76.0 enum and response recovery
|
|
128
|
+
|
|
129
|
+
Source-verified at Arc `v22.76.0:Source/DotNET/Screenplay/Emission/Concepts/ConceptSyntaxBuilder.cs`,
|
|
130
|
+
`Analysis/Types/{ConceptRegistry,FlagsEnumUses}.cs`, `Analysis/EnumConstants.cs`,
|
|
131
|
+
`Analysis/Specifications/SpecificationReturnValues.cs`, and
|
|
132
|
+
`Documentation/backend/csharp/generating-a-screenplay.md`. Arc 22.76.0 takes
|
|
133
|
+
Screenplay 4.139.0, not 4.141.0. The CLI bundles an older generator; see the
|
|
134
|
+
central toolchain `references/versions.md` rather than assuming parity.
|
|
135
|
+
|
|
136
|
+
Every enum member now emits its stored integer, including positional members.
|
|
137
|
+
Sparse, negative and reordered values preserve identity when representable as int32
|
|
138
|
+
and permitted by `MaximumExecutableModelVersion` (non-positional values need v12).
|
|
139
|
+
SP0068 warns when numbers fall back together to positions because of the range or
|
|
140
|
+
cap, and on dropped emitted-name collisions: do not treat that output as preserving
|
|
141
|
+
stored identity. SP0069 reports aliases sharing a number; the ordinal-first member
|
|
142
|
+
used by scenario constant resolution is kept. SP0067 reports `[Flags]` enums with
|
|
143
|
+
unnamed combinations and names the property uses; named members still emit, but
|
|
144
|
+
unnamed combinations cannot become scenario values. Read every warning as a loss.
|
|
145
|
+
|
|
146
|
+
Since 22.75.2, `result!` and `in` arguments remain reads for recovered `then returns`.
|
|
147
|
+
Writes through any member/element of the executed result (assignment, increment,
|
|
148
|
+
decrement, `ref`/`out`, including null-conditional chains) or aliases of the result
|
|
149
|
+
or non-string reference values reached through it withhold the response assertion.
|
|
150
|
+
This includes variables/fields/initializers, foreach/pattern variables,
|
|
151
|
+
returned/yielded/lambda values and conditional/coalescing/tuple/collection flows.
|
|
152
|
+
Mutation through ordinary method calls is not analyzed. Inspect reported scenarios;
|
|
153
|
+
never infer a response contract from a post-execution mutation.
|
|
154
|
+
|
|
126
155
|
## Arc 22.70.0 compliance recovery
|
|
127
156
|
|
|
128
157
|
A concept with both `[Encrypted]` and `[NotAudited]` becomes `secret`.
|
|
@@ -136,8 +165,9 @@ without adding `secret`; an existing `pii` classification remains.
|
|
|
136
165
|
`namespace` scope: the document instead implies Subject scope. Global behaves
|
|
137
166
|
the same way. Set `ScreenplayOptions.AuthoringOnlyConstructs = true` (CLI
|
|
138
167
|
adapter option `--authoring-only-constructs`) to emit `secret scope namespace`
|
|
139
|
-
or `secret scope global` in the concept body.
|
|
140
|
-
|
|
168
|
+
or `secret scope global` in the concept body. This was syntax-only on that
|
|
169
|
+
compiler; standalone 4.141.0 instead admits concept compliance as ESM v13.
|
|
170
|
+
That upgrade does not change the older generator or CLI bundle.
|
|
141
171
|
- A concept also marked `[PII]` becomes `pii secret`, with no emitted scope:
|
|
142
172
|
the C# providers render only `[PII]`; Chronicle rejects `[PII]` combined with
|
|
143
173
|
`[Encrypted]`. Do not add a scope the provider ignores.
|
|
@@ -21,8 +21,9 @@ same model root or workspace export to all checks. Workflow:
|
|
|
21
21
|
|
|
22
22
|
## Verified product sources
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
Screenplay v4.141.0: planner in `references/property-links.md`;
|
|
25
|
+
compliance in command-surface `references/compliance.md`. Other MCP evidence:
|
|
26
|
+
v4.139.0 `Documentation/screenplay/mcp/`.
|
|
26
27
|
Discover installed tools and schemas; CLI bundles can differ from the standalone
|
|
27
28
|
tool. Pins are in `cratis-screenplay-toolchain` `references/versions.md`.
|
|
28
29
|
Historical probes remain 4.66.0; registration example compilation/execution
|
|
@@ -295,7 +296,8 @@ that the code compiles or behaves. Read `references/mcp-tools.md#code-attachment
|
|
|
295
296
|
clean run is not a bound or executable result.
|
|
296
297
|
- Operations/`numbers exact` remain unadmitted; routes bind as v8, public
|
|
297
298
|
boundaries v9, identity/overrides/filters v10, qualifying non-route Double
|
|
298
|
-
literals v11,
|
|
299
|
+
literals v11, enum numbers v12, compliance v13 (4.141.0;
|
|
300
|
+
limits: command-surface `references/compliance.md`).
|
|
299
301
|
CLI 3.53.1/Stage 4.73.1 bundle 4.137.0 and do not admit v12. Never drop or stub source contracts to bind.
|
|
300
302
|
- Distinguish authoring acceptance from `executableReady`; unsupported backend
|
|
301
303
|
capabilities are not a reason to drop source constructs or invent stubs.
|
package/package/corpus/skills/cratis-screenplay-model-authoring/references/language-reference.md
CHANGED
|
@@ -266,7 +266,7 @@ See read-surface `references/named-keys.md` for the collection-key exclusion alg
|
|
|
266
266
|
| Binds as ESM v7 on standalone Screenplay 4.68.0 (source and release notes; `PLAY0268` on the 4.66.0 in Cratis CLI 3.28.x, probed) | `generated` properties and `returns` responses, generated fixtures and `then returns`: bound and executed by the reference runner; a policy, rule or requirement that references a generated value is `PLAY0273`, and a generated property on a concept with validation rules is `PLAY0268`. Stage 4.73.1 refuses them (`STAGE-ESM-028`/`-029`, Stage#175): gap-fill |
|
|
267
267
|
| Authorable, not executable (PLAY0268) | Systems/operations, the `numbers exact` source mode (PLAY0268; exact lowering of qualifying Double literals is the admitted v11) and refusal/redelivery remain unadmitted |
|
|
268
268
|
| Current routing and actor admission | Sources/streams and command/specification routes bind and reference-execute as v8; reaction `runs as system role` supplies the invocation actor as v10 on 4.125.0. Whole-workspace binding determines executable availability; CLI/Stage realization remains separate |
|
|
269
|
-
| Blocks binding (`PLAY0268`) | `pii`/`secret` concepts (
|
|
269
|
+
| Blocks binding (`PLAY0268`) | enum/identity compliance and events combining personal or explicitly subject-scoped secret values with explicit subject marks (4.141.0); the older CLI bundle refuses all `pii`/`secret` concepts (historical probe: "compliance attributes require portable data-subject semantics"); command `handler` (never binds; a command cannot declare both `produces` and `handler`, `PLAY0035`), bare `rule <Name>`, `require` or conditions over read-model paths, dates and `today` in comparisons, `$context.tenant`/claims/roles/causation in `produces`, `$env` conditions, `file` constraints, unquoted `import` of an external contract, a read model with neither explicit `key` nor unambiguous query-based identity as described above (composite keys remain unadmitted), queries with filters, scope, performer, context-derived `by` or composite `by` blocks (optional keyed and collection queries, including observable delivery, bind at 4.135.0), `$causedBy` and templates in projections |
|
|
270
270
|
| Blocks binding (`PLAY0271`, legacy meaning) | Command `reads` and `concurrency` |
|
|
271
271
|
| Deferred (`PLAY0269`, information) | Screens, layouts, templates, forms, contributions, UI profiles, themes, behaviors and `on`/`uses` |
|
|
272
272
|
| Metadata only (`PLAY0270`, information) | `domain`, `seed`, `persona`, trigger and other descriptions, and `file` provenance on declarations |
|
|
@@ -51,7 +51,7 @@ the [MCP loop](mcp-loop.md).
|
|
|
51
51
|
| Source and validation | `diagnostics`, `read-document`, `merged-document`, `syntax-schema` | Read exact source or typed structure and diagnose problems |
|
|
52
52
|
| Workspace inspection | `open-workspace`, `read-workspace`, `read-ast`, `workspace-state`, `export-workspace`, `repair-capabilities` | Obtain current identities, handles, readiness, code attachment requirements, source-map locations, durable-state status and the repair catalog |
|
|
53
53
|
| Visual (MCP-Apps hosts only) | `visualize-model` | Draw the board for the model or a `proposalId`; its `sketch` argument previews a what-if of whole documents. Reads only |
|
|
54
|
-
| Planning | `propose-source`, `propose-ast`, `propose-rename`, `propose-move`, `propose-repair`, `propose-number-enum-members`, `propose-extract-inline-event`, `propose`, `recommend-layout`, `expand-layout` | Produce validated, reviewable candidates without writing them |
|
|
54
|
+
| Planning | `propose-source`, `propose-ast`, `propose-rename`, `propose-move`, `propose-repair`, `propose-property`, `propose-number-enum-members`, `propose-extract-inline-event`, `propose`, `recommend-layout`, `expand-layout` | Produce validated, reviewable candidates without writing them |
|
|
55
55
|
| Review | `read-proposal`, `discard-proposal` | Inspect exact changes, dropped comments and proposed attachments, or abandon a connection-local proposal |
|
|
56
56
|
| Effects | `apply`, `recover-workspace` | Apply an accepted plan or explicitly recover an interrupted write |
|
|
57
57
|
|
|
@@ -59,7 +59,9 @@ the [MCP loop](mcp-loop.md).
|
|
|
59
59
|
|
|
60
60
|
`propose` is the executable-only whole-document interface. Prefer `propose-source`
|
|
61
61
|
for whole `.play` text, `propose-ast` for focused typed edits, and `propose-rename`
|
|
62
|
-
for proved logical renames.
|
|
62
|
+
for proved logical renames. Standalone 4.140.0 adds `propose-property` for explicit
|
|
63
|
+
property rename/removal selections, AutoMap preservation and event-generation
|
|
64
|
+
choices; read [property evidence and planning](property-links.md) before proposing. A
|
|
63
65
|
source-only authoring proposal may be accepted while `executableReady` is false.
|
|
64
66
|
That is not permission to claim the application runs.
|
|
65
67
|
|
package/package/corpus/skills/cratis-screenplay-model-authoring/references/property-links.md
CHANGED
|
@@ -7,11 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
- Address and query
|
|
9
9
|
- Read evidence, not just a count
|
|
10
|
+
- Propose a property change (4.140.0)
|
|
10
11
|
|
|
11
12
|
Screenplay 4.138.0 released property-path evidence in `find-references` and
|
|
12
13
|
`dependencies`; this guidance was checked against 4.139.0. Discover installed
|
|
13
14
|
`tools/list`: CLI 3.53.1's 4.137.0 bundle predates it. These are read-only
|
|
14
|
-
inspection tools
|
|
15
|
+
inspection tools. Standalone 4.140.0 adds the separate `propose-property` planner
|
|
16
|
+
below; the CLI bundle has neither capability.
|
|
15
17
|
|
|
16
18
|
## Address and query
|
|
17
19
|
|
|
@@ -122,5 +124,42 @@ needs a persisted-contract evolution decision; the catalog is not storage eviden
|
|
|
122
124
|
|
|
123
125
|
Source/output authority: `v4.139.0:Documentation/screenplay/mcp/reference.md`
|
|
124
126
|
(property links), `Source/DotNET/Screenplay.Mcp/McpPropertyDependencies.cs`,
|
|
125
|
-
`McpToolSchemas.cs`, and decision 0044's released prerequisite index. The planner
|
|
126
|
-
|
|
127
|
+
`McpToolSchemas.cs`, and decision 0044's released prerequisite index. The planner's release evidence is separate below.
|
|
128
|
+
|
|
129
|
+
## Propose a property change (4.140.0)
|
|
130
|
+
|
|
131
|
+
Read the target property handle with `read-ast`, then call `propose-property`
|
|
132
|
+
with `expectedRevision`, `expectedCatalogRevision`, `action: "rename"|"remove"`,
|
|
133
|
+
`target` and `expectedName`. Rename also needs `newName`. Optional `alsoRename`
|
|
134
|
+
or `alsoRemove` entries are `{ "target": <handle>, "expectedName": <name> }`.
|
|
135
|
+
Select only intended command, current-event and non-key read-model properties:
|
|
136
|
+
chain membership establishes eligibility, not permission to edit every field.
|
|
137
|
+
Off-chain selections refuse atomically. Historical generations, inline events,
|
|
138
|
+
keys, opaque or incomplete links and unsupported spans refuse rather than guess.
|
|
139
|
+
|
|
140
|
+
Rename repairs proven references and fixtures. Renaming only a command input
|
|
141
|
+
keeps the event payload name; broken AutoMap links become explicit mappings.
|
|
142
|
+
Removal refuses while readers remain. Removed expected values disclose
|
|
143
|
+
`weakensAssertion: true`; when inherited `then` steps cannot be determined, removal
|
|
144
|
+
refuses `AmbiguousPropertyReference`, not a false assertion-preservation verdict.
|
|
145
|
+
Unrelated same-named fields appear in `property.notChanged`.
|
|
146
|
+
|
|
147
|
+
For any selected event property, choose exactly one mode: `newGeneration: true`
|
|
148
|
+
appends N+1 and preserves history; `eventNeverPersisted: true` edits current N in
|
|
149
|
+
place and requires actual knowledge that it was never stored. Neither flag selects
|
|
150
|
+
additional events. New generations require transformations before Chronicle deployment.
|
|
151
|
+
|
|
152
|
+
Default validation is `Authoring` (optional `Executable`), formatting
|
|
153
|
+
`PreserveTrivia`, reference policy always `Safe`. Structural changes require
|
|
154
|
+
explicit `CanonicalizeTouchedDocuments` consent. Inspect retained `read-proposal`
|
|
155
|
+
and `view: "semantic-diff"` before `apply`; only apply writes source and identities.
|
|
156
|
+
Review `property.generations`, always an array ordered by canonical event address,
|
|
157
|
+
with one entry per selected event: `event`, `from`, `to`, `mode`. In-place edits
|
|
158
|
+
have equal revisions. `[]` means no accepted planned event edits, not success;
|
|
159
|
+
there is no singular `property.generation`. `deployableWithoutTransformation`
|
|
160
|
+
and `esmVersionKnown` are independent of authoring acceptance.
|
|
161
|
+
|
|
162
|
+
Authority: Screenplay `v4.140.0:Source/DotNET/Screenplay.Mcp/McpWorkspaces.Property.cs`,
|
|
163
|
+
`Screenplay/Workspaces/WorkspaceProperty{Request,Plan,Safety,Report}.cs`,
|
|
164
|
+
`WorkspacePropertyAssertionProvenance.cs`, `WorkspaceEventGenerations.cs`, and
|
|
165
|
+
`Documentation/screenplay/mcp/authoring-tools.md`; decision 0067.
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
"fixtures": [],
|
|
5
5
|
"assertions": [
|
|
6
6
|
{ "kind": "play-compiles" },
|
|
7
|
+
{ "kind": "skill-contains", "value": "weakensAssertion: true", "file": "references/property-links.md" },
|
|
8
|
+
{ "kind": "skill-contains", "value": "property.generations", "file": "references/property-links.md" },
|
|
7
9
|
{
|
|
8
10
|
"kind": "skill-contains",
|
|
9
|
-
"value": "Screenplay v4.
|
|
11
|
+
"value": "Screenplay v4.141.0"
|
|
10
12
|
},
|
|
11
13
|
{
|
|
12
14
|
"kind": "skill-contains",
|
package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/vocabulary-map.md
CHANGED
|
@@ -21,7 +21,7 @@ speaks in them; never model board mechanics (lanes, node ids, positions).
|
|
|
21
21
|
| Storyline (ordered beats) | a **family** of specifications sharing example data, each one transition (no storyline syntax at Screenplay 4.139.0) | several spec classes | specifications |
|
|
22
22
|
| Field validation | concept `validate` (every use) / command `validate`, `require` | `ConceptValidator<T>` / `CommandValidator<T>` | command validation |
|
|
23
23
|
| Role permission ("Cannot") | `policy` + `authorize` + `then denied` spec; ownership via `claim ... matches subject` | `[Authorize(Policy)]`, generated policies | authorization |
|
|
24
|
-
| Precondition on stream state | `reads` + `require` as stated intent, not enforced at Screenplay 4.139.0 (target: Arc `[ProtectedDecision]` + `DecisionRead<T>`, or Chronicle DCB; APIs available to gap-fill in Stage 4.73.1
|
|
24
|
+
| Precondition on stream state | `reads` + `require` as stated intent, not enforced at Screenplay 4.139.0 (target: Arc `[ProtectedDecision]` + `DecisionRead<T>`, or Chronicle DCB; APIs available to gap-fill in the Arc and Chronicle the Stage 4.73.1 scaffold pins, not emitted protection) | decision over a guarded read | command validation |
|
|
25
25
|
| Generated id (`derived:uuid4()`) | `generated` (authorable, not executable) | id supplied before `Handle()` | commands |
|
|
26
26
|
| External system / outbound call | `Translate` slice (inbound); `system`/`operation` (authorable, not executable) or Automation (outbound) | `ICommandOperation` / reactor | operations, reactors |
|
|
27
27
|
| HTML mockup | `screen` Level 1 + board (`visualize-model`) | default Scene composition | ui composition |
|
|
@@ -44,7 +44,7 @@ Screenplay meaning, and when you meet the older usage, translate it and say so.
|
|
|
44
44
|
- Chronicle **reactor**: C# observer, usually for side effects; it does not by itself define
|
|
45
45
|
business decisions. A Screenplay reaction is authorable and bindable, but Stage 4.73.1 renders no Automation or
|
|
46
46
|
Translate slice: the reactor and command are gap-fill code. A reaction that both produces events and invokes commands is
|
|
47
|
-
refused by Stage (`STAGE-ESM-037`); Arc 22.72.0 and later run one reactor returning events and commands (the Stage scaffold
|
|
47
|
+
refused by Stage (`STAGE-ESM-037`); Arc 22.72.0 and later run one reactor returning events and commands (the Arc the Stage scaffold pins needs a proven override), so keep the reaction whole.
|
|
48
48
|
|
|
49
49
|
## Scenario vs specification
|
|
50
50
|
"Scenario" is the Event Modeling example and the scenario *types* `cratis-screenplay-scenario-coverage` uses for
|
|
@@ -23,11 +23,11 @@ rule is in `cratis-screenplay-modeling-lifecycle` ("Decide the level first"); it
|
|
|
23
23
|
## Verified product sources
|
|
24
24
|
|
|
25
25
|
Version pins live once in `cratis-screenplay-toolchain` `references/versions.md`; read it before
|
|
26
|
-
selecting the compiler and renderer for delivery
|
|
27
|
-
|
|
26
|
+
selecting the compiler and renderer for delivery: the CLI bundles its own Screenplay and Stage, older
|
|
27
|
+
than the standalone compiler. Render options (`--scope`,
|
|
28
28
|
`--check`, `--package-set`) and exit codes were read at cli `v3.53.1` `Documentation/reference/screenplay.md`
|
|
29
|
-
and `cratis render --help`; admission at Stage `v4.73.1`. Stage's scaffold pins Arc
|
|
30
|
-
Chronicle
|
|
29
|
+
and `cratis render --help`; admission at Stage `v4.73.1`. Stage's scaffold pins Arc and
|
|
30
|
+
Chronicle releases, which are not the latest (`cratis-stage-rendering-and-sandbox`
|
|
31
31
|
`references/rendered-application.md`). Source reading is not a new render run.
|
|
32
32
|
|
|
33
33
|
Runs: the worked example (`references/worked-example.md`) was probed with cratis 3.53.1 (observed; the
|
|
@@ -90,7 +90,7 @@ Stage (`STAGE-ESM-037`, Stage#207) although Arc 22.72.0 and later run one reacto
|
|
|
90
90
|
and commands (events appended first as one batch, then commands in order, no cross-effect
|
|
91
91
|
transaction; a retry can repeat the events, so use `[OnceOnly]`/idempotent handling per
|
|
92
92
|
`cratis-chronicle-reactor`). Keep the modeled reaction whole and gap-fill it as that one reactor; never
|
|
93
|
-
split it or drop an effect to get a render. The scaffold pins Arc
|
|
93
|
+
split it or drop an effect to get a render. The scaffold pins an older Arc; whether a newer Arc
|
|
94
94
|
override in `Customizations/Dependencies.props` restores next to it is unverified, so prove it with a restore and build.
|
|
95
95
|
|
|
96
96
|
Two rules hold in every case: a customization never makes a rejected model renderable, and
|
|
@@ -153,7 +153,7 @@ Adapters and non-renderable scope follow the contract rules of `cratis-applicati
|
|
|
153
153
|
- One ledger scope per `slice-implementer` brief; the brief carries addresses and paths, not contents.
|
|
154
154
|
- Model-enforced rules realized in code (state-dependent rules) need a protected read or
|
|
155
155
|
concurrency scope; never claim them from prose. Stage 4.73.1 rendered apps scaffold
|
|
156
|
-
Arc
|
|
156
|
+
the Arc/Chronicle set in `cratis-stage-rendering-and-sandbox` `references/rendered-application.md`; API availability alone is not verified enforcement.
|
|
157
157
|
- Adapters that call outside systems follow `cratis-engineering-effect-boundaries`; slice
|
|
158
158
|
specifications follow `cratis-application-slice-specifications`.
|
|
159
159
|
- Realization notes are the explicit realization requirements stated in a slice `description` or `documentation`
|
package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/drift-and-ledger.md
CHANGED
|
@@ -34,7 +34,7 @@ Compare in this order:
|
|
|
34
34
|
never V4 or V5; it needs the same generation options (`--domain`, `--feature-root`, `--module`,
|
|
35
35
|
`--skip-segments`, `--modules-from-namespace-roots`) that reproduce the authored placement, or
|
|
36
36
|
everything looks missing. MSBuild evaluates the project (use a trusted clone) and the bundle's
|
|
37
|
-
`Cratis.Arc.Screenplay` is
|
|
37
|
+
`Cratis.Arc.Screenplay` is the version in `cratis-screenplay-toolchain` `references/versions.md`, so recovery behaves like that adapter. It does not replace
|
|
38
38
|
`cratis-application-slice-conformance`, which reconciles specifications, rules and behavior.
|
|
39
39
|
Whether it is meaningful on a Stage-rendered application is unverified.
|
|
40
40
|
|
package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/gap-fill-handoff.md
CHANGED
|
@@ -69,7 +69,7 @@ ambiguous addresses; contracts are never inferred from names.
|
|
|
69
69
|
A rule that exists only in a description, or a state-dependent rule the model marks as not
|
|
70
70
|
enforced, is unenforced in generated scope. List it in the ledger as a target requirement. In
|
|
71
71
|
hand-written code it needs an atomic enforcement point: a protected read or a concurrency scope
|
|
72
|
-
(Stage 4.73.1 rendered apps scaffold Arc
|
|
72
|
+
(Stage 4.73.1 rendered apps scaffold the Arc/Chronicle set in `cratis-stage-rendering-and-sandbox` `references/rendered-application.md`: protected-read APIs
|
|
73
73
|
are available to gap-fill, with projection/key admission and active enrollment), or a Chronicle constraint. A stale view or
|
|
74
74
|
a caller-supplied status is not enforcement.
|
|
75
75
|
|
|
@@ -93,11 +93,13 @@ captures-and-reactions `references/invocation-identity.md`.
|
|
|
93
93
|
|
|
94
94
|
A reaction that both produces events and invokes commands keeps its single modeled form
|
|
95
95
|
(`STAGE-ESM-037` is Stage's refusal, not a model defect). Hand-write one reactor returning the events
|
|
96
|
-
and the commands: on Arc 22.72.0 or later (the Stage
|
|
96
|
+
and the commands: on Arc 22.72.0 or later (the Arc the Stage scaffold pins accepts a collection in a command handler only when every element is a command, so a rendered app needs a proven dependency override) the runtime appends the events first as one batch, then
|
|
97
97
|
runs the commands in order, with no transaction across the two effects; a failing command stops the
|
|
98
98
|
later ones but keeps the committed events, and a retry can append the events again, so make the
|
|
99
|
-
handler idempotent
|
|
100
|
-
|
|
99
|
+
handler idempotent independently of `[OnceOnly]`, which excludes replay only, not recovery
|
|
100
|
+
or crash redelivery (Chronicle v19.50.1 `Documentation/code-analysis/CHR0022.mdx`;
|
|
101
|
+
see `cratis-chronicle-reactor`). Return a
|
|
102
|
+
stable array or list. The Stage scaffold pins an older Arc, so raise the version through
|
|
101
103
|
`Customizations/Dependencies.props` only after a restore and build proves it. Never split the
|
|
102
104
|
reaction or drop an effect to dodge rendering.
|
|
103
105
|
|
package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/renderability-gate.md
CHANGED
|
@@ -30,7 +30,7 @@ ESM). Only the probe answers renderability. `PLAY0270` entries are information,
|
|
|
30
30
|
| Class | Meaning | Typical examples (each verified in `admission.md`) | Action |
|
|
31
31
|
| --- | --- | --- | --- |
|
|
32
32
|
| **Model fix (in mode)** | the model is in, or the user chose, renderable mode and breaks its own subset in a way that has a renderable equivalent with the same meaning | a `produces` whose `for` is not the command identifier; one `StateChange` slice with two commands (`STAGE-ESM-004`); two projections for one read model (`-007`); a policy Stage cannot express portably (`-015`; role-only and opaque pure policies render at 4.73.1) | edit request to the modeler session with address, change and rationale |
|
|
33
|
-
| **Capability gap** | the intended meaning needs a construct Stage does not render yet | a snapshot list query (`-010`; observable lists and keyed or unkeyed lists bind and observable lists render), and `filter`, `scoped to`, `performer` queries (`PLAY0268`); Automation and Translate slices (`-001`/`-024`, Stage#79); reactions, clocks, captures and triggers (`-024`); a reaction that both produces and invokes (`-037`: keep it whole and hand-write one reactor on Arc 22.72.0 or later (the scaffold pins
|
|
33
|
+
| **Capability gap** | the intended meaning needs a construct Stage does not render yet | a snapshot list query (`-010`; observable lists and keyed or unkeyed lists bind and observable lists render), and `filter`, `scoped to`, `performer` queries (`PLAY0268`); Automation and Translate slices (`-001`/`-024`, Stage#79); reactions, clocks, captures and triggers (`-024`); a reaction that both produces and invokes (`-037`: keep it whole and hand-write one reactor on Arc 22.72.0 or later (the Arc the scaffold pins needs a proven override), never split it; Stage#207); generated values and responses (`-028`/`-029`, Stage#175); `then no readmodel` (`-027`); evolved events (`STAGE-ESM-026`); conditional `produces when` (`-006`); `reads` (`PLAY0271`); code validation (`-005`); compliance attributes (`PLAY0268` "require portable data-subject semantics"); a command `handler` (`PLAY0268`) | keep the model; ledger entry; options a to c in `SKILL.md`; link the Stage issue |
|
|
34
34
|
| **Tool skew** | the bundled compiler disagrees with documented semantics | the false `PLAY0285` on reaction cascades from a cratis before 3.28.2 bundle (cli#242); codes the standalone compiler does not raise | record in the session state and the ledger; never "fix" a correct model |
|
|
35
35
|
| **Environment** | not the model | restore failures, missing SDK, a destination that is not writable | fix the environment or report blocked |
|
|
36
36
|
|
|
@@ -71,7 +71,9 @@ question is not four approvals.
|
|
|
71
71
|
payload: one line per read model. One schema reused for every command and view may indicate
|
|
72
72
|
the per-view judgment was skipped: check for a recorded reason per view before concluding.
|
|
73
73
|
6. **Example data**: a small cast per feature; reuse only where meaning agrees; preserve
|
|
74
|
-
existing intentional fixtures (`references/scenario-catalogue.md` "Example data").
|
|
74
|
+
existing intentional fixtures (`references/scenario-catalogue.md` "Example data"). Shared
|
|
75
|
+
fixtures may live as typed `example`s in another document beside the declarations they type
|
|
76
|
+
(`cratis-screenplay-specifications` `references/examples-and-routes.md`).
|
|
75
77
|
7. **Draft commands**: happy path, each rule, denial, duplicates and retries, competing claims,
|
|
76
78
|
state violations, alternative branches, compensation, external failure, evolution. In each
|
|
77
79
|
rejection vary only the value under test. Use typed `parameter`/named `case`
|
|
@@ -14,7 +14,7 @@ replaced by prose. The runnable counterpart, which holds no stored-state rule, i
|
|
|
14
14
|
`invoicing-dues-example.md`; `scenario-examples.md` copies `ReversingAReceivedPayment` from here.
|
|
15
15
|
|
|
16
16
|
The excerpt's Stage API-availability comment describes the historical Stage 4.24.x
|
|
17
|
-
scaffold. Stage 4.73.1 pins Arc
|
|
17
|
+
scaffold. Stage 4.73.1's scaffold pins an Arc/Chronicle set (see the Stage skill's `references/rendered-application.md`): protected-read APIs are
|
|
18
18
|
available to gap-fill (the "not in a Stage-rendered application" comment in the source is
|
|
19
19
|
superseded), not emitted protection or `.play` rule admission. The
|
|
20
20
|
original compiled source is retained unchanged.
|
|
@@ -81,7 +81,7 @@ report and slice `documentation`, and continue.
|
|
|
81
81
|
over stored state is written as `reads <View>` + `require ... message "..."` and marked
|
|
82
82
|
**NOT enforced in the model today** in the slice `description`, with its target named (Arc
|
|
83
83
|
`[ProtectedDecision]` + `DecisionRead<T>` on Arc 22.39.0+ (available to gap-fill
|
|
84
|
-
code with Stage 4.73.1
|
|
84
|
+
code with the Arc and Chronicle the Stage 4.73.1 scaffold pins); Chronicle DCB; or a constraint). Never copy state
|
|
85
85
|
into the command as input or hide a rule in `handler` / hint prose; descriptions reach code
|
|
86
86
|
only as XML comments (Stage#178). Fill the **refusal inventory**: success, each distinct refusal with
|
|
87
87
|
layer and message, and the denied persona.
|
|
@@ -15,7 +15,7 @@ code only as XML doc comments (Stage#178): a rule that exists only in prose is u
|
|
|
15
15
|
|
|
16
16
|
An unguarded materialized read is unsafe for a protected decision; a guarded read is the
|
|
17
17
|
supported route. Availability: `[ProtectedDecision]` and `DecisionRead<T>` exist in
|
|
18
|
-
Stage 4.73.1's
|
|
18
|
+
the Arc/Chronicle package set Stage 4.73.1 scaffolds (see the Stage skill's `references/rendered-application.md`), but Stage does not emit
|
|
19
19
|
protected decisions. Gap-fill must use an admitted projection/key shape and active
|
|
20
20
|
unit-of-work enrollment; do not edit managed dependencies. Keep the `.play` rule
|
|
21
21
|
NOT enforced until its target enforcement is separately verified. Forbidden: caller-supplied copies of state in `require`, boolean attestation
|
|
@@ -33,7 +33,7 @@ second caller with another claim value.
|
|
|
33
33
|
|
|
34
34
|
Command property values are, by default, recorded in the causation chain of the events they
|
|
35
35
|
produce, so treat them as permanent. Newer Chronicle versions can omit causation properties
|
|
36
|
-
(`CausationPropertyRetention.Omit`, Chronicle v19.32.0); Stage
|
|
36
|
+
(`CausationPropertyRetention.Omit`, Chronicle v19.32.0); Stage-rendered apps pin the Chronicle release listed in the Stage skill's `references/rendered-application.md` (not the latest).
|
|
37
37
|
Verify the actual auditing and retention configuration before relying on omission, and never
|
|
38
38
|
audit secrets. Classify personal values as bare `pii` and operational secrets as
|
|
39
39
|
`secret` on their concepts, never the identifier concept. Use a surrogate identity
|
|
@@ -19,7 +19,7 @@ and record lineage reasoning in fenced Markdown `documentation` (`field-lineage.
|
|
|
19
19
|
The historical source below stays unchanged; it is not the current placement recipe.
|
|
20
20
|
|
|
21
21
|
The excerpt's Stage availability note is historical (Stage 4.24.x, Arc 22.25.0).
|
|
22
|
-
Stage 4.73.1 pins Arc
|
|
22
|
+
Stage 4.73.1's scaffold pins an Arc/Chronicle set (see the Stage skill's `references/rendered-application.md`), so protected-read APIs are available
|
|
23
23
|
to gap-fill (the compiled description below saying they are "not available in Stage-rendered apps" is superseded); this neither admits these `.play` rules nor proves target protection.
|
|
24
24
|
The original compiled excerpt is retained unchanged.
|
|
25
25
|
|
package/package/corpus/skills/cratis-screenplay-specifications/references/examples-and-routes.md
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
## Contents
|
|
7
7
|
|
|
8
8
|
- Typed examples
|
|
9
|
+
- Examples typed from another document
|
|
9
10
|
- Effective values
|
|
10
11
|
- Event routes
|
|
11
12
|
- Redelivery locators
|
|
@@ -49,6 +50,53 @@ module Projects
|
|
|
49
50
|
name = "Override"
|
|
50
51
|
```
|
|
51
52
|
|
|
53
|
+
## Examples typed from another document
|
|
54
|
+
|
|
55
|
+
An example's type may be an event, command or read model declared in another
|
|
56
|
+
document of the same compilation, by simple name when unambiguous or by qualified
|
|
57
|
+
name (`Billing.Facts.Recording.Recorded`). Checked against Screenplay v4.139.0
|
|
58
|
+
(Screenplay#648, released in 4.135.1) and the standalone 4.139.0 compiler:
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
// declarations.play: module Billing > feature Facts > slice StateChange Recording
|
|
62
|
+
// declares command Record, event Recorded and a specification using the examples
|
|
63
|
+
// application.play
|
|
64
|
+
import "declarations.play"
|
|
65
|
+
|
|
66
|
+
example Fact : Billing.Facts.Recording.Recorded
|
|
67
|
+
amount = 10
|
|
68
|
+
for "one"
|
|
69
|
+
example Input : Record
|
|
70
|
+
id = "one"
|
|
71
|
+
amount = 20
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
That folder compiled with warnings as errors and `screenplay test` passed the
|
|
75
|
+
specification that uses `given Fact` and `when Input`. Rules:
|
|
76
|
+
|
|
77
|
+
- A document checked on its own defers an imported type, as for an inline
|
|
78
|
+
`given`; it reports no `PLAY0520` there.
|
|
79
|
+
- Values are checked only when the compilation includes the declaration. A wrong
|
|
80
|
+
value (a string for an `Int`) surfaces as `PLAY0525` at binding (`screenplay
|
|
81
|
+
test`), not at compile.
|
|
82
|
+
- A type that is still unknown or ambiguous after assembly, or names a concept,
|
|
83
|
+
type or another example, is `PLAY0520`. A scratch file importing only the
|
|
84
|
+
contract name is exactly that case:
|
|
85
|
+
|
|
86
|
+
```screenplay expect PLAY0520
|
|
87
|
+
import Billing.Facts.Recording.Recorded
|
|
88
|
+
example Fact : Recorded
|
|
89
|
+
amount = 10
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
- Import the declaring file (`import "declarations.play"`), not the contract
|
|
93
|
+
name. A named `import X.Y.Z` of a declaration the application already has warns
|
|
94
|
+
`PLAY0290` (no effect), and binding still refuses any named import with
|
|
95
|
+
`PLAY0268`, as for inline givens; public `from "<store>"` imports are refused
|
|
96
|
+
the same way (#481).
|
|
97
|
+
- The example is resolved in its own declaration scope, so shared example data may
|
|
98
|
+
live beside the declarations it types, in any document.
|
|
99
|
+
|
|
52
100
|
## Effective values
|
|
53
101
|
|
|
54
102
|
An example occupies the ordinary name slot in given/event, given readmodel,
|
|
@@ -79,6 +79,8 @@
|
|
|
79
79
|
{
|
|
80
80
|
"kind": "skill-contains",
|
|
81
81
|
"value": "Cratis/cli#242", "file": "references/reactions-and-cascades.md"
|
|
82
|
-
}
|
|
82
|
+
},
|
|
83
|
+
{ "kind": "skill-contains", "value": "Examples typed from another document", "file": "references/examples-and-routes.md" },
|
|
84
|
+
{ "kind": "skill-contains", "value": "`PLAY0520`", "file": "references/examples-and-routes.md" }
|
|
83
85
|
]
|
|
84
86
|
}
|
|
@@ -28,8 +28,8 @@ Require target evidence that the check ran: a concurrent first-append scenario a
|
|
|
28
28
|
Chronicle, asserting one append wins, one is rejected, and `IAppendResult.ConcurrencyCheckPerformed`
|
|
29
29
|
is `true` (a skipped check and a passing one look identical otherwise; a current client against
|
|
30
30
|
an older kernel always reads `false`). This was source- and documentation-inspected, not
|
|
31
|
-
concurrency-tested here. The Stage
|
|
32
|
-
|
|
31
|
+
concurrency-tested here. The Stage scaffold pins Chronicle client/kernel and Arc releases (see `cratis-stage-rendering-and-sandbox` `references/rendered-application.md`;
|
|
32
|
+
the CLI bundle's Chronicle is in `cratis-screenplay-toolchain` `references/versions.md`); the APIs exist for gap-fill, not as automatically rendered enforcement.
|
|
33
33
|
|
|
34
34
|
## Verified product sources
|
|
35
35
|
|
|
@@ -38,7 +38,7 @@ and Arc 22.68.0 (the CLI bundle's Chronicle is 19.32.0); the APIs exist for gap-
|
|
|
38
38
|
| Screenplay | v4.68.0 (`79801bf`) | ESM v7 generated values (`generated identifier`, decision 0026) and decision 0025's numbering; the diagnostics below were read at v4.66.0 (`c89198b`): `identifier`, `for`, constraints, generations, `id` pins, diagnostics PLAY0019/0135/0268/0271/0273/0391-0393/0446-0449/0469/0471 |
|
|
39
39
|
| Chronicle | v19.50.0 (read; first read at v19.32.0 `f17a2ff`) | CHR0012, CHR0034; open defects #3744, #4123, #4131 (still open) |
|
|
40
40
|
| Arc | v22.72.0 | `[ProtectedDecision]` and `DecisionRead<T>` (since v22.39.0) |
|
|
41
|
-
| Stage | v4.73.1 | rendered apps pin Arc
|
|
41
|
+
| Stage | v4.73.1 | rendered apps pin the Arc and Chronicle client/kernel listed in the Stage skill's `references/rendered-application.md`; protected-read APIs available to gap-fill. Historical 4.24.2 admission probe: ESM v4, evolved events refused with `STAGE-ESM-026` |
|
|
42
42
|
|
|
43
43
|
Full pin table: `references/versions.md` in `cratis-screenplay-toolchain`. Re-check the three
|
|
44
44
|
Chronicle issues before relying on a constraint in a later release.
|
|
@@ -156,8 +156,10 @@ option, mark it `ASSUMED` in the slice or module `documentation` and in the sess
|
|
|
156
156
|
block compiles but is PLAY0271 at binding. Keep both when they state real intent; they are not
|
|
157
157
|
protection. `description` text never reaches rendered code: a rule that lives only in prose is
|
|
158
158
|
unenforced there.
|
|
159
|
-
- `pii` and `secret`
|
|
160
|
-
|
|
159
|
+
- `pii` and `secret` bind as ESM v13 on standalone 4.141.0, not the pinned CLI;
|
|
160
|
+
enum/identity compliance and protected events with explicit subject marks still
|
|
161
|
+
refuse PLAY0268 (command-surface `references/compliance.md`). Legacy markers are
|
|
162
|
+
deprecated (PLAY0565). Never remove protection to pass a tool. PLAY0515 also refuses
|
|
161
163
|
scalar/composite stream-id types and route mapping sources, including nested paths.
|
|
162
164
|
- At 4.127.0 stream-id literals must be nonempty, well-formed NFC text (refused,
|
|
163
165
|
not normalized); integer ids in Double mode stay within ±(2^53−1). Exact mode
|
|
@@ -10,8 +10,8 @@ event-source id) are present. Three runtime defects are **open at v19.50.0**: #3
|
|
|
10
10
|
InMemory providers do not settle unique claims), #4123 (constraint index updates run after commit
|
|
11
11
|
and fail silently) and #4131 (composite unique constraints collide when a component contains the
|
|
12
12
|
separator). Arc **v22.72.0** has `[ProtectedDecision]` (since v22.39.0, needs Chronicle 19.23 or
|
|
13
|
-
later); Stage
|
|
14
|
-
|
|
13
|
+
later); Stage-rendered apps pin an Arc and Chronicle client/kernel release
|
|
14
|
+
(see the Stage skill's `references/rendered-application.md`) that include them, so the APIs are available to gap-fill, not automatically emitted or
|
|
15
15
|
protected (see `consistency-and-concurrency.md` section 3). Re-check the issues before relying on a
|
|
16
16
|
constraint in a new release.
|
|
17
17
|
A concurrency scope's first append is unchecked by default at v19.50.0 (the default is planned to become checked in the next major, `Documentation/events/concurrency.mdx`); see
|
|
@@ -109,8 +109,8 @@ example a course capacity computed from enrolment streams, needs option a or b:
|
|
|
109
109
|
deciding fact on the source that owns the state, or give each scarce item its own identity. Sources: Arc `v22.72.0:Documentation/backend/csharp/chronicle/read-models/injecting-into-commands.md` (limits unchanged since v22.50.5);
|
|
110
110
|
`chronicle-boundaries.md`.
|
|
111
111
|
|
|
112
|
-
**Availability in Stage-rendered applications.** Stage
|
|
113
|
-
|
|
112
|
+
**Availability in Stage-rendered applications.** The Stage scaffold pins Arc and Chronicle client/kernel
|
|
113
|
+
releases (not the latest). `[ProtectedDecision]` and `DecisionRead<T>` /
|
|
114
114
|
`IDecisionReads` exist in that package set; source checks are in
|
|
115
115
|
`cratis-stage-rendering-and-sandbox` `references/rendered-application.md`.
|
|
116
116
|
This does not mean Stage emits protected decisions. Gap-fill must opt into the
|
|
@@ -5,16 +5,17 @@ cross-stream references as payload, three kinds of uniqueness constraint, a stat
|
|
|
5
5
|
rule recorded as **NOT enforced in the model today**, a declared `concurrency` scope, and an
|
|
6
6
|
active-state view with removal. Read it with `consistency-and-concurrency.md` (sections 1-4).
|
|
7
7
|
|
|
8
|
-
The model compiles at 4.127.0 (V1, warnings as errors) but is not binding-ready by design:
|
|
9
|
-
|
|
10
|
-
`
|
|
8
|
+
The model compiles at 4.127.0 (V1, warnings as errors) but is not binding-ready by design:
|
|
9
|
+
`reads` and the `concurrency` block are PLAY0271, and `require` over a view is PLAY0268.
|
|
10
|
+
The `pii` concept failed binding on that compiler and still fails on the pinned CLI,
|
|
11
|
+
but binds as v13 on standalone 4.141.0. Keep those lines: they state real intent.
|
|
11
12
|
|
|
12
13
|
```screenplay expect PLAY0516 test=unbound
|
|
13
14
|
// cratis-screenplay-streams-and-consistency: complete design-mode example (V1 with --warnings-as-errors).
|
|
14
15
|
// Shows: one business identity per stream, cross-stream references as payload, uniqueness
|
|
15
16
|
// constraints (single, composite with release, unique event), a recorded state-dependent rule
|
|
16
17
|
// that Screenplay cannot enforce, a declared concurrency scope, and an active-state view with removal.
|
|
17
|
-
// Historical binding probes
|
|
18
|
+
// Historical/CLI binding probes refuse compliance; standalone 4.141.0 binds this pii concept as v13, the
|
|
18
19
|
// concurrency block and `reads` are PLAY0271, `require` over a view is PLAY0268. Keep them: they state
|
|
19
20
|
// real intent. The capacity rule is NOT enforced in the model today (see the slice description).
|
|
20
21
|
|
|
@@ -22,7 +22,7 @@ files is one application: always check the folder, never one file of it.
|
|
|
22
22
|
|
|
23
23
|
When choosing or upgrading a tool, or checking version-specific capabilities, read `references/versions.md`; it is the only version table, and other skills point to it. For exact diagnostic codes, MCP names/parameters and standalone CLI options, search the large published [references/screenplay-contract.json](references/screenplay-contract.json), pinned by [references/screenplay-contract.version](references/screenplay-contract.version), rather than loading it in full. Locate a diagnostic by its exact `code` (for example `"code": "PLAY0029"`), a tool by its exact `name` (for example `"name": "read-workspace"`), or a command in `cliCommands`; read the matched object for retirement, parameters or options. [references/screenplay-contract-exceptions.json](references/screenplay-contract-exceptions.json) records reasoned exceptions for historical statements; it does not change the current contract.
|
|
24
24
|
|
|
25
|
-
The standalone pin is Screenplay 4.
|
|
25
|
+
The standalone pin is Screenplay 4.141.0.
|
|
26
26
|
CLI and bundled package pins: `references/versions.md`. The single version table records
|
|
27
27
|
released source evidence and historical probes separately; do not relabel an old
|
|
28
28
|
render/browser result as a probe of the current packages.
|
|
@@ -31,7 +31,7 @@ Historical screens-release evidence: CLI 3.40.7 / Stage 4.51.1 / bundled
|
|
|
31
31
|
Screenplay 4.114.0 opened the canonical corpus with `executableReady true`
|
|
32
32
|
and the stdio transcript exposed 37 tools; standalone language 4.122.0 was
|
|
33
33
|
recorded in that vector. These retained results are not a rerun on CLI 3.53.1
|
|
34
|
-
or Screenplay 4.
|
|
34
|
+
or Screenplay 4.141.0.
|
|
35
35
|
|
|
36
36
|
## Ground rules
|
|
37
37
|
|
|
@@ -44,7 +44,7 @@ or Screenplay 4.139.0.
|
|
|
44
44
|
3. **Pick the compiler deliberately and name it.** Standalone `screenplay` for
|
|
45
45
|
current language checks and reference specifications; `cratis` for rendering
|
|
46
46
|
and generation. Bundled and standalone versions differ (CLI 3.53.1 bundles 4.137.0;
|
|
47
|
-
the standalone pin is 4.
|
|
47
|
+
the standalone pin is 4.141.0). Report both tool and
|
|
48
48
|
version, rather than transferring a verdict across releases.
|
|
49
49
|
4. **Know the mode** (design, executable, renderable) and write from its subset.
|
|
50
50
|
5. **Capability is not correctness.** The tool you ran decides what is accepted today; the
|
|
@@ -90,8 +90,8 @@ V2 and V3 need MCP (V3 alone can also be read from `cratis screenplay validate -
|
|
|
90
90
|
server with a fixed root when the tool is older than 4.63.2 (the roots bug hit 4.63.1 and the
|
|
91
91
|
4.60.1 bundled by cratis before 3.28.2; 4.66.0 and later and cratis 3.28.2 are fine). A subagent without MCP reports "V2 not run: no MCP in this agent".
|
|
92
92
|
|
|
93
|
-
One line per verdict, tool first, for example `V1 pass (screenplay 4.
|
|
94
|
-
`V3 blocked: PLAY0268 x3 (filter query,
|
|
93
|
+
One line per verdict, tool first, for example `V1 pass (screenplay 4.141.0, 3 files)` and
|
|
94
|
+
`V3 blocked: PLAY0268 x3 (filter query, enum compliance)`. Name the source identity (commit plus the digest from
|
|
95
95
|
the source-identity helper (`cratis-screenplay-modeling-lifecycle` `references/verdicts-and-modes.md` "Source identity")) the verdict ran on; keep it apart from the MCP
|
|
96
96
|
`modelRevision`, which is semantic and, without `.screenplay/identities.json`,
|
|
97
97
|
changes with the root folder name.
|
|
@@ -102,7 +102,9 @@ changes with the root folder name.
|
|
|
102
102
|
`references/cheat-sheet.md`. Read [references/cheat-sheet-example.md](references/cheat-sheet-example.md) when you need one complete design-mode document with every construct family.
|
|
103
103
|
- **Executable** (binds, V3): `references/executable-subset.md`. Optional keyed lookups, unfiltered
|
|
104
104
|
lists and lists narrowed by one `by` key (observable too); `filter`, `scoped to`, `performer` and composite `by` do not bind; no handler (PLAY0268, with or without `implementation`/`hint`); `reads` and
|
|
105
|
-
`concurrency` do not bind (PLAY0271);
|
|
105
|
+
`concurrency` do not bind (PLAY0271); concept compliance binds as v13 on standalone
|
|
106
|
+
4.141.0, not the pinned CLI (precise refusals: command-surface `references/compliance.md`);
|
|
107
|
+
v6 constructs bind on Screenplay 4.61 or
|
|
106
108
|
later (standalone, and cratis 3.28.2 or later); generated values and `returns` responses bind (ESM v7)
|
|
107
109
|
from Screenplay 4.68.0 (also in the current CLI bundle) (`references/generated-responses-example.md`). Read [references/executable-example.md](references/executable-example.md) when you need a small StateChange and StateView model that binds executable, [references/pdl-example.md](references/pdl-example.md) when writing projection forms that bind and run, and [references/automation-translate-example.md](references/automation-translate-example.md) when writing Automation and Translate slices (ESM v6).
|
|
108
110
|
- **Renderable** (V5): `references/renderable-subset.md` has the current Stage 4.73.1 table and
|