workspai 0.65.0 → 0.67.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 (211) hide show
  1. package/README.md +28 -23
  2. package/contracts/agent-customization-pack.v1.json +4 -2
  3. package/contracts/analyze-last-run.v1.json +9 -1
  4. package/contracts/cli-runtime-command-inventory.v1.snapshot.json +117 -0
  5. package/contracts/extension-cli-compatibility.v1.json +6 -0
  6. package/contracts/published-contract-catalog.v1.json +30 -0
  7. package/contracts/runtime-command-surface.v1.json +100 -2
  8. package/contracts/workspace-activity-board.v1.json +114 -0
  9. package/contracts/workspace-activity-event.v1.json +132 -0
  10. package/contracts/workspace-activity-monitor-fleet.v1.json +18 -0
  11. package/contracts/workspace-activity-monitor-snapshot.v1.json +161 -0
  12. package/contracts/workspace-intelligence/agent-bootstrap-receipt.v1.json +17 -0
  13. package/contracts/workspace-intelligence/mcp-design.v1.json +49 -2
  14. package/contracts/workspace-intelligence/project-agent-entry.v1.json +3 -0
  15. package/contracts/workspace-intelligence/project-context-agent.v1.json +49 -7
  16. package/contracts/workspace-intelligence/project-knowledge-graph-reference.v1.json +51 -0
  17. package/contracts/workspace-intelligence/workspace-intelligence-benchmark.v1.json +196 -0
  18. package/contracts/workspace-intelligence/workspace-knowledge-graph.v1.json +97 -2
  19. package/contracts/workspace-intelligence/workspace-skills-index.v1.json +34 -0
  20. package/contracts/workspace-intelligence-architecture.v1.json +17 -0
  21. package/contracts/workspace-intelligence-chain.v1.json +17 -0
  22. package/dist/analyze-IC2KRVCG.js +1 -0
  23. package/dist/{artifact-remediation-plan-XIQNI35L.js → artifact-remediation-plan-GFFHC2ZU.js} +1 -1
  24. package/dist/autopilot-release-RECEZAZI.js +1 -0
  25. package/dist/capabilities-command-X4WZIJNR.js +1 -0
  26. package/dist/chunk-2LIVMG5C.js +2 -0
  27. package/dist/chunk-2M62CU3O.js +2 -0
  28. package/dist/chunk-2MTJWPQ4.js +1 -0
  29. package/dist/chunk-2MVIRJJR.js +1 -0
  30. package/dist/chunk-2RPFCBS4.js +1 -0
  31. package/dist/chunk-3O7LZPKA.js +4 -0
  32. package/dist/chunk-3OGPTLI2.js +1 -0
  33. package/dist/{chunk-6TBTMWNA.js → chunk-4RV4JVGR.js} +1 -1
  34. package/dist/{chunk-YYQEWAES.js → chunk-4WVOAX2V.js} +1 -1
  35. package/dist/{chunk-N4QQADXX.js → chunk-5EVDW7JM.js} +1 -1
  36. package/dist/{chunk-J3X56S7L.js → chunk-5ME4W4LN.js} +1 -1
  37. package/dist/chunk-5OA33JH2.js +2 -0
  38. package/dist/chunk-5TY74LLW.js +2 -0
  39. package/dist/chunk-6254CWUY.js +49 -0
  40. package/dist/{chunk-D5YJOQYK.js → chunk-6E2Y3XGT.js} +1 -1
  41. package/dist/chunk-ARUFY5W3.js +1 -0
  42. package/dist/chunk-B4IVVTMQ.js +2 -0
  43. package/dist/{chunk-HDNATYW7.js → chunk-BHFRP7TV.js} +1 -1
  44. package/dist/{chunk-KTN2ARZJ.js → chunk-BHM6RHTA.js} +3 -3
  45. package/dist/chunk-BRYJTW6S.js +2 -0
  46. package/dist/{chunk-HCFWT42C.js → chunk-BUYLM6QV.js} +1 -1
  47. package/dist/chunk-CPR2CMOY.js +1 -0
  48. package/dist/{chunk-XGE2FDI4.js → chunk-CZVT7T2X.js} +1 -1
  49. package/dist/chunk-EHCKITR4.js +2 -0
  50. package/dist/chunk-ENZPM52J.js +1 -0
  51. package/dist/chunk-FPDH3N3A.js +7 -0
  52. package/dist/{chunk-PXWKMPPI.js → chunk-FX5J6JCK.js} +1 -1
  53. package/dist/chunk-FY4X2VOE.js +39 -0
  54. package/dist/chunk-GIQ4SDRJ.js +1 -0
  55. package/dist/chunk-H77ZNH5O.js +1 -0
  56. package/dist/{chunk-2RL6RRT2.js → chunk-HQLBO23O.js} +50 -50
  57. package/dist/chunk-HYE5UHPV.js +2 -0
  58. package/dist/{chunk-D65FCQIO.js → chunk-IKUFNK46.js} +1 -1
  59. package/dist/{chunk-WRQWVSBJ.js → chunk-IQQMFRWM.js} +1 -1
  60. package/dist/chunk-JCGSIDMC.js +2 -0
  61. package/dist/chunk-KENOAC2Q.js +13 -0
  62. package/dist/chunk-KQ2TMI26.js +97 -0
  63. package/dist/chunk-L5Q2S5GY.js +3 -0
  64. package/dist/chunk-LPCZHKD5.js +1 -0
  65. package/dist/chunk-N4QFNOAI.js +1 -0
  66. package/dist/chunk-NMXGSVMD.js +1 -0
  67. package/dist/{chunk-GQSRNUCU.js → chunk-NVND4727.js} +3 -3
  68. package/dist/{chunk-W6FHVXNL.js → chunk-OCNPOYMA.js} +1 -1
  69. package/dist/chunk-PSYQ6IJA.js +12 -0
  70. package/dist/{chunk-VRGEPPUB.js → chunk-QMQBX3RV.js} +1 -1
  71. package/dist/{chunk-YUGKQ44M.js → chunk-SLFOUSRW.js} +1 -1
  72. package/dist/chunk-SRLWHOLF.js +1 -0
  73. package/dist/chunk-SVYY55IS.js +157 -0
  74. package/dist/chunk-SX6A656X.js +1 -0
  75. package/dist/{chunk-X6TNBARH.js → chunk-TABXSDTR.js} +2 -2
  76. package/dist/chunk-THIG2YQP.js +681 -0
  77. package/dist/chunk-TP7VKEUF.js +1 -0
  78. package/dist/chunk-U5ENEDJA.js +7 -0
  79. package/dist/chunk-UTV4DTNM.js +1 -0
  80. package/dist/chunk-VI4ZRAY6.js +1 -0
  81. package/dist/chunk-VQZ5PI5J.js +1 -0
  82. package/dist/chunk-VWBMDGPY.js +9 -0
  83. package/dist/chunk-XDPTAV2T.js +2 -0
  84. package/dist/chunk-XWKGZRHN.js +1 -0
  85. package/dist/chunk-Y35VLVF6.js +5 -0
  86. package/dist/{chunk-VYDURWN7.js → chunk-Y4Z6CEII.js} +1 -1
  87. package/dist/chunk-YYY2WXOH.js +1 -0
  88. package/dist/chunk-ZGHJIQXL.js +1 -0
  89. package/dist/chunk-ZI2E7P6O.js +4 -0
  90. package/dist/{create-ALT2ME6H.js → create-72ITVZXV.js} +1 -1
  91. package/dist/{demo-kit-QHIDCSBI.js → demo-kit-5UQH2OXC.js} +1 -1
  92. package/dist/{doctor-RW4R3O5C.js → doctor-CVYUESRQ.js} +1 -1
  93. package/dist/{dotnet-webapi-clean-AVHPJG7Y.js → dotnet-webapi-clean-YEHYIGOT.js} +1 -1
  94. package/dist/{goal-lifecycle-VYOKS6E6.js → goal-lifecycle-H55AGFCB.js} +1 -1
  95. package/dist/goal-pack-6OBZOPCD.js +1 -0
  96. package/dist/{gofiber-standard-47S2GYAO.js → gofiber-standard-C44IIQYH.js} +1 -1
  97. package/dist/{gogin-standard-EWB4XNOI.js → gogin-standard-X7VKACVR.js} +1 -1
  98. package/dist/index.d.ts +20 -2
  99. package/dist/index.js +177 -177
  100. package/dist/live-command-5VXPR43F.js +15 -0
  101. package/dist/{pipeline-U4N2DVD7.js → pipeline-SKYOXWHW.js} +1 -1
  102. package/dist/{project-agent-entry-YAQCHIMP.js → project-agent-entry-5IUBEREI.js} +1 -1
  103. package/dist/project-intelligence-lens-LQCN65P2.js +1 -0
  104. package/dist/{project-test-coverage-4S7MEQ6T.js → project-test-coverage-KD4LLFGV.js} +1 -1
  105. package/dist/{pythonRapidkitExec-VAW5XE4Z.js → pythonRapidkitExec-44ORGQ4R.js} +1 -1
  106. package/dist/{rust-axum-M5X4ZC4Z.js → rust-axum-JKZTZDRZ.js} +1 -1
  107. package/dist/{springboot-standard-Y5ADLZMQ.js → springboot-standard-PI4FLTAN.js} +1 -1
  108. package/dist/verified-goal-HN7G532B.js +1 -0
  109. package/dist/{workspace-HGUZWNAB.js → workspace-5W7FYGDQ.js} +1 -1
  110. package/dist/{workspace-agent-sync-GEN3KBAX.js → workspace-agent-sync-OZCDQORK.js} +1 -1
  111. package/dist/{workspace-archive-ZBCKJHXS.js → workspace-archive-NOSGRKRZ.js} +1 -1
  112. package/dist/{workspace-context-4WIWFW26.js → workspace-context-L65BR5L6.js} +1 -1
  113. package/dist/{workspace-contract-7DXK4GF5.js → workspace-contract-JYHNEJPV.js} +1 -1
  114. package/dist/workspace-explain-SUBK6FLO.js +1 -0
  115. package/dist/workspace-explain-contract-WMREJWHF.js +1 -0
  116. package/dist/{workspace-feedback-RQ4TGJW6.js → workspace-feedback-MWGCT5R2.js} +1 -1
  117. package/dist/{workspace-foundation-J3NNRMI3.js → workspace-foundation-VIB3PXNH.js} +1 -1
  118. package/dist/{workspace-graph-stream-PQI7OGCE.js → workspace-graph-stream-45JHE4MG.js} +1 -1
  119. package/dist/workspace-graph-token-efficiency-NPECU6Y5.js +1 -0
  120. package/dist/{workspace-history-SYCDK7FO.js → workspace-history-JKW3VJO3.js} +1 -1
  121. package/dist/{workspace-intelligence-6FS26JOQ.js → workspace-intelligence-3C47PK4L.js} +1 -1
  122. package/dist/workspace-intelligence-benchmark-SRDIHX3X.js +1 -0
  123. package/dist/workspace-intelligence-evaluation-OJIQS5SN.js +1 -0
  124. package/dist/{workspace-intelligence-runner-XYUPCSLN.js → workspace-intelligence-runner-OWN5ZI6W.js} +1 -1
  125. package/dist/{workspace-intelligence-runtime-registry-IW6J53LO.js → workspace-intelligence-runtime-registry-UKFB3BI7.js} +1 -1
  126. package/dist/workspace-knowledge-graph-AKG5NUU6.js +1 -0
  127. package/dist/{workspace-knowledge-graph-contract-L3CLAM2M.js → workspace-knowledge-graph-contract-X52KXBXJ.js} +1 -1
  128. package/dist/{workspace-knowledge-graph-query-FZXSPWGK.js → workspace-knowledge-graph-query-DXA4CROE.js} +1 -1
  129. package/dist/workspace-knowledge-graph-snapshot-SNI5K2RL.js +1 -0
  130. package/dist/{workspace-marker-7NHMDIRL.js → workspace-marker-XGAWZZDX.js} +1 -1
  131. package/dist/workspace-mcp-serve-PK226GMV.js +3 -0
  132. package/dist/workspace-model-R4ISKDB2.js +1 -0
  133. package/dist/{workspace-onboarding-X3PWRIIS.js → workspace-onboarding-Y5RPEFUD.js} +1 -1
  134. package/dist/{workspace-python-engine-state-J4QKW55K.js → workspace-python-engine-state-BE4A3BL5.js} +1 -1
  135. package/dist/{workspace-readme-G7TZ3V5T.js → workspace-readme-PL5V3UDH.js} +2 -2
  136. package/dist/{workspace-registry-summary-LJN4WHIZ.js → workspace-registry-summary-STGUGROG.js} +1 -1
  137. package/dist/workspace-repair-engine-FNLL5ZDK.js +3 -0
  138. package/dist/workspace-run-GFBFGUFM.js +1 -0
  139. package/dist/{workspace-verify-USRRIM2F.js → workspace-verify-AXVX3PF3.js} +1 -1
  140. package/dist/{workspace-watch-43YZPLF7.js → workspace-watch-RLBEJKXE.js} +1 -1
  141. package/docs/DEVELOPMENT.md +19 -0
  142. package/docs/README.md +19 -16
  143. package/docs/SETUP.md +10 -0
  144. package/docs/agent-entry.md +22 -7
  145. package/docs/ci-workflows.md +1 -1
  146. package/docs/commands-reference.md +58 -8
  147. package/docs/contracts/ARTIFACT_CATALOG.md +64 -44
  148. package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +1 -0
  149. package/docs/contracts/NAMING_AND_COEXISTENCE.md +20 -18
  150. package/docs/contracts/README.md +7 -3
  151. package/docs/real-world-qualification.md +19 -3
  152. package/docs/workspace-intelligence-benchmark.md +82 -0
  153. package/docs/workspace-knowledge-graph.md +95 -27
  154. package/docs/workspace-live-activity.md +209 -0
  155. package/docs/workspace-operations.md +32 -9
  156. package/package.json +4 -2
  157. package/dist/analyze-5PDVWECJ.js +0 -1
  158. package/dist/autopilot-release-JVIJCTKX.js +0 -1
  159. package/dist/capabilities-command-LHM3XIS6.js +0 -1
  160. package/dist/chunk-2647BYBC.js +0 -1
  161. package/dist/chunk-27UR373Z.js +0 -1
  162. package/dist/chunk-2C5ZBVBI.js +0 -2
  163. package/dist/chunk-6JWNDWOA.js +0 -1
  164. package/dist/chunk-CCDGHPEJ.js +0 -2
  165. package/dist/chunk-DFG33SBR.js +0 -2
  166. package/dist/chunk-FY4IIAIF.js +0 -1
  167. package/dist/chunk-HEZZ72V4.js +0 -94
  168. package/dist/chunk-HN7P4T3B.js +0 -681
  169. package/dist/chunk-ILIBOMYL.js +0 -1
  170. package/dist/chunk-J7QYANXK.js +0 -8
  171. package/dist/chunk-JD3A5QM6.js +0 -2
  172. package/dist/chunk-JQLJBK5N.js +0 -1
  173. package/dist/chunk-KLSSPJTV.js +0 -1
  174. package/dist/chunk-L22EABIC.js +0 -7
  175. package/dist/chunk-LNXIMF3O.js +0 -1
  176. package/dist/chunk-MDTI3UEB.js +0 -1
  177. package/dist/chunk-MOSXTVPU.js +0 -1
  178. package/dist/chunk-MYJQGGIU.js +0 -5
  179. package/dist/chunk-NOV6723U.js +0 -1
  180. package/dist/chunk-NYEAMMUL.js +0 -1
  181. package/dist/chunk-NZ3WZYD5.js +0 -1
  182. package/dist/chunk-O5B2L3R2.js +0 -1
  183. package/dist/chunk-OWB5KWSS.js +0 -13
  184. package/dist/chunk-P5PSZQPB.js +0 -2
  185. package/dist/chunk-QCKWQFCD.js +0 -1
  186. package/dist/chunk-QI3HG6IG.js +0 -144
  187. package/dist/chunk-SWGSFLTC.js +0 -1
  188. package/dist/chunk-THIOE2PB.js +0 -2
  189. package/dist/chunk-U5FCQTVL.js +0 -4
  190. package/dist/chunk-UXEO5QCF.js +0 -33
  191. package/dist/chunk-VR6XMUF3.js +0 -2
  192. package/dist/chunk-VVJK5NFY.js +0 -2
  193. package/dist/chunk-VXKWWX7S.js +0 -8
  194. package/dist/chunk-W322YDHS.js +0 -49
  195. package/dist/chunk-WPRLXKWC.js +0 -8
  196. package/dist/chunk-Y5YAP4F3.js +0 -2
  197. package/dist/chunk-YN5X2FTP.js +0 -1
  198. package/dist/chunk-YOCN7GF4.js +0 -1
  199. package/dist/goal-pack-YWPI43QL.js +0 -1
  200. package/dist/project-intelligence-lens-MRQR2LQW.js +0 -1
  201. package/dist/verified-goal-WM34TTGE.js +0 -1
  202. package/dist/workspace-explain-TE2LGOAV.js +0 -1
  203. package/dist/workspace-explain-contract-V2IVSROX.js +0 -1
  204. package/dist/workspace-graph-token-efficiency-2I4X374C.js +0 -1
  205. package/dist/workspace-intelligence-evaluation-CQDKOYZZ.js +0 -1
  206. package/dist/workspace-knowledge-graph-SWCKDTPF.js +0 -1
  207. package/dist/workspace-knowledge-graph-snapshot-M572JRB4.js +0 -1
  208. package/dist/workspace-mcp-serve-IBMTFQDY.js +0 -3
  209. package/dist/workspace-model-ZL6WCICX.js +0 -1
  210. package/dist/workspace-repair-engine-NX7I632M.js +0 -3
  211. package/dist/workspace-run-6GT5OBQ5.js +0 -1
