workspai 0.58.0 → 0.59.1

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 (140) hide show
  1. package/README.md +80 -32
  2. package/contracts/agent-customization-pack.v1.json +52 -4
  3. package/contracts/cli-runtime-command-inventory.v1.snapshot.json +90 -0
  4. package/contracts/extension-cli-compatibility.v1.json +3 -1
  5. package/contracts/project-workspace-resolution.v1.json +15 -2
  6. package/contracts/published-contract-catalog.v1.json +10 -0
  7. package/contracts/runtime-command-surface.v1.json +54 -0
  8. package/contracts/workspace-intelligence/agent-bootstrap-receipt.v1.json +247 -0
  9. package/contracts/workspace-intelligence/agent-customization-pack-report.v1.json +16 -1
  10. package/contracts/workspace-intelligence/goal-index.v1.json +7 -1
  11. package/contracts/workspace-intelligence/goal-pack.v1.json +2 -1
  12. package/contracts/workspace-intelligence/project-agent-entry.v1.json +204 -0
  13. package/contracts/workspace-intelligence/project-context-agent.v1.json +43 -26
  14. package/contracts/workspace-intelligence/workspace-context.v1.json +14 -1
  15. package/contracts/workspace-intelligence/workspace-repair-transaction.v1.json +15 -2
  16. package/contracts/workspace-repair-capabilities.v1.json +5 -0
  17. package/dist/analyze-52TEGLDR.js +1 -0
  18. package/dist/{artifact-remediation-plan-JRX4XZ7C.js → artifact-remediation-plan-HPNQTNJ2.js} +1 -1
  19. package/dist/autopilot-release-NFLAKBA3.js +1 -0
  20. package/dist/capabilities-command-VBLZXP2T.js +1 -0
  21. package/dist/{chunk-TTLVG5AR.js → chunk-3CGR6435.js} +1 -1
  22. package/dist/chunk-4PUJVYRM.js +1 -0
  23. package/dist/{chunk-4NN5QWOB.js → chunk-5NIZNXRS.js} +1 -1
  24. package/dist/{chunk-HYY5PQCV.js → chunk-5PSKBJKJ.js} +1 -1
  25. package/dist/{chunk-AA4PNQKR.js → chunk-5SFCBZOH.js} +1 -1
  26. package/dist/{chunk-MFJ6ZP7S.js → chunk-6FBNSTUS.js} +1 -1
  27. package/dist/{chunk-FY6OHOXR.js → chunk-7DSYI7YN.js} +1 -1
  28. package/dist/chunk-7SFXADXO.js +2 -0
  29. package/dist/{chunk-GRGUPSNP.js → chunk-CCDGHPEJ.js} +1 -1
  30. package/dist/{chunk-T63WRURN.js → chunk-D65FCQIO.js} +1 -1
  31. package/dist/{chunk-YYCPRYP7.js → chunk-DGGTTRYE.js} +1 -1
  32. package/dist/chunk-DQ6VXTDE.js +1 -0
  33. package/dist/{chunk-SM55RK3C.js → chunk-ENKGGWRX.js} +1 -1
  34. package/dist/chunk-FLTIFYTJ.js +142 -0
  35. package/dist/{chunk-RMDVRNU7.js → chunk-GPOZILMY.js} +1 -1
  36. package/dist/{chunk-C4NYG57I.js → chunk-HCFWT42C.js} +1 -1
  37. package/dist/{chunk-RJDGC6AQ.js → chunk-HS3DJMU5.js} +1 -1
  38. package/dist/{chunk-HI7ONEFI.js → chunk-J3X56S7L.js} +1 -1
  39. package/dist/{chunk-N3DFX4BY.js → chunk-KBR4Y4RW.js} +1 -1
  40. package/dist/{chunk-H545P6LN.js → chunk-KTN2ARZJ.js} +1 -1
  41. package/dist/chunk-LPCWROQ3.js +1 -0
  42. package/dist/chunk-MZKKRAAJ.js +2 -0
  43. package/dist/{chunk-LGJAAPNR.js → chunk-N4QQADXX.js} +1 -1
  44. package/dist/{chunk-FXIE2WVG.js → chunk-NOZ4JCH7.js} +1 -1
  45. package/dist/chunk-NZ3WZYD5.js +1 -0
  46. package/dist/{chunk-VAWV3UKV.js → chunk-OFWSZYUX.js} +1 -1
  47. package/dist/{chunk-XC26FNRL.js → chunk-P2WH7W2H.js} +11 -11
  48. package/dist/chunk-PVXSIYLP.js +1 -0
  49. package/dist/{chunk-7KXRA5ST.js → chunk-PXWKMPPI.js} +1 -1
  50. package/dist/{chunk-II4ROT6X.js → chunk-QCKWQFCD.js} +1 -1
  51. package/dist/{chunk-4YICCES6.js → chunk-QFBVQUKV.js} +1 -1
  52. package/dist/{chunk-G4VMNWSU.js → chunk-QJCCZLOF.js} +1 -1
  53. package/dist/{chunk-A3JCETSF.js → chunk-QMPFNXI7.js} +1 -1
  54. package/dist/{chunk-CFBAGPB4.js → chunk-QPE6VCDW.js} +1 -1
  55. package/dist/chunk-RTDEFUTL.js +39 -0
  56. package/dist/{chunk-YMY6EFX4.js → chunk-RVKMGKYL.js} +1 -1
  57. package/dist/chunk-S4CWUZ4K.js +1 -0
  58. package/dist/{chunk-EEMRRCGR.js → chunk-SP5EHSWG.js} +1 -1
  59. package/dist/{chunk-CHMCKYJJ.js → chunk-U3MGJN7A.js} +1 -1
  60. package/dist/{chunk-WSDVFLHT.js → chunk-W6FHVXNL.js} +1 -1
  61. package/dist/{chunk-M2BK3XTP.js → chunk-WQX3JYEP.js} +1 -1
  62. package/dist/{chunk-AUCHMXUZ.js → chunk-WSRUPDZN.js} +1 -1
  63. package/dist/{chunk-6TNSCVR4.js → chunk-Y4B55J5S.js} +1 -1
  64. package/dist/{chunk-GVS5OFUB.js → chunk-YEEAWZWI.js} +1 -1
  65. package/dist/{chunk-I5PDN2P2.js → chunk-ZJCM37KX.js} +1 -1
  66. package/dist/{create-QIN56Y4M.js → create-HUEDWYDM.js} +1 -1
  67. package/dist/{doctor-RP4Q2CKJ.js → doctor-NAZEKMGU.js} +1 -1
  68. package/dist/goal-lifecycle-NUKWVUAL.js +1 -0
  69. package/dist/goal-pack-TWOXHXN6.js +1 -0
  70. package/dist/index.d.ts +8 -1
  71. package/dist/index.js +134 -132
  72. package/dist/{pipeline-77NUVYQD.js → pipeline-62A2SDLC.js} +1 -1
  73. package/dist/project-agent-entry-7SYHRY7J.js +1 -0
  74. package/dist/{project-intelligence-lens-AM2B2PXU.js → project-intelligence-lens-BSG5LK6N.js} +1 -1
  75. package/dist/{project-test-coverage-MUSS7Z7V.js → project-test-coverage-HP37HUV2.js} +1 -1
  76. package/dist/{verified-goal-ZSIZYNVO.js → verified-goal-B6HQOZWA.js} +1 -1
  77. package/dist/{workspace-LFESVKE7.js → workspace-BNRSBWSL.js} +1 -1
  78. package/dist/{workspace-agent-sync-JMRX6J2Y.js → workspace-agent-sync-ANBHBZ2H.js} +1 -1
  79. package/dist/{workspace-archive-MFHCFCDO.js → workspace-archive-ZBCKJHXS.js} +1 -1
  80. package/dist/{workspace-context-TBKRMVMT.js → workspace-context-RAO62QVU.js} +1 -1
  81. package/dist/{workspace-contract-KKVC2DUQ.js → workspace-contract-ACSIHJIO.js} +1 -1
  82. package/dist/workspace-explain-RH27OQB4.js +1 -0
  83. package/dist/workspace-explain-contract-ZL4NMLZI.js +1 -0
  84. package/dist/{workspace-feedback-O6J3RQML.js → workspace-feedback-RQ4TGJW6.js} +1 -1
  85. package/dist/{workspace-foundation-JQWT7YGC.js → workspace-foundation-EWYJPPT6.js} +1 -1
  86. package/dist/{workspace-graph-stream-V5WOXP4B.js → workspace-graph-stream-ZZZEQQTE.js} +1 -1
  87. package/dist/workspace-graph-token-efficiency-D7CUT6NX.js +1 -0
  88. package/dist/{workspace-history-TOCRMJUJ.js → workspace-history-SYCDK7FO.js} +1 -1
  89. package/dist/{workspace-intelligence-SDBIRKMK.js → workspace-intelligence-3YERTBA3.js} +1 -1
  90. package/dist/{workspace-intelligence-evaluation-E4UMWDAZ.js → workspace-intelligence-evaluation-CQDKOYZZ.js} +1 -1
  91. package/dist/{workspace-intelligence-runner-DIMNL6CJ.js → workspace-intelligence-runner-QLLBUD6G.js} +1 -1
  92. package/dist/{workspace-intelligence-runtime-registry-YGWB2RRS.js → workspace-intelligence-runtime-registry-IW6J53LO.js} +1 -1
  93. package/dist/{workspace-knowledge-graph-MUW6UAGI.js → workspace-knowledge-graph-HZZP6ZRB.js} +1 -1
  94. package/dist/{workspace-knowledge-graph-query-6DAOXGGT.js → workspace-knowledge-graph-query-ON45H6Y7.js} +1 -1
  95. package/dist/workspace-knowledge-graph-snapshot-7DWHMEM2.js +1 -0
  96. package/dist/{workspace-mcp-serve-2SWLIH4I.js → workspace-mcp-serve-5TTAN243.js} +1 -1
  97. package/dist/{workspace-model-VPFCKTYQ.js → workspace-model-EIQSKDX7.js} +1 -1
  98. package/dist/{workspace-onboarding-GHI6UTQJ.js → workspace-onboarding-UW3CSURE.js} +1 -1
  99. package/dist/{workspace-readme-RASXBZRQ.js → workspace-readme-56YZ4EAZ.js} +1 -1
  100. package/dist/{workspace-registry-summary-7QT7YMIU.js → workspace-registry-summary-OV5KX3WC.js} +1 -1
  101. package/dist/workspace-repair-engine-DHH2UUJN.js +3 -0
  102. package/dist/workspace-run-BLHRXT2N.js +1 -0
  103. package/dist/{workspace-verify-RYCQZYYB.js → workspace-verify-W4P6LBIH.js} +1 -1
  104. package/dist/{workspace-watch-U3YGN3GG.js → workspace-watch-EZ4D4VCF.js} +1 -1
  105. package/docs/GLOSSARY.md +13 -10
  106. package/docs/README.md +24 -19
  107. package/docs/README_CONTENT_CONTRACT.md +12 -8
  108. package/docs/agent-entry.md +194 -0
  109. package/docs/ci-workflows.md +18 -1
  110. package/docs/commands-reference.md +26 -2
  111. package/docs/contracts/ARTIFACT_CATALOG.md +9 -3
  112. package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +3 -0
  113. package/docs/contracts/README.md +22 -2
  114. package/docs/goal-packs.md +70 -9
  115. package/docs/workspace-operations.md +16 -8
  116. package/docs/workspace-repair-engine.md +36 -5
  117. package/package.json +4 -2
  118. package/scripts/enterprise-package-smoke.mjs +4 -0
  119. package/dist/analyze-MAU36FTX.js +0 -1
  120. package/dist/autopilot-release-TA2L7SCB.js +0 -1
  121. package/dist/capabilities-command-HE2FICLG.js +0 -1
  122. package/dist/chunk-42Q5E2YV.js +0 -1
  123. package/dist/chunk-7IRGSM25.js +0 -1
  124. package/dist/chunk-CNWUIXF3.js +0 -1
  125. package/dist/chunk-FPJNWPKU.js +0 -1
  126. package/dist/chunk-HH54C3XJ.js +0 -1
  127. package/dist/chunk-NQ5H4R2I.js +0 -83
  128. package/dist/chunk-PCXBPQO6.js +0 -1
  129. package/dist/chunk-QXW3SLEX.js +0 -1
  130. package/dist/chunk-TMOKXYAQ.js +0 -2
  131. package/dist/chunk-VIFTO53Y.js +0 -1
  132. package/dist/chunk-ZDYGO3T7.js +0 -36
  133. package/dist/goal-lifecycle-YTBU3ICP.js +0 -1
  134. package/dist/goal-pack-MYYH7K43.js +0 -1
  135. package/dist/workspace-explain-RGGZL5IW.js +0 -1
  136. package/dist/workspace-explain-contract-4ZZ6CJ44.js +0 -1
  137. package/dist/workspace-graph-token-efficiency-TF23UYEF.js +0 -1
  138. package/dist/workspace-knowledge-graph-snapshot-7IU2QAXI.js +0 -1
  139. package/dist/workspace-repair-engine-AZTJIFCY.js +0 -3
  140. package/dist/workspace-run-VMZY6LIF.js +0 -1
