@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.
Files changed (241) hide show
  1. package/package/corpus/agents/security-reviewer.md +1 -0
  2. package/package/corpus/agents/spec-writer.md +1 -1
  3. package/package/corpus/harnesses/pi/extensions/shared/rules.ts +3 -1
  4. package/package/corpus/hooks/scripts/cratis-nuget-pins.txt +7 -6
  5. package/package/corpus/hooks/scripts/cratis-release-notes-reviewed.cjs +7 -6
  6. package/package/corpus/hooks/scripts/cratis-store-mutations.json +7 -3
  7. package/package/corpus/product-sync.json +896 -0
  8. package/package/corpus/prompts/add-business-rule.prompt.md +1 -1
  9. package/package/corpus/prompts/ship-changes.prompt.md +2 -2
  10. package/package/corpus/rules/ai-distribution.md +31 -3
  11. package/package/corpus/rules/application-profile.md +2 -1
  12. package/package/corpus/rules/components.md +66 -7
  13. package/package/corpus/rules/concepts.md +11 -3
  14. package/package/corpus/rules/csharp.md +3 -1
  15. package/package/corpus/rules/dialogs.md +9 -0
  16. package/package/corpus/rules/efcore.md +1 -1
  17. package/package/corpus/rules/elixir.md +49 -0
  18. package/package/corpus/rules/framework.md +5 -3
  19. package/package/corpus/rules/general.md +1 -0
  20. package/package/corpus/rules/glossary.md +4 -4
  21. package/package/corpus/rules/go-engineering.md +60 -0
  22. package/package/corpus/rules/go.md +115 -0
  23. package/package/corpus/rules/java.md +5 -2
  24. package/package/corpus/rules/kotlin.md +7 -5
  25. package/package/corpus/rules/orleans.md +65 -9
  26. package/package/corpus/rules/profiles.md +43 -6
  27. package/package/corpus/rules/pull-requests.md +3 -3
  28. package/package/corpus/rules/react.md +8 -1
  29. package/package/corpus/rules/reactors.md +27 -3
  30. package/package/corpus/rules/specs.csharp.md +11 -4
  31. package/package/corpus/rules/specs.scenarios.csharp.md +35 -4
  32. package/package/corpus/rules/specs.typescript.md +2 -1
  33. package/package/corpus/rules/storybook.md +1 -1
  34. package/package/corpus/rules/typescript.md +1 -1
  35. package/package/corpus/rules/vertical-slices.md +37 -5
  36. package/package/corpus/skills/cratis-application-react-specifications/SKILL.md +4 -2
  37. package/package/corpus/skills/cratis-application-slice-specifications/SKILL.md +18 -8
  38. package/package/corpus/skills/cratis-application-slice-specifications/references/query-and-decision-scenarios.md +65 -0
  39. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/SKILL.md +53 -57
  40. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/authentication.md +38 -42
  41. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/authorization.md +18 -7
  42. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/authproxy.md +30 -0
  43. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/frontend.md +12 -9
  44. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/local-development.md +9 -9
  45. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/observable-emission-guards.md +8 -5
  46. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/tenancy.md +20 -4
  47. package/package/corpus/skills/cratis-arc-command/SKILL.md +32 -10
  48. package/package/corpus/skills/cratis-arc-command/references/command-result.md +12 -5
  49. package/package/corpus/skills/cratis-arc-command/references/decisions-and-routing.md +95 -0
  50. package/package/corpus/skills/cratis-arc-command/references/generated-values.md +3 -2
  51. package/package/corpus/skills/cratis-arc-command/references/handler-shapes.md +8 -8
  52. package/package/corpus/skills/cratis-arc-command/references/proxy-generation.md +22 -3
  53. package/package/corpus/skills/cratis-arc-command/references/read-model-injection.md +13 -1
  54. package/package/corpus/skills/cratis-arc-command-execution/SKILL.md +19 -9
  55. package/package/corpus/skills/cratis-arc-command-kotlin/SKILL.md +44 -18
  56. package/package/corpus/skills/cratis-arc-command-kotlin/references/read-model-naming.md +29 -0
  57. package/package/corpus/skills/cratis-arc-command-operation/SKILL.md +10 -9
  58. package/package/corpus/skills/cratis-arc-command-operation/references/execution-and-recovery.md +2 -2
  59. package/package/corpus/skills/cratis-arc-command-operation/references/testing.md +4 -3
  60. package/package/corpus/skills/cratis-arc-command-typescript/SKILL.md +42 -22
  61. package/package/corpus/skills/cratis-arc-command-typescript/references/chronicle-events.md +36 -5
  62. package/package/corpus/skills/cratis-arc-command-typescript/references/command-operations.md +114 -0
  63. package/package/corpus/skills/cratis-arc-command-typescript/references/hosting-and-storage.md +37 -16
  64. package/package/corpus/skills/cratis-arc-command-typescript/references/identity-and-introspection.md +88 -0
  65. package/package/corpus/skills/cratis-arc-command-typescript/references/observability-and-host-scopes.md +25 -0
  66. package/package/corpus/skills/cratis-arc-command-typescript/references/proxy-generation.md +35 -4
  67. package/package/corpus/skills/cratis-arc-command-typescript/references/slice-layout.md +11 -0
  68. package/package/corpus/skills/cratis-arc-command-typescript/verification.json +8 -1
  69. package/package/corpus/skills/cratis-arc-command-validation/SKILL.md +49 -19
  70. package/package/corpus/skills/cratis-arc-ef-core-migration/SKILL.md +12 -6
  71. package/package/corpus/skills/cratis-arc-go/SKILL.md +148 -0
  72. package/package/corpus/skills/cratis-arc-go/references/queries.md +80 -0
  73. package/package/corpus/skills/cratis-arc-hosting/SKILL.md +96 -0
  74. package/package/corpus/skills/cratis-arc-hosting/references/integrations-and-publish.md +80 -0
  75. package/package/corpus/skills/cratis-arc-identity-and-tenancy-kotlin/SKILL.md +137 -0
  76. package/package/corpus/skills/cratis-arc-observable-query-http/SKILL.md +20 -2
  77. package/package/corpus/skills/cratis-arc-query-kotlin/SKILL.md +26 -6
  78. package/package/corpus/skills/cratis-arc-query-paging/SKILL.md +25 -20
  79. package/package/corpus/skills/cratis-arc-query-typescript/SKILL.md +32 -6
  80. package/package/corpus/skills/cratis-arc-query-typescript/references/storage-observation-and-compliance.md +66 -0
  81. package/package/corpus/skills/cratis-arc-query-typescript/verification.json +5 -1
  82. package/package/corpus/skills/cratis-arc-react-page/SKILL.md +24 -13
  83. package/package/corpus/skills/cratis-arc-react-page/references/data-page.md +20 -10
  84. package/package/corpus/skills/cratis-arc-react-page/references/data-tables.md +17 -3
  85. package/package/corpus/skills/cratis-arc-react-page/references/dialogs.md +14 -3
  86. package/package/corpus/skills/cratis-arc-react-page/references/from-screenplay.md +6 -1
  87. package/package/corpus/skills/cratis-arc-react-page/references/provenance.md +1 -1
  88. package/package/corpus/skills/cratis-arc-react-page/references/queries-and-commands.md +11 -1
  89. package/package/corpus/skills/cratis-arc-react-page/verification.json +6 -1
  90. package/package/corpus/skills/cratis-arc-spring-data-kotlin/SKILL.md +163 -0
  91. package/package/corpus/skills/cratis-arc-testing-kotlin/SKILL.md +131 -0
  92. package/package/corpus/skills/cratis-arc-validation-kotlin/SKILL.md +44 -11
  93. package/package/corpus/skills/cratis-arc-validation-typescript/SKILL.md +5 -3
  94. package/package/corpus/skills/cratis-chronicle-cli-operations/SKILL.md +79 -25
  95. package/package/corpus/skills/cratis-chronicle-cli-operations/references/command-effects.md +57 -0
  96. package/package/corpus/skills/cratis-chronicle-client-dotnet/SKILL.md +87 -99
  97. package/package/corpus/skills/cratis-chronicle-client-dotnet/references/additional-surfaces.md +65 -0
  98. package/package/corpus/skills/cratis-chronicle-client-dotnet/references/client-construction.md +42 -0
  99. package/package/corpus/skills/cratis-chronicle-client-dotnet/references/compatibility-check.md +12 -0
  100. package/package/corpus/skills/cratis-chronicle-client-dotnet/references/discovery.md +43 -19
  101. package/package/corpus/skills/cratis-chronicle-client-dotnet/references/hosting.md +29 -1
  102. package/package/corpus/skills/cratis-chronicle-client-elixir/SKILL.md +158 -162
  103. package/package/corpus/skills/cratis-chronicle-client-elixir/references/append-api.md +36 -15
  104. package/package/corpus/skills/cratis-chronicle-client-elixir/references/compliance.md +32 -0
  105. package/package/corpus/skills/cratis-chronicle-client-elixir/references/connections.md +56 -0
  106. package/package/corpus/skills/cratis-chronicle-client-elixir/references/event-sources.md +64 -0
  107. package/package/corpus/skills/cratis-chronicle-client-elixir/references/pitfalls.md +25 -0
  108. package/package/corpus/skills/cratis-chronicle-client-elixir/references/projections.md +48 -0
  109. package/package/corpus/skills/cratis-chronicle-client-elixir/references/upgrading.md +34 -0
  110. package/package/corpus/skills/cratis-chronicle-client-elixir/references/variants.md +13 -5
  111. package/package/corpus/skills/cratis-chronicle-client-elixir/verification.json +23 -0
  112. package/package/corpus/skills/cratis-chronicle-client-go/SKILL.md +162 -0
  113. package/package/corpus/skills/cratis-chronicle-client-go/references/projections.md +73 -0
  114. package/package/corpus/skills/cratis-chronicle-client-kotlin/SKILL.md +87 -88
  115. package/package/corpus/skills/cratis-chronicle-client-kotlin/references/connection-lifecycle.md +13 -0
  116. package/package/corpus/skills/cratis-chronicle-client-kotlin/references/discovery-and-registration.md +14 -4
  117. package/package/corpus/skills/cratis-chronicle-client-kotlin/references/event-sources.md +65 -0
  118. package/package/corpus/skills/cratis-chronicle-client-kotlin/references/options.md +29 -0
  119. package/package/corpus/skills/cratis-chronicle-client-kotlin/references/spring-boot.md +13 -0
  120. package/package/corpus/skills/cratis-chronicle-client-kotlin/references/variants.md +5 -4
  121. package/package/corpus/skills/cratis-chronicle-client-typescript/SKILL.md +165 -156
  122. package/package/corpus/skills/cratis-chronicle-client-typescript/references/read-models-and-projections.md +54 -11
  123. package/package/corpus/skills/cratis-chronicle-client-typescript/references/testing.md +126 -0
  124. package/package/corpus/skills/cratis-chronicle-client-typescript/references/variants.md +3 -5
  125. package/package/corpus/skills/cratis-chronicle-client-typescript/verification.json +19 -0
  126. package/package/corpus/skills/cratis-chronicle-compliance/SKILL.md +36 -13
  127. package/package/corpus/skills/cratis-chronicle-decision-reads/SKILL.md +110 -0
  128. package/package/corpus/skills/cratis-chronicle-decision-reads/references/admission-and-ownership.md +57 -0
  129. package/package/corpus/skills/cratis-chronicle-decision-reads/verification.json +12 -0
  130. package/package/corpus/skills/cratis-chronicle-event-constraints/SKILL.md +58 -19
  131. package/package/corpus/skills/cratis-chronicle-event-constraints/references/closing-streams.md +73 -0
  132. package/package/corpus/skills/cratis-chronicle-event-modeling/SKILL.md +32 -3
  133. package/package/corpus/skills/cratis-chronicle-event-specifications/SKILL.md +18 -5
  134. package/package/corpus/skills/cratis-chronicle-event-type-migration/SKILL.md +32 -2
  135. package/package/corpus/skills/cratis-chronicle-hosting/SKILL.md +134 -0
  136. package/package/corpus/skills/cratis-chronicle-hosting/references/operations.md +89 -0
  137. package/package/corpus/skills/cratis-chronicle-hosting/verification.json +14 -0
  138. package/package/corpus/skills/cratis-chronicle-mcp-inspection/SKILL.md +93 -66
  139. package/package/corpus/skills/cratis-chronicle-mcp-inspection/references/blocked-tools.md +21 -7
  140. package/package/corpus/skills/cratis-chronicle-mcp-inspection/references/deployment.md +77 -0
  141. package/package/corpus/skills/cratis-chronicle-mcp-inspection/references/observational-tools.md +46 -4
  142. package/package/corpus/skills/cratis-chronicle-multi-tenancy/SKILL.md +15 -1
  143. package/package/corpus/skills/cratis-chronicle-projection/SKILL.md +44 -10
  144. package/package/corpus/skills/cratis-chronicle-projection/references/fluent-builder.md +7 -1
  145. package/package/corpus/skills/cratis-chronicle-projection/references/model-bound-attributes.md +8 -0
  146. package/package/corpus/skills/cratis-chronicle-reactor/SKILL.md +85 -105
  147. package/package/corpus/skills/cratis-chronicle-reactor/references/slice-delivery-checklist.md +1 -1
  148. package/package/corpus/skills/cratis-chronicle-reactor/references/specifications.md +20 -1
  149. package/package/corpus/skills/cratis-chronicle-read-model/SKILL.md +2 -2
  150. package/package/corpus/skills/cratis-chronicle-read-model/references/queries.md +35 -16
  151. package/package/corpus/skills/cratis-chronicle-read-model-specifications/SKILL.md +15 -3
  152. package/package/corpus/skills/cratis-chronicle-reducer/SKILL.md +23 -4
  153. package/package/corpus/skills/cratis-chronicle-web-workbench/SKILL.md +40 -15
  154. package/package/corpus/skills/cratis-cli-terminal-workbench/SKILL.md +20 -6
  155. package/package/corpus/skills/cratis-code-review/SKILL.md +25 -3
  156. package/package/corpus/skills/cratis-components-accessibility/SKILL.md +20 -4
  157. package/package/corpus/skills/cratis-components-schema-editor/SKILL.md +40 -28
  158. package/package/corpus/skills/cratis-components-schema-editor/references/tree-layout.md +62 -0
  159. package/package/corpus/skills/cratis-components-schema-editor/verification.json +14 -0
  160. package/package/corpus/skills/cratis-components-stepper-command-dialog/SKILL.md +16 -8
  161. package/package/corpus/skills/cratis-components-styling/SKILL.md +57 -20
  162. package/package/corpus/skills/cratis-components-styling/verification.json +13 -0
  163. package/package/corpus/skills/cratis-components-toolbar/SKILL.md +37 -7
  164. package/package/corpus/skills/cratis-components-toolbar/verification.json +12 -0
  165. package/package/corpus/skills/cratis-engineering-csharp-conventions/SKILL.md +6 -0
  166. package/package/corpus/skills/cratis-engineering-csharp-conventions/references/exceptions-logging-and-di.md +5 -3
  167. package/package/corpus/skills/cratis-fundamentals-concept/SKILL.md +19 -6
  168. package/package/corpus/skills/cratis-fundamentals-concept/references/typescript-concepts.md +97 -0
  169. package/package/corpus/skills/cratis-fundamentals-concept/verification.json +4 -1
  170. package/package/corpus/skills/cratis-fundamentals-concept-go/SKILL.md +112 -0
  171. package/package/corpus/skills/cratis-fundamentals-type-discovery/SKILL.md +54 -17
  172. package/package/corpus/skills/cratis-fundamentals-type-discovery/verification.json +14 -0
  173. package/package/corpus/skills/cratis-lens-browser-extension/SKILL.md +55 -28
  174. package/package/corpus/skills/cratis-performance-review/SKILL.md +5 -2
  175. package/package/corpus/skills/cratis-release-notes/SKILL.md +3 -1
  176. package/package/corpus/skills/cratis-screenplay-automations-and-translations/SKILL.md +5 -4
  177. package/package/corpus/skills/cratis-screenplay-automations-and-translations/references/realization-and-gap-fill.md +1 -1
  178. package/package/corpus/skills/cratis-screenplay-captures-and-reactions/SKILL.md +1 -1
  179. package/package/corpus/skills/cratis-screenplay-command-surface/SKILL.md +5 -6
  180. package/package/corpus/skills/cratis-screenplay-command-surface/references/compliance.md +25 -7
  181. package/package/corpus/skills/cratis-screenplay-command-surface/references/enum-numbers.md +4 -2
  182. package/package/corpus/skills/cratis-screenplay-command-surface/references/generated-values-and-responses.md +4 -1
  183. package/package/corpus/skills/cratis-screenplay-event-modeling/SKILL.md +4 -3
  184. package/package/corpus/skills/cratis-screenplay-event-modeling/references/nine-steps.md +1 -1
  185. package/package/corpus/skills/cratis-screenplay-event-modeling/references/parsed-not-runnable.md +2 -2
  186. package/package/corpus/skills/cratis-screenplay-legacy-extraction/SKILL.md +3 -2
  187. package/package/corpus/skills/cratis-screenplay-legacy-extraction/references/generate-notes.md +34 -4
  188. package/package/corpus/skills/cratis-screenplay-model-authoring/SKILL.md +5 -3
  189. package/package/corpus/skills/cratis-screenplay-model-authoring/references/language-reference.md +1 -1
  190. package/package/corpus/skills/cratis-screenplay-model-authoring/references/mcp-tools.md +4 -2
  191. package/package/corpus/skills/cratis-screenplay-model-authoring/references/property-links.md +42 -3
  192. package/package/corpus/skills/cratis-screenplay-model-authoring/verification.json +3 -1
  193. package/package/corpus/skills/cratis-screenplay-modeling-lifecycle/references/vocabulary-map.md +2 -2
  194. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/SKILL.md +6 -6
  195. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/drift-and-ledger.md +1 -1
  196. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/gap-fill-handoff.md +6 -4
  197. package/package/corpus/skills/cratis-screenplay-render-and-gap-fill/references/renderability-gate.md +1 -1
  198. package/package/corpus/skills/cratis-screenplay-scenario-coverage/SKILL.md +3 -1
  199. package/package/corpus/skills/cratis-screenplay-scenario-coverage/references/invoicing-dues-design.md +1 -1
  200. package/package/corpus/skills/cratis-screenplay-slice-design/SKILL.md +1 -1
  201. package/package/corpus/skills/cratis-screenplay-slice-design/references/rule-layers.md +2 -2
  202. package/package/corpus/skills/cratis-screenplay-slice-design/references/worked-example.md +1 -1
  203. package/package/corpus/skills/cratis-screenplay-specifications/references/examples-and-routes.md +48 -0
  204. package/package/corpus/skills/cratis-screenplay-specifications/verification.json +3 -1
  205. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/SKILL.md +7 -5
  206. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/chronicle-boundaries.md +2 -2
  207. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/consistency-and-concurrency.md +2 -2
  208. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/streams-example.md +5 -4
  209. package/package/corpus/skills/cratis-screenplay-toolchain/SKILL.md +8 -6
  210. package/package/corpus/skills/cratis-screenplay-toolchain/references/cheat-sheet-example.md +2 -2
  211. package/package/corpus/skills/cratis-screenplay-toolchain/references/diagnostics.md +4 -2
  212. package/package/corpus/skills/cratis-screenplay-toolchain/references/doc-contradictions.md +1 -1
  213. package/package/corpus/skills/cratis-screenplay-toolchain/references/executable-subset.md +16 -11
  214. package/package/corpus/skills/cratis-screenplay-toolchain/references/renderable-subset.md +8 -5
  215. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.json +1329 -32
  216. package/package/corpus/skills/cratis-screenplay-toolchain/references/screenplay-contract.version +1 -1
  217. package/package/corpus/skills/cratis-screenplay-toolchain/references/verdicts.md +2 -2
  218. package/package/corpus/skills/cratis-screenplay-toolchain/references/versions.md +23 -7
  219. package/package/corpus/skills/cratis-screenplay-toolchain/verification.json +1 -1
  220. package/package/corpus/skills/cratis-screenplay-ui-composition/SKILL.md +2 -0
  221. package/package/corpus/skills/cratis-screenplay-ui-composition/references/screen-composition-contract.md +27 -9
  222. package/package/corpus/skills/cratis-security-review/SKILL.md +9 -3
  223. package/package/corpus/skills/cratis-security-review/references/arc-boundaries.md +59 -0
  224. package/package/corpus/skills/cratis-specification-by-example/SKILL.md +7 -0
  225. package/package/corpus/skills/cratis-specifications-csharp/SKILL.md +43 -11
  226. package/package/corpus/skills/cratis-specifications-csharp/references/application-scenarios.md +16 -4
  227. package/package/corpus/skills/cratis-specifications-csharp/references/csharp-patterns.md +18 -5
  228. package/package/corpus/skills/cratis-specifications-csharp/references/integration-specs.md +21 -0
  229. package/package/corpus/skills/cratis-specifications-csharp/references/shared-lifecycle.md +34 -0
  230. package/package/corpus/skills/cratis-specifications-csharp/verification.json +13 -0
  231. package/package/corpus/skills/cratis-specifications-typescript/SKILL.md +14 -5
  232. package/package/corpus/skills/cratis-specifications-typescript/verification.json +12 -0
  233. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/SKILL.md +11 -5
  234. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/admission.md +7 -4
  235. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/rendered-application.md +10 -1
  236. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/references/scene-runtime.md +75 -0
  237. package/package/corpus/skills/cratis-stage-rendering-and-sandbox/verification.json +6 -1
  238. package/package/corpus/skills/cratis-studio-mcp-safety-guidance/SKILL.md +14 -1
  239. package/package/profile-catalog.json +68 -1
  240. package/package.json +1 -1
  241. package/src/index.ts +3 -1
