workspai 0.55.1 → 0.57.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 (174) hide show
  1. package/README.md +36 -8
  2. package/contracts/adopt-effects.v1.json +72 -0
  3. package/contracts/artifact-remediation-plan.v1.json +110 -2
  4. package/contracts/cli-runtime-command-inventory.v1.snapshot.json +33 -1
  5. package/contracts/doctor-project-evidence.v1.json +95 -2
  6. package/contracts/doctor-remediation-plan.v1.json +29 -2
  7. package/contracts/doctor-workspace-evidence.v1.json +97 -2
  8. package/contracts/extension-cli-compatibility.v1.json +7 -1
  9. package/contracts/published-contract-catalog.v1.json +30 -0
  10. package/contracts/runtime-command-surface.v1.json +63 -0
  11. package/contracts/workspace-intelligence/doctor-capabilities.v1.json +133 -0
  12. package/contracts/workspace-intelligence/doctor-diagnosis.v1.json +273 -0
  13. package/contracts/workspace-intelligence/doctor-graph-diagnosis.v1.json +3 -0
  14. package/contracts/workspace-intelligence/doctor-receipt.v1.json +136 -0
  15. package/contracts/workspace-intelligence/doctor-summary.v1.json +101 -0
  16. package/contracts/workspace-intelligence/doctor-validation.v1.json +109 -0
  17. package/contracts/workspace-intelligence/project-context-agent.v1.json +110 -0
  18. package/contracts/workspace-intelligence/studio-blocker-handoff.v1.json +25 -0
  19. package/contracts/workspace-intelligence/workspace-knowledge-graph.v1.json +36 -0
  20. package/contracts/workspace-intelligence/workspace-knowledge-search.v1.json +54 -0
  21. package/dist/analyze-HJ774J3E.js +1 -0
  22. package/dist/{artifact-remediation-plan-O3YIULQN.js → artifact-remediation-plan-BPLON5VX.js} +1 -1
  23. package/dist/autopilot-release-WIFFFQKW.js +1 -0
  24. package/dist/capabilities-command-44JVOE5S.js +1 -0
  25. package/dist/chunk-2647BYBC.js +1 -0
  26. package/dist/chunk-3U4VLIGW.js +1 -0
  27. package/dist/chunk-5EPPPMAS.js +1 -0
  28. package/dist/{chunk-AMB42V2F.js → chunk-64JUYYRC.js} +1 -1
  29. package/dist/chunk-6OFGLNFS.js +1 -0
  30. package/dist/chunk-75HOCFNH.js +1 -0
  31. package/dist/{chunk-M5ICGR55.js → chunk-7WUT5ZSO.js} +1 -1
  32. package/dist/chunk-AA4PNQKR.js +1 -0
  33. package/dist/{chunk-WIO6L24E.js → chunk-ADL3CK44.js} +1 -1
  34. package/dist/chunk-AO2ZI42U.js +4 -0
  35. package/dist/chunk-CNWUIXF3.js +1 -0
  36. package/dist/chunk-D4RST2HE.js +1 -0
  37. package/dist/chunk-DF4NWPB7.js +8 -0
  38. package/dist/chunk-DT4X7I5M.js +81 -0
  39. package/dist/{chunk-HY3RMPW5.js → chunk-E53BGUOW.js} +1 -1
  40. package/dist/chunk-GBMCHFOV.js +1 -0
  41. package/dist/chunk-GDKFN3CM.js +8 -0
  42. package/dist/chunk-GTJY55QK.js +5 -0
  43. package/dist/chunk-GXTCU4WF.js +1 -0
  44. package/dist/{chunk-WSAFBPS5.js → chunk-IUYZ3NHS.js} +4 -4
  45. package/dist/chunk-IXOLHPTN.js +6 -0
  46. package/dist/chunk-IZLEMTES.js +1 -0
  47. package/dist/chunk-L36ZASME.js +1 -0
  48. package/dist/chunk-LYVDRRDO.js +2 -0
  49. package/dist/chunk-N2BIIUDH.js +4 -0
  50. package/dist/{chunk-IBPPMOHM.js → chunk-NHTLE3WN.js} +1 -1
  51. package/dist/chunk-NS53IPAC.js +1 -0
  52. package/dist/{chunk-NWQ5VWUW.js → chunk-P475BOJW.js} +1 -1
  53. package/dist/chunk-PKIRVQLG.js +1 -0
  54. package/dist/chunk-QHY6F4SS.js +2 -0
  55. package/dist/chunk-QK5QOXOE.js +13 -0
  56. package/dist/chunk-RPHM7LQW.js +36 -0
  57. package/dist/chunk-SNO3WG4V.js +2 -0
  58. package/dist/chunk-T5YRFRJV.js +1 -0
  59. package/dist/chunk-TTFQWH55.js +91 -0
  60. package/dist/chunk-UQEQ6CXU.js +1 -0
  61. package/dist/chunk-V5EYVQ63.js +1 -0
  62. package/dist/{chunk-HUPLAFZQ.js → chunk-VL3APTVB.js} +1 -1
  63. package/dist/chunk-VUR7H2FU.js +2 -0
  64. package/dist/chunk-VZPWIILU.js +1 -0
  65. package/dist/{chunk-MRFN5ZQP.js → chunk-W5ZFXKSL.js} +1 -1
  66. package/dist/chunk-WP3CXMVA.js +2 -0
  67. package/dist/chunk-X7FYEKLI.js +1 -0
  68. package/dist/{chunk-KFKZOPZC.js → chunk-XMTLKDPP.js} +1 -1
  69. package/dist/chunk-YJTEMJFV.js +3 -0
  70. package/dist/chunk-YM77FQB3.js +8 -0
  71. package/dist/{chunk-FZCYTRBQ.js → chunk-Z57G62KE.js} +1 -1
  72. package/dist/chunk-ZCPT6KC3.js +6 -0
  73. package/dist/chunk-ZPA6ECBJ.js +7 -0
  74. package/dist/{create-3NSOY7CA.js → create-O2KLTN5H.js} +1 -1
  75. package/dist/doctor-AL5YWO5X.js +1 -0
  76. package/dist/index.d.ts +19 -0
  77. package/dist/index.js +169 -167
  78. package/dist/pipeline-4ST4BQWY.js +5 -0
  79. package/dist/{project-intelligence-lens-ZOAWXYC5.js → project-intelligence-lens-JHYECYOK.js} +1 -1
  80. package/dist/project-test-coverage-FRMVYTFB.js +1 -0
  81. package/dist/verified-goal-KFNRGOKT.js +1 -0
  82. package/dist/{workspace-C4UETGY7.js → workspace-O4E5CCGK.js} +1 -1
  83. package/dist/{workspace-agent-sync-446AXPHJ.js → workspace-agent-sync-N5DPGU2E.js} +1 -1
  84. package/dist/{workspace-archive-VHUPOBAV.js → workspace-archive-BA3ONVXX.js} +1 -1
  85. package/dist/{workspace-context-XSECHC7O.js → workspace-context-ETZNEHOJ.js} +1 -1
  86. package/dist/workspace-contract-OSI7NBXS.js +1 -0
  87. package/dist/workspace-explain-EM7IUV6L.js +1 -0
  88. package/dist/workspace-explain-contract-KVQO57RC.js +1 -0
  89. package/dist/{workspace-feedback-WXE7NVMV.js → workspace-feedback-PCZKXG5R.js} +1 -1
  90. package/dist/{workspace-foundation-3EVAQ5X6.js → workspace-foundation-QQHX66KE.js} +1 -1
  91. package/dist/{workspace-graph-stream-AJPS45FD.js → workspace-graph-stream-UZJQ75XZ.js} +1 -1
  92. package/dist/workspace-graph-token-efficiency-TF23UYEF.js +1 -0
  93. package/dist/{workspace-history-YY7YRDOH.js → workspace-history-CHJOABME.js} +1 -1
  94. package/dist/{workspace-intelligence-FWRB47EJ.js → workspace-intelligence-A7O7MN6T.js} +1 -1
  95. package/dist/workspace-intelligence-evaluation-YMY3C5AW.js +1 -0
  96. package/dist/{workspace-intelligence-runner-SMEAB4CO.js → workspace-intelligence-runner-4EF66L66.js} +1 -1
  97. package/dist/workspace-intelligence-runtime-registry-NCVHKCMP.js +1 -0
  98. package/dist/workspace-knowledge-graph-BVN4NTJ6.js +1 -0
  99. package/dist/{workspace-knowledge-graph-query-EKHIE3E2.js → workspace-knowledge-graph-query-6DAOXGGT.js} +1 -1
  100. package/dist/workspace-knowledge-graph-snapshot-XSQADCNR.js +1 -0
  101. package/dist/workspace-mcp-serve-TKX4J3SX.js +3 -0
  102. package/dist/{workspace-model-MNJOGBPP.js → workspace-model-7ESEP366.js} +1 -1
  103. package/dist/{workspace-onboarding-5KO7Z7AD.js → workspace-onboarding-SY255V7L.js} +1 -1
  104. package/dist/{workspace-readme-4S6PJ74A.js → workspace-readme-IVJXSIBS.js} +1 -1
  105. package/dist/{workspace-registry-summary-GPJEL7K7.js → workspace-registry-summary-7ISKYEPM.js} +1 -1
  106. package/dist/workspace-repair-engine-GMA2YTCF.js +3 -0
  107. package/dist/workspace-run-ZZXVNFUS.js +1 -0
  108. package/dist/{workspace-verify-C6HWHRLJ.js → workspace-verify-CNXZPWS5.js} +1 -1
  109. package/dist/{workspace-watch-DLPHLF5R.js → workspace-watch-HGFL2EU3.js} +1 -1
  110. package/docs/From Code to Shared Understanding-B.png +0 -0
  111. package/docs/From Code to Shared Understanding.png +0 -0
  112. package/docs/README_CONTENT_CONTRACT.md +25 -12
  113. package/docs/ci-workflows.md +9 -1
  114. package/docs/commands-reference.md +36 -7
  115. package/docs/contracts/ARTIFACT_CATALOG.md +6 -1
  116. package/docs/contracts/README.md +21 -12
  117. package/docs/doctor-command.md +189 -14
  118. package/docs/from-code-to-shared-understanding.md +22 -17
  119. package/docs/graph-benchmark-methodology.md +13 -0
  120. package/docs/real-world-qualification.md +73 -0
  121. package/docs/workspace-intelligence-runner.md +4 -0
  122. package/docs/workspace-knowledge-graph.md +77 -7
  123. package/docs/workspace-operations.md +14 -2
  124. package/docs/workspace-run.md +30 -7
  125. package/package.json +14 -3
  126. package/dist/analyze-AAZEJ4FC.js +0 -1
  127. package/dist/autopilot-release-3H5FTF6H.js +0 -1
  128. package/dist/chunk-2PY65U6X.js +0 -5
  129. package/dist/chunk-3DONU3DU.js +0 -1
  130. package/dist/chunk-44VJHNZB.js +0 -1
  131. package/dist/chunk-5XDPQ3CB.js +0 -1
  132. package/dist/chunk-6HJJHEL6.js +0 -2
  133. package/dist/chunk-7AR5PDLD.js +0 -1
  134. package/dist/chunk-7KKP7RNB.js +0 -3
  135. package/dist/chunk-7S4QNH5A.js +0 -5
  136. package/dist/chunk-7T4TSV5C.js +0 -1
  137. package/dist/chunk-BYVTHIC3.js +0 -2
  138. package/dist/chunk-CEIJIFY7.js +0 -88
  139. package/dist/chunk-D37NEYV6.js +0 -1
  140. package/dist/chunk-DPMO4U3Z.js +0 -8
  141. package/dist/chunk-DS4UYMLX.js +0 -1
  142. package/dist/chunk-FQLB4BIC.js +0 -7
  143. package/dist/chunk-GDU7VP6G.js +0 -1
  144. package/dist/chunk-H7P7SSUW.js +0 -75
  145. package/dist/chunk-KVUYAYTY.js +0 -8
  146. package/dist/chunk-MQ73VS4E.js +0 -2
  147. package/dist/chunk-NYHVCFBT.js +0 -1
  148. package/dist/chunk-OUBBBC7T.js +0 -36
  149. package/dist/chunk-P7K5RHJC.js +0 -2
  150. package/dist/chunk-PS5F4DCT.js +0 -1
  151. package/dist/chunk-QZ7PNMVP.js +0 -1
  152. package/dist/chunk-RA24WQLF.js +0 -1
  153. package/dist/chunk-RMXXK64P.js +0 -4
  154. package/dist/chunk-S7Z4DP3P.js +0 -2
  155. package/dist/chunk-SJLUE6AY.js +0 -1
  156. package/dist/chunk-TEHQ7XKK.js +0 -3
  157. package/dist/chunk-UFOCUHG3.js +0 -1
  158. package/dist/chunk-WD2XDMGB.js +0 -1
  159. package/dist/chunk-XVRJVKOX.js +0 -1
  160. package/dist/chunk-YTLUT6IA.js +0 -13
  161. package/dist/doctor-UEFFNAUD.js +0 -1
  162. package/dist/pipeline-B5S6P36F.js +0 -5
  163. package/dist/project-test-coverage-44ZPCOPV.js +0 -1
  164. package/dist/verified-goal-KOU3WJYN.js +0 -1
  165. package/dist/workspace-contract-AYFTZIKM.js +0 -1
  166. package/dist/workspace-explain-ZEWVKDBF.js +0 -1
  167. package/dist/workspace-explain-contract-6CCC26QT.js +0 -1
  168. package/dist/workspace-graph-token-efficiency-5FNH4JZ5.js +0 -1
  169. package/dist/workspace-intelligence-evaluation-UP2K3L35.js +0 -1
  170. package/dist/workspace-intelligence-runtime-registry-MRSF7RTT.js +0 -1
  171. package/dist/workspace-knowledge-graph-BMMM2FUE.js +0 -1
  172. package/dist/workspace-mcp-serve-X6C3AWTA.js +0 -3
  173. package/dist/workspace-repair-engine-GWTXVVKB.js +0 -3
  174. package/dist/workspace-run-FJTBX4JQ.js +0 -1
