wicked-studio 0.4.1 → 0.4.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/README.md CHANGED
@@ -80,6 +80,13 @@ The connection surface is deliberately small (`src/api/client.ts`):
80
80
  The daemon's loopback CORS admits any `http://localhost:*` / `http://127.0.0.1:*` origin, so a
81
81
  standalone studio on its own port can drive a local daemon out of the box.
82
82
 
83
+ ## Install
84
+
85
+ You rarely install studio directly: **`npx wicked-crew serve` ships this UI bundled**,
86
+ same-origin on one port. Or use the family installer — [`npx wicked-installer`](https://www.npmjs.com/package/wicked-installer)
87
+ installs/updates the whole wicked-\* family (wicked-crew, which serves this skin, included).
88
+ For a studio you build and host yourself, see [Standalone build](#standalone-build).
89
+
83
90
  ## Develop
84
91
 
85
92
  ```sh
@@ -116,6 +123,18 @@ absent). Installs from git get a fresh `dist/` via the `prepare` hook
116
123
  (`scripts/prepare-dist.mjs`); publishers run `npm run build && npm publish` so the tarball is
117
124
  built from the tagged source.
118
125
 
126
+ ### The data-testid contract (`testid-inventory.json`)
127
+
128
+ `testid-inventory.json` (repo root, committed; emitted into `dist/testid-inventory.json` by the
129
+ build) is the machine-readable inventory of every `data-testid` the UI declares — the selector
130
+ contract that test generators and the model-free campaign runner build against, versioned with
131
+ this package. `tests/testidInventory.test.ts` re-scans `src/` and fails CI on any drift, so a
132
+ testid change (or a `package.json` version bump — the artifact carries `studioVersion`) ships
133
+ only together with a reviewed `npm run manifest:testids` regeneration. The drift-handling
134
+ doctrine downstream is embedded in the file's `$doc` header: a selector miss fails the
135
+ deterministic run; the authoring agent re-authors against the live DOM; the runner re-records;
136
+ the substitution lands in the spec diff. No agentic fallback inside the runner.
137
+
119
138
  ## Provenance
120
139
 
121
140
  Extracted from the wicked-crew monorepo (`packages/studio`) as its own product — the carve kept