workspai 0.55.0 → 0.56.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 (167) hide show
  1. package/contracts/artifact-remediation-plan.v1.json +110 -2
  2. package/contracts/cli-runtime-command-inventory.v1.snapshot.json +29 -1
  3. package/contracts/doctor-project-evidence.v1.json +68 -2
  4. package/contracts/doctor-remediation-plan.v1.json +29 -2
  5. package/contracts/doctor-workspace-evidence.v1.json +68 -2
  6. package/contracts/extension-cli-compatibility.v1.json +6 -1
  7. package/contracts/published-contract-catalog.v1.json +25 -0
  8. package/contracts/runtime-command-surface.v1.json +63 -0
  9. package/contracts/workspace-intelligence/doctor-capabilities.v1.json +133 -0
  10. package/contracts/workspace-intelligence/doctor-diagnosis.v1.json +273 -0
  11. package/contracts/workspace-intelligence/doctor-graph-diagnosis.v1.json +3 -0
  12. package/contracts/workspace-intelligence/doctor-receipt.v1.json +136 -0
  13. package/contracts/workspace-intelligence/doctor-summary.v1.json +99 -0
  14. package/contracts/workspace-intelligence/doctor-validation.v1.json +109 -0
  15. package/contracts/workspace-intelligence/project-context-agent.v1.json +110 -0
  16. package/contracts/workspace-intelligence/studio-blocker-handoff.v1.json +25 -0
  17. package/contracts/workspace-intelligence/workspace-explain.v1.json +3 -0
  18. package/contracts/workspace-intelligence/workspace-knowledge-graph.v1.json +36 -0
  19. package/contracts/workspace-intelligence/workspace-knowledge-search.v1.json +54 -0
  20. package/contracts/workspace-intelligence/workspace-repair-transaction.v1.json +27 -0
  21. package/contracts/workspace-repair-capabilities.v1.json +1 -0
  22. package/dist/analyze-HJ774J3E.js +1 -0
  23. package/dist/{artifact-remediation-plan-O3YIULQN.js → artifact-remediation-plan-BPLON5VX.js} +1 -1
  24. package/dist/autopilot-release-CH57CGET.js +1 -0
  25. package/dist/capabilities-command-WEOGFCWF.js +1 -0
  26. package/dist/chunk-2647BYBC.js +1 -0
  27. package/dist/chunk-2L4PSZQB.js +1 -0
  28. package/dist/chunk-3U4VLIGW.js +1 -0
  29. package/dist/chunk-5BGPGNRQ.js +2 -0
  30. package/dist/chunk-5EPPPMAS.js +1 -0
  31. package/dist/{chunk-M5ICGR55.js → chunk-5RL254O2.js} +1 -1
  32. package/dist/chunk-5ZA4JYOP.js +1 -0
  33. package/dist/{chunk-AMB42V2F.js → chunk-64JUYYRC.js} +1 -1
  34. package/dist/chunk-664GXRLD.js +1 -0
  35. package/dist/chunk-6HCAGHCY.js +8 -0
  36. package/dist/chunk-7PNARN6S.js +4 -0
  37. package/dist/chunk-7Y3KVZJF.js +8 -0
  38. package/dist/{chunk-WIO6L24E.js → chunk-ADL3CK44.js} +1 -1
  39. package/dist/chunk-AO2ZI42U.js +4 -0
  40. package/dist/chunk-BDN32Y2N.js +81 -0
  41. package/dist/chunk-D4RST2HE.js +1 -0
  42. package/dist/{chunk-6HJJHEL6.js → chunk-DIZSHNZ5.js} +1 -1
  43. package/dist/chunk-DOIZANFA.js +2 -0
  44. package/dist/{chunk-HY3RMPW5.js → chunk-E53BGUOW.js} +1 -1
  45. package/dist/{chunk-FZCYTRBQ.js → chunk-ESWFBSYM.js} +1 -1
  46. package/dist/chunk-GBMCHFOV.js +1 -0
  47. package/dist/{chunk-HUPLAFZQ.js → chunk-HASVV34S.js} +1 -1
  48. package/dist/chunk-IZLEMTES.js +1 -0
  49. package/dist/chunk-KR7CIEQR.js +1 -0
  50. package/dist/chunk-KS4FB5W7.js +6 -0
  51. package/dist/chunk-LYVDRRDO.js +2 -0
  52. package/dist/chunk-NHTLE3WN.js +1 -0
  53. package/dist/chunk-NS53IPAC.js +1 -0
  54. package/dist/{chunk-WZA5ISAQ.js → chunk-OX53L237.js} +6 -6
  55. package/dist/chunk-PKIRVQLG.js +1 -0
  56. package/dist/chunk-QAF26ZQX.js +36 -0
  57. package/dist/{chunk-NWQ5VWUW.js → chunk-QFCKHUEP.js} +1 -1
  58. package/dist/chunk-QRWWYL52.js +88 -0
  59. package/dist/chunk-QTCZPS5I.js +1 -0
  60. package/dist/{chunk-WSAFBPS5.js → chunk-SV2SP22H.js} +4 -4
  61. package/dist/chunk-T5YRFRJV.js +1 -0
  62. package/dist/chunk-UQEQ6CXU.js +1 -0
  63. package/dist/chunk-V5EYVQ63.js +1 -0
  64. package/dist/chunk-VGJVIHHR.js +1 -0
  65. package/dist/{chunk-MRFN5ZQP.js → chunk-W5ZFXKSL.js} +1 -1
  66. package/dist/chunk-WLCBXCZV.js +5 -0
  67. package/dist/chunk-WOTTSPSF.js +2 -0
  68. package/dist/chunk-X7FYEKLI.js +1 -0
  69. package/dist/chunk-XH7PDHBF.js +1 -0
  70. package/dist/{chunk-KFKZOPZC.js → chunk-XMTLKDPP.js} +1 -1
  71. package/dist/chunk-YJTEMJFV.js +3 -0
  72. package/dist/chunk-YM77FQB3.js +8 -0
  73. package/dist/chunk-ZCPT6KC3.js +6 -0
  74. package/dist/chunk-ZPA6ECBJ.js +7 -0
  75. package/dist/{create-3NSOY7CA.js → create-DLUWG46F.js} +1 -1
  76. package/dist/doctor-IZ4YOCYE.js +1 -0
  77. package/dist/index.d.ts +15 -0
  78. package/dist/index.js +168 -168
  79. package/dist/pipeline-IBQYDLFF.js +5 -0
  80. package/dist/{project-intelligence-lens-ZOAWXYC5.js → project-intelligence-lens-SIU7IXKG.js} +1 -1
  81. package/dist/project-test-coverage-FRMVYTFB.js +1 -0
  82. package/dist/verified-goal-M4GPOXNL.js +1 -0
  83. package/dist/{workspace-C4UETGY7.js → workspace-3AAOUELG.js} +1 -1
  84. package/dist/{workspace-agent-sync-446AXPHJ.js → workspace-agent-sync-QGYLY7HH.js} +1 -1
  85. package/dist/{workspace-archive-VHUPOBAV.js → workspace-archive-BA3ONVXX.js} +1 -1
  86. package/dist/{workspace-context-XSECHC7O.js → workspace-context-JCLPRYNC.js} +1 -1
  87. package/dist/workspace-contract-IUUPBQXU.js +1 -0
  88. package/dist/workspace-explain-CZGBVDE6.js +1 -0
  89. package/dist/workspace-explain-contract-KVQO57RC.js +1 -0
  90. package/dist/{workspace-feedback-WXE7NVMV.js → workspace-feedback-PCZKXG5R.js} +1 -1
  91. package/dist/{workspace-foundation-3EVAQ5X6.js → workspace-foundation-7IGMO4CW.js} +1 -1
  92. package/dist/{workspace-graph-stream-AJPS45FD.js → workspace-graph-stream-5YMLJXAJ.js} +1 -1
  93. package/dist/workspace-graph-token-efficiency-HK4KNWWP.js +1 -0
  94. package/dist/{workspace-history-YY7YRDOH.js → workspace-history-CHJOABME.js} +1 -1
  95. package/dist/{workspace-intelligence-FWRB47EJ.js → workspace-intelligence-XHSUFTAT.js} +1 -1
  96. package/dist/workspace-intelligence-evaluation-YMY3C5AW.js +1 -0
  97. package/dist/{workspace-intelligence-runner-GLC666ER.js → workspace-intelligence-runner-EN5V4KSC.js} +1 -1
  98. package/dist/workspace-intelligence-runtime-registry-NCVHKCMP.js +1 -0
  99. package/dist/workspace-knowledge-graph-VWQTIEYK.js +1 -0
  100. package/dist/{workspace-knowledge-graph-query-EKHIE3E2.js → workspace-knowledge-graph-query-TXA3KVUV.js} +1 -1
  101. package/dist/workspace-knowledge-graph-snapshot-WB62AVDK.js +1 -0
  102. package/dist/workspace-mcp-serve-NCAGGWQS.js +3 -0
  103. package/dist/{workspace-model-MNJOGBPP.js → workspace-model-NXFIKX26.js} +1 -1
  104. package/dist/{workspace-onboarding-5KO7Z7AD.js → workspace-onboarding-OP22NHQ4.js} +1 -1
  105. package/dist/{workspace-readme-4S6PJ74A.js → workspace-readme-IVJXSIBS.js} +1 -1
  106. package/dist/{workspace-registry-summary-GPJEL7K7.js → workspace-registry-summary-A5VDPRHU.js} +1 -1
  107. package/dist/workspace-repair-engine-N4KXNSVL.js +3 -0
  108. package/dist/workspace-run-PXKC3ELS.js +1 -0
  109. package/dist/{workspace-verify-C6HWHRLJ.js → workspace-verify-TUVLFPPN.js} +1 -1
  110. package/dist/{workspace-watch-DLPHLF5R.js → workspace-watch-2ZNOYSUQ.js} +1 -1
  111. package/docs/commands-reference.md +35 -6
  112. package/docs/contracts/ARTIFACT_CATALOG.md +6 -1
  113. package/docs/contracts/README.md +5 -0
  114. package/docs/doctor-command.md +158 -7
  115. package/docs/graph-benchmark-methodology.md +13 -0
  116. package/docs/workspace-intelligence-runner.md +4 -0
  117. package/docs/workspace-knowledge-graph.md +53 -4
  118. package/docs/workspace-run.md +14 -3
  119. package/package.json +10 -3
  120. package/dist/analyze-AAZEJ4FC.js +0 -1
  121. package/dist/autopilot-release-EZXOGAVE.js +0 -1
  122. package/dist/chunk-2PY65U6X.js +0 -5
  123. package/dist/chunk-3DONU3DU.js +0 -1
  124. package/dist/chunk-44VJHNZB.js +0 -1
  125. package/dist/chunk-4GPKQFPY.js +0 -1
  126. package/dist/chunk-5XDPQ3CB.js +0 -1
  127. package/dist/chunk-7AR5PDLD.js +0 -1
  128. package/dist/chunk-7KKP7RNB.js +0 -3
  129. package/dist/chunk-7T4TSV5C.js +0 -1
  130. package/dist/chunk-B5AY55A5.js +0 -1
  131. package/dist/chunk-BQ24743S.js +0 -5
  132. package/dist/chunk-BYVTHIC3.js +0 -2
  133. package/dist/chunk-CEIJIFY7.js +0 -88
  134. package/dist/chunk-EBKYSDCX.js +0 -1
  135. package/dist/chunk-FQLB4BIC.js +0 -7
  136. package/dist/chunk-GDU7VP6G.js +0 -1
  137. package/dist/chunk-H7P7SSUW.js +0 -75
  138. package/dist/chunk-KJYLCZRI.js +0 -8
  139. package/dist/chunk-KVUYAYTY.js +0 -8
  140. package/dist/chunk-MQ73VS4E.js +0 -2
  141. package/dist/chunk-NYHVCFBT.js +0 -1
  142. package/dist/chunk-OUBBBC7T.js +0 -36
  143. package/dist/chunk-P7K5RHJC.js +0 -2
  144. package/dist/chunk-PS5F4DCT.js +0 -1
  145. package/dist/chunk-QZ7PNMVP.js +0 -1
  146. package/dist/chunk-RA24WQLF.js +0 -1
  147. package/dist/chunk-RMXXK64P.js +0 -4
  148. package/dist/chunk-S7Z4DP3P.js +0 -2
  149. package/dist/chunk-SJLUE6AY.js +0 -1
  150. package/dist/chunk-TEHQ7XKK.js +0 -3
  151. package/dist/chunk-UFOCUHG3.js +0 -1
  152. package/dist/chunk-WD2XDMGB.js +0 -1
  153. package/dist/chunk-XVRJVKOX.js +0 -1
  154. package/dist/doctor-UEFFNAUD.js +0 -1
  155. package/dist/pipeline-ZYKDWUKK.js +0 -5
  156. package/dist/project-test-coverage-44ZPCOPV.js +0 -1
  157. package/dist/verified-goal-PE2PGAHF.js +0 -1
  158. package/dist/workspace-contract-AYFTZIKM.js +0 -1
  159. package/dist/workspace-explain-SZI2WAAD.js +0 -1
  160. package/dist/workspace-explain-contract-N2XQHAPM.js +0 -1
  161. package/dist/workspace-graph-token-efficiency-5FNH4JZ5.js +0 -1
  162. package/dist/workspace-intelligence-evaluation-UP2K3L35.js +0 -1
  163. package/dist/workspace-intelligence-runtime-registry-MRSF7RTT.js +0 -1
  164. package/dist/workspace-knowledge-graph-BMMM2FUE.js +0 -1
  165. package/dist/workspace-mcp-serve-COA4FMCA.js +0 -3
  166. package/dist/workspace-repair-engine-NMKOWUQP.js +0 -3
  167. package/dist/workspace-run-2DEVJOVH.js +0 -1
