workspai 0.55.1 → 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 (163) 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-knowledge-graph.v1.json +36 -0
  18. package/contracts/workspace-intelligence/workspace-knowledge-search.v1.json +54 -0
  19. package/dist/analyze-HJ774J3E.js +1 -0
  20. package/dist/{artifact-remediation-plan-O3YIULQN.js → artifact-remediation-plan-BPLON5VX.js} +1 -1
  21. package/dist/autopilot-release-CH57CGET.js +1 -0
  22. package/dist/capabilities-command-WEOGFCWF.js +1 -0
  23. package/dist/chunk-2647BYBC.js +1 -0
  24. package/dist/chunk-2L4PSZQB.js +1 -0
  25. package/dist/chunk-3U4VLIGW.js +1 -0
  26. package/dist/chunk-5BGPGNRQ.js +2 -0
  27. package/dist/chunk-5EPPPMAS.js +1 -0
  28. package/dist/{chunk-M5ICGR55.js → chunk-5RL254O2.js} +1 -1
  29. package/dist/chunk-5ZA4JYOP.js +1 -0
  30. package/dist/{chunk-AMB42V2F.js → chunk-64JUYYRC.js} +1 -1
  31. package/dist/chunk-664GXRLD.js +1 -0
  32. package/dist/chunk-6HCAGHCY.js +8 -0
  33. package/dist/chunk-7PNARN6S.js +4 -0
  34. package/dist/chunk-7Y3KVZJF.js +8 -0
  35. package/dist/{chunk-WIO6L24E.js → chunk-ADL3CK44.js} +1 -1
  36. package/dist/chunk-AO2ZI42U.js +4 -0
  37. package/dist/chunk-BDN32Y2N.js +81 -0
  38. package/dist/chunk-D4RST2HE.js +1 -0
  39. package/dist/{chunk-6HJJHEL6.js → chunk-DIZSHNZ5.js} +1 -1
  40. package/dist/chunk-DOIZANFA.js +2 -0
  41. package/dist/{chunk-HY3RMPW5.js → chunk-E53BGUOW.js} +1 -1
  42. package/dist/{chunk-FZCYTRBQ.js → chunk-ESWFBSYM.js} +1 -1
  43. package/dist/chunk-GBMCHFOV.js +1 -0
  44. package/dist/{chunk-HUPLAFZQ.js → chunk-HASVV34S.js} +1 -1
  45. package/dist/chunk-IZLEMTES.js +1 -0
  46. package/dist/chunk-KR7CIEQR.js +1 -0
  47. package/dist/chunk-KS4FB5W7.js +6 -0
  48. package/dist/chunk-LYVDRRDO.js +2 -0
  49. package/dist/{chunk-IBPPMOHM.js → chunk-NHTLE3WN.js} +1 -1
  50. package/dist/chunk-NS53IPAC.js +1 -0
  51. package/dist/{chunk-YTLUT6IA.js → chunk-OX53L237.js} +2 -2
  52. package/dist/chunk-PKIRVQLG.js +1 -0
  53. package/dist/chunk-QAF26ZQX.js +36 -0
  54. package/dist/{chunk-NWQ5VWUW.js → chunk-QFCKHUEP.js} +1 -1
  55. package/dist/chunk-QRWWYL52.js +88 -0
  56. package/dist/chunk-QTCZPS5I.js +1 -0
  57. package/dist/{chunk-WSAFBPS5.js → chunk-SV2SP22H.js} +4 -4
  58. package/dist/chunk-T5YRFRJV.js +1 -0
  59. package/dist/chunk-UQEQ6CXU.js +1 -0
  60. package/dist/chunk-V5EYVQ63.js +1 -0
  61. package/dist/chunk-VGJVIHHR.js +1 -0
  62. package/dist/{chunk-MRFN5ZQP.js → chunk-W5ZFXKSL.js} +1 -1
  63. package/dist/chunk-WLCBXCZV.js +5 -0
  64. package/dist/chunk-WOTTSPSF.js +2 -0
  65. package/dist/chunk-X7FYEKLI.js +1 -0
  66. package/dist/chunk-XH7PDHBF.js +1 -0
  67. package/dist/{chunk-KFKZOPZC.js → chunk-XMTLKDPP.js} +1 -1
  68. package/dist/chunk-YJTEMJFV.js +3 -0
  69. package/dist/chunk-YM77FQB3.js +8 -0
  70. package/dist/chunk-ZCPT6KC3.js +6 -0
  71. package/dist/chunk-ZPA6ECBJ.js +7 -0
  72. package/dist/{create-3NSOY7CA.js → create-DLUWG46F.js} +1 -1
  73. package/dist/doctor-IZ4YOCYE.js +1 -0
  74. package/dist/index.d.ts +15 -0
  75. package/dist/index.js +168 -168
  76. package/dist/pipeline-IBQYDLFF.js +5 -0
  77. package/dist/{project-intelligence-lens-ZOAWXYC5.js → project-intelligence-lens-SIU7IXKG.js} +1 -1
  78. package/dist/project-test-coverage-FRMVYTFB.js +1 -0
  79. package/dist/verified-goal-M4GPOXNL.js +1 -0
  80. package/dist/{workspace-C4UETGY7.js → workspace-3AAOUELG.js} +1 -1
  81. package/dist/{workspace-agent-sync-446AXPHJ.js → workspace-agent-sync-QGYLY7HH.js} +1 -1
  82. package/dist/{workspace-archive-VHUPOBAV.js → workspace-archive-BA3ONVXX.js} +1 -1
  83. package/dist/{workspace-context-XSECHC7O.js → workspace-context-JCLPRYNC.js} +1 -1
  84. package/dist/workspace-contract-IUUPBQXU.js +1 -0
  85. package/dist/workspace-explain-CZGBVDE6.js +1 -0
  86. package/dist/workspace-explain-contract-KVQO57RC.js +1 -0
  87. package/dist/{workspace-feedback-WXE7NVMV.js → workspace-feedback-PCZKXG5R.js} +1 -1
  88. package/dist/{workspace-foundation-3EVAQ5X6.js → workspace-foundation-7IGMO4CW.js} +1 -1
  89. package/dist/{workspace-graph-stream-AJPS45FD.js → workspace-graph-stream-5YMLJXAJ.js} +1 -1
  90. package/dist/workspace-graph-token-efficiency-HK4KNWWP.js +1 -0
  91. package/dist/{workspace-history-YY7YRDOH.js → workspace-history-CHJOABME.js} +1 -1
  92. package/dist/{workspace-intelligence-FWRB47EJ.js → workspace-intelligence-XHSUFTAT.js} +1 -1
  93. package/dist/workspace-intelligence-evaluation-YMY3C5AW.js +1 -0
  94. package/dist/{workspace-intelligence-runner-SMEAB4CO.js → workspace-intelligence-runner-EN5V4KSC.js} +1 -1
  95. package/dist/workspace-intelligence-runtime-registry-NCVHKCMP.js +1 -0
  96. package/dist/workspace-knowledge-graph-VWQTIEYK.js +1 -0
  97. package/dist/{workspace-knowledge-graph-query-EKHIE3E2.js → workspace-knowledge-graph-query-TXA3KVUV.js} +1 -1
  98. package/dist/workspace-knowledge-graph-snapshot-WB62AVDK.js +1 -0
  99. package/dist/workspace-mcp-serve-NCAGGWQS.js +3 -0
  100. package/dist/{workspace-model-MNJOGBPP.js → workspace-model-NXFIKX26.js} +1 -1
  101. package/dist/{workspace-onboarding-5KO7Z7AD.js → workspace-onboarding-OP22NHQ4.js} +1 -1
  102. package/dist/{workspace-readme-4S6PJ74A.js → workspace-readme-IVJXSIBS.js} +1 -1
  103. package/dist/{workspace-registry-summary-GPJEL7K7.js → workspace-registry-summary-A5VDPRHU.js} +1 -1
  104. package/dist/workspace-repair-engine-N4KXNSVL.js +3 -0
  105. package/dist/workspace-run-PXKC3ELS.js +1 -0
  106. package/dist/{workspace-verify-C6HWHRLJ.js → workspace-verify-TUVLFPPN.js} +1 -1
  107. package/dist/{workspace-watch-DLPHLF5R.js → workspace-watch-2ZNOYSUQ.js} +1 -1
  108. package/docs/commands-reference.md +35 -6
  109. package/docs/contracts/ARTIFACT_CATALOG.md +6 -1
  110. package/docs/contracts/README.md +5 -0
  111. package/docs/doctor-command.md +158 -7
  112. package/docs/graph-benchmark-methodology.md +13 -0
  113. package/docs/workspace-intelligence-runner.md +4 -0
  114. package/docs/workspace-knowledge-graph.md +53 -4
  115. package/docs/workspace-run.md +14 -3
  116. package/package.json +10 -3
  117. package/dist/analyze-AAZEJ4FC.js +0 -1
  118. package/dist/autopilot-release-3H5FTF6H.js +0 -1
  119. package/dist/chunk-2PY65U6X.js +0 -5
  120. package/dist/chunk-3DONU3DU.js +0 -1
  121. package/dist/chunk-44VJHNZB.js +0 -1
  122. package/dist/chunk-5XDPQ3CB.js +0 -1
  123. package/dist/chunk-7AR5PDLD.js +0 -1
  124. package/dist/chunk-7KKP7RNB.js +0 -3
  125. package/dist/chunk-7S4QNH5A.js +0 -5
  126. package/dist/chunk-7T4TSV5C.js +0 -1
  127. package/dist/chunk-BYVTHIC3.js +0 -2
  128. package/dist/chunk-CEIJIFY7.js +0 -88
  129. package/dist/chunk-D37NEYV6.js +0 -1
  130. package/dist/chunk-DPMO4U3Z.js +0 -8
  131. package/dist/chunk-DS4UYMLX.js +0 -1
  132. package/dist/chunk-FQLB4BIC.js +0 -7
  133. package/dist/chunk-GDU7VP6G.js +0 -1
  134. package/dist/chunk-H7P7SSUW.js +0 -75
  135. package/dist/chunk-KVUYAYTY.js +0 -8
  136. package/dist/chunk-MQ73VS4E.js +0 -2
  137. package/dist/chunk-NYHVCFBT.js +0 -1
  138. package/dist/chunk-OUBBBC7T.js +0 -36
  139. package/dist/chunk-P7K5RHJC.js +0 -2
  140. package/dist/chunk-PS5F4DCT.js +0 -1
  141. package/dist/chunk-QZ7PNMVP.js +0 -1
  142. package/dist/chunk-RA24WQLF.js +0 -1
  143. package/dist/chunk-RMXXK64P.js +0 -4
  144. package/dist/chunk-S7Z4DP3P.js +0 -2
  145. package/dist/chunk-SJLUE6AY.js +0 -1
  146. package/dist/chunk-TEHQ7XKK.js +0 -3
  147. package/dist/chunk-UFOCUHG3.js +0 -1
  148. package/dist/chunk-WD2XDMGB.js +0 -1
  149. package/dist/chunk-XVRJVKOX.js +0 -1
  150. package/dist/doctor-UEFFNAUD.js +0 -1
  151. package/dist/pipeline-B5S6P36F.js +0 -5
  152. package/dist/project-test-coverage-44ZPCOPV.js +0 -1
  153. package/dist/verified-goal-KOU3WJYN.js +0 -1
  154. package/dist/workspace-contract-AYFTZIKM.js +0 -1
  155. package/dist/workspace-explain-ZEWVKDBF.js +0 -1
  156. package/dist/workspace-explain-contract-6CCC26QT.js +0 -1
  157. package/dist/workspace-graph-token-efficiency-5FNH4JZ5.js +0 -1
  158. package/dist/workspace-intelligence-evaluation-UP2K3L35.js +0 -1
  159. package/dist/workspace-intelligence-runtime-registry-MRSF7RTT.js +0 -1
  160. package/dist/workspace-knowledge-graph-BMMM2FUE.js +0 -1
  161. package/dist/workspace-mcp-serve-X6C3AWTA.js +0 -3
  162. package/dist/workspace-repair-engine-GWTXVVKB.js +0 -3
  163. package/dist/workspace-run-FJTBX4JQ.js +0 -1
