workspai 0.49.0 → 0.51.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 (257) hide show
  1. package/README.md +123 -434
  2. package/contracts/analyze-last-run.v1.json +2 -2
  3. package/contracts/artifact-remediation-plan.v1.json +3 -9
  4. package/contracts/autopilot-release.v1.json +2 -0
  5. package/contracts/bootstrap-compliance.v1.json +2 -1
  6. package/contracts/cli-log-event.v1.json +1 -1
  7. package/contracts/cli-runtime-command-inventory.v1.snapshot.json +80 -0
  8. package/contracts/compatibility-matrix.v1.json +2 -0
  9. package/contracts/create-planner-capabilities.v1.json +153 -32
  10. package/contracts/doctor-project-evidence.v1.json +191 -11
  11. package/contracts/doctor-project-scan.v2.json +2 -0
  12. package/contracts/doctor-remediation-plan.v1.json +2 -2
  13. package/contracts/doctor-remediation-plan.v2.json +2 -2
  14. package/contracts/doctor-workspace-cache.v2.json +2 -0
  15. package/contracts/doctor-workspace-evidence.v1.json +189 -10
  16. package/contracts/extension-cli-compatibility.v1.json +10 -1
  17. package/contracts/infra-plan.v1.json +2 -0
  18. package/contracts/ingestion-plan.v1.json +85 -0
  19. package/contracts/ingestion-result.v1.json +59 -0
  20. package/contracts/mirror-ops.v1.json +2 -1
  21. package/contracts/pipeline-last-run.v1.json +2 -2
  22. package/contracts/private-product-manifest.v1.json +2 -0
  23. package/contracts/product-factory-plan.v1.json +2 -0
  24. package/contracts/project-archive.v1.json +2 -0
  25. package/contracts/project-entry-capability.v1.json +2 -3
  26. package/contracts/project-test-coverage.v1.json +189 -0
  27. package/contracts/project-workspace-link.v1.json +66 -0
  28. package/contracts/project-workspace-resolution.v1.json +28 -0
  29. package/contracts/published-contract-catalog.v1.json +45 -0
  30. package/contracts/release-readiness.v1.json +2 -2
  31. package/contracts/runtime-command-surface.v1.json +1456 -139
  32. package/contracts/transparency-evidence.v1.json +2 -1
  33. package/contracts/workspace-archive-capabilities.v1.json +11 -5
  34. package/contracts/workspace-archive-manifest.v1.json +236 -0
  35. package/contracts/workspace-archive-operation-result.v1.json +236 -0
  36. package/contracts/workspace-contract.v1.json +1 -1
  37. package/contracts/workspace-intelligence/agent-action-outcome.v1.json +2 -2
  38. package/contracts/workspace-intelligence/agent-customization-pack-report.v1.json +1 -1
  39. package/contracts/workspace-intelligence/agent-hooks.v1.json +2 -0
  40. package/contracts/workspace-intelligence/agent-reports-index.v1.json +1 -1
  41. package/contracts/workspace-intelligence/blocker-resolution.v1.json +3 -9
  42. package/contracts/workspace-intelligence/doctor-fix-result.v1.json +2 -2
  43. package/contracts/workspace-intelligence/doctor-graph-diagnosis.v1.json +208 -0
  44. package/contracts/workspace-intelligence/fact-freshness.v1.json +2 -2
  45. package/contracts/workspace-intelligence/mcp-design.v1.json +2 -0
  46. package/contracts/workspace-intelligence/model-usage-event.v1.json +1 -1
  47. package/contracts/workspace-intelligence/project-context-agent.v1.json +360 -0
  48. package/contracts/workspace-intelligence/studio-blocker-handoff.v1.json +1 -1
  49. package/contracts/workspace-intelligence/workspace-context.v1.json +1 -1
  50. package/contracts/workspace-intelligence/workspace-contract-verify.v1.json +2 -2
  51. package/contracts/workspace-intelligence/workspace-dependency-graph.v1.json +1 -1
  52. package/contracts/workspace-intelligence/workspace-explain.v1.json +1 -1
  53. package/contracts/workspace-intelligence/workspace-graph-stream.v1.json +1 -1
  54. package/contracts/workspace-intelligence/workspace-graph-token-efficiency.v1.json +1 -1
  55. package/contracts/workspace-intelligence/workspace-impact.v1.json +1 -1
  56. package/contracts/workspace-intelligence/workspace-intelligence-evaluation-comparison.v1.json +1 -1
  57. package/contracts/workspace-intelligence/workspace-intelligence-evaluation.v1.json +1 -1
  58. package/contracts/workspace-intelligence/workspace-intelligence-history.v1.json +1 -1
  59. package/contracts/workspace-intelligence/workspace-intelligence-run.v1.json +2 -2
  60. package/contracts/workspace-intelligence/workspace-knowledge-graph-change-overlay.v1.json +1 -1
  61. package/contracts/workspace-intelligence/workspace-knowledge-graph.v1.json +48 -5
  62. package/contracts/workspace-intelligence/workspace-knowledge-search.v1.json +1 -1
  63. package/contracts/workspace-intelligence/workspace-model-diff.v1.json +1 -1
  64. package/contracts/workspace-intelligence/workspace-model-snapshot.v1.json +1 -1
  65. package/contracts/workspace-intelligence/workspace-model.v1.json +97 -5
  66. package/contracts/workspace-intelligence/workspace-operational-skill.v1.json +1 -1
  67. package/contracts/workspace-intelligence/workspace-skills-index.v1.json +1 -1
  68. package/contracts/workspace-intelligence/workspace-verify.v1.json +1 -1
  69. package/contracts/workspace-intelligence-architecture.v1.json +33 -7
  70. package/contracts/workspace-intelligence-chain.v1.json +1 -1
  71. package/contracts/workspace-list.v1.json +2 -0
  72. package/contracts/workspace-model-cache.v1.json +2 -0
  73. package/contracts/workspace-registry.v1.json +1 -1
  74. package/contracts/workspace-run-last.v1.json +1 -1
  75. package/contracts/workspace-share-bundle.v1.json +2 -1
  76. package/contracts/workspace-snapshot.v1.json +2 -0
  77. package/contracts/workspace-snapshot.v2.json +2 -0
  78. package/contracts/workspace-sync.v1.json +2 -0
  79. package/contracts/workspace-watch-event.v1.json +2 -0
  80. package/dist/analyze-4H33PAUB.js +1 -0
  81. package/dist/{artifact-remediation-plan-SPOUHMK5.js → artifact-remediation-plan-TQ6KTTXD.js} +1 -1
  82. package/dist/autopilot-release-BHZYM5KX.js +1 -0
  83. package/dist/chunk-2D4UOYOJ.js +1 -0
  84. package/dist/chunk-2OIBHUVH.js +1 -0
  85. package/dist/chunk-3D2PAIRH.js +3 -0
  86. package/dist/chunk-3GRKUP5W.js +33 -0
  87. package/dist/{managed-agent-markers-AXUM75OE.js → chunk-3RBUSW7H.js} +1 -1
  88. package/dist/chunk-4WJC5QCD.js +2 -0
  89. package/dist/chunk-6HLPTJZ3.js +13 -0
  90. package/dist/{chunk-CV5HKU4P.js → chunk-7T4TSV5C.js} +1 -1
  91. package/dist/chunk-AFIFZTOY.js +2 -0
  92. package/dist/{chunk-BMWFQXGW.js → chunk-AHLMIL2T.js} +1 -1
  93. package/dist/chunk-AL237TSJ.js +7 -0
  94. package/dist/chunk-BBGNDMRU.js +2 -0
  95. package/dist/chunk-BG4FWJJ3.js +1 -0
  96. package/dist/{chunk-VU7NZHPM.js → chunk-BHYTI3RH.js} +1 -1
  97. package/dist/chunk-BYTFXQ6G.js +1 -0
  98. package/dist/chunk-CZC5P2MF.js +1 -0
  99. package/dist/chunk-DLM6C7FU.js +8 -0
  100. package/dist/{chunk-CRHYBQI3.js → chunk-DQ3PI7EP.js} +1 -1
  101. package/dist/chunk-E3CT7TYT.js +1 -0
  102. package/dist/chunk-EPVFKJF4.js +1 -0
  103. package/dist/chunk-EWZZUQBR.js +1 -0
  104. package/dist/chunk-FKWB66NQ.js +4 -0
  105. package/dist/{chunk-BGPXQQNY.js → chunk-FZ76CF2W.js} +1 -1
  106. package/dist/chunk-GBAO4GSW.js +2 -0
  107. package/dist/chunk-GQRWRHSR.js +86 -0
  108. package/dist/{chunk-ESLPI3XZ.js → chunk-HE4PUMU4.js} +1 -1
  109. package/dist/chunk-HMGPELXS.js +1 -0
  110. package/dist/chunk-HSZCINFX.js +2 -0
  111. package/dist/{chunk-3VFA7D5T.js → chunk-IND3TUVU.js} +1 -1
  112. package/dist/{chunk-NHN4QXPP.js → chunk-KVSYBHUR.js} +1 -1
  113. package/dist/chunk-L2E2Z4OE.js +5 -0
  114. package/dist/chunk-MAF3LLGK.js +691 -0
  115. package/dist/chunk-MOSXTVPU.js +1 -0
  116. package/dist/chunk-MVLIONQD.js +1 -0
  117. package/dist/chunk-PS5F4DCT.js +1 -0
  118. package/dist/{chunk-K4X3DM7R.js → chunk-Q6TKQVKQ.js} +1 -1
  119. package/dist/chunk-RJIYCDVC.js +1 -0
  120. package/dist/chunk-RVQLMTTI.js +2 -0
  121. package/dist/chunk-SHXJ2GDR.js +75 -0
  122. package/dist/chunk-TDTCMZK7.js +10 -0
  123. package/dist/chunk-TROHVI2V.js +2 -0
  124. package/dist/chunk-U2LR73E2.js +1 -0
  125. package/dist/chunk-U2QL5733.js +36 -0
  126. package/dist/{chunk-TIE2XMGH.js → chunk-VCW5HSPC.js} +12 -12
  127. package/dist/chunk-VRW6KXNK.js +6 -0
  128. package/dist/chunk-VU2BKKMB.js +1 -0
  129. package/dist/chunk-WJVB6SSD.js +16 -0
  130. package/dist/{chunk-32OJDBIG.js → chunk-XBM2P45G.js} +2 -2
  131. package/dist/chunk-Y5YAP4F3.js +2 -0
  132. package/dist/{create-S64IWHAP.js → create-SBFBFXKN.js} +1 -1
  133. package/dist/{demo-kit-DZ7TPG7K.js → demo-kit-KHH63TNA.js} +2 -2
  134. package/dist/{doctor-4NNUDNGZ.js → doctor-OPCMTBJB.js} +1 -1
  135. package/dist/{dotnet-webapi-clean-A6MVDYXX.js → dotnet-webapi-clean-VXEF4SHM.js} +5 -5
  136. package/dist/{gofiber-standard-I5YPQG5V.js → gofiber-standard-AQGSC7ON.js} +3 -3
  137. package/dist/{gogin-standard-VY2L4QT5.js → gogin-standard-7DU3OCBX.js} +3 -3
  138. package/dist/index.d.ts +38 -6
  139. package/dist/index.js +267 -355
  140. package/dist/managed-agent-markers-COE5DJ3W.js +1 -0
  141. package/dist/pipeline-7BUXAFS2.js +5 -0
  142. package/dist/platform-capabilities-PR6YL4KC.js +1 -0
  143. package/dist/project-intelligence-lens-BKKVPCLC.js +1 -0
  144. package/dist/project-test-coverage-BALEHHTT.js +1 -0
  145. package/dist/{pythonRapidkitExec-CVCIK225.js → pythonRapidkitExec-YR7P5LWG.js} +1 -1
  146. package/dist/rust-axum-4HXDICIB.js +140 -0
  147. package/dist/{springboot-standard-55XKCBIZ.js → springboot-standard-EK6GYN5T.js} +7 -7
  148. package/dist/workspace-U6ZQLELX.js +1 -0
  149. package/dist/{workspace-agent-sync-662QHXGF.js → workspace-agent-sync-L4SY7B4Q.js} +1 -1
  150. package/dist/workspace-archive-4JNT4S7N.js +1 -0
  151. package/dist/workspace-context-KOBSLZTI.js +1 -0
  152. package/dist/workspace-contract-SOD3OOVF.js +1 -0
  153. package/dist/workspace-explain-2CTMW2YW.js +1 -0
  154. package/dist/workspace-explain-contract-H7O26QJU.js +1 -0
  155. package/dist/{workspace-feedback-SUVH2LUJ.js → workspace-feedback-ZZ4HPW2T.js} +1 -1
  156. package/dist/{workspace-foundation-WPLD7OEO.js → workspace-foundation-PUIYBQUF.js} +1 -1
  157. package/dist/workspace-graph-stream-BLKIC7VN.js +1 -0
  158. package/dist/workspace-graph-token-efficiency-5FNH4JZ5.js +1 -0
  159. package/dist/{workspace-history-BANOJRQ2.js → workspace-history-SPKNRHIX.js} +1 -1
  160. package/dist/workspace-intelligence-I3ABOH2F.js +1 -0
  161. package/dist/{workspace-intelligence-evaluation-IPH7M3WV.js → workspace-intelligence-evaluation-7CABG5Y6.js} +1 -1
  162. package/dist/workspace-intelligence-runner-Q2XSR3ZL.js +1 -0
  163. package/dist/workspace-intelligence-runtime-registry-ZZ3GRAL2.js +1 -0
  164. package/dist/{workspace-knowledge-graph-ARDC6HHG.js → workspace-knowledge-graph-5MKEI4Z5.js} +1 -1
  165. package/dist/{workspace-knowledge-graph-query-VOSPPH4W.js → workspace-knowledge-graph-query-EKHIE3E2.js} +1 -1
  166. package/dist/{workspace-marker-SMBC3Z2Q.js → workspace-marker-7NHMDIRL.js} +1 -1
  167. package/dist/workspace-mcp-serve-ETNUA72W.js +3 -0
  168. package/dist/workspace-model-HHA37SNH.js +1 -0
  169. package/dist/workspace-model-hash-ZXYPIGCW.js +1 -0
  170. package/dist/workspace-onboarding-ELHZABJE.js +1 -0
  171. package/dist/{workspace-python-engine-state-2MLKJYQG.js → workspace-python-engine-state-J4QKW55K.js} +1 -1
  172. package/dist/workspace-readme-HGGZ4AZB.js +77 -0
  173. package/dist/{workspace-registry-summary-ORDK7A36.js → workspace-registry-summary-D2QM5JF6.js} +1 -1
  174. package/dist/workspace-run-DAAZBCN7.js +1 -0
  175. package/dist/{workspace-verify-EBVL7FWT.js → workspace-verify-4WJTLXRA.js} +1 -1
  176. package/dist/workspace-watch-2PIFTQ6B.js +1 -0
  177. package/docs/GLOSSARY.md +17 -16
  178. package/docs/OPEN_SOURCE_USER_SCENARIOS.md +8 -3
  179. package/docs/README.md +6 -3
  180. package/docs/README_CONTENT_CONTRACT.md +98 -115
  181. package/docs/ci-workflows.md +13 -4
  182. package/docs/commands-reference.md +43 -10
  183. package/docs/contracts/ARTIFACT_CATALOG.md +65 -26
  184. package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +2 -0
  185. package/docs/contracts/RUNTIME_SUPPORT_MATRIX.md +3 -3
  186. package/docs/contracts/rapidkit-cli-contracts.json +2 -2
  187. package/docs/create-planner-capabilities.md +36 -5
  188. package/docs/creating-workspaces-and-projects.md +59 -3
  189. package/docs/doctor-command.md +118 -11
  190. package/docs/from-code-to-shared-understanding.md +4 -1
  191. package/docs/graph-benchmark-methodology.md +2 -2
  192. package/docs/workspace-intelligence-evaluation.md +5 -0
  193. package/docs/workspace-knowledge-graph.md +141 -7
  194. package/docs/workspace-operations.md +149 -10
  195. package/package.json +7 -4
  196. package/scripts/enterprise-package-smoke.mjs +24 -1
  197. package/templates/kits/fastapi-ddd/README.md.j2 +1 -1
  198. package/templates/kits/fastapi-standard/README.md.j2 +1 -1
  199. package/templates/kits/nestjs-standard/Dockerfile.j2 +1 -1
  200. package/templates/kits/nestjs-standard/README.md.j2 +1 -1
  201. package/templates/kits/nestjs-standard/package.json.j2 +11 -2
  202. package/dist/analyze-EEEU3MIF.js +0 -1
  203. package/dist/autopilot-release-R4XRTWEM.js +0 -1
  204. package/dist/chunk-22DT744Z.js +0 -1
  205. package/dist/chunk-37CVKXBD.js +0 -1
  206. package/dist/chunk-3NU32T4A.js +0 -2
  207. package/dist/chunk-3ZK2GU7C.js +0 -1
  208. package/dist/chunk-4HDYADHT.js +0 -13
  209. package/dist/chunk-4KUIFXHM.js +0 -5
  210. package/dist/chunk-52PBRX7F.js +0 -1
  211. package/dist/chunk-54EP5CEV.js +0 -8
  212. package/dist/chunk-5XATWNME.js +0 -1
  213. package/dist/chunk-7YHK5NM3.js +0 -2
  214. package/dist/chunk-AFL3ACCR.js +0 -2
  215. package/dist/chunk-BFLJ2R4D.js +0 -80
  216. package/dist/chunk-E2KJ5QWY.js +0 -4
  217. package/dist/chunk-EKZLUMCS.js +0 -933
  218. package/dist/chunk-EYJ2CQSK.js +0 -1
  219. package/dist/chunk-FTY7GGXJ.js +0 -33
  220. package/dist/chunk-FXQJX34Z.js +0 -1
  221. package/dist/chunk-GSWPGELT.js +0 -2
  222. package/dist/chunk-GZTYAEWX.js +0 -1
  223. package/dist/chunk-HDXNIN4N.js +0 -1
  224. package/dist/chunk-HZDXO65G.js +0 -36
  225. package/dist/chunk-J5ENLXDF.js +0 -1
  226. package/dist/chunk-KB44JP4M.js +0 -2
  227. package/dist/chunk-LHOZXC2M.js +0 -2
  228. package/dist/chunk-MER6ZBN2.js +0 -13
  229. package/dist/chunk-NAJCUQ4X.js +0 -2
  230. package/dist/chunk-OA537ZQ5.js +0 -1
  231. package/dist/chunk-OW42TZFB.js +0 -1
  232. package/dist/chunk-P3D5YQB2.js +0 -1
  233. package/dist/chunk-PHXQR6PX.js +0 -2
  234. package/dist/chunk-PRTR2DQ2.js +0 -1
  235. package/dist/chunk-RHQW3DTP.js +0 -1
  236. package/dist/chunk-T4YR4RAI.js +0 -2
  237. package/dist/chunk-WDKNMTJQ.js +0 -1
  238. package/dist/chunk-Y45WZR5N.js +0 -5
  239. package/dist/chunk-YJZOMRAS.js +0 -1
  240. package/dist/pipeline-LHTPE3DR.js +0 -5
  241. package/dist/platform-capabilities-2B4QMZXE.js +0 -1
  242. package/dist/workspace-PJPRBUMQ.js +0 -1
  243. package/dist/workspace-archive-P76EDIUG.js +0 -10
  244. package/dist/workspace-context-23YYCUCP.js +0 -1
  245. package/dist/workspace-contract-TU2I7GC2.js +0 -1
  246. package/dist/workspace-dependency-graph-BP4EXYQ5.js +0 -1
  247. package/dist/workspace-explain-MWUEN643.js +0 -1
  248. package/dist/workspace-explain-contract-ZPI3JXJU.js +0 -1
  249. package/dist/workspace-graph-stream-KAGGQPJT.js +0 -1
  250. package/dist/workspace-graph-token-efficiency-CFGFCJ5V.js +0 -1
  251. package/dist/workspace-intelligence-MFJE7W67.js +0 -1
  252. package/dist/workspace-intelligence-runner-OTYTHV6B.js +0 -1
  253. package/dist/workspace-mcp-serve-EZR6O76D.js +0 -3
  254. package/dist/workspace-model-7OU2M3LE.js +0 -1
  255. package/dist/workspace-model-hash-MHXK5MEI.js +0 -1
  256. package/dist/workspace-run-QND2SIYA.js +0 -1
  257. package/dist/workspace-watch-7HWGA5TF.js +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-impact.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-impact.v1.json",
