workspai 0.48.0 → 0.50.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 (243) hide show
  1. package/README.md +151 -75
  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 +84 -0
  8. package/contracts/compatibility-matrix.v1.json +2 -0
  9. package/contracts/create-planner-capabilities.v1.json +144 -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 +11 -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 +50 -0
  30. package/contracts/release-readiness.v1.json +2 -2
  31. package/contracts/runtime-command-surface.v1.json +1456 -123
  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 +262 -0
  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-ZFQWTCJQ.js +1 -0
  81. package/dist/{artifact-remediation-plan-SPOUHMK5.js → artifact-remediation-plan-ICN3KOFG.js} +1 -1
  82. package/dist/autopilot-release-VKXQ7BS7.js +1 -0
  83. package/dist/chunk-2AXEGYPL.js +1 -0
  84. package/dist/chunk-2D4UOYOJ.js +1 -0
  85. package/dist/chunk-2OIBHUVH.js +1 -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-5EXZBCAZ.js +4 -0
  89. package/dist/chunk-6UTM5AJI.js +1 -0
  90. package/dist/chunk-AFIFZTOY.js +2 -0
  91. package/dist/{chunk-BMWFQXGW.js → chunk-AHLMIL2T.js} +1 -1
  92. package/dist/chunk-AL237TSJ.js +7 -0
  93. package/dist/chunk-AL2A7Q4X.js +86 -0
  94. package/dist/{chunk-VU7NZHPM.js → chunk-BHYTI3RH.js} +1 -1
  95. package/dist/{chunk-ESLPI3XZ.js → chunk-BQGBU2Y3.js} +1 -1
  96. package/dist/chunk-C35UXTDM.js +2 -0
  97. package/dist/chunk-C3FLCDRN.js +2 -0
  98. package/dist/chunk-CZC5P2MF.js +1 -0
  99. package/dist/{chunk-Y5UJLPS4.js → chunk-DDQ3XK3H.js} +13 -13
  100. package/dist/{chunk-CRHYBQI3.js → chunk-DQ3PI7EP.js} +1 -1
  101. package/dist/chunk-EWZZUQBR.js +1 -0
  102. package/dist/{chunk-4KUIFXHM.js → chunk-GNQRYISX.js} +3 -3
  103. package/dist/chunk-I42F552T.js +2 -0
  104. package/dist/chunk-IDQKVJUF.js +2 -0
  105. package/dist/{chunk-3VFA7D5T.js → chunk-IND3TUVU.js} +1 -1
  106. package/dist/chunk-IPJ5URDF.js +1 -0
  107. package/dist/{chunk-I46XEIPL.js → chunk-JFUD73OZ.js} +52 -52
  108. package/dist/chunk-KKAOTTYO.js +8 -0
  109. package/dist/chunk-KMLPHFLD.js +2 -0
  110. package/dist/{chunk-NHN4QXPP.js → chunk-KVSYBHUR.js} +1 -1
  111. package/dist/chunk-KXG6E5VK.js +1 -0
  112. package/dist/chunk-L2YK5RV2.js +1 -0
  113. package/dist/chunk-LAJM2SBP.js +15 -0
  114. package/dist/{chunk-5S3DJQEP.js → chunk-LZQUZGXB.js} +1 -1
  115. package/dist/chunk-MOSXTVPU.js +1 -0
  116. package/dist/chunk-MV7KF75Q.js +13 -0
  117. package/dist/chunk-MVLIONQD.js +1 -0
  118. package/dist/chunk-RJIYCDVC.js +1 -0
  119. package/dist/{chunk-BGPXQQNY.js → chunk-RTVRZFIJ.js} +1 -1
  120. package/dist/chunk-RVQLMTTI.js +2 -0
  121. package/dist/chunk-SHXJ2GDR.js +75 -0
  122. package/dist/{chunk-32OJDBIG.js → chunk-SS2VV3D5.js} +1 -1
  123. package/dist/chunk-TDTCMZK7.js +10 -0
  124. package/dist/chunk-UETZ7USY.js +36 -0
  125. package/dist/chunk-VKTUWUS6.js +1 -0
  126. package/dist/chunk-VRW6KXNK.js +6 -0
  127. package/dist/chunk-Y5YAP4F3.js +2 -0
  128. package/dist/chunk-YPKNQCLK.js +2 -0
  129. package/dist/{create-DBQNAMKP.js → create-I23DC7SN.js} +1 -1
  130. package/dist/{demo-kit-DZ7TPG7K.js → demo-kit-KHH63TNA.js} +2 -2
  131. package/dist/{doctor-4NNUDNGZ.js → doctor-DOOMYLIH.js} +1 -1
  132. package/dist/{dotnet-webapi-clean-A6MVDYXX.js → dotnet-webapi-clean-VXEF4SHM.js} +5 -5
  133. package/dist/{gofiber-standard-I5YPQG5V.js → gofiber-standard-AQGSC7ON.js} +3 -3
  134. package/dist/{gogin-standard-VY2L4QT5.js → gogin-standard-7DU3OCBX.js} +3 -3
  135. package/dist/index.d.ts +41 -6
  136. package/dist/index.js +268 -356
  137. package/dist/managed-agent-markers-COE5DJ3W.js +1 -0
  138. package/dist/pipeline-U77HSINC.js +5 -0
  139. package/dist/platform-capabilities-PR6YL4KC.js +1 -0
  140. package/dist/project-intelligence-lens-BKKVPCLC.js +1 -0
  141. package/dist/project-test-coverage-4TEHZJFC.js +1 -0
  142. package/dist/{pythonRapidkitExec-CVCIK225.js → pythonRapidkitExec-YR7P5LWG.js} +1 -1
  143. package/dist/rust-axum-4HXDICIB.js +140 -0
  144. package/dist/{springboot-standard-55XKCBIZ.js → springboot-standard-EK6GYN5T.js} +7 -7
  145. package/dist/workspace-ZEYUVR26.js +1 -0
  146. package/dist/{workspace-agent-sync-662QHXGF.js → workspace-agent-sync-DKYJLUDP.js} +1 -1
  147. package/dist/workspace-archive-4JNT4S7N.js +1 -0
  148. package/dist/{workspace-context-23YYCUCP.js → workspace-context-IHUFMZT3.js} +1 -1
  149. package/dist/workspace-contract-PVLGPBBV.js +1 -0
  150. package/dist/workspace-explain-64HNKAHO.js +1 -0
  151. package/dist/workspace-explain-contract-H7O26QJU.js +1 -0
  152. package/dist/{workspace-feedback-SUVH2LUJ.js → workspace-feedback-RATRXFUC.js} +1 -1
  153. package/dist/{workspace-foundation-WXJ6I7ES.js → workspace-foundation-D33LJLGT.js} +1 -1
  154. package/dist/workspace-graph-stream-THNG2T7R.js +1 -0
  155. package/dist/{workspace-history-BANOJRQ2.js → workspace-history-EWFPT74O.js} +1 -1
  156. package/dist/workspace-intelligence-MCNSWWDV.js +1 -0
  157. package/dist/{workspace-intelligence-evaluation-IPH7M3WV.js → workspace-intelligence-evaluation-7CABG5Y6.js} +1 -1
  158. package/dist/workspace-intelligence-runner-TG2VLHNZ.js +1 -0
  159. package/dist/workspace-intelligence-runtime-registry-ZZ3GRAL2.js +1 -0
  160. package/dist/{workspace-knowledge-graph-ARDC6HHG.js → workspace-knowledge-graph-2EYR7N56.js} +1 -1
  161. package/dist/{workspace-marker-SMBC3Z2Q.js → workspace-marker-7NHMDIRL.js} +1 -1
  162. package/dist/workspace-mcp-serve-FLAVKWYW.js +3 -0
  163. package/dist/workspace-model-FMFYLHE4.js +1 -0
  164. package/dist/workspace-model-hash-ZXYPIGCW.js +1 -0
  165. package/dist/workspace-onboarding-MYROZDI2.js +1 -0
  166. package/dist/{workspace-python-engine-state-2MLKJYQG.js → workspace-python-engine-state-J4QKW55K.js} +1 -1
  167. package/dist/{workspace-registry-summary-ORDK7A36.js → workspace-registry-summary-6VXIAQLX.js} +1 -1
  168. package/dist/workspace-run-2ZI5UMJ2.js +1 -0
  169. package/dist/{workspace-verify-EBVL7FWT.js → workspace-verify-FKYI65UQ.js} +1 -1
  170. package/dist/workspace-watch-RP5KMVP2.js +1 -0
  171. package/docs/GLOSSARY.md +17 -16
  172. package/docs/OPEN_SOURCE_USER_SCENARIOS.md +18 -10
  173. package/docs/README.md +49 -14
  174. package/docs/README_CONTENT_CONTRACT.md +19 -10
  175. package/docs/ci-workflows.md +3 -3
  176. package/docs/commands-reference.md +41 -10
  177. package/docs/contracts/ARTIFACT_CATALOG.md +72 -27
  178. package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +2 -0
  179. package/docs/contracts/RUNTIME_SUPPORT_MATRIX.md +3 -3
  180. package/docs/contracts/rapidkit-cli-contracts.json +2 -2
  181. package/docs/create-planner-capabilities.md +36 -5
  182. package/docs/creating-workspaces-and-projects.md +75 -15
  183. package/docs/doctor-command.md +148 -39
  184. package/docs/examples/ci-agent-grounding.yml +1 -1
  185. package/docs/from-code-to-shared-understanding.md +6 -3
  186. package/docs/graph-benchmark-methodology.md +2 -2
  187. package/docs/workspace-intelligence-evaluation.md +13 -6
  188. package/docs/workspace-intelligence-runner.md +17 -6
  189. package/docs/workspace-knowledge-graph.md +102 -7
  190. package/docs/workspace-operations.md +154 -10
  191. package/package.json +10 -5
  192. package/scripts/enterprise-package-smoke.mjs +13 -1
  193. package/templates/kits/fastapi-ddd/README.md.j2 +1 -1
  194. package/dist/analyze-EEEU3MIF.js +0 -1
  195. package/dist/autopilot-release-XGVXPOZI.js +0 -1
  196. package/dist/chunk-22DT744Z.js +0 -1
  197. package/dist/chunk-37CVKXBD.js +0 -1
  198. package/dist/chunk-3NU32T4A.js +0 -2
  199. package/dist/chunk-3ZK2GU7C.js +0 -1
  200. package/dist/chunk-4HDYADHT.js +0 -13
  201. package/dist/chunk-52PBRX7F.js +0 -1
  202. package/dist/chunk-54EP5CEV.js +0 -8
  203. package/dist/chunk-5XATWNME.js +0 -1
  204. package/dist/chunk-7YHK5NM3.js +0 -2
  205. package/dist/chunk-AFL3ACCR.js +0 -2
  206. package/dist/chunk-BFLJ2R4D.js +0 -80
  207. package/dist/chunk-EYJ2CQSK.js +0 -1
  208. package/dist/chunk-FTY7GGXJ.js +0 -33
  209. package/dist/chunk-FXQJX34Z.js +0 -1
  210. package/dist/chunk-GSWPGELT.js +0 -2
  211. package/dist/chunk-GZTYAEWX.js +0 -1
  212. package/dist/chunk-HDXNIN4N.js +0 -1
  213. package/dist/chunk-HZDXO65G.js +0 -36
  214. package/dist/chunk-J5ENLXDF.js +0 -1
  215. package/dist/chunk-KB44JP4M.js +0 -2
  216. package/dist/chunk-LHOZXC2M.js +0 -2
  217. package/dist/chunk-MER6ZBN2.js +0 -13
  218. package/dist/chunk-NAJCUQ4X.js +0 -2
  219. package/dist/chunk-OA537ZQ5.js +0 -1
  220. package/dist/chunk-OW42TZFB.js +0 -1
  221. package/dist/chunk-P3D5YQB2.js +0 -1
  222. package/dist/chunk-PHXQR6PX.js +0 -2
  223. package/dist/chunk-PRTR2DQ2.js +0 -1
  224. package/dist/chunk-QNONOO4F.js +0 -4
  225. package/dist/chunk-RHQW3DTP.js +0 -1
  226. package/dist/chunk-T4YR4RAI.js +0 -2
  227. package/dist/chunk-Y45WZR5N.js +0 -5
  228. package/dist/chunk-YJZOMRAS.js +0 -1
  229. package/dist/pipeline-TQM43A3K.js +0 -5
  230. package/dist/platform-capabilities-2B4QMZXE.js +0 -1
  231. package/dist/workspace-NCWRINEF.js +0 -1
  232. package/dist/workspace-archive-P76EDIUG.js +0 -10
  233. package/dist/workspace-contract-TU2I7GC2.js +0 -1
  234. package/dist/workspace-dependency-graph-BP4EXYQ5.js +0 -1
  235. package/dist/workspace-explain-MWUEN643.js +0 -1
  236. package/dist/workspace-explain-contract-ZPI3JXJU.js +0 -1
  237. package/dist/workspace-intelligence-MFJE7W67.js +0 -1
  238. package/dist/workspace-intelligence-runner-THYLHHMF.js +0 -1
  239. package/dist/workspace-mcp-serve-EZR6O76D.js +0 -3
  240. package/dist/workspace-model-7OU2M3LE.js +0 -1
  241. package/dist/workspace-model-hash-MHXK5MEI.js +0 -1
  242. package/dist/workspace-run-RLIYSOTN.js +0 -1
  243. package/dist/workspace-watch-3BPGLFLB.js +0 -1