@@ -25,13 +25,15 @@ exclude the canonical marker.
25
25
  These paths are relative to each registered project root, not the workspace
26
26
  root:
27
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/agent-entry.v1.json` | Project lens reconciliation and `workspace agent-sync --write` | `workspai.agent-entry.v1` | Portable host-discovery, canonical read-order, authority, and integrity contract |
32
- | `.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 |
33
- | `.workspai/PROJECT-GROUNDING.md` | Project lens reconciliation | Markdown | Portable human/agent entry guide with path-free workspace references |
34
- | `AGENTS.md` managed section | Project lens reconciliation in `managed` mode | Managed Markdown block | Preserves user content and routes compatible agents to project/workspace evidence |
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/agent-entry.v1.json` | Project lens reconciliation and `workspace agent-sync --write` | `workspai.agent-entry.v1` | Portable host-discovery, canonical read-order, authority, and integrity contract |
32
+ | `.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 |
33
+ | `.workspai/reports/project-knowledge-graph-reference.json` | Workspace Model publication | `project-knowledge-graph-reference.v1` | Small portable reference whose projection hash is verified against the canonical graph |
34
+ | `.workspai/PROJECT-GROUNDING.md` | Project lens reconciliation | Markdown | Portable human/agent entry guide with path-free workspace references |
35
+ | `.agents/skills/workspai-*/SKILL.md` | Project lens reconciliation | Agent Skill | Project-native wrappers that resolve canonical workspace playbooks without local paths |
36
+ | `AGENTS.md` managed section | Project lens reconciliation in `managed` mode | Managed Markdown block | Preserves user content and routes compatible agents to project/workspace evidence |
35
37
 
