workspai 0.64.0 → 0.66.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 (207) hide show
  1. package/README.md +40 -44
  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 +2 -0
  6. package/contracts/published-contract-catalog.v1.json +10 -0
  7. package/contracts/runtime-command-surface.v1.json +59 -3
  8. package/contracts/workspace-activity-event.v1.json +132 -0
  9. package/contracts/workspace-contract.v1.json +51 -6
  10. package/contracts/workspace-intelligence/agent-bootstrap-receipt.v1.json +17 -0
  11. package/contracts/workspace-intelligence/mcp-design.v1.json +49 -2
  12. package/contracts/workspace-intelligence/project-agent-entry.v1.json +3 -0
  13. package/contracts/workspace-intelligence/project-context-agent.v1.json +78 -7
  14. package/contracts/workspace-intelligence/project-knowledge-graph-reference.v1.json +51 -0
  15. package/contracts/workspace-intelligence/workspace-knowledge-graph.v1.json +108 -3
  16. package/contracts/workspace-intelligence/workspace-model.v1.json +28 -1
  17. package/contracts/workspace-intelligence/workspace-skills-index.v1.json +34 -0
  18. package/contracts/workspace-model-cache.v1.json +4 -0
  19. package/contracts/workspace-repair-capabilities.v1.json +66 -0
  20. package/dist/analyze-UJQWGNM2.js +1 -0
  21. package/dist/{artifact-remediation-plan-XIQNI35L.js → artifact-remediation-plan-M2XBS2IU.js} +1 -1
  22. package/dist/autopilot-release-U6F4M2BQ.js +1 -0
  23. package/dist/capabilities-command-XUKPO25Z.js +1 -0
  24. package/dist/chunk-2LIVMG5C.js +2 -0
  25. package/dist/{chunk-ZGS5NKEO.js → chunk-2PACEMNE.js} +1 -1
  26. package/dist/chunk-334J2KIP.js +7 -0
  27. package/dist/{chunk-6TBTMWNA.js → chunk-3H5ACWWZ.js} +1 -1
  28. package/dist/{chunk-HCFWT42C.js → chunk-3NM3JAZW.js} +1 -1
  29. package/dist/chunk-4XEH3WNV.js +13 -0
  30. package/dist/chunk-5OA33JH2.js +2 -0
  31. package/dist/chunk-5TY74LLW.js +2 -0
  32. package/dist/{chunk-QCKWQFCD.js → chunk-5U4L6VF2.js} +1 -1
  33. package/dist/{chunk-W6FHVXNL.js → chunk-5XGR3LRI.js} +1 -1
  34. package/dist/{chunk-KTN2ARZJ.js → chunk-6JX56VAL.js} +3 -3
  35. package/dist/chunk-6UNATTB7.js +1 -0
  36. package/dist/{chunk-J3X56S7L.js → chunk-727IQFGN.js} +1 -1
  37. package/dist/chunk-7FF5EOIO.js +2 -0
  38. package/dist/chunk-AP4PV6WJ.js +1 -0
  39. package/dist/chunk-AXUA7PFV.js +2 -0
  40. package/dist/chunk-B4IVVTMQ.js +2 -0
  41. package/dist/{chunk-LNXIMF3O.js → chunk-C4S22E6S.js} +1 -1
  42. package/dist/{chunk-PXWKMPPI.js → chunk-D4UHRJAP.js} +1 -1
  43. package/dist/chunk-DUBOKZMA.js +49 -0
  44. package/dist/{chunk-VYDURWN7.js → chunk-ECLMYTWT.js} +1 -1
  45. package/dist/{chunk-VB6I52ZT.js → chunk-EHH4SKVH.js} +50 -50
  46. package/dist/chunk-EP4CUWOO.js +9 -0
  47. package/dist/chunk-FY4X2VOE.js +39 -0
  48. package/dist/chunk-GAYK3WGV.js +2 -0
  49. package/dist/{chunk-YUGKQ44M.js → chunk-H5RJCS5E.js} +1 -1
  50. package/dist/{chunk-5SFCBZOH.js → chunk-H7MRINGP.js} +1 -1
  51. package/dist/chunk-HJLGXFMK.js +1 -0
  52. package/dist/{chunk-VRGEPPUB.js → chunk-HLWDIIWL.js} +1 -1
  53. package/dist/{chunk-KJXMLBSY.js → chunk-IIFFEEMX.js} +1 -1
  54. package/dist/chunk-IVF6NEHS.js +1 -0
  55. package/dist/chunk-JC4XSU7G.js +1 -0
  56. package/dist/chunk-JRP6WP5C.js +681 -0
  57. package/dist/chunk-JZJBA2V2.js +1 -0
  58. package/dist/{chunk-N4QQADXX.js → chunk-L5CCIIF2.js} +1 -1
  59. package/dist/chunk-L5Q2S5GY.js +3 -0
  60. package/dist/chunk-LPCZHKD5.js +1 -0
  61. package/dist/chunk-MZ7U4BIQ.js +157 -0
  62. package/dist/chunk-NMXGSVMD.js +1 -0
  63. package/dist/{chunk-GQSRNUCU.js → chunk-NVND4727.js} +3 -3
  64. package/dist/chunk-O37UBRMX.js +4 -0
  65. package/dist/chunk-OI2VOU6S.js +1 -0
  66. package/dist/chunk-PD7Y6HIM.js +2 -0
  67. package/dist/chunk-PJPS7CNH.js +1 -0
  68. package/dist/chunk-QGAPGZPL.js +97 -0
  69. package/dist/chunk-R2M5OJOK.js +5 -0
  70. package/dist/chunk-SX6A656X.js +1 -0
  71. package/dist/{chunk-X6TNBARH.js → chunk-TABXSDTR.js} +2 -2
  72. package/dist/chunk-TTHO4MFC.js +2 -0
  73. package/dist/chunk-U5ENEDJA.js +7 -0
  74. package/dist/chunk-UOCERSAN.js +1 -0
  75. package/dist/chunk-UPIPSSXY.js +1 -0
  76. package/dist/chunk-UTV4DTNM.js +1 -0
  77. package/dist/chunk-VA5VSOBL.js +2 -0
  78. package/dist/chunk-VQOWB26M.js +12 -0
  79. package/dist/chunk-VQZ5PI5J.js +1 -0
  80. package/dist/chunk-WCJU3CFG.js +1 -0
  81. package/dist/chunk-WTWRSEOW.js +1 -0
  82. package/dist/{chunk-D65FCQIO.js → chunk-XESFJN52.js} +1 -1
  83. package/dist/chunk-XQFWUM2P.js +1 -0
  84. package/dist/chunk-XWKGZRHN.js +1 -0
  85. package/dist/{chunk-WRQWVSBJ.js → chunk-YX5VWPR5.js} +1 -1
  86. package/dist/chunk-ZEEV5J4I.js +1 -0
  87. package/dist/chunk-ZQH2I5RQ.js +1 -0
  88. package/dist/{create-PWJDTKDN.js → create-SOLLXXAB.js} +1 -1
  89. package/dist/{demo-kit-QHIDCSBI.js → demo-kit-5UQH2OXC.js} +1 -1
  90. package/dist/{doctor-CGXY4IDE.js → doctor-NQ5PUCUP.js} +1 -1
  91. package/dist/{dotnet-webapi-clean-AVHPJG7Y.js → dotnet-webapi-clean-YEHYIGOT.js} +1 -1
  92. package/dist/{goal-lifecycle-BRFFTIU2.js → goal-lifecycle-IPNY7KNR.js} +1 -1
  93. package/dist/goal-pack-2WV3EA4Y.js +1 -0
  94. package/dist/{gofiber-standard-47S2GYAO.js → gofiber-standard-C44IIQYH.js} +1 -1
  95. package/dist/{gogin-standard-EWB4XNOI.js → gogin-standard-X7VKACVR.js} +1 -1
  96. package/dist/index.d.ts +8 -2
  97. package/dist/index.js +170 -170
  98. package/dist/live-command-Q6E45N7S.js +18 -0
  99. package/dist/{pipeline-DF4UIHAD.js → pipeline-MIMENSI7.js} +1 -1
  100. package/dist/{project-agent-entry-IWUCV72J.js → project-agent-entry-OWLJ3IHQ.js} +1 -1
  101. package/dist/project-intelligence-lens-I67EO6AE.js +1 -0
  102. package/dist/{project-test-coverage-4S7MEQ6T.js → project-test-coverage-OPDVSFPH.js} +1 -1
  103. package/dist/{pythonRapidkitExec-VAW5XE4Z.js → pythonRapidkitExec-44ORGQ4R.js} +1 -1
  104. package/dist/{rust-axum-M5X4ZC4Z.js → rust-axum-JKZTZDRZ.js} +1 -1
  105. package/dist/{springboot-standard-Y5ADLZMQ.js → springboot-standard-PI4FLTAN.js} +1 -1
  106. package/dist/verified-goal-46JWNCDY.js +1 -0
  107. package/dist/{workspace-35Q2IXAR.js → workspace-KO37XHF6.js} +1 -1
  108. package/dist/{workspace-agent-sync-FFNSW2PD.js → workspace-agent-sync-32FIJQBH.js} +1 -1
  109. package/dist/{workspace-archive-ZBCKJHXS.js → workspace-archive-6R5DRNZW.js} +1 -1
  110. package/dist/{workspace-context-IJ36ZP6G.js → workspace-context-JKRPX775.js} +1 -1
  111. package/dist/workspace-contract-4T3NYNK5.js +1 -0
  112. package/dist/workspace-explain-MOGL4GEA.js +1 -0
  113. package/dist/workspace-explain-contract-W2E6LF4Q.js +1 -0
  114. package/dist/{workspace-feedback-RQ4TGJW6.js → workspace-feedback-6VQ7T4CR.js} +1 -1
  115. package/dist/{workspace-foundation-GMGDUMPR.js → workspace-foundation-GHWO3BZU.js} +1 -1
  116. package/dist/workspace-graph-stream-PTVS47NJ.js +1 -0
  117. package/dist/workspace-graph-token-efficiency-Z5JD5NHI.js +1 -0
  118. package/dist/{workspace-history-SYCDK7FO.js → workspace-history-M2K4M2JY.js} +1 -1
  119. package/dist/{workspace-intelligence-5NO4K5SC.js → workspace-intelligence-PJIPTXL3.js} +1 -1
  120. package/dist/{workspace-intelligence-evaluation-CQDKOYZZ.js → workspace-intelligence-evaluation-GONCRE6O.js} +1 -1
  121. package/dist/{workspace-intelligence-runner-FGEBFVVM.js → workspace-intelligence-runner-M47QR3JM.js} +1 -1
  122. package/dist/{workspace-intelligence-runtime-registry-IW6J53LO.js → workspace-intelligence-runtime-registry-FFGQF4A7.js} +1 -1
  123. package/dist/workspace-knowledge-graph-V2EAYDCL.js +1 -0
  124. package/dist/workspace-knowledge-graph-contract-VANN7RCA.js +1 -0
  125. package/dist/{workspace-knowledge-graph-query-ON45H6Y7.js → workspace-knowledge-graph-query-RASPF7FS.js} +1 -1
  126. package/dist/workspace-knowledge-graph-snapshot-5YIG6EMG.js +1 -0
  127. package/dist/{workspace-marker-7NHMDIRL.js → workspace-marker-XGAWZZDX.js} +1 -1
  128. package/dist/workspace-mcp-serve-YRORNE4P.js +3 -0
  129. package/dist/workspace-model-VSVKLX7M.js +1 -0
  130. package/dist/{workspace-onboarding-VS3YYNGK.js → workspace-onboarding-2VMJZVLZ.js} +1 -1
  131. package/dist/{workspace-python-engine-state-J4QKW55K.js → workspace-python-engine-state-BE4A3BL5.js} +1 -1
  132. package/dist/{workspace-readme-G7TZ3V5T.js → workspace-readme-6X3GLTBM.js} +2 -2
  133. package/dist/{workspace-registry-summary-MIDFG6EC.js → workspace-registry-summary-QVSJKKTX.js} +1 -1
  134. package/dist/workspace-repair-engine-WSKV3Q4V.js +3 -0
  135. package/dist/workspace-run-3BXKTLVL.js +1 -0
  136. package/dist/{workspace-verify-4R7QHUPO.js → workspace-verify-EJCSOBIK.js} +1 -1
  137. package/dist/workspace-watch-JTIFBF4Z.js +1 -0
  138. package/docs/SETUP.md +10 -0
  139. package/docs/agent-entry.md +22 -7
  140. package/docs/ci-workflows.md +1 -1
  141. package/docs/commands-reference.md +43 -7
  142. package/docs/contracts/ARTIFACT_CATALOG.md +63 -44
  143. package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +1 -0
  144. package/docs/contracts/NAMING_AND_COEXISTENCE.md +20 -18
  145. package/docs/contracts/README.md +4 -3
  146. package/docs/real-world-qualification.md +19 -3
  147. package/docs/workspace-knowledge-graph.md +131 -27
  148. package/docs/workspace-live-activity.md +199 -0
  149. package/docs/workspace-operations.md +54 -9
  150. package/docs/workspace-repair-engine.md +17 -0
  151. package/package.json +1 -1
  152. package/dist/analyze-NUGNB256.js +0 -1
  153. package/dist/autopilot-release-TWJWSVVF.js +0 -1
  154. package/dist/capabilities-command-LHM3XIS6.js +0 -1
  155. package/dist/chunk-2647BYBC.js +0 -1
  156. package/dist/chunk-27UR373Z.js +0 -1
  157. package/dist/chunk-2VJUAKMS.js +0 -2
  158. package/dist/chunk-3A23KJAQ.js +0 -1
  159. package/dist/chunk-4PUJVYRM.js +0 -1
  160. package/dist/chunk-5B2GAZAC.js +0 -5
  161. package/dist/chunk-6DAQ7PYT.js +0 -13
  162. package/dist/chunk-CCAXADKP.js +0 -49
  163. package/dist/chunk-CCDGHPEJ.js +0 -2
  164. package/dist/chunk-CJHWKXDN.js +0 -1
  165. package/dist/chunk-CT4IODPG.js +0 -2
  166. package/dist/chunk-DK6JNE6K.js +0 -2
  167. package/dist/chunk-DOXNVBX6.js +0 -1
  168. package/dist/chunk-DWB2RRF4.js +0 -1
  169. package/dist/chunk-FQSBOLM7.js +0 -1
  170. package/dist/chunk-ILIBOMYL.js +0 -1
  171. package/dist/chunk-ISOOENLW.js +0 -8
  172. package/dist/chunk-J7RU5WR5.js +0 -2
  173. package/dist/chunk-JQLJBK5N.js +0 -1
  174. package/dist/chunk-KANAJH65.js +0 -681
  175. package/dist/chunk-KV6PS54A.js +0 -8
  176. package/dist/chunk-L22EABIC.js +0 -7
  177. package/dist/chunk-MOSXTVPU.js +0 -1
  178. package/dist/chunk-NHTDPXTW.js +0 -4
  179. package/dist/chunk-NZ3WZYD5.js +0 -1
  180. package/dist/chunk-Q2WF7D5U.js +0 -2
  181. package/dist/chunk-RSG2GJXT.js +0 -2
  182. package/dist/chunk-SFO5GVRT.js +0 -1
  183. package/dist/chunk-T5YRFRJV.js +0 -1
  184. package/dist/chunk-THIOE2PB.js +0 -2
  185. package/dist/chunk-TOYN76K4.js +0 -144
  186. package/dist/chunk-U5WVR74V.js +0 -1
  187. package/dist/chunk-UXEO5QCF.js +0 -33
  188. package/dist/chunk-VR6XMUF3.js +0 -2
  189. package/dist/chunk-WY4DOMEA.js +0 -1
  190. package/dist/chunk-XKDR5BGS.js +0 -6
  191. package/dist/chunk-Y5YAP4F3.js +0 -2
  192. package/dist/chunk-ZH7CXQH3.js +0 -94
  193. package/dist/goal-pack-FG3QDNQH.js +0 -1
  194. package/dist/project-intelligence-lens-PZPPSCUW.js +0 -1
  195. package/dist/verified-goal-BBHZRYYH.js +0 -1
  196. package/dist/workspace-contract-JS4LZZQZ.js +0 -1
  197. package/dist/workspace-explain-TITIT5XN.js +0 -1
  198. package/dist/workspace-explain-contract-V2IVSROX.js +0 -1
  199. package/dist/workspace-graph-stream-7UU2YVHC.js +0 -1
  200. package/dist/workspace-graph-token-efficiency-D7CUT6NX.js +0 -1
  201. package/dist/workspace-knowledge-graph-RSDP2E36.js +0 -1
  202. package/dist/workspace-knowledge-graph-snapshot-3FJHH5IK.js +0 -1
  203. package/dist/workspace-mcp-serve-WUIQ2AE6.js +0 -3
  204. package/dist/workspace-model-OKY4CQ3X.js +0 -1
  205. package/dist/workspace-repair-engine-VUBT77Y7.js +0 -3
  206. package/dist/workspace-run-SSF6Z26G.js +0 -1
  207. package/dist/workspace-watch-IOPSHQS5.js +0 -1