@@ -1,11 +1,14 @@
1
1
  # Workspai Practical User Scenarios (Open Source Edition)
2
2
 
3
- Practical workflows for OSS teams using the npm CLI. Command syntax: [commands-reference.md](./commands-reference.md). Import/adopt details: [workspace-operations.md](./workspace-operations.md).
3
+ This guide shows complete, copyable ways to use Workspai on real projects:
4
+ connect existing code, create new applications, prepare AI context, check
5
+ changes, and use the same results in CI.
4
6
 
5
- All scenarios use the same [Unified Workspace Intelligence Runner](./workspace-intelligence-runner.md):
6
- `sync` and baseline resolution are reported separately from the exact 11-stage
7
- chain. Treat exit `1` as an execution failure and exit `2` as an evidence-blocked
8
- completed run that requires remediation before release.
7
+ Command syntax: [commands-reference.md](./commands-reference.md). Import and
8
+ adopt behavior: [workspace-operations.md](./workspace-operations.md). All
9
+ scenarios use the same
10
+ [Workspace Intelligence runner](./workspace-intelligence-runner.md), so the
11
+ system map, checks, and saved reports stay consistent.
9
12
 
10
13
  ## Scenario 0 — Existing project (adopt or import)
11
14
 
@@ -14,10 +17,10 @@ Goal: connect code you already have without reshuffling repositories.
14
17
  ### Adopt in place (keep source where it is)