4
4
  "title": "Workspai Workspace Impact",
5
5
  "type": "object",
6
6
  "required": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-intelligence-evaluation-comparison.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-intelligence-evaluation-comparison.v1.json",
4
4
  "title": "Workspai Workspace Intelligence Evaluation Comparison",
5
5
  "description": "A task-aligned comparison between two provenance-aware Workspace Intelligence evaluation runs.",
6
6
  "type": "object",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-intelligence-evaluation.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-intelligence-evaluation.v1.json",
4
4
  "title": "Workspai Workspace Intelligence Evaluation",
5
5
  "description": "A live or finalized, provenance-aware measurement of model usage, agent activity, and verified task outcome.",
6
6
  "type": "object",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-intelligence-history.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-intelligence-history.v1.json",
4
4
  "title": "Workspai Workspace Intelligence History",
5
5
  "type": "object",
6
6
  "required": ["schemaVersion", "retention", "entries"],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://rapidkit.dev/contracts/workspace-intelligence/workspace-intelligence-run.v1.json",
4
- "title": "Workspace Intelligence Run",
3
+ "$id": "https://workspai.dev/contracts/workspace-intelligence/workspace-intelligence-run.v1.json",
4
+ "title": "Workspai Workspace Intelligence Run",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
7
  "required": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-knowledge-graph-change-overlay.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-knowledge-graph-change-overlay.v1.json",