@@ -31,7 +31,20 @@
31
31
  "runtime": { "type": "string", "minLength": 1 },
32
32
  "framework": { "type": "string", "minLength": 1 },
33
33
  "kit": { "type": "string", "minLength": 1 },
34
- "modules": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
34
+ "governance": {
35
+ "type": "object",
36
+ "properties": {
37
+ "ci": { "$ref": "#/$defs/governanceControl" },
38
+ "release": { "$ref": "#/$defs/governanceControl" },
39
+ "ownership": { "$ref": "#/$defs/governanceControl" }
40
+ },
41
+ "additionalProperties": false
42
+ },
43
+ "modules": {
44
+ "type": "array",
45
+ "items": { "type": "string", "minLength": 1 },
46
+ "uniqueItems": true
47
+ },
35
48
  "ports": {
36
49
  "type": "array",
37
50
  "items": {
@@ -49,7 +62,11 @@
49
62
  "type": "object",
50
63
  "required": ["owns", "apis", "publishes", "consumes", "dependsOn", "env"],
51
64
  "properties": {
52
- "owns": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
65
+ "owns": {
66
+ "type": "array",
67
+ "items": { "type": "string", "minLength": 1 },
68
+ "uniqueItems": true
69
+ },
53
70
  "apis": {
54
71
  "type": "array",
55
72
  "items": {
@@ -62,10 +79,26 @@
62
79
  "additionalProperties": false
63
80
  }
64
81
  },
65
- "publishes": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
66
- "consumes": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
67
- "dependsOn": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
68
- "env": { "type": "array", "items": { "type": "string", "pattern": "^[A-Z_][A-Z0-9_]*$" }, "uniqueItems": true }
82
+ "publishes": {
83
+ "type": "array",
84
+ "items": { "type": "string", "minLength": 1 },
85
+ "uniqueItems": true
86
+ },
87
+ "consumes": {
88
+ "type": "array",
89
+ "items": { "type": "string", "minLength": 1 },
90
+ "uniqueItems": true
91
+ },
92
+ "dependsOn": {
93
+ "type": "array",
94
+ "items": { "type": "string", "minLength": 1 },
95
+ "uniqueItems": true
96
+ },
97
+ "env": {
98
+ "type": "array",
99
+ "items": { "type": "string", "pattern": "^[A-Z_][A-Z0-9_]*$" },
100
+ "uniqueItems": true
101
+ }
69
102
  },
70
103
  "additionalProperties": false
71
104
  }
@@ -74,5 +107,17 @@
74
107
  }