@@ -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 },
@@ -64,6 +68,8 @@
64
68
  "verdict": { "enum": ["passed", "attention", "blocked"] },
65
69
  "blockingFindings": { "type": "integer", "minimum": 0 },
66
70
  "advisoryFindings": { "type": "integer", "minimum": 0 },
71
+ "unknownFindings": { "type": "integer", "minimum": 0 },
72
+ "contradictionFindings": { "type": "integer", "minimum": 0 },
67
73
  "hasSystemErrors": { "type": "boolean" },
68
74
  "scopeProvenance": { "type": "object", "additionalProperties": true }
69
75
  },
@@ -78,6 +84,10 @@
78
84
  "policyProfile": { "$ref": "#/$defs/policyProfile" }
79
85
  },
80
86
  "$defs": {
87
+ "counts": {
88
+ "type": "object",
89
+ "additionalProperties": { "type": "integer", "minimum": 0 }
90
+ },
81
91
  "dependencyAudit": {
82
92
  "type": "object",
83
93
  "required": [
@@ -272,6 +282,7 @@
272
282
  "warnings": { "type": "integer", "minimum": 0 },
273
283
  "errors": { "type": "integer", "minimum": 0 },
274
284
  "verdict": { "enum": ["passed", "attention", "blocked"] },
285
+ "presentation": { "$ref": "#/$defs/healthScorePresentation" },
275
286
  "components": {
276
287
  "type": "object",
277
288
  "required": ["host", "projects"],
@@ -284,6 +295,30 @@
284
295
  },
285
296
  "additionalProperties": false
286
297
  },
298
+ "healthScorePresentation": {
299
+ "type": "object",
300
+ "required": [
301
+ "policy",
302
+ "diagnosticPassRatePercent",
303
+ "blockingFindings",
304
+ "advisoryFindings",
305
+ "unknownFindings",
306
+ "contradictionFindings",
307
+ "notApplicableChecks",
308
+ "label"
309
+ ],
310
+ "properties": {
311
+ "policy": { "const": "doctor-multi-axis-v1" },
312
+ "diagnosticPassRatePercent": { "type": ["number", "null"], "minimum": 0, "maximum": 100 },
313
+ "blockingFindings": { "type": "integer", "minimum": 0 },
314
+ "advisoryFindings": { "type": "integer", "minimum": 0 },
315
+ "unknownFindings": { "type": "integer", "minimum": 0 },
316
+ "contradictionFindings": { "type": "integer", "minimum": 0 },
317
+ "notApplicableChecks": { "type": "integer", "minimum": 0 },
318
+ "label": { "const": "diagnostic-pass-rate" }
319
+ },
320
+ "additionalProperties": false
321
+ },
287
322
  "probeSummary": {
288
323
  "type": "object",
289
324
  "required": [
@@ -302,6 +337,8 @@
302
337
  "failed": { "type": "integer", "minimum": 0 },
303
338
  "blockingFindings": { "type": "integer", "minimum": 0 },
304
339
  "advisoryFindings": { "type": "integer", "minimum": 0 },
340
+ "unknownFindings": { "type": "integer", "minimum": 0 },
341
+ "contradictionFindings": { "type": "integer", "minimum": 0 },
305
342
  "verdict": { "enum": ["passed", "attention", "blocked"] }
306
343
  },
307
344
  "additionalProperties": false
@@ -401,6 +438,7 @@
401
438
  "status": { "enum": ["pass", "warn", "fail"] },
402
439
  "severity": { "enum": ["info", "warn", "error"] },
403
440
  "scope": { "type": "string" },
441
+ "applicability": { "enum": ["applicable", "not-applicable", "unknown"] },
404
442
  "reason": { "type": "string" },
405
443
  "recommendation": { "type": "string" },
406
444
  "freshness": { "$ref": "#/$defs/freshness" },
@@ -540,7 +578,15 @@
540
578
  "allOf": [
541
579
  {
542
580
  "if": { "properties": { "kind": { "const": "dependency-security" } } },
543
- "then": { "properties": { "completion": { "type": "object", "properties": { "auditClean": { "const": true } }, "required": ["auditClean"] } } }
581
+ "then": {
582
+ "properties": {
583
+ "completion": {
584
+ "type": "object",
585
+ "properties": { "auditClean": { "const": true } },
586
+ "required": ["auditClean"]
587
+ }
588
+ }
589
+ }
544
590
  },
545
591
  {
546
592
  "if": { "properties": { "kind": { "const": "dependency-materialization" } } },
@@ -549,7 +595,11 @@
549
595
  "properties": {
550
596
  "sourceMutationRequired": { "const": false },
551
597
  "observableState": { "const": "runtime-dependency-tree" },
552
- "completion": { "type": "object", "properties": { "installedTreePresent": { "const": true } }, "required": ["installedTreePresent"] }
598
+ "completion": {
599
+ "type": "object",
600
+ "properties": { "installedTreePresent": { "const": true } },
601
+ "required": ["installedTreePresent"]
602
+ }
553
603
  }
554
604
  }
555
605
  }
@@ -635,6 +685,51 @@
635
685
  "command": { "type": "string" },
636
686
  "phony": { "type": "boolean" }
637
687
  },
688
+ "allOf": [
689
+ {
690
+ "if": { "properties": { "type": { "const": "file-create" } } },
691
+ "then": {
692
+ "required": ["content", "overwrite"],
693
+ "properties": { "content": {}, "overwrite": { "const": false } }
694
+ }
695
+ },
696
+ {
697
+ "if": { "properties": { "type": { "const": "file-append" } } },
698
+ "then": {
699
+ "required": ["lines", "ensureNewline"],
700
+ "properties": { "lines": {}, "ensureNewline": {} }
701
+ }
702
+ },
703
+ {
704
+ "if": { "properties": { "type": { "const": "file-copy" } } },
705
+ "then": {
706
+ "required": ["sourcePath", "overwrite"],
707
+ "properties": { "sourcePath": {}, "overwrite": { "const": false } }
708
+ }
709
+ },
710
+ {
711
+ "if": { "properties": { "type": { "const": "package-json-script" } } },
712
+ "then": {
713
+ "required": ["scriptName", "scriptValue"],
714
+ "properties": { "scriptName": {}, "scriptValue": {} }
715
+ }
716
+ },
717
+ {
718
+ "if": { "properties": { "type": { "const": "json-edit" } } },
719
+ "then": { "required": ["edits"], "properties": { "edits": {} } }
720
+ },
721
+ {
722
+ "if": { "properties": { "type": { "const": "env-key-add" } } },
723
+ "then": { "required": ["keys"], "properties": { "keys": {} } }
724
+ },
725
+ {
726
+ "if": { "properties": { "type": { "const": "makefile-target" } } },
727
+ "then": {
728
+ "required": ["target", "command", "phony"],
729
+ "properties": { "target": {}, "command": {}, "phony": {} }
730
+ }
731
+ }
732
+ ],
638
733
  "additionalProperties": false
639
734
  }
640
735
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "rapidkit-extension-cli-compatibility.v1",
3
3
  "cli": "workspai",
4
- "minimumVerifiedCliVersion": "0.55.1",
4
+ "minimumVerifiedCliVersion": "0.56.0",
5
5
  "publishedContractSchemas": {
6
6
  "workspaceContract": 1,
7
7
  "runtimeCommandSurface": "rapidkit-runtime-command-surface-v1",
@@ -13,6 +13,7 @@
13
13
  "workspaceArchiveOperationResult": "workspai-workspace-archive-operation-result-v1",
14
14
  "ingestionPlan": "workspai.ingestion-plan.v1",
15
15
  "ingestionResult": "workspai.ingestion-result.v1",
16
+ "adoptEffects": "workspai.adopt-effects.v1",
16
17
  "projectEntryCapability": "workspai-project-entry-capability-v1",
17
18
  "projectWorkspaceLink": "project-workspace-link.v1",
18
19
  "projectWorkspaceResolution": "project-workspace-resolution.v1",
@@ -20,6 +21,11 @@
20
21
  "doctorProjectEvidence": "doctor-project-evidence-v1",
21
22
  "doctorWorkspaceEvidence": "doctor-workspace-evidence-v1",
22
23
  "doctorGraphDiagnosis": "doctor-graph-diagnosis.v1",
24
+ "doctorDiagnosis": "workspai.doctor-diagnosis.v1",
25
+ "doctorCapabilities": "workspai.doctor-capabilities.v1",
26
+ "doctorValidation": "workspai.doctor-validation.v1",
27
+ "doctorReceipt": "workspai.doctor-receipt.v1",
28
+ "doctorSummary": "workspai.doctor-summary.v1",
23
29
  "projectTestCoverage": "workspai.project-test-coverage.v1",
24
30
  "verifiedGoal": "workspai.verified-goal.v1",
25
31
  "verifiedGoalStatus": "workspai.verified-goal-status.v1",
@@ -51,6 +51,11 @@
51
51
  "contractPath": "contracts/ingestion-result.v1.json",
52
52
  "publication": "json-schema"
53
53
  },
54
+ "adoptEffects": {
55
+ "schemaVersion": "workspai.adopt-effects.v1",
56
+ "contractPath": "contracts/adopt-effects.v1.json",
57
+ "publication": "json-schema"
58
+ },
54
59
  "projectEntryCapability": {
55
60
  "schemaVersion": "workspai-project-entry-capability-v1",
56
61
  "contractPath": "contracts/project-entry-capability.v1.json",
@@ -86,6 +91,31 @@
86
91
  "contractPath": "contracts/workspace-intelligence/doctor-graph-diagnosis.v1.json",
87
92
  "publication": "json-schema"
88
93
  },
94
+ "doctorDiagnosis": {
95
+ "schemaVersion": "workspai.doctor-diagnosis.v1",
96
+ "contractPath": "contracts/workspace-intelligence/doctor-diagnosis.v1.json",
97
+ "publication": "json-schema"
98
+ },
99
+ "doctorCapabilities": {
100
+ "schemaVersion": "workspai.doctor-capabilities.v1",
101
+ "contractPath": "contracts/workspace-intelligence/doctor-capabilities.v1.json",
102
+ "publication": "capability-contract"
103
+ },
104
+ "doctorValidation": {
105
+ "schemaVersion": "workspai.doctor-validation.v1",
106
+ "contractPath": "contracts/workspace-intelligence/doctor-validation.v1.json",
107
+ "publication": "json-schema"
108
+ },
109
+ "doctorReceipt": {
110
+ "schemaVersion": "workspai.doctor-receipt.v1",
111
+ "contractPath": "contracts/workspace-intelligence/doctor-receipt.v1.json",
112
+ "publication": "json-schema"
113
+ },
114
+ "doctorSummary": {
115
+ "schemaVersion": "workspai.doctor-summary.v1",
116
+ "contractPath": "contracts/workspace-intelligence/doctor-summary.v1.json",
117
+ "publication": "json-schema"
118
+ },
89
119
  "projectTestCoverage": {
90
120
  "schemaVersion": "workspai.project-test-coverage.v1",
91
121
  "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."
@@ -0,0 +1,133 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/doctor-capabilities.v1.json",
4
+ "title": "Workspai Doctor Capability Matrix",
5
+ "type": "object",
6
+ "required": ["schemaVersion", "registryVersion", "generatedBy", "policy", "summary", "adapters"],
7
+ "properties": {
8
+ "schemaVersion": { "const": "workspai.doctor-capabilities.v1" },
9
+ "registryVersion": { "const": "universal-doctor-capabilities-v1" },
10
+ "generatedBy": { "const": "workspai" },
11
+ "policy": {
12
+ "type": "object",
13
+ "required": [
14
+ "unknownIsHealthy",
15
+ "unsupportedIsHealthy",
16
+ "repairRequiresTypedOperation",
17
+ "canonicalDomains"
18
+ ],
19
+ "properties": {
20
+ "unknownIsHealthy": { "const": false },
21
+ "unsupportedIsHealthy": { "const": false },
22
+ "repairRequiresTypedOperation": { "const": true },
23
+ "canonicalDomains": { "$ref": "#/$defs/domains" }
24
+ },
25
+ "additionalProperties": false
26
+ },
27
+ "summary": {
28
+ "type": "object",
29
+ "required": [
30
+ "adapterCount",
31
+ "firstClassRuntimes",
32
+ "extendedRuntimes",
33
+ "fallbackRuntimes",
34
+ "frameworkCount",
35
+ "platformCount"
36
+ ],
37
+ "properties": {
38
+ "adapterCount": { "type": "integer", "minimum": 1 },
39
+ "firstClassRuntimes": { "type": "integer", "minimum": 0 },
40
+ "extendedRuntimes": { "type": "integer", "minimum": 0 },
41
+ "fallbackRuntimes": { "type": "integer", "minimum": 0 },
42
+ "frameworkCount": { "type": "integer", "minimum": 0 },
43
+ "platformCount": { "type": "integer", "minimum": 1 }
44
+ },
45
+ "additionalProperties": false
46
+ },
47
+ "adapters": {
48
+ "type": "array",
49
+ "minItems": 1,
50
+ "items": { "$ref": "#/$defs/adapter" }
51
+ }
52
+ },
53
+ "$defs": {
54
+ "domain": { "enum": ["runtime", "dependency", "security", "configuration", "test", "quality"] },
55
+ "domains": {
56
+ "type": "array",
57
+ "items": { "$ref": "#/$defs/domain" },
58
+ "minItems": 6,
59
+ "maxItems": 6,
60
+ "uniqueItems": true
61
+ },
62
+ "stringList": {
63
+ "type": "array",
64
+ "items": { "type": "string", "minLength": 1 },
65
+ "uniqueItems": true
66
+ },
67
+ "nonEmptyStringList": {
68
+ "type": "array",
69
+ "items": { "type": "string", "minLength": 1 },
70
+ "minItems": 1,
71
+ "uniqueItems": true
72
+ },
73
+ "domainCapability": {
74
+ "type": "object",
75
+ "required": ["domain", "level", "evidenceSources", "limitations"],
76
+ "properties": {
77
+ "domain": { "$ref": "#/$defs/domain" },
78
+ "level": { "enum": ["native", "portable", "observable", "unsupported"] },
79
+ "evidenceSources": { "$ref": "#/$defs/stringList" },
80
+ "limitations": { "$ref": "#/$defs/stringList" }
81
+ },
82
+ "additionalProperties": false
83
+ },
84
+ "adapter": {
85
+ "type": "object",
86
+ "required": [
87
+ "contractVersion",
88
+ "id",
89
+ "runtimeFamilies",
90
+ "aliases",
91
+ "frameworks",
92
+ "projectKinds",
93
+ "tier",
94
+ "platforms",
95
+ "domains",
96
+ "repairModes",
97
+ "source",
98
+ "limitations"
99
+ ],
100
+ "properties": {
101
+ "contractVersion": { "const": "workspai.doctor-adapter.v1" },
102
+ "id": { "type": "string", "minLength": 1 },
103
+ "runtimeFamilies": { "$ref": "#/$defs/nonEmptyStringList" },
104
+ "aliases": { "$ref": "#/$defs/stringList" },
105
+ "frameworks": { "$ref": "#/$defs/stringList" },
106
+ "projectKinds": { "$ref": "#/$defs/nonEmptyStringList" },
107
+ "tier": { "enum": ["first-class", "extended", "fallback"] },
108
+ "platforms": {
109
+ "type": "array",
110
+ "items": { "enum": ["linux", "darwin", "win32"] },
111
+ "minItems": 1,
112
+ "uniqueItems": true
113
+ },
114
+ "domains": {
115
+ "type": "array",
116
+ "items": { "$ref": "#/$defs/domainCapability" },
117
+ "minItems": 6,
118
+ "maxItems": 6
119
+ },
120
+ "repairModes": {
121
+ "type": "array",
122
+ "items": { "enum": ["typed-operation", "structured-invocation", "manual-guidance"] },
123
+ "minItems": 1,
124
+ "uniqueItems": true
125
+ },
126
+ "source": { "enum": ["builtin", "workspace", "package"] },
127
+ "limitations": { "$ref": "#/$defs/stringList" }
128
+ },
129
+ "additionalProperties": false
130
+ }
131
+ },
132
+ "additionalProperties": false
133
+ }