@@ -73,6 +73,94 @@
73
73
  "overwrite": { "const": false }
74
74
  }
75
75
  },
76
+ {
77
+ "type": "object",
78
+ "additionalProperties": false,
79
+ "required": ["type", "path", "lines", "ensureNewline"],
80
+ "properties": {
81
+ "type": { "const": "file-append" },
82
+ "path": { "type": "string" },
83
+ "lines": { "type": "array", "items": { "type": "string" } },
84
+ "ensureNewline": { "type": "boolean" }
85
+ }
86
+ },
87
+ {
88
+ "type": "object",
89
+ "additionalProperties": false,
90
+ "required": ["type", "sourcePath", "path", "overwrite"],
91
+ "properties": {
92
+ "type": { "const": "file-copy" },
93
+ "sourcePath": { "type": "string" },
94
+ "path": { "type": "string" },
95
+ "overwrite": { "const": false }
96
+ }
97
+ },
98
+ {
99
+ "type": "object",
100
+ "additionalProperties": false,
101
+ "required": ["type", "path", "scriptName", "scriptValue"],
102
+ "properties": {
103
+ "type": { "const": "package-json-script" },
104
+ "path": { "type": "string" },
105
+ "scriptName": { "type": "string" },
106
+ "scriptValue": { "type": "string" }
107
+ }
108
+ },
109
+ {
110
+ "type": "object",
111
+ "additionalProperties": false,
112
+ "required": ["type", "path", "edits"],
113
+ "properties": {
114
+ "type": { "const": "json-edit" },
115
+ "path": { "type": "string" },
116
+ "edits": {
117
+ "type": "array",
118
+ "items": {
119
+ "type": "object",
120
+ "additionalProperties": false,
121
+ "required": ["pointer", "value"],
122
+ "properties": {
123
+ "pointer": { "type": "string" },
124
+ "value": { "type": ["string", "number", "boolean", "null"] }
125
+ }
126
+ }
127
+ }
128
+ }
129
+ },
130
+ {
131
+ "type": "object",
132
+ "additionalProperties": false,
133
+ "required": ["type", "path", "keys"],
134
+ "properties": {
135
+ "type": { "const": "env-key-add" },
136
+ "path": { "type": "string" },
137
+ "keys": {
138
+ "type": "array",
139
+ "items": {
140
+ "type": "object",
141
+ "additionalProperties": false,
142
+ "required": ["name", "value"],
143
+ "properties": {
144
+ "name": { "type": "string" },
145
+ "value": { "type": "string" },
146
+ "comment": { "type": "string" }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ },
152
+ {
153
+ "type": "object",
154
+ "additionalProperties": false,
155
+ "required": ["type", "path", "target", "command", "phony"],
156
+ "properties": {
157
+ "type": { "const": "makefile-target" },
158
+ "path": { "type": "string" },
159
+ "target": { "type": "string" },
160
+ "command": { "type": "string" },
161
+ "phony": { "type": "boolean" }
162
+ }
163
+ },
76
164
  {
77
165
  "type": "object",
78
166
  "additionalProperties": false,
@@ -164,7 +252,15 @@
164
252
  "allOf": [
165
253
  {
166
254
  "if": { "properties": { "kind": { "const": "dependency-security" } } },
167
- "then": { "properties": { "completion": { "type": "object", "properties": { "auditClean": { "const": true } }, "required": ["auditClean"] } } }
255
+ "then": {
256
+ "properties": {
257
+ "completion": {
258
+ "type": "object",
259
+ "properties": { "auditClean": { "const": true } },
260
+ "required": ["auditClean"]
261
+ }
262
+ }
263
+ }
168
264
  },
169
265
  {
170
266
  "if": { "properties": { "kind": { "const": "dependency-materialization" } } },
@@ -173,7 +269,11 @@
173
269
  "properties": {
174
270
  "sourceMutationRequired": { "const": false },
175
271
  "observableState": { "const": "runtime-dependency-tree" },
176
- "completion": { "type": "object", "properties": { "installedTreePresent": { "const": true } }, "required": ["installedTreePresent"] }
272
+ "completion": {
273
+ "type": "object",
274
+ "properties": { "installedTreePresent": { "const": true } },
275
+ "required": ["installedTreePresent"]
276
+ }
177
277
  }
178
278
  }
179
279
  }
@@ -190,6 +290,9 @@
190
290
  "order",
191
291
  "phase",
192
292
  "scope",
293
+ "findingId",
294
+ "findingStatus",
295
+ "causalKey",
193
296
  "status",
194
297
  "mode",
195
298
  "risk",
@@ -213,6 +316,11 @@
213
316
  "projectName": { "type": "string", "minLength": 1 },
214
317
  "projectPath": { "type": "string", "minLength": 1 },
215
318
  "sourceStepId": { "type": "string", "minLength": 1 },
319
+ "findingId": { "type": "string", "minLength": 1 },
320
+ "findingStatus": {
321
+ "enum": ["blocking", "advisory", "informational", "unknown"]
322
+ },
323
+ "causalKey": { "type": "string", "minLength": 1 },
216
324
  "dependsOn": {
217
325
  "type": "array",
218
326
  "items": { "type": "string", "minLength": 1 }
@@ -377,9 +377,13 @@
377
377
  "attributeName": "project"
378
378
  },
379
379
  {
380
- "flags": "--json",
380
+ "flags": "--json [mode]",
381
381
  "attributeName": "json"
382
382
  },
383
+ {
384
+ "flags": "--fresh",
385
+ "attributeName": "fresh"
386
+ },
383
387
  {
384
388
  "flags": "--strict",
385
389
  "attributeName": "strict"
@@ -403,6 +407,22 @@
403
407
  {
404
408
  "flags": "--apply",
405
409
  "attributeName": "apply"
410
+ },
411
+ {
412
+ "flags": "--runtime <runtime>",
413
+ "attributeName": "runtime"
414
+ },
415
+ {
416
+ "flags": "--framework <framework>",
417
+ "attributeName": "framework"
418
+ },
419
+ {
420
+ "flags": "--validate",
421
+ "attributeName": "validate"
422
+ },
423
+ {
424
+ "flags": "--write",
425
+ "attributeName": "write"
406
426
  }
407
427
  ]
408
428
  },
@@ -1280,6 +1300,10 @@
1280
1300
  "flags": "--limit <count>",
1281
1301
  "attributeName": "limit"
1282
1302
  },
1303
+ {
1304
+ "flags": "--refresh-graph",
1305
+ "attributeName": "refreshGraph"
1306
+ },
1283
1307
  {
1284
1308
  "flags": "--cache",
1285
1309
  "attributeName": "cache"
@@ -1396,6 +1420,10 @@
1396
1420
  "flags": "--parallel",
1397
1421
  "attributeName": "parallel"
1398
1422
  },
1423
+ {
1424
+ "flags": "--runtime <runtime>",
1425
+ "attributeName": "runtime"
1426
+ },
1399
1427
  {
1400
1428
  "flags": "--max-workers <count>",
1401
1429
  "attributeName": "maxWorkers"
@@ -43,6 +43,9 @@
43
43
  "graphDiagnosis": {
44
44
  "$ref": "https://workspai.dev/schemas/workspace-intelligence/doctor-graph-diagnosis.v1.json"
45
45
  },
46
+ "diagnosis": {
47
+ "$ref": "https://workspai.dev/schemas/workspace-intelligence/doctor-diagnosis.v1.json"
48
+ },
46
49
  "verdict": { "enum": ["passed", "attention", "blocked"] },
47
50
  "probeSummary": { "$ref": "#/$defs/probeSummary" }
48
51
  },
@@ -51,6 +54,7 @@
51
54
  "summary": {
52
55
  "type": "object",
53
56
  "properties": {
57
+ "counts": { "$ref": "#/$defs/counts" },
54
58
  "scopeProvenance": { "type": "object", "additionalProperties": true },
55
59
  "verdict": { "enum": ["passed", "attention", "blocked"] },
56
60
  "probeSummary": { "$ref": "#/$defs/probeSummary" },
@@ -68,6 +72,10 @@
68
72
  "policyProfile": { "$ref": "#/$defs/policyProfile" }
69
73
  },
70
74
  "$defs": {
75
+ "counts": {
76
+ "type": "object",
77
+ "additionalProperties": { "type": "integer", "minimum": 0 }
78
+ },
71
79
  "dependencyAudit": {
72
80
  "type": "object",
73
81
  "required": [
@@ -391,6 +399,7 @@
391
399
  "status": { "enum": ["pass", "warn", "fail"] },
392
400
  "severity": { "enum": ["info", "warn", "error"] },
393
401
  "scope": { "type": "string" },
402
+ "applicability": { "enum": ["applicable", "not-applicable", "unknown"] },
394
403
  "reason": { "type": "string" },
395
404
  "recommendation": { "type": "string" },
396
405
  "freshness": { "$ref": "#/$defs/freshness" },
@@ -530,7 +539,15 @@
530
539
  "allOf": [
531
540
  {
532
541
  "if": { "properties": { "kind": { "const": "dependency-security" } } },
533
- "then": { "properties": { "completion": { "type": "object", "properties": { "auditClean": { "const": true } }, "required": ["auditClean"] } } }
542
+ "then": {
543
+ "properties": {
544
+ "completion": {
545
+ "type": "object",
546
+ "properties": { "auditClean": { "const": true } },
547
+ "required": ["auditClean"]
548
+ }
549
+ }
550
+ }
534
551
  },
535
552
  {
536
553
  "if": { "properties": { "kind": { "const": "dependency-materialization" } } },
@@ -539,7 +556,11 @@
539
556
  "properties": {
540
557
  "sourceMutationRequired": { "const": false },
541
558
  "observableState": { "const": "runtime-dependency-tree" },
542
- "completion": { "type": "object", "properties": { "installedTreePresent": { "const": true } }, "required": ["installedTreePresent"] }
559
+ "completion": {
560
+ "type": "object",
561
+ "properties": { "installedTreePresent": { "const": true } },
562
+ "required": ["installedTreePresent"]
563
+ }
543
564
  }
544
565
  }
545
566
  }
@@ -625,6 +646,51 @@
625
646
  "command": { "type": "string" },
626
647
  "phony": { "type": "boolean" }
627
648
  },
649
+ "allOf": [
650
+ {
651
+ "if": { "properties": { "type": { "const": "file-create" } } },
652
+ "then": {
653
+ "required": ["content", "overwrite"],
654
+ "properties": { "content": {}, "overwrite": { "const": false } }
655
+ }
656
+ },
657
+ {
658
+ "if": { "properties": { "type": { "const": "file-append" } } },
659
+ "then": {
660
+ "required": ["lines", "ensureNewline"],
661
+ "properties": { "lines": {}, "ensureNewline": {} }
662
+ }
663
+ },
664
+ {
665
+ "if": { "properties": { "type": { "const": "file-copy" } } },
666
+ "then": {
667
+ "required": ["sourcePath", "overwrite"],
668
+ "properties": { "sourcePath": {}, "overwrite": { "const": false } }
669
+ }
670
+ },
671
+ {
672
+ "if": { "properties": { "type": { "const": "package-json-script" } } },
673
+ "then": {
674
+ "required": ["scriptName", "scriptValue"],
675
+ "properties": { "scriptName": {}, "scriptValue": {} }
676
+ }
677
+ },
678
+ {
679
+ "if": { "properties": { "type": { "const": "json-edit" } } },
680
+ "then": { "required": ["edits"], "properties": { "edits": {} } }
681
+ },
682
+ {
683
+ "if": { "properties": { "type": { "const": "env-key-add" } } },
684
+ "then": { "required": ["keys"], "properties": { "keys": {} } }
685
+ },
686
+ {
687
+ "if": { "properties": { "type": { "const": "makefile-target" } } },
688
+ "then": {
689
+ "required": ["target", "command", "phony"],
690
+ "properties": { "target": {}, "command": {}, "phony": {} }
691
+ }
692
+ }
693
+ ],
628
694
  "additionalProperties": false
629
695
  }
630
696
  },
@@ -219,7 +219,15 @@
219
219
  "allOf": [
220
220
  {
221
221
  "if": { "properties": { "kind": { "const": "dependency-security" } } },
222
- "then": { "properties": { "completion": { "type": "object", "properties": { "auditClean": { "const": true } }, "required": ["auditClean"] } } }
222
+ "then": {
223
+ "properties": {
224
+ "completion": {
225
+ "type": "object",
226
+ "properties": { "auditClean": { "const": true } },
227
+ "required": ["auditClean"]
228
+ }
229
+ }
230
+ }
223
231
  },
224
232
  {
225
233
  "if": { "properties": { "kind": { "const": "dependency-materialization" } } },
@@ -228,7 +236,11 @@
228
236
  "properties": {
229
237
  "sourceMutationRequired": { "const": false },
230
238
  "observableState": { "const": "runtime-dependency-tree" },
231
- "completion": { "type": "object", "properties": { "installedTreePresent": { "const": true } }, "required": ["installedTreePresent"] }
239
+ "completion": {
240
+ "type": "object",
241
+ "properties": { "installedTreePresent": { "const": true } },
242
+ "required": ["installedTreePresent"]
243
+ }
232
244
  }
233
245
  }
234
246
  }
@@ -461,6 +473,7 @@
461
473
  "kind",
462
474
  "risk",
463
475
  "executable",
476
+ "findingStatus",
464
477
  "files",
465
478
  "preview",
466
479
  "diffPreview",
@@ -531,6 +544,17 @@
531
544
  "issueId": {
532
545
  "type": "string"
533
546
  },
547
+ "diagnosisFindingId": {
548
+ "type": "string",
549
+ "minLength": 1
550
+ },
551
+ "causalKey": {
552
+ "type": "string",
553
+ "minLength": 1
554
+ },
555
+ "findingStatus": {
556
+ "enum": ["blocking", "advisory", "informational", "unknown"]
557
+ },
534
558
  "issueClass": {
535
559
  "enum": [
536
560
  "dependency",
@@ -572,6 +596,9 @@
572
596
  "operation": {
573
597
  "$ref": "#/$defs/repairOperation"
574
598
  },
599
+ "invocation": {
600
+ "$ref": "#/$defs/commandInvocation"
601
+ },
575
602
  "strategy": {
576
603
  "type": "array",
577
604
  "items": { "$ref": "#/$defs/repairStrategyStage" }
@@ -47,6 +47,9 @@
47
47
  "graphDiagnosis": {
48
48
  "$ref": "https://workspai.dev/schemas/workspace-intelligence/doctor-graph-diagnosis.v1.json"
49
49
  },
50
+ "diagnosis": {
51
+ "$ref": "https://workspai.dev/schemas/workspace-intelligence/doctor-diagnosis.v1.json"
52
+ },
50
53
  "verdict": { "enum": ["passed", "attention", "blocked"] },
51
54
  "probeSummary": { "$ref": "#/$defs/probeSummary" }
52
55
  },
@@ -57,6 +60,7 @@
57
60
  "type": "object",
58
61
  "required": ["totalProjects", "totalIssues", "hasSystemErrors"],
59
62
  "properties": {
63
+ "counts": { "$ref": "#/$defs/counts" },
60
64
  "totalProjects": { "type": "integer", "minimum": 0 },
61
65
  "totalIssues": { "type": "integer", "minimum": 0 },
62
66
  "projectAdvisoryWarningProjects": { "type": "integer", "minimum": 0 },
@@ -78,6 +82,10 @@
78
82
  "policyProfile": { "$ref": "#/$defs/policyProfile" }
79
83
  },
80
84
  "$defs": {
85
+ "counts": {
86
+ "type": "object",
87
+ "additionalProperties": { "type": "integer", "minimum": 0 }
88
+ },
81
89
  "dependencyAudit": {
82
90
  "type": "object",
83
91
  "required": [
@@ -401,6 +409,7 @@
401
409
  "status": { "enum": ["pass", "warn", "fail"] },
402
410
  "severity": { "enum": ["info", "warn", "error"] },
403
411
  "scope": { "type": "string" },
412
+ "applicability": { "enum": ["applicable", "not-applicable", "unknown"] },
404
413
  "reason": { "type": "string" },
405
414
  "recommendation": { "type": "string" },
406
415
  "freshness": { "$ref": "#/$defs/freshness" },
@@ -540,7 +549,15 @@
540
549
  "allOf": [
541
550
  {
542
551
  "if": { "properties": { "kind": { "const": "dependency-security" } } },
543
- "then": { "properties": { "completion": { "type": "object", "properties": { "auditClean": { "const": true } }, "required": ["auditClean"] } } }
552
+ "then": {
553
+ "properties": {
554
+ "completion": {
555
+ "type": "object",
556
+ "properties": { "auditClean": { "const": true } },
557
+ "required": ["auditClean"]
558
+ }
559
+ }
560
+ }
544
561
  },
545
562
  {
546
563
  "if": { "properties": { "kind": { "const": "dependency-materialization" } } },
@@ -549,7 +566,11 @@
549
566
  "properties": {
550
567
  "sourceMutationRequired": { "const": false },
551
568
  "observableState": { "const": "runtime-dependency-tree" },
552
- "completion": { "type": "object", "properties": { "installedTreePresent": { "const": true } }, "required": ["installedTreePresent"] }
569
+ "completion": {
570
+ "type": "object",
571
+ "properties": { "installedTreePresent": { "const": true } },
572
+ "required": ["installedTreePresent"]
573
+ }
553
574
  }
554
575
  }
555
576
  }
@@ -635,6 +656,51 @@
635
656
  "command": { "type": "string" },
636
657
  "phony": { "type": "boolean" }
637
658
  },
659
+ "allOf": [
660
+ {
661
+ "if": { "properties": { "type": { "const": "file-create" } } },
662
+ "then": {
663
+ "required": ["content", "overwrite"],
664
+ "properties": { "content": {}, "overwrite": { "const": false } }
665
+ }
666
+ },
667
+ {
668
+ "if": { "properties": { "type": { "const": "file-append" } } },
669
+ "then": {
670
+ "required": ["lines", "ensureNewline"],
671
+ "properties": { "lines": {}, "ensureNewline": {} }
672
+ }
673
+ },
674
+ {
675
+ "if": { "properties": { "type": { "const": "file-copy" } } },
676
+ "then": {
677
+ "required": ["sourcePath", "overwrite"],
678
+ "properties": { "sourcePath": {}, "overwrite": { "const": false } }
679
+ }
680
+ },
681
+ {
682
+ "if": { "properties": { "type": { "const": "package-json-script" } } },
683
+ "then": {
684
+ "required": ["scriptName", "scriptValue"],
685
+ "properties": { "scriptName": {}, "scriptValue": {} }
686
+ }
687
+ },
688
+ {
689
+ "if": { "properties": { "type": { "const": "json-edit" } } },
690
+ "then": { "required": ["edits"], "properties": { "edits": {} } }
691
+ },
692
+ {
693
+ "if": { "properties": { "type": { "const": "env-key-add" } } },
694
+ "then": { "required": ["keys"], "properties": { "keys": {} } }
695
+ },
696
+ {
697
+ "if": { "properties": { "type": { "const": "makefile-target" } } },
698
+ "then": {
699
+ "required": ["target", "command", "phony"],
700
+ "properties": { "target": {}, "command": {}, "phony": {} }
701
+ }
702
+ }
703
+ ],
638
704
  "additionalProperties": false
639
705
  }
640
706
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "rapidkit-extension-cli-compatibility.v1",
3
3
  "cli": "workspai",
4
- "minimumVerifiedCliVersion": "0.55.0",
4
+ "minimumVerifiedCliVersion": "0.56.0",
5
5
  "publishedContractSchemas": {
6
6
  "workspaceContract": 1,
7
7
  "runtimeCommandSurface": "rapidkit-runtime-command-surface-v1",
@@ -20,6 +20,11 @@
20
20
  "doctorProjectEvidence": "doctor-project-evidence-v1",
21
21
  "doctorWorkspaceEvidence": "doctor-workspace-evidence-v1",
22
22
  "doctorGraphDiagnosis": "doctor-graph-diagnosis.v1",
23
+ "doctorDiagnosis": "workspai.doctor-diagnosis.v1",
24
+ "doctorCapabilities": "workspai.doctor-capabilities.v1",
25
+ "doctorValidation": "workspai.doctor-validation.v1",
26
+ "doctorReceipt": "workspai.doctor-receipt.v1",
27
+ "doctorSummary": "workspai.doctor-summary.v1",
23
28
  "projectTestCoverage": "workspai.project-test-coverage.v1",
24
29
  "verifiedGoal": "workspai.verified-goal.v1",
25
30
  "verifiedGoalStatus": "workspai.verified-goal-status.v1",
@@ -86,6 +86,31 @@
86
86
  "contractPath": "contracts/workspace-intelligence/doctor-graph-diagnosis.v1.json",
87
87
  "publication": "json-schema"
88
88
  },
89
+ "doctorDiagnosis": {
90
+ "schemaVersion": "workspai.doctor-diagnosis.v1",
91
+ "contractPath": "contracts/workspace-intelligence/doctor-diagnosis.v1.json",
92
+ "publication": "json-schema"
93
+ },
94
+ "doctorCapabilities": {
95
+ "schemaVersion": "workspai.doctor-capabilities.v1",
96
+ "contractPath": "contracts/workspace-intelligence/doctor-capabilities.v1.json",
97
+ "publication": "capability-contract"
98
+ },
99
+ "doctorValidation": {
100
+ "schemaVersion": "workspai.doctor-validation.v1",
101
+ "contractPath": "contracts/workspace-intelligence/doctor-validation.v1.json",
102
+ "publication": "json-schema"
103
+ },
104
+ "doctorReceipt": {
105
+ "schemaVersion": "workspai.doctor-receipt.v1",
106
+ "contractPath": "contracts/workspace-intelligence/doctor-receipt.v1.json",
107
+ "publication": "json-schema"
108
+ },
109
+ "doctorSummary": {
110
+ "schemaVersion": "workspai.doctor-summary.v1",
111
+ "contractPath": "contracts/workspace-intelligence/doctor-summary.v1.json",
112
+ "publication": "json-schema"
113
+ },
89
114
  "projectTestCoverage": {
90
115
  "schemaVersion": "workspai.project-test-coverage.v1",
91
116
  "contractPath": "contracts/project-test-coverage.v1.json",
@@ -362,6 +362,25 @@
362
362
  "doctor"
363
363
  ]
364
364
  },
365
+ {
366
+ "invocation": "doctor capabilities --validate --write",
367
+ "summary": "Validate every registered Doctor adapter and persist the governed capability and validation artifacts in the selected workspace.",
368
+ "canonicalArgv": [
369
+ "doctor",
370
+ "capabilities",
371
+ "--validate",
372
+ "--write"
373
+ ]
374
+ },
375
+ {
376
+ "invocation": "doctor capabilities --write",
377
+ "summary": "Persist the canonical Doctor capability matrix as a governed workspace artifact.",
378
+ "canonicalArgv": [
379
+ "doctor",
380
+ "capabilities",
381
+ "--write"
382
+ ]
383
+ },
365
384
  {
366
385
  "invocation": "doctor project",
367
386
  "summary": "Diagnose the current project and emit structured project evidence.",
@@ -1874,6 +1893,31 @@
1874
1893
  ]
1875
1894
  ]
1876
1895
  },
1896
+ {
1897
+ "artifactPath": ".workspai/reports/doctor-capabilities.json",
1898
+ "schemaVersion": "workspai.doctor-capabilities.v1",
1899
+ "contractPath": "contracts/workspace-intelligence/doctor-capabilities.v1.json",
1900
+ "producerCommands": [
1901
+ [
1902
+ "doctor",
1903
+ "capabilities",
1904
+ "--write"
1905
+ ]
1906
+ ]
1907
+ },
1908
+ {
1909
+ "artifactPath": ".workspai/reports/doctor-validation-last-run.json",
1910
+ "schemaVersion": "workspai.doctor-validation.v1",
1911
+ "contractPath": "contracts/workspace-intelligence/doctor-validation.v1.json",
1912
+ "producerCommands": [
1913
+ [
1914
+ "doctor",
1915
+ "capabilities",
1916
+ "--validate",
1917
+ "--write"
1918
+ ]
1919
+ ]
1920
+ },
1877
1921
  {
1878
1922
  "artifactPath": ".workspai/reports/bootstrap-compliance.latest.json",
1879
1923
  "schemaVersion": "bootstrap-compliance.v1",
@@ -1928,6 +1972,21 @@
1928
1972
  ]
1929
1973
  ]
1930
1974
  },
1975
+ {
1976
+ "artifactPath": ".workspai/reports/doctor-receipt-last-run.json",
1977
+ "schemaVersion": "workspai.doctor-receipt.v1",
1978
+ "contractPath": "contracts/workspace-intelligence/doctor-receipt.v1.json",
1979
+ "producerCommands": [
1980
+ [
1981
+ "doctor",
1982
+ "workspace"
1983
+ ],
1984
+ [
1985
+ "doctor",
1986
+ "project"
1987
+ ]
1988
+ ]
1989
+ },
1931
1990
  {
1932
1991
  "artifactPath": ".workspai/reports/project-test-coverage-last-run.json",
1933
1992
  "schemaVersion": "workspai.project-test-coverage.v1",
@@ -2536,6 +2595,10 @@
2536
2595
  "flag": "--limit",
2537
2596
  "description": "Bound graph query results (1–100)."
2538
2597
  },
2598
+ {
2599
+ "flag": "--refresh-graph",
2600
+ "description": "Bypass the compatible persisted graph and rebuild from live sources."
2601
+ },
2539
2602
  {
2540
2603
  "flag": "--include-paths",
2541
2604
  "description": "Include absolute filesystem paths."