workspai 0.52.2 → 0.53.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 (132) hide show
  1. package/README.md +2 -0
  2. package/contracts/artifact-remediation-plan.v1.json +1 -0
  3. package/contracts/cli-runtime-command-inventory.v1.snapshot.json +36 -0
  4. package/contracts/extension-cli-compatibility.v1.json +24 -2
  5. package/contracts/pipeline-last-run.v1.json +6 -1
  6. package/contracts/published-contract-catalog.v1.json +113 -2
  7. package/contracts/runtime-command-surface.v1.json +216 -5
  8. package/contracts/studio-card-repair-capabilities.v1.json +378 -0
  9. package/contracts/workspace-intelligence/workspace-repair-proposal.v1.json +78 -0
  10. package/contracts/workspace-intelligence/workspace-repair-transaction.v1.json +249 -0
  11. package/contracts/workspace-intelligence-chain.v1.json +6 -0
  12. package/contracts/workspace-repair-capabilities.v1.json +316 -0
  13. package/dist/analyze-AAZEJ4FC.js +1 -0
  14. package/dist/artifact-remediation-plan-CJSPCMWA.js +1 -0
  15. package/dist/autopilot-release-LZWNQQLY.js +1 -0
  16. package/dist/chunk-27AXFTKW.js +1 -0
  17. package/dist/{chunk-OTDGTAZJ.js → chunk-2FJW6GSW.js} +1 -1
  18. package/dist/chunk-3DONU3DU.js +1 -0
  19. package/dist/chunk-44VJHNZB.js +1 -0
  20. package/dist/chunk-5XDPQ3CB.js +1 -0
  21. package/dist/chunk-7AR5PDLD.js +1 -0
  22. package/dist/chunk-7KKP7RNB.js +3 -0
  23. package/dist/chunk-AMB42V2F.js +1 -0
  24. package/dist/chunk-BYVTHIC3.js +2 -0
  25. package/dist/chunk-E5YYVFM2.js +1 -0
  26. package/dist/{chunk-6PBSAAS5.js → chunk-EBKYSDCX.js} +1 -1
  27. package/dist/chunk-FQLB4BIC.js +7 -0
  28. package/dist/{chunk-ICLYL3N5.js → chunk-FZCYTRBQ.js} +1 -1
  29. package/dist/{chunk-ZVOEPWQM.js → chunk-GDU7VP6G.js} +1 -1
  30. package/dist/chunk-H7P7SSUW.js +75 -0
  31. package/dist/chunk-HOVJUP7K.js +8 -0
  32. package/dist/{chunk-MZFSINY7.js → chunk-HRN5J6PW.js} +12 -12
  33. package/dist/chunk-HY3RMPW5.js +10 -0
  34. package/dist/chunk-KFKZOPZC.js +1 -0
  35. package/dist/{chunk-HPWLSLMC.js → chunk-KVUYAYTY.js} +1 -1
  36. package/dist/chunk-MQ73VS4E.js +2 -0
  37. package/dist/{chunk-2OIBHUVH.js → chunk-MRFN5ZQP.js} +1 -1
  38. package/dist/{chunk-4UVGTFOX.js → chunk-NYHVCFBT.js} +1 -1
  39. package/dist/{chunk-IO54DFWR.js → chunk-OLX6LX77.js} +1 -1
  40. package/dist/chunk-OUBBBC7T.js +36 -0
  41. package/dist/{chunk-WJY7ZXVJ.js → chunk-P7K5RHJC.js} +1 -1
  42. package/dist/chunk-QZ7PNMVP.js +1 -0
  43. package/dist/chunk-RA24WQLF.js +1 -0
  44. package/dist/chunk-RMXXK64P.js +4 -0
  45. package/dist/{chunk-PTTZPDLX.js → chunk-S7Z4DP3P.js} +1 -1
  46. package/dist/chunk-SJLUE6AY.js +1 -0
  47. package/dist/chunk-SUV7Y2FH.js +3 -0
  48. package/dist/chunk-T6JI7GYZ.js +88 -0
  49. package/dist/chunk-USMLRNZ7.js +5 -0
  50. package/dist/chunk-WD2XDMGB.js +1 -0
  51. package/dist/chunk-WIO6L24E.js +2 -0
  52. package/dist/{chunk-QURMI7ID.js → chunk-WZA5ISAQ.js} +1 -1
  53. package/dist/chunk-XVRJVKOX.js +1 -0
  54. package/dist/{create-ESK3CQPK.js → create-R6A7EHQZ.js} +1 -1
  55. package/dist/{doctor-MYRJ5BFF.js → doctor-KNIYGDM7.js} +1 -1
  56. package/dist/index.d.ts +92 -23
  57. package/dist/index.js +246 -244
  58. package/dist/pipeline-PVCLAQDI.js +5 -0
  59. package/dist/{project-intelligence-lens-Q4SZDI2N.js → project-intelligence-lens-ZOAWXYC5.js} +1 -1
  60. package/dist/project-test-coverage-44ZPCOPV.js +1 -0
  61. package/dist/{verified-goal-23HZPMRK.js → verified-goal-MCSNMA3P.js} +1 -1
  62. package/dist/{workspace-LSOZM2CG.js → workspace-B53XH35L.js} +1 -1
  63. package/dist/{workspace-agent-sync-RZBQXCNJ.js → workspace-agent-sync-446AXPHJ.js} +1 -1
  64. package/dist/{workspace-archive-ZOWQXWJ6.js → workspace-archive-VHUPOBAV.js} +1 -1
  65. package/dist/{workspace-context-IYJKO5BN.js → workspace-context-XSECHC7O.js} +1 -1
  66. package/dist/{workspace-contract-AZFISDLS.js → workspace-contract-AYFTZIKM.js} +1 -1
  67. package/dist/workspace-explain-SZI2WAAD.js +1 -0
  68. package/dist/workspace-explain-contract-N2XQHAPM.js +1 -0
  69. package/dist/{workspace-feedback-LIHEWTNV.js → workspace-feedback-WXE7NVMV.js} +1 -1
  70. package/dist/{workspace-foundation-H5UTAUXQ.js → workspace-foundation-FFNCK5ZD.js} +1 -1
  71. package/dist/{workspace-graph-stream-KUDOZE73.js → workspace-graph-stream-AJPS45FD.js} +1 -1
  72. package/dist/{workspace-history-HULG5EFN.js → workspace-history-YY7YRDOH.js} +1 -1
  73. package/dist/{workspace-intelligence-A4UE4DZK.js → workspace-intelligence-FWRB47EJ.js} +1 -1
  74. package/dist/{workspace-intelligence-evaluation-AOLGHYHC.js → workspace-intelligence-evaluation-UP2K3L35.js} +1 -1
  75. package/dist/{workspace-intelligence-runner-VYGSASDP.js → workspace-intelligence-runner-JNCQLUH7.js} +1 -1
  76. package/dist/workspace-intelligence-runtime-registry-MRSF7RTT.js +1 -0
  77. package/dist/{workspace-knowledge-graph-LEM6X5CM.js → workspace-knowledge-graph-BMMM2FUE.js} +1 -1
  78. package/dist/{workspace-mcp-serve-N2QPR7VJ.js → workspace-mcp-serve-COA4FMCA.js} +1 -1
  79. package/dist/{workspace-model-FJXX3NET.js → workspace-model-MNJOGBPP.js} +1 -1
  80. package/dist/{workspace-onboarding-IKFISWWY.js → workspace-onboarding-2B7CYZ5H.js} +1 -1
  81. package/dist/{workspace-readme-E2M35RJH.js → workspace-readme-4S6PJ74A.js} +1 -1
  82. package/dist/{workspace-registry-summary-HOQ3OBNT.js → workspace-registry-summary-GPJEL7K7.js} +1 -1
  83. package/dist/workspace-repair-engine-SRWECKZO.js +3 -0
  84. package/dist/workspace-run-3U77TMKX.js +1 -0
  85. package/dist/{workspace-verify-32AWCJQG.js → workspace-verify-C6HWHRLJ.js} +1 -1
  86. package/dist/{workspace-watch-4WVNB26E.js → workspace-watch-DLPHLF5R.js} +1 -1
  87. package/docs/README.md +2 -0
  88. package/docs/commands-reference.md +10 -8
  89. package/docs/contracts/ARTIFACT_CATALOG.md +27 -22
  90. package/docs/contracts/README.md +3 -0
  91. package/docs/contracts/RUNTIME_ACCEPTANCE_MATRIX.md +20 -11
  92. package/docs/doctor-command.md +10 -4
  93. package/docs/workspace-intelligence-runner.md +2 -1
  94. package/docs/workspace-knowledge-graph.md +6 -1
  95. package/docs/workspace-operations.md +3 -1
  96. package/docs/workspace-repair-engine.md +113 -0
  97. package/docs/workspace-run.md +17 -14
  98. package/package.json +3 -2
  99. package/scripts/enterprise-package-smoke.mjs +9 -6
  100. package/dist/analyze-J7VNZMDH.js +0 -1
  101. package/dist/artifact-remediation-plan-2UKY4TKO.js +0 -3
  102. package/dist/autopilot-release-34H5BSI2.js +0 -1
  103. package/dist/chunk-23JDMHSD.js +0 -86
  104. package/dist/chunk-2E6WGUN6.js +0 -1
  105. package/dist/chunk-3D3PFPP5.js +0 -1
  106. package/dist/chunk-4D7DIGAB.js +0 -1
  107. package/dist/chunk-5XJRCP3D.js +0 -36
  108. package/dist/chunk-62K2H72S.js +0 -1
  109. package/dist/chunk-7MQZQ4UU.js +0 -1
  110. package/dist/chunk-AL237TSJ.js +0 -7
  111. package/dist/chunk-AYHNNPPH.js +0 -8
  112. package/dist/chunk-B4CPDK6J.js +0 -2
  113. package/dist/chunk-CZC5P2MF.js +0 -1
  114. package/dist/chunk-DZ4VKAXB.js +0 -75
  115. package/dist/chunk-FUPHQOJB.js +0 -1
  116. package/dist/chunk-GHB6QMQH.js +0 -1
  117. package/dist/chunk-JIUWK4ML.js +0 -1
  118. package/dist/chunk-KHEJO3JU.js +0 -4
  119. package/dist/chunk-LOCPNNSK.js +0 -1
  120. package/dist/chunk-LPCL4U4L.js +0 -1
  121. package/dist/chunk-MBRU3VWJ.js +0 -2
  122. package/dist/chunk-P4OSLAVD.js +0 -3
  123. package/dist/chunk-Q6CUJ3WF.js +0 -10
  124. package/dist/chunk-SQTV2OYU.js +0 -4
  125. package/dist/chunk-ULR66OJR.js +0 -2
  126. package/dist/chunk-XHRHNVCZ.js +0 -1
  127. package/dist/pipeline-FOZ46ELQ.js +0 -5
  128. package/dist/project-test-coverage-A677ZLW3.js +0 -1
  129. package/dist/workspace-explain-26UGV7L4.js +0 -1
  130. package/dist/workspace-explain-contract-GIWPCCEF.js +0 -1
  131. package/dist/workspace-intelligence-runtime-registry-YOQ5GFFJ.js +0 -1
  132. package/dist/workspace-run-GUW4EOYB.js +0 -1