15
18
 
16
19
  ```bash
17
- npx workspai adopt /path/to/existing-app --workspace /path/to/workspace --json
18
- cd /path/to/workspace
19
- npx workspai workspace intelligence run --for-agent codex --strict --json
20
20
  cd /path/to/existing-app
21
+ npx workspai adopt . --workspace /path/to/workspace --json
22
+ npx workspai project workspace status --json
23
+ npx workspai workspace intelligence run --for-agent generic --strict --json
21
24
  npx workspai doctor project --json
22
25
  ```
23
26
 
@@ -78,7 +81,7 @@ release or agent input:
78
81
 
79
82
  ```bash
80
83
  cd ..
81
- npx workspai workspace intelligence run --for-agent codex --strict --json
84
+ npx workspai workspace intelligence run --for-agent generic --strict --json
82
85
  ```
83
86
 
84
87
  The canonical durable outputs are `.workspai/reports/workspace-model.json`,
@@ -88,6 +91,11 @@ The canonical durable outputs are `.workspai/reports/workspace-model.json`,
88
91
  Use `npx workspai pipeline --json --strict` separately as the broader governance
89
92
  and release gate.
90
93
 
94
+ The model is the canonical workspace boundary. The Knowledge Graph is generated
95
+ from that model-owned inventory, structurally hash-bound to it, and enriched
96
+ with provider facts and proofs. Consumers must not treat the graph as a second
97
+ source of truth.
98
+
91
99
  Success check: the application starts locally, project Doctor reports the
92
100
  expected runtime, and the unified run report contains all 11 ordered stages.
93
101
 
@@ -197,7 +205,7 @@ loading every source file or the complete graph into a model prompt.
197
205
 
198
206
  ```bash
199
207
  cd my-workspace
200
- npx workspai workspace intelligence run --for-agent codex --strict --json
208
+ npx workspai workspace intelligence run --for-agent generic --strict --json
201
209
  npx workspai workspace graph search "authentication endpoint" --limit 12 --json
202
210
  npx workspai workspace graph benchmark "authentication endpoint" --limit 12 --json
203
211
  npx workspai workspace mcp serve
package/docs/README.md CHANGED
@@ -1,29 +1,64 @@
1
1
  # Workspai NPM — Documentation Index
2
2
 
3
- Hub for user and contributor documentation. Start with the [main README](../README.md) for install and quickstarts.
3
+ Workspai helps people and tools understand the same software system. Use these
4
+ guides to connect existing projects, create new ones, map their relationships,
5
+ check changes, prepare AI context, and automate release checks.
4
6
 
5
- `workspai` is the canonical package and command; `wspai` is only an optional
6
- short `npx` alias. Install with `npm install -g workspai`, or run the current
7
- release with `npx workspai@latest --help`.
7
+ Start with the [main README](../README.md) for the product overview, or use the
8
+ quickstart below. `workspai` is the main package and command; `wspai` is only a
9
+ shorter optional name.
8
10
 
9
- ## Canonical quickstart
11
+ ## Quickstart: connect an existing project
12
+
13
+ Connect an existing project without moving it, then create one saved,
14
+ checkable view for developers, CI, IDEs, MCP clients, and AI agents:
15
+
16
+ ```bash
17
+ cd /absolute/path/to/project
18
+ npx workspai adopt .
19
+ ```
20
+
21
+ `adopt` keeps the project in place and creates or reuses the minimal default
22
+ workspace. Continue from the same project terminal:
10
23
 
11
24
  ```bash
12
- npx workspai adopt /path/to/project --json
13
- cd ~/.workspai/workspaces/workspai
14
- npx workspai workspace intelligence run --for-agent codex --strict --json
25
+ npx workspai project workspace status --json
26
+ npx workspai workspace intelligence run --for-agent generic --strict --json
15
27
  ```
16
28
 
17
- The broader governance/release pipeline is a separate gate:
29
+ The first command proves which canonical workspace owns the project. Workspai
30
+ uses a gitignored machine-local binding and portable project grounding, so
31
+ workspace commands and compatible agents do not need a manual `cd`.
32
+
33
+ Use `generic` for a vendor-neutral context pack, or select `codex`, `claude`,
34
+ `cursor`, or `orca`. Agent Sync also publishes shared files for GitHub Copilot,
35
+ VS Code, and `AGENTS.md` consumers.
36
+
37
+ Use the release pipeline when you need the broader release workflow:
18
38
 
19
39
  ```bash
20
40
  npx workspai pipeline --json --strict
