@mnstry/atelier 0.2.0-alpha.13 → 0.2.0-alpha.15

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 (253) hide show
  1. package/CHANGELOG.md +283 -0
  2. package/README.md +102 -52
  3. package/SECURITY.md +1 -1
  4. package/TRADEMARKS.md +2 -2
  5. package/contracts/atelier-extension-manifest.v1.schema.json +412 -0
  6. package/contracts/atelier-graph-view.v1.schema.json +1085 -0
  7. package/contracts/public-api-baseline.json +298 -19
  8. package/docs/README.md +90 -0
  9. package/docs/blocks/capability-stewardship.md +1 -1
  10. package/docs/blocks/claims.md +2 -2
  11. package/docs/blocks/conformance-admission.md +1 -1
  12. package/docs/blocks/learning-harnesses.md +1 -1
  13. package/docs/{atelier-sync.md → guides/atelier-sync.md} +20 -14
  14. package/docs/{capability-stewardship.md → guides/capability-stewardship.md} +2 -4
  15. package/docs/guides/co-authoring.md +113 -0
  16. package/docs/{distributions.md → guides/distributions.md} +13 -8
  17. package/docs/guides/extensions.md +189 -0
  18. package/docs/guides/graph-refresh.md +152 -0
  19. package/docs/guides/graph-workspace.md +64 -0
  20. package/docs/{ingestion.md → guides/ingestion.md} +16 -15
  21. package/docs/{inquiry-harnesses.md → guides/inquiry-harnesses.md} +2 -3
  22. package/docs/{knowledge-workspace.md → guides/knowledge-workspace.md} +2 -2
  23. package/docs/{learning-harnesses.md → guides/learning-harnesses.md} +2 -3
  24. package/docs/{learning.md → guides/learning.md} +12 -5
  25. package/docs/{obsidian.md → guides/obsidian.md} +370 -23
  26. package/docs/guides/ontology-guide.md +111 -0
  27. package/docs/{personal-workspace.md → guides/personal-workspace.md} +17 -5
  28. package/docs/{research-starter.md → guides/research-starter.md} +1 -1
  29. package/docs/{tenant-readiness.md → guides/tenant-readiness.md} +39 -0
  30. package/docs/{upgrade.md → guides/upgrade.md} +197 -11
  31. package/docs/knowledge-health/assessment/capabilities.md +6 -15
  32. package/docs/knowledge-health/facilitator.md +15 -4
  33. package/docs/knowledge-health/{devday/participant-response.md → participant-response.md} +4 -2
  34. package/docs/knowledge-health/quickstart.md +97 -75
  35. package/docs/knowledge-health/readme.md +13 -5
  36. package/docs/maintainers/describing-the-atelier.md +173 -0
  37. package/docs/{release-engineering.md → maintainers/release-engineering.md} +5 -4
  38. package/docs/{announcements.md → reference/announcements.md} +1 -1
  39. package/docs/{architecture.md → reference/architecture.md} +31 -5
  40. package/docs/{atelier-runtime.md → reference/atelier-runtime.md} +1 -1
  41. package/docs/{connected-composition.md → reference/connected-composition.md} +7 -10
  42. package/docs/{coordination.md → reference/coordination.md} +1 -1
  43. package/docs/{decisions.md → reference/decisions.md} +3 -3
  44. package/docs/{design.md → reference/design.md} +1 -1
  45. package/docs/reference/edge-policy.md +151 -0
  46. package/docs/reference/graph-view-structured.md +119 -0
  47. package/docs/reference/graph-view.md +139 -0
  48. package/docs/reference/graph-workspace.md +37 -0
  49. package/docs/{intake-and-guides.md → reference/intake-and-guides.md} +3 -4
  50. package/docs/{knowledge-graph.md → reference/knowledge-graph.md} +120 -6
  51. package/docs/{local-services.md → reference/local-services.md} +43 -4
  52. package/docs/{obsidian-contract.md → reference/obsidian-contract.md} +29 -4
  53. package/docs/{obsidian-plugin.md → reference/obsidian-plugin.md} +218 -68
  54. package/docs/{practical-judgment.md → reference/phronesis.md} +12 -3
  55. package/docs/reference/portability.md +92 -0
  56. package/docs/{portable-presentation.md → reference/portable-presentation.md} +2 -2
  57. package/docs/{presentation-consumer-boundaries.md → reference/presentation-consumer-boundaries.md} +5 -0
  58. package/docs/{project-options.md → reference/project-options.md} +17 -0
  59. package/docs/{repo-boundary-guard.md → reference/repo-boundary-guard.md} +50 -4
  60. package/docs/{review-portability.md → reference/review-portability.md} +4 -0
  61. package/docs/{semantic-operation.md → reference/semantic-operation.md} +4 -3
  62. package/docs/{template-profile.md → reference/template-profile.md} +1 -1
  63. package/docs/{trackables.md → reference/trackables.md} +2 -2
  64. package/docs/start/independent-start.md +89 -0
  65. package/docs/{install.md → start/install.md} +9 -9
  66. package/docs/{knowledge-setup.md → start/knowledge-setup.md} +5 -5
  67. package/docs/{research-starter-quickstart.md → start/research-starter-quickstart.md} +6 -6
  68. package/fixtures/atelier-architecture/catalog/invalid/document.json +2 -2
  69. package/fixtures/atelier-architecture/catalog/valid/document.json +2 -2
  70. package/fixtures/graph-view/synthetic-authorized-input.v1.json +437 -0
  71. package/fixtures/graph-view/synthetic-view.v1.json +1 -0
  72. package/fixtures/knowledge-health/workshop/README.md +1 -1
  73. package/fixtures/templates/local-library.v1.json +3 -1
  74. package/package.json +22 -8
  75. package/plugins/obsidian/main.js +57 -8
  76. package/plugins/obsidian/manifest.json +1 -1
  77. package/skills/claude/atelier-guided-upgrade/SKILL.md +1 -1
  78. package/skills/claude/atelier-knowledge-setup/SKILL.md +2 -2
  79. package/skills/claude/atelier-local-service/SKILL.md +1 -1
  80. package/skills/claude/atelier-practical-judgment/SKILL.md +7 -2
  81. package/skills/claude/atelier-skill-steward/SKILL.md +1 -1
  82. package/skills/claude/mnstry-readiness/SKILL.md +2 -2
  83. package/skills/codex/atelier-guided-upgrade/SKILL.md +1 -1
  84. package/skills/codex/atelier-knowledge-setup/SKILL.md +2 -2
  85. package/skills/codex/atelier-local-service/SKILL.md +1 -1
  86. package/skills/codex/atelier-practical-judgment/SKILL.md +7 -2
  87. package/skills/codex/atelier-skill-steward/SKILL.md +1 -1
  88. package/skills/codex/mnstry-readiness/SKILL.md +2 -2
  89. package/src/architecture/catalog.mjs +2 -2
  90. package/src/attestation/sign.mjs +1 -1
  91. package/src/boundary/content-rules.mjs +534 -68
  92. package/src/boundary/policy.mjs +187 -60
  93. package/src/cli/run.mjs +26 -9
  94. package/src/commands/distribution.mjs +1 -1
  95. package/src/commands/extension.mjs +27 -0
  96. package/src/commands/ingest.mjs +1 -1
  97. package/src/commands/learn.mjs +1 -1
  98. package/src/commands/obsidian.mjs +49 -21
  99. package/src/commands/review.mjs +3 -0
  100. package/src/edge-policy/contract.mjs +69 -0
  101. package/src/edge-policy/policy.mjs +142 -0
  102. package/src/edge-policy/source-citation-adapter.mjs +43 -0
  103. package/src/extension-packs/loader.mjs +4 -3
  104. package/src/extensions/admission.mjs +83 -0
  105. package/src/extensions/client.d.mts +23 -0
  106. package/src/extensions/client.mjs +99 -0
  107. package/src/extensions/contracts.d.mts +29 -0
  108. package/src/extensions/contracts.mjs +163 -0
  109. package/src/extensions/convex.d.mts +24 -0
  110. package/src/extensions/convex.mjs +189 -0
  111. package/src/extensions/delegation.mjs +54 -0
  112. package/src/extensions/drizzle.d.mts +11 -0
  113. package/src/extensions/drizzle.mjs +33 -0
  114. package/src/extensions/postgres.d.mts +7 -0
  115. package/src/extensions/postgres.mjs +66 -0
  116. package/src/extensions/prisma.d.mts +13 -0
  117. package/src/extensions/prisma.mjs +63 -0
  118. package/src/extensions/project.mjs +432 -0
  119. package/src/extensions/scaffold-convex.mjs +130 -0
  120. package/src/extensions/scaffold-sql.mjs +144 -0
  121. package/src/extensions/server.d.mts +20 -0
  122. package/src/extensions/server.mjs +102 -0
  123. package/src/extensions/sql-scope.mjs +22 -0
  124. package/src/graph/graph.mjs +13 -5
  125. package/src/graph/knowledge-graph.mjs +20 -2
  126. package/src/graph/repo-contribution.mjs +405 -0
  127. package/src/graph/repo-contribution.types.mjs +32 -0
  128. package/src/graph-access/edge-decision-adapter.mjs +41 -0
  129. package/src/graph-access/edge-record-adapter.mjs +73 -0
  130. package/src/graph-access/index.mjs +253 -0
  131. package/src/graph-access/multi-contribution-record-adapter.mjs +101 -0
  132. package/src/graph-access/multi-record-projection-adapter.mjs +74 -0
  133. package/src/graph-access/source-adapter.mjs +81 -0
  134. package/src/graph-refresh/compare.mjs +110 -0
  135. package/src/graph-refresh/controller.mjs +324 -0
  136. package/src/graph-refresh/index.mjs +3 -0
  137. package/src/graph-refresh/local.mjs +78 -0
  138. package/src/graph-view/babylon/babylon-scene-port.mjs +64 -0
  139. package/src/graph-view/babylon/index.mjs +2 -0
  140. package/src/graph-view/babylon/navigator.mjs +312 -0
  141. package/src/graph-view/babylon/provenance.mjs +36 -0
  142. package/src/graph-view/babylon/scene-controller.mjs +131 -0
  143. package/src/graph-view/babylon/semantic-picking.mjs +35 -0
  144. package/src/graph-view/babylon/web-host.mjs +188 -0
  145. package/src/graph-view/cli.mjs +3 -0
  146. package/src/graph-view/command.mjs +34 -0
  147. package/src/graph-view/contracts.mjs +79 -0
  148. package/src/graph-view/errors.mjs +5 -0
  149. package/src/graph-view/index.mjs +4 -0
  150. package/src/graph-view/intents.mjs +30 -0
  151. package/src/graph-view/query.mjs +213 -0
  152. package/src/graph-view/refs.mjs +2 -0
  153. package/src/graph-view/structured/browser.mjs +262 -0
  154. package/src/graph-view/structured/styles.mjs +8 -0
  155. package/src/graph-workspace/authoring.mjs +185 -0
  156. package/src/graph-workspace/browser/constellation.mjs +369 -0
  157. package/src/graph-workspace/browser/dom.mjs +23 -0
  158. package/src/graph-workspace/browser/index.mjs +6 -0
  159. package/src/graph-workspace/browser/review.mjs +55 -0
  160. package/src/graph-workspace/browser/styles.mjs +11 -0
  161. package/src/graph-workspace/browser/workbench.mjs +351 -0
  162. package/src/graph-workspace/browser/workspace.mjs +431 -0
  163. package/src/graph-workspace/disclosure.mjs +39 -0
  164. package/src/graph-workspace/geometry.mjs +78 -0
  165. package/src/graph-workspace/index.mjs +11 -0
  166. package/src/graph-workspace/labels.mjs +50 -0
  167. package/src/graph-workspace/model.mjs +109 -0
  168. package/src/graph-workspace/recipes.mjs +88 -0
  169. package/src/graph-workspace/scale.mjs +95 -0
  170. package/src/graph-workspace/theme.mjs +156 -0
  171. package/src/ingestion/optional/graphify/graphify_supplier.py +5 -0
  172. package/src/ingestion/optional/graphify/native-closure-pins.json +275 -0
  173. package/src/ingestion/optional/graphify/native-pins.json +306 -0
  174. package/src/knowledge/ontology-guide.mjs +152 -0
  175. package/src/knowledge-health/proof/installed-check.mjs +2 -2
  176. package/src/knowledge-health/rule-identity.mjs +14 -9
  177. package/src/knowledge-health/workshop.mjs +22 -2
  178. package/src/personal-workspace/index.mjs +1 -1
  179. package/src/personal-workspace/selection.mjs +34 -3
  180. package/src/project/config.mjs +1 -1
  181. package/src/project/path-match.mjs +2 -1
  182. package/src/project/providers/github.mjs +24 -0
  183. package/src/project/repo-identity.mjs +3 -22
  184. package/src/projection/obsidian/contracts.mjs +1 -1
  185. package/src/projection/obsidian/materialize/path-registry.mjs +1 -1
  186. package/src/projection/obsidian/materialize/prepare-view.mjs +88 -6
  187. package/src/projection/obsidian/materialize/redaction.mjs +1 -1
  188. package/src/projection/obsidian/personal-workspace.mjs +84 -5
  189. package/src/projection/obsidian/plugin-bridge/channel.mjs +1 -1
  190. package/src/projection/obsidian/proposals/adapter.mjs +46 -23
  191. package/src/projection/obsidian/proposals/observation.mjs +40 -2
  192. package/src/projection/obsidian/publication/publisher.mjs +96 -8
  193. package/src/projection/project.mjs +21 -16
  194. package/src/readiness/readiness.mjs +20 -11
  195. package/src/readiness-protocols/bundled-pack.mjs +14 -766
  196. package/src/readiness-protocols/bundled-selection.mjs +32 -0
  197. package/src/readiness-protocols/evidence.mjs +2 -1
  198. package/src/readiness-protocols/packs/mnstry.mjs +766 -0
  199. package/src/readiness-protocols/runtime.mjs +43 -6
  200. package/src/runtime/obsidian/engine.mjs +387 -76
  201. package/src/runtime/obsidian/lifecycle.mjs +20 -15
  202. package/src/runtime/obsidian/login-item.mjs +6 -3
  203. package/src/runtime/obsidian/machine-settings.mjs +52 -8
  204. package/src/runtime/obsidian/observation.mjs +36 -4
  205. package/src/runtime/obsidian/opening.mjs +4 -3
  206. package/src/runtime/obsidian/personal-selection.mjs +187 -0
  207. package/src/runtime/obsidian/pipeline.mjs +115 -6
  208. package/src/runtime/obsidian/private-lock.mjs +50 -6
  209. package/src/runtime/obsidian/selection-continuity.mjs +124 -0
  210. package/src/runtime/obsidian/service-main.mjs +68 -16
  211. package/src/runtime/obsidian/service.mjs +80 -6
  212. package/src/runtime/obsidian/unheld-evidence.mjs +1 -1
  213. package/src/runtime/obsidian/view-permission.mjs +335 -0
  214. package/src/ui/control-system.mjs +201 -0
  215. package/src/ui/html-primitives.mjs +3 -0
  216. package/src/upgrade/closure-diagnostics.mjs +135 -0
  217. package/src/upgrade/closure.mjs +649 -0
  218. package/src/upgrade/upgrade.mjs +42 -11
  219. package/templates/distribution-workspace/README.md +2 -2
  220. package/templates/external-project-workspace/atelier.project.json +3 -0
  221. package/templates/external-project-workspace/pack-lifecycle.json +3 -1
  222. package/templates/knowledge-workspace/README.md +2 -2
  223. package/docs/integration-and-review-plan.md +0 -409
  224. package/docs/integration-contract-decisions.md +0 -44
  225. package/docs/knowledge-health/devday/facilitator.md +0 -16
  226. package/docs/knowledge-health/devday/public-default.md +0 -107
  227. package/docs/knowledge-health/devday/quickstart.md +0 -18
  228. package/docs/knowledge-health/devday/support.md +0 -22
  229. package/docs/knowledge-health/exercise.md +0 -17
  230. package/docs/knowledge-health/support.md +0 -34
  231. package/docs/presentation-review-disposition.md +0 -47
  232. package/docs/progressive-ingestion-acceptance.md +0 -89
  233. package/docs/progressive-ingestion.md +0 -235
  234. /package/docs/{exact-upgrades.md → guides/exact-upgrades.md} +0 -0
  235. /package/docs/{guided-upgrades.md → guides/guided-upgrades.md} +0 -0
  236. /package/docs/{local-review.md → guides/local-review.md} +0 -0
  237. /package/docs/{skill-steward.md → guides/skill-steward.md} +0 -0
  238. /package/docs/{template-upgrades.md → guides/template-upgrades.md} +0 -0
  239. /package/docs/{assurance-controls.md → maintainers/assurance-controls.md} +0 -0
  240. /package/docs/{attestation.md → reference/attestation.md} +0 -0
  241. /package/docs/{coauthor-session.md → reference/coauthor-session.md} +0 -0
  242. /package/docs/{continuity.md → reference/continuity.md} +0 -0
  243. /package/docs/{contract-stability.md → reference/contract-stability.md} +0 -0
  244. /package/docs/{decision-practices.md → reference/decision-practices.md} +0 -0
  245. /package/docs/{evidence-navigation.md → reference/evidence-navigation.md} +0 -0
  246. /package/docs/{extension-pack-lifecycle.md → reference/extension-pack-lifecycle.md} +0 -0
  247. /package/docs/{interaction-and-reflection.md → reference/interaction-and-reflection.md} +0 -0
  248. /package/docs/{local-state.md → reference/local-state.md} +0 -0
  249. /package/docs/{ontology.md → reference/ontology.md} +0 -0
  250. /package/docs/{optional-ingestion.md → reference/optional-ingestion.md} +0 -0
  251. /package/docs/{project-command-inventory.md → reference/project-command-inventory.md} +0 -0
  252. /package/docs/{semantic-ingestion.md → reference/semantic-ingestion.md} +0 -0
  253. /package/docs/{vault-service.md → reference/vault-service.md} +0 -0