36
38
  The project link is validated against the canonical workspace contract and a
37
39
  SHA-256 binding over workspace identity, project identity, portable relative
@@ -40,13 +42,20 @@ absolute paths before writing. `managed`, `local`, and `off` grounding modes
40
42
  control portable project surfaces and converge by removing stale managed
41
43
  sections and ignore rules during transitions; they never make the
42
44
  machine-local link publishable. The context is bounded but not count-only: it
43
- includes topology, API/deployment/test surfaces, blockers, portable proofs,
44
- and model/graph freshness for the selected project.
45
+ includes compact topology, representative API/deployment/test surfaces,
46
+ blockers, portable proof locators, and model/graph freshness for the selected
47
+ project. Complete graph evidence is retrieved through bounded search instead
48
+ of duplicated into every project.
45
49
 
46
50
  `agent bootstrap --json` and `project agent-entry verify --json` emit a
47
51
  non-persisted `workspai.agent-bootstrap-receipt.v1` payload. The receipt proves
48
52
  the selected host route, contract validity, integrity, persisted and live
49
53
  freshness, and active Goal bindings without exposing the machine-local link.
54
+ Its top-level status covers agent grounding only; project-environment and
55
+ release readiness are emitted as separate dimensions so consumers cannot treat
56
+ successful grounding as release approval. The receipt exposes distinct project
57
+ reference and workspace graph paths and blocks when the project reference hash
58
+ is not the exact current canonical projection.
50
59
 