21
41
  ```
22
42
 
23
- Adoption keeps source in place. The runner preserves contract order and writes
24
- the authoritative `.workspai/reports/workspace-intelligence-run-last-run.json`
25
- result alongside the model, agent context, report index, and generated
26
- instructions; see the [Artifact Catalog](./contracts/ARTIFACT_CATALOG.md).
43
+ Adoption keeps source in place. The command maps the system and its
44
+ connections, checks what changes may affect, runs health and release checks,
45
+ and prepares focused AI context under `.workspai/`. When the workspace is not
46
+ ready, the report shows the reason and points to the files or reports behind
47
+ it. Automation details and supported AI tools are documented in the
48
+ [Unified runner](./workspace-intelligence-runner.md). See the
49
+ [Artifact Catalog](./contracts/ARTIFACT_CATALOG.md) for exact paths, writers,
50
+ schemas, and consumers.
51
+
52
+ To start with a new workspace instead:
53
+
54
+ ```bash
55
+ npx workspai create workspace my-workspace --profile minimal --yes
56
+ cd ~/.workspai/workspaces/my-workspace
57
+ npx workspai create project nextjs web --yes
58
+ ```
59
+
60
+ From the workspace terminal, create a project, use `adopt` to link one in place,
61
+ or use `import` to copy or clone one into the workspace.
27
62
 
28
63
  ## Table of contents
29
64
 
@@ -83,7 +118,7 @@ with [AI Quickstart](./AI_QUICKSTART.md) only when that is your goal.
83
118
  - Create a workspace or project: [creating-workspaces-and-projects.md](./creating-workspaces-and-projects.md)
84
119
  - Adopt an existing repo: [workspace-operations.md#import-and-adoption](./workspace-operations.md#import-and-adoption)
85
120
  - Scaffold a frontend app: [commands-reference.md](./commands-reference.md) (`create project nextjs <name>`)
86
- - Canonical intelligence gate: `workspace intelligence run --for-agent codex --strict --json`
121
+ - Canonical intelligence gate: `workspace intelligence run --for-agent generic --strict --json`
87
122
  - Broader CI release gate: [commands-reference.md](./commands-reference.md) (`pipeline`, `readiness`)
88
123
  - Targeted model/context inspection — schemas in [contracts/workspace-intelligence/](../contracts/workspace-intelligence/)
89
124
 
@@ -58,14 +58,22 @@ as one undifferentiated command wall.
58
58
  ## Architectural statements that must remain true
59
59
 
60
60
  - The **Workspace Model is the canonical source of truth**.
61
- - The Knowledge Graph is a **derived, revision-bound representation** of
62
- governed workspace knowledge.
61
+ - The Knowledge Graph is a **derived, structurally bound representation** of
62
+ governed workspace knowledge. Its source kind and source artifact are fixed
63
+ to the canonical Workspace Model contract.
63
64
  - Providers emit facts and proofs; they do not independently own the canonical
64
65
  graph.
66
+ - Graph enrichment must not mutate the authorizing model during the same run.
67
+ - The canonical project inventory must reconcile discovered, imported,
68
+ adopted, and contract-declared projects. A missing contract-declared path is
69
+ a validation warning, not a silently deleted project.
70
+ - Persisted current-state consumers must reject a graph whose structural model
71
+ hash, workspace identity, or project topology no longer matches the current
72
+ model.
65
73
  - Missing relationships mean **not proven**, not independent.
66
74
  - The graph is broader than a code graph, but it is not the entire product.
67
75
  - The canonical runner is
68
- `npx workspai workspace intelligence run --for-agent codex --strict --json`.
76
+ `npx workspai workspace intelligence run --for-agent generic --strict --json`.
69
77
  - `pipeline` is a broader governance/release orchestrator and must not be taught
70
78
  as a replacement for the intelligence chain.
71
79
  - The integrated CLI already exposes current capabilities. Future standalone
@@ -74,13 +82,14 @@ as one undifferentiated command wall.
74
82
 
75
83
  Normative machine sources:
76
84
 
77
- | Statement | Source of truth |
78
- | ------------------------------ | ------------------------------------------------------- |
79
- | Ordered intelligence chain | `contracts/workspace-intelligence-chain.v1.json` |
80
- | Runtime commands and flags | `contracts/runtime-command-surface.v1.json` |
81
- | Published schemas and paths | `contracts/published-contract-catalog.v1.json` |
82
- | Architecture boundaries | `contracts/workspace-intelligence-architecture.v1.json` |
83
- | Artifact writers and consumers | `docs/contracts/ARTIFACT_CATALOG.md` |
85
+ | Statement | Source of truth |
86
+ | ------------------------------ | -------------------------------------------------------------------- |
87
+ | Ordered intelligence chain | `contracts/workspace-intelligence-chain.v1.json` |
88
+ | Runtime commands and flags | `contracts/runtime-command-surface.v1.json` |
89
+ | Published schemas and paths | `contracts/published-contract-catalog.v1.json` |
90
+ | Architecture boundaries | `contracts/workspace-intelligence-architecture.v1.json` |
91
+ | Model → Graph source binding | `contracts/workspace-intelligence/workspace-knowledge-graph.v1.json` |
92
+ | Artifact writers and consumers | `docs/contracts/ARTIFACT_CATALOG.md` |
84
93
 
85
94
  Markdown summarizes these contracts; it does not redefine them.
86
95
 
@@ -12,9 +12,9 @@ Map of GitHub Actions workflows in this repository. Use this when editing CI to
12
12
  | E2E smoke | `.github/workflows/e2e-smoke.yml` | Focused bridge regression smoke |
13
13
  | Frontend generator smoke | `.github/workflows/frontend-generator-smoke.yml` | Official frontend generator drift gate |
14
14
  | Security | `.github/workflows/security.yml` | Security scanning and policy checks |
15
- | Manual npm release | `.github/workflows/release-npm-manual.yml` | Maintainer-only release gate and publish workflow |
15
+ | Manual npm release | `.github/workflows/release-npm-manual.yml` | Maintainer-only release gate and publish workflow |
16
16
  | Contributor onboarding | `.github/workflows/contributor-onboarding.yml` | Accepted-contributor onboarding automation |
17
- | Welcome | `.github/workflows/welcome.yml` | First-issue and first-contribution messages |
17
+ | Welcome | `.github/workflows/welcome.yml` | First-issue and first-contribution messages |
18
18
 
19
19
  The release workflow requires `Frontend Generator Smoke` for the exact release
20
20
  SHA. Maintainers must dispatch that workflow against the intended release ref
@@ -29,7 +29,7 @@ For Workspai **consumer workspaces** (not this CLI repo), use the copy-paste tem
29
29
  Minimal job:
30
30
 
31
31
  ```yaml
32
- - run: npx workspai workspace intelligence run --for-agent codex --strict --json
32
+ - run: npx workspai workspace intelligence run --for-agent generic --strict --json
33
33
  - run: npx workspai pipeline --json --strict --no-agent-sync
34
34
  - run: node ./node_modules/workspai/scripts/check-agent-customization-drift.mjs --workspace .
35
35
  ```
@@ -8,7 +8,7 @@ Complete CLI syntax for the Workspai CLI. For behavior and workflows, see [works
8
8
  npx workspai create # Prompts: workspace | project
9
9
  npx workspai create workspace <name> [--profile <profile>] [--yes] [--here|--output <parent-dir>] [--skip-python-engine] [--skip-git] [--dry-run] [--install-method <poetry|venv|pipx>]
10
10
  npx workspai bootstrap [--profile <profile>] [--ci] [--json] [--compliance-only]
11
- npx workspai setup <python|node|go|java|dotnet> [--warm-deps]
11
+ npx workspai setup <python|node|go|java|dotnet|rust|php> [--warm-deps]
12
12
  npx workspai pipeline [--json] [--strict] [--skip-verify] [--skip-analyze] [--skip-autopilot] [--autopilot-mode <audit|safe-fix|enforce>] [--agent-sync|--no-agent-sync]
13
13
  npx workspai analyze [--workspace <path>] [--json] [--strict] [--output <file>]
14
14
  npx workspai readiness [--workspace <path>] [--json] [--strict] [--skip-verify]
@@ -18,7 +18,7 @@ npx workspai autopilot release [--mode <audit|safe-fix|enforce>] [--json] [--out
18
18
  Recommended CI:
19
19
 
20
20
  ```bash
