@webpresso/agent-kit 3.3.2 → 3.3.4

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 (167) hide show
  1. package/THIRD-PARTY-NOTICES.md +12 -10
  2. package/catalog/AGENTS.md.tpl +3 -5
  3. package/catalog/agent/rules/changeset-release.md +15 -4
  4. package/catalog/agent/rules/managed-tool-binaries.md +67 -0
  5. package/catalog/agent/rules/parallel-orchestration-quota.md +99 -1
  6. package/catalog/agent/rules/pre-implementation.md +36 -20
  7. package/catalog/agent/rules/rtk-routing.md +22 -16
  8. package/catalog/agent/skills/autopilot/SKILL.md +4 -3
  9. package/catalog/agent/skills/ultragoal/SKILL.md +11 -9
  10. package/catalog/agent/skills/verify/SKILL.md +12 -12
  11. package/catalog/compose/admin-blocks-registry.json +659 -0
  12. package/dist/esm/audit/hook-surface.js +5 -1
  13. package/dist/esm/audit/repo-guardrails.d.ts +8 -0
  14. package/dist/esm/audit/repo-guardrails.js +71 -1
  15. package/dist/esm/blueprint/core/parser.js +40 -16
  16. package/dist/esm/blueprint/core/validation/criteria.js +2 -1
  17. package/dist/esm/blueprint/execution/artifacts.js +8 -4
  18. package/dist/esm/blueprint/execution/frontmatter-keys.d.ts +17 -0
  19. package/dist/esm/blueprint/execution/frontmatter-keys.js +24 -0
  20. package/dist/esm/blueprint/execution/metadata.js +8 -4
  21. package/dist/esm/blueprint/lifecycle/audit.d.ts +21 -0
  22. package/dist/esm/blueprint/lifecycle/audit.js +89 -3
  23. package/dist/esm/blueprint/lifecycle/review-provenance.js +148 -40
  24. package/dist/esm/blueprint/lifecycle/rollout-anchor.d.ts +22 -0
  25. package/dist/esm/blueprint/lifecycle/rollout-anchor.js +37 -1
  26. package/dist/esm/blueprint/markdown/blocked-line.d.ts +49 -0
  27. package/dist/esm/blueprint/markdown/blocked-line.js +63 -0
  28. package/dist/esm/blueprint/markdown/helpers.js +10 -4
  29. package/dist/esm/blueprint/tracked-document/parser.js +3 -3
  30. package/dist/esm/blueprint/trust/gate-row.d.ts +55 -0
  31. package/dist/esm/blueprint/trust/gate-row.js +113 -0
  32. package/dist/esm/blueprint/trust/promotion.d.ts +17 -0
  33. package/dist/esm/blueprint/trust/promotion.js +19 -19
  34. package/dist/esm/build/atomic-file-copy.d.ts +32 -0
  35. package/dist/esm/build/atomic-file-copy.js +44 -0
  36. package/dist/esm/build/cli-mcp-parity.js +3 -2
  37. package/dist/esm/build/package-manifest.js +7 -2
  38. package/dist/esm/build/vendor-oxlint-plugins.d.ts +8 -0
  39. package/dist/esm/build/vendor-oxlint-plugins.js +53 -0
  40. package/dist/esm/cli/commands/audit-core.js +9 -1
  41. package/dist/esm/cli/commands/audit.js +16 -5
  42. package/dist/esm/cli/commands/blueprint/mutations.d.ts +15 -0
  43. package/dist/esm/cli/commands/blueprint/mutations.js +8 -2
  44. package/dist/esm/cli/commands/compile.d.ts +13 -0
  45. package/dist/esm/cli/commands/compile.js +182 -62
  46. package/dist/esm/cli/commands/format.js +17 -1
  47. package/dist/esm/cli/commands/gain/index.js +10 -3
  48. package/dist/esm/cli/commands/init/gitignore-patcher.js +6 -0
  49. package/dist/esm/cli/commands/init/index.js +29 -48
  50. package/dist/esm/cli/commands/init/mcp-spec.d.ts +54 -4
  51. package/dist/esm/cli/commands/init/mcp-spec.js +126 -22
  52. package/dist/esm/cli/commands/init/merge.js +30 -10
  53. package/dist/esm/cli/commands/init/scaffold-agents-md.js +5 -7
  54. package/dist/esm/cli/commands/init/scaffolders/codex-mcp/index.d.ts +56 -31
  55. package/dist/esm/cli/commands/init/scaffolders/codex-mcp/index.js +180 -43
  56. package/dist/esm/cli/commands/init/scaffolders/rtk/index.d.ts +17 -5
  57. package/dist/esm/cli/commands/init/scaffolders/rtk/index.js +56 -75
  58. package/dist/esm/cli/commands/init/scaffolders/runtime-check/index.js +7 -6
  59. package/dist/esm/cli/commands/init/untracked-collision.d.ts +12 -1
  60. package/dist/esm/cli/commands/init/untracked-collision.js +23 -1
  61. package/dist/esm/cli/commands/package-manager.js +8 -2
  62. package/dist/esm/cli/commands/pr-help.js +1 -1
  63. package/dist/esm/cli/commands/pr.js +18 -4
  64. package/dist/esm/cli/commands/review.js +60 -6
  65. package/dist/esm/cli/commands/worktree/router-dispatch.d.ts +24 -2
  66. package/dist/esm/cli/commands/worktree/router-dispatch.js +80 -48
  67. package/dist/esm/cli/commands/worktree/router.js +5 -2
  68. package/dist/esm/cli/direct-provider-launch.js +12 -4
  69. package/dist/esm/compiler/flatten.d.ts +10 -1
  70. package/dist/esm/compiler/flatten.js +14 -4
  71. package/dist/esm/compose/admin-blocks-registry-integrity.d.ts +22 -0
  72. package/dist/esm/compose/admin-blocks-registry-integrity.js +90 -0
  73. package/dist/esm/compose/compose.d.ts +46 -0
  74. package/dist/esm/compose/compose.js +250 -0
  75. package/dist/esm/compose/escape-html.d.ts +5 -0
  76. package/dist/esm/compose/escape-html.js +12 -0
  77. package/dist/esm/compose/ops-report-render.d.ts +5 -0
  78. package/dist/esm/compose/ops-report-render.js +71 -0
  79. package/dist/esm/compose/ops-report-schema.d.ts +42 -0
  80. package/dist/esm/compose/ops-report-schema.js +60 -0
  81. package/dist/esm/compose/preview.d.ts +14 -0
  82. package/dist/esm/compose/preview.js +32 -0
  83. package/dist/esm/compose/registry-resolve.d.ts +64 -0
  84. package/dist/esm/compose/registry-resolve.js +200 -0
  85. package/dist/esm/config/oxlint/graphql-conventions.js +2 -5
  86. package/dist/esm/config/oxlint/import-hygiene.js +21 -8
  87. package/dist/esm/config/oxlint/oxlint-config.fixture.d.ts +1 -1
  88. package/dist/esm/config/oxlint/oxlint-config.fixture.js +2 -3
  89. package/dist/esm/config/oxlint/oxlintrc.d.ts +5 -7
  90. package/dist/esm/config/oxlint/oxlintrc.js +18 -21
  91. package/dist/esm/config/oxlint/path-roles.js +53 -0
  92. package/dist/esm/config/oxlint/query-patterns.js +2 -5
  93. package/dist/esm/daemon/domains/blueprint-exec-ledger.d.ts +86 -0
  94. package/dist/esm/daemon/domains/blueprint-exec-ledger.js +134 -0
  95. package/dist/esm/daemon/domains/blueprint-exec.d.ts +106 -0
  96. package/dist/esm/daemon/domains/blueprint-exec.js +161 -0
  97. package/dist/esm/daemon/domains/launch.d.ts +25 -0
  98. package/dist/esm/daemon/domains/launch.js +30 -1
  99. package/dist/esm/daemon/handlers/blueprints-handlers.d.ts +12 -1
  100. package/dist/esm/daemon/handlers/blueprints-handlers.js +148 -6
  101. package/dist/esm/daemon/handlers/product.d.ts +10 -0
  102. package/dist/esm/daemon/handlers/product.js +10 -1
  103. package/dist/esm/daemon/methods.d.ts +21 -1
  104. package/dist/esm/daemon/methods.js +20 -0
  105. package/dist/esm/daemon/protocol/contract.d.ts +58 -0
  106. package/dist/esm/daemon/protocol/contract.js +38 -0
  107. package/dist/esm/daemon/server.js +7 -0
  108. package/dist/esm/docs-linter/blueprint-plan.js +2 -2
  109. package/dist/esm/errors/wp-error.js +21 -2
  110. package/dist/esm/git/changed-files.d.ts +20 -0
  111. package/dist/esm/git/changed-files.js +63 -0
  112. package/dist/esm/hooks/doctor.d.ts +11 -0
  113. package/dist/esm/hooks/doctor.js +114 -45
  114. package/dist/esm/hooks/pretool-guard/dev-routing.js +1 -1
  115. package/dist/esm/hooks/pretool-guard/rtk-rewrite.d.ts +24 -0
  116. package/dist/esm/hooks/pretool-guard/rtk-rewrite.js +50 -0
  117. package/dist/esm/hooks/pretool-guard/runner.js +6 -0
  118. package/dist/esm/hooks/status/index.js +1 -1
  119. package/dist/esm/hooks/stop/qa-changed-files.js +6 -1
  120. package/dist/esm/mcp/blueprint/_shared/lifecycle.js +39 -11
  121. package/dist/esm/mcp/blueprint/handlers/review-log.d.ts +14 -7
  122. package/dist/esm/mcp/blueprint/handlers/review-log.js +46 -22
  123. package/dist/esm/mcp/blueprint/handlers/validate.js +6 -0
  124. package/dist/esm/mcp/blueprint/registration.js +1 -1
  125. package/dist/esm/mcp/tools/_names.d.ts +1 -1
  126. package/dist/esm/mcp/tools/_names.js +4 -0
  127. package/dist/esm/mcp/tools/_registry.js +8 -0
  128. package/dist/esm/mcp/tools/_shared/redact.d.ts +22 -0
  129. package/dist/esm/mcp/tools/_shared/redact.js +114 -8
  130. package/dist/esm/mcp/tools/gain.js +28 -2
  131. package/dist/esm/mcp/tools/release-progress.d.ts +9 -0
  132. package/dist/esm/mcp/tools/release-progress.js +110 -0
  133. package/dist/esm/mcp/tools/worktree.js +65 -3
  134. package/dist/esm/mcp/tools/wp-ui-blocks-list.d.ts +3 -0
  135. package/dist/esm/mcp/tools/wp-ui-blocks-list.js +43 -0
  136. package/dist/esm/mcp/tools/wp-ui-compose.d.ts +3 -0
  137. package/dist/esm/mcp/tools/wp-ui-compose.js +96 -0
  138. package/dist/esm/mcp/tools/wp-ui-preview.d.ts +3 -0
  139. package/dist/esm/mcp/tools/wp-ui-preview.js +59 -0
  140. package/dist/esm/package.json +2 -0
  141. package/dist/esm/review/lifecycle-writers.d.ts +76 -0
  142. package/dist/esm/review/lifecycle-writers.js +330 -0
  143. package/dist/esm/review/subject.js +66 -32
  144. package/dist/esm/status/snapshot.d.ts +5 -0
  145. package/dist/esm/status/snapshot.js +27 -2
  146. package/dist/esm/test/shard-durations.json +0 -1
  147. package/dist/esm/test-helpers/global-setup.js +38 -3
  148. package/dist/esm/tool-runtime/managed-rtk.d.ts +44 -0
  149. package/dist/esm/tool-runtime/managed-rtk.js +275 -0
  150. package/dist/esm/tool-runtime/resolve-runner.js +18 -194
  151. package/dist/esm/utils/package-root.d.ts +32 -0
  152. package/dist/esm/utils/package-root.js +82 -0
  153. package/dist/esm/worktrees/git-metadata.d.ts +41 -0
  154. package/dist/esm/worktrees/git-metadata.js +48 -0
  155. package/package.json +27 -21
  156. package/dist/esm/config/oxlint/code-safety.d.ts +0 -18
  157. package/dist/esm/config/oxlint/foundation-purity.d.ts +0 -21
  158. package/dist/esm/config/oxlint/graphql-conventions.d.ts +0 -23
  159. package/dist/esm/config/oxlint/import-hygiene.d.ts +0 -34
  160. package/dist/esm/config/oxlint/index.d.ts +0 -22
  161. package/dist/esm/config/oxlint/index.js +0 -28
  162. package/dist/esm/config/oxlint/monorepo-paths.d.ts +0 -22
  163. package/dist/esm/config/oxlint/query-patterns.d.ts +0 -24
  164. package/dist/esm/config/oxlint/testing-quality.d.ts +0 -35
  165. package/dist/esm/config/oxlint/tier-boundaries.d.ts +0 -35
  166. package/dist/esm/output-transforms/rulesync.d.ts +0 -2
  167. package/dist/esm/output-transforms/rulesync.js +0 -79
