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
@@ -0,0 +1,132 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/contracts/workspace-activity-event.v1.json",
4
+ "title": "Workspai Workspace Activity Event",
5
+ "description": "Local-first operational activity emitted by Workspai commands. Activity is observational and does not by itself establish evidence or decision authority.",
6
+ "type": "object",
7
+ "required": [
8
+ "schemaVersion",
9
+ "eventId",
10
+ "sequence",
11
+ "timestamp",
12
+ "runId",
13
+ "scope",
14
+ "kind",
15
+ "status",
16
+ "component",
17
+ "message"
18
+ ],
19
+ "properties": {
20
+ "schemaVersion": { "const": "workspace-activity-event.v1" },
21
+ "eventId": { "type": "string", "minLength": 8 },
22
+ "sequence": { "type": "integer", "minimum": 1 },
23
+ "timestamp": { "type": "string", "format": "date-time" },
24
+ "runId": { "type": "string", "minLength": 8 },
25
+ "parentRunId": { "type": "string", "minLength": 8 },
26
+ "spanId": { "type": "string", "minLength": 1 },
27
+ "parentSpanId": { "type": "string", "minLength": 1 },
28
+ "causationId": { "type": "string", "minLength": 1 },
29
+ "correlationId": { "type": "string", "minLength": 1 },
30
+ "scope": {
31
+ "type": "object",
32
+ "required": ["kind", "id", "label", "portable"],
33
+ "properties": {
34
+ "kind": { "enum": ["ephemeral-project", "project", "workspace"] },
35
+ "id": { "type": "string", "minLength": 8 },
36
+ "label": { "type": "string", "minLength": 1 },
37
+ "portable": { "type": "boolean" }
38
+ },
39
+ "additionalProperties": false
40
+ },
41
+ "kind": {
42
+ "enum": [
43
+ "run.started",
44
+ "run.completed",
45
+ "run.failed",
46
+ "run.cancelled",
47
+ "block.planned",
48
+ "block.started",
49
+ "block.progress",
50
+ "block.completed",
51
+ "block.failed",
52
+ "block.blocked",
53
+ "block.skipped",
54
+ "edge.declared",
55
+ "operation.started",
56
+ "operation.completed",
57
+ "operation.failed",
58
+ "touch.planned",
59
+ "touch.observed",
60
+ "artifact.published",
61
+ "artifact.rejected",
62
+ "warning.detected"
63
+ ]
64
+ },
65
+ "status": {
66
+ "enum": [
67
+ "planned",
68
+ "running",
69
+ "succeeded",
70
+ "warned",
71
+ "blocked",
72
+ "failed",
73
+ "cancelled",
74
+ "skipped",
75
+ "rolled-back"
76
+ ]
77
+ },
78
+ "component": { "type": "string", "minLength": 1 },
79
+ "message": { "type": "string", "minLength": 1 },
80
+ "blockId": { "type": "string", "minLength": 1 },
81
+ "attempt": { "type": "integer", "minimum": 1 },
82
+ "origin": {
83
+ "type": "object",
84
+ "required": ["id", "kind", "label"],
85
+ "properties": {
86
+ "id": { "type": "string", "minLength": 8 },
87
+ "kind": { "enum": ["project", "workspace-root"] },
88
+ "label": { "type": "string", "minLength": 1 }
89
+ },
90
+ "additionalProperties": false
91
+ },
92
+ "projectId": { "type": "string", "minLength": 1 },
93
+ "durationMs": { "type": "number", "minimum": 0 },
94
+ "progress": {
95
+ "type": "object",
96
+ "properties": {
97
+ "completed": { "type": "number", "minimum": 0 },
98
+ "total": { "type": "number", "minimum": 0 },
99
+ "percent": { "type": "number", "minimum": 0, "maximum": 100 },
100
+ "iteration": { "type": "number", "minimum": 0 },
101
+ "iterations": { "type": "number", "minimum": 0 }
102
+ },
103
+ "additionalProperties": false
104
+ },
105
+ "target": {
106
+ "type": "object",
107
+ "required": ["kind"],
108
+ "properties": {
109
+ "kind": {
110
+ "enum": ["file", "directory", "artifact", "process", "workspace", "project", "other"]
111
+ },
112
+ "locator": { "type": "string" },
113
+ "operation": { "type": "string" },
114
+ "provenance": { "enum": ["authoritative", "observed", "inferred"] }
115
+ },
116
+ "additionalProperties": false
117
+ },
118
+ "edge": {
119
+ "type": "object",
120
+ "required": ["id", "fromBlockId", "toBlockId", "kind"],
121
+ "properties": {
122
+ "id": { "type": "string", "minLength": 1 },
123
+ "fromBlockId": { "type": "string", "minLength": 1 },
124
+ "toBlockId": { "type": "string", "minLength": 1 },
125
+ "kind": { "enum": ["sequence", "parallel", "gate", "handoff"] }
126
+ },
127
+ "additionalProperties": false
128
+ },
129
+ "attributes": { "type": "object", "additionalProperties": true }
130
+ },
131
+ "additionalProperties": false
132
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/contracts/workspace-activity-monitor-fleet.v1.json",
4
+ "title": "Workspai Activity Monitor Fleet Snapshot",
5
+ "description": "A deterministic aggregate of bounded local activity monitor snapshots.",
6
+ "type": "object",
7
+ "required": ["schemaVersion", "generatedAt", "scopes", "diagnostics"],
8
+ "properties": {
9
+ "schemaVersion": { "const": "workspace-activity-monitor-fleet.v1" },
10
+ "generatedAt": { "type": "string", "format": "date-time" },
11
+ "scopes": {
12
+ "type": "array",
13
+ "items": { "$ref": "workspace-activity-monitor-snapshot.v1.json" }
14
+ },
15
+ "diagnostics": { "type": "array", "items": { "type": "string" } }
16
+ },
17
+ "additionalProperties": false
18
+ }
@@ -0,0 +1,161 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/contracts/workspace-activity-monitor-snapshot.v1.json",
4
+ "title": "Workspai Activity Monitor Snapshot",
5
+ "description": "A deterministic local projection of durable Workspai activity journals. It is observational and is not verification evidence by itself.",
6
+ "type": "object",
7
+ "required": ["schemaVersion", "generatedAt", "scope", "runs", "diagnostics"],
8
+ "properties": {
9
+ "schemaVersion": { "const": "workspace-activity-monitor-snapshot.v1" },
10
+ "generatedAt": { "type": "string", "format": "date-time" },
11
+ "scope": { "$ref": "#/$defs/scope" },
12
+ "runs": { "type": "array", "items": { "$ref": "#/$defs/run" } },
13
+ "diagnostics": { "type": "array", "items": { "type": "string" } }
14
+ },
15
+ "additionalProperties": false,
16
+ "$defs": {
17
+ "status": {
18
+ "enum": [
19
+ "planned",
20
+ "running",
21
+ "succeeded",
22
+ "warned",
23
+ "blocked",
24
+ "failed",
25
+ "cancelled",
26
+ "skipped",
27
+ "rolled-back"
28
+ ]
29
+ },
30
+ "scope": {
31
+ "type": "object",
32
+ "required": ["kind", "id", "label", "portable"],
33
+ "properties": {
34
+ "kind": { "enum": ["ephemeral-project", "project", "workspace"] },
35
+ "id": { "type": "string", "minLength": 1 },
36
+ "label": { "type": "string", "minLength": 1 },
37
+ "portable": { "type": "boolean" }
38
+ },
39
+ "additionalProperties": false
40
+ },
41
+ "origin": {
42
+ "type": "object",
43
+ "required": ["id", "kind", "label"],
44
+ "properties": {
45
+ "id": { "type": "string", "minLength": 1 },
46
+ "kind": { "enum": ["project", "workspace-root"] },
47
+ "label": { "type": "string", "minLength": 1 }
48
+ },
49
+ "additionalProperties": false
50
+ },
51
+ "progress": {
52
+ "type": "object",
53
+ "properties": {
54
+ "completed": { "type": "number", "minimum": 0 },
55
+ "total": { "type": "number", "minimum": 0 },
56
+ "percent": { "type": "number", "minimum": 0, "maximum": 100 },
57
+ "iteration": { "type": "number", "minimum": 0 },
58
+ "iterations": { "type": "number", "minimum": 0 }
59
+ },
60
+ "additionalProperties": false
61
+ },
62
+ "attempt": {
63
+ "type": "object",
64
+ "required": ["attempt", "status", "startedAt", "updatedAt"],
65
+ "properties": {
66
+ "attempt": { "type": "integer", "minimum": 1 },
67
+ "status": { "$ref": "#/$defs/status" },
68
+ "startedAt": { "type": "string", "format": "date-time" },
69
+ "updatedAt": { "type": "string", "format": "date-time" },
70
+ "progress": { "$ref": "#/$defs/progress" },
71
+ "durationMs": { "type": "number", "minimum": 0 }
72
+ },
73
+ "additionalProperties": false
74
+ },
75
+ "block": {
76
+ "type": "object",
77
+ "required": ["id", "label", "status", "order", "updatedAt", "attempts"],
78
+ "properties": {
79
+ "id": { "type": "string", "minLength": 1 },
80
+ "label": { "type": "string", "minLength": 1 },
81
+ "status": { "$ref": "#/$defs/status" },
82
+ "order": { "type": "number" },
83
+ "parentId": { "type": "string", "minLength": 1 },
84
+ "progress": { "$ref": "#/$defs/progress" },
85
+ "durationMs": { "type": "number", "minimum": 0 },
86
+ "layoutHint": { "enum": ["source", "process", "gate", "sink"] },
87
+ "group": { "type": "string", "minLength": 1 },
88
+ "updatedAt": { "type": "string", "format": "date-time" },
89
+ "attempt": { "type": "integer", "minimum": 1 },
90
+ "attempts": { "type": "array", "items": { "$ref": "#/$defs/attempt" } }
91
+ },
92
+ "additionalProperties": false
93
+ },
94
+ "edge": {
95
+ "type": "object",
96
+ "required": ["id", "fromBlockId", "toBlockId", "kind", "status", "order", "updatedAt"],
97
+ "properties": {
98
+ "id": { "type": "string", "minLength": 1 },
99
+ "fromBlockId": { "type": "string", "minLength": 1 },
100
+ "toBlockId": { "type": "string", "minLength": 1 },
101
+ "kind": { "enum": ["sequence", "parallel", "gate", "handoff"] },
102
+ "status": { "$ref": "#/$defs/status" },
103
+ "order": { "type": "number" },
104
+ "updatedAt": { "type": "string", "format": "date-time" }
105
+ },
106
+ "additionalProperties": false
107
+ },
108
+ "touch": {
109
+ "type": "object",
110
+ "required": ["locator", "at"],
111
+ "properties": {
112
+ "locator": { "type": "string" },
113
+ "operation": { "type": "string" },
114
+ "at": { "type": "string", "format": "date-time" }
115
+ },
116
+ "additionalProperties": false
117
+ },
118
+ "artifact": {
119
+ "type": "object",
120
+ "required": ["locator", "at"],
121
+ "properties": {
122
+ "locator": { "type": "string" },
123
+ "at": { "type": "string", "format": "date-time" }
124
+ },
125
+ "additionalProperties": false
126
+ },
127
+ "run": {
128
+ "type": "object",
129
+ "required": [
130
+ "runId",
131
+ "command",
132
+ "status",
133
+ "startedAt",
134
+ "updatedAt",
135
+ "blocks",
136
+ "edges",
137
+ "touches",
138
+ "artifacts",
139
+ "warnings"
140
+ ],
141
+ "properties": {
142
+ "runId": { "type": "string", "minLength": 1 },
143
+ "parentRunId": { "type": "string", "minLength": 1 },
144
+ "pid": { "type": "integer", "minimum": 1 },
145
+ "orphaned": { "type": "boolean" },
146
+ "origin": { "$ref": "#/$defs/origin" },
147
+ "command": { "type": "array", "items": { "type": "string" } },
148
+ "status": { "$ref": "#/$defs/status" },
149
+ "startedAt": { "type": "string", "format": "date-time" },
150
+ "updatedAt": { "type": "string", "format": "date-time" },
151
+ "durationMs": { "type": "number", "minimum": 0 },
152
+ "blocks": { "type": "array", "items": { "$ref": "#/$defs/block" } },
153
+ "edges": { "type": "array", "items": { "$ref": "#/$defs/edge" } },
154
+ "touches": { "type": "array", "items": { "$ref": "#/$defs/touch" } },
155
+ "artifacts": { "type": "array", "items": { "$ref": "#/$defs/artifact" } },
156
+ "warnings": { "type": "array", "items": { "type": "string" } }
157
+ },
158
+ "additionalProperties": false
159
+ }
160
+ }
161
+ }
@@ -10,6 +10,8 @@
10
10
  "generatedAt",
