@cratis/pi 7.37.0 → 7.38.1

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 (77) hide show
  1. package/package/corpus/harnesses/copilot/instructions/ai-distribution.instructions.md +109 -0
  2. package/package/corpus/harnesses/copilot/instructions/application-profile.instructions.md +81 -0
  3. package/package/corpus/harnesses/copilot/instructions/capability-is-not-authority.instructions.md +45 -0
  4. package/package/corpus/harnesses/copilot/instructions/code-quality.csharp.instructions.md +92 -0
  5. package/package/corpus/harnesses/copilot/instructions/code-quality.instructions.md +83 -0
  6. package/package/corpus/harnesses/copilot/instructions/code-quality.typescript.instructions.md +90 -0
  7. package/package/corpus/harnesses/copilot/instructions/components.instructions.md +300 -0
  8. package/package/corpus/harnesses/copilot/instructions/concepts.instructions.md +138 -0
  9. package/package/corpus/harnesses/copilot/instructions/cratis-folder-is-configuration.instructions.md +29 -0
  10. package/package/corpus/harnesses/copilot/instructions/csharp.instructions.md +357 -0
  11. package/package/corpus/harnesses/copilot/instructions/dialogs.instructions.md +278 -0
  12. package/package/corpus/harnesses/copilot/instructions/documentation-structure-and-formatting.instructions.md +162 -0
  13. package/package/corpus/harnesses/copilot/instructions/documentation.instructions.md +90 -0
  14. package/package/corpus/harnesses/copilot/instructions/editing-cratis-docs.instructions.md +74 -0
  15. package/package/corpus/harnesses/copilot/instructions/efcore.instructions.md +84 -0
  16. package/package/corpus/harnesses/copilot/instructions/efcore.specs.instructions.md +45 -0
  17. package/package/corpus/harnesses/copilot/instructions/elixir.instructions.md +50 -0
  18. package/package/corpus/harnesses/copilot/instructions/exit-codes-and-wrappers.instructions.md +34 -0
  19. package/package/corpus/harnesses/copilot/instructions/framework.instructions.md +55 -0
  20. package/package/corpus/harnesses/copilot/instructions/frontend-quality.instructions.md +60 -0
  21. package/package/corpus/harnesses/copilot/instructions/frontend-testing.instructions.md +127 -0
  22. package/package/corpus/harnesses/copilot/instructions/git-commits.instructions.md +139 -0
  23. package/package/corpus/harnesses/copilot/instructions/github-actions.instructions.md +87 -0
  24. package/package/corpus/harnesses/copilot/instructions/glossary.instructions.md +63 -0
  25. package/package/corpus/harnesses/copilot/instructions/go-engineering.instructions.md +61 -0
  26. package/package/corpus/harnesses/copilot/instructions/go.instructions.md +116 -0
  27. package/package/corpus/harnesses/copilot/instructions/guards-and-fuses.instructions.md +61 -0
  28. package/package/corpus/harnesses/copilot/instructions/java.instructions.md +138 -0
  29. package/package/corpus/harnesses/copilot/instructions/kotlin.instructions.md +175 -0
  30. package/package/corpus/harnesses/copilot/instructions/local-work-artifacts.instructions.md +56 -0
  31. package/package/corpus/harnesses/copilot/instructions/new-repository-intake.instructions.md +35 -0
  32. package/package/corpus/harnesses/copilot/instructions/orleans.instructions.md +97 -0
  33. package/package/corpus/harnesses/copilot/instructions/profiles.instructions.md +403 -0
  34. package/package/corpus/harnesses/copilot/instructions/pull-requests.instructions.md +176 -0
  35. package/package/corpus/harnesses/copilot/instructions/react.instructions.md +203 -0
  36. package/package/corpus/harnesses/copilot/instructions/reactors.instructions.md +336 -0
  37. package/package/corpus/harnesses/copilot/instructions/rtk.instructions.md +48 -0
  38. package/package/corpus/harnesses/copilot/instructions/specs.csharp.instructions.md +147 -0
  39. package/package/corpus/harnesses/copilot/instructions/specs.instructions.md +133 -0
  40. package/package/corpus/harnesses/copilot/instructions/specs.scenarios.csharp.instructions.md +281 -0
  41. package/package/corpus/harnesses/copilot/instructions/specs.typescript.instructions.md +141 -0
  42. package/package/corpus/harnesses/copilot/instructions/storybook.instructions.md +85 -0
  43. package/package/corpus/harnesses/copilot/instructions/typescript.instructions.md +151 -0
  44. package/package/corpus/harnesses/copilot/instructions/verification-discipline.instructions.md +27 -0
  45. package/package/corpus/harnesses/copilot/instructions/vertical-slices.instructions.md +414 -0
  46. package/package/corpus/harnesses/copilot/instructions/web-fetching.instructions.md +12 -0
  47. package/package/corpus/harnesses/copilot/instructions/writing-correct-examples.instructions.md +57 -0
  48. package/package/corpus/harnesses/copilot/instructions/writing-cratis-docs.instructions.md +72 -0
  49. package/package/corpus/product-sync.json +2 -2
  50. package/package/corpus/skills/cratis-screenplay-discovery/SKILL.md +11 -6
  51. package/package/corpus/skills/cratis-screenplay-discovery/references/facilitation.md +9 -5
  52. package/package/corpus/skills/cratis-screenplay-discovery/references/human-workshop.md +1 -1
  53. package/package/corpus/skills/cratis-screenplay-discovery/references/plotting-and-handoff.md +28 -4
  54. package/package/corpus/skills/cratis-screenplay-discovery/references/storming-loop.md +2 -1
  55. package/package/corpus/skills/cratis-screenplay-discovery/verification.json +5 -0
  56. package/package/corpus/skills/cratis-screenplay-model-authoring/SKILL.md +23 -29
  57. package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-loop.md +15 -1
  58. package/package/corpus/skills/cratis-screenplay-model-authoring/references/model-notes.md +208 -0
  59. package/package/corpus/skills/cratis-screenplay-model-authoring/verification.json +20 -1
  60. package/package/corpus/skills/cratis-screenplay-model-review/SKILL.md +19 -36
  61. package/package/corpus/skills/cratis-screenplay-model-review/references/report-template.md +26 -0
  62. package/package/corpus/skills/cratis-screenplay-model-review/verification.json +7 -0
  63. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/SKILL.md +14 -16
  64. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/core-rules-digest.md +8 -3
  65. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/handoff-template.md +5 -2
  66. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/intake.md +21 -0
  67. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/reasoning-notes.md +10 -6
  68. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/stop-or-assume.md +32 -1
  69. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/worked-example.md +5 -2
  70. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/verification.json +5 -0
  71. package/package/corpus/skills/cratis-screenplay-toolchain/SKILL.md +4 -0
  72. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.json +1716 -183
  73. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.version +1 -1
  74. package/package/corpus/skills/cratis-screenplay-toolchain/references/versions.md +40 -4
  75. package/package/corpus/skills/cratis-screenplay-toolchain/verification.json +6 -0
  76. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/admission.md +1 -1
  77. package/package.json +1 -1