@@ -0,0 +1,659 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry.json",
3
+ "version": "1.0.0",
4
+ "minVersion": "1.0.0",
5
+ "blocks": [
6
+ {
7
+ "name": "header",
8
+ "view": "list",
9
+ "variants": ["minimal", "bold", "editorial"],
10
+ "props": [
11
+ {
12
+ "name": "title",
13
+ "type": "string",
14
+ "required": false,
15
+ "description": "Override list display name"
16
+ },
17
+ {
18
+ "name": "subtitle",
19
+ "type": "string",
20
+ "required": false,
21
+ "description": "Subtitle or description"
22
+ },
23
+ {
24
+ "name": "showCount",
25
+ "type": "boolean",
26
+ "required": false,
27
+ "default": true,
28
+ "description": "Show total item count"
29
+ }
30
+ ],
31
+ "slots": [
32
+ {
33
+ "name": "actions",
34
+ "description": "Action buttons in header",
35
+ "accepts": ["button", "dropdown"],
36
+ "multiple": true
37
+ }
38
+ ],
39
+ "permissions": [
40
+ {
41
+ "action": "create",
42
+ "requires": ["insert"],
43
+ "description": "Show create button in header"
44
+ },
45
+ {
46
+ "action": "export",
47
+ "requires": ["select"],
48
+ "description": "Show export action"
49
+ },
50
+ {
51
+ "action": "refresh",
52
+ "requires": ["select"],
53
+ "description": "Show refresh action"
54
+ }
55
+ ],
56
+ "description": "Displays list title, count, and optional actions"
57
+ },
58
+ {
59
+ "name": "toolbar",
60
+ "view": "list",
61
+ "variants": ["minimal", "bold"],
62
+ "props": [
63
+ {
64
+ "name": "position",
65
+ "type": "enum",
66
+ "required": false,
67
+ "default": "top",
68
+ "enumValues": ["top", "bottom"]
69
+ }
70
+ ],
71
+ "slots": [
72
+ {
73
+ "name": "actions",
74
+ "description": "Toolbar action buttons",
75
+ "accepts": ["button", "dropdown"],
76
+ "multiple": true
77
+ }
78
+ ],
79
+ "permissions": [
80
+ {
81
+ "action": "create",
82
+ "requires": ["insert"],
83
+ "description": "Show create button"
84
+ },
85
+ {
86
+ "action": "export",
87
+ "requires": ["select"],
88
+ "description": "Show export action"
89
+ },
90
+ {
91
+ "action": "import",
92
+ "requires": ["insert"],
93
+ "description": "Show import action"
94
+ },
95
+ {
96
+ "action": "refresh",
97
+ "requires": ["select"],
98
+ "description": "Show refresh action"
99
+ }
100
+ ],
101
+ "description": "Action toolbar with configurable position"
102
+ },
103
+ {
104
+ "name": "filter-bar",
105
+ "view": "list",
106
+ "props": [
107
+ {
108
+ "name": "collapsible",
109
+ "type": "boolean",
110
+ "required": false,
111
+ "default": false
112
+ },
113
+ {
114
+ "name": "defaultExpanded",
115
+ "type": "boolean",
116
+ "required": false,
117
+ "default": true
118
+ }
119
+ ],
120
+ "permissions": [
121
+ {
122
+ "action": "filter",
123
+ "requires": ["select"],
124
+ "description": "Show filter controls"
125
+ }
126
+ ],
127
+ "description": "Filter controls for list data"
128
+ },
129
+ {
130
+ "name": "filter-chips",
131
+ "view": "list",
132
+ "props": [
133
+ {
134
+ "name": "showClearAll",
135
+ "type": "boolean",
136
+ "required": false,
137
+ "default": true
138
+ }
139
+ ],
140
+ "description": "Displays active filters as removable chips"
141
+ },
142
+ {
143
+ "name": "bulk-actions",
144
+ "view": "list",
145
+ "props": [
146
+ {
147
+ "name": "position",
148
+ "type": "enum",
149
+ "required": false,
150
+ "default": "floating",
151
+ "enumValues": ["top", "floating", "bottom"]
152
+ }
153
+ ],
154
+ "slots": [
155
+ {
156
+ "name": "actions",
157
+ "description": "Bulk action buttons",
158
+ "accepts": ["button"],
159
+ "multiple": true
160
+ }
161
+ ],
162
+ "permissions": [
163
+ {
164
+ "action": "delete",
165
+ "requires": ["delete"],
166
+ "description": "Bulk delete action"
167
+ },
168
+ {
169
+ "action": "export",
170
+ "requires": ["select"],
171
+ "description": "Bulk export action"
172
+ },
173
+ {
174
+ "action": "archive",
175
+ "requires": ["update"],
176
+ "description": "Bulk archive action"
177
+ },
178
+ {
179
+ "action": "assign",
180
+ "requires": ["update"],
181
+ "description": "Bulk assign action"
182
+ }
183
+ ],
184
+ "description": "Actions for selected items"
185
+ },
186
+ {
187
+ "name": "table",
188
+ "view": "list",
189
+ "props": [
190
+ {
191
+ "name": "selectable",
192
+ "type": "boolean",
193
+ "required": false,
194
+ "default": false
195
+ },
196
+ {
197
+ "name": "stickyHeader",
198
+ "type": "boolean",
199
+ "required": false,
200
+ "default": false
201
+ },
202
+ {
203
+ "name": "density",
204
+ "type": "enum",
205
+ "required": false,
206
+ "default": "normal",
207
+ "enumValues": ["compact", "normal", "spacious"]
208
+ }
209
+ ],
210
+ "permissions": [
211
+ {
212
+ "action": "select",
213
+ "requires": ["select"],
214
+ "description": "View table data"
215
+ }
216
+ ],
217
+ "description": "Data table with sorting and selection"
218
+ },
219
+ {
220
+ "name": "pagination",
221
+ "view": "list",
222
+ "props": [
223
+ {
224
+ "name": "position",
225
+ "type": "enum",
226
+ "required": false,
227
+ "default": "bottom",
228
+ "enumValues": ["top", "bottom", "both"]
229
+ },
230
+ {
231
+ "name": "showTotal",
232
+ "type": "boolean",
233
+ "required": false,
234
+ "default": true
235
+ }
236
+ ],
237
+ "description": "Pagination controls"
238
+ },
239
+ {
240
+ "name": "empty-state",
241
+ "view": "list",
242
+ "props": [
243
+ {
244
+ "name": "title",
245
+ "type": "string",
246
+ "required": true,
247
+ "description": "Title shown when list is empty"
248
+ },
249
+ {
250
+ "name": "description",
251
+ "type": "string",
252
+ "required": false,
253
+ "description": "Additional description"
254
+ },
255
+ {
256
+ "name": "icon",
257
+ "type": "string",
258
+ "required": false,
259
+ "description": "Icon name"
260
+ }
261
+ ],
262
+ "slots": [
263
+ {
264
+ "name": "actions",
265
+ "description": "CTA buttons",
266
+ "accepts": ["button"],
267
+ "multiple": true
268
+ }
269
+ ],
270
+ "permissions": [
271
+ {
272
+ "action": "create",
273
+ "requires": ["insert"],
274
+ "description": "Show create action in empty state"
275
+ }
276
+ ],
277
+ "description": "Displayed when no items exist"
278
+ },
279
+ {
280
+ "name": "summary",
281
+ "view": "list",
282
+ "props": [
283
+ {
284
+ "name": "fields",
285
+ "type": "array",
286
+ "required": true,
287
+ "description": "Fields to display in summary"
288
+ },
289
+ {
290
+ "name": "layout",
291
+ "type": "enum",
292
+ "required": false,
293
+ "default": "horizontal",
294
+ "enumValues": ["horizontal", "vertical", "cards"]
295
+ }
296
+ ],
297
+ "description": "Aggregate metrics display"
298
+ },
299
+ {
300
+ "name": "header",
301
+ "view": "detail",
302
+ "variants": ["minimal", "bold", "editorial"],
303
+ "props": [
304
+ {
305
+ "name": "title",
306
+ "type": "string",
307
+ "required": false,
308
+ "description": "Override entity display name"
309
+ },
310
+ {
311
+ "name": "showBreadcrumb",
312
+ "type": "boolean",
313
+ "required": false,
314
+ "default": true
315
+ }
316
+ ],
317
+ "slots": [
318
+ {
319
+ "name": "actions",
320
+ "description": "Header action buttons",
321
+ "accepts": ["button", "dropdown"],
322
+ "multiple": true
323
+ }
324
+ ],
325
+ "permissions": [
326
+ {
327
+ "action": "edit",
328
+ "requires": ["update"],
329
+ "description": "Show edit button"
330
+ },
331
+ {
332
+ "action": "delete",
333
+ "requires": ["delete"],
334
+ "description": "Show delete button"
335
+ },
336
+ {
337
+ "action": "archive",
338
+ "requires": ["update"],
339
+ "description": "Show archive action"
340
+ },
341
+ {
342
+ "action": "duplicate",
343
+ "requires": ["insert"],
344
+ "description": "Show duplicate action"
345
+ }
346
+ ],
347
+ "description": "Entity header with title and actions"
348
+ },
349
+ {
350
+ "name": "summary",
351
+ "view": "detail",
352
+ "props": [
353
+ {
354
+ "name": "fields",
355
+ "type": "array",
356
+ "required": true,
357
+ "description": "Fields to display"
358
+ },
359
+ {
360
+ "name": "layout",
361
+ "type": "enum",
362
+ "required": false,
363
+ "default": "horizontal",
364
+ "enumValues": ["horizontal", "vertical", "cards"]
365
+ }
366
+ ],
367
+ "description": "Key metrics or status summary"
368
+ },
369
+ {
370
+ "name": "field-grid",
371
+ "view": "detail",
372
+ "props": [
373
+ {
374
+ "name": "title",
375
+ "type": "string",
376
+ "required": false
377
+ },
378
+ {
379
+ "name": "fields",
380
+ "type": "array",
381
+ "required": true,
382
+ "description": "Fields to display"
383
+ },
384
+ {
385
+ "name": "columns",
386
+ "type": "number",
387
+ "required": false,
388
+ "default": 2,
389
+ "description": "Grid columns (1-4)"
390
+ },
391
+ {
392
+ "name": "collapsible",
393
+ "type": "boolean",
394
+ "required": false,
395
+ "default": false
396
+ }
397
+ ],
398
+ "description": "Entity fields in grid layout"
399
+ },
400
+ {
401
+ "name": "related",
402
+ "view": "detail",
403
+ "props": [
404
+ {
405
+ "name": "relationship",
406
+ "type": "string",
407
+ "required": true,
408
+ "description": "Relationship name from entity"
409
+ },
410
+ {
411
+ "name": "title",
412
+ "type": "string",
413
+ "required": false
414
+ },
415
+ {
416
+ "name": "columns",
417
+ "type": "array",
418
+ "required": false,
419
+ "description": "Columns to show"
420
+ },
421
+ {
422
+ "name": "limit",
423
+ "type": "number",
424
+ "required": false,
425
+ "description": "Max items to show"
426
+ }
427
+ ],
428
+ "permissions": [
429
+ {
430
+ "action": "create",
431
+ "requires": ["insert"],
432
+ "description": "Add related items"
433
+ },
434
+ {
435
+ "action": "edit",
436
+ "requires": ["update"],
437
+ "description": "Edit related items"
438
+ },
439
+ {
440
+ "action": "delete",
441
+ "requires": ["delete"],
442
+ "description": "Remove related items"
443
+ },
444
+ {
445
+ "action": "view",
446
+ "requires": ["select"],
447
+ "description": "View related items"
448
+ }
449
+ ],
450
+ "description": "Related entity list"
451
+ },
452
+ {
453
+ "name": "timeline",
454
+ "view": "detail",
455
+ "props": [
456
+ {
457
+ "name": "title",
458
+ "type": "string",
459
+ "required": false,
460
+ "default": "Activity"
461
+ },
462
+ {
463
+ "name": "source",
464
+ "type": "enum",
465
+ "required": false,
466
+ "default": "audit_log",
467
+ "enumValues": ["audit_log", "comments", "custom"]
468
+ },
469
+ {
470
+ "name": "limit",
471
+ "type": "number",
472
+ "required": false,
473
+ "default": 10
474
+ }
475
+ ],
476
+ "description": "Activity history display"
477
+ },
478
+ {
479
+ "name": "info-panel",
480
+ "view": "detail",
481
+ "props": [
482
+ {
483
+ "name": "title",
484
+ "type": "string",
485
+ "required": false
486
+ },
487
+ {
488
+ "name": "fields",
489
+ "type": "array",
490
+ "required": true,
491
+ "description": "Fields to display"
492
+ },
493
+ {
494
+ "name": "position",
495
+ "type": "enum",
496
+ "required": false,
497
+ "default": "sidebar",
498
+ "enumValues": ["sidebar", "bottom"]
499
+ }
500
+ ],
501
+ "description": "Metadata/auxiliary information panel"
502
+ },
503
+ {
504
+ "name": "header",
505
+ "view": "form",
506
+ "props": [
507
+ {
508
+ "name": "title",
509
+ "type": "string",
510
+ "required": false,
511
+ "description": "Override form title"
512
+ },
513
+ {
514
+ "name": "showBreadcrumb",
515
+ "type": "boolean",
516
+ "required": false,
517
+ "default": true
518
+ },
519
+ {
520
+ "name": "showBackLink",
521
+ "type": "boolean",
522
+ "required": false,
523
+ "default": true
524
+ }
525
+ ],
526
+ "description": "Form header with navigation"
527
+ },
528
+ {
529
+ "name": "field-grid",
530
+ "view": "form",
531
+ "props": [
532
+ {
533
+ "name": "title",
534
+ "type": "string",
535
+ "required": false,
536
+ "description": "Section title"
537
+ },
538
+ {
539
+ "name": "fields",
540
+ "type": "array",
541
+ "required": true,
542
+ "description": "Field names to include"
543
+ },
544
+ {
545
+ "name": "columns",
546
+ "type": "number",
547
+ "required": false,
548
+ "default": 1,
549
+ "description": "Grid columns (1-4)"
550
+ },
551
+ {
552
+ "name": "collapsible",
553
+ "type": "boolean",
554
+ "required": false,
555
+ "default": false
556
+ },
557
+ {
558
+ "name": "collapsed",
559
+ "type": "boolean",
560
+ "required": false,
561
+ "default": false,
562
+ "description": "Initial collapsed state"
563
+ }
564
+ ],
565
+ "description": "Form fields in grid layout"
566
+ },
567
+ {
568
+ "name": "sidebar",
569
+ "view": "form",
570
+ "props": [
571
+ {
572
+ "name": "title",
573
+ "type": "string",
574
+ "required": false
575
+ },
576
+ {
577
+ "name": "content",
578
+ "type": "enum",
579
+ "required": false,
580
+ "default": "help",
581
+ "enumValues": ["help", "preview", "metadata", "custom"]
582
+ },
583
+ {
584
+ "name": "helpText",
585
+ "type": "string",
586
+ "required": false,
587
+ "description": "Help text content"
588
+ }
589
+ ],
590
+ "description": "Auxiliary content sidebar"
591
+ },
592
+ {
593
+ "name": "errors",
594
+ "view": "form",
595
+ "props": [
596
+ {
597
+ "name": "position",
598
+ "type": "enum",
599
+ "required": false,
600
+ "default": "top",
601
+ "enumValues": ["top", "inline", "bottom"]
602
+ },
603
+ {
604
+ "name": "showFieldErrors",
605
+ "type": "boolean",
606
+ "required": false,
607
+ "default": true
608
+ },
609
+ {
610
+ "name": "showSummary",
611
+ "type": "boolean",
612
+ "required": false,
613
+ "default": true
614
+ }
615
+ ],
616
+ "description": "Form validation errors display"
617
+ },
618
+ {
619
+ "name": "actions",
620
+ "view": "form",
621
+ "props": [
622
+ {
623
+ "name": "position",
624
+ "type": "enum",
625
+ "required": false,
626
+ "default": "bottom",
627
+ "enumValues": ["top", "bottom", "sticky"]
628
+ },
629
+ {
630
+ "name": "alignment",
631
+ "type": "enum",
632
+ "required": false,
633
+ "default": "right",
634
+ "enumValues": ["left", "center", "right", "space-between"]
635
+ },
636
+ {
637
+ "name": "showCancel",
638
+ "type": "boolean",
639
+ "required": false,
640
+ "default": true
641
+ },
642
+ {
643
+ "name": "showReset",
644
+ "type": "boolean",
645
+ "required": false,
646
+ "default": false
647
+ }
648
+ ],
649
+ "permissions": [
650
+ {
651
+ "action": "submit",
652
+ "requires": ["insert", "update"],
653
+ "description": "Submit form"
654
+ }
655
+ ],
656
+ "description": "Form submit/cancel buttons"
657
+ }
658
+ ]
659
+ }
@@ -33,7 +33,11 @@ export function detectDrift(entries) {
33
33
  .map(([key, entries]) => ({ key, count: entries.length, entries }));
34
34
  }