75
108
  }
76
109
  },
110
+ "$defs": {
111
+ "governanceControl": {
112
+ "type": "object",
113
+ "required": ["mode"],
114
+ "properties": {
115
+ "mode": { "enum": ["repository", "external"] },
116
+ "provider": { "type": "string", "minLength": 1 },
117
+ "reference": { "type": "string", "minLength": 1 }
118
+ },
119
+ "additionalProperties": false
120
+ }
121
+ },
77
122
  "additionalProperties": false
78
123
  }
@@ -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"
@@ -108,6 +111,7 @@
108
111
  "framework": { "type": "string" },
109
112
  "kit": { "type": "string" },
110
113
  "supportTier": { "type": "string" },
114
+ "governance": { "$ref": "#/$defs/projectGovernance" },
111
115
  "commands": {
112
116
  "type": "object",
113
117
  "required": ["supported", "unsupported", "fleetStages"],
@@ -139,6 +143,7 @@
139
143
  "relationsByKind",
140
144
  "languages",
141
145
  "semantic",
146
+ "projection",
142
147
  "relatedProjects",
143
148
  "freshness",
144
149
  "topology",
@@ -199,6 +204,41 @@
199
204
  },
200
205
  "additionalProperties": false
201
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
+ },
202
242
  "relatedProjects": {
203
243
  "type": "array",
204
244
  "items": { "type": "string" },
@@ -222,12 +262,12 @@
222
262
  "dependencies": {
223
263
  "type": "array",
224
264
  "items": { "$ref": "#/$defs/topologyRelation" },
225
- "maxItems": 128
265
+ "maxItems": 16
226
266
  },
227
267
  "dependents": {
228
268
  "type": "array",
229
269
  "items": { "$ref": "#/$defs/topologyRelation" },
230
- "maxItems": 128
270
+ "maxItems": 16
231
271
  }
232
272
  },