21
- npx workspai workspace intelligence run --for-agent codex --strict --json
21
+ npx workspai workspace intelligence run --for-agent generic --strict --json
22
22
  ```
23
23
 
24
24
  Run the broader governance and release orchestrators as separate gates; they
@@ -49,6 +49,7 @@ npx workspai workspace policy set <key> <value>
49
49
  npx workspai doctor
50
50
  npx workspai doctor workspace [--json] [--strict] [--ci] [--fix] [--plan] [--apply]
51
51
  npx workspai doctor project [--json] [--strict] [--ci] [--fix] [--plan] [--apply]
52
+ npx workspai project coverage [--project <path>] [--target <0-100>] [--run] [--strict] [--json]
52
53
  npx workspai workspace list
53
54
  npx workspai workspace foundation ensure [--force] [--json]
54
55
  npx workspai workspace share [--output <file>] [--include-paths] [--no-doctor]
@@ -59,7 +60,7 @@ npx workspai workspace contract graph [--json]
59
60
  npx workspai workspace intelligence run [--workspace <path>] [--for-agent <agent>] [--strict] [--json]
60
61
  npx workspai workspace model [--workspace <path>] [--json] [--write] [--strict] [--cache] [--incremental] [--include-paths] [--include-evidence] [--scan-depth <count>]
61
62
  npx workspai workspace context --for-agent [codex|claude|cursor|orca] [--workspace <path>] [--json] [--write] [--agent-sync|--no-agent-sync] [--target <targets>] [--preset minimal|enterprise] [--include-evidence] [--scan-depth <count>]
62
- npx workspai workspace agent-sync [--workspace <path>] [--write] [--refresh-context] [--strict] [--json] [--preset minimal|enterprise] [--target all|vscode|agents,copilot,cursor,claude,codex,orca] [--experimental-hooks] [--hydrate-prompts]
63
+ npx workspai workspace agent-sync [--workspace <path>] [--write] [--refresh-context] [--strict] [--json] [--preset minimal|enterprise] [--target all|vscode|agents,copilot,cursor,claude,codex,orca] [--project-grounding managed|local|off] [--experimental-hooks] [--hydrate-prompts]
63
64
  npx workspai workspace remediation-plan [--json] [--write] [--ci] [--include-paths]
64
65
  npx workspai workspace snapshot [--workspace <path>] [--json] [--include-paths] [--include-evidence] [--scan-depth <count>]
65
66
  npx workspai workspace diff --from <snapshot-or-report|git[:ref]> [--workspace <path>] [--json] [--include-paths] [--include-evidence] [--scan-depth <count>] [--strict]
@@ -67,7 +68,7 @@ npx workspai workspace impact --from <workspace-diff-report> [--workspace <path>
67
68
  npx workspai workspace verify [--from-impact <file>] [--workspace <path>] [--scope project:<name>] [--strict] [--json] [--include-paths] [--include-evidence] [--scan-depth <count>]
68
69
  npx workspai workspace graph [emit|explain|search|benchmark|entities|evidence|path|overlay|dot|mermaid|jsonld|graphml|gexf] [key] [value] [--from <graph.json>] [--output <file>] [--limit <1..100>] [--workspace <path>] [--scope project:<name>] [--json] [--include-paths] [--include-evidence] [--scan-depth <count>]
69
70
  npx workspai workspace eval [init <task> [strategy]|record|status|report|compare --from <report>] [--workspace <path>] [--output <file>] [--json]
70
- npx workspai workspace watch [--workspace <path>] [--json] [--once] [--scan-depth <count>]
71
+ npx workspai workspace watch [--workspace <path>] [--json] [--graph-stream] [--once] [--scan-depth <count>]
71
72
  npx workspai workspace explain|why <target> [--workspace <path>] [--json] [--write]
72
73
  npx workspai workspace trace --from <workspace-diff-report> [--workspace <path>] [--json] [--write]
73
74
  printf '%s\n' '{"actionId":"fix-api","summary":"API tests passed","outcome":"ok"}' | npx workspai workspace feedback record [--workspace <path>] --json
@@ -77,8 +78,10 @@ npx workspai workspace archive inspect team-workspace.workspai-archive.zip [--ma
77
78
  npx workspai workspace archive verify team-workspace.workspai-archive.zip [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>] [--allow-private-network] [--strict] [--json]
78
79
  npx workspai workspace archive doctor team-workspace.workspai-archive.zip [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>] [--allow-private-network] [--strict] [--json]
79
80
  npx workspai workspace hydrate team-workspace.workspai-archive.zip --output ./team-workspace [--max-download-size <size>] [--max-expanded-size <size>] [--download-timeout-ms <ms>] [--allow-private-network]
80
- npx workspai import <path|git-url> [--workspace <path>] [--name <project-name>] [--git] [--enable-modules] [--json]
81
- npx workspai adopt [path] [--workspace <path>] [--name <project-name>] [--enable-modules] [--dry-run] [--json]
81
+ npx workspai workspace import team-workspace.workspai-archive.zip --output ./team-workspace [--project-grounding managed|local|off] [--dry-run] [--strict] [--json]
82
+ npx workspai workspace connect [directory] [--project-grounding managed|local|off] [--dry-run] [--json]
83
+ npx workspai import <path|git-url> [--workspace <path>] [--name <project-name>] [--git] [--enable-modules] [--project-grounding managed|local|off] [--json]
84
+ npx workspai adopt [path] [--workspace <path>] [--name <project-name>] [--enable-modules] [--project-grounding managed|local|off] [--dry-run] [--json]
82
85
  npx workspai snapshot create [name] [--include-projects] [--reason <text>] [--json]
83
86
  npx workspai snapshot list [--json]
84
87
  npx workspai snapshot inspect <name> [--json]
@@ -87,6 +90,7 @@ npx workspai project archive <name> [--reason <text>] [--dry-run] [--json]
87
90
  npx workspai project archives [--json]
88
91
  npx workspai project restore <archive> [--name <project-name>] [--force] [--dry-run] [--json]
89
92
  npx workspai project delete <name> [--permanent --confirm <name>] [--dry-run] [--json]
93
+ npx workspai project workspace [status|relink] [--workspace <path>] [--project <path>] [--json]
90
94
  npx workspai workspace init
91
95
  npx workspai workspace run <init|test|build|start> [--affected] [--blast-radius] [--since <ref>] [--parallel] [--max-workers <n>] [--strict] [--json]
92
96
  npx workspai infra plan [--workspace <path>] [--json] [--dry-run] [--verbose]
@@ -95,6 +99,17 @@ npx workspai infra down [--workspace <path>] [--volumes]
95
99
  npx workspai infra status [--workspace <path>] [--json] [--strict]
96
100
  ```
97
101
 
102
+ Every workspace action has action-scoped help generated from the same contract
103
+ that governs its accepted flags. For example:
104
+
105
+ ```bash
106
+ npx workspai workspace impact --help
107
+ npx workspai workspace graph search --help
108
+ ```
109
+
110
+ This avoids guessing whether an option such as `--write`, `--from`, or
111
+ `--output` belongs to a particular action.
112
+
98
113
  The contract graph includes its backward-compatible service projection, the
