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
@@ -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,101 @@
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
+ "projectArchetype": { "enum": ["application", "service", "library", "sdk", "platform", "plugin", "monorepo", "unknown"] }
32
+ },
33
+ "additionalProperties": false
34
+ },
35
+ "affectedProjects": {
36
+ "type": "array",
37
+ "items": {
38
+ "type": "object",
39
+ "required": ["name", "path", "runtimeFamily", "verdict", "blockingCauses", "advisoryFindings", "unknownFindings"],
40
+ "properties": {
41
+ "name": { "type": "string" },
42
+ "path": { "type": "string" },
43
+ "runtimeFamily": { "type": "string" },
44
+ "projectArchetype": { "enum": ["application", "service", "library", "sdk", "platform", "plugin", "monorepo", "unknown"] },
45
+ "verdict": { "enum": ["passed", "attention", "blocked"] },
46
+ "blockingCauses": { "type": "integer", "minimum": 0 },
47
+ "advisoryFindings": { "type": "integer", "minimum": 0 },
48
+ "unknownFindings": { "type": "integer", "minimum": 0 }
49
+ },
50
+ "additionalProperties": false
51
+ }
52
+ },
53
+ "blockers": {
54
+ "type": "array",
55
+ "items": {
56
+ "type": "object",
57
+ "required": ["id", "issueClass", "symptom", "repairDisposition"],
58
+ "properties": {
59
+ "id": { "type": "string" },
60
+ "issueClass": { "type": "string" },
61
+ "symptom": { "type": "string" },
62
+ "repairDisposition": { "enum": ["automatic", "approval-required", "manual", "unavailable", "not-needed"] },
63
+ "capabilityId": { "type": "string" }
64
+ },
65
+ "additionalProperties": false
66
+ }
67
+ },
68
+ "system": {
69
+ "type": "object",
70
+ "additionalProperties": {
71
+ "type": "object",
72
+ "required": ["status", "message"],
73
+ "properties": {
74
+ "status": { "enum": ["ok", "warn", "error"] },
75
+ "message": { "type": "string" }
76
+ },
77
+ "additionalProperties": false
78
+ }
79
+ },
80
+ "artifacts": {
81
+ "type": "object",
82
+ "additionalProperties": { "type": "string" }
83
+ },
84
+ "nextActions": { "type": "array", "items": { "type": "string" } }
85
+ },
86
+ "allOf": [
87
+ {
88
+ "if": { "properties": { "scope": { "const": "workspace" } } },
89
+ "then": { "required": ["workspace", "affectedProjects", "freshness", "artifacts"] }
90
+ },
91
+ {
92
+ "if": { "properties": { "scope": { "const": "project" } } },
93
+ "then": { "required": ["workspace", "project", "blockers", "freshness", "artifacts"] }
94
+ },
95
+ {
96
+ "if": { "properties": { "scope": { "const": "system" } } },
97
+ "then": { "required": ["system", "nextActions"] }
98
+ }
99
+ ],
100
+ "additionalProperties": false
101
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/doctor-validation.v1.json",
4
+ "title": "Workspai Doctor Validation Report",
5
+ "type": "object",
6
+ "required": [
7
+ "schemaVersion",
8
+ "corpusVersion",
9
+ "capabilityRegistryVersion",
10
+ "scope",
11
+ "summary",
12
+ "cases",
13
+ "limitations"
14
+ ],
15
+ "properties": {
16
+ "schemaVersion": { "const": "workspai.doctor-validation.v1" },
17
+ "corpusVersion": { "const": "doctor-disease-corpus-v1" },
18
+ "capabilityRegistryVersion": { "const": "universal-doctor-capabilities-v1" },
19
+ "scope": { "const": "synthetic-contract-corpus" },
20
+ "summary": {
21
+ "type": "object",
22
+ "required": [
23
+ "totalCases",
24
+ "passedCases",
25
+ "failedCases",
26
+ "truePositives",
27
+ "trueNegatives",
28
+ "falsePositives",
29
+ "falseNegatives",
30
+ "precision",
31
+ "recall",
32
+ "domainCoverage",
33
+ "runtimeAdapterCoverage",
34
+ "runtimeAdaptersExercised",
35
+ "declaredPlatforms"
36
+ ],
37
+ "properties": {
38
+ "totalCases": { "type": "integer", "minimum": 1 },
39
+ "passedCases": { "type": "integer", "minimum": 0 },
40
+ "failedCases": { "type": "integer", "minimum": 0 },
41
+ "truePositives": { "type": "integer", "minimum": 0 },
42
+ "trueNegatives": { "type": "integer", "minimum": 0 },
43
+ "falsePositives": { "type": "integer", "minimum": 0 },
44
+ "falseNegatives": { "type": "integer", "minimum": 0 },
45
+ "precision": { "type": "number", "minimum": 0, "maximum": 1 },
46
+ "recall": { "type": "number", "minimum": 0, "maximum": 1 },
47
+ "domainCoverage": { "type": "number", "minimum": 0, "maximum": 1 },
48
+ "runtimeAdapterCoverage": { "type": "number", "minimum": 0, "maximum": 1 },
49
+ "runtimeAdaptersExercised": { "type": "integer", "minimum": 1 },
50
+ "declaredPlatforms": { "type": "integer", "minimum": 1 }
51
+ },
52
+ "additionalProperties": false
53
+ },
54
+ "cases": {
55
+ "type": "array",
56
+ "minItems": 1,
57
+ "items": {
58
+ "type": "object",
59
+ "required": ["id", "passed", "expected", "actual", "failures"],
60
+ "properties": {
61
+ "id": { "type": "string", "minLength": 1 },
62
+ "passed": { "type": "boolean" },
63
+ "expected": { "$ref": "#/$defs/outcome" },
64
+ "actual": { "$ref": "#/$defs/actualOutcome" },
65
+ "failures": {
66
+ "type": "array",
67
+ "items": { "type": "string", "minLength": 1 },
68
+ "uniqueItems": true
69
+ }
70
+ },
71
+ "additionalProperties": false
72
+ }
73
+ },
74
+ "limitations": {
75
+ "type": "array",
76
+ "items": { "type": "string", "minLength": 1 },
77
+ "minItems": 1,
78
+ "uniqueItems": true
79
+ }
80
+ },
81
+ "$defs": {
82
+ "domain": { "enum": ["runtime", "dependency", "security", "configuration", "test", "quality"] },
83
+ "outcome": {
84
+ "type": "object",
85
+ "required": ["finding"],
86
+ "properties": {
87
+ "finding": { "type": "boolean" },
88
+ "domain": { "$ref": "#/$defs/domain" },
89
+ "status": { "enum": ["blocking", "advisory"] },
90
+ "diagnosisState": { "enum": ["confirmed", "candidate", "unknown"] },
91
+ "repairDisposition": { "enum": ["automatic", "approval-required", "manual", "unavailable"] }
92
+ },
93
+ "additionalProperties": false
94
+ },
95
+ "actualOutcome": {
96
+ "type": "object",
97
+ "required": ["finding"],
98
+ "properties": {
99
+ "finding": { "type": "boolean" },
100
+ "domain": { "$ref": "#/$defs/domain" },
101
+ "status": { "enum": ["blocking", "advisory"] },
102
+ "diagnosisState": { "enum": ["confirmed", "candidate", "unknown"] },
103
+ "repairDisposition": { "enum": ["automatic", "approval-required", "manual", "unavailable"] }
104
+ },
105
+ "additionalProperties": false
106
+ }
107
+ },
108
+ "additionalProperties": false
109
+ }