35
35
  function isRewriter(command) {
36
- return (command.includes("rtk hook claude") ||
36
+ // Managed pretool-guard emits updatedInput rewrites (exact git status → rtk).
37
+ // Classify it as a rewriter so freestanding RTK + pretool-guard collide in audit.
38
+ return (command.includes("wp-pretool-guard") ||
39
+ command.includes("wp hook pretool-guard") ||
40
+ command.includes("rtk hook claude") ||
37
41
  command.endsWith("pretooluse.mjs") ||
38
42
  command.includes("/pretooluse.mjs"));
39
43
  }
@@ -49,6 +49,14 @@ export declare function auditCatalogDrift(rootDirectory?: string, options?: Cata
49
49
  export declare function validateCommitMessage(message: string, options?: CommitMessageOptions): RepoAuditResult;
50
50
  export declare function auditCommitMessageFile(messageFile: string, options?: CommitMessageOptions): RepoAuditResult;
51
51
  export declare function auditDocsFrontmatter(rootDirectory?: string, options?: DocsFrontmatterOptions): RepoAuditResult;
52
+ /**
53
+ * Flags a blueprint whose raw frontmatter clearly lists one or more
54
+ * `approvals:` entries but whose YAML-parsed `approvals` field yields zero —
55
+ * the corruption signature `wp blueprint move --force-recovery` produces
56
+ * when it silently destroys approval authority without making the document
57
+ * fail to parse outright.
58
+ */
59
+ export declare function detectSuspiciousZeroApprovals(raw: string, frontmatter: Record<string, unknown>): string | undefined;
52
60
  export declare function auditBlueprintLifecycle(rootDirectory?: string, options?: BlueprintLifecycleOptions): RepoAuditResult;
53
61
  export declare function formatRepoAuditReport(auditResult: RepoAuditResult): string;
54
62
  export declare function parseFrontmatter(markdown: string): Record<string, string>;