4
4
  "title": "Workspai Workspace Knowledge Graph Change Overlay",
5
5
  "description": "Portable graph-to-graph entity and relation changes with bounded impact and proof artifact projection.",
6
6
  "type": "object",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-knowledge-graph.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-knowledge-graph.v1.json",
4
4
  "title": "Workspai Evidence-backed Workspace Knowledge Graph",
5
- "description": "Portable, provider-neutral workspace entities, relations and proof paths with the canonical project dependency topology embedded as a projection.",
5
+ "description": "Portable, provider-neutral workspace entities, relations and proof paths derived from and structurally bound to the canonical Workspace Model. The embedded project topology is the model's graph projection.",
6
6
  "type": "object",
7
7
  "required": [
8
8
  "schemaVersion",
@@ -24,10 +24,20 @@
24
24
  "type": "object",
25
25
  "required": ["kind", "artifact", "hashAlgorithm", "hash"],
26
26
  "properties": {
27
- "kind": { "enum": ["workspace-model", "workspace-contract", "workspace-sources"] },
28
- "artifact": { "type": "string", "minLength": 1 },
27
+ "kind": {
28
+ "const": "workspace-model",
29
+ "description": "The canonical Workspace Model is the sole source-of-truth authority for an integrated CLI knowledge graph."
30
+ },
31
+ "artifact": {
32
+ "const": ".workspai/reports/workspace-model.json",
33
+ "description": "Canonical model artifact whose stable structural projection is identified by source.hash."
34
+ },
29
35
  "hashAlgorithm": { "const": "sha256" },
30
- "hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
36
+ "hash": {
37
+ "type": "string",
38
+ "pattern": "^[a-f0-9]{64}$",
39
+ "description": "SHA-256 of the stable structural Workspace Model projection. Volatile timestamps, run correlation, live evidence and freshness fields are intentionally excluded."
40
+ }
31
41
  },
32
42
  "additionalProperties": false
33
43
  },