@@ -0,0 +1,247 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/agent-bootstrap-receipt.v1.json",
4
+ "title": "Workspai Agent Bootstrap Receipt",
5
+ "description": "Portable per-session proof that an agent resolved canonical project evidence before broad source discovery.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schemaVersion",
10
+ "generatedAt",
11
+ "receiptId",
12
+ "status",
13
+ "requestedAgent",
14
+ "resolvedHost",
15
+ "project",
16
+ "workspace",
17
+ "entry",
18
+ "canonicalEvidence",
19
+ "activeGoal",
20
+ "requiredReadOrder",
21
+ "claims",
22
+ "checks",
23
+ "nextActions",
24
+ "integrity"
25
+ ],
26
+ "properties": {
27
+ "schemaVersion": { "const": "workspai.agent-bootstrap-receipt.v1" },
28
+ "generatedAt": { "type": "string", "format": "date-time" },
29
+ "receiptId": { "$ref": "#/$defs/hash" },
30
+ "status": { "$ref": "#/$defs/status" },
31
+ "requestedAgent": {
32
+ "enum": [
33
+ "generic",
34
+ "codex",
35
+ "claude",
36
+ "gemini",
37
+ "qwen",
38
+ "kimi",
39
+ "grok",
40
+ "copilot",
41
+ "cursor",
42
+ "windsurf",
43
+ "amazon-q",
44
+ "all"
45
+ ]
46
+ },
47
+ "resolvedHost": {
48
+ "enum": [
49
+ "generic",
50
+ "codex",
51
+ "claude",
52
+ "gemini",
53
+ "qwen",
54
+ "kimi",
55
+ "grok",
56
+ "copilot",
57
+ "cursor",
58
+ "windsurf",
59
+ "amazon-q",
60
+ "all"
61
+ ]
62
+ },
63
+ "project": {
64
+ "type": "object",
65
+ "additionalProperties": false,
66
+ "required": ["name", "relativePath"],
67
+ "properties": {
68
+ "name": { "type": "string", "minLength": 1 },
69
+ "relativePath": { "$ref": "#/$defs/portablePath" },
70
+ "runtime": { "type": "string", "minLength": 1 },
71
+ "framework": { "type": "string", "minLength": 1 }
72
+ }
73
+ },
74
+ "workspace": {
75
+ "type": "object",
76
+ "additionalProperties": false,
77
+ "required": [
78
+ "name",
79
+ "relationship",
80
+ "resolved",
81
+ "identityIsFilesystemPath",
82
+ "resolverCommand",
83
+ "portableUriScheme",
84
+ "resolvedPathPolicy"
85
+ ],
86
+ "properties": {
87
+ "name": { "type": "string", "minLength": 1 },
88
+ "relationship": {
89
+ "enum": ["managed", "adopted", "imported", "linked", "restored"]
90
+ },
91
+ "resolved": { "const": true },
92
+ "identityIsFilesystemPath": { "const": false },
93
+ "resolverCommand": { "const": "workspai project workspace status --json" },
94
+ "portableUriScheme": { "const": "workspace:" },
95
+ "resolvedPathPolicy": { "const": "runtime-private-never-persist" }
96
+ }
97
+ },
98
+ "entry": {
99
+ "type": "object",
100
+ "additionalProperties": false,
101
+ "required": ["artifact", "schemaVersion", "hostStatus", "entryFiles"],
102
+ "properties": {
103
+ "artifact": { "const": ".workspai/agent-entry.v1.json" },
104
+ "schemaVersion": { "const": "workspai.agent-entry.v1" },
105
+ "hostStatus": { "$ref": "#/$defs/status" },
106
+ "entryFiles": {
107
+ "type": "array",
108
+ "minItems": 1,
109
+ "maxItems": 16,
110
+ "uniqueItems": true,
111
+ "items": { "$ref": "#/$defs/portablePath" }
112
+ }
113
+ }
114
+ },
115
+ "canonicalEvidence": {
116
+ "type": "object",
117
+ "additionalProperties": false,
118
+ "required": [
119
+ "projectContext",
120
+ "workspaceIndex",
121
+ "workspaceContext",
122
+ "workspaceModel",
123
+ "knowledgeGraph",
124
+ "modelFreshness",
125
+ "graphFreshness",
126
+ "graphMatchesModel",
127
+ "liveInputsValidated",
128
+ "blockerCount"
129
+ ],
130
+ "properties": {
131
+ "projectContext": { "const": ".workspai/reports/project-context-agent.json" },
132
+ "workspaceIndex": { "const": "workspace:.workspai/reports/INDEX.json" },
133
+ "workspaceContext": {
134
+ "const": "workspace:.workspai/reports/workspace-context-agent.json"
135
+ },
136
+ "workspaceModel": { "const": "workspace:.workspai/reports/workspace-model.json" },
137
+ "knowledgeGraph": {
138
+ "const": "workspace:.workspai/reports/workspace-knowledge-graph.json"
139
+ },
140
+ "modelFreshness": { "enum": ["fresh", "stale", "unknown", "missing"] },
141
+ "graphFreshness": { "enum": ["fresh", "stale", "unknown", "missing"] },
142
+ "graphMatchesModel": { "type": "boolean" },
143
+ "liveInputsValidated": { "type": "boolean" },
144
+ "blockerCount": { "type": "integer", "minimum": 0 }
145
+ }
146
+ },
147
+ "activeGoal": {
148
+ "type": "object",
149
+ "additionalProperties": false,
150
+ "required": ["present", "appliesToProject", "status"],
151
+ "properties": {
152
+ "present": { "type": "boolean" },
153
+ "appliesToProject": { "type": "boolean" },
154
+ "status": { "enum": ["none", "ready", "stale", "invalid"] },
155
+ "id": { "type": "string", "minLength": 1 },
156
+ "objective": { "type": "string", "minLength": 1 },
157
+ "lifecycle": { "type": "string", "minLength": 1 },
158
+ "goalPack": { "$ref": "#/$defs/workspaceArtifact" },
159
+ "agentHandoff": { "$ref": "#/$defs/workspaceArtifact" }
160
+ },
161
+ "allOf": [
162
+ {
163
+ "if": { "properties": { "status": { "const": "none" } } },
164
+ "then": { "properties": { "present": { "const": false } } }
165
+ },
166
+ {
167
+ "if": {
168
+ "properties": { "status": { "enum": ["ready", "stale", "invalid"] } }
169
+ },
170
+ "then": { "properties": { "present": { "const": true } } }
171
+ }
172
+ ]
173
+ },
174
+ "requiredReadOrder": {
175
+ "type": "array",
176
+ "minItems": 6,
177
+ "maxItems": 16,
178
+ "uniqueItems": true,
179
+ "items": { "type": "string", "minLength": 1 }
180
+ },
181
+ "claims": {
182
+ "type": "object",
183
+ "additionalProperties": false,
184
+ "required": ["architecture", "sourceInspection", "sourceMutation", "verification"],
185
+ "properties": {
186
+ "architecture": { "enum": ["allowed-with-citations", "prohibited"] },
187
+ "sourceInspection": { "const": "bounded-and-targeted" },
188
+ "sourceMutation": { "const": "governed-cli-transaction-only" },
189
+ "verification": { "const": "cli-evidence-only" }
190
+ }
191
+ },
192
+ "checks": {
193
+ "type": "array",
194
+ "minItems": 6,
195
+ "items": {
196
+ "type": "object",
197
+ "additionalProperties": false,
198
+ "required": ["id", "status", "message"],
199
+ "properties": {
200
+ "id": { "type": "string", "minLength": 1 },
201
+ "status": { "enum": ["passed", "warning", "failed"] },
202
+ "message": { "type": "string", "minLength": 1 },
203
+ "artifact": { "$ref": "#/$defs/portablePath" }
204
+ }
205
+ }
206
+ },
207
+ "nextActions": {
208
+ "type": "array",
209
+ "minItems": 1,
210
+ "maxItems": 8,
211
+ "items": { "type": "string", "minLength": 1 }
212
+ },
213
+ "integrity": {
214
+ "type": "object",
215
+ "additionalProperties": false,
216
+ "required": [
217
+ "algorithm",
218
+ "manifestHash",
219
+ "projectContextHash",
220
+ "payloadHash",
221
+ "portable",
222
+ "absolutePathsEmitted"
223
+ ],
224
+ "properties": {
225
+ "algorithm": { "const": "sha256" },
226
+ "manifestHash": { "$ref": "#/$defs/hash" },
227
+ "projectContextHash": { "$ref": "#/$defs/hash" },
228
+ "payloadHash": { "$ref": "#/$defs/hash" },
229
+ "portable": { "const": true },
230
+ "absolutePathsEmitted": { "const": false }
231
+ }
232
+ }
233
+ },
234
+ "$defs": {
235
+ "hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
236
+ "status": { "enum": ["ready", "degraded", "blocked"] },
237
+ "portablePath": {
238
+ "type": "string",
239
+ "minLength": 1,
240
+ "not": { "pattern": "^(?:/|[A-Za-z]:[\\\\/])" }
241
+ },
242
+ "workspaceArtifact": {
243
+ "type": "string",
244
+ "pattern": "^workspace:\\.workspai/"
245
+ }
246
+ }
247
+ }
@@ -27,7 +27,22 @@
27
27
  "targets": {
28
28
  "type": "array",
29
29
  "items": {
30
- "enum": ["all", "vscode", "agents", "copilot", "cursor", "claude", "codex", "orca"]
30
+ "enum": [
31
+ "all",
32
+ "vscode",
33
+ "agents",
34
+ "copilot",
35
+ "cursor",
36
+ "claude",
37
+ "codex",
38
+ "gemini",
39
+ "qwen",
40
+ "kimi",
41
+ "grok",
42
+ "windsurf",
43
+ "amazon-q",
44
+ "orca"
45
+ ]
31
46
  }
32
47
  },