233
273
  "additionalProperties": false
@@ -266,7 +306,7 @@
266
306
  "decisions": { "$ref": "#/$defs/entityList" },
267
307
  "ports": {
268
308
  "type": "array",
269
- "maxItems": 32,
309
+ "maxItems": 8,
270
310
  "items": { "$ref": "#/$defs/port" }
271
311
  }
272
312
  },
@@ -274,6 +314,7 @@
274
314
  },
275
315
  "diagnostics": {
276
316
  "type": "array",
317
+ "maxItems": 16,
277
318
  "items": {
278
319
  "type": "object",
279
320
  "required": ["code", "severity", "message"],
@@ -293,23 +334,24 @@
293
334
  "type": "object",
294
335
  "required": ["readOrder", "projectProofArtifacts", "relations", "proofs"],
295
336
  "properties": {
296
- "readOrder": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
337
+ "readOrder": { "type": "array", "maxItems": 12, "items": { "type": "string" }, "uniqueItems": true },
297
338
  "projectProofArtifacts": {
298
339
  "type": "array",
299
340
  "items": {
300
341
  "type": "string",
301
342
  "not": { "pattern": "^(?:/|[A-Za-z]:[\\\\/])" }
302
343
  },
303
- "uniqueItems": true
344
+ "uniqueItems": true,
345
+ "maxItems": 24
304
346
  },
305
347
  "relations": {
306
348
  "type": "array",
307
- "maxItems": 128,
349
+ "maxItems": 16,
308
350
  "items": { "$ref": "#/$defs/relation" }
309
351
  },
310
352
  "proofs": {
311
353
  "type": "array",
312
- "maxItems": 128,
354
+ "maxItems": 16,
313
355
  "items": { "$ref": "#/$defs/proof" }
314
356
  }
315
357
  },
@@ -383,6 +425,7 @@
383
425
  "requiredReadOrder": {
384
426
  "type": "array",
385
427
  "minItems": 4,
428
+ "maxItems": 10,
386
429
  "uniqueItems": true,
387
430
  "items": { "type": "string", "minLength": 1 }
388
431
  },
@@ -424,6 +467,34 @@
424
467
  }
425
468
  },
