@crewhaus/spec-patch 0.4.0 → 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/dist/index.d.ts CHANGED
@@ -151,6 +151,22 @@ export declare function applySpecEdits(yamlText: string, edits: ReadonlyArray<Sp
151
151
  * only mutate prompts (the default), preserving the "spec safety floor"
152
152
  * that an optimizer can't accidentally rewrite security-critical fields
153
153
  * like `permissions.mode` or `model_router` rules.
154
+ *
155
+ * "Watch me" (`watchme:` on cli/channel/managed, design/watch-me.md §4.3) —
156
+ * EVERY `watchme.*` path is deliberately EXCLUDED; none may be whitelisted
157
+ * piecemeal later without revisiting that design section:
158
+ * - `watchme.enabled` / `watchme.capture` — the observer must not be tuned
159
+ * by the loop it observes (self-referential optimization), and capture
160
+ * fidelity is a consent/data-plane posture, not a quality dial.
161
+ * - `watchme.judge.model` — the model roster is never auto-patched (the
162
+ * standing `agent.model` / model-roster exclusion).
163
+ * - `watchme.judge.sample_rate` / `watchme.judge.budget_usd` — spend-class
164
+ * knobs, human-only (sample_rate MULTIPLIES judge calls, so it is a
165
+ * spend dial wearing a quality dial's clothes).
166
+ * - `watchme.scope` / `watchme.share` — privacy/trust-boundary switches
167
+ * (`share` crosses the harness boundary to Thredz).
168
+ * The paired `crewhaus advise` watchme rule is text-only for exactly this
169
+ * reason: there is no whitelisted path for it to patch.
154
170
  */
155
171
  export declare const OPTIMIZABLE_PATHS: Readonly<Record<Spec["target"], ReadonlyArray<ReadonlyArray<string>>>>;
156
172
  /**
package/dist/index.js CHANGED
@@ -288,6 +288,22 @@ function formatEditPath(path) {
288
288
  * only mutate prompts (the default), preserving the "spec safety floor"
289
289
  * that an optimizer can't accidentally rewrite security-critical fields
290
290
  * like `permissions.mode` or `model_router` rules.
291
+ *
292
+ * "Watch me" (`watchme:` on cli/channel/managed, design/watch-me.md §4.3) —
293
+ * EVERY `watchme.*` path is deliberately EXCLUDED; none may be whitelisted
294
+ * piecemeal later without revisiting that design section:
295
+ * - `watchme.enabled` / `watchme.capture` — the observer must not be tuned
296
+ * by the loop it observes (self-referential optimization), and capture
297
+ * fidelity is a consent/data-plane posture, not a quality dial.
298
+ * - `watchme.judge.model` — the model roster is never auto-patched (the
299
+ * standing `agent.model` / model-roster exclusion).
300
+ * - `watchme.judge.sample_rate` / `watchme.judge.budget_usd` — spend-class
301
+ * knobs, human-only (sample_rate MULTIPLIES judge calls, so it is a
302
+ * spend dial wearing a quality dial's clothes).
303
+ * - `watchme.scope` / `watchme.share` — privacy/trust-boundary switches
304
+ * (`share` crosses the harness boundary to Thredz).
305
+ * The paired `crewhaus advise` watchme rule is text-only for exactly this
306
+ * reason: there is no whitelisted path for it to patch.
291
307
  */
292
308
  export const OPTIMIZABLE_PATHS = Object.freeze({
293
309
  cli: Object.freeze([
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewhaus/spec-patch",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "type": "module",
5
5
  "description": "Pillar-2 patch infrastructure — apply a SpecPatch to a YAML source preserving comments and key order via the yaml CST. Drives the active eval optimizer's spec-level mutation loop.",
6
6
  "main": "dist/index.js",
@@ -15,8 +15,8 @@
15
15
  "test": "bun test src"
16
16
  },
17
17
  "dependencies": {
18
- "@crewhaus/errors": "0.4.0",
19
- "@crewhaus/spec": "0.4.0",
18
+ "@crewhaus/errors": "0.4.2",
19
+ "@crewhaus/spec": "0.4.2",
20
20
  "yaml": "^2.6.0",
21
21
  "zod": "^3.23.8"
22
22
  },