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.
- package/README.md +40 -44
- package/contracts/agent-customization-pack.v1.json +4 -2
- package/contracts/analyze-last-run.v1.json +9 -1
- package/contracts/cli-runtime-command-inventory.v1.snapshot.json +117 -0
- package/contracts/extension-cli-compatibility.v1.json +2 -0
- package/contracts/published-contract-catalog.v1.json +10 -0
- package/contracts/runtime-command-surface.v1.json +59 -3
- package/contracts/workspace-activity-event.v1.json +132 -0
- package/contracts/workspace-contract.v1.json +51 -6
- package/contracts/workspace-intelligence/agent-bootstrap-receipt.v1.json +17 -0
- package/contracts/workspace-intelligence/mcp-design.v1.json +49 -2
- package/contracts/workspace-intelligence/project-agent-entry.v1.json +3 -0
- package/contracts/workspace-intelligence/project-context-agent.v1.json +78 -7
- package/contracts/workspace-intelligence/project-knowledge-graph-reference.v1.json +51 -0
- package/contracts/workspace-intelligence/workspace-knowledge-graph.v1.json +108 -3
- package/contracts/workspace-intelligence/workspace-model.v1.json +28 -1
- package/contracts/workspace-intelligence/workspace-skills-index.v1.json +34 -0
- package/contracts/workspace-model-cache.v1.json +4 -0
- package/contracts/workspace-repair-capabilities.v1.json +66 -0
- package/dist/analyze-UJQWGNM2.js +1 -0
- package/dist/{artifact-remediation-plan-XIQNI35L.js → artifact-remediation-plan-M2XBS2IU.js} +1 -1
- package/dist/autopilot-release-U6F4M2BQ.js +1 -0
- package/dist/capabilities-command-XUKPO25Z.js +1 -0
- package/dist/chunk-2LIVMG5C.js +2 -0
- package/dist/{chunk-ZGS5NKEO.js → chunk-2PACEMNE.js} +1 -1
- package/dist/chunk-334J2KIP.js +7 -0
- package/dist/{chunk-6TBTMWNA.js → chunk-3H5ACWWZ.js} +1 -1
- package/dist/{chunk-HCFWT42C.js → chunk-3NM3JAZW.js} +1 -1
- package/dist/chunk-4XEH3WNV.js +13 -0
- package/dist/chunk-5OA33JH2.js +2 -0
- package/dist/chunk-5TY74LLW.js +2 -0
- package/dist/{chunk-QCKWQFCD.js → chunk-5U4L6VF2.js} +1 -1
- package/dist/{chunk-W6FHVXNL.js → chunk-5XGR3LRI.js} +1 -1
- package/dist/{chunk-KTN2ARZJ.js → chunk-6JX56VAL.js} +3 -3
- package/dist/chunk-6UNATTB7.js +1 -0
- package/dist/{chunk-J3X56S7L.js → chunk-727IQFGN.js} +1 -1
- package/dist/chunk-7FF5EOIO.js +2 -0
- package/dist/chunk-AP4PV6WJ.js +1 -0
- package/dist/chunk-AXUA7PFV.js +2 -0
- package/dist/chunk-B4IVVTMQ.js +2 -0
- package/dist/{chunk-LNXIMF3O.js → chunk-C4S22E6S.js} +1 -1
- package/dist/{chunk-PXWKMPPI.js → chunk-D4UHRJAP.js} +1 -1
- package/dist/chunk-DUBOKZMA.js +49 -0
- package/dist/{chunk-VYDURWN7.js → chunk-ECLMYTWT.js} +1 -1
- package/dist/{chunk-VB6I52ZT.js → chunk-EHH4SKVH.js} +50 -50
- package/dist/chunk-EP4CUWOO.js +9 -0
- package/dist/chunk-FY4X2VOE.js +39 -0
- package/dist/chunk-GAYK3WGV.js +2 -0
- package/dist/{chunk-YUGKQ44M.js → chunk-H5RJCS5E.js} +1 -1
- package/dist/{chunk-5SFCBZOH.js → chunk-H7MRINGP.js} +1 -1
- package/dist/chunk-HJLGXFMK.js +1 -0
- package/dist/{chunk-VRGEPPUB.js → chunk-HLWDIIWL.js} +1 -1
- package/dist/{chunk-KJXMLBSY.js → chunk-IIFFEEMX.js} +1 -1
- package/dist/chunk-IVF6NEHS.js +1 -0
- package/dist/chunk-JC4XSU7G.js +1 -0
- package/dist/chunk-JRP6WP5C.js +681 -0
- package/dist/chunk-JZJBA2V2.js +1 -0
- package/dist/{chunk-N4QQADXX.js → chunk-L5CCIIF2.js} +1 -1
- package/dist/chunk-L5Q2S5GY.js +3 -0
- package/dist/chunk-LPCZHKD5.js +1 -0
- package/dist/chunk-MZ7U4BIQ.js +157 -0
- package/dist/chunk-NMXGSVMD.js +1 -0
- package/dist/{chunk-GQSRNUCU.js → chunk-NVND4727.js} +3 -3
- package/dist/chunk-O37UBRMX.js +4 -0
- package/dist/chunk-OI2VOU6S.js +1 -0
- package/dist/chunk-PD7Y6HIM.js +2 -0
- package/dist/chunk-PJPS7CNH.js +1 -0
- package/dist/chunk-QGAPGZPL.js +97 -0
- package/dist/chunk-R2M5OJOK.js +5 -0
- package/dist/chunk-SX6A656X.js +1 -0
- package/dist/{chunk-X6TNBARH.js → chunk-TABXSDTR.js} +2 -2
- package/dist/chunk-TTHO4MFC.js +2 -0
- package/dist/chunk-U5ENEDJA.js +7 -0
- package/dist/chunk-UOCERSAN.js +1 -0
- package/dist/chunk-UPIPSSXY.js +1 -0
- package/dist/chunk-UTV4DTNM.js +1 -0
- package/dist/chunk-VA5VSOBL.js +2 -0
- package/dist/chunk-VQOWB26M.js +12 -0
- package/dist/chunk-VQZ5PI5J.js +1 -0
- package/dist/chunk-WCJU3CFG.js +1 -0
- package/dist/chunk-WTWRSEOW.js +1 -0
- package/dist/{chunk-D65FCQIO.js → chunk-XESFJN52.js} +1 -1
- package/dist/chunk-XQFWUM2P.js +1 -0
- package/dist/chunk-XWKGZRHN.js +1 -0
- package/dist/{chunk-WRQWVSBJ.js → chunk-YX5VWPR5.js} +1 -1
- package/dist/chunk-ZEEV5J4I.js +1 -0
- package/dist/chunk-ZQH2I5RQ.js +1 -0
- package/dist/{create-PWJDTKDN.js → create-SOLLXXAB.js} +1 -1
- package/dist/{demo-kit-QHIDCSBI.js → demo-kit-5UQH2OXC.js} +1 -1
- package/dist/{doctor-CGXY4IDE.js → doctor-NQ5PUCUP.js} +1 -1
- package/dist/{dotnet-webapi-clean-AVHPJG7Y.js → dotnet-webapi-clean-YEHYIGOT.js} +1 -1
- package/dist/{goal-lifecycle-BRFFTIU2.js → goal-lifecycle-IPNY7KNR.js} +1 -1
- package/dist/goal-pack-2WV3EA4Y.js +1 -0
- package/dist/{gofiber-standard-47S2GYAO.js → gofiber-standard-C44IIQYH.js} +1 -1
- package/dist/{gogin-standard-EWB4XNOI.js → gogin-standard-X7VKACVR.js} +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.js +170 -170
- package/dist/live-command-Q6E45N7S.js +18 -0
- package/dist/{pipeline-DF4UIHAD.js → pipeline-MIMENSI7.js} +1 -1
- package/dist/{project-agent-entry-IWUCV72J.js → project-agent-entry-OWLJ3IHQ.js} +1 -1
- package/dist/project-intelligence-lens-I67EO6AE.js +1 -0
- package/dist/{project-test-coverage-4S7MEQ6T.js → project-test-coverage-OPDVSFPH.js} +1 -1
- package/dist/{pythonRapidkitExec-VAW5XE4Z.js → pythonRapidkitExec-44ORGQ4R.js} +1 -1
- package/dist/{rust-axum-M5X4ZC4Z.js → rust-axum-JKZTZDRZ.js} +1 -1
- package/dist/{springboot-standard-Y5ADLZMQ.js → springboot-standard-PI4FLTAN.js} +1 -1
- package/dist/verified-goal-46JWNCDY.js +1 -0
- package/dist/{workspace-35Q2IXAR.js → workspace-KO37XHF6.js} +1 -1
- package/dist/{workspace-agent-sync-FFNSW2PD.js → workspace-agent-sync-32FIJQBH.js} +1 -1
- package/dist/{workspace-archive-ZBCKJHXS.js → workspace-archive-6R5DRNZW.js} +1 -1
- package/dist/{workspace-context-IJ36ZP6G.js → workspace-context-JKRPX775.js} +1 -1
- package/dist/workspace-contract-4T3NYNK5.js +1 -0
- package/dist/workspace-explain-MOGL4GEA.js +1 -0
- package/dist/workspace-explain-contract-W2E6LF4Q.js +1 -0
- package/dist/{workspace-feedback-RQ4TGJW6.js → workspace-feedback-6VQ7T4CR.js} +1 -1
- package/dist/{workspace-foundation-GMGDUMPR.js → workspace-foundation-GHWO3BZU.js} +1 -1
- package/dist/workspace-graph-stream-PTVS47NJ.js +1 -0
- package/dist/workspace-graph-token-efficiency-Z5JD5NHI.js +1 -0
- package/dist/{workspace-history-SYCDK7FO.js → workspace-history-M2K4M2JY.js} +1 -1
- package/dist/{workspace-intelligence-5NO4K5SC.js → workspace-intelligence-PJIPTXL3.js} +1 -1
- package/dist/{workspace-intelligence-evaluation-CQDKOYZZ.js → workspace-intelligence-evaluation-GONCRE6O.js} +1 -1
- package/dist/{workspace-intelligence-runner-FGEBFVVM.js → workspace-intelligence-runner-M47QR3JM.js} +1 -1
- package/dist/{workspace-intelligence-runtime-registry-IW6J53LO.js → workspace-intelligence-runtime-registry-FFGQF4A7.js} +1 -1
- package/dist/workspace-knowledge-graph-V2EAYDCL.js +1 -0
- package/dist/workspace-knowledge-graph-contract-VANN7RCA.js +1 -0
- package/dist/{workspace-knowledge-graph-query-ON45H6Y7.js → workspace-knowledge-graph-query-RASPF7FS.js} +1 -1
- package/dist/workspace-knowledge-graph-snapshot-5YIG6EMG.js +1 -0
- package/dist/{workspace-marker-7NHMDIRL.js → workspace-marker-XGAWZZDX.js} +1 -1
- package/dist/workspace-mcp-serve-YRORNE4P.js +3 -0
- package/dist/workspace-model-VSVKLX7M.js +1 -0
- package/dist/{workspace-onboarding-VS3YYNGK.js → workspace-onboarding-2VMJZVLZ.js} +1 -1
- package/dist/{workspace-python-engine-state-J4QKW55K.js → workspace-python-engine-state-BE4A3BL5.js} +1 -1
- package/dist/{workspace-readme-G7TZ3V5T.js → workspace-readme-6X3GLTBM.js} +2 -2
- package/dist/{workspace-registry-summary-MIDFG6EC.js → workspace-registry-summary-QVSJKKTX.js} +1 -1
- package/dist/workspace-repair-engine-WSKV3Q4V.js +3 -0
- package/dist/workspace-run-3BXKTLVL.js +1 -0
- package/dist/{workspace-verify-4R7QHUPO.js → workspace-verify-EJCSOBIK.js} +1 -1
- package/dist/workspace-watch-JTIFBF4Z.js +1 -0
- package/docs/SETUP.md +10 -0
- package/docs/agent-entry.md +22 -7
- package/docs/ci-workflows.md +1 -1
- package/docs/commands-reference.md +43 -7
- package/docs/contracts/ARTIFACT_CATALOG.md +63 -44
- package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +1 -0
- package/docs/contracts/NAMING_AND_COEXISTENCE.md +20 -18
- package/docs/contracts/README.md +4 -3
- package/docs/real-world-qualification.md +19 -3
- package/docs/workspace-knowledge-graph.md +131 -27
- package/docs/workspace-live-activity.md +199 -0
- package/docs/workspace-operations.md +54 -9
- package/docs/workspace-repair-engine.md +17 -0
- package/package.json +1 -1
- package/dist/analyze-NUGNB256.js +0 -1
- package/dist/autopilot-release-TWJWSVVF.js +0 -1
- package/dist/capabilities-command-LHM3XIS6.js +0 -1
- package/dist/chunk-2647BYBC.js +0 -1
- package/dist/chunk-27UR373Z.js +0 -1
- package/dist/chunk-2VJUAKMS.js +0 -2
- package/dist/chunk-3A23KJAQ.js +0 -1
- package/dist/chunk-4PUJVYRM.js +0 -1
- package/dist/chunk-5B2GAZAC.js +0 -5
- package/dist/chunk-6DAQ7PYT.js +0 -13
- package/dist/chunk-CCAXADKP.js +0 -49
- package/dist/chunk-CCDGHPEJ.js +0 -2
- package/dist/chunk-CJHWKXDN.js +0 -1
- package/dist/chunk-CT4IODPG.js +0 -2
- package/dist/chunk-DK6JNE6K.js +0 -2
- package/dist/chunk-DOXNVBX6.js +0 -1
- package/dist/chunk-DWB2RRF4.js +0 -1
- package/dist/chunk-FQSBOLM7.js +0 -1
- package/dist/chunk-ILIBOMYL.js +0 -1
- package/dist/chunk-ISOOENLW.js +0 -8
- package/dist/chunk-J7RU5WR5.js +0 -2
- package/dist/chunk-JQLJBK5N.js +0 -1
- package/dist/chunk-KANAJH65.js +0 -681
- package/dist/chunk-KV6PS54A.js +0 -8
- package/dist/chunk-L22EABIC.js +0 -7
- package/dist/chunk-MOSXTVPU.js +0 -1
- package/dist/chunk-NHTDPXTW.js +0 -4
- package/dist/chunk-NZ3WZYD5.js +0 -1
- package/dist/chunk-Q2WF7D5U.js +0 -2
- package/dist/chunk-RSG2GJXT.js +0 -2
- package/dist/chunk-SFO5GVRT.js +0 -1
- package/dist/chunk-T5YRFRJV.js +0 -1
- package/dist/chunk-THIOE2PB.js +0 -2
- package/dist/chunk-TOYN76K4.js +0 -144
- package/dist/chunk-U5WVR74V.js +0 -1
- package/dist/chunk-UXEO5QCF.js +0 -33
- package/dist/chunk-VR6XMUF3.js +0 -2
- package/dist/chunk-WY4DOMEA.js +0 -1
- package/dist/chunk-XKDR5BGS.js +0 -6
- package/dist/chunk-Y5YAP4F3.js +0 -2
- package/dist/chunk-ZH7CXQH3.js +0 -94
- package/dist/goal-pack-FG3QDNQH.js +0 -1
- package/dist/project-intelligence-lens-PZPPSCUW.js +0 -1
- package/dist/verified-goal-BBHZRYYH.js +0 -1
- package/dist/workspace-contract-JS4LZZQZ.js +0 -1
- package/dist/workspace-explain-TITIT5XN.js +0 -1
- package/dist/workspace-explain-contract-V2IVSROX.js +0 -1
- package/dist/workspace-graph-stream-7UU2YVHC.js +0 -1
- package/dist/workspace-graph-token-efficiency-D7CUT6NX.js +0 -1
- package/dist/workspace-knowledge-graph-RSDP2E36.js +0 -1
- package/dist/workspace-knowledge-graph-snapshot-3FJHH5IK.js +0 -1
- package/dist/workspace-mcp-serve-WUIQ2AE6.js +0 -3
- package/dist/workspace-model-OKY4CQ3X.js +0 -1
- package/dist/workspace-repair-engine-VUBT77Y7.js +0 -3
- package/dist/workspace-run-SSF6Z26G.js +0 -1
- 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
|
-
"
|
|
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": {
|
|
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": {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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": "
|
|
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":
|
|
265
|
+
"maxItems": 16
|
|
226
266
|
},
|
|
227
267
|
"dependents": {
|
|
228
268
|
"type": "array",
|
|
229
269
|
"items": { "$ref": "#/$defs/topologyRelation" },
|
|
230
|
-
"maxItems":
|
|
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":
|
|
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":
|
|
349
|
+
"maxItems": 16,
|
|
308
350
|
"items": { "$ref": "#/$defs/relation" }
|
|
309
351
|
},
|
|
310
352
|
"proofs": {
|
|
311
353
|
"type": "array",
|
|
312
|
-
"maxItems":
|
|
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": [
|
|
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.",
|