426
469
  "$defs": {
470
+ "governanceControl": {
471
+ "type": "object",
472
+ "required": ["status", "provider", "evidence", "reference"],
473
+ "properties": {
474
+ "status": {
475
+ "enum": ["repository", "external-declared", "external-observed", "unknown"]
476
+ },
477
+ "provider": { "type": ["string", "null"] },
478
+ "evidence": {
479
+ "type": "array",
480
+ "items": { "type": "string", "minLength": 1 },
481
+ "uniqueItems": true
482
+ },
483
+ "reference": { "type": ["string", "null"] }
484
+ },
485
+ "additionalProperties": false
486
+ },
487
+ "projectGovernance": {
488
+ "type": "object",
489
+ "required": ["schemaVersion", "ci", "release", "ownership"],
490
+ "properties": {
491
+ "schemaVersion": { "const": "workspai.project-governance.v1" },
492
+ "ci": { "$ref": "#/$defs/governanceControl" },
493
+ "release": { "$ref": "#/$defs/governanceControl" },
494
+ "ownership": { "$ref": "#/$defs/governanceControl" }
495
+ },
496
+ "additionalProperties": false
497
+ },
427
498
  "portableString": {
428
499
  "type": "string",
429
500
  "not": { "pattern": "^(?:/|[A-Za-z]:[\\\\/])" }
@@ -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
+ }
@@ -50,7 +50,15 @@
50
50
  "type": "array",
51
51
  "items": {
52
52
  "type": "object",
53
- "required": ["kind", "id", "strategy", "hash", "fileCount", "fileLimit", "truncated"],
53
+ "required": [
54
+ "kind",
55
+ "id",
56
+ "strategy",
57
+ "hash",
58
+ "fileCount",
59
+ "fileLimit",
60
+ "truncated"
61
+ ],
54
62
  "properties": {
55
63
  "kind": { "enum": ["workspace", "project"] },
56
64
  "id": { "type": "string", "minLength": 1 },
@@ -58,7 +66,33 @@
58
66
  "hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
59
67
  "fileCount": { "type": "integer", "minimum": 0 },
60
68
  "fileLimit": { "type": "integer", "minimum": 1 },
61
- "truncated": { "type": "boolean" }
69
+ "truncated": { "type": "boolean" },
70
+ "eligibleFileCount": { "type": "integer", "minimum": 0 },
71
+ "eligibleFileCountExact": { "type": "boolean" },
72
+ "inventoryMode": { "enum": ["complete", "emergency-bounded"] },
73
+ "inventoryStrategy": {
74
+ "enum": ["git-index-worktree-v1", "filesystem-bfs-v1"]
75
+ },
76
+ "selection": {
77
+ "type": "object",
78
+ "required": [
79
+ "strategy",
80
+ "semanticFileCount",
81
+ "semanticFileBudget",
82
+ "deepFileCount",
83
+ "deepFileBudget",
84
+ "sourceExtractionFileBudget"
85
+ ],
86
+ "properties": {
87
+ "strategy": { "const": "component-language-round-robin-v1" },
88
+ "semanticFileCount": { "type": "integer", "minimum": 0 },
89
+ "semanticFileBudget": { "type": "integer", "minimum": 1 },
90
+ "deepFileCount": { "type": "integer", "minimum": 0 },
91
+ "deepFileBudget": { "type": "integer", "minimum": 1 },
92
+ "sourceExtractionFileBudget": { "type": "integer", "minimum": 1 }
93
+ },
94
+ "additionalProperties": false
95
+ }
62
96
  },
63
97
  "additionalProperties": false
64
98
  }
@@ -252,7 +286,37 @@
252
286
  "discoveredEntities": { "type": "integer", "minimum": 0 },
253
287
  "discoveredRelations": { "type": "integer", "minimum": 0 },
254
288
  "proofCount": { "type": "integer", "minimum": 0 },
255
- "diagnostics": { "type": "array", "items": { "type": "string" } }
289
+ "diagnostics": { "type": "array", "items": { "type": "string" } },
290
+ "inputCoverage": {
291
+ "type": "array",
292
+ "items": {
293
+ "type": "object",
294
+ "required": [
295
+ "scope",
296
+ "scopeId",
297
+ "tier",
298
+ "status",
299
+ "eligibleFiles",
300
+ "suppliedFiles",
301
+ "selectionStrategy"
302
+ ],
303
+ "properties": {
304
+ "scope": { "enum": ["workspace", "project"] },
305
+ "scopeId": { "type": "string", "minLength": 1 },
306
+ "tier": {
307
+ "enum": ["complete-inventory", "adaptive-semantic", "adaptive-deep", "derived"]
308
+ },
309
+ "status": { "enum": ["complete", "bounded", "not-applicable"] },
310
+ "eligibleFiles": { "type": "integer", "minimum": 0 },
311
+ "suppliedFiles": { "type": "integer", "minimum": 0 },
312
+ "fileBudget": { "type": "integer", "minimum": 1 },
313
+ "selectionStrategy": {
314
+ "enum": ["complete", "component-language-round-robin-v1", "derived"]
315
+ }
316
+ },
317
+ "additionalProperties": false
318
+ }
319
+ }
256
320
  },