@@ -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
+ }
@@ -0,0 +1,273 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/doctor-diagnosis.v1.json",
4
+ "title": "Workspai Universal Doctor Diagnosis",
5
+ "type": "object",
6
+ "required": [
7
+ "schemaVersion",
8
+ "engineVersion",
9
+ "project",
10
+ "capability",
11
+ "domains",
12
+ "coverage",
13
+ "findings",
14
+ "causalGroups",
15
+ "unknowns",
16
+ "contradictions"
17
+ ],
18
+ "properties": {
19
+ "schemaVersion": { "const": "workspai.doctor-diagnosis.v1" },
20
+ "engineVersion": { "const": "universal-diagnosis-v1" },
21
+ "project": {
22
+ "type": "object",
23
+ "required": ["name", "path", "runtimeFamily", "runtimeFamilies", "framework", "projectKind"],
24
+ "properties": {
25
+ "name": { "type": "string", "minLength": 1 },
26
+ "path": { "type": "string", "minLength": 1 },
27
+ "runtimeFamily": { "type": "string", "minLength": 1 },
28
+ "runtimeFamilies": {
29
+ "type": "array",
30
+ "items": { "type": "string", "minLength": 1 },
31
+ "minItems": 1,
32
+ "uniqueItems": true
33
+ },
34
+ "framework": { "type": "string", "minLength": 1 },
35
+ "projectKind": { "type": "string", "minLength": 1 }
36
+ },
37
+ "additionalProperties": false
38
+ },
39
+ "capability": {
40
+ "type": "object",
41
+ "required": [
42
+ "registryVersion",
43
+ "adapterId",
44
+ "runtimeFamily",
45
+ "tier",
46
+ "confidence",
47
+ "nativeDomains",
48
+ "portableDomains",
49
+ "observableDomains",
50
+ "unsupportedDomains",
51
+ "limitations"
52
+ ],
53
+ "properties": {
54
+ "registryVersion": { "type": "string", "minLength": 1 },
55
+ "adapterId": { "type": "string", "minLength": 1 },
56
+ "runtimeFamily": { "type": "string", "minLength": 1 },
57
+ "tier": { "enum": ["first-class", "extended", "fallback"] },
58
+ "confidence": { "enum": ["high", "medium", "low"] },
59
+ "nativeDomains": { "$ref": "#/$defs/domainList" },
60
+ "portableDomains": { "$ref": "#/$defs/domainList" },
61
+ "observableDomains": { "$ref": "#/$defs/domainList" },
62
+ "unsupportedDomains": { "$ref": "#/$defs/domainList" },
63
+ "limitations": {
64
+ "type": "array",
65
+ "items": { "type": "string", "minLength": 1 },
66
+ "uniqueItems": true
67
+ }
68
+ },
69
+ "additionalProperties": false
70
+ },
71
+ "domains": {
72
+ "type": "array",
73
+ "minItems": 6,
74
+ "maxItems": 6,
75
+ "items": {
76
+ "type": "object",
77
+ "required": [
78
+ "id",
79
+ "status",
80
+ "observationCount",
81
+ "blockingFindings",
82
+ "advisoryFindings",
83
+ "reason"
84
+ ],
85
+ "properties": {
86
+ "id": {
87
+ "enum": ["runtime", "dependency", "security", "configuration", "test", "quality"]
88
+ },
89
+ "status": { "enum": ["clean", "findings", "not-applicable", "not-run", "stale"] },
90
+ "observationCount": { "type": "integer", "minimum": 0 },
91
+ "blockingFindings": { "type": "integer", "minimum": 0 },
92
+ "advisoryFindings": { "type": "integer", "minimum": 0 },
93
+ "reason": { "type": "string", "minLength": 1 }
94
+ },
95
+ "additionalProperties": false
96
+ }
97
+ },
98
+ "coverage": {
99
+ "type": "object",
100
+ "required": [
101
+ "totalObservations",
102
+ "evaluatedObservations",
103
+ "passingObservations",
104
+ "blockingFindings",
105
+ "advisoryFindings",
106
+ "unknownFindings",
107
+ "repairableFindings",
108
+ "manualFindings",
109
+ "unsupportedFindings",
110
+ "contradictionCount",
111
+ "diagnosisCompleteness"
112
+ ],
113
+ "properties": {
114
+ "totalObservations": { "type": "integer", "minimum": 0 },
115
+ "evaluatedObservations": { "type": "integer", "minimum": 0 },
116
+ "passingObservations": { "type": "integer", "minimum": 0 },
117
+ "blockingFindings": { "type": "integer", "minimum": 0 },
118
+ "advisoryFindings": { "type": "integer", "minimum": 0 },
119
+ "unknownFindings": { "type": "integer", "minimum": 0 },
120
+ "repairableFindings": { "type": "integer", "minimum": 0 },
121
+ "manualFindings": { "type": "integer", "minimum": 0 },
122
+ "unsupportedFindings": { "type": "integer", "minimum": 0 },
123
+ "contradictionCount": { "type": "integer", "minimum": 0 },
124
+ "diagnosisCompleteness": { "type": "number", "minimum": 0, "maximum": 100 }
125
+ },
126
+ "additionalProperties": false
127
+ },
128
+ "findings": {
129
+ "type": "array",
130
+ "items": { "$ref": "#/$defs/finding" }
131
+ },
132
+ "causalGroups": {
133
+ "type": "array",
134
+ "items": { "$ref": "#/$defs/causalGroup" }
135
+ },
136
+ "unknowns": {
137
+ "type": "array",
138
+ "items": {
139
+ "type": "object",
140
+ "required": ["id", "reason"],
141
+ "properties": {
142
+ "id": { "type": "string", "minLength": 1 },
143
+ "reason": { "type": "string", "minLength": 1 },
144
+ "probeId": { "type": "string", "minLength": 1 }
145
+ },
146
+ "additionalProperties": false
147
+ }
148
+ },
149
+ "contradictions": {
150
+ "type": "array",
151
+ "items": {
152
+ "type": "object",
153
+ "required": ["probeId", "statuses", "reason"],
154
+ "properties": {
155
+ "probeId": { "type": "string", "minLength": 1 },
156
+ "statuses": {
157
+ "type": "array",
158
+ "items": { "enum": ["pass", "warn", "fail"] },
159
+ "minItems": 2,
160
+ "uniqueItems": true
161
+ },
162
+ "reason": { "type": "string", "minLength": 1 }
163
+ },
164
+ "additionalProperties": false
165
+ }
166
+ }
167
+ },
168
+ "$defs": {
169
+ "domainList": {
170
+ "type": "array",
171
+ "items": {
172
+ "enum": ["runtime", "dependency", "security", "configuration", "test", "quality"]
173
+ },
174
+ "uniqueItems": true
175
+ },
176
+ "proof": {
177
+ "type": "object",
178
+ "required": ["kind", "role", "ref", "claim"],
179
+ "properties": {
180
+ "kind": { "enum": ["probe", "file", "dependency", "runtime", "command", "graph", "unknown"] },
181
+ "role": { "enum": ["observation", "repair-target", "subject", "verification", "impact"] },
182
+ "ref": { "type": "string", "minLength": 1 },
183
+ "claim": { "type": "string", "minLength": 1 }
184
+ },
185
+ "additionalProperties": false
186
+ },
187
+ "repair": {
188
+ "type": "object",
189
+ "required": ["disposition", "requiresFreshEvidence"],
190
+ "properties": {
191
+ "disposition": {
192
+ "enum": ["automatic", "approval-required", "manual", "unavailable", "not-needed"]
193
+ },
194
+ "capabilityId": { "type": "string", "minLength": 1 },
195
+ "operationType": { "type": "string", "minLength": 1 },
196
+ "verifyCommand": { "type": "string", "minLength": 1 },
197
+ "requiresFreshEvidence": { "type": "boolean" }
198
+ },
199
+ "additionalProperties": false
200
+ },
201
+ "finding": {
202
+ "type": "object",
203
+ "required": [
204
+ "id",
205
+ "causalKey",
206
+ "projectName",
207
+ "projectPath",
208
+ "probeId",
209
+ "label",
210
+ "status",
211
+ "severity",
212
+ "issueClass",
213
+ "operationalImpact",
214
+ "applicability",
215
+ "confidence",
216
+ "confidenceScore",
217
+ "diagnosisState",
218
+ "symptom",
219
+ "proofs",
220
+ "repair"
221
+ ],
222
+ "properties": {
223
+ "id": { "type": "string", "minLength": 1 },
224
+ "causalKey": { "type": "string", "minLength": 1 },
225
+ "projectName": { "type": "string", "minLength": 1 },
226
+ "projectPath": { "type": "string", "minLength": 1 },
227
+ "probeId": { "type": "string", "minLength": 1 },
228
+ "label": { "type": "string", "minLength": 1 },
229
+ "status": { "enum": ["blocking", "advisory", "informational", "unknown"] },
230
+ "severity": { "enum": ["info", "warn", "error"] },
231
+ "issueClass": { "type": "string", "minLength": 1 },
232
+ "operationalImpact": { "type": "string", "minLength": 1 },
233
+ "applicability": { "enum": ["applicable", "not-applicable", "unknown"] },
234
+ "confidence": { "enum": ["high", "medium", "low"] },
235
+ "confidenceScore": { "type": "number", "minimum": 0, "maximum": 1 },
236
+ "diagnosisState": { "enum": ["confirmed", "candidate", "unknown"] },
237
+ "symptom": { "type": "string", "minLength": 1 },
238
+ "recommendation": { "type": "string", "minLength": 1 },
239
+ "proofs": {
240
+ "type": "array",
241
+ "items": { "$ref": "#/$defs/proof" },
242
+ "minItems": 1
243
+ },
244
+ "repair": { "$ref": "#/$defs/repair" }
245
+ },
246
+ "additionalProperties": false
247
+ },
248
+ "causalGroup": {
249
+ "type": "object",
250
+ "required": ["causalKey", "issueClass", "status", "findingIds", "projectPaths", "repairable"],
251
+ "properties": {
252
+ "causalKey": { "type": "string", "minLength": 1 },
253
+ "issueClass": { "type": "string", "minLength": 1 },
254
+ "status": { "enum": ["blocking", "advisory", "informational", "unknown"] },
255
+ "findingIds": {
256
+ "type": "array",
257
+ "items": { "type": "string", "minLength": 1 },
258
+ "minItems": 1,
259
+ "uniqueItems": true
260
+ },
261
+ "projectPaths": {
262
+ "type": "array",
263
+ "items": { "type": "string", "minLength": 1 },
264
+ "minItems": 1,
265
+ "uniqueItems": true
266
+ },
267
+ "repairable": { "type": "boolean" }
268
+ },
269
+ "additionalProperties": false
270
+ }
271
+ },
272
+ "additionalProperties": false
273
+ }
@@ -132,6 +132,8 @@
132
132
  "depends-on",