@@ -5,6 +5,7 @@
5
5
  - Pin set
6
6
  - Two compilers, one rule
7
7
  - Commands and exit codes
8
+ - Model notes gate
8
9
  - Admission boundaries
9
10
  - Historical probes
10
11
  - Revisions and descriptions
@@ -17,7 +18,7 @@ probe; older probes retain their original labels in the other references.
17
18
 
18
19
  | Source | Pin | Evidence |
19
20
  | --- | --- | --- |
20
- | Screenplay language, standalone tool and MCP | **4.142.0** (`e6439548`) | Released tag `v4.142.0` and its unchanged published contract; property additions join rename/remove, with concept compliance/ESM v13 retained |
21
+ | Screenplay language, standalone tool and MCP | **4.144.0** (`b5da55a2`) | Released tag `v4.144.0` and its unchanged published contract; committed model notes and the standalone open-question gate; equality query filters admitted as ESM v14 since 4.143.0 |
21
22
  | cratis CLI | **3.53.1** | Released tag `v3.53.1`; source-checked, not a new render/browser probe |
22
23
  | Screenplay bundled by CLI | **4.137.0** | CLI `v3.53.1:Directory.Packages.props`; enum-number authoring, not v12 binding |
23
24
  | Stage bundled by CLI | **4.73.1** | Same file; Stage's own `Directory.Packages.props` also pins Screenplay 4.137.0 |