257
321
  "additionalProperties": false
258
322
  }
@@ -284,18 +348,59 @@
284
348
  "type": "object",
285
349
  "required": [
286
350
  "apiImplementation",
351
+ "apiRuntimeRegistration",
287
352
  "projectTests",
288
353
  "projectDeployment",
289
354
  "projectOwnership"
290
355
  ],
291
356
  "properties": {
292
357
  "apiImplementation": { "$ref": "#/$defs/bindingCoverage" },
358
+ "apiRuntimeRegistration": { "$ref": "#/$defs/bindingCoverage" },
293
359
  "projectTests": { "$ref": "#/$defs/bindingCoverage" },
294
360
  "projectDeployment": { "$ref": "#/$defs/bindingCoverage" },
295
361
  "projectOwnership": { "$ref": "#/$defs/bindingCoverage" }
296
362
  },
297
363
  "additionalProperties": false
298
364
  },
365
+ "completeness": {
366
+ "type": "object",
367
+ "required": ["status", "inventory", "providers"],
368
+ "properties": {
369
+ "status": { "enum": ["complete", "bounded"] },
370
+ "inventory": {
371
+ "type": "object",
372
+ "required": [
373
+ "scopeCount",
374
+ "completeScopes",
375
+ "boundedScopes",
376
+ "eligibleFiles",
377
+ "indexedFiles",
378
+ "eligibleFileCountExact"
379
+ ],
380
+ "properties": {
381
+ "scopeCount": { "type": "integer", "minimum": 0 },
382
+ "completeScopes": { "type": "integer", "minimum": 0 },
383
+ "boundedScopes": { "type": "integer", "minimum": 0 },
384
+ "eligibleFiles": { "type": "integer", "minimum": 0 },
385
+ "indexedFiles": { "type": "integer", "minimum": 0 },
386
+ "eligibleFileCountExact": { "type": "boolean" }
387
+ },
388
+ "additionalProperties": false
389
+ },
390
+ "providers": {
391
+ "type": "object",
392
+ "required": ["complete", "bounded", "notApplicable", "failed"],
393
+ "properties": {
394
+ "complete": { "type": "integer", "minimum": 0 },
395
+ "bounded": { "type": "integer", "minimum": 0 },
396
+ "notApplicable": { "type": "integer", "minimum": 0 },
397
+ "failed": { "type": "integer", "minimum": 0 }
398
+ },
399
+ "additionalProperties": false
400
+ }
401
+ },
402
+ "additionalProperties": false
403
+ },
299
404
  "portable": { "const": true },