33
48
  "sourceReports": { "type": "array", "items": { "type": "string", "minLength": 1 } },
@@ -35,7 +35,13 @@
35
35
  "goalPack": { "type": "string", "pattern": "^\\.workspai/goals/[^/]+/goal-pack\\.json$" },
36
36
  "agentHandoff": { "type": "string", "pattern": "^\\.workspai/goals/[^/]+/agent-handoff\\.json$" },
37
37
  "verifiedGoalId": { "type": "string", "minLength": 1 },
38
- "repairTransactionId": { "type": "string", "minLength": 1 }
38
+ "repairTransactionId": { "type": "string", "minLength": 1 },
39
+ "repairTransactionIds": {
40
+ "type": "array",
41
+ "maxItems": 25,
42
+ "uniqueItems": true,
43
+ "items": { "type": "string", "minLength": 1 }
44
+ }
39
45
  },
40
46
  "additionalProperties": false
41
47
  }
@@ -216,7 +216,8 @@
216
216
  "hashSemantics": { "const": "canonical-json-v1" },
217
217
  "hash": { "$ref": "#/$defs/hash" },
218
218
  "generatedAt": { "type": "string", "format": "date-time" },
219
- "modelHash": { "$ref": "#/$defs/hash" }
219
+ "modelHash": { "$ref": "#/$defs/hash" },
220
+ "inputHash": { "$ref": "#/$defs/hash" }
220
221
  },