99
114
  canonical `workspace-dependency-graph.v1` project topology, and the portable
100
115
  `workspace-knowledge-graph.v1` evidence graph. The knowledge projection covers
@@ -138,6 +153,12 @@ per immutable graph object and invalidated automatically when a new graph is
138
153
  built. `dot` and `mermaid` intentionally remain project-topology renderers and
139
154
  emit raw text for direct piping.
140
155
 
156
+ Every integrated `workspace graph` Knowledge Graph is derived from the
157
+ canonical Workspace Model. Its contract fixes the source artifact to
158
+ `.workspai/reports/workspace-model.json` and binds the graph to the model's
159
+ stable structural SHA-256. Graph providers enrich that model-owned inventory;
160
+ they never write facts back into the authorizing model during the same run.
161
+
141
162
  `workspace graph search <query> --limit <n> --json` returns bounded entities,
142
163
  one-hop relations, related entity summaries, and portable proofs instead of the
143
164
  complete graph. `workspace graph benchmark <query> --limit <n> --json` compares
@@ -190,9 +211,11 @@ Workspace profile compatibility is enforced consistently across `create project`
190
211
  `import`, `adopt`, and `bootstrap` compliance. In default `warn` policy mode,
191
212
  cross-runtime additions are allowed with a recommendation such as
192
213
  `npx workspai bootstrap --profile polyglot`; in `strict` mode, mismatches are
193
- blocked before the project is registered. Observed runtimes such as Rust, C,
194
- and C++ are counted in the workspace runtime mix even when Workspai does not own
195
- a native scaffold for them.
214
+ blocked before the project is registered. Rust is an extended runtime with
215
+ Axum/Tauri scaffolding and Cargo lifecycle support. PHP is extended through
216
+ Laravel and Composer lifecycle support. Observed runtimes such as C and C++ are
217
+ still counted in the workspace runtime mix even when Workspai does not own a
218
+ native scaffold for them.
196
219
 
197
220
  Core module/template commands are intentionally narrower than runtime detection.
198
221
  RapidKit Core modules are guaranteed only for RapidKit Core module-enabled kits:
@@ -223,6 +246,10 @@ Examples:
223
246
  ```bash
224
247
  npx workspai create project fastapi.standard my-api --yes
225
248
  npx workspai create project nextjs my-web --yes
249
+ npx workspai create project rust.axum my-rust-api --yes
250
+ npx workspai create project desktop.tauri my-desktop-app --yes
251
+ npx workspai create project extension.vscode my-extension --yes
252
+ npx workspai create project php.laravel my-laravel-api --yes
226
253
  ```
227
254
 
228
255
  Generator-specific options include `--port`, Spring Boot
@@ -232,7 +259,11 @@ and .NET `--dotnet-version`/`--target-framework`/`--nullable`. Use
232
259
 
233
260
  `create frontend <id> <name>` is still accepted and routes to the same generators.
234
261
 
235
- `project commands` shows the effective command contract for the current project. Core-backed FastAPI/NestJS projects can use module commands such as `add` and `modules`. Frontend apps, Go, Spring Boot, .NET, and adopted/imported repositories use runtime lifecycle commands and workspace governance while Core module mutation remains disabled.
262
+ `project commands` shows the effective command contract for the current project.
263
+ Core-backed FastAPI/NestJS projects can use module commands such as `add` and
264
+ `modules`. Frontend, desktop, extension, Go, Spring Boot, .NET, Rust, PHP, and
265
+ adopted/imported projects use runtime lifecycle commands and workspace
266
+ governance while Core module mutation remains disabled.
236
267
 
237
268
  ## Operations
238
269
 
@@ -20,6 +20,28 @@ The canonical `.workspai-workspace` marker must remain trackable. Generated
20
20
  workspace `.gitignore` files exclude legacy/local engine state but do not
21
21
  exclude the canonical marker.
22
22
 
23
+ ## Project entry and grounding
24
+
25
+ These paths are relative to each registered project root, not the workspace
26
+ root:
27
+
28
+ | Artifact | Writer | Schema / format | Portability and reader purpose |
29
+ | --- | --- | --- | --- |
30
+ | `.workspai/workspace-link.local.json` | `adopt`, `import`, project creation, `workspace sync`, `project workspace relink` | `project-workspace-link.v1` | Machine-local absolute binding; always gitignored and never an agent evidence payload |
31
+ | `.workspai/reports/project-context-agent.json` | Project lens reconciliation and `workspace agent-sync --write` | `project-context-agent.v1` | Portable bounded model/graph/proof projection for project-local agents |
32
+ | `.workspai/PROJECT-GROUNDING.md` | Project lens reconciliation | Markdown | Portable human/agent entry guide with path-free workspace references |
33
+ | `AGENTS.md` managed section | Project lens reconciliation in `managed` mode | Managed Markdown block | Preserves user content and routes compatible agents to project/workspace evidence |
34
+
35
+ The project link is validated against the canonical workspace contract and a
36
+ SHA-256 binding over workspace identity, project identity, portable relative
37
+ path, machine paths, and relationship. Project context generation rejects
38
+ absolute paths before writing. `managed`, `local`, and `off` grounding modes
39
+ control portable project surfaces and converge by removing stale managed
40
+ sections and ignore rules during transitions; they never make the
41
+ machine-local link publishable. The context is bounded but not count-only: it
42
+ includes topology, API/deployment/test surfaces, blockers, portable proofs,
43
+ and model/graph freshness for the selected project.
44
+
23
45
  ## Naming conventions
24
46
 
25
47
  | Pattern | Meaning | Examples |
@@ -30,18 +52,19 @@ exclude the canonical marker.
30
52
 
31
53
  ## Governance evidence loop
32
54
 