@@ -234,6 +244,22 @@
234
244
  "providerSuccessRatio": { "type": "number", "minimum": 0, "maximum": 1 },
235
245
  "conflictCount": { "type": "integer", "minimum": 0 },
236
246
  "unknownCount": { "type": "integer", "minimum": 0 },
247
+ "bindingCoverage": {
248
+ "type": "object",
249
+ "required": [
250
+ "apiImplementation",
251
+ "projectTests",
252
+ "projectDeployment",
253
+ "projectOwnership"
254
+ ],
255
+ "properties": {
256
+ "apiImplementation": { "$ref": "#/$defs/bindingCoverage" },
257
+ "projectTests": { "$ref": "#/$defs/bindingCoverage" },
258
+ "projectDeployment": { "$ref": "#/$defs/bindingCoverage" },
259
+ "projectOwnership": { "$ref": "#/$defs/bindingCoverage" }
260
+ },
261
+ "additionalProperties": false
262
+ },
237
263
  "portable": { "const": true },
238
264
  "secretValuesEmitted": { "const": false }
239
265
  },
@@ -256,5 +282,22 @@
256
282
  }
257
283
  }
258
284
  },
285
+ "$defs": {
286
+ "bindingCoverage": {
287
+ "type": "object",
288
+ "required": ["eligibleCount", "boundCount", "unknownCount", "coverageRatio"],
289
+ "properties": {
290
+ "eligibleCount": { "type": "integer", "minimum": 0 },
291
+ "boundCount": { "type": "integer", "minimum": 0 },
292
+ "unknownCount": { "type": "integer", "minimum": 0 },
293
+ "coverageRatio": {
294
+ "type": ["number", "null"],
295
+ "minimum": 0,
296
+ "maximum": 1
297
+ }
298
+ },
299
+ "additionalProperties": false
300
+ }
301
+ },
259
302
  "additionalProperties": false
260
303
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-knowledge-search.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-knowledge-search.v1.json",
4
4
  "title": "Workspai Bounded Knowledge Graph Search",
5
5
  "description": "A deterministic, bounded, proof-carrying retrieval projection intended for agents, MCP clients, IDEs, and CI consumers.",
6
6
  "type": "object",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-model-diff.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-model-diff.v1.json",
4
4
  "title": "Workspai Workspace Model Diff",