51
60
  ## Naming conventions
52
61
 
@@ -123,10 +132,12 @@ Entries beginning with `reports/` are relative to `.workspai/`; paths such as
123
132
  | Command | Artifact | Schema | Contract file |
124
133
  | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------- |
125
134
  | `workspace model --write` | `workspace-model.json` | `workspace-model.v1` | `contracts/workspace-intelligence/workspace-model.v1.json` |
126
- | `workspace model --write` | `workspace-knowledge-graph.json` | `workspace-knowledge-graph.v1` | `contracts/workspace-intelligence/workspace-knowledge-graph.v1.json` |
135
+ | `workspace model --write` | `workspace-knowledge-graph.json` (canonical workspace aggregate) | `workspace-knowledge-graph.v1` | `contracts/workspace-intelligence/workspace-knowledge-graph.v1.json` |
136
+ | `workspace model --write` | Project-local `.workspai/reports/project-knowledge-graph-reference.json` | `project-knowledge-graph-reference.v1` | `contracts/workspace-intelligence/project-knowledge-graph-reference.v1.json` |
127
137
  | `workspace snapshot` | `workspace-model-snapshot.json` | `workspace-model-snapshot.v1` | `contracts/workspace-intelligence/workspace-model-snapshot.v1.json` |
128
138
  | `workspace diff` | `workspace-model-diff-last-run.json` | `workspace-model-diff.v1` | `contracts/workspace-intelligence/workspace-model-diff.v1.json` |
129
139
  | `workspace impact --from <diff>` | `workspace-impact-last-run.json` | `workspace-impact.v1` | `contracts/workspace-intelligence/workspace-impact.v1.json` |
140
+ | `workspace graph benchmark-suite --write` | `workspace-intelligence-benchmark-last-run.json` | `workspace-intelligence-benchmark.v1` | `contracts/workspace-intelligence/workspace-intelligence-benchmark.v1.json` |
130
141
  | `analyze --json` | `analyze-last-run.json` | `rapidkit-analyze-v1` | `contracts/analyze-last-run.v1.json` |
131
142
  | `workspace verify` | `workspace-verify-last-run.json` | `workspace-verify.v1` | `contracts/workspace-intelligence/workspace-verify.v1.json` |
132
143
  | `workspace context --write` | `workspace-context-agent.json` | `workspace-context.v1` | `contracts/workspace-intelligence/workspace-context.v1.json` |
@@ -152,10 +163,15 @@ status/exit coherence, hard-failure skip propagation, and the aggregate verdict.
152
163
  See [Unified Workspace Intelligence Runner](../workspace-intelligence-runner.md)
153
164
  for the normative user and integration semantics.
154
165
 
155
- `workspace-model.json` and `workspace-knowledge-graph.json` are published under
156
- one workspace lock as a rollback-capable artifact transaction. Individual file
157
- replacement is atomic, and a partial set failure restores both preimages. The
158
- model is canonical; the graph is derived and cannot mutate it during the run.
166
+ `workspace-model.json`, the canonical workspace `workspace-knowledge-graph.json`,
167
+ and each registered project's compact
168
+ `.workspai/reports/project-knowledge-graph-reference.json` are published under
169
+ one workspace lock as a rollback-capable multi-root artifact transaction.
170
+ Individual replacement is atomic, and a partial set failure restores every
171
+ preimage. Each reference integrity-binds the exact project projection and points
172
+ to the canonical aggregate through a portable `workspace:` URI, avoiding graph
173
+ duplication in every linked repository. The model remains canonical and the
174
+ graph remains derived.
159
175
  The graph contract fixes `source.kind` to `workspace-model`,
160
176
  `source.artifact` to `.workspai/reports/workspace-model.json`, and `source.hash`
161
177
  to the model's stable structural SHA-256. Current-state consumers must reject a
@@ -397,9 +413,10 @@ Separate from the on-disk artifacts above, Workspai CLI emits a structured
397
413
  **NDJSON log stream on stderr** when `--log-format json` (or `RAPIDKIT_LOG_FORMAT=json`)
398
414
  is set. This is the deterministic progress/outcome channel for IDEs and CI.
399
415
 