@@ -0,0 +1,12 @@
1
+ {
2
+ "skill": "cratis-specifications-typescript",
3
+ "input": "Set up a local given helper and Chai should assertions for TypeScript specifications.",
4
+ "fixtures": [],
5
+ "assertions": [
6
+ { "kind": "skill-contains", "value": "not\na published package export" },
7
+ { "kind": "skill-contains", "value": "relative path to that file" },
8
+ { "kind": "skill-contains", "value": "chai.should()" },
9
+ { "kind": "skill-contains", "value": "sinon-chai" },
10
+ { "kind": "skill-contains", "value": "chai-as-promised" }
11
+ ]
12
+ }
@@ -44,9 +44,11 @@ Current pins and the tool split: `cratis-screenplay-toolchain/references/version
44
44
  were read at Stage `v4.73.1` (`Source/Rendering.Cratis/**`, `Documentation/guides/build-renderer-target.md`,
45
45
  `Documentation/reference/render-plans.md`, `Documentation/docker/**`) and cli `v3.53.1`
46
46
  (`Documentation/reference/screenplay.md`, `Source/Cli/Commands/Render/**`), not by a render run
47
- unless a line says *observed*. CLI 3.53.1 bundles Screenplay 4.137.0 and Stage 4.73.1, so its
48
- binder is behind the standalone 4.139.0 compiler. Stage 4.73.1's scaffold pins Arc 22.68.0, Chronicle 19.45.0, Components 4.26.2, Scene 4.21.0 and
49
- Fundamentals 7.22.8. These are **not** the latest releases; do not bump them in managed files
47
+ unless a line says *observed*. CLI 3.53.1 bundles a Screenplay and Stage listed in `cratis-screenplay-toolchain` `references/versions.md`, so its
48
+ binder is behind the standalone compiler. Stage's scaffold pins Arc, Chronicle, Components, Scene and
49
+ Fundamentals releases (listed in the rendered application reference). Scene's
50
+ runtime surface was re-read at the Scene tag in that scaffold table
51
+ (`README.md`, `Source/JavaScript/{model,engine,react,components}/**`). These are **not** the latest releases; do not bump them in managed files
50
52
  ([rendered application](references/rendered-application.md)).
51
53
 
52
54
  Historical executed baselines (history, not current claims): Stage `v4.24.2` and cli
@@ -134,10 +136,12 @@ receipt.
134
136
 
135
137
  Facts that surprise:
136
138
 
137
- - **Binding uses the CLI's bundled Screenplay** (4.137.0 in cratis 3.53.1; the standalone tool is
139
+ - **Binding uses the CLI's bundled Screenplay** (the version listed in `cratis-screenplay-toolchain` `references/versions.md`; the standalone tool is
138
140
  newer). A model that binds is not necessarily renderable: Stage 4.73.1 admits ESM v1 to v10 by
139
141
  version, then refuses each construct it does not render with its own code (below). v11 or newer is
140
- `CLI-RENDER-004`; direct Stage reports `STAGE-ESM-016`.
142
+ `CLI-RENDER-004`; direct Stage reports `STAGE-ESM-016`. Standalone Stage 4.75.0 admits v11 and 4.76.0
143
+ v1 to v12, and Stage 4.74.0 renders UUID-concept generated values and responses (read at `v4.76.0`),
144
+ but no cli release bundles them yet (cli 3.53.1 bundles Stage 4.73.1): cli users still need gap-fill.
141
145
  - **Render never builds, tests or runs** the output. A published render is admission and
142
146
  publication only; build and tests are separate results (see "Verify"). Admission can be
143
147
  green while a rendered Debug test fails (the example hit this with a query assertion).
@@ -193,6 +197,8 @@ the `[Command]` record and `Handle()`, the `[EventType]` event, the validator an
193
197
  scaffold pins and the `Customizations/` contract are in
194
198
  [references/rendered-application.md](references/rendered-application.md).
195
199
  Read `references/rendered-application.md` when inspecting scaffold pins, managed-file ownership, or implementing a `Customizations/` extension.
200
+ Read [Scene runtime](references/scene-runtime.md) when identifying the generated UI's
201
+ package ids, host capabilities or the boundary from hand-built Components pages.
196
202
 
197
203
  Modeled specifications become xunit classes compiled in **Debug only**
198
204
  (`IsTestProject` when Debug): a command spec `when_<snake>` in namespace
@@ -17,7 +17,9 @@ sections marked *historical* or naming Stage 4.24 or cratis 3.27/3.28 are earlie
17
17
  history. Stage 4.73.1 admits ESM v1 to v10 by version, and the CLI 3.53.1 bundle (Screenplay
18
18
  4.137.0) binds through v10 for rendering.
19
19
  The pinned CLI admits through ESM v10 to construct planning; a bound newer model
20
- gets CLI-RENDER-004. Binding with the bundled compiler is a separate prerequisite.
20
+ gets CLI-RENDER-004. Standalone Stage 4.75.0 admits ESM v11 and Stage 4.76.0 admits v1 to v12
21
+ (read at `v4.76.0`), but no cli release bundles Stage 4.74 to 4.76 yet: a cli user still gets the
22
+ Stage 4.73.1 behavior in this file until a cli bundles Stage 4.76.0 or later. Binding with the bundled compiler is a separate prerequisite.
21
23
  The pinned Stage's `SemanticVersionFeatures`/`SemanticVersionFeatureAdmission` refuse
22
24
  public publication (STAGE-ESM-032), foreign events/events-source captures (033),
23
25
  reaction identity (034), reaction filters (035) and production overrides (036).
@@ -74,7 +76,7 @@ model owner's decision.
74
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 |
75
77
  | `STAGE-ESM-014` | A constraint Chronicle cannot reproduce (kind, scope, message; multi-claim in one command; optional or composite targets) | A different constraint is a requirement change for the model owner; otherwise gap-fill |
76
78
  | `STAGE-ESM-015` | Authorization Stage cannot render exactly (4.73.1): a role-claim URI, an opaque policy nested inside a condition, an unresolved or non-portable policy, no single identifier, an opaque-policy subject that is not text, Uuid, Date or DateTime (Stage 4.73.1 `IsTextualSubject`; a restriction on opaque-policy subjects, separate from declarative claim targets), an unsupported claim artifact. Role-only, authenticated, opaque pure policies, claim conditions with Uuid, Date, DateTime or text targets (numeric and Boolean claim matches render as always false; Stage 4.73.1 `IsSupportedClaimPath`) and `not`/and/or render; roles are read through the identity's `RoleClaimType` | Reshape the policy to a portable condition; otherwise gap-fill. *Historical (4.24/3.27.1):* a role alone, an opaque policy or a Uuid-backed claim were refused here |
77
- | `STAGE-ESM-016` | Model language or semantic version is above ESM v10 (Stage 4.73.1 admits v1 to v10 by version; the CLI reports `CLI-RENDER-004` for v11 or newer first). *Historical:* Stage 4.24.2 admitted v1 to v4 and 4.24.1 and earlier v1 to v3 | Not fixable by editing: the model needs a newer renderer. Keep the model, record the gap, gap-fill |
79
+ | `STAGE-ESM-016` | Model language or semantic version is above ESM v10 (Stage 4.73.1 admits v1 to v10 by version; the CLI reports `CLI-RENDER-004` for v11 or newer first). Standalone Stage 4.75.0 admits v11 and 4.76.0 v1 to v12; later or mixed versions still get this code there. *Historical:* Stage 4.24.2 admitted v1 to v4 and 4.24.1 and earlier v1 to v3 | Not fixable by editing: the model needs a newer renderer. Keep the model, record the gap, gap-fill |
78
80
  | `STAGE-ESM-017` | Read model or projection cannot render (property names that collide with Chronicle paths or expression syntax, mappings that overwrite the key or child identity, composite keys, `all`, the refused scope shapes below) | Reshape the projection without changing what it records, or record the gap |
79
81
  | `STAGE-ESM-018` | `$strings.` key missing in the default locale or containing formatting characters | Fix the strings |
80
82
  | `STAGE-ESM-019` | Reducer structure or body not admitted (outside a `StateView`, impure, does not compile) | An equivalent pure body, or gap-fill |
@@ -84,12 +86,13 @@ model owner's decision.
84
86
  | `STAGE-ESM-026` | A selected event, or an event a selected slice depends on (producing command, observing projection or reducer, specification, constraint target), is above its initial revision (still refused at Stage 4.73.1): `Event 'X' has evolved to revision N; Stage does not render event migrations yet.` The whole selection is refused, nothing is emitted | Not fixable by editing without dropping the evolution. Stage#204 (needs Screenplay#71) tracks migration rendering; gap-fill the evolved events and hand-write the migrations (`cratis-chronicle-event-type-migration`). A scoped slice of initial events that depends on no evolved event still renders |
85
87
  | `STAGE-ESM-024` | ESM v6 and v9 constructs Stage 4.73.1 does not render: application triggers, interval, schedule, application, startup and shutdown triggers, opaque reaction bodies, every event-triggered reaction, captures, `Automation` and `Translate` slices (including directed Translate), and specifications with a clock, trigger or capture. The renderer, Host and specification executor refuse every reaction model | Keep the model; hand-write the automation or translation (gap-fill) with the model as the contract |
86
88
  | `STAGE-ESM-027` | A specification asserting a read model is absent (`then no readmodel`, ESM v5) is not rendered by the renderer (the semantic specification engine executes keyed absence) | Keep the specification; verify absence another way and record the gap |
87
- | `STAGE-ESM-028`, `-029` | Generated command property values and generation fixtures (ESM v7); command responses and `then returns` expectations (ESM v7) (Stage#175, also reached by `cratis screenplay generate` output from Arc 22.52.0) | Keep the model; gap-fill |
89
+ | `STAGE-ESM-028`, `-029` | Generated command property values and generation fixtures (ESM v7); command responses and `then returns` expectations (ESM v7) (Stage#175, also reached by `cratis screenplay generate` output from Arc 22.52.0). Refused by Stage 4.73.1 (the Stage in cli 3.53.1); standalone Stage 4.74.0 and later render server-generated UUID-concept values and scalar or named responses (ledger rows are `rendered` at `v4.76.0`), so these are no longer refusals there | With cli 3.53.1 keep the model and gap-fill; with Stage 4.74.0 or later render it |
90
+ | `STAGE-ESM-038` | Stage 4.74.0 and later: a generated-value or response combination the target cannot preserve | Keep the model; gap-fill that command |
88
91
  | `STAGE-ESM-030` | Named event-source or stream definition with a reserved stored name; unformattable routed fixtures; routed read-model or query replay in an unsupported shape. The default sandbox engine also reports it for every routed model | Rename the reserved name; render the model with `cratis render`, not `cratis run` |
89
92
  | `STAGE-ESM-031` | Whole-number literal outside the C# `int` range below ESM v8 (v8 and later render `long`) | Raise the model to v8 constructs or gap-fill |
90
93
  | `STAGE-ESM-032`, `-033` | Public events and event-target projections or reducers (ESM v9); foreign event origins and event-source captures | Gap-fill |
91
94
  | `STAGE-ESM-034`, `-035`, `-036` | Reaction `runsAs` (ESM v10), reaction observer `from` filters, per-production route overrides (reducer `from` filters render) | Gap-fill |
92
- | `STAGE-ESM-037` | A reaction trigger that both produces events and invokes commands (ESM v6). A Stage refusal (Stage#207), not an Arc or language limit: Arc 22.72.0 and later run one reactor that returns events and commands (events appended first as one batch, then commands in order, no cross-effect transaction) | **Do not split the modeled reaction or drop `produces`/`invokes`.** Keep it and gap-fill it as one reactor on Arc 22.72.0 or later (the scaffold pins 22.68.0, whose command handler accepts a collection only when every element is a command; a rendered app needs a proven dependency override; see `rendered-application.md`) |
95
+ | `STAGE-ESM-037` | A reaction trigger that both produces events and invokes commands (ESM v6). A Stage refusal (Stage#207), not an Arc or language limit: Arc 22.72.0 and later run one reactor that returns events and commands (events appended first as one batch, then commands in order, no cross-effect transaction) | **Do not split the modeled reaction or drop `produces`/`invokes`.** Keep it and gap-fill it as one reactor on Arc 22.72.0 or later (the Arc the scaffold pins has a command handler that accepts a collection only when every element is a command; a rendered app needs a proven dependency override; see `rendered-application.md` for the pinned Arc) |
93
96
  | `STAGE-ESM-023` | Information: transition bodies analysed | none |
94
97
  | `STAGE-CRATIS-001` to `-005` | Profile or `scene.json` not the package-owned shape; unrecognized or missing scaffold input; artifact path collision; a modeled module or feature that would render into the reserved `Customizations/` | Rename the module or feature (005) |
95
98
  | `STAGE-AUTH-001` | Authorization cannot be rendered faithfully | As `STAGE-ESM-015` |
@@ -30,9 +30,18 @@ probes above keep their original labels.
30
30
  | Chronicle client | `Cratis.Chronicle`, `.AspNetCore` and `.Testing` `19.45.0`, matched to the `cratis/chronicle:19.45.0-development` image in the compose file |
31
31
  | Embedded reverse extraction | `CratisEmbeddedScreenplayEnabled=false`: the source `.play` is authoritative |
32
32
  | Test packages | `Cratis.Specifications` and `.XUnit` 4.1.1, Microsoft.NET.Test.Sdk 18.10.1, NSubstitute 6.2.0, xunit 2.9.3, xunit runner 4.0.0; **Debug configuration only** (`IsTestProject` when Debug) |
33
- | Frontend | Vite 8.3.0 and React 19.3.0; `@cratis/arc`, `arc.react`, `arc.vite` 22.58.2; `@cratis/components` 4.26.2; `@cratis/scene` 4.21.0; `@cratis/fundamentals` 7.22.8 |
33
+ | Frontend | Vite 8.3.0 and React 19.3.0; `@cratis/arc`, `arc.react`, `arc.vite` 22.58.2; `@cratis/components` 4.26.2; `@cratis/scene.*` 4.21.0; `@cratis/fundamentals` 7.22.8 |
34
34
  | Package management | central package management **off**; `Directory.Packages.props` is managed, do not edit it |
35
35
 
36
+ The Scene family pin above applies to six scaffold dependencies:
37
+ `@cratis/scene.blueprint.default`, `@cratis/scene.components`, `@cratis/scene.engine`,
38
+ `@cratis/scene.model`, `@cratis/scene.primereact`, and `@cratis/scene.react`.
39
+ Source: Stage `v4.73.1:CratisFrontendApplicationScaffold.cs`, `Dependencies`,
40
+ and `CratisFrontendPackageSet.cs`, `Current`. `@cratis/scene` is **not** a package
41
+ in this family. Read [Scene runtime](scene-runtime.md) when distinguishing the
42
+ runtime from a hand-built Components page. The latest Components verification
43
+ in this corpus is 4.26.4; it does not change the scaffold's 4.26.2 pin.
44
+
36
45
  Consequences: `[ProtectedDecision]` (`Cratis.Arc.Chronicle.ReadModels`) and
37
46
  `DecisionRead<T>` / `IDecisionReads` (`Cratis.Chronicle.ReadModels`) are available
38
47
  in this scaffold's package set, as is `[ExecuteCommandsAsSystem]`. This is API
@@ -0,0 +1,75 @@
1
+ <!-- Copyright (c) Cratis. All rights reserved. -->
2
+ <!-- Licensed under the MIT license. See LICENSE file in the project root for full license information. -->
3
+
4
+ # Scene in a rendered application
5
+
6
+ ## Contents
7
+
8
+ - What Scene is
9
+ - Packages and ownership
10
+ - Runtime capabilities
11
+
12
+ Source-checked at the Scene release in [scaffold pins](rendered-application.md),
13
+ Scene `README.md`, `Documentation/package-hosting.md`, and
14
+ `Source/JavaScript/{model,engine,react,components}/**`. Stage package selection
15
+ was checked at v4.73.1, `CratisFrontendPackageSet.cs` (`Current`) and
16
+ `CratisFrontendApplicationScaffold.cs` (`Dependencies`). This is not a render
17
+ or browser test.
18
+
19
+ ## What Scene is
20
+
21
+ Scene is the **experimental**, platform-neutral UI object model and runtime of
22
+ the model-first stack: Screenplay describes the application; Stage emits it;
23
+ Scene represents and renders its UI. Studio's design-time tools edit this model.
24
+ `Cratis.Scene.Model` / `@cratis/scene.model` hold screens, layouts, forms,
25
+ templates and profiles. `Cratis.Scene.Engine` / `@cratis/scene.engine` resolve
26
+ bindings, navigation and packages. `@cratis/scene.react` is the React renderer.
27
+
28
+ A hand-built React application consuming Components does not need Scene. A
29
+ Scene-rendered screen and a hand-built Components page share the controls, not
30
+ ownership or host APIs. Do not add Scene merely to build a DataPage.
31
+
32
+ ## Packages and ownership
33
+
34
+ The npm family is `@cratis/scene.model`, `@cratis/scene.engine`,
35
+ `@cratis/scene.react`, `@cratis/scene.components`, `@cratis/scene.primereact`,
36
+ `@cratis/scene.blueprint.default`, `@cratis/scene.blueprint.components`, and
37
+ `@cratis/scene.tailwind`. `@cratis/scene` is not this product's package id.
38
+ Stage pins six members at the shared version in the scaffold table; it does not
39
+ install every family member. `@cratis/scene.components` maps Components onto
40
+ Scene and offers a runtime-only `/runtime` entry (no design-time bundle).
41
+ Its Components peer range is `^4.13.0`, not Stage's exact scaffold pin.
42
+
43
+ Stage manages `scene.json`, `src/bindings.ts`, the generated host and runtime
44
+ files through `.cratis-render.json`. Change the accepted `.play` model and render
45
+ again, never hand-edit those files or bump their dependencies. `Customizations/`
46
+ is the user-owned seam; it cannot repair rejected model admission. A Scene
47
+ release is not a Stage release and does not prove Stage emits a new capability.
48
+
49
+ ## Runtime capabilities
50
+
51
+ At the current scaffold Scene release (4.21):
52
+
53
+ - `Screen.path` and `NavigationItem.hierarchy` describe module/feature paths,
54
+ outermost first. Nested `core:outlet` composition keeps parent screens visible.
55
+ - `createBrowserSceneHistory` and `createHashSceneHistory` support deep links
56
+ and back/forward. Dialogs are history entries; `closeDialog(result)` closes them.
57
+ - Inputs publish `value` through `useValueOutput`. Command actions resolve
58
+ `component.<id>.<output>` via `resolveArgumentSource`. `useBoundQuery` reruns
59
+ on changed arguments, aborts prior runs and discards stale answers; cleared or
60
+ failed bindings remove the previous data.
61
+ - `core:toolbar` / `core:toolbarItem`: Action items announce the command and
62
+ resolved parameters with `cratis.scene.command`; Navigate/Dialog items use
63
+ the navigation host, or announce navigation outside one. Host wiring is still
64
+ required to execute commands.
65
+ - The default blueprint supplies `MasterDetail`; the Components blueprint has
66
+ `SettingsPage`. Object descriptors support nested `properties` and `open`.
67
+ - `ApprovedPackageSet`, `loadApprovedPackages`, and `resolveApprovedPackageHost`
68
+ match declared packages to runtime bundles. The host approves executable
69
+ imports and network assets; an explicit importer map is not arbitrary module
70
+ loading. Diagnostics block mismatched or unavailable bundles.
71
+
72
+ Keep authoring acceptance, executable admission and runtime behavior separate.
73
+ Require Stage's plan/diagnostics for emission and a browser run for UI parity;
74
+ source verification alone proves neither. For authoring details read
75
+ `cratis-screenplay-ui-composition/references/screen-composition-contract.md`.
@@ -5,6 +5,11 @@
5
5
  "assertions": [
6
6
  { "kind": "skill-contains", "value": "pinned Stage default applies both rules" },
7
7
  { "kind": "skill-contains", "value": "Reducer filters render" },
8
+ { "kind": "skill-contains", "value": "references/scene-runtime.md" },
9
+ { "kind": "skill-contains", "value": "`@cratis/scene.*`", "file": "references/rendered-application.md" },
10
+ { "kind": "skill-contains", "value": "`@cratis/scene` is not this product's package id", "file": "references/scene-runtime.md" },
11
+ { "kind": "skill-contains", "value": "A Scene\nrelease is not a Stage release", "file": "references/scene-runtime.md" },
12
+ { "kind": "skill-contains", "value": "ApprovedPackageSet", "file": "references/scene-runtime.md" },
8
13
  { "kind": "play-compiles" },
9
14
  { "kind": "skill-contains", "value": "`cratis render`" },
10
15
  { "kind": "skill-contains", "value": "`--name <NAME>` | **Required for plain source**" },
@@ -13,7 +18,7 @@
13
18
  { "kind": "skill-contains", "value": "means stop and reconcile" },
14
19
  { "kind": "skill-contains", "value": "STAGE-ESM-016" },
15
20
  { "kind": "skill-contains", "value": "**Render never builds, tests or runs**" },
16
- { "kind": "skill-contains", "value": "Arc 22.68.0" },
21
+ { "kind": "skill-contains", "value": "scaffold pins Arc, Chronicle, Components, Scene and" },
17
22
  { "kind": "skill-contains", "value": "`[ProtectedDecision]`" },
18
23
  { "kind": "skill-contains", "value": "`Customizations/`" },
19
24
  { "kind": "skill-contains", "value": "`Stage__Runtime__Engine=semantic`" },
@@ -10,13 +10,26 @@ Treat Studio MCP access as access to live product and organization data. This
10
10
  skill classifies intent only. It does not discover, configure, install, or call
11
11
  an MCP server.
12
12
 
13
+ ## Verified product sources
14
+
15
+ | Source | Version | Purpose |
16
+ | --- | --- | --- |
17
+ | Studio public product announcement | `v0.73.0` | Organization-scoped, credential-gated MCP availability, not tool-effect admission |
18
+ | `Cratis/Studio` | `v0.157.5` | Private repository; implementation evidence is **not admitted** |
19
+
20
+ Studio has an organization-scoped, credential-gated MCP endpoint. Availability
21
+ and credentials do not establish that an operation is observational. The private
22
+ repository cannot supply this public skill's required immutable public effect
23
+ evidence; do not publish its tool names, schemas or implementation details.
24
+ Treat edits and dynamically delegated work as effectful by default.
25
+
13
26
  ## Current authority boundary
14
27
 
15
28
  No Studio MCP implementation source, operation, prompt, resource, schema, or
16
29
  revision is admitted. An empty inventory means **nothing is authorized**; it
17
30
  does not mean the upstream product has no capabilities.
18
31
 
19
- Read the generated classifications before answering:
32
+ Read the classifications before answering:
20
33
 
21
34
  - [Observational guidance](references/observational-tools.md) contains no
22
35
  admitted observational operations.
@@ -19,6 +19,7 @@
19
19
  "cratis/arc/core",
20
20
  "cratis/arc/csharp",
21
21
  "cratis/arc/ef-core",
22
+ "cratis/arc/go",
22
23
  "cratis/arc/identity",
23
24
  "cratis/arc/java",
24
25
  "cratis/arc/kotlin",
@@ -28,6 +29,7 @@
28
29
  "cratis/chronicle",
29
30
  "cratis/chronicle/client-dotnet",
30
31
  "cratis/chronicle/client-elixir",
32
+ "cratis/chronicle/client-go",
31
33
  "cratis/chronicle/client-java",
32
34
  "cratis/chronicle/client-kotlin",
33
35
  "cratis/chronicle/client-python",
@@ -54,9 +56,11 @@
54
56
  "cratis/full/kotlin",
55
57
  "cratis/full/typescript",
56
58
  "cratis/fundamentals",
59
+ "cratis/fundamentals/go",
57
60
  "cratis/fundamentals/type-discovery",
58
61
  "cratis/language/csharp",
59
62
  "cratis/language/elixir",
63
+ "cratis/language/go",
60
64
  "cratis/language/java",
61
65
  "cratis/language/kotlin",
62
66
  "cratis/language/typescript",
@@ -74,6 +78,7 @@
74
78
  "languages": [
75
79
  "csharp",
76
80
  "elixir",
81
+ "go",
77
82
  "java",
78
83
  "kotlin",
79
84
  "language-agnostic",
@@ -249,7 +254,10 @@
249
254
  "availableTargets": [
250
255
  "cratis-arc-command-kotlin",
251
256
  "cratis-arc-query-kotlin",
252
- "cratis-arc-validation-kotlin"
257
+ "cratis-arc-validation-kotlin",
258
+ "cratis-arc-testing-kotlin",
259
+ "cratis-arc-identity-and-tenancy-kotlin",
260
+ "cratis-arc-spring-data-kotlin"
253
261
  ],
254
262
  "languages": [
255
263
  "java",
@@ -263,6 +271,7 @@
263
271
  "cratis-arc-command-execution",
264
272
  "cratis-arc-command-operation",
265
273
  "cratis-arc-command-validation",
274
+ "cratis-arc-hosting",
266
275
  "cratis-arc-observable-query-http",
267
276
  "cratis-arc-query-paging"
268
277
  ],
@@ -298,6 +307,19 @@
298
307
  "csharp"
299
308
  ]
300
309
  },
310
+ {
311
+ "id": "cratis/arc/go",
312
+ "composes": [
313
+ "cratis/language/go",
314
+ "cratis/fundamentals/go"
315
+ ],
316
+ "availableTargets": [
317
+ "cratis-arc-go"
318
+ ],
319
+ "languages": [
320
+ "go"
321
+ ]
322
+ },
301
323
  {
302
324
  "id": "cratis/arc/identity",
303
325
  "composes": [
@@ -406,6 +428,19 @@
406
428
  "elixir"
407
429
  ]
408
430
  },
431
+ {
432
+ "id": "cratis/chronicle/client-go",
433
+ "composes": [
434
+ "cratis/language/go",
435
+ "cratis/fundamentals/go"
436
+ ],
437
+ "availableTargets": [
438
+ "cratis-chronicle-client-go"
439
+ ],
440
+ "languages": [
441
+ "go"
442
+ ]
443
+ },
409
444
  {
410
445
  "id": "cratis/chronicle/client-java",
411
446
  "composes": [
@@ -456,9 +491,11 @@
456
491
  {
457
492
  "id": "cratis/chronicle/core",
458
493
  "availableTargets": [
494
+ "cratis-chronicle-decision-reads",
459
495
  "cratis-chronicle-event-constraints",
460
496
  "cratis-chronicle-event-modeling",
461
497
  "cratis-chronicle-event-type-migration",
498
+ "cratis-chronicle-hosting",
462
499
  "cratis-chronicle-projection",
463
500
  "cratis-chronicle-reactor",
464
501
  "cratis-chronicle-read-model",
@@ -729,6 +766,18 @@
729
766
  "csharp"
730
767
  ]
731
768
  },
769
+ {
770
+ "id": "cratis/fundamentals/go",
771
+ "composes": [
772
+ "cratis/language/go"
773
+ ],
774
+ "availableTargets": [
775
+ "cratis-fundamentals-concept-go"
776
+ ],
777
+ "languages": [
778
+ "go"
779
+ ]
780
+ },
732
781
  {
733
782
  "id": "cratis/fundamentals/type-discovery",
734
783
  "composes": [
@@ -753,6 +802,12 @@
753
802
  "elixir"
754
803
  ]
755
804
  },
805
+ {
806
+ "id": "cratis/language/go",
807
+ "languages": [
808
+ "go"
809
+ ]
810
+ },
756
811
  {
757
812
  "id": "cratis/language/java",
758
813
  "languages": [
@@ -903,6 +958,7 @@
903
958
  "cratis/engineering/core",
904
959
  "cratis/engineering/csharp",
905
960
  "cratis/engineering/elixir",
961
+ "cratis/engineering/go",
906
962
  "cratis/engineering/kotlin",
907
963
  "cratis/engineering/react",
908
964
  "cratis/engineering/typescript"
@@ -912,6 +968,7 @@
912
968
  "typescript",
913
969
  "kotlin",
914
970
  "elixir",
971
+ "go",
915
972
  "react",
916
973
  "language-agnostic"
917
974
  ]
@@ -951,6 +1008,16 @@
951
1008
  "elixir"
952
1009
  ]
953
1010
  },
1011
+ {
1012
+ "id": "cratis/engineering/go",
1013
+ "composes": [
1014
+ "cratis/engineering/core",
1015
+ "cratis/language/go"
1016
+ ],
1017
+ "languages": [
1018
+ "go"
1019
+ ]
1020
+ },
954
1021
  {
955
1022
  "id": "cratis/engineering/kotlin",
956
1023
  "composes": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratis/pi",
3
- "version": "7.34.0",
3
+ "version": "7.35.0",
4
4
  "description": "Configuration-aware Cratis AI integration for Pi",
5
5
  "type": "module",
6
6
  "files": [
package/src/index.ts CHANGED
@@ -82,10 +82,12 @@ function ruleMatchesConfiguration(path: string, content: string, configuration:
82
82
  const applyTo = frontmatterValue(content, 'applyTo') ?? '';
83
83
  const needsCSharp = applyTo.includes('.cs');
84
84
  const needsTypeScript = applyTo.includes('.ts') || path.endsWith('/rtk.md');
85
+ const needsGo = applyTo.includes('.go') || applyTo.includes('go.mod') || applyTo.includes('go.sum');
85
86
  const needsDocumentation = applyTo.includes('md');
86
- if (!needsCSharp && !needsTypeScript && !needsDocumentation) return true;
87
+ if (!needsCSharp && !needsTypeScript && !needsGo && !needsDocumentation) return true;
87
88
  return (needsCSharp && languages.includes('csharp')) ||
88
89
  (needsTypeScript && languages.includes('typescript')) ||
90
+ (needsGo && languages.includes('go')) ||
89
91
  (needsDocumentation && selectedProfiles.includes('cratis/documentation'));
90
92
  }
91
93