11
11
  "receiptId",
12
12
  "status",
13
+ "statusScope",
14
+ "readiness",
13
15
  "requestedAgent",
14
16
  "resolvedHost",
15
17
  "project",
@@ -28,6 +30,18 @@
28
30
  "generatedAt": { "type": "string", "format": "date-time" },
29
31
  "receiptId": { "$ref": "#/$defs/hash" },
30
32
  "status": { "$ref": "#/$defs/status" },
33
+ "statusScope": { "const": "agent-grounding" },
34
+ "readiness": {
35
+ "type": "object",
36
+ "additionalProperties": false,
37
+ "required": ["agentGrounding", "architectureEvidence", "projectEnvironment", "release"],
38
+ "properties": {
39
+ "agentGrounding": { "$ref": "#/$defs/status" },
40
+ "architectureEvidence": { "$ref": "#/$defs/status" },
41
+ "projectEnvironment": { "enum": ["ready", "degraded", "blocked"] },
42
+ "release": { "enum": ["not-verified", "degraded", "blocked"] }
43
+ }
44
+ },
31
45
  "requestedAgent": {
32
46
  "enum": [
33
47
  "generic",
@@ -127,6 +141,9 @@
127
141
  ],
128
142
  "properties": {
129
143
  "projectContext": { "const": ".workspai/reports/project-context-agent.json" },
144
+ "projectKnowledgeGraph": {
145
+ "const": ".workspai/reports/project-knowledge-graph-reference.json"
146
+ },
130
147
  "workspaceIndex": { "const": "workspace:.workspai/reports/INDEX.json" },
131
148
  "workspaceContext": {
132
149
  "const": "workspace:.workspai/reports/workspace-context-agent.json"
@@ -9,8 +9,10 @@
9
9
  "workspaceRoot",
10
10
  "status",
11
11
  "mode",
12
+ "runtime",
12
13
  "safety",
13
- "candidateTools"
14
+ "candidateTools",
15
+ "plannedTools"
14
16
  ],
15
17
  "properties": {
16
18
  "schemaVersion": {
@@ -25,11 +27,50 @@
25
27
  "minLength": 1
26
28
  },
27
29
  "status": {
28
- "const": "design-only"
30
+ "const": "implemented"
29
31
  },
30
32
  "mode": {
31
33
  "const": "read-mostly"
32
34
  },
35
+ "runtime": {
36
+ "type": "object",
37
+ "required": [
38
+ "command",
39
+ "transport",
40
+ "lifecycle",
41
+ "supportedProtocolVersions",
42
+ "structuredContent",
43
+ "toolExecutionErrors"
44
+ ],
45
+ "properties": {
46
+ "command": {
47
+ "type": "string",
48
+ "minLength": 1
49
+ },
50
+ "transport": {
51
+ "const": "stdio-jsonrpc"
52
+ },
53
+ "lifecycle": {
54
+ "const": "dual-era"
55
+ },
56
+ "supportedProtocolVersions": {
57
+ "type": "array",
58
+ "items": {
59
+ "type": "string",
60
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
61
+ },
62
+ "uniqueItems": true,
63
+ "minItems": 1
64
+ },
65
+ "structuredContent": {
66
+ "const": true
67
+ },
68
+ "toolExecutionErrors": {
69
+ "const": true
70
+ }
71
+ },
72
+ "additionalProperties": false
73
+ },
33
74
  "safety": {
34
75
  "type": "object"
35
76
  },
@@ -38,6 +79,12 @@
38
79
  "items": {
39
80
  "type": "object"
40
81
  }
82
+ },
83
+ "plannedTools": {
84
+ "type": "array",
85
+ "items": {
86
+ "type": "object"
87
+ }
41
88
  }
42
89
  },
43
90
  "additionalProperties": true
@@ -66,6 +66,9 @@
66
66
  "properties": {
67
67
  "projectContext": { "const": ".workspai/reports/project-context-agent.json" },
68
68
  "projectGrounding": { "const": ".workspai/PROJECT-GROUNDING.md" },
69
+ "projectKnowledgeGraph": {
70
+ "const": ".workspai/reports/project-knowledge-graph-reference.json"
71
+ },
69
72
  "goalIndex": { "const": "workspace:.workspai/goals/index.json" },
70
73
  "workspaceIndex": { "const": "workspace:.workspai/reports/INDEX.json" },
71
74
  "workspaceContext": {
@@ -29,6 +29,9 @@
29
29
  "enum": ["managed", "adopted", "imported", "linked", "restored"]
30
30
  },
31
31
  "contract": { "const": "workspace:.workspai/workspace.contract.json" },
32
+ "projectKnowledgeGraph": {
33
+ "const": ".workspai/reports/project-knowledge-graph-reference.json"
34
+ },
32
35
  "model": { "const": "workspace:.workspai/reports/workspace-model.json" },
33
36
  "knowledgeGraph": {
34
37
  "const": "workspace:.workspai/reports/workspace-knowledge-graph.json"
@@ -140,6 +143,7 @@
140
143
  "relationsByKind",
141
144
  "languages",
142
145
  "semantic",
146
+ "projection",
143
147
  "relatedProjects",
144
148
  "freshness",
145
149
  "topology",
@@ -200,6 +204,41 @@
200
204
  },
201
205
  "additionalProperties": false
202
206
  },
207
+ "projection": {
208
+ "description": "Observable bounds for the representative entity projection. Counts remain exhaustive; omitted entities are available through bounded graph search.",
209
+ "type": "object",
210
+ "required": [
211
+ "mode",
212
+ "maxEntities",
213
+ "byteBudget",
214
+ "selectedBytes",
215
+ "eligibleCount",
216
+ "selectedCount",
217
+ "omittedCount",
218
+ "selectedByKind",
219
+ "omittedByKind",
220
+ "continuationCommand"
221
+ ],
222
+ "properties": {
223
+ "mode": { "const": "stratified-byte-bounded" },
224
+ "maxEntities": { "type": "integer", "minimum": 1 },
225
+ "byteBudget": { "type": "integer", "minimum": 1 },
226
+ "selectedBytes": { "type": "integer", "minimum": 0 },
227
+ "eligibleCount": { "type": "integer", "minimum": 0 },
228
+ "selectedCount": { "type": "integer", "minimum": 0 },
229
+ "omittedCount": { "type": "integer", "minimum": 0 },
230
+ "selectedByKind": {
231
+ "type": "object",
232
+ "additionalProperties": { "type": "integer", "minimum": 0 }
233
+ },
234
+ "omittedByKind": {
235
+ "type": "object",
236
+ "additionalProperties": { "type": "integer", "minimum": 1 }
237
+ },
238
+ "continuationCommand": { "type": "string", "minLength": 1 }
239
+ },
240
+ "additionalProperties": false
241
+ },
203
242
  "relatedProjects": {
204
243
  "type": "array",
205
244
  "items": { "type": "string" },
@@ -223,12 +262,12 @@
223
262
  "dependencies": {
224
263
  "type": "array",
225
264
  "items": { "$ref": "#/$defs/topologyRelation" },
226
- "maxItems": 128
265
+ "maxItems": 16
227
266
  },
228
267
  "dependents": {
229
268
  "type": "array",
230
269
  "items": { "$ref": "#/$defs/topologyRelation" },
231
- "maxItems": 128
270
+ "maxItems": 16
232
271
  }
233
272
  },
234
273
  "additionalProperties": false
@@ -267,7 +306,7 @@
267
306
  "decisions": { "$ref": "#/$defs/entityList" },
268
307
  "ports": {
269
308
  "type": "array",
270
- "maxItems": 32,
309
+ "maxItems": 8,
271
310
  "items": { "$ref": "#/$defs/port" }
272
311
  }
273
312
  },