221
222
  "additionalProperties": false
222
223
  },
@@ -0,0 +1,204 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/project-agent-entry.v1.json",
4
+ "title": "Workspai Project Agent Entry",
5
+ "description": "Portable host-discovery and canonical-first entry contract for an adopted or managed project.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schemaVersion",
10
+ "generatedAt",
11
+ "project",
12
+ "workspace",
13
+ "canonical",
14
+ "protocol",
15
+ "hosts",
16
+ "integrity"
17
+ ],
18
+ "properties": {
19
+ "schemaVersion": { "const": "workspai.agent-entry.v1" },
20
+ "generatedAt": { "type": "string", "format": "date-time" },
21
+ "project": {
22
+ "type": "object",
23
+ "additionalProperties": false,
24
+ "required": ["name", "relativePath"],
25
+ "properties": {
26
+ "name": { "type": "string", "minLength": 1 },
27
+ "relativePath": { "$ref": "#/$defs/portablePath" },
28
+ "runtime": { "type": "string", "minLength": 1 },
29
+ "framework": { "type": "string", "minLength": 1 }
30
+ }
31
+ },
32
+ "workspace": {
33
+ "type": "object",
34
+ "additionalProperties": false,
35
+ "required": [
36
+ "name",
37
+ "relationship",
38
+ "localBinding",
39
+ "identityIsFilesystemPath",
40
+ "resolverCommand",
41
+ "portableUriScheme",
42
+ "resolvedPathPolicy"
43
+ ],
44
+ "properties": {
45
+ "name": { "type": "string", "minLength": 1 },
46
+ "relationship": {
47
+ "enum": ["managed", "adopted", "imported", "linked", "restored"]
48
+ },
49
+ "localBinding": { "const": ".workspai/workspace-link.local.json" },
50
+ "identityIsFilesystemPath": { "const": false },
51
+ "resolverCommand": { "const": "workspai project workspace status --json" },
52
+ "portableUriScheme": { "const": "workspace:" },
53
+ "resolvedPathPolicy": { "const": "runtime-private-never-persist" }
54
+ }
55
+ },
56
+ "canonical": {
57
+ "type": "object",
58
+ "additionalProperties": false,
59
+ "required": [
60
+ "projectContext",
61
+ "projectGrounding",
62
+ "goalIndex",
63
+ "workspaceIndex",
64
+ "workspaceContext",
65
+ "workspaceModel",
66
+ "knowledgeGraph"
67
+ ],
68
+ "properties": {
69
+ "projectContext": { "const": ".workspai/reports/project-context-agent.json" },
70
+ "projectGrounding": { "const": ".workspai/PROJECT-GROUNDING.md" },
71
+ "goalIndex": { "const": "workspace:.workspai/goals/index.json" },
72
+ "workspaceIndex": { "const": "workspace:.workspai/reports/INDEX.json" },
73
+ "workspaceContext": {
74
+ "const": "workspace:.workspai/reports/workspace-context-agent.json"
75
+ },
76
+ "workspaceModel": { "const": "workspace:.workspai/reports/workspace-model.json" },
77
+ "knowledgeGraph": {
78
+ "const": "workspace:.workspai/reports/workspace-knowledge-graph.json"
79
+ }
80
+ }
81
+ },
82
+ "protocol": {
83
+ "type": "object",
84
+ "additionalProperties": false,
85
+ "required": [
86
+ "mode",
87
+ "bootstrapCommand",
88
+ "verifyCommand",
89
+ "requiredReadOrder",
90
+ "sourcePolicy",
91
+ "degradedMode"
92
+ ],
93
+ "properties": {
94
+ "mode": { "const": "canonical-first" },
95
+ "bootstrapCommand": { "type": "string", "minLength": 1 },
96
+ "verifyCommand": { "type": "string", "minLength": 1 },
97
+ "requiredReadOrder": {
98
+ "type": "array",
99
+ "minItems": 6,
100
+ "maxItems": 16,
101
+ "uniqueItems": true,
102
+ "items": { "type": "string", "minLength": 1 }
103
+ },
104
+ "sourcePolicy": {
105
+ "type": "object",
106
+ "additionalProperties": false,
107
+ "required": [
108
+ "liveSourceAuthority",
109
+ "workspaceEvidenceAuthority",
110
+ "broadScanBeforeBootstrap",
111
+ "sourceMutation",
112
+ "verificationClaims"
113
+ ],
114
+ "properties": {
115
+ "liveSourceAuthority": { "const": "exact-implementation" },
116
+ "workspaceEvidenceAuthority": { "const": "identity-topology-readiness-goals" },
117
+ "broadScanBeforeBootstrap": { "const": false },
118
+ "sourceMutation": { "const": "governed-only" },
119
+ "verificationClaims": { "const": "cli-evidence-only" }
120
+ }
121
+ },
122
+ "degradedMode": {
123
+ "type": "object",
124
+ "additionalProperties": false,
125
+ "required": [
126
+ "discloseMissingEvidence",
127
+ "allowCompleteArchitectureClaims",
128
+ "allowReadOnlySourceInspection"
129
+ ],
130
+ "properties": {
131
+ "discloseMissingEvidence": { "const": true },
132
+ "allowCompleteArchitectureClaims": { "const": false },
133
+ "allowReadOnlySourceInspection": { "const": true }
134
+ }
135
+ }
136
+ }
137
+ },
138
+ "hosts": {
139
+ "type": "array",
140
+ "minItems": 11,
141
+ "maxItems": 11,
142
+ "items": { "$ref": "#/$defs/host" }
143
+ },
144
+ "integrity": {
145
+ "type": "object",
146
+ "additionalProperties": false,
147
+ "required": [
148
+ "algorithm",
149
+ "projectContextHash",
150
+ "payloadHash",
151
+ "portable",
152
+ "absolutePathsEmitted"
153
+ ],
154
+ "properties": {
155
+ "algorithm": { "const": "sha256" },
156
+ "projectContextHash": { "$ref": "#/$defs/hash" },
157
+ "payloadHash": { "$ref": "#/$defs/hash" },
158
+ "portable": { "const": true },
159
+ "absolutePathsEmitted": { "const": false }
160
+ }
161
+ }
162
+ },
163
+ "$defs": {
164
+ "hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
165
+ "portablePath": {
166
+ "type": "string",
167
+ "minLength": 1,
168
+ "not": { "pattern": "^(?:/|[A-Za-z]:[\\\\/])" }
169
+ },
170
+ "host": {
171
+ "type": "object",
172
+ "additionalProperties": false,
173
+ "required": ["id", "discovery", "entryFiles", "status", "managed"],
174
+ "properties": {
175
+ "id": {
176
+ "enum": [
177
+ "generic",
178
+ "codex",
179
+ "claude",
180
+ "gemini",
181
+ "qwen",
182
+ "kimi",
183
+ "grok",
184
+ "copilot",
185
+ "cursor",
186
+ "windsurf",
187
+ "amazon-q"
188
+ ]
189
+ },
190
+ "discovery": { "enum": ["native", "adapter", "portable-fallback"] },
191
+ "entryFiles": {
192
+ "type": "array",
193
+ "minItems": 1,
194
+ "maxItems": 3,
195
+ "uniqueItems": true,
196
+ "items": { "$ref": "#/$defs/portablePath" }
197
+ },
198
+ "status": { "enum": ["ready", "degraded", "blocked"] },
199
+ "managed": { "type": "boolean" },
200
+ "reason": { "type": "string", "minLength": 1 }
201
+ }
202
+ }
203
+ }
204
+ }
@@ -28,17 +28,28 @@
28
28
  "relationship": {
29
29
  "enum": ["managed", "adopted", "imported", "linked", "restored"]
30
30
  },