400
- | Stream | Schema version | Contract file | Doc |
401
- | ----------------------- | ------------------ | --------------------------------- | ---------------------------------------------------- |
402
- | CLI log events (stderr) | `cli-log-event-v1` | `contracts/cli-log-event.v1.json` | [CLI_LOG_EVENT_STREAM.md](./CLI_LOG_EVENT_STREAM.md) |
416
+ | Stream | Schema version | Contract file | Doc |
417
+ | ------------------------------------------- | ----------------------------- | -------------------------------------------- | ------------------------------------------------------- |
418
+ | CLI log events (stderr) | `cli-log-event-v1` | `contracts/cli-log-event.v1.json` | [CLI_LOG_EVENT_STREAM.md](./CLI_LOG_EVENT_STREAM.md) |
419
+ | Live activity events (machine-local NDJSON) | `workspace-activity-event.v1` | `contracts/workspace-activity-event.v1.json` | [Workspai Live Activity](../workspace-live-activity.md) |
403
420
 
404
421
  **Channel rule:** command **results** go to stdout (`--json`); **progress/lifecycle**
405
422
  events go to stderr (`--log-format json`). The two never mix.
@@ -431,8 +448,9 @@ canonical file. Legacy files remain readable during the compatibility window.
431
448
  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.
432
449
  3. **Do not** use `workspace.json.projects` (removed in schema 1.0).
433
450
  4. Prefer `schemaVersion` constants in each artifact; legacy `v1` on readiness is accepted when reading old reports.
434
- 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. Use `--scope project:<name>` when the task has one registered project boundary, inspect `budget.omitted` before assuming the result is complete, and follow returned proof paths to source evidence. Read the full context, model, or graph only when the bounded result is insufficient.
451
+ 5. **Agent retrieval:** inside an adopted project, start with `.workspai/agent-entry.v1.json` (or the host projection that routes to it), then read `.workspai/reports/project-context-agent.json`; its `intelligence.projection` states exactly how much representative graph data was bounded. At workspace scope, start with `AGENTS.md` and `.workspai/reports/INDEX.json`. In either scope, use `workspace graph search <query> --limit <n> --json` or MCP `searchWorkspaceGraph` for question-sized facts. Use `--scope project:<name>` for one registered project, inspect `budget.omitted` before assuming completeness, and follow proof paths to source evidence. Read the full context, model, or graph only when the bounded result is insufficient.
435
452
  6. **Agent customization state:** use `.workspai/reports/agent-customization-pack.json` to inspect generated surfaces and drift; regenerate with `workspace agent-sync --write --refresh-context --preset enterprise`.
453
+ 7. **Operational Skill selection:** use `.workspai/reports/workspace-skills-index.json`. Its `selection.decisions` distinguishes evidence-backed generated Skills from suppressed candidates and records scoped projects and supporting signals. A missing specialized Skill means the current canonical evidence did not prove that capability; it is not permission to assume one.
436
454
 
437
455
  ## Agent customization files (repo hooks)
438
456
 
@@ -443,32 +461,34 @@ failure, all touched files are restored; an interrupted transaction is recovered
443
461
  before the next agent-sync. `agent-customization-pack.json` is written last and
444
462
  serves as the completed-generation marker.
445
463
 
446
- | Path | Consumer |
447
- | ----------------------------------------------------------------------- | -------------------------------------------------------------- |
448
- | `AGENTS.md` | Copilot, Cursor, Claude Code, Codex, Grok (open standard) |
449
- | `.github/copilot-instructions.md` | GitHub Copilot / VS Code Chat |
450
- | `.github/instructions/workspai-workspace.instructions.md` | Copilot workspace scope and command discipline |
451
- | `.github/instructions/workspai-evidence.instructions.md` | Copilot scoped `.workspai/**` and compatibility evidence rules |
452
- | `.github/prompts/workspai-diagnose.prompt.md` | Copilot prompt library |
453
- | `.github/prompts/workspai-repair.prompt.md` | Copilot repair workflow prompt |
454
- | `.github/prompts/workspai-release-readiness.prompt.md` | Copilot release readiness workflow prompt |
455
- | `.github/prompts/workspai-project-onboard.prompt.md` | Copilot project onboarding workflow prompt |
456
- | `.github/prompts/workspai-adopt-project.prompt.md` | Copilot adopt/import workflow prompt |
457
- | `.github/skills/workspai-grounding/SKILL.md` | Copilot skills |
458
- | `.github/skills/workspai-workspace-intelligence/SKILL.md` | Enterprise Workspace Intelligence skill |
459
- | `.github/skills/workspai-workspace-intelligence/resources/mcp-tools.md` | MCP tool and evidence-retrieval reference |
460
- | `.github/agents/workspai-advisor.agent.md` | Read-only workspace advisor agent |
461
- | `.github/agents/workspai-repair.agent.md` | Blocker repair agent |
462
- | `.github/agents/workspai-release.agent.md` | Release safety agent |
463
- | `.github/agents/workspai-project-onboarder.agent.md` | Project onboarding agent |
464
- | `.cursor/rules/workspai-grounding.mdc` | Cursor always-on rule |
465
- | `CLAUDE.md` | Claude Code (imports `@AGENTS.md`) |
466
- | `.claude/rules/workspai-evidence.md` | Claude Code scoped evidence rule |
467
- | `.claude/rules/rapidkit-evidence.md` | Legacy compatibility alias pointing to the canonical rule |
468
- | `.workspai/AGENT-GROUNDING.md` | Tool-agnostic operator doc |
469
- | `.workspai/reports/agent-customization-pack.json` | Versioned output inventory, target matrix, drift state |
470
- | `.workspai/reports/workspai-mcp-design.json` | Read-mostly MCP-ready design manifest |
471
- | `.vscode/workspai-agent-hooks.json` | Optional advisory VS Code agent hooks (`--experimental-hooks`) |
464
+ | Path | Consumer |
465
+ | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
466
+ | `AGENTS.md` | Copilot, Cursor, Claude Code, Codex, Grok (open standard) |
467
+ | `.agents/skills/workspai-grounding/SKILL.md` | Provider-neutral Agent Skills grounding |
468
+ | `.agents/skills/workspai-*/SKILL.md` | Generated workspace operational skills |
469
+ | `.github/copilot-instructions.md` | GitHub Copilot / VS Code Chat |
470
+ | `.github/instructions/workspai-workspace.instructions.md` | Copilot workspace scope and command discipline |
471
+ | `.github/instructions/workspai-evidence.instructions.md` | Copilot scoped `.workspai/**` and compatibility evidence rules |
472
+ | `.github/prompts/workspai-diagnose.prompt.md` | Copilot prompt library |
473
+ | `.github/prompts/workspai-repair.prompt.md` | Copilot repair workflow prompt |
474
+ | `.github/prompts/workspai-release-readiness.prompt.md` | Copilot release readiness workflow prompt |
475
+ | `.github/prompts/workspai-project-onboard.prompt.md` | Copilot project onboarding workflow prompt |
476
+ | `.github/prompts/workspai-adopt-project.prompt.md` | Copilot adopt/import workflow prompt |
477
+ | `.github/skills/workspai-grounding/SKILL.md` | Copilot skills |
478
+ | `.github/skills/workspai-workspace-intelligence/SKILL.md` | Enterprise Workspace Intelligence skill |
479
+ | `.github/skills/workspai-workspace-intelligence/resources/mcp-tools.md` | MCP tool and evidence-retrieval reference |
480
+ | `.github/agents/workspai-advisor.agent.md` | Read-only workspace advisor agent |
481
+ | `.github/agents/workspai-repair.agent.md` | Blocker repair agent |
482
+ | `.github/agents/workspai-release.agent.md` | Release safety agent |
483
+ | `.github/agents/workspai-project-onboarder.agent.md` | Project onboarding agent |
484
+ | `.cursor/rules/workspai-grounding.mdc` | Cursor always-on rule |
485
+ | `CLAUDE.md` | Claude Code (imports `@AGENTS.md`) |
486
+ | `.claude/rules/workspai-evidence.md` | Claude Code scoped evidence rule |
487
+ | `.claude/rules/rapidkit-evidence.md` | Legacy compatibility alias pointing to the canonical rule |
488
+ | `.workspai/AGENT-GROUNDING.md` | Tool-agnostic operator doc |
489
+ | `.workspai/reports/agent-customization-pack.json` | Versioned output inventory, target matrix, drift state |
490
+ | `.workspai/reports/workspai-mcp-design.json` | Implemented read-mostly MCP runtime manifest, served/planned tool inventory, and protocol capabilities |
491
+ | `.vscode/workspai-agent-hooks.json` | Optional advisory VS Code agent hooks (`--experimental-hooks`) |
472
492
 