5
5
  "type": "object",
6
6
  "required": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-model-snapshot.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-model-snapshot.v1.json",
4
4
  "title": "Workspai Workspace Model Snapshot",
5
5
  "type": "object",
6
6
  "required": ["schemaVersion", "generatedAt", "modelHash", "modelRef", "model"],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-model.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-model.v1.json",
4
4
  "title": "Workspai Workspace Intelligence Model",
5
5
  "type": "object",
6
6
  "required": [
@@ -34,7 +34,46 @@
34
34
  },
35
35
  "additionalProperties": true
36
36
  },
37
- "identity": { "type": "object", "additionalProperties": true },
37
+ "identity": {
38
+ "type": "object",
39
+ "properties": {
40
+ "surfaces": {
41
+ "type": "array",
42
+ "items": {
43
+ "enum": [
44
+ "backend",
45
+ "frontend",
46
+ "desktop",
47
+ "extension",
48
+ "service",
49
+ "worker",
50
+ "library",
51
+ "infra",
52
+ "docs",
53
+ "test-suite",
54
+ "unknown"
55
+ ]
56
+ }
57
+ },
58
+ "categories": {
59
+ "type": "array",
60
+ "items": {
61
+ "enum": [
62
+ "backend",
63
+ "frontend",
64
+ "desktop",
65
+ "extension",
66
+ "library",
67
+ "infrastructure",
68
+ "documentation",
69
+ "quality",
70
+ "unknown"
71
+ ]
72
+ }
73
+ }
74
+ },
75
+ "additionalProperties": true
76
+ },
38
77
  "summary": { "type": "object", "additionalProperties": true },
39
78
  "factFreshness": { "$ref": "#/$defs/factFreshnessSummary" },
40
79
  "facts": {
@@ -43,20 +82,73 @@
43
82
  },
44
83
  "projects": {
45
84
  "type": "array",
46
- "items": { "type": "object", "additionalProperties": true }
85
+ "items": {
86
+ "type": "object",
87
+ "properties": {
88
+ "kind": {
89
+ "enum": [
90
+ "backend",
91
+ "frontend",
92
+ "desktop",
93
+ "extension",
94
+ "worker",
95
+ "library",
96
+ "infra",
97
+ "docs",
98
+ "test-suite",
99
+ "unknown"
100
+ ]
101
+ },
102
+ "category": {
103
+ "enum": [
104
+ "backend",
105
+ "frontend",
106
+ "desktop",
107
+ "extension",
108
+ "library",
109
+ "infrastructure",
110
+ "documentation",
111
+ "quality",
112
+ "unknown"
113
+ ]
114
+ }
115
+ },
116
+ "additionalProperties": true
117
+ }
47
118
  },
48
119
  "contracts": { "type": "object", "additionalProperties": true },
120
+ "projectTopology": {
121
+ "type": "object",
122
+ "description": "Canonical compact project dependency topology (workspace-dependency-graph.v1).",
123
+ "additionalProperties": true
124
+ },
49
125
  "graph": {
50
126
  "type": "object",
51
- "description": "First-class inferred dependency graph (workspace-dependency-graph.v1). Additive/optional.",
127
+ "deprecated": true,
128
+ "description": "Deprecated compatibility alias for projectTopology. Producers must emit identical content during the v1 migration window.",
52
129
  "additionalProperties": true
53
130
  },
54
131
  "evidence": { "type": "object", "additionalProperties": true },
55
132
  "discovery": { "type": "object", "additionalProperties": true },
56
133
  "policies": { "type": "object", "additionalProperties": true },
57
- "validation": { "type": "object", "additionalProperties": true }
134
+ "validation": { "type": "object", "additionalProperties": true },
135
+ "build": { "$ref": "#/$defs/buildProvenance" }
58
136
  },
59
137
  "$defs": {
138
+ "buildProvenance": {
139
+ "type": "object",
140
+ "description": "Non-structural provenance for the model command execution. It is excluded from the canonical workspace-model hash.",
141
+ "required": ["schemaVersion", "mode", "outcome", "engineStatus"],
142
+ "properties": {
143
+ "schemaVersion": { "const": "workspace-model-build.v1" },
144
+ "mode": { "enum": ["full", "cache", "incremental"] },
145
+ "outcome": { "enum": ["rebuilt", "partially-reused", "reused"] },
146
+ "engineStatus": {
147
+ "enum": ["disabled", "miss", "hit", "full", "incremental", "unchanged"]
148
+ }
149
+ },
150
+ "additionalProperties": false
151
+ },
60
152
  "factFreshness": {
61
153
  "type": "object",
62
154
  "required": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-operational-skill.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-operational-skill.v1.json",
4
4
  "title": "Workspai Workspace Operational Skill",
5
5
  "type": "object",
6
6
  "required": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-skills-index.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-skills-index.v1.json",
4
4
  "title": "Workspai Workspace Skills Index",
5
5
  "type": "object",
6
6
  "required": ["schemaVersion", "generatedAt", "inputsHash", "skills"],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-verify.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/workspace-verify.v1.json",
4
4
  "title": "Workspai Workspace Verify Last Run",
5
5
  "type": "object",
6
6
  "required": [
@@ -371,7 +371,7 @@
371
371
  {
372
372
  "id": "model",
373
373
  "status": "available",
374
- "purpose": "Build the canonical current model of the software system.",
374
+ "purpose": "Build the canonical current model and its structurally bound, derived Knowledge Graph.",
375
375
  "commands": [
376
376
  "workspace model --json --write"
377
377
  ],
@@ -499,7 +499,30 @@
499
499
  "Evidence is the source of understanding; documentation is an output, not the authority.",
500
500
  "Facts should be marked or treated as verified, observed, inferred, or unknown based on available evidence.",
501
501
  "Marketing and integration surfaces must not claim native, doctor depth, module support, or agent grounding beyond the generated contracts."
502
- ]
502
+ ],
503
+ "modelGraphRelationship": {
504
+ "direction": "workspace-sources -> workspace-model -> workspace-knowledge-graph",
505
+ "canonicalAuthority": {
506
+ "artifact": ".workspai/reports/workspace-model.json",
507
+ "schemaVersion": "workspace-model.v1"
508
+ },
509
+ "derivedRepresentation": {
510
+ "artifact": ".workspai/reports/workspace-knowledge-graph.json",
511
+ "schemaVersion": "workspace-knowledge-graph.v1"
512
+ },
513
+ "sourceBinding": {
514
+ "kind": "workspace-model",
515
+ "artifact": ".workspai/reports/workspace-model.json",
516
+ "hashAlgorithm": "sha256",
517
+ "hashSemantics": "stable structural model projection"
518
+ },
519
+ "inventoryRule": "reconcile discovered, imported, adopted, and contract-declared projects",
520
+ "missingProjectRule": "preserve a contract-declared missing project as a validation warning",
521
+ "topologyRule": "knowledge graph project topology must match the canonical model topology",
522
+ "publication": "one locked rollback-capable artifact transaction",
523
+ "mutationRule": "knowledge graph enrichment never mutates the authorizing model during a run",
524
+ "staleConsumerRule": "reject a graph whose source binding does not match the current model"
525
+ }
503
526
  },
504
527
  "consumers": [
505
528
  {
@@ -594,7 +617,8 @@
594
617
  "springboot.standard",
595
618
  "gofiber.standard",
596
619
  "gogin.standard",
597
- "dotnet.webapi.clean"
620
+ "dotnet.webapi.clean",
621
+ "rust.axum"
598
622
  ],
599
623
  "officialCreate": [
600
624
  "frontend.nextjs",
@@ -608,9 +632,12 @@
608
632
  "frontend.angular",
609
633
  "frontend.astro",
610
634
  "frontend.sveltekit",
635
+ "desktop.tauri",
636
+ "desktop.electron",
637
+ "extension.vscode",
638
+ "php.laravel",
611
639
  "wordpress-site",
612
640
  "wordpress-block",
613
- "laravel",
614
641
  "symfony",
615
642
  "rails"
616
643
  ],
@@ -649,10 +676,9 @@
649
676
  {
650
677
  "id": "import",
651
678
  "status": "available",
652
- "purpose": "Attach an existing project, repository folder, or imported path to a workspace inventory.",
679
+ "purpose": "Copy a local project or clone a repository into workspace-owned source.",
653
680
  "commands": [
654
- "import",
655
- "workspace import"
681
+ "import"
656
682
  ]
657
683
  }
658
684
  ],
@@ -780,7 +780,7 @@
780
780
  ],