31
- "contract": { "const": ".workspai/workspace.contract.json" },
32
- "model": { "const": ".workspai/reports/workspace-model.json" },
31
+ "contract": { "const": "workspace:.workspai/workspace.contract.json" },
32
+ "model": { "const": "workspace:.workspai/reports/workspace-model.json" },
33
33
  "knowledgeGraph": {
34
- "const": ".workspai/reports/workspace-knowledge-graph.json"
34
+ "const": "workspace:.workspai/reports/workspace-knowledge-graph.json"
35
35
  },
36
36
  "access": {
37
37
  "type": "object",
38
- "required": ["localBinding", "canonicalEvidenceAvailableAtGeneration"],
38
+ "required": [
39
+ "localBinding",
40
+ "canonicalEvidenceAvailableAtGeneration",
41
+ "identityIsFilesystemPath",
42
+ "resolverCommand",
43
+ "portableUriScheme",
44
+ "resolvedPathPolicy"
45
+ ],
39
46
  "properties": {
40
47
  "localBinding": { "const": ".workspai/workspace-link.local.json" },
41
- "canonicalEvidenceAvailableAtGeneration": { "type": "boolean" }
48
+ "canonicalEvidenceAvailableAtGeneration": { "type": "boolean" },
49
+ "identityIsFilesystemPath": { "const": false },
50
+ "resolverCommand": { "const": "workspai project workspace status --json" },
51
+ "portableUriScheme": { "const": "workspace:" },
52
+ "resolvedPathPolicy": { "const": "runtime-private-never-persist" }
42
53
  },
43
54
  "additionalProperties": false
44
55
  }