473
493
  Some `rapidkit-*` prompt, skill, Cursor, MCP-design, and hook paths remain available for older consumers during the rebrand window. New consumers should use the `workspai-*` paths first.
474
494
 
@@ -36,6 +36,7 @@ These commands are implemented and orchestrated by Workspai CLI:
36
36
  - `goal`
37
37
  - `agent`
38
38
  - `project`
39
+ - `live`
39
40
  - `shell activate`
40
41
 
41
42
  Reason: workspace-level policy, registry, and platform orchestration live in npm wrapper.
@@ -4,19 +4,19 @@ Rules for **operational intelligence** artifacts so npm CLI, VS Code extension,
4
4
 
5
5
  ## Canonical vs generated surfaces
6
6
 
7
- | Layer | Canonical (workspace-native) | Generated (agent-sync) |
8
- | ----- | ---------------------------- | ---------------------- |
9
- | Operational playbooks | `.workspai/skills/{skillId}.md` | Legacy `.rapidkit/skills/{legacySkillId}.md` read fallback |
10
- | Skills index | `.workspai/reports/workspace-skills-index.json` | — |
11
- | Copilot skill umbrella | `.github/skills/workspai-workspace-intelligence/SKILL.md` | `.github/skills/rapidkit-workspace-intelligence/SKILL.md` legacy consumer surface |
12
- | Explain report | `.workspai/reports/workspace-explain-last-run.json` | — |
13
- | Action / repair feedback | `.workspai/reports/workspace-intelligence-history.json` (`kind: agent-action`, `doctor-fix`) | — |
7
+ | Layer | Canonical (workspace-native) | Generated (agent-sync) |
8
+ | ------------------------ | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
9
+ | Operational playbooks | `.workspai/skills/{skillId}.md` | Legacy `.rapidkit/skills/{legacySkillId}.md` read fallback |
10
+ | Skills index | `.workspai/reports/workspace-skills-index.json` | — |
11
+ | Copilot skill umbrella | `.github/skills/workspai-workspace-intelligence/SKILL.md` | `.github/skills/rapidkit-workspace-intelligence/SKILL.md` legacy consumer surface |
12
+ | Explain report | `.workspai/reports/workspace-explain-last-run.json` | — |
13
+ | Action / repair feedback | `.workspai/reports/workspace-intelligence-history.json` (`kind: agent-action`, `doctor-fix`) | — |
14
14
 
15
- **Rule:** Never add a standalone `workspace skills generate` command. Operational skills are produced only by `workspace agent-sync --write` (extend the Agent Customization Pack).
15
+ **Rule:** Never add a standalone `workspace skills generate` command. Operational skills are produced only by `workspace agent-sync --write` (extend the Agent Customization Pack). Templates are candidates, not guaranteed output: agent-sync materializes a candidate only when the canonical model, graph, contract, or command surface proves it applies. The skills index records generated and suppressed decisions with their evidence signals.
16
16
 
17
17
  ## Skill identifiers
18
18
 
19
- Built-in operational skill ids use the `workspai-*` prefix:
19
+ Built-in operational skill candidates use the `workspai-*` prefix:
20
20
 
21
21
  - `workspai-diagnose-api-failure`
22
22
  - `workspai-release-readiness`
@@ -27,17 +27,19 @@ Built-in operational skill ids use the `workspai-*` prefix:
27
27
  Paths are derived from id via `operationalSkillPath()` in `src/contracts/workspace-artifact-paths.ts`.
28
28
  Legacy `rapidkit-*` skill and prompt paths may remain for older consumers during the rebrand window; new consumers should read the `workspai-*` paths first.
29
29
 
30
+ `workspai-release-readiness` is workspace-applicable. API diagnosis, schema migration, dependency upgrade, and contract rename are emitted only for projects with matching evidence. Runtime, test, delivery, and polyglot skills are derived dynamically. Every emitted skill states why it exists, its scoped projects, observed signals, registered lifecycle boundary, and safe verification commands. Absence of evidence suppresses a skill rather than presenting a generic playbook as a detected capability.
31
+
30
32
  ## Command coexistence