@@ -0,0 +1,1085 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://mnstry.ai/schemas/atelier/atelier-graph-view.v1.schema.json",
4
+ "$comment": "contract revision 1.0.0; derived projection, no access grant",
5
+ "title": "Atelier renderer-neutral graph view",
6
+ "description": "Derived authorized projection; source repositories and host grants retain authority.",
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "required": [
10
+ "schema",
11
+ "producerVersion",
12
+ "projectionDigest",
13
+ "snapshot",
14
+ "completeness",
15
+ "sourceSnapshot",
16
+ "accessContext",
17
+ "nodes",
18
+ "edges",
19
+ "evidence",
20
+ "questions",
21
+ "diagnostics",
22
+ "capabilities",
23
+ "query",
24
+ "page"
25
+ ],
26
+ "properties": {
27
+ "schema": {
28
+ "const": "atelier.graph-view@v1"
29
+ },
30
+ "producerVersion": {
31
+ "type": "string",
32
+ "minLength": 1,
33
+ "maxLength": 128
34
+ },
35
+ "projectionDigest": {
36
+ "$ref": "#/$defs/digest"
37
+ },
38
+ "snapshot": {
39
+ "$ref": "#/$defs/digest"
40
+ },
41
+ "completeness": {
42
+ "enum": [
43
+ "complete",
44
+ "incomplete"
45
+ ]
46
+ },
47
+ "sourceSnapshot": {
48
+ "$ref": "#/$defs/sourceSnapshot"
49
+ },
50
+ "accessContext": {
51
+ "$ref": "#/$defs/accessContext"
52
+ },
53
+ "nodes": {
54
+ "type": "array",
55
+ "maxItems": 500,
56
+ "items": {
57
+ "$ref": "#/$defs/node"
58
+ }
59
+ },
60
+ "edges": {
61
+ "type": "array",
62
+ "maxItems": 2000,
63
+ "items": {
64
+ "$ref": "#/$defs/edge"
65
+ }
66
+ },
67
+ "evidence": {
68
+ "type": "array",
69
+ "maxItems": 4000,
70
+ "items": {
71
+ "$ref": "#/$defs/evidence"
72
+ }
73
+ },
74
+ "questions": {
75
+ "type": "array",
76
+ "maxItems": 100,
77
+ "items": {
78
+ "$ref": "#/$defs/question"
79
+ }
80
+ },
81
+ "diagnostics": {
82
+ "type": "array",
83
+ "maxItems": 500,
84
+ "items": {
85
+ "$ref": "#/$defs/diagnostic"
86
+ }
87
+ },
88
+ "capabilities": {
89
+ "$ref": "#/$defs/capabilities"
90
+ },
91
+ "query": {
92
+ "$ref": "#/$defs/query"
93
+ },
94
+ "page": {
95
+ "$ref": "#/$defs/page"
96
+ },
97
+ "contractVersion": {
98
+ "type": "string",
99
+ "pattern": "^1\\.[0-9]+\\.[0-9]+$"
100
+ },
101
+ "ext": {
102
+ "type": "object",
103
+ "maxProperties": 0
104
+ }
105
+ },
106
+ "$defs": {
107
+ "digest": {
108
+ "type": "string",
109
+ "pattern": "^sha256:[0-9a-f]{64}$"
110
+ },
111
+ "gitId": {
112
+ "type": "string",
113
+ "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
114
+ },
115
+ "ref": {
116
+ "type": "object",
117
+ "additionalProperties": false,
118
+ "required": [
119
+ "repoId",
120
+ "localId"
121
+ ],
122
+ "properties": {
123
+ "repoId": {
124
+ "type": "string",
125
+ "minLength": 1,
126
+ "maxLength": 512
127
+ },
128
+ "localId": {
129
+ "type": "string",
130
+ "minLength": 1,
131
+ "maxLength": 512
132
+ },
133
+ "ext": {
134
+ "type": "object",
135
+ "maxProperties": 0
136
+ }
137
+ }
138
+ },
139
+ "range": {
140
+ "type": "object",
141
+ "additionalProperties": false,
142
+ "required": [
143
+ "start",
144
+ "end"
145
+ ],
146
+ "properties": {
147
+ "start": {
148
+ "type": "integer",
149
+ "minimum": 0
150
+ },
151
+ "end": {
152
+ "type": "integer",
153
+ "minimum": 0
154
+ },
155
+ "byteStart": {
156
+ "type": "integer",
157
+ "minimum": 0
158
+ },
159
+ "byteEnd": {
160
+ "type": "integer",
161
+ "minimum": 0
162
+ },
163
+ "ext": {
164
+ "type": "object",
165
+ "maxProperties": 0
166
+ }
167
+ }
168
+ },
169
+ "locator": {
170
+ "type": "object",
171
+ "additionalProperties": false,
172
+ "required": [],
173
+ "properties": {
174
+ "pointer": {
175
+ "type": "string",
176
+ "minLength": 1,
177
+ "maxLength": 512
178
+ },
179
+ "range": {
180
+ "$ref": "#/$defs/range"
181
+ },
182
+ "targetRange": {
183
+ "$ref": "#/$defs/range"
184
+ },
185
+ "rangeDigest": {
186
+ "$ref": "#/$defs/digest"
187
+ },
188
+ "ext": {
189
+ "type": "object",
190
+ "maxProperties": 0
191
+ }
192
+ }
193
+ },
194
+ "sourceRef": {
195
+ "type": "object",
196
+ "additionalProperties": false,
197
+ "required": [
198
+ "repoId",
199
+ "path",
200
+ "revision",
201
+ "digest"
202
+ ],
203
+ "properties": {
204
+ "repoId": {
205
+ "type": "string",
206
+ "minLength": 1,
207
+ "maxLength": 512
208
+ },
209
+ "path": {
210
+ "type": "string",
211
+ "minLength": 1,
212
+ "maxLength": 1024
213
+ },
214
+ "revision": {
215
+ "$ref": "#/$defs/digest"
216
+ },
217
+ "digest": {
218
+ "$ref": "#/$defs/digest"
219
+ },
220
+ "locator": {
221
+ "$ref": "#/$defs/locator"
222
+ },
223
+ "ext": {
224
+ "type": "object",
225
+ "maxProperties": 0
226
+ }
227
+ }
228
+ },
229
+ "file": {
230
+ "type": "object",
231
+ "additionalProperties": false,
232
+ "required": [
233
+ "path",
234
+ "rawDigest",
235
+ "byteLength"
236
+ ],
237
+ "properties": {
238
+ "path": {
239
+ "type": "string",
240
+ "minLength": 1,
241
+ "maxLength": 1024
242
+ },
243
+ "rawDigest": {
244
+ "$ref": "#/$defs/digest"
245
+ },
246
+ "byteLength": {
247
+ "type": "integer",
248
+ "minimum": 0
249
+ },
250
+ "ext": {
251
+ "type": "object",
252
+ "maxProperties": 0
253
+ }
254
+ }
255
+ },
256
+ "scope": {
257
+ "type": "object",
258
+ "additionalProperties": false,
259
+ "required": [
260
+ "base",
261
+ "include",
262
+ "exclude"
263
+ ],
264
+ "properties": {
265
+ "base": {
266
+ "type": "string",
267
+ "maxLength": 1024
268
+ },
269
+ "include": {
270
+ "anyOf": [
271
+ {
272
+ "type": "string",
273
+ "minLength": 1,
274
+ "maxLength": 1024
275
+ },
276
+ {
277
+ "type": "null"
278
+ }
279
+ ]
280
+ },
281
+ "exclude": {
282
+ "anyOf": [
283
+ {
284
+ "type": "string",
285
+ "minLength": 1,
286
+ "maxLength": 1024
287
+ },
288
+ {
289
+ "type": "null"
290
+ }
291
+ ]
292
+ },
293
+ "ext": {
294
+ "type": "object",
295
+ "maxProperties": 0
296
+ }
297
+ }
298
+ },
299
+ "inputPins": {
300
+ "type": "object",
301
+ "additionalProperties": false,
302
+ "required": [
303
+ "config",
304
+ "plan"
305
+ ],
306
+ "properties": {
307
+ "config": {
308
+ "anyOf": [
309
+ {
310
+ "$ref": "#/$defs/sourceRef"
311
+ },
312
+ {
313
+ "type": "null"
314
+ }
315
+ ]
316
+ },
317
+ "plan": {
318
+ "anyOf": [
319
+ {
320
+ "$ref": "#/$defs/sourceRef"
321
+ },
322
+ {
323
+ "type": "null"
324
+ }
325
+ ]
326
+ },
327
+ "ext": {
328
+ "type": "object",
329
+ "maxProperties": 0
330
+ }
331
+ }
332
+ },
333
+ "repository": {
334
+ "type": "object",
335
+ "additionalProperties": false,
336
+ "required": [
337
+ "repoId",
338
+ "head",
339
+ "tree",
340
+ "dirty",
341
+ "scope",
342
+ "files",
343
+ "digest",
344
+ "omittedFiles",
345
+ "inputs"
346
+ ],
347
+ "properties": {
348
+ "repoId": {
349
+ "type": "string",
350
+ "minLength": 1,
351
+ "maxLength": 512
352
+ },
353
+ "head": {
354
+ "$ref": "#/$defs/gitId"
355
+ },
356
+ "tree": {
357
+ "$ref": "#/$defs/gitId"
358
+ },
359
+ "dirty": {
360
+ "type": "boolean"
361
+ },
362
+ "scope": {
363
+ "$ref": "#/$defs/scope"
364
+ },
365
+ "files": {
366
+ "type": "array",
367
+ "maxItems": 10000,
368
+ "items": {
369
+ "$ref": "#/$defs/file"
370
+ }
371
+ },
372
+ "digest": {
373
+ "$ref": "#/$defs/digest"
374
+ },
375
+ "omittedFiles": {
376
+ "type": "integer",
377
+ "minimum": 0
378
+ },
379
+ "inputs": {
380
+ "$ref": "#/$defs/inputPins"
381
+ },
382
+ "ext": {
383
+ "type": "object",
384
+ "maxProperties": 0
385
+ }
386
+ }
387
+ },
388
+ "sourceSnapshot": {
389
+ "type": "object",
390
+ "additionalProperties": false,
391
+ "required": [
392
+ "repositories"
393
+ ],
394
+ "properties": {
395
+ "repositories": {
396
+ "type": "array",
397
+ "maxItems": 128,
398
+ "items": {
399
+ "$ref": "#/$defs/repository"
400
+ }
401
+ },
402
+ "ext": {
403
+ "type": "object",
404
+ "maxProperties": 0
405
+ }
406
+ }
407
+ },
408
+ "accessContext": {
409
+ "type": "object",
410
+ "additionalProperties": false,
411
+ "required": [
412
+ "proofRef",
413
+ "authorizedRepoIds",
414
+ "grantRevision",
415
+ "policyRevision",
416
+ "expiresAt",
417
+ "filter"
418
+ ],
419
+ "properties": {
420
+ "proofRef": {
421
+ "type": "string",
422
+ "minLength": 1,
423
+ "maxLength": 512
424
+ },
425
+ "authorizedRepoIds": {
426
+ "type": "array",
427
+ "maxItems": 128,
428
+ "items": {
429
+ "type": "string",
430
+ "minLength": 1,
431
+ "maxLength": 512
432
+ }
433
+ },
434
+ "grantRevision": {
435
+ "type": "string",
436
+ "minLength": 1,
437
+ "maxLength": 512
438
+ },
439
+ "policyRevision": {
440
+ "type": "string",
441
+ "minLength": 1,
442
+ "maxLength": 512
443
+ },
444
+ "expiresAt": {
445
+ "type": "string",
446
+ "format": "date-time"
447
+ },
448
+ "filter": {
449
+ "type": "string",
450
+ "minLength": 1,
451
+ "maxLength": 512
452
+ },
453
+ "ext": {
454
+ "type": "object",
455
+ "maxProperties": 0
456
+ }
457
+ }
458
+ },
459
+ "node": {
460
+ "type": "object",
461
+ "additionalProperties": false,
462
+ "required": [
463
+ "ref",
464
+ "sourceKind",
465
+ "title",
466
+ "summary",
467
+ "classification",
468
+ "lifecycle",
469
+ "tags",
470
+ "sourceRef",
471
+ "displayEligible"
472
+ ],
473
+ "properties": {
474
+ "ref": {
475
+ "$ref": "#/$defs/ref"
476
+ },
477
+ "sourceKind": {
478
+ "type": "string",
479
+ "minLength": 1,
480
+ "maxLength": 64
481
+ },
482
+ "title": {
483
+ "type": "string",
484
+ "minLength": 1,
485
+ "maxLength": 256
486
+ },
487
+ "summary": {
488
+ "type": "string",
489
+ "maxLength": 1024
490
+ },
491
+ "classification": {
492
+ "type": "string",
493
+ "minLength": 1,
494
+ "maxLength": 64
495
+ },
496
+ "lifecycle": {
497
+ "type": "string",
498
+ "minLength": 1,
499
+ "maxLength": 64
500
+ },
501
+ "tags": {
502
+ "type": "array",
503
+ "maxItems": 64,
504
+ "items": {
505
+ "type": "string",
506
+ "minLength": 1,
507
+ "maxLength": 128
508
+ }
509
+ },
510
+ "sourceRef": {
511
+ "$ref": "#/$defs/sourceRef"
512
+ },
513
+ "displayEligible": {
514
+ "const": true
515
+ },
516
+ "ext": {
517
+ "type": "object",
518
+ "maxProperties": 0
519
+ }
520
+ }
521
+ },
522
+ "edge": {
523
+ "type": "object",
524
+ "additionalProperties": false,
525
+ "required": [
526
+ "edgeId",
527
+ "source",
528
+ "target",
529
+ "predicate",
530
+ "family",
531
+ "acceptanceState",
532
+ "assurance",
533
+ "supportRefs",
534
+ "reviewRefs",
535
+ "sourceRef",
536
+ "recordDigest",
537
+ "policyDigest",
538
+ "qualifications"
539
+ ],
540
+ "properties": {
541
+ "edgeId": {
542
+ "type": "string",
543
+ "minLength": 1,
544
+ "maxLength": 512
545
+ },
546
+ "source": {
547
+ "$ref": "#/$defs/ref"
548
+ },
549
+ "target": {
550
+ "$ref": "#/$defs/ref"
551
+ },
552
+ "predicate": {
553
+ "type": "string",
554
+ "minLength": 1,
555
+ "maxLength": 64
556
+ },
557
+ "family": {
558
+ "enum": [
559
+ "hyperlink",
560
+ "source-declaration",
561
+ "reviewed-assertion"
562
+ ]
563
+ },
564
+ "acceptanceState": {
565
+ "const": "active"
566
+ },
567
+ "assurance": {
568
+ "enum": [
569
+ "navigation",
570
+ "source-declaration",
571
+ "reviewed-assertion"
572
+ ]
573
+ },
574
+ "supportRefs": {
575
+ "type": "array",
576
+ "maxItems": 128,
577
+ "items": {
578
+ "type": "string",
579
+ "minLength": 1,
580
+ "maxLength": 512
581
+ }
582
+ },
583
+ "reviewRefs": {
584
+ "type": "array",
585
+ "maxItems": 128,
586
+ "items": {
587
+ "type": "string",
588
+ "minLength": 1,
589
+ "maxLength": 2048
590
+ }
591
+ },
592
+ "sourceRef": {
593
+ "type": "string",
594
+ "minLength": 1,
595
+ "maxLength": 512
596
+ },
597
+ "recordDigest": {
598
+ "$ref": "#/$defs/digest"
599
+ },
600
+ "policyDigest": {
601
+ "$ref": "#/$defs/digest"
602
+ },
603
+ "qualifications": {
604
+ "type": "array",
605
+ "maxItems": 64,
606
+ "items": {
607
+ "type": "string",
608
+ "minLength": 1,
609
+ "maxLength": 2048
610
+ }
611
+ },
612
+ "verification": {
613
+ "type": "object",
614
+ "additionalProperties": false,
615
+ "required": [
616
+ "checkedAt"
617
+ ],
618
+ "properties": {
619
+ "checkedAt": {
620
+ "type": "string",
621
+ "format": "date-time"
622
+ },
623
+ "ext": {
624
+ "type": "object",
625
+ "maxProperties": 0
626
+ }
627
+ }
628
+ },
629
+ "ext": {
630
+ "type": "object",
631
+ "maxProperties": 0
632
+ }
633
+ }
634
+ },
635
+ "evidence": {
636
+ "type": "object",
637
+ "additionalProperties": false,
638
+ "required": [
639
+ "evidenceId",
640
+ "sourceRef",
641
+ "verification"
642
+ ],
643
+ "properties": {
644
+ "evidenceId": {
645
+ "type": "string",
646
+ "minLength": 1,
647
+ "maxLength": 512
648
+ },
649
+ "sourceRef": {
650
+ "$ref": "#/$defs/sourceRef"
651
+ },
652
+ "verification": {
653
+ "enum": [
654
+ "verified-source",
655
+ "stale",
656
+ "unavailable",
657
+ "unsupported"
658
+ ]
659
+ },
660
+ "ext": {
661
+ "type": "object",
662
+ "maxProperties": 0
663
+ }
664
+ }
665
+ },
666
+ "question": {
667
+ "type": "object",
668
+ "additionalProperties": false,
669
+ "required": [
670
+ "questionId",
671
+ "title",
672
+ "decision",
673
+ "nodeRefs",
674
+ "evidenceRefs",
675
+ "contradictingRefs",
676
+ "coverage",
677
+ "omissionState",
678
+ "gaps"
679
+ ],
680
+ "properties": {
681
+ "questionId": {
682
+ "type": "string",
683
+ "minLength": 1,
684
+ "maxLength": 512
685
+ },
686
+ "title": {
687
+ "type": "string",
688
+ "minLength": 1,
689
+ "maxLength": 512
690
+ },
691
+ "decision": {
692
+ "type": "string",
693
+ "maxLength": 1024
694
+ },
695
+ "nodeRefs": {
696
+ "type": "array",
697
+ "maxItems": 500,
698
+ "items": {
699
+ "$ref": "#/$defs/ref"
700
+ }
701
+ },
702
+ "evidenceRefs": {
703
+ "type": "array",
704
+ "maxItems": 1000,
705
+ "items": {
706
+ "type": "string",
707
+ "minLength": 1,
708
+ "maxLength": 512
709
+ }
710
+ },
711
+ "contradictingRefs": {
712
+ "type": "array",
713
+ "maxItems": 1000,
714
+ "items": {
715
+ "type": "string",
716
+ "minLength": 1,
717
+ "maxLength": 512
718
+ }
719
+ },
720
+ "coverage": {
721
+ "enum": [
722
+ "supported",
723
+ "partial",
724
+ "abstain",
725
+ "unknown"
726
+ ]
727
+ },
728
+ "omissionState": {
729
+ "enum": [
730
+ "none",
731
+ "bounded",
732
+ "unavailable"
733
+ ]
734
+ },
735
+ "gaps": {
736
+ "type": "array",
737
+ "maxItems": 64,
738
+ "items": {
739
+ "type": "string",
740
+ "minLength": 1,
741
+ "maxLength": 512
742
+ }
743
+ },
744
+ "ext": {
745
+ "type": "object",
746
+ "maxProperties": 0
747
+ }
748
+ }
749
+ },
750
+ "diagnostic": {
751
+ "type": "object",
752
+ "additionalProperties": false,
753
+ "required": [
754
+ "diagnosticId",
755
+ "code",
756
+ "severity",
757
+ "action",
758
+ "nodeRefs",
759
+ "evidenceRefs"
760
+ ],
761
+ "properties": {
762
+ "diagnosticId": {
763
+ "type": "string",
764
+ "minLength": 1,
765
+ "maxLength": 512
766
+ },
767
+ "repoId": {
768
+ "type": "string",
769
+ "minLength": 1,
770
+ "maxLength": 512
771
+ },
772
+ "code": {
773
+ "type": "string",
774
+ "minLength": 1,
775
+ "maxLength": 128
776
+ },
777
+ "severity": {
778
+ "enum": [
779
+ "blocking",
780
+ "warning",
781
+ "info"
782
+ ]
783
+ },
784
+ "action": {
785
+ "type": "string",
786
+ "minLength": 1,
787
+ "maxLength": 512
788
+ },
789
+ "nodeRefs": {
790
+ "type": "array",
791
+ "maxItems": 500,
792
+ "items": {
793
+ "$ref": "#/$defs/ref"
794
+ }
795
+ },
796
+ "evidenceRefs": {
797
+ "type": "array",
798
+ "maxItems": 1000,
799
+ "items": {
800
+ "type": "string",
801
+ "minLength": 1,
802
+ "maxLength": 512
803
+ }
804
+ },
805
+ "ext": {
806
+ "type": "object",
807
+ "maxProperties": 0
808
+ }
809
+ }
810
+ },
811
+ "capabilities": {
812
+ "type": "object",
813
+ "additionalProperties": false,
814
+ "required": [
815
+ "read",
816
+ "export",
817
+ "maxSlice",
818
+ "maxDepth",
819
+ "sourceReads",
820
+ "proposalIntents",
821
+ "queries"
822
+ ],
823
+ "properties": {
824
+ "read": {
825
+ "const": true
826
+ },
827
+ "export": {
828
+ "type": "boolean"
829
+ },
830
+ "maxSlice": {
831
+ "type": "integer",
832
+ "minimum": 1,
833
+ "maximum": 500
834
+ },
835
+ "maxDepth": {
836
+ "type": "integer",
837
+ "minimum": 0,
838
+ "maximum": 2
839
+ },
840
+ "sourceReads": {
841
+ "type": "boolean"
842
+ },
843
+ "proposalIntents": {
844
+ "type": "array",
845
+ "maxItems": 1,
846
+ "items": {
847
+ "enum": [
848
+ "proposeModelChange"
849
+ ]
850
+ }
851
+ },
852
+ "queries": {
853
+ "type": "array",
854
+ "maxItems": 4,
855
+ "items": {
856
+ "enum": [
857
+ "metadata-search",
858
+ "neighborhood",
859
+ "question",
860
+ "source-impact"
861
+ ]
862
+ }
863
+ },
864
+ "ext": {
865
+ "type": "object",
866
+ "maxProperties": 0
867
+ }
868
+ }
869
+ },
870
+ "request": {
871
+ "type": "object",
872
+ "additionalProperties": false,
873
+ "required": [],
874
+ "properties": {
875
+ "snapshot": {
876
+ "$ref": "#/$defs/digest"
877
+ },
878
+ "questionId": {
879
+ "type": "string",
880
+ "minLength": 1,
881
+ "maxLength": 512
882
+ },
883
+ "focusRef": {
884
+ "$ref": "#/$defs/ref"
885
+ },
886
+ "relationFilter": {
887
+ "type": "array",
888
+ "maxItems": 32,
889
+ "items": {
890
+ "type": "string",
891
+ "minLength": 1,
892
+ "maxLength": 64
893
+ }
894
+ },
895
+ "direction": {
896
+ "enum": [
897
+ "out",
898
+ "in",
899
+ "both"
900
+ ]
901
+ },
902
+ "depth": {
903
+ "type": "integer",
904
+ "minimum": 0,
905
+ "maximum": 2
906
+ },
907
+ "limit": {
908
+ "type": "integer",
909
+ "minimum": 1,
910
+ "maximum": 500
911
+ },
912
+ "cursor": {
913
+ "type": "string",
914
+ "minLength": 1,
915
+ "maxLength": 4096
916
+ },
917
+ "search": {
918
+ "type": "string",
919
+ "minLength": 1,
920
+ "maxLength": 128
921
+ },
922
+ "ext": {
923
+ "type": "object",
924
+ "maxProperties": 0
925
+ }
926
+ }
927
+ },
928
+ "query": {
929
+ "type": "object",
930
+ "additionalProperties": false,
931
+ "required": [
932
+ "questionId",
933
+ "focusRef",
934
+ "relationFilter",
935
+ "direction",
936
+ "depth",
937
+ "limit",
938
+ "search"
939
+ ],
940
+ "properties": {
941
+ "questionId": {
942
+ "anyOf": [
943
+ {
944
+ "type": "string",
945
+ "minLength": 1,
946
+ "maxLength": 512
947
+ },
948
+ {
949
+ "type": "null"
950
+ }
951
+ ]
952
+ },
953
+ "focusRef": {
954
+ "anyOf": [
955
+ {
956
+ "$ref": "#/$defs/ref"
957
+ },
958
+ {
959
+ "type": "null"
960
+ }
961
+ ]
962
+ },
963
+ "relationFilter": {
964
+ "type": "array",
965
+ "maxItems": 32,
966
+ "items": {
967
+ "type": "string",
968
+ "minLength": 1,
969
+ "maxLength": 64
970
+ }
971
+ },
972
+ "direction": {
973
+ "enum": [
974
+ "out",
975
+ "in",
976
+ "both"
977
+ ]
978
+ },
979
+ "depth": {
980
+ "type": "integer",
981
+ "minimum": 0,
982
+ "maximum": 2
983
+ },
984
+ "limit": {
985
+ "type": "integer",
986
+ "minimum": 1,
987
+ "maximum": 500
988
+ },
989
+ "search": {
990
+ "type": "string",
991
+ "maxLength": 128
992
+ },
993
+ "ext": {
994
+ "type": "object",
995
+ "maxProperties": 0
996
+ }
997
+ }
998
+ },
999
+ "counts": {
1000
+ "type": "object",
1001
+ "additionalProperties": false,
1002
+ "required": [
1003
+ "nodes",
1004
+ "edges",
1005
+ "evidence",
1006
+ "questions",
1007
+ "diagnostics"
1008
+ ],
1009
+ "properties": {
1010
+ "nodes": {
1011
+ "type": "integer",
1012
+ "minimum": 0
1013
+ },
1014
+ "edges": {
1015
+ "type": "integer",
1016
+ "minimum": 0
1017
+ },
1018
+ "evidence": {
1019
+ "type": "integer",
1020
+ "minimum": 0
1021
+ },
1022
+ "questions": {
1023
+ "type": "integer",
1024
+ "minimum": 0
1025
+ },
1026
+ "diagnostics": {
1027
+ "type": "integer",
1028
+ "minimum": 0
1029
+ },
1030
+ "ext": {
1031
+ "type": "object",
1032
+ "maxProperties": 0
1033
+ }
1034
+ }
1035
+ },
1036
+ "page": {
1037
+ "type": "object",
1038
+ "additionalProperties": false,
1039
+ "required": [
1040
+ "offset",
1041
+ "limit",
1042
+ "returned",
1043
+ "omitted",
1044
+ "truncated",
1045
+ "nextCursor"
1046
+ ],
1047
+ "properties": {
1048
+ "offset": {
1049
+ "type": "integer",
1050
+ "minimum": 0
1051
+ },
1052
+ "limit": {
1053
+ "type": "integer",
1054
+ "minimum": 1,
1055
+ "maximum": 500
1056
+ },
1057
+ "returned": {
1058
+ "$ref": "#/$defs/counts"
1059
+ },
1060
+ "omitted": {
1061
+ "$ref": "#/$defs/counts"
1062
+ },
1063
+ "truncated": {
1064
+ "type": "boolean"
1065
+ },
1066
+ "nextCursor": {
1067
+ "anyOf": [
1068
+ {
1069
+ "type": "string",
1070
+ "minLength": 1,
1071
+ "maxLength": 4096
1072
+ },
1073
+ {
1074
+ "type": "null"
1075
+ }
1076
+ ]
1077
+ },
1078
+ "ext": {
1079
+ "type": "object",
1080
+ "maxProperties": 0
1081
+ }
1082
+ }
1083
+ }
1084
+ }
1085
+ }