133
133
  "exposes",
134
134
  "implements",
135
+ "implements-protocol",
136
+ "equivalent-to",
135
137
  "calls",
136
138
  "reads-from",
137
139
  "writes-to",
@@ -145,6 +147,7 @@
145
147
  "tests",
146
148
  "owns",
147
149
  "generated-by",
150
+ "generated-from",
148
151
  "configured-by",
149
152
  "references"
150
153
  ]
@@ -0,0 +1,136 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/doctor-receipt.v1.json",
4
+ "title": "Workspai Doctor Receipt",
5
+ "type": "object",
6
+ "required": [
7
+ "schemaVersion",
8
+ "generatedAt",
9
+ "scope",
10
+ "verdict",
11
+ "counts",
12
+ "freshness",
13
+ "affectedProjects",
14
+ "blockers",
15
+ "next",
16
+ "artifacts"
17
+ ],
18
+ "properties": {
19
+ "schemaVersion": { "const": "workspai.doctor-receipt.v1" },
20
+ "generatedAt": { "type": "string", "format": "date-time" },
21
+ "scope": {
22
+ "type": "object",
23
+ "required": ["kind", "root", "name"],
24
+ "properties": {
25
+ "kind": { "enum": ["workspace", "project"] },
26
+ "root": { "type": "string", "minLength": 1 },
27
+ "name": { "type": "string", "minLength": 1 },
28
+ "workspacePath": { "type": ["string", "null"] },
29
+ "projectPath": { "type": ["string", "null"] }
30
+ },
31
+ "additionalProperties": false
32
+ },
33
+ "verdict": { "enum": ["passed", "attention", "blocked"] },
34
+ "counts": { "$ref": "#/$defs/counts" },
35
+ "freshness": { "$ref": "#/$defs/freshness" },
36
+ "affectedProjects": {
37
+ "type": "array",
38
+ "items": {
39
+ "type": "object",
40
+ "required": ["name", "path", "runtimeFamily", "verdict", "blockingCauses", "advisoryFindings", "unknownFindings"],
41
+ "properties": {
42
+ "name": { "type": "string" },
43
+ "path": { "type": "string" },
44
+ "runtimeFamily": { "type": "string" },
45
+ "framework": { "type": "string" },
46
+ "verdict": { "enum": ["passed", "attention", "blocked"] },
47
+ "blockingCauses": { "type": "integer", "minimum": 0 },
48
+ "advisoryFindings": { "type": "integer", "minimum": 0 },
49
+ "unknownFindings": { "type": "integer", "minimum": 0 }
50
+ },
51
+ "additionalProperties": false
52
+ }
53
+ },
54
+ "blockers": {
55
+ "type": "array",
56
+ "items": {
57
+ "type": "object",
58
+ "required": ["id", "projectName", "projectPath", "issueClass", "symptom", "repairDisposition"],
59
+ "properties": {
60
+ "id": { "type": "string" },
61
+ "projectName": { "type": "string" },
62
+ "projectPath": { "type": "string" },
63
+ "issueClass": { "type": "string" },
64
+ "symptom": { "type": "string" },
65
+ "repairDisposition": { "enum": ["automatic", "approval-required", "manual", "unavailable", "not-needed"] },
66
+ "capabilityId": { "type": "string" }
67
+ },
68
+ "additionalProperties": false
69
+ }
70
+ },
71
+ "next": {
72
+ "type": "object",
73
+ "required": ["action", "reason", "commands"],
74
+ "properties": {
75
+ "action": { "enum": ["repair", "review", "refresh", "verify", "none"] },
76
+ "reason": { "type": "string" },
77
+ "commands": { "type": "array", "items": { "type": "string" } }
78
+ },
79
+ "additionalProperties": false
80
+ },
81
+ "artifacts": {
82
+ "type": "object",
83
+ "required": ["evidence", "receipt"],
84
+ "properties": {
85
+ "evidence": { "type": ["string", "null"] },
86
+ "receipt": { "type": "string" }
87
+ },
88
+ "additionalProperties": false
89
+ }
90
+ },
91
+ "$defs": {
92
+ "counts": {
93
+ "type": "object",
94
+ "required": [
95
+ "projectsScanned", "affectedProjects", "projectsBlocked", "projectsNeedingAttention",
96
+ "blockingCauses", "advisoryFindings", "unknownFindings", "contradictionFindings",
97
+ "repairableFindings", "manualFindings", "unsupportedFindings",
98
+ "dependencyAdvisorySubjects", "dependencyVulnerabilityFindings",
99
+ "notApplicableChecks", "systemErrors"
100
+ ],
101
+ "properties": {
102
+ "projectsScanned": { "type": "integer", "minimum": 0 },
103
+ "affectedProjects": { "type": "integer", "minimum": 0 },
104
+ "projectsBlocked": { "type": "integer", "minimum": 0 },
105
+ "projectsNeedingAttention": { "type": "integer", "minimum": 0 },
106
+ "blockingCauses": { "type": "integer", "minimum": 0 },
107
+ "advisoryFindings": { "type": "integer", "minimum": 0 },
108
+ "unknownFindings": { "type": "integer", "minimum": 0 },
109
+ "contradictionFindings": { "type": "integer", "minimum": 0 },
110
+ "repairableFindings": { "type": "integer", "minimum": 0 },
111
+ "manualFindings": { "type": "integer", "minimum": 0 },
112
+ "unsupportedFindings": { "type": "integer", "minimum": 0 },
113
+ "dependencyAdvisorySubjects": { "type": "integer", "minimum": 0 },
114
+ "dependencyVulnerabilityFindings": { "type": "integer", "minimum": 0 },
115
+ "notApplicableChecks": { "type": "integer", "minimum": 0 },
116
+ "systemErrors": { "type": "integer", "minimum": 0 }
117
+ },
118
+ "additionalProperties": false
119
+ },
120
+ "freshness": {
121
+ "type": "object",
122
+ "required": ["generatedAt", "status", "staleProbeCount", "unknownProbeCount", "liveStateProbeCount", "verifyBeforeUseProbeCount"],
123
+ "properties": {
124
+ "generatedAt": { "type": "string", "format": "date-time" },
125
+ "status": { "enum": ["fresh", "stale", "unknown"] },
126
+ "staleProbeCount": { "type": "integer", "minimum": 0 },
127
+ "unknownProbeCount": { "type": "integer", "minimum": 0 },
128
+ "liveStateProbeCount": { "type": "integer", "minimum": 0 },
129
+ "verifyBeforeUseProbeCount": { "type": "integer", "minimum": 0 },
130
+ "oldestProbeGeneratedAt": { "type": "string", "format": "date-time" }
131
+ },
132
+ "additionalProperties": false
133
+ }
134
+ },
135
+ "additionalProperties": false
136
+ }
@@ -0,0 +1,99 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/doctor-summary.v1.json",
4
+ "title": "Workspai Doctor JSON Summary",
5
+ "type": "object",
6
+ "required": ["schemaVersion", "generatedAt", "scope", "verdict", "counts"],
7
+ "properties": {
8
+ "schemaVersion": { "const": "workspai.doctor-summary.v1" },
9
+ "generatedAt": { "type": "string", "format": "date-time" },
10
+ "scope": { "enum": ["system", "workspace", "project"] },
11
+ "verdict": { "enum": ["passed", "attention", "blocked"] },
12
+ "counts": { "$ref": "doctor-receipt.v1.json#/$defs/counts" },
13
+ "freshness": { "$ref": "doctor-receipt.v1.json#/$defs/freshness" },
14
+ "workspace": {
15
+ "type": ["object", "null"],
16
+ "required": ["name", "path"],
17
+ "properties": {
18
+ "name": { "type": "string" },
19
+ "path": { "type": "string" }
20
+ },
21
+ "additionalProperties": false
22
+ },
23
+ "project": {
24
+ "type": "object",
25
+ "required": ["name", "path", "runtimeFamily", "framework"],
26
+ "properties": {
27
+ "name": { "type": "string" },
28
+ "path": { "type": "string" },
29
+ "runtimeFamily": { "type": "string" },
30
+ "framework": { "type": "string" }
31
+ },
32
+ "additionalProperties": false
33
+ },
34
+ "affectedProjects": {
35
+ "type": "array",
36
+ "items": {
37
+ "type": "object",
38
+ "required": ["name", "path", "runtimeFamily", "verdict", "blockingCauses", "advisoryFindings", "unknownFindings"],
39
+ "properties": {
40
+ "name": { "type": "string" },
41
+ "path": { "type": "string" },
42
+ "runtimeFamily": { "type": "string" },
43
+ "verdict": { "enum": ["passed", "attention", "blocked"] },
44
+ "blockingCauses": { "type": "integer", "minimum": 0 },
45
+ "advisoryFindings": { "type": "integer", "minimum": 0 },
46
+ "unknownFindings": { "type": "integer", "minimum": 0 }
47
+ },
48
+ "additionalProperties": false
49
+ }
50
+ },
51
+ "blockers": {
52
+ "type": "array",
53
+ "items": {
54
+ "type": "object",
55
+ "required": ["id", "issueClass", "symptom", "repairDisposition"],
56
+ "properties": {
57
+ "id": { "type": "string" },
58
+ "issueClass": { "type": "string" },
59
+ "symptom": { "type": "string" },
60
+ "repairDisposition": { "enum": ["automatic", "approval-required", "manual", "unavailable", "not-needed"] },
61
+ "capabilityId": { "type": "string" }
62
+ },
63
+ "additionalProperties": false
64
+ }
65
+ },
66
+ "system": {
67
+ "type": "object",
68
+ "additionalProperties": {
69
+ "type": "object",
70
+ "required": ["status", "message"],
71
+ "properties": {
72
+ "status": { "enum": ["ok", "warn", "error"] },
73
+ "message": { "type": "string" }
74
+ },
75
+ "additionalProperties": false
76
+ }
77
+ },
78
+ "artifacts": {
79
+ "type": "object",
80
+ "additionalProperties": { "type": "string" }
81
+ },
82
+ "nextActions": { "type": "array", "items": { "type": "string" } }
83
+ },
84
+ "allOf": [
85
+ {
86
+ "if": { "properties": { "scope": { "const": "workspace" } } },
87
+ "then": { "required": ["workspace", "affectedProjects", "freshness", "artifacts"] }
88
+ },
89
+ {
90
+ "if": { "properties": { "scope": { "const": "project" } } },
91
+ "then": { "required": ["workspace", "project", "blockers", "freshness", "artifacts"] }
92
+ },
93
+ {
94
+ "if": { "properties": { "scope": { "const": "system" } } },
95
+ "then": { "required": ["system", "nextActions"] }
96
+ }
97
+ ],
98
+ "additionalProperties": false
99
+ }