781
781
  "dependsOn": [],
782
782
  "exitPolicy": "stop-on-error",
783
- "purpose": "Build the canonical current model of the software system."
783
+ "purpose": "Build the canonical current model and its structurally bound, derived Knowledge Graph."
784
784
  },
785
785
  {
786
786
  "id": "diff",
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-list.v1.json",
4
+ "title": "Workspai Workspace List",
3
5
  "type": "object",
4
6
  "required": [
5
7
  "schemaVersion",
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-model-cache.v1.json",
4
+ "title": "Workspai Workspace Model Cache",
3
5
  "type": "object",
4
6
  "required": [
5
7
  "schemaVersion",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-registry.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-registry.v1.json",
4
4
  "title": "Workspai Workspace Registry Summary",
5
5
  "type": "object",
6
6
  "required": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-run-last.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-run-last.v1.json",
4
4
  "title": "Workspai Workspace Run Evidence",
5
5
  "type": "object",
6
6
  "required": [
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/workspace-share-bundle.v1.json",
3
+ "$id": "https://workspai.dev/schemas/workspace-share-bundle.v1.json",
4
+ "title": "Workspai Workspace Share Bundle",
4
5
  "type": "object",
5
6
  "required": ["schema_version", "generated_at", "generated_by", "workspace", "summary", "reports", "projects"],
6
7
  "properties": {
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-snapshot.v1.json",
4
+ "title": "Workspai Workspace Snapshot v1",
3
5
  "type": "object",
4
6
  "required": [
5
7
  "schema",
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-snapshot.v2.json",
4
+ "title": "Workspai Workspace Snapshot v2",
3
5
  "type": "object",
4
6
  "required": [
5
7
  "schema",
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-sync.v1.json",
4
+ "title": "Workspai Workspace Sync Evidence",
3
5
  "type": "object",
4
6
  "required": [
5
7
  "schemaVersion",
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-watch-event.v1.json",
4
+ "title": "Workspai Workspace Watch Event",
3
5
  "type": "object",
4
6
  "required": [
5
7
  "schemaVersion",
@@ -0,0 +1 @@
1
+ export{b as printAnalyzeReport,a as runAnalyze}from'./chunk-DLM6C7FU.js';
@@ -1,3 +1,3 @@
1
- import {a as a$1}from'./chunk-2E6WGUN6.js';import {a,e,b}from'./chunk-32OJDBIG.js';import y from'path';import {existsSync}from'fs';import x from'fs-extra';var I=[{artifactKind:"bootstrap-compliance",cardId:"bootstrap",fileNames:["bootstrap-compliance.latest.json"]},{artifactKind:"doctor-workspace",cardId:"doctor",fileNames:["doctor-remediation-plan-last-run.json"]},{artifactKind:"analyze",cardId:"analyze",fileNames:["analyze-last-run.json"]},{artifactKind:"readiness",cardId:"readiness",fileNames:["release-readiness-last-run.json"]},{artifactKind:"pipeline",cardId:"pipeline",fileNames:["pipeline-last-run.json"]},{artifactKind:"workspace-run",cardId:"workspaceRun",fileNames:["workspace-run-last.json"]},{artifactKind:"workspace-verify",cardId:"workspaceVerify",fileNames:["workspace-verify-last-run.json"]}];function m(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function f(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.trim().length>0):[]}function k(e){return [...new Set(e.map(r=>r.trim()).filter(Boolean))]}function K(e,r,t){return t?r:y.relative(e,r)}function C(e){let r=e?.trim()||"npx workspai bootstrap";if(!/(?:^|\s)--ci(?:\s|$)/.test(r)&&/(?:^|\s)--json(?:\s|$)/.test(r))return r.replace(/(?:^|\s)--json(?:\s|$)/,i=>{let n=i.startsWith(" ")?" ":"",c=i.endsWith(" ")?" ":"";return `${n}--ci --json${c}`}).trim();let t=/(?:^|\s)--ci(?:\s|$)/.test(r)?r:`${r} --ci`;return /(?:^|\s)--json(?:\s|$)/.test(t)?t:`${t} --json`}function M(e){return `${JSON.stringify({schemaVersion:"rapidkit.compatibility-matrix.v1",generatedAt:e,source:"workspai workspace remediation-plan",runtimes:{},notes:["Minimal enterprise baseline. Add runtime and toolchain entries as governance matures."]},null,2)}
1
+ import {a as a$1}from'./chunk-2E6WGUN6.js';import {a,e,b}from'./chunk-XBM2P45G.js';import y from'path';import {existsSync}from'fs';import x from'fs-extra';var I=[{artifactKind:"bootstrap-compliance",cardId:"bootstrap",fileNames:["bootstrap-compliance.latest.json"]},{artifactKind:"doctor-workspace",cardId:"doctor",fileNames:["doctor-remediation-plan-last-run.json"]},{artifactKind:"analyze",cardId:"analyze",fileNames:["analyze-last-run.json"]},{artifactKind:"readiness",cardId:"readiness",fileNames:["release-readiness-last-run.json"]},{artifactKind:"pipeline",cardId:"pipeline",fileNames:["pipeline-last-run.json"]},{artifactKind:"workspace-run",cardId:"workspaceRun",fileNames:["workspace-run-last.json"]},{artifactKind:"workspace-verify",cardId:"workspaceVerify",fileNames:["workspace-verify-last-run.json"]}];function m(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function f(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.trim().length>0):[]}function k(e){return [...new Set(e.map(r=>r.trim()).filter(Boolean))]}function K(e,r,t){return t?r:y.relative(e,r)}function C(e){let r=e?.trim()||"npx workspai bootstrap";if(!/(?:^|\s)--ci(?:\s|$)/.test(r)&&/(?:^|\s)--json(?:\s|$)/.test(r))return r.replace(/(?:^|\s)--json(?:\s|$)/,i=>{let n=i.startsWith(" ")?" ":"",c=i.endsWith(" ")?" ":"";return `${n}--ci --json${c}`}).trim();let t=/(?:^|\s)--ci(?:\s|$)/.test(r)?r:`${r} --ci`;return /(?:^|\s)--json(?:\s|$)/.test(t)?t:`${t} --json`}function M(e){return `${JSON.stringify({schemaVersion:"rapidkit.compatibility-matrix.v1",generatedAt:e,source:"workspai workspace remediation-plan",runtimes:{},notes:["Minimal enterprise baseline. Add runtime and toolchain entries as governance matures."]},null,2)}
2
2
  `}function N(e){return `${JSON.stringify({schema_version:"1.0",enabled:false,strategy:"on-demand",artifacts:[],created_at:e,note:"Minimal enterprise baseline. Set enabled: true and add artifact entries to activate mirroring."},null,2)}
3
3
  `}function $(e){let r=e.payload,t=f(r.blockers),i=f(r.blockingReasons),n=f(r.failures),c=f(r.reasons),d=f(r.policyViolations),a=m(r.summary),l=f(a?.blockers);if(e.artifactKind==="analyze"){let o=(Array.isArray(r.findings)?r.findings:[]).map(s=>m(s)).filter(s=>!!s).map(s=>String(s.message??s.title??s.id??"").trim()).filter(Boolean);return k([...t,...o,...i])}if(e.artifactKind==="workspace-run"){let u=m(r.stages),o=Object.entries(u??{}).flatMap(([s,b])=>{let h=m(b);return (Array.isArray(h?.projects)?h.projects:[]).map(p=>m(p)).filter(p=>!!p).filter(p=>p.status==="failed"||p.ok===false).map(p=>`${s}: ${String(p.project??p.name??"project")} failed`)});return k([...t,...o,...i])}return k([...t,...i,...n,...c,...d,...l])}function g(e){return {id:e.id,artifactKind:e.artifactKind,cardId:e.cardId,title:e.title,order:e.order,phase:e.phase,scope:"workspace",status:e.status??"ready",mode:e.mode,risk:e.risk,requiresApproval:true,blocker:e.blocker,summary:e.summary,...e.command?{command:e.command}:{},verifyCommand:e.verifyCommand,cwd:"workspace",files:e.files??[],...e.operation?{operation:e.operation}:{},rollback:{available:!!e.operation,strategy:e.operation?"idempotent":"none"},notes:e.notes??[]}}function P(e){let r=[],t=C("npx workspai bootstrap --json");for(let i of e.blockers)i.includes("profile.enterprise.ci")&&r.push(g({id:"bootstrap.enterprise-ci",artifactKind:"bootstrap-compliance",cardId:"bootstrap",title:"Run bootstrap in deterministic CI mode",order:10,phase:"bootstrap-preflight",blocker:i,summary:"Enterprise bootstrap compliance requires --ci for deterministic execution.",mode:"run-command",risk:"safe",command:t,verifyCommand:t})),i.includes("profile.enterprise.compatibility-matrix")&&r.push(g({id:"bootstrap.compatibility-matrix",artifactKind:"bootstrap-compliance",cardId:"bootstrap",title:"Create enterprise compatibility matrix baseline",order:20,phase:"bootstrap-config",blocker:i,summary:"Create the missing compatibility matrix baseline without overwriting user data.",mode:"edit-file",risk:"safe",verifyCommand:t,files:[".workspai/compatibility-matrix.json"],operation:{type:"file-create",path:".workspai/compatibility-matrix.json",content:M(e.generatedAt),overwrite:false}})),i.includes("profile.enterprise.mirror-config")&&r.push(g({id:"bootstrap.mirror-config",artifactKind:"bootstrap-compliance",cardId:"bootstrap",title:"Create enterprise mirror config baseline",order:30,phase:"bootstrap-config",blocker:i,summary:"Create the missing mirror configuration baseline without enabling mirroring.",mode:"edit-file",risk:"safe",verifyCommand:t,files:[".workspai/mirror-config.json"],operation:{type:"file-create",path:".workspai/mirror-config.json",content:N(e.generatedAt),overwrite:false}}));return r}function S(e){if(e.report.artifactKind==="readiness"&&/dependenc(?:y|ies).*vulnerabil|vulnerabil.*dependenc(?:y|ies)|security audit/i.test(e.blocker))return g({id:`${e.report.cardId}.doctor-owner.${e.order}`,artifactKind:e.report.artifactKind,cardId:e.report.cardId,title:"Resolve dependency vulnerability through Doctor",order:e.order,phase:"dependency-remediation",blocker:e.blocker,summary:"Release Readiness is the aggregate gate; use the project-scoped Doctor remediation capability that owns this dependency failure.",mode:"verify-before-fix",risk:"guarded",status:"review-required",command:"npx workspai doctor workspace --plan --json",verifyCommand:e.ciMode?"npx workspai readiness --strict --json":"npx workspai readiness --json",notes:["Read doctor-remediation-plan-last-run.json and execute the matching surface-security-hygiene capability before rerunning Readiness.","Do not treat a Readiness refresh as remediation for a source dependency vulnerability."]});let t={analyze:{title:"Refresh analyze evidence",phase:"analysis",command:"npx workspai analyze --strict --json",verify:"npx workspai analyze --strict --json"},readiness:{title:"Refresh release readiness",phase:"release-readiness",command:e.ciMode?"npx workspai readiness --strict --json":"npx workspai readiness --json",verify:e.ciMode?"npx workspai readiness --strict --json":"npx workspai readiness --json"},pipeline:{title:"Rerun governance pipeline",phase:"governance-pipeline",command:"npx workspai pipeline --json --strict",verify:"npx workspai pipeline --json --strict"},"workspace-run":{title:"Rerun failed workspace stage",phase:"fleet-run",command:e.ciMode?"npx workspai workspace run test --strict --json":"npx workspai workspace run test --json",verify:e.ciMode?"npx workspai workspace run test --strict --json":"npx workspai workspace run test --json"},"workspace-verify":{title:"Refresh workspace verify gate",phase:"verification",command:e.ciMode?"npx workspai workspace verify --strict --json":"npx workspai workspace verify --json",verify:e.ciMode?"npx workspai workspace verify --strict --json":"npx workspai workspace verify --json"},"doctor-workspace":{title:"Use Doctor remediation plan",phase:"doctor-remediation",command:"npx workspai doctor workspace --plan --json",verify:"npx workspai doctor workspace --json"}}[e.report.artifactKind]??{title:"Refresh artifact evidence",phase:"evidence-refresh",command:"npx workspai pipeline --json --strict",verify:"npx workspai pipeline --json --strict"};return g({id:`${e.report.cardId}.refresh.${e.order}`,artifactKind:e.report.artifactKind,cardId:e.report.cardId,title:t.title,order:e.order,phase:t.phase,blocker:e.blocker,summary:"No deterministic file operation is available for this artifact yet; refresh the evidence and continue with the card-specific plan.",mode:e.report.artifactKind==="doctor-workspace"?"verify-before-fix":"run-command",risk:"guarded",status:e.report.artifactKind==="doctor-workspace"?"review-required":"ready",command:t.command,verifyCommand:t.verify,notes:e.report.artifactKind==="doctor-workspace"?["Read doctor-remediation-plan-last-run.json for ordered file-level steps."]:[]})}async function O(e){let r=[a(e,".workspai/reports"),b(e,".workspai/reports")],t=[],i=new Set;for(let n of I)for(let c of n.fileNames){let d=(await Promise.all(r.map(a=>y.join(a,c)))).find(a=>existsSync(a));if(!(!d||i.has(`${n.artifactKind}:${c}`))){i.add(`${n.artifactKind}:${c}`);try{let a=await x.readJSON(d),l=m(a);if(!l)continue;t.push({artifactKind:n.artifactKind,cardId:n.cardId,fileName:c,absolutePath:d,payload:l});}catch{t.push({artifactKind:n.artifactKind,cardId:n.cardId,fileName:c,absolutePath:d,payload:{blockers:[`${n.artifactKind}: report exists but could not be parsed.`]}});}}}return t}async function F(e){let r=y.resolve(e.workspacePath),t=e.includeAbsolutePaths===true,i=e.ciMode===true,n=new Date().toISOString(),c=a(r,".workspai/reports"),d=await O(r),a$2=[],l=1;for(let o of d){let s=$(o);if(s.length!==0){if(o.artifactKind==="bootstrap-compliance"){a$2.push(...P({blockers:s,generatedAt:n})),l=a$2.length+1;continue}for(let b of s.slice(0,8))a$2.push(S({report:o,blocker:b,order:l,ciMode:i})),l+=1;}}let u={safe:a$2.filter(o=>o.risk==="safe").length,guarded:a$2.filter(o=>o.risk==="guarded").length,invasive:a$2.filter(o=>o.risk==="invasive").length};return {schemaVersion:a$1,generatedAt:n,workspace:{name:y.basename(r),...t?{path:r}:{}},source:{command:"workspace remediation-plan",reportsDir:K(r,c,t),includeAbsolutePaths:t,ciMode:i},summary:{artifactsScanned:d.length,cardsCovered:k(a$2.map(o=>o.cardId)).length,totalActions:a$2.length,executableActions:a$2.filter(o=>o.status==="ready").length,risk:u},actions:a$2}}async function W(e$1,r){return e(r,".workspai/reports/artifact-remediation-plan-last-run.json",e$1)}export{F as buildArtifactRemediationPlan,W as writeArtifactRemediationPlan};
@@ -0,0 +1 @@
1
+ export{b as AUTOPILOT_RELEASE_ALIAS_FILENAME,a as AUTOPILOT_RELEASE_LAST_RUN_FILENAME,c as runAutopilotRelease}from'./chunk-Q6TKQVKQ.js';
@@ -0,0 +1 @@
1
+ import {j as j$1,a,b as b$1,t}from'./chunk-MOSXTVPU.js';import {promises}from'fs';import c from'path';var j=new Set(["node_modules","dist","build","target","coverage","htmlcov",".workspai",".rapidkit",".venv"]);function b(e,r){if(r.has(e))return true;let i=e.toLowerCase();return !!(i==="dist"||i.startsWith("dist-")||i.startsWith("dist_")||i==="build"||i.startsWith("build-")||i.startsWith("build_"))}async function p(e){try{return await promises.access(e),true}catch{return false}}async function v(e){for(let r of t(e,"context.json"))if(await p(r))return true;for(let r of t(e,"project.json"))if(await p(r))return true;return false}async function _(e,r){let i=[],o=[c.resolve(e)],d=new Set,m=r?.skipDirs??j,P=r?.includeHiddenDirs===true,g=r?.descendIntoMatchedProjects!==false,y=r?.isProjectDir??v,u=c.resolve(e);for(;o.length>0;){let t=o.shift();if(!t||d.has(t)||(d.add(t),t!==u&&j$1(t))||await y(t,u)&&(i.push(t),!g))continue;let n=[];try{n=await promises.readdir(t,{withFileTypes:true});}catch{continue}for(let s of n)s.isDirectory()&&(!P&&s.name.startsWith(".")||b(s.name,m)||s.name===a||s.name===b$1||o.push(c.join(t,s.name)));}return i.sort((t,n)=>t.localeCompare(n))}export{_ as a};
@@ -0,0 +1 @@
1
+ import {b}from'./chunk-AL237TSJ.js';import {c,d,a,b as b$1}from'./chunk-MOSXTVPU.js';import n from'fs';import o from'path';function _(t){return b({startPath:t})?.workspacePath??null}function k(t){let s=o.resolve(t),p=n.existsSync(o.join(s,c))||n.existsSync(o.join(s,d))||n.existsSync(o.join(s,a,"workspace.json"))||n.existsSync(o.join(s,b$1,"workspace.json")),A=n.existsSync(o.join(s,a,"project.json"))||n.existsSync(o.join(s,a,"context.json"))||n.existsSync(o.join(s,b$1,"project.json"))||n.existsSync(o.join(s,b$1,"context.json"));return p&&!A}export{_ as a,k as b};