@@ -283,6 +294,7 @@
283
294
  "required": [
284
295
  "enforcement",
285
296
  "mandatoryPreflight",
297
+ "workspaceLocator",
286
298
  "workspaceEvidenceRequiredFor",
287
299
  "requiredReadOrder",
288
300
  "degradedMode"
@@ -293,8 +305,30 @@
293
305
  "type": "object",
294
306
  "required": ["command", "successCondition"],
295
307
  "properties": {
296
- "command": { "const": "npx workspai project workspace status --json" },
297
- "successCondition": { "const": "resolved" }
308
+ "command": {
309
+ "const": "workspai agent bootstrap --for-agent generic --strict --json"
310
+ },
311
+ "successCondition": { "const": "ready" }
312
+ },
313
+ "additionalProperties": false
314
+ },
315
+ "workspaceLocator": {
316
+ "type": "object",
317
+ "required": [
318
+ "command",
319
+ "successCondition",
320
+ "outputClassification",
321
+ "persistence",
322
+ "disclosure",
323
+ "portableUriScheme"
324
+ ],
325
+ "properties": {
326
+ "command": { "const": "workspai project workspace status --json" },
327
+ "successCondition": { "const": "resolved" },
328
+ "outputClassification": { "const": "machine-local" },
329
+ "persistence": { "const": "forbidden" },
330
+ "disclosure": { "const": "forbidden" },
331
+ "portableUriScheme": { "const": "workspace:" }
298
332
  },
299
333
  "additionalProperties": false
300
334
  },