31
33
 
32
- | User intent | Command | Notes |
33
- | ----------- | ------- | ----- |
34
- | Project / release / blocker narrative | `workspace explain …` | Primary explain surface |
35
- | Shorthand alias | `workspace why …` | Same parser as `explain` |
36
- | Diff → blast radius → gates | `workspace trace --from <diff>` | Slice of explain (`kind: trace`) |
37
- | Graph node centrality | `workspace graph explain <project>` | Graph-topology slice; see **Graph explain coexistence** below |
38
- | Record agent outcome | `workspace feedback record --json` | Appends `kind: agent-action` to history, no separate feedback file |
39
- | Record Doctor repair outcome | `doctor workspace|project --fix --json` | Writes `doctor-fix-result-last-run.json` and appends `kind: doctor-fix` to history |
40
- | MCP read bridge | `workspace mcp serve` | Read-mostly stdio JSON-RPC; maps Phase 4 explain + skills tools |
34
+ | User intent | Command | Notes |
35
+ | ------------------------------------- | ----------------------------------- | ------------------------------------------------------------------ |
36
+ | Project / release / blocker narrative | `workspace explain …` | Primary explain surface |
37
+ | Shorthand alias | `workspace why …` | Same parser as `explain` |
38
+ | Diff → blast radius → gates | `workspace trace --from <diff>` | Slice of explain (`kind: trace`) |
39
+ | Graph node centrality | `workspace graph explain <project>` | Graph-topology slice; see **Graph explain coexistence** below |
40
+ | Record agent outcome | `workspace feedback record --json` | Appends `kind: agent-action` to history, no separate feedback file |
41
+ | Record Doctor repair outcome | `doctor workspace | project --fix --json` | Writes `doctor-fix-result-last-run.json` and appends `kind: doctor-fix` to history |
42
+ | MCP read bridge | `workspace mcp serve` | Read-mostly stdio JSON-RPC; maps Phase 4 explain + skills tools |
41
43
 
42
44
  ## Graph explain coexistence (4.11)
43
45
 