33
- | Command | Primary artifact | Schema version | JSON Schema |
34
- | ------------------------------------ | ----------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------ |
35
- | `doctor workspace` | `.workspai/reports/doctor-last-run.json` | `doctor-workspace-evidence-v1` | `contracts/doctor-workspace-evidence.v1.json` |
36
- | `doctor project` | `.workspai/reports/doctor-project-last-run.json` | `doctor-project-evidence-v1` | `contracts/doctor-project-evidence.v1.json` |
37
- | `doctor * --plan` | `.workspai/reports/doctor-remediation-plan-last-run.json` | `doctor-remediation-plan-v2` | `contracts/doctor-remediation-plan.v2.json` |
38
- | `doctor * --fix/--apply` | `.workspai/reports/doctor-fix-result-last-run.json` | `rapidkit-doctor-fix-result-v1` | `contracts/workspace-intelligence/doctor-fix-result.v1.json` |
39
- | `workspace remediation-plan --write` | `.workspai/reports/artifact-remediation-plan-last-run.json` | `artifact-remediation-plan-v1` | `contracts/artifact-remediation-plan.v1.json` |
40
- | `analyze` | `.workspai/reports/analyze-last-run.json` | `rapidkit-analyze-v1` | `contracts/analyze-last-run.v1.json` |
41
- | `readiness` | `.workspai/reports/release-readiness-last-run.json` | `release-readiness-v1` | `contracts/release-readiness.v1.json` |
42
- | `pipeline` | `.workspai/reports/pipeline-last-run.json` | `rapidkit-pipeline-v1` | `contracts/pipeline-last-run.v1.json` |
43
- | `autopilot release` | `.workspai/reports/autopilot-release-last-run.json` | `autopilot-release-v1` | `contracts/autopilot-release.v1.json` |
44
- | | `.workspai/reports/autopilot-release.json` | (alias, same payload) | `contracts/autopilot-release.v1.json` |
55
+ | Command | Primary artifact | Schema version | JSON Schema |
56
+ | ------------------------------------ | ----------------------------------------------------------- | ----------------------------------- | ------------------------------------------------------------ |
57
+ | `doctor workspace` | `.workspai/reports/doctor-last-run.json` | `doctor-workspace-evidence-v1` | `contracts/doctor-workspace-evidence.v1.json` |
58
+ | `doctor project` | `.workspai/reports/doctor-project-last-run.json` | `doctor-project-evidence-v1` | `contracts/doctor-project-evidence.v1.json` |
59
+ | `project coverage` | `.workspai/reports/project-test-coverage-last-run.json` | `workspai.project-test-coverage.v1` | `contracts/project-test-coverage.v1.json` |
60
+ | `doctor * --plan` | `.workspai/reports/doctor-remediation-plan-last-run.json` | `doctor-remediation-plan-v2` | `contracts/doctor-remediation-plan.v2.json` |
61
+ | `doctor * --fix/--apply` | `.workspai/reports/doctor-fix-result-last-run.json` | `rapidkit-doctor-fix-result-v1` | `contracts/workspace-intelligence/doctor-fix-result.v1.json` |
62
+ | `workspace remediation-plan --write` | `.workspai/reports/artifact-remediation-plan-last-run.json` | `artifact-remediation-plan-v1` | `contracts/artifact-remediation-plan.v1.json` |
63
+ | `analyze` | `.workspai/reports/analyze-last-run.json` | `rapidkit-analyze-v1` | `contracts/analyze-last-run.v1.json` |
64
+ | `readiness` | `.workspai/reports/release-readiness-last-run.json` | `release-readiness-v1` | `contracts/release-readiness.v1.json` |
65
+ | `pipeline` | `.workspai/reports/pipeline-last-run.json` | `rapidkit-pipeline-v1` | `contracts/pipeline-last-run.v1.json` |
66
+ | `autopilot release` | `.workspai/reports/autopilot-release-last-run.json` | `autopilot-release-v1` | `contracts/autopilot-release.v1.json` |
67
+ | | `.workspai/reports/autopilot-release.json` | (alias, same payload) | `contracts/autopilot-release.v1.json` |
45
68
 
46
69
  Side/cache (not gates): `.workspai/reports/doctor-workspace-cache.json` (`doctor-workspace-cache-v2`).
47
70
 
@@ -64,11 +87,13 @@ this plan before inventing per-card repair logic. The plan carries ordered actio
64
87
  operations where deterministic, refresh/verify commands, risk, approval state, and rollback
65
88
  strategy.
66
89
 
67
- When `doctor project` runs inside a workspace, the workspace report remains the canonical
68
- governance artifact and Doctor mirrors `doctor-project-last-run.json`,
69
- `doctor-remediation-plan-last-run.json`, and `doctor-fix-result-last-run.json` into the scoped
70
- project's `.workspai/reports/` directory. This keeps Studio, agents, and project-local operators on
71
- the same evidence without losing the workspace source of truth.
90
+ When `doctor project` runs inside a workspace, the project-local report is written beside the
91
+ project and the workspace receives both a latest alias and a collision-safe project copy under
92
+ `.workspai/reports/projects/<project-slug>--<identity-hash>/`. Coverage evidence follows the same
93
+ three-location rule. The hash is derived from workspace-relative identity, so projects with the
94
+ same folder name cannot overwrite each other. Remediation plans and fix results are also mirrored
95
+ into the scoped project. Studio, CI, and project-local tools can therefore use the same evidence
96
+ without guessing which project produced a latest alias.
72
97
 
73
98
  ## Workspace intelligence
74
99
 
@@ -108,10 +133,14 @@ status/exit coherence, hard-failure skip propagation, and the aggregate verdict.
108
133
  See [Unified Workspace Intelligence Runner](../workspace-intelligence-runner.md)
109
134
  for the normative user and integration semantics.
110
135
 
111
- `workspace-model.json` and `workspace-knowledge-graph.json` are published as one
112
- recoverable artifact transaction. The graph carries a SHA-256 `source` binding
113
- to the canonical model, so consumers must reject a graph whose source hash does
114
- not equal the current structural model hash.
136
+ `workspace-model.json` and `workspace-knowledge-graph.json` are published under
137
+ one workspace lock as a rollback-capable artifact transaction. Individual file
138
+ replacement is atomic, and a partial set failure restores both preimages. The
139
+ model is canonical; the graph is derived and cannot mutate it during the run.
140
+ The graph contract fixes `source.kind` to `workspace-model`,
141
+ `source.artifact` to `.workspai/reports/workspace-model.json`, and `source.hash`
142
+ to the model's stable structural SHA-256. Current-state consumers must reject a
143
+ graph whose binding does not match the current model.
115
144
 
116
145
  `workspace graph jsonld|graphml|gexf --output <path>` creates explicit interchange
117
146
  projections from that bound graph. These files are portable exports, not competing