@@ -53,7 +54,7 @@ or renderer probes below as results from the newer bundle.
53
54
 
54
55
  ## Two compilers, one rule
55
56
 
56
- Standalone Screenplay 4.142.0 and CLI 3.53.1's 4.137.0 bundle are different releases.
57
+ Standalone Screenplay 4.144.0 and CLI 3.53.1's 4.137.0 bundle are different releases.
57
58
  Prefer standalone for the current language checks; CLI owns generation, Prologue
58
59
  and rendering. Name the tool/version with every verdict. No verdict transfers
59
60
  between differing compilers without checking the same inputs there.
@@ -83,10 +84,39 @@ in-memory and does not run opaque attachments or external services. CLI-derived
83
84
  specification IDs need not match persisted MCP identities after renames; use MCP
84
85
  for identity-stable selection.
85
86
 
87
+ ## Model notes gate
88
+
89
+ **Standalone Screenplay 4.144.0** ships `--open-questions report|fail`.
90
+ **Cratis CLI 3.53.1 does not have this gate** and bundles Screenplay 4.137.0,
91
+ which also predates the notes MCP tools. Do not add this option to
92
+ `cratis screenplay validate` or assume its bundled MCP supports model notes.
93
+ Sources: Screenplay `v4.144.0:Source/DotNET/Tool/ModelOpenQuestions.cs:18-69,87-131`;
94
+ CLI `v3.53.1:Source/Cli/Commands/Screenplay/ValidateScreenplaySettings.cs:11-85`
95
+ and `Directory.Packages.props:8,35-37`. No newer Cratis CLI gate was verified.
96
+
97
+ ```shell
98
+ screenplay <model-folder> --open-questions report --no-color
99
+ screenplay <model-folder> --scope Library.Loans.CheckIn --open-questions fail --no-color
100
+ ```
101
+
102
+ `report` emits info `model-note.open-question` findings without failing for
103
+ questions. `fail` exits **1** when the selected set has an open question;
104
+ unreadable notes exit **2** when the flag is given. Compilation still runs with
105
+ its own verdict; question findings are MCP/CLI only, **no PLAY code**. With no
106
+ flag the sidecar is ignored, and `--warnaserror` does not gate questions. Tasks
107
+ and ordinary notes do not fail this gate.
108
+
109
+ Scope includes descendants and ancestor notes (application notes too). An
110
+ unscoped report includes orphaned open questions. Absent identity state reports
111
+ all open questions unscoped as orphaned with `identity-state-absent`, rather than
112
+ hiding them behind a scope. Notes never change ESM or V1–V5 verdicts. Read
113
+ model-authoring [model notes](../../cratis-screenplay-model-authoring/references/model-notes.md)
114
+ when recording, resolving, paging or reviewing orphan impact.
115
+
86
116
  ## Admission boundaries
87
117
 
88
- Screenplay `v4.142.0:Source/DotNET/Screenplay/Semantics/Versions.cs` supports
89
- schema pairs through v13. Admission selects by use:
118
+ Screenplay `v4.144.0:Source/DotNET/Screenplay/Semantics/Versions.cs` supports
119
+ schema pairs through v14. Admission selects by use:
90
120
 
91
121
  - v7: generated values/responses and policy negation.
92
122
  - v8: sources/streams and command/specification routes.
@@ -125,6 +155,12 @@ schema pairs through v13. Admission selects by use:
125
155
  explicit `subject` mark refuse PLAY0268. See command-surface
126
156
  `references/compliance.md` and Screenplay decision 0068. Stage 4.76.0 admits
127
157
  only through v12; no current cli bundles this compiler or admits v13.
158
+ - **Published v14 in 4.143.0:** caller-supplied equality filters on collection
159
+ queries with same-named, type-matched scalar read-model properties; no `from`.
160
+ Optional filters may be omitted, supplied null is refused, and `by` plus supplied
161
+ filters combine with AND. Models without filters preserve bytes/revision.
162
+ Screenplay `v4.144.0:decisions/0069-admit-equality-query-filters-as-esm-v14.md:43-88`;
163
+ this newer standalone admission does not upgrade CLI or Stage.
128
164
 