300
405
  "secretValuesEmitted": { "const": false }
301
406
  },
@@ -47,6 +47,7 @@
47
47
  "extension",
48
48
  "service",
49
49
  "worker",
50
+ "platform",
50
51
  "library",
51
52
  "infra",
52
53
  "docs",
@@ -63,6 +64,7 @@
63
64
  "frontend",
64
65
  "desktop",
65
66
  "extension",
67
+ "platform",
66
68
  "library",
67
69
  "infrastructure",
68
70
  "documentation",
@@ -92,6 +94,7 @@
92
94
  "desktop",
93
95
  "extension",
94
96
  "worker",
97
+ "platform",
95
98
  "library",
96
99
  "infra",
97
100
  "docs",
@@ -105,13 +108,15 @@
105
108
  "frontend",
106
109
  "desktop",
107
110
  "extension",
111
+ "platform",
108
112
  "library",
109
113
  "infrastructure",
110
114
  "documentation",
111
115
  "quality",
112
116
  "unknown"
113
117
  ]
114
- }
118
+ },
119
+ "governance": { "$ref": "#/$defs/projectGovernance" }
115
120
  },
116
121
  "additionalProperties": true
117
122
  }
@@ -135,6 +140,28 @@
135
140
  "build": { "$ref": "#/$defs/buildProvenance" }
136
141
  },
137
142
  "$defs": {
143
+ "projectGovernance": {
144
+ "type": "object",
145
+ "required": ["schemaVersion", "ci", "release", "ownership"],
146
+ "properties": {
147
+ "schemaVersion": { "const": "workspai.project-governance.v1" },
148
+ "ci": { "$ref": "#/$defs/governanceControl" },
149
+ "release": { "$ref": "#/$defs/governanceControl" },
150
+ "ownership": { "$ref": "#/$defs/governanceControl" }
151
+ },
152
+ "additionalProperties": false
153
+ },
154
+ "governanceControl": {
155
+ "type": "object",
156
+ "required": ["status", "provider", "evidence", "reference"],
157
+ "properties": {
158
+ "status": { "enum": ["repository", "external-declared", "external-observed", "unknown"] },
159
+ "provider": { "type": ["string", "null"] },
160
+ "evidence": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
161
+ "reference": { "type": ["string", "null"] }
162
+ },
163
+ "additionalProperties": false
164
+ },
138
165
  "buildProvenance": {
139
166
  "type": "object",
140
167
  "description": "Non-structural provenance for the model command execution. It is excluded from the canonical workspace-model hash.",