@@ -150,11 +179,13 @@ sources: package manifests (`package.json` deps, `pyproject.toml` path deps, `go
150
179
  replace → `package-dep`), cross-boundary JS/TS source imports (`code-import`), the
151
180
  workspace contract (`dependsOn` → `service-dependsOn`, matched `publishes`/`consumes`
152
181
  → `event-pub-sub`, env↔port references → `shared-resource`), and an optional manual
153
- override file. Node/edge ordering and `hashDependencyGraph` are stable, so the graph is
154
- embedded as a first-class field of `workspace-model.v1` (`model.graph`) on every
155
- `buildWorkspaceModel` run; `hashModel` normalizes the embedded `graph.generatedAt` so the
156
- structural graph participates in the model hash without causing timestamp drift.
157
- (`model.graph` is additive/optional for pre-graph readers.)
182
+ override file. Node/edge ordering and `hashDependencyGraph` are stable, so the compact
183
+ topology is embedded as the canonical `workspace-model.v1.projectTopology` field on every
184
+ `buildWorkspaceModel` run. `hashWorkspaceModel` normalizes
185
+ `projectTopology.generatedAt`, so the structural topology participates in the model hash
186
+ without causing timestamp drift. During the v1 migration window the CLI also emits the
187
+ deprecated `graph` compatibility alias. Consumers must read `projectTopology`; when both
188
+ fields exist, validation requires them to be structurally identical.
158
189
 
159
190
  **Manual overrides.** `.workspai/workspace-graph.overrides.json` (`{ "edges": [{ "from",
160
191
  "to", "kind", "evidence" }] }`) declares authoritative edges that win over inference for
@@ -191,6 +222,12 @@ on each settled change, driven by graph-aware incremental rebuilds. Events carry
191
222
  removed projects, graph edge deltas, structural `modelHash`, and `mode`/`durationMs`. Canonical
192
223
  source: `src/workspace-watch.ts`.
193
224
 
225
+ Use `workspace watch --graph-stream --json` for the transport-neutral
226
+ `workspace-graph-stream.v1` feed consumed by IDEs. The first line is an
227
+ authoritative snapshot; subsequent lines are hash-linked, revisioned deltas.
228
+ Consumers must request a new snapshot after any revision, identity, generation,
229
+ schema, validation, or hash-continuity failure.
230
+
194
231
  **Health/impact history.** Each `workspace verify` run appends a compact record to
195
232
  `.workspai/reports/workspace-intelligence-history.json` (`workspace-intelligence-history.v1`),
196
233
  a ring buffer capped at the 50 most-recent entries (verdict, risk, freshness, gate, counts).
@@ -239,6 +276,14 @@ reused and the dependency graph re-infers only edges incident to changed project
239
276
  changes or project renames, and rescans code-imports fully when the node set changes. Reported
240
277
  modes: `full` / `incremental` / `unchanged`.
241
278
 
279
+ The model command adds a non-structural `build` object to its JSON output and,
280
+ when `--write` is used, to the persisted model result. `mode`, `outcome`, and
281
+ `engineStatus` tell IDE/CI consumers
282
+ whether the result was rebuilt, partially reused, or fully reused. This
283
+ provenance is deliberately excluded from the canonical workspace-model hash,
284
+ so switching between full, cached, and incremental execution cannot make the
285
+ paired knowledge graph appear stale.
286
+
242
287
  ### Freshness metadata (`rapidkit-freshness-metadata-v1`)
243
288
 
244
289
  Intelligence reports carry a shared freshness envelope so any consumer (CLI
@@ -356,7 +401,7 @@ canonical file. Legacy files remain readable during the compatibility window.
356
401
  ## Consumer rules
357
402
 
358
403
  1. **Project count:** read `workspace-registry.v1.json` (or run `workspace registry status --json`).
359
- 2. **Workspace Intelligence chain:** run `workspace intelligence run --for-agent codex --strict --json` to preserve Model → Diff → Impact → Doctor + Contract Verify + Analyze → Readiness → Verify → Context → Agent Sync → Explain. `pipeline` is the broader governance/release orchestrator and `autopilot` is a separate release surface; neither redefines the canonical chain. Use `pipeline-last-run.json` only for the pipeline orchestration summary.
404
+ 2. **Workspace Intelligence chain:** run `workspace intelligence run --for-agent generic --strict --json` to preserve Model → Diff → Impact → Doctor + Contract Verify + Analyze → Readiness → Verify → Context → Agent Sync → Explain. `pipeline` is the broader governance/release orchestrator and `autopilot` is a separate release surface; neither redefines the canonical chain. Use `pipeline-last-run.json` only for the pipeline orchestration summary.
360
405
  3. **Do not** use `workspace.json.projects` (removed in schema 1.0).
361
406
  4. Prefer `schemaVersion` constants in each artifact; legacy `v1` on readiness is accepted when reading old reports.
362
407
  5. **Agent retrieval:** start with `AGENTS.md` and `.workspai/reports/INDEX.json`, then use `workspace graph search <query> --limit <n> --json` or MCP `searchWorkspaceGraph` for question-sized facts. Follow returned proof paths to source evidence. Read the full context, model, or graph only when the bounded result is insufficient.
@@ -58,10 +58,12 @@ These nested Commander commands are implemented and orchestrated by Workspai CLI
58
58
  - `product manifest create`
59
59
  - `product plan`
60
60
  - `project commands`
61
+ - `project coverage`
61
62
  - `project archives`
62
63
  - `project archive`
63
64
  - `project restore`
64
65
  - `project delete`
66
+ - `project workspace`
65
67
  - `snapshot create`
66
68
  - `snapshot inspect`
67
69
  - `snapshot list`
@@ -18,9 +18,9 @@ It separates three concerns:
18
18
  | Go | extended | yes | yes | init, dev, start, build, test, lint, format, help | no | readiness |
19
19
  | Java / Spring Boot | extended | yes | yes | init, dev, start, build, test, lint, format, help | no | readiness |
20
20
  | .NET / ASP.NET Core | extended | yes | yes | init, dev, start, build, test, lint, format, help | no | readiness |
21
- | PHP | observed | no | yes | help | no | observed |
21
+ | PHP | extended | yes | yes | init, dev, start, build, test, lint, format, help | no | readiness |
22
22
  | Ruby | observed | no | yes | help | no | observed |
23
- | Rust | observed | no | yes | help | no | observed |
23
+ | Rust | extended | yes | yes | init, dev, start, build, test, lint, format, help | no | readiness |
24
24
  | Elixir | observed | no | yes | help | no | observed |
25
25
  | Clojure | observed | no | yes | help | no | observed |
26
26
  | Scala | observed | no | yes | help | no | observed |
@@ -40,7 +40,7 @@ It separates three concerns:
40
40
  | Tier | Frameworks |
41
41
  | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
42
42
  | first-class | FastAPI, NestJS |
43
- | extended | Go/Fiber, Go/Gin, Spring Boot, ASP.NET Core, Django, Flask, Express, Fastify, Koa, Echo, Laravel, Symfony, Rails, Sinatra, Actix, Axum, Rocket, Phoenix, Next.js, Remix, React, Vue, Svelte, Solid, Nuxt, Angular, Astro, SvelteKit |
43
+ | extended | Go/Fiber, Go/Gin, Spring Boot, ASP.NET Core, Django, Flask, Express, Fastify, Koa, Echo, Laravel, Symfony, Rails, Sinatra, Actix, Axum, Rocket, Phoenix, Next.js, Remix, React, Vue, Svelte, Solid, Nuxt, Angular, Astro, SvelteKit, Tauri, Electron, VS Code Extension |
44
44
  | observed | Python, Node.js, Go, Java, PHP, Ruby, Rust, Elixir, Unknown/generic projects |
45
45
 
46
46
  ## Import Policy
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://getrapidkit.com/schemas/rapidkit-cli-contracts.json",
4
- "title": "RapidKit Core CLI Contracts",
3
+ "$id": "https://workspai.dev/schemas/rapidkit-cli-contracts.json",
4
+ "title": "Workspai CLI Contracts (RapidKit Core Compatibility)",
5
5
  "type": "object",
6
6
  "definitions": {
7
7
  "VersionResponse": {