129
165
  Decision 0066 freezes a version when any exposing NuGet/npm package is published,
130
166
  including prereleases. Later byte-changing features take the next version at
@@ -10,6 +10,12 @@
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": "Standalone Screenplay 4.144.0", "file": "references/versions.md" },
14
+ { "kind": "skill-contains", "value": "Cratis CLI 3.53.1 does not have this gate", "file": "references/versions.md" },
15
+ { "kind": "skill-contains", "value": "--open-questions fail", "file": "references/versions.md" },
16
+ { "kind": "skill-contains", "value": "unreadable notes exit **2**", "file": "references/versions.md" },
17
+ { "kind": "skill-contains", "value": "MCP/CLI only, **no PLAY code**", "file": "references/versions.md" },
18
+ { "kind": "skill-contains", "value": "identity-state-absent", "file": "references/versions.md" },
13
19
  { "kind": "skill-contains", "value": "4.141.0" },
14
20
  { "kind": "skill-contains", "value": "Published v12" },
15
21
  { "kind": "skill-contains", "value": "PLAY0671", "file": "references/diagnostics.md" },
@@ -70,7 +70,7 @@ model owner's decision.
70
70
  | `STAGE-ESM-005` | Code validation or rule predicate bodies; or a command beyond the first capability (optional event property, event revision other than the first, validation or requirement that cannot be rendered, no `produces`) | Use declarative validation; non-initial event generations are not rendered |
71
71
  | `STAGE-ESM-006` | `produces` that cannot render without changing its destination or mappings (`produces when`, literal or computed mappings, `for` not a command identifier, mappings not one-to-one with event properties, duplicate tags) | Map properties one to one; conditional outcomes (`produces when`) are a different behavior, so gap-fill unless the owner accepts splitting them into commands |
72
72
  | `STAGE-ESM-007`, `-008`, `-009` | Projection count per read model (exactly one projection or reducer each); unresolvable properties or no single read-model transition (**flat** projections only); affected instance not one, not keyed by an event property, or not the event-source identity (flat projections only) | One projection per read model; see "Projections" below |
73
- | `STAGE-ESM-010` | A query is neither an optional snapshot lookup by the read-model identifier nor an observable collection query (a snapshot list, or an argument concept with validation); each query is checked on its own. Observable list queries (keyed or unkeyed) render since Stage 4.49.0 | Keyed `XById => X optional` queries or `observable` lists; a snapshot list is gap-fill. `filter`, `scoped to`, `performer` queries do not bind (`PLAY0268`) |
73
+ | `STAGE-ESM-010` | A query is neither an optional snapshot lookup by the read-model identifier nor an observable collection query (for example a snapshot list); each query is checked on its own. Observable list queries (keyed or unkeyed) render since Stage 4.49.0. Through Stage 4.79.0 (so in cratis CLI 3.53.1, which bundles 4.73.1) an optional snapshot lookup whose key concept has validation rules is refused; Stage 4.79.1 renders a scalar validated key, in keyed lookups and filtered observable collections, as its primitive and converts it inside the query, so an out-of-rule key finds no instance instead of failing validation, and still refuses a validated concept inside a composite or collection argument (Stage `v4.79.1` `Source/Rendering.Cratis/Semantics/SemanticCratisAdmission.StateView.cs:117-141`) | Keyed `XById => X optional` queries or `observable` lists; a snapshot list is gap-fill. `filter`, `scoped to`, `performer` queries do not bind (`PLAY0268`) |
74
74
  | `STAGE-ESM-011` | A specification cannot render (see the rules below) | Reshape it only if the assertion keeps its meaning; otherwise keep the specification, record the gap, and gap-fill with the specification as the oracle. Never weaken or delete it to get a render |
75
75
  | `STAGE-ESM-012` | Generated C# names collide (properties, types, namespaces, constraints) | Rename |
76
76
  | `STAGE-ESM-013` | An event-context value other than `$context.occurred` mapped in `produces` | Map a command property when that preserves the meaning; otherwise gap-fill |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratis/pi",
3
- "version": "7.37.0",
3
+ "version": "7.38.1",
4
4
  "description": "Configuration-aware Cratis AI integration for Pi",
5
5
  "type": "module",
6
6
  "files": [