@@ -275,6 +314,7 @@
275
314
  },
276
315
  "diagnostics": {
277
316
  "type": "array",
317
+ "maxItems": 16,
278
318
  "items": {
279
319
  "type": "object",
280
320
  "required": ["code", "severity", "message"],
@@ -294,23 +334,24 @@
294
334
  "type": "object",
295
335
  "required": ["readOrder", "projectProofArtifacts", "relations", "proofs"],
296
336
  "properties": {
297
- "readOrder": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
337
+ "readOrder": { "type": "array", "maxItems": 12, "items": { "type": "string" }, "uniqueItems": true },
298
338
  "projectProofArtifacts": {
299
339
  "type": "array",
300
340
  "items": {
301
341
  "type": "string",
302
342
  "not": { "pattern": "^(?:/|[A-Za-z]:[\\\\/])" }
303
343
  },
304
- "uniqueItems": true
344
+ "uniqueItems": true,
345
+ "maxItems": 24
305
346
  },
306
347
  "relations": {
307
348
  "type": "array",
308
- "maxItems": 128,
349
+ "maxItems": 16,
309
350
  "items": { "$ref": "#/$defs/relation" }
310
351
  },
311
352
  "proofs": {
312
353
  "type": "array",
313
- "maxItems": 128,
354
+ "maxItems": 16,
314
355
  "items": { "$ref": "#/$defs/proof" }
315
356
  }
316
357
  },
@@ -384,6 +425,7 @@
384
425
  "requiredReadOrder": {
385
426
  "type": "array",
386
427
  "minItems": 4,
428
+ "maxItems": 10,
387
429
  "uniqueItems": true,
388
430
  "items": { "type": "string", "minLength": 1 }
389
431
  },
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/project-knowledge-graph-reference.v1.json",
4
+ "title": "Workspai Project Knowledge Graph Reference",
5
+ "description": "Portable, integrity-bound project reference to the canonical workspace Knowledge Graph.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["schemaVersion", "generatedAt", "project", "canonical", "summary", "integrity"],
9
+ "properties": {
10
+ "schemaVersion": { "const": "project-knowledge-graph-reference.v1" },
11
+ "generatedAt": { "type": "string", "format": "date-time" },
12
+ "project": {
13
+ "type": "object",
14
+ "additionalProperties": false,
15
+ "required": ["name"],
16
+ "properties": { "name": { "type": "string", "minLength": 1 } }
17
+ },
18
+ "canonical": {
19
+ "type": "object",
20
+ "additionalProperties": false,
21
+ "required": ["graph", "boundedQuery", "sourceHash", "projectionHash"],
22
+ "properties": {
23
+ "graph": { "const": "workspace:.workspai/reports/workspace-knowledge-graph.json" },
24
+ "boundedQuery": { "type": "string", "minLength": 1 },
25
+ "sourceHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
26
+ "projectionHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
27
+ }
28
+ },
29
+ "summary": {
30
+ "type": "object",
31
+ "additionalProperties": false,
32
+ "required": ["entityCount", "relationCount", "proofCount"],
33
+ "properties": {
34
+ "entityCount": { "type": "integer", "minimum": 0 },
35
+ "relationCount": { "type": "integer", "minimum": 0 },
36
+ "proofCount": { "type": "integer", "minimum": 0 }
37
+ }
38
+ },
39
+ "integrity": {
40
+ "type": "object",
41
+ "additionalProperties": false,
42
+ "required": ["algorithm", "payloadHash", "portable", "absolutePathsEmitted"],
43
+ "properties": {
44
+ "algorithm": { "const": "sha256" },
45
+ "payloadHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
46
+ "portable": { "const": true },
47
+ "absolutePathsEmitted": { "const": false }
48
+ }
49
+ }
50
+ }
51
+ }