@@ -28,8 +28,8 @@ Canonical JSON lives in **`../../contracts/`** (CLI package root, published in t
28
28
  | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
29
29
  | `npm run generate:contracts` | Regenerate runtime surface, create planner, agent customization pack, import-stack parity, module-layout, infra-stack |
30
30
  | `npm run check:generated-contracts` | Verify committed JSON matches generators |
31
- | `npm run sync:shared-contracts` | Generate canonical JSON and sync root plus locally available consumer mirrors |
32
- | `npm run sync:parity-snapshot` | Compatibility alias for canonical and consumer mirror synchronization |
31
+ | `npm run sync:shared-contracts` | Generate canonical JSON and sync root plus locally available consumer mirrors |
32
+ | `npm run sync:parity-snapshot` | Compatibility alias for canonical and consumer mirror synchronization |
33
33
  | `npm run check:parity-snapshot` | Verify mirrors match canonical |
34
34
  | `npm run contracts:prepush` | Sync local consumers and require generated canonical CLI mirrors to be committed |
35
35
  | `npm run validate:contracts` | Shared-contract checks and focused contract tests |
@@ -88,7 +88,7 @@ Published under `../../contracts/` (not duplicated in this folder):
88
88
  - `pipeline-last-run.v1.json` — governance pipeline orchestration
89
89
  - `project-entry-capability.v1.json` — open-ended adopt/import contract for readable projects
90
90
  - `workspace-intelligence/project-agent-entry.v1.json` — portable host discovery, canonical read order, authority boundaries, and integrity for an adopted project
91
- - `workspace-intelligence/agent-bootstrap-receipt.v1.json` — per-session proof of workspace membership, host coverage, schema validity, freshness, live inputs, and active Goal bindings
91
+ - `workspace-intelligence/agent-bootstrap-receipt.v1.json` — per-session proof of workspace membership, host coverage, schema validity, freshness, live inputs, active Goal bindings, and explicitly separated grounding/environment/release readiness
92
92
  - `adopt-effects.v1.json` — dry-run disclosure of project metadata, conditional repository-control reconciliation, and workspace operations before adoption
93
93
  - `create-planner-capabilities.v1.json` — native, official, and existing capability lanes
94
94
  - `agent-customization-pack.v1.json` — generated instructions, prompts, skills, agents, optional hooks, MCP-ready design metadata, target matrix, and drift state for AI agent surfaces
@@ -96,6 +96,9 @@ Published under `../../contracts/` (not duplicated in this folder):
96
96
  - `project-archive.v1.json`, `workspace-snapshot.v1.json`, and `workspace-snapshot.v2.json` — recoverable lifecycle records
97
97
  - `infra-plan.v1.json`, `private-product-manifest.v1.json`, and `product-factory-plan.v1.json` — infrastructure and product planning payloads
98
98
  - `workspace-model-cache.v1.json`, `workspace-watch-event.v1.json`, `doctor-project-scan.v2.json`, and `doctor-workspace-cache.v2.json` — cache/watch/diagnostic support contracts
99
+ - `workspace-activity-event.v1.json` — local-first run/block/operation/touch stream consumed by `workspai live`; observational only, never Evidence/Decision authority
100
+ - `workspace-activity-monitor-snapshot.v1.json` and `workspace-activity-monitor-fleet.v1.json` — deterministic local and bounded fleet projections
101
+ - `workspace-activity-board.v1.json` — renderer-neutral bounded Live projection for terminal, SVG, IDE and web consumers
99
102
 
100
103
  Workspace intelligence (`../../contracts/workspace-intelligence/`):
101
104
 
@@ -107,6 +110,7 @@ Workspace intelligence (`../../contracts/workspace-intelligence/`):
107
110
  - `workspace-knowledge-graph-change-overlay.v1.json` — proposed/change-set facts and relations without mutating the base graph
108
111
  - `workspace-knowledge-search.v1.json` — bounded ranked retrieval for CLI, MCP, IDE, and agent consumers
109
112
  - `workspace-graph-token-efficiency.v1.json` — reproducible corpus-versus-retrieval payload measurement
113
+ - `workspace-intelligence-benchmark.v1.json` — fixed multi-scenario retrieval benchmark with separately classified measured evaluation evidence
110
114
  - `model-usage-event.v1.json` — privacy-bounded model, tool, milestone, and verified-outcome events with explicit measurement provenance
111
115
  - `workspace-intelligence-evaluation.v1.json` — live/final token, cost, latency, activity, and verified-outcome evaluation
112
116
  - `workspace-intelligence-evaluation-comparison.v1.json` — task-aligned comparison of two completed evaluation strategies
@@ -66,6 +66,17 @@ npm run test:real-world:enterprise -- \
66
66
  --report "$QUALIFICATION_ROOT/enterprise-command-surface.json"
67
67
  ```
68
68
 
69
+ The enterprise harness resolves a real project from the graph, workspace
70
+ contract, model, or imported-project registry. It never assumes a fixture
71
+ project name. Snapshot names are unique per run, so the harness can be repeated
72
+ against the same isolated workspace without creating a false lifecycle failure.
73
+ Graph queries may target either managed or linked projects. Project archive and
74
+ delete dry runs use a separate lifecycle target and are emitted only for a
75
+ managed project physically contained by the workspace. When a workspace has
76
+ only linked external projects, the report records
77
+ `coverage.projectLifecycle: skipped-no-managed-project`; it does not misreport
78
+ that safety boundary as a command failure.
79
+
69
80
  ## Safety and interpretation
70
81
 
71
82
  - Reference repositories are cloned locally with `git clone --shared`; no
@@ -82,13 +93,18 @@ npm run test:real-world:enterprise -- \
82
93
  - Dependency installation, project build/test/start/init, infrastructure
83
94
  mutation, publication, and model network calls are not permitted.
84
95
  - Agent customization and destructive project operations are dry-run only.
96
+ - Runtime candidates describe observed nested composition; the authoritative
97
+ project runtime controls repair-adapter assertions. An aggregate boundary with
98
+ runtime `unknown` therefore follows the governed manual-repair path instead of
99
+ promoting its first nested runtime candidate.
85
100
  - Goal qualification publishes one system-understanding Goal inside the
86
101
  isolated test workspace, validates its lifecycle binding, and previews
87
102
  runtime-specific coverage and release-readiness goals without executing
88
103
  project tests or mutating project source.
89
- - Exit codes `1` and `2` may be valid domain outcomes when their documented JSON
90
- contracts parse successfully; unexpected process, timeout, buffer, or schema
91
- failures fail qualification.
104
+ - Exit codes `1` and `2` are accepted only for commands whose contract explicitly
105
+ permits a governed block and only when the JSON payload contains a recognized
106
+ blocked/not-ready outcome. Graph lookup, project lifecycle, process, timeout,
107
+ buffer, malformed JSON, and schema failures fail qualification.
92
108
  - A real repository warning remains evidence, not a CLI defect. Fix the CLI only
93
109
  when detection, classification, contract, portability, or command semantics
94
110
  are wrong.
@@ -0,0 +1,82 @@
1
+ # Workspace Intelligence Benchmark
2
+
3
+ Workspai exposes two deliberately separate measurement lanes:
4
+
5
+ 1. deterministic retrieval-payload estimates from the Workspace Knowledge Graph;
6
+ 2. observed model/tool usage and verified outcomes recorded by `workspace eval`.
7
+
8
+ They are combined in one report for presentation, but their provenance is never
9
+ collapsed into one unsupported “tokens saved” claim.
10
+
11
+ ## Run the fixed suite
12
+
13
+ ```bash
14
+ npx workspai workspace graph benchmark-suite agent-core.v1 --json
15
+ npx workspai workspace graph benchmark-suite agent-core.v1 --write --json
16
+ ```
17
+
18
+ The `agent-core.v1` suite runs five stable scenario categories:
19
+
20
+ - architecture and runtime discovery;
21
+ - dependency and ownership discovery;
22
+ - interface and contract discovery;
23
+ - change-safety and verification discovery;
24
+ - build and delivery discovery.
25
+
26
+ For each category, Workspai selects the first evidence-backed entity from a
27
+ published kind priority (then stable entity ID), records that target ID/kind,
28
+ and queries its unique real label (or stable identity key when labels collide).
29
+ The scenario passes only when that exact target entity is retrieved. This keeps
30
+ the benchmark applicable to arbitrary architectures without hiding a
31
+ repository-specific query or pretending that an irrelevant fixed phrase
32
+ measures retrieval quality.
33
+
34
+ The suite is offline, deterministic, bounded, and repository-neutral. It reads
35
+ the proof-indexed source corpus once and applies the same retrieval limit to
36
+ every scenario. The report contains per-scenario results plus median and p95
37
+ retrieval sizes. Empty scenarios remain visible as `empty`; they are never
38
+ silently removed from the denominator.
39
+
40
+ With `--write`, the artifact is:
41
+
42
+ ```text
43
+ .workspai/reports/workspace-intelligence-benchmark-last-run.json
44
+ contracts/workspace-intelligence/workspace-intelligence-benchmark.v1.json
45
+ ```
46
+
47
+ ## Add measured model evidence
48
+
49
+ Finalize a task evaluation first:
50
+
51
+ ```bash
52
+ npx workspai workspace eval init repair-readiness workspace-intelligence --json
53
+ # record provider/tool/outcome events through workspace eval record --json
54
+ npx workspai workspace eval report --json
55
+ npx workspai workspace graph benchmark-suite agent-core.v1 --write --json
56
+ ```
57
+
58
+ The benchmark classifies evaluation provenance as `measured`, `mixed`,
59
+ `estimated`, or `unavailable`. Provider-reported and tokenizer-counted calls are
60
+ measured. Estimated and unavailable calls remain explicitly labelled.
61
+
62
+ For a baseline comparison:
63
+
64
+ ```bash
65
+ npx workspai workspace graph benchmark-suite agent-core.v1 \
66
+ --from .workspai/reports/baseline-evaluation.json \
67
+ --write --json
68
+ ```
69
+
70
+ `trustedMeasuredReductionPercent` is non-null only when:
71
+
72
+ - current and baseline task IDs match;
73
+ - both outcomes are verified and comparable;
74
+ - every model call in both runs is provider-reported or tokenizer-counted.
75
+
76
+ ## Claim boundary
77
+
78
+ The graph lane estimates JSON retrieval payload size using `characters / 4`
79
+ against readable proof-source text. It does not prove equivalent answer quality,
80
+ model billing savings, or task completion. The evaluation lane can report real
81
+ usage only to the precision supplied by its recorded source. Verified task
82
+ success remains a separate required outcome signal.