@cratis/pi 7.27.0 → 7.27.2
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/rules/codescene.md +5 -3
- package/package/corpus/rules/profiles.md +6 -4
- package/package/corpus/skills/cratis-screenplay-model-authoring/references/screen-authoring-workflow.md +22 -2
- package/package/corpus/skills/cratis-screenplay-ui-composition/references/screen-composition-contract.md +33 -3
- package/package/corpus/skills/cratis-stage-rendering-and-sandbox/SKILL.md +1 -1
- package/package.json +1 -1
|
@@ -6,9 +6,11 @@ profile: cratis/codescene
|
|
|
6
6
|
|
|
7
7
|
This policy applies only when the repository explicitly selects `cratis/codescene`
|
|
8
8
|
or a descendant profile. It overrides the vendored CodeScene skills where they
|
|
9
|
-
differ.
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
differ. Neither the Cratis CLI nor any harness registers the CodeScene MCP server,
|
|
10
|
+
because it needs a per-user CodeScene account and a locally installed binary.
|
|
11
|
+
Each user registers it in their own user-level MCP configuration, never in
|
|
12
|
+
committed project files: `cs-mcp` over stdio (`brew install cs-mcp`), or
|
|
13
|
+
`npx -y @codescene/codehealth-mcp`.
|
|
12
14
|
CodeScene needs an account and OAuth `login`. Without an account or available
|
|
13
15
|
CodeScene tools, skip these steps and say so; never block contributors who have
|
|
14
16
|
not opted in.
|
|
@@ -141,7 +141,7 @@ Standalone Chronicle client usage (no Arc) in TypeScript is
|
|
|
141
141
|
| `cratis/documentation` | Reader-centered product docs, technical examples, release notes, and voice review |
|
|
142
142
|
| `cratis/content` | Release notes, social feed posts, voice review, content length, and developer marketing and distribution |
|
|
143
143
|
| `cratis/review` | Code review, performance, security |
|
|
144
|
-
| `cratis/codescene` | Opt-in CodeScene Code Health change gates, refactoring, debt prioritization and risk-based testing; requires an account and available MCP tools;
|
|
144
|
+
| `cratis/codescene` | Opt-in CodeScene Code Health change gates, refactoring, debt prioritization and risk-based testing; requires an account and available MCP tools; each user registers the MCP server (see below) |
|
|
145
145
|
| `cratis/studio` | Studio MCP safety guidance |
|
|
146
146
|
| `cratis/cli` | CLI operations |
|
|
147
147
|
| `cratis/lens` | Lens browser extension |
|
|
@@ -158,9 +158,11 @@ The [CodeScene policy](./codescene.md) overrides those skills where they differ.
|
|
|
158
158
|
No other profile, including `cratis` and `cratis/full`, composes it.
|
|
159
159
|
|
|
160
160
|
The profile selects the `codescene` stdio server (`cs-mcp`, no arguments) from
|
|
161
|
-
`mcp-servers.json`, but
|
|
162
|
-
|
|
163
|
-
|
|
161
|
+
`mcp-servers.json`, but neither the Cratis CLI nor any harness registers it,
|
|
162
|
+
because it needs a per-user CodeScene account and a locally installed binary.
|
|
163
|
+
Each user registers it in their own user-level MCP configuration, never in
|
|
164
|
+
committed project files: `cs-mcp` over stdio (`brew install cs-mcp`), or
|
|
165
|
+
`npx -y @codescene/codehealth-mcp`.
|
|
164
166
|
CodeScene needs an account and OAuth `login`; without an account or available
|
|
165
167
|
CodeScene tools, skip its steps and say so rather than blocking contributors.
|
|
166
168
|
The MCP catalog has no install-hints field and does not install the executable.
|
|
@@ -109,6 +109,25 @@ contract for `--workspace` and keep its application identity equal to the source
|
|
|
109
109
|
name. Build/tests/runtime checks are then the V5 steps owned by
|
|
110
110
|
`cratis-screenplay-render-and-gap-fill` and `cratis-stage-rendering-and-sandbox`.
|
|
111
111
|
|
|
112
|
+
Before re-rendering an edited model over an earlier render, preview it:
|
|
113
|
+
|
|
114
|
+
```shell
|
|
115
|
+
cratis render <model-folder> --name <ApplicationName> --destination <render-dir> --check -o json
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
`--check` (CLI 3.44.0) plans exactly like a render and reports per path what a real
|
|
119
|
+
render would write, delete, leave unchanged or refuse, without writing anything. It
|
|
120
|
+
exits `0` when the destination is current, `6` (`changes_pending`) when a render
|
|
121
|
+
would change it and `5` when planning is refused. Since CLI 3.45.0 the receipt lists
|
|
122
|
+
for every path the semantic declarations it realizes (`sources`: id, kind and a
|
|
123
|
+
`Module/Feature/Slice/Name` address) and a `bySource` view mapping each declaration
|
|
124
|
+
to its files. After an MCP edit, use `bySource` to confirm the edited screen or
|
|
125
|
+
binding changed exactly the files you expect, and `semantic-diff` (MCP, Screenplay
|
|
126
|
+
4.131.0: `before` and `after` as `{ "workspace": "active" }`, `{ "path": "<folder>" }`
|
|
127
|
+
or `{ "workspaceJson": "<export>" }`) to compare the model before and after the
|
|
128
|
+
edit. These are newer than the verified vector: report them as published, not as
|
|
129
|
+
executed there.
|
|
130
|
+
|
|
112
131
|
For screens-release parity, the smoke check must assert that every authored
|
|
113
132
|
screen, template, component, form, toolbar, outlet, route and package/icon use is
|
|
114
133
|
represented in the generated plan or runtime diagnostics. A consumer that cannot
|
|
@@ -125,8 +144,9 @@ maintained duplicate.
|
|
|
125
144
|
Verified public vector and executable checks:
|
|
126
145
|
|
|
127
146
|
- toolchain: public CLI 3.43.0 (`23e5a24`), whose default runtime is
|
|
128
|
-
`cratis/stage:4.52.0` and which bundles Screenplay 4.127.0.
|
|
129
|
-
|
|
147
|
+
`cratis/stage:4.52.0` and which bundles Screenplay 4.127.0. Published since,
|
|
148
|
+
and not verified by this vector: Scene 4.17.0, Screenplay 4.133.1, Stage 4.64.0, CLI
|
|
149
|
+
3.46.1 (bundling Screenplay 4.130.0, default Stage still 4.52.0) and Studio 0.152.2;
|
|
130
150
|
claims made through `cratis` are 4.127.0 compiler claims;
|
|
131
151
|
- fixture root: `Source/DotNET/Screenplay.CanonicalCorpus/Corpus/ScreenComposition/v1/source/folder`
|
|
132
152
|
in the Screenplay repository;
|
|
@@ -34,8 +34,10 @@ hand-writing an alternate shape.
|
|
|
34
34
|
Keep those three lines separate in reports. Correct an old limitation only when
|
|
35
35
|
the package/version you are using proves the new level. Verified public vector:
|
|
36
36
|
CLI 3.43.0 with its default `cratis/stage:4.52.0` and bundled Screenplay 4.127.0;
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
the executed vector renders on Scene 4.15.0. Packages published since are newer than
|
|
38
|
+
that vector and are not claimed verified: Scene 4.17.0, Screenplay 4.133.1, Stage
|
|
39
|
+
4.64.0, CLI 3.46.1 (its default Stage is still 4.52.0) and Studio 0.152.2. All
|
|
40
|
+
three levels hold for the canonical `ScreenComposition`
|
|
39
41
|
corpus:
|
|
40
42
|
|
|
41
43
|
- authoring and executable admission: MCP opens it with `sourceSuccess true`,
|
|
@@ -210,10 +212,38 @@ screen owns the button. Dialog opening stays an interaction (`on click open dial
|
|
|
210
212
|
node. A dialog destination must state every input with a typed `with`/`parameter`
|
|
211
213
|
binding; a runtime default is not an authored contract.
|
|
212
214
|
|
|
215
|
+
What Scene 4.17 adds to the runtime side of this contract, so an agent knows what a
|
|
216
|
+
destination can do once it is authored (authoring acceptance and executable
|
|
217
|
+
admission are separate, see Support levels - a Scene release is not a Stage
|
|
218
|
+
release):
|
|
219
|
+
|
|
220
|
+
- **Nested outlets.** A `core:outlet` component declares a named nested outlet on a
|
|
221
|
+
screen. A destination into it opens its screen there and keeps the declaring
|
|
222
|
+
screen on the page; the opened screen may declare outlets of its own, so
|
|
223
|
+
composition nests to any depth. A deep link to the innermost level composes
|
|
224
|
+
every level above it, and back closes the innermost level only. An outlet
|
|
225
|
+
declares the template types it accepts; a destination into a missing or
|
|
226
|
+
incompatible outlet is a navigation diagnostic, not a fallback.
|
|
227
|
+
- **Toolbar buttons open destinations.** The Cratis Components toolbar button runs
|
|
228
|
+
its attached interactions and opens its authored `destination` (a dialog or a
|
|
229
|
+
slice screen) through the enclosing navigation host. Label, icon, text and
|
|
230
|
+
presentation are properties of the button, so author them on the toolbar item
|
|
231
|
+
rather than on a wrapper.
|
|
232
|
+
- **Settings pages.** `@cratis/scene.blueprint.components` ships a `SettingsPage`
|
|
233
|
+
screen template: a module's settings as a generated command form with save and
|
|
234
|
+
discard. Prefer it to a hand-built form for settings, and expose its command as
|
|
235
|
+
template configuration.
|
|
236
|
+
- **Embedded hosts.** `WebViewPackageHost` renders a custom package set inside a
|
|
237
|
+
webview (VS Code, Event Models) with no Studio dependency; the same package set
|
|
238
|
+
must produce the same screens in the standalone host.
|
|
239
|
+
|
|
240
|
+
Whether a given Stage or CLI release renders each of these is a runtime level
|
|
241
|
+
claim: confirm it from the render receipt and diagnostics before reporting it.
|
|
242
|
+
|
|
213
243
|
## Design-time generation results
|
|
214
244
|
|
|
215
245
|
Design-time actions belong to component packages, not to the model and not to an
|
|
216
|
-
agent. Scene 4.15 declares them as data (`PackageDesignTimeMetadata`) and ships
|
|
246
|
+
agent. Scene 4.15 (unchanged in 4.17) declares them as data (`PackageDesignTimeMetadata`) and ships
|
|
217
247
|
their code in an optional design-time bundle; a runtime host that does not set
|
|
218
248
|
`loadDesignTime` loads none of it, so nothing a design-time action does can exist
|
|
219
249
|
only at runtime. The one Cratis action today is **Generate fields**
|
|
@@ -42,7 +42,7 @@ argument or an invalid semantic option.
|
|
|
42
42
|
|
|
43
43
|
| Source | Pin | Notes |
|
|
44
44
|
| --- | --- | --- |
|
|
45
|
-
| Stage | `4.52.0` (`v4.52.0`, `0e4fd87`) as the CLI 3.43.0 default;
|
|
45
|
+
| Stage | `4.52.0` (`v4.52.0`, `0e4fd87`) as the CLI 3.43.0 default; newer public packages exist (latest `4.64.0`, built on Scene 4.16.0) and are not part of the verified vector | Renderer, sandbox host, spec runner; the CLI default image is `cratis/stage:4.52.0`. Both define `STAGE-SCENE-ACTION-001` and `STAGE-SCENE-INTERACTION-001`. Earlier executed baselines: 4.51.3, 4.51.1, 4.49.5 and `v4.24.2` (`32dcac4`) |
|
|
46
46
|
| cratis CLI | `3.43.0` (`v3.43.0`, `23e5a24`) | `cratis render`, `cratis run`; the tag pins `StageVersion` 4.52.0 and `ScreenplayVersion` 4.127.0. The public CLI renders the canonical corpus and runs the stdio MCP transcript; refusing an unresolvable UI profile and recovering a rendered application shipped in Cratis/cli#301. Older baselines: 3.41.0, 3.40.7, `v3.28.2` (`141c499`, Cratis/cli#253) |
|
|
47
47
|
| Screenplay | bundled `4.127.0`; latest public language package `4.129.0` | The CLI bundles 4.127.0, so compiler claims made through `cratis` are 4.127.0 claims; use the standalone 4.129.0 tool only for language features newer than the bundle |
|
|
48
48
|
| Rendered applications | Arc, Chronicle, Scene 4.15.0, .NET 10 | CLI 3.43.0 renders the canonical corpus to `.cratis-render.json`, backend artifacts, `.frontend/**`, `scene.json`, `src/bindings.ts`. Verify the generated package set for each render before claiming exact Scene runtime parity |
|