@@ -408,16 +442,7 @@
408
442
  },
409
443
  "relation": {
410
444
  "type": "object",
411
- "required": [
412
- "id",
413
- "from",
414
- "to",
415
- "kind",
416
- "derivation",
417
- "trust",
418
- "confidence",
419
- "proofIds"
420
- ],
445
+ "required": ["id", "from", "to", "kind", "derivation", "trust", "confidence", "proofIds"],
421
446
  "properties": {
422
447
  "id": { "type": "string" },
423
448
  "from": { "type": "string" },
@@ -432,15 +457,7 @@
432
457
  },
433
458
  "proof": {
434
459
  "type": "object",
435
- "required": [
436
- "id",
437
- "provider",
438
- "artifact",
439
- "derivation",
440
- "trust",
441
- "confidence",
442
- "freshness"
443
- ],
460
+ "required": ["id", "provider", "artifact", "derivation", "trust", "confidence", "freshness"],
444
461
  "properties": {
445
462
  "id": { "type": "string" },
446
463
  "provider": { "type": "string" },
@@ -26,7 +26,20 @@
26
26
  "format": "date-time"
27
27
  },
28
28
  "agent": {
29
- "enum": ["generic", "codex", "claude", "cursor", "orca"]
29
+ "enum": [
30
+ "generic",
31
+ "codex",
32
+ "claude",
33
+ "cursor",
34
+ "gemini",
35
+ "qwen",
36
+ "kimi",
37
+ "grok",
38
+ "copilot",
39
+ "windsurf",
40
+ "amazon-q",
41
+ "orca"
42
+ ]
30
43
  },
31
44
  "workspaceSummary": { "type": "string" },
32
45
  "modelRef": { "type": "string" },
@@ -122,7 +122,8 @@
122
122
  "required": ["planHash", "sourceEvidenceHash"],
123
123
  "properties": {
124
124
  "planHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
125
- "sourceEvidenceHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
125
+ "sourceEvidenceHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
126
+ "closureHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
126
127
  }
127
128
  }
128
129
  },
@@ -244,7 +245,19 @@
244
245
  },
245
246
  "artifact": { "const": ".workspai/reports/workspace-intelligence-run-last-run.json" },
246
247
  "exitCode": { "type": ["integer", "null"] },
247
- "summary": { "type": "string" }
248
+ "summary": { "type": "string" },
249
+ "sourceBinding": {
250
+ "type": "object",
251
+ "additionalProperties": false,
252
+ "required": ["modelHash", "modelHashSemantics", "graphHash", "graphHashSemantics", "graphInputHash"],
253
+ "properties": {
254
+ "modelHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
255
+ "modelHashSemantics": { "const": "workspace-model-structural-v1" },
256
+ "graphHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
257
+ "graphHashSemantics": { "const": "canonical-json-v1" },
258
+ "graphInputHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
259
+ }
260
+ }
248
261
  }
249
262
  },
250
263
  "decision": {