@@ -0,0 +1,378 @@
1
+ {
2
+ "schemaVersion": "workspai.studio-card-repair-capabilities.v1",
3
+ "invariant": "A card repair closes only after its exact producer is non-blocking and aggregate Workspace Verify passes.",
4
+ "cards": [
5
+ {
6
+ "cardId": "doctor",
7
+ "scope": "workspace",
8
+ "producerCommand": "npx workspai doctor workspace --json",
9
+ "producerArtifact": ".workspai/reports/doctor-last-run.json",
10
+ "verifyCommand": "npx workspai doctor workspace --json",
11
+ "verifyArtifact": ".workspai/reports/doctor-last-run.json",
12
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
13
+ "repairPolicy": "diagnose-and-repair",
14
+ "remediationArtifacts": [
15
+ ".workspai/reports/doctor-remediation-plan-last-run.json",
16
+ ".workspai/reports/artifact-remediation-plan-last-run.json"
17
+ ]
18
+ },
19
+ {
20
+ "cardId": "projectDoctor",
21
+ "scope": "project",
22
+ "producerCommand": "npx workspai doctor project --json",
23
+ "producerArtifact": ".workspai/reports/doctor-project-last-run.json",
24
+ "verifyCommand": "npx workspai doctor project --json",
25
+ "verifyArtifact": ".workspai/reports/doctor-project-last-run.json",
26
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
27
+ "repairPolicy": "diagnose-and-repair",
28
+ "remediationArtifacts": [
29
+ ".workspai/reports/doctor-remediation-plan-last-run.json",
30
+ ".workspai/reports/artifact-remediation-plan-last-run.json"
31
+ ]
32
+ },
33
+ {
34
+ "cardId": "pipeline",
35
+ "scope": "workspace",
36
+ "producerCommand": "npx workspai pipeline --json --strict",
37
+ "producerArtifact": ".workspai/reports/pipeline-last-run.json",
38
+ "verifyCommand": "npx workspai pipeline --json --strict",
39
+ "verifyArtifact": ".workspai/reports/pipeline-last-run.json",
40
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
41
+ "repairPolicy": "source-repair-then-produce",
42
+ "remediationArtifacts": [
43
+ ".workspai/reports/artifact-remediation-plan-last-run.json"
44
+ ]
45
+ },
46
+ {
47
+ "cardId": "analyze",
48
+ "scope": "workspace",
49
+ "producerCommand": "npx workspai analyze --json",
50
+ "producerArtifact": ".workspai/reports/analyze-last-run.json",
51
+ "verifyCommand": "npx workspai analyze --json",
52
+ "verifyArtifact": ".workspai/reports/analyze-last-run.json",
53
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
54
+ "repairPolicy": "source-repair-then-produce",
55
+ "remediationArtifacts": [
56
+ ".workspai/reports/artifact-remediation-plan-last-run.json"
57
+ ]
58
+ },
59
+ {
60
+ "cardId": "readiness",
61
+ "scope": "workspace",
62
+ "producerCommand": "npx workspai readiness --json",
63
+ "producerArtifact": ".workspai/reports/release-readiness-last-run.json",
64
+ "verifyCommand": "npx workspai readiness --json",
65
+ "verifyArtifact": ".workspai/reports/release-readiness-last-run.json",
66
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
67
+ "repairPolicy": "source-repair-then-produce",
68
+ "remediationArtifacts": [
69
+ ".workspai/reports/artifact-remediation-plan-last-run.json"
70
+ ]
71
+ },
72
+ {
73
+ "cardId": "bootstrap",
74
+ "scope": "workspace",
75
+ "producerCommand": "npx workspai bootstrap --ci --json",
76
+ "producerArtifact": ".workspai/reports/bootstrap-compliance.latest.json",
77
+ "verifyCommand": "npx workspai bootstrap --ci --json",
78
+ "verifyArtifact": ".workspai/reports/bootstrap-compliance.latest.json",
79
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
80
+ "repairPolicy": "source-repair-then-produce",
81
+ "remediationArtifacts": [
82
+ ".workspai/reports/artifact-remediation-plan-last-run.json"
83
+ ]
84
+ },
85
+ {
86
+ "cardId": "workspaceSync",
87
+ "scope": "workspace",
88
+ "producerCommand": "npx workspai workspace sync --json",
89
+ "producerArtifact": ".workspai/workspace-registry.v1.json",
90
+ "verifyCommand": "npx workspai workspace sync --json",
91
+ "verifyArtifact": ".workspai/workspace-registry.v1.json",
92
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
93
+ "repairPolicy": "refresh-producer",
94
+ "remediationArtifacts": []
95
+ },
96
+ {
97
+ "cardId": "foundation",
98
+ "scope": "workspace",
99
+ "producerCommand": "npx workspai workspace foundation ensure --json",
100
+ "producerArtifact": ".workspai/workspace.json",
101
+ "verifyCommand": "npx workspai workspace foundation ensure --json",
102
+ "verifyArtifact": ".workspai/workspace.json",
103
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
104
+ "repairPolicy": "refresh-producer",
105
+ "remediationArtifacts": []
106
+ },
107
+ {
108
+ "cardId": "contract",
109
+ "scope": "workspace",
110
+ "producerCommand": "npx workspai workspace contract verify --strict --json",
111
+ "producerArtifact": ".workspai/reports/workspace-contract-verify-last-run.json",
112
+ "verifyCommand": "npx workspai workspace contract verify --strict --json",
113
+ "verifyArtifact": ".workspai/reports/workspace-contract-verify-last-run.json",
114
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
115
+ "repairPolicy": "source-repair-then-produce",
116
+ "remediationArtifacts": []
117
+ },
118
+ {
119
+ "cardId": "autopilot",
120
+ "scope": "workspace",
121
+ "producerCommand": "npx workspai autopilot release --json",
122
+ "producerArtifact": ".workspai/reports/autopilot-release-last-run.json",
123
+ "verifyCommand": "npx workspai autopilot release --json",
124
+ "verifyArtifact": ".workspai/reports/autopilot-release-last-run.json",
125
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
126
+ "repairPolicy": "source-repair-then-produce",
127
+ "remediationArtifacts": []
128
+ },
129
+ {
130
+ "cardId": "workspaceRun",
131
+ "scope": "workspace",
132
+ "producerCommand": "npx workspai workspace run test --json",
133
+ "producerArtifact": ".workspai/reports/workspace-run-last.json",
134
+ "verifyCommand": "npx workspai workspace run test --json",
135
+ "verifyArtifact": ".workspai/reports/workspace-run-last.json",
136
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
137
+ "repairPolicy": "source-repair-then-produce",
138
+ "remediationArtifacts": [
139
+ ".workspai/reports/artifact-remediation-plan-last-run.json"
140
+ ]
141
+ },
142
+ {
143
+ "cardId": "setup",
144
+ "scope": "workspace",
145
+ "producerCommand": "npx workspai setup --json",
146
+ "producerArtifact": ".workspai/toolchain.lock",
147
+ "verifyCommand": "npx workspai setup --json",
148
+ "verifyArtifact": ".workspai/toolchain.lock",
149
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
150
+ "repairPolicy": "source-repair-then-produce",
151
+ "remediationArtifacts": []
152
+ },
153
+ {
154
+ "cardId": "importReadiness",
155
+ "scope": "project",
156
+ "producerCommand": "npx workspai doctor project --json",
157
+ "producerArtifact": ".workspai/reports/doctor-project-last-run.json",
158
+ "verifyCommand": "npx workspai doctor project --json",
159
+ "verifyArtifact": ".workspai/reports/doctor-project-last-run.json",
160
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
161
+ "repairPolicy": "diagnose-and-repair",
162
+ "remediationArtifacts": [
163
+ ".workspai/reports/artifact-remediation-plan-last-run.json"
164
+ ]
165
+ },
166
+ {
167
+ "cardId": "snapshot",
168
+ "scope": "workspace",
169
+ "producerCommand": "npx workspai snapshot create --json",
170
+ "producerArtifact": ".workspai/reports/snapshot-last-run.json",
171
+ "verifyCommand": "npx workspai snapshot create --json",
172
+ "verifyArtifact": ".workspai/reports/snapshot-last-run.json",
173
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
174
+ "repairPolicy": "refresh-producer",
175
+ "remediationArtifacts": []
176
+ },
177
+ {
178
+ "cardId": "workspaceModel",
179
+ "scope": "workspace",
180
+ "producerCommand": "npx workspai workspace model --json --write",
181
+ "producerArtifact": ".workspai/reports/workspace-model.json",
182
+ "verifyCommand": "npx workspai workspace model --json --write",
183
+ "verifyArtifact": ".workspai/reports/workspace-model.json",
184
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
185
+ "repairPolicy": "refresh-producer",
186
+ "remediationArtifacts": []
187
+ },
188
+ {
189
+ "cardId": "intelligenceSnapshot",
190
+ "scope": "workspace",
191
+ "producerCommand": "npx workspai workspace snapshot --json",
192
+ "producerArtifact": ".workspai/reports/workspace-model-snapshot.json",
193
+ "verifyCommand": "npx workspai workspace snapshot --json",
194
+ "verifyArtifact": ".workspai/reports/workspace-model-snapshot.json",
195
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
196
+ "repairPolicy": "refresh-producer",
197
+ "remediationArtifacts": []
198
+ },
199
+ {
200
+ "cardId": "workspaceDiff",
201
+ "scope": "workspace",
202
+ "producerCommand": "npx workspai workspace diff --from .workspai/reports/workspace-model-snapshot.json --json",
203
+ "producerArtifact": ".workspai/reports/workspace-model-diff-last-run.json",
204
+ "verifyCommand": "npx workspai workspace diff --from .workspai/reports/workspace-model-snapshot.json --json",
205
+ "verifyArtifact": ".workspai/reports/workspace-model-diff-last-run.json",
206
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
207
+ "repairPolicy": "refresh-producer",
208
+ "remediationArtifacts": []
209
+ },
210
+ {
211
+ "cardId": "workspaceImpact",
212
+ "scope": "workspace",
213
+ "producerCommand": "npx workspai workspace impact --from .workspai/reports/workspace-model-diff-last-run.json --json",
214
+ "producerArtifact": ".workspai/reports/workspace-impact-last-run.json",
215
+ "verifyCommand": "npx workspai workspace impact --from .workspai/reports/workspace-model-diff-last-run.json --json",
216
+ "verifyArtifact": ".workspai/reports/workspace-impact-last-run.json",
217
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
218
+ "repairPolicy": "refresh-producer",
219
+ "remediationArtifacts": []
220
+ },
221
+ {
222
+ "cardId": "workspaceIntelligenceRun",
223
+ "scope": "workspace",
224
+ "producerCommand": "npx workspai workspace intelligence run --for-agent generic --strict --json",
225
+ "producerArtifact": ".workspai/reports/workspace-intelligence-run-last-run.json",
226
+ "verifyCommand": "npx workspai workspace intelligence run --for-agent generic --strict --json",
227
+ "verifyArtifact": ".workspai/reports/workspace-intelligence-run-last-run.json",
228
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
229
+ "repairPolicy": "source-repair-then-produce",
230
+ "remediationArtifacts": []
231
+ },
232
+ {
233
+ "cardId": "workspaceVerify",
234
+ "scope": "workspace",
235
+ "producerCommand": "npx workspai workspace verify --json",
236
+ "producerArtifact": ".workspai/reports/workspace-verify-last-run.json",
237
+ "verifyCommand": "npx workspai workspace verify --json",
238
+ "verifyArtifact": ".workspai/reports/workspace-verify-last-run.json",
239
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
240
+ "repairPolicy": "source-repair-then-produce",
241
+ "remediationArtifacts": [
242
+ ".workspai/reports/artifact-remediation-plan-last-run.json"
243
+ ]
244
+ },
245
+ {
246
+ "cardId": "workspaceExplain",
247
+ "scope": "workspace",
248
+ "producerCommand": "npx workspai workspace explain release-blocked --json --write",
249
+ "producerArtifact": ".workspai/reports/workspace-explain-last-run.json",
250
+ "verifyCommand": "npx workspai workspace explain release-blocked --json --write",
251
+ "verifyArtifact": ".workspai/reports/workspace-explain-last-run.json",
252
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
253
+ "repairPolicy": "refresh-producer",
254
+ "remediationArtifacts": []
255
+ },
256
+ {
257
+ "cardId": "workspaceWhy",
258
+ "scope": "workspace",
259
+ "producerCommand": "npx workspai workspace why release-blocked --json --write",
260
+ "producerArtifact": ".workspai/reports/workspace-why-last-run.json",
261
+ "verifyCommand": "npx workspai workspace why release-blocked --json --write",
262
+ "verifyArtifact": ".workspai/reports/workspace-why-last-run.json",
263
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
264
+ "repairPolicy": "refresh-producer",
265
+ "remediationArtifacts": []
266
+ },
267
+ {
268
+ "cardId": "workspaceTrace",
269
+ "scope": "workspace",
270
+ "producerCommand": "npx workspai workspace trace --from .workspai/reports/workspace-model-diff-last-run.json --json --write",
271
+ "producerArtifact": ".workspai/reports/workspace-trace-last-run.json",
272
+ "verifyCommand": "npx workspai workspace trace --from .workspai/reports/workspace-model-diff-last-run.json --json --write",
273
+ "verifyArtifact": ".workspai/reports/workspace-trace-last-run.json",
274
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
275
+ "repairPolicy": "refresh-producer",
276
+ "remediationArtifacts": []
277
+ },
278
+ {
279
+ "cardId": "workspaceWatch",
280
+ "scope": "workspace",
281
+ "producerCommand": "npx workspai workspace watch --once --json",
282
+ "producerArtifact": ".workspai/reports/workspace-model.json",
283
+ "verifyCommand": "npx workspai workspace watch --once --json",
284
+ "verifyArtifact": ".workspai/reports/workspace-model.json",
285
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
286
+ "repairPolicy": "refresh-producer",
287
+ "remediationArtifacts": []
288
+ },
289
+ {
290
+ "cardId": "workspaceContextAgent",
291
+ "scope": "workspace",
292
+ "producerCommand": "npx workspai workspace context --for-agent --json --write",
293
+ "producerArtifact": ".workspai/reports/workspace-context-agent.json",
294
+ "verifyCommand": "npx workspai workspace context --for-agent --json --write",
295
+ "verifyArtifact": ".workspai/reports/workspace-context-agent.json",
296
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
297
+ "repairPolicy": "refresh-producer",
298
+ "remediationArtifacts": []
299
+ },
300
+ {
301
+ "cardId": "agentGrounding",
302
+ "scope": "workspace",
303
+ "producerCommand": "npx workspai workspace agent-sync --write --refresh-context --json --preset enterprise --target vscode",
304
+ "producerArtifact": ".workspai/reports/agent-customization-pack.json",
305
+ "verifyCommand": "npx workspai workspace agent-sync --write --refresh-context --json --preset enterprise --target vscode",
306
+ "verifyArtifact": ".workspai/reports/agent-customization-pack.json",
307
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
308
+ "repairPolicy": "refresh-producer",
309
+ "remediationArtifacts": []
310
+ },
311
+ {
312
+ "cardId": "share",
313
+ "scope": "workspace",
314
+ "producerCommand": "npx workspai workspace share --output .workspai/reports/share-bundle.json --json",
315
+ "producerArtifact": ".workspai/reports/share-bundle.json",
316
+ "verifyCommand": "npx workspai workspace share --output .workspai/reports/share-bundle.json --json",
317
+ "verifyArtifact": ".workspai/reports/share-bundle.json",
318
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
319
+ "repairPolicy": "refresh-producer",
320
+ "remediationArtifacts": []
321
+ },
322
+ {
323
+ "cardId": "archive",
324
+ "scope": "workspace",
325
+ "producerCommand": "npx workspai workspace export --output team-workspace.workspai-archive.zip --json",
326
+ "producerArtifact": ".workspai/archive-manifest.json",
327
+ "verifyCommand": "npx workspai workspace export --output team-workspace.workspai-archive.zip --json",
328
+ "verifyArtifact": ".workspai/archive-manifest.json",
329
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
330
+ "repairPolicy": "refresh-producer",
331
+ "remediationArtifacts": []
332
+ },
333
+ {
334
+ "cardId": "mirror",
335
+ "scope": "workspace",
336
+ "producerCommand": "npx workspai mirror status --json",
337
+ "producerArtifact": ".workspai/reports/mirror-ops.latest.json",
338
+ "verifyCommand": "npx workspai mirror status --json",
339
+ "verifyArtifact": ".workspai/reports/mirror-ops.latest.json",
340
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
341
+ "repairPolicy": "refresh-producer",
342
+ "remediationArtifacts": []
343
+ },
344
+ {
345
+ "cardId": "cache",
346
+ "scope": "workspace",
347
+ "producerCommand": "npx workspai cache status --json",
348
+ "producerArtifact": ".workspai/cache-config.yml",
349
+ "verifyCommand": "npx workspai cache status --json",
350
+ "verifyArtifact": ".workspai/cache-config.yml",
351
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
352
+ "repairPolicy": "refresh-producer",
353
+ "remediationArtifacts": []
354
+ },
355
+ {
356
+ "cardId": "policy",
357
+ "scope": "workspace",
358
+ "producerCommand": "npx workspai workspace policy show --json",
359
+ "producerArtifact": ".workspai/policies.yml",
360
+ "verifyCommand": "npx workspai workspace policy show --json",
361
+ "verifyArtifact": ".workspai/policies.yml",
362
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
363
+ "repairPolicy": "source-repair-then-produce",
364
+ "remediationArtifacts": []
365
+ },
366
+ {
367
+ "cardId": "infra",
368
+ "scope": "workspace",
369
+ "producerCommand": "npx workspai infra plan --json",
370
+ "producerArtifact": ".workspai/reports/infra-plan.json",
371
+ "verifyCommand": "npx workspai infra plan --json",
372
+ "verifyArtifact": ".workspai/reports/infra-plan.json",
373
+ "aggregateVerifyCommand": "npx workspai workspace verify --json",
374
+ "repairPolicy": "source-repair-then-produce",
375
+ "remediationArtifacts": []
376
+ }
377
+ ]
378
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/contracts/workspace-intelligence/workspace-repair-proposal.v1.json",
4
+ "title": "Workspai Workspace Repair Proposal v1",
5
+ "description": "A bounded, hash-pinned source change proposed by an IDE model for execution by the CLI Repair Engine.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["schemaVersion", "cardId", "rationale", "changes"],
9
+ "properties": {
10
+ "schemaVersion": { "const": "workspai.workspace-repair-proposal.v1" },
11
+ "cardId": { "type": "string", "minLength": 1, "maxLength": 160 },
12
+ "projectName": { "type": "string", "minLength": 1, "maxLength": 200 },
13
+ "projectPath": { "type": "string", "minLength": 1, "maxLength": 1000 },
14
+ "rationale": { "type": "string", "minLength": 1, "maxLength": 4000 },
15
+ "changes": {
16
+ "type": "array",
17
+ "minItems": 1,
18
+ "maxItems": 100,
19
+ "items": { "$ref": "#/$defs/change" }
20
+ },
21
+ "validation": {
22
+ "type": "array",
23
+ "maxItems": 20,
24
+ "items": { "$ref": "#/$defs/validation" }
25
+ }
26
+ },
27
+ "$defs": {
28
+ "change": {
29
+ "type": "object",
30
+ "additionalProperties": false,
31
+ "required": ["id", "path", "operation", "expectedBeforeHash", "risk", "summary"],
32
+ "properties": {
33
+ "id": { "type": "string", "pattern": "^[A-Za-z0-9._-]{1,160}$" },
34
+ "path": { "type": "string", "minLength": 1, "maxLength": 1000 },
35
+ "operation": { "enum": ["write", "delete"] },
36
+ "expectedBeforeHash": {
37
+ "oneOf": [
38
+ { "type": "string", "pattern": "^[a-f0-9]{64}$" },
39
+ { "type": "null" }
40
+ ]
41
+ },
42
+ "content": { "type": "string", "maxLength": 5242880 },
43
+ "risk": { "enum": ["safe", "guarded", "invasive"] },
44
+ "summary": { "type": "string", "minLength": 1, "maxLength": 1000 }
45
+ },
46
+ "allOf": [
47
+ {
48
+ "if": { "properties": { "operation": { "const": "write" } } },
49
+ "then": {
50
+ "properties": { "content": { "type": "string", "maxLength": 5242880 } },
51
+ "required": ["content"]
52
+ },
53
+ "else": { "not": { "required": ["content"] } }
54
+ }
55
+ ]
56
+ },
57
+ "validation": {
58
+ "type": "object",
59
+ "additionalProperties": false,
60
+ "required": ["id", "kind", "cwd", "executable", "args", "required", "risk", "summary"],
61
+ "properties": {
62
+ "id": { "type": "string", "pattern": "^[A-Za-z0-9._-]{1,160}$" },
63
+ "kind": { "enum": ["audit", "test", "build"] },
64
+ "cwd": { "type": "string", "minLength": 1, "maxLength": 1000 },
65
+ "executable": { "type": "string", "minLength": 1, "maxLength": 1000 },
66
+ "args": {
67
+ "type": "array",
68
+ "maxItems": 100,
69
+ "items": { "type": "string", "maxLength": 4000 }
70
+ },
71
+ "required": { "type": "boolean" },
72
+ "risk": { "enum": ["safe", "guarded", "invasive"] },
73
+ "summary": { "type": "string", "minLength": 1, "maxLength": 1000 },
74
+ "timeoutMs": { "type": "integer", "minimum": 1000, "maximum": 900000 }
75
+ }
76
+ }
77
+ }
78
+ }