@aiwg/cli 2026.9.24 → 2026.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/agentic/code/providers/capability-matrix.yaml +2 -1
  2. package/dist/src/artifacts/discovery-shadow-evaluator.js +177 -0
  3. package/dist/src/artifacts/discovery-shadow.js +195 -0
  4. package/dist/src/artifacts/index-builder.js +47 -9
  5. package/dist/src/artifacts/query-engine.js +94 -1
  6. package/dist/src/artifacts/types.js +1 -0
  7. package/dist/src/cli/handlers/decision.js +88 -0
  8. package/dist/src/cli/handlers/gates.js +154 -0
  9. package/dist/src/cli/handlers/index.js +5 -1
  10. package/dist/src/cli/handlers/sessions.js +10 -7
  11. package/dist/src/cli/handlers/utilities.js +20 -0
  12. package/dist/src/config/aiwg-config.js +15 -2
  13. package/dist/src/decision/acceptance.js +25 -0
  14. package/dist/src/decision/adapters/jev.js +24 -2
  15. package/dist/src/decision/calibration/registry.js +9 -0
  16. package/dist/src/decision/compose.js +74 -15
  17. package/dist/src/decision/context-live-promotion.js +344 -0
  18. package/dist/src/decision/context-live-qualification.js +591 -0
  19. package/dist/src/decision/context-pruning.js +847 -0
  20. package/dist/src/decision/driver.js +430 -0
  21. package/dist/src/decision/egress-live-qualification.js +874 -0
  22. package/dist/src/decision/ensemble/contract.js +64 -1
  23. package/dist/src/decision/ensemble/index.js +1 -0
  24. package/dist/src/decision/ensemble/report.js +8 -42
  25. package/dist/src/decision/ensemble/runtime.js +571 -0
  26. package/dist/src/decision/ensemble-study/artifacts.js +85 -0
  27. package/dist/src/decision/ensemble-study/calibration.js +443 -0
  28. package/dist/src/decision/ensemble-study/corpus.js +229 -0
  29. package/dist/src/decision/ensemble-study/multifact-artifacts.js +23 -0
  30. package/dist/src/decision/ensemble-study/multifact-study.js +596 -0
  31. package/dist/src/decision/ensemble-study/multifact.js +241 -0
  32. package/dist/src/decision/ensemble-study/protocol.js +77 -0
  33. package/dist/src/decision/ensemble-study/score.js +462 -0
  34. package/dist/src/decision/ensemble-study/staged.js +87 -0
  35. package/dist/src/decision/ensemble-study/statistics.js +84 -0
  36. package/dist/src/decision/evaluate.js +227 -14
  37. package/dist/src/decision/export.js +4 -0
  38. package/dist/src/decision/feature-export.js +1074 -0
  39. package/dist/src/decision/graph-index.js +16 -0
  40. package/dist/src/decision/graph-live-qualification.js +1041 -0
  41. package/dist/src/decision/graph-live-workload.js +245 -0
  42. package/dist/src/decision/graph-skill-bridge.js +21 -3
  43. package/dist/src/decision/heldout/calibration.js +140 -0
  44. package/dist/src/decision/heldout/collector.js +430 -0
  45. package/dist/src/decision/heldout/contract.js +309 -0
  46. package/dist/src/decision/heldout/d29-generator-ids.js +12 -0
  47. package/dist/src/decision/heldout/d29-passage-baseline-v2.js +93 -0
  48. package/dist/src/decision/heldout/d29-passage-baseline-v3.js +100 -0
  49. package/dist/src/decision/heldout/d29-passage-baseline.js +66 -0
  50. package/dist/src/decision/heldout/d29-pools-v8.js +575 -0
  51. package/dist/src/decision/heldout/d29-pools.js +288 -0
  52. package/dist/src/decision/heldout/d29-v6.js +169 -0
  53. package/dist/src/decision/heldout/d29-v7.js +202 -0
  54. package/dist/src/decision/heldout/d29-v8.js +586 -0
  55. package/dist/src/decision/heldout/generator-registry.js +67 -0
  56. package/dist/src/decision/heldout/generators.js +696 -0
  57. package/dist/src/decision/heldout/index.js +8 -0
  58. package/dist/src/decision/heldout/journal.js +346 -0
  59. package/dist/src/decision/heldout/study-generators.js +64 -0
  60. package/dist/src/decision/heldout/types.js +2 -0
  61. package/dist/src/decision/host-policy.js +61 -0
  62. package/dist/src/decision/index.js +11 -0
  63. package/dist/src/decision/interop-profile.v1.json +112 -0
  64. package/dist/src/decision/interop.js +653 -0
  65. package/dist/src/decision/issue-triage/index.js +3 -0
  66. package/dist/src/decision/issue-triage/runtime.js +1069 -0
  67. package/dist/src/decision/issue-triage/types.js +2 -0
  68. package/dist/src/decision/patterns/catalog.js +28 -8
  69. package/dist/src/decision/patterns/playground.js +28 -11
  70. package/dist/src/decision/patterns/specs.js +19 -10
  71. package/dist/src/decision/preprocessed-evidence.js +724 -0
  72. package/dist/src/decision/qualification/capture.js +8 -2
  73. package/dist/src/decision/qualification/gate-evidence.js +19 -4
  74. package/dist/src/decision/qualification/quality.js +57 -49
  75. package/dist/src/decision/qualification/release.js +76 -3
  76. package/dist/src/decision/qualification/runner.js +5 -2
  77. package/dist/src/decision/routing/contract.js +175 -0
  78. package/dist/src/decision/routing/index.js +5 -0
  79. package/dist/src/decision/routing/report.js +216 -0
  80. package/dist/src/decision/routing/runtime.js +685 -0
  81. package/dist/src/decision/routing/types.js +2 -0
  82. package/dist/src/decision/sdlc-screening.js +1157 -0
  83. package/dist/src/decision/sensitivity/comparative.js +154 -0
  84. package/dist/src/decision/sensitivity/contract.js +218 -0
  85. package/dist/src/decision/sensitivity/index.js +5 -0
  86. package/dist/src/decision/sensitivity/runtime.js +912 -0
  87. package/dist/src/decision/sensitivity/types.js +2 -0
  88. package/dist/src/decision/validate.js +26 -0
  89. package/dist/src/extensions/commands/definitions.js +38 -0
  90. package/dist/src/extensions/manifest.js +44 -0
  91. package/dist/src/gates/discovery.js +315 -0
  92. package/dist/src/gates/driver.js +388 -0
  93. package/dist/src/gates/evaluate.js +719 -0
  94. package/dist/src/gates/floors.js +255 -0
  95. package/dist/src/gates/index.js +17 -0
  96. package/dist/src/gates/providers/evidence.js +38 -0
  97. package/dist/src/gates/providers/index.js +21 -0
  98. package/dist/src/gates/providers/isolated-child-source.js +446 -0
  99. package/dist/src/gates/providers/loader.js +1069 -0
  100. package/dist/src/gates/providers/paired.js +52 -0
  101. package/dist/src/gates/providers/proportion.js +60 -0
  102. package/dist/src/gates/providers/registry.js +40 -0
  103. package/dist/src/gates/providers/scalar.js +41 -0
  104. package/dist/src/gates/providers/screening.js +53 -0
  105. package/dist/src/gates/providers/types.js +25 -0
  106. package/dist/src/gates/registry.js +1003 -0
  107. package/dist/src/gates/report.js +102 -0
  108. package/dist/src/gates/schema.js +56 -0
  109. package/dist/src/gates/stats/binomial.js +26 -0
  110. package/dist/src/gates/stats/bootstrap.js +62 -0
  111. package/dist/src/gates/stats/clopper-pearson.js +95 -0
  112. package/dist/src/gates/stats/digest.js +26 -0
  113. package/dist/src/gates/stats/error.js +5 -0
  114. package/dist/src/gates/stats/index.js +9 -0
  115. package/dist/src/gates/stats/normal.js +35 -0
  116. package/dist/src/gates/stats/paired.js +120 -0
  117. package/dist/src/gates/stats/splits.js +30 -0
  118. package/dist/src/gates/types.js +8 -0
  119. package/dist/src/governance/redaction.js +14 -4
  120. package/dist/src/mcp/muse-native-config.mjs +123 -0
  121. package/dist/src/mcp/tools/decision.mjs +188 -0
  122. package/dist/src/mcp/tools/subsystems.mjs +2 -0
  123. package/dist/src/providers/capability-matrix.yaml +2 -1
  124. package/dist/src/providers/provider-definitions.js +2 -1
  125. package/dist/src/sessions/adapters/muse.js +336 -39
  126. package/dist/src/sessions/batch-import.js +7 -0
  127. package/dist/src/sessions/workspace-discovery.js +13 -2
  128. package/package.json +1 -1
  129. package/schemas/decision/ConformalFrozenOpenData.v2.schema.json +371 -0
  130. package/schemas/decision/ConformalOpenDataReport.v2.schema.json +421 -0
  131. package/schemas/decision/ConformalPreregistration.v2.schema.json +529 -0
  132. package/schemas/decision/ContextPruningCandidate.v1.schema.json +47 -0
  133. package/schemas/decision/ContextPruningEvaluationReport.v1.schema.json +758 -0
  134. package/schemas/decision/ContextPruningPreregistration.v1.schema.json +175 -0
  135. package/schemas/decision/ContextPruningReceipt.v1.schema.json +72 -0
  136. package/schemas/decision/D17Multifact.v1.schema.json +1851 -0
  137. package/schemas/decision/D17StudyAnalysis.v1.schema.json +42 -0
  138. package/schemas/decision/D17StudyAnalysis.v2.schema.json +51 -0
  139. package/schemas/decision/D17StudyCalibration.v1.schema.json +819 -0
  140. package/schemas/decision/D17StudyDryRun.v1.schema.json +169 -0
  141. package/schemas/decision/D17StudyDryRun.v2.schema.json +239 -0
  142. package/schemas/decision/D17StudyGold.v1.schema.json +108 -0
  143. package/schemas/decision/D17StudyGuide.v1.schema.json +63 -0
  144. package/schemas/decision/D17StudyNativeTemplates.v1.schema.json +619 -0
  145. package/schemas/decision/D17StudyProtocol.v1.schema.json +241 -0
  146. package/schemas/decision/D17StudyReport.v1.schema.json +902 -0
  147. package/schemas/decision/D17StudyReport.v2.schema.json +1319 -0
  148. package/schemas/decision/D17StudyReview.v1.schema.json +175 -0
  149. package/schemas/decision/D17StudySplits.v1.schema.json +217 -0
  150. package/schemas/decision/D29Study.v1.schema.json +1903 -0
  151. package/schemas/decision/D29Study.v2.schema.json +1344 -0
  152. package/schemas/decision/D29Study.v3.schema.json +609 -0
  153. package/schemas/decision/D29Study.v4.schema.json +1133 -0
  154. package/schemas/decision/D29Study.v6.schema.json +1205 -0
  155. package/schemas/decision/D29Study.v7.schema.json +1471 -0
  156. package/schemas/decision/D29Study.v8.schema.json +671 -0
  157. package/schemas/decision/D29Study.v9.schema.json +778 -0
  158. package/schemas/decision/DecisionComparativeReplayAuditSample.v1.schema.json +137 -0
  159. package/schemas/decision/DecisionComparativeReplayCorpus.v1.schema.json +258 -0
  160. package/schemas/decision/DecisionComparativeReplayFreeze.v1.schema.json +74 -0
  161. package/schemas/decision/DecisionComparativeReplayGold.v1.schema.json +50 -0
  162. package/schemas/decision/DecisionComparativeReplayGoldAsset.v1.schema.json +37 -0
  163. package/schemas/decision/DecisionComparativeReplayIntegrity.v1.schema.json +81 -0
  164. package/schemas/decision/DecisionComparativeReplayMembers.v1.schema.json +52 -0
  165. package/schemas/decision/DecisionComparativeReplayPreregistration.v1.schema.json +113 -0
  166. package/schemas/decision/DecisionComparativeReplayReport.v1.schema.json +407 -0
  167. package/schemas/decision/DecisionComparativeReplayReviewPackets.v1.schema.json +260 -0
  168. package/schemas/decision/DecisionComparativeReplaySplit.v1.schema.json +84 -0
  169. package/schemas/decision/DecisionFeatureObservation.v1.schema.json +564 -0
  170. package/schemas/decision/DecisionFeatureSet.v1.schema.json +155 -0
  171. package/schemas/decision/DecisionInteropMapping.v1.schema.json +85 -0
  172. package/schemas/decision/DecisionIssueTriageEvaluationManifest.v1.schema.json +174 -0
  173. package/schemas/decision/DecisionIssueTriageEvaluationReport.v1.schema.json +280 -0
  174. package/schemas/decision/DecisionIssueTriagePilotPack.v1.schema.json +114 -0
  175. package/schemas/decision/DecisionRouteReceipt.v1.schema.json +155 -0
  176. package/schemas/decision/DecisionRoutingPolicy.v1.schema.json +132 -0
  177. package/schemas/decision/DecisionRoutingShadowReport.v1.schema.json +170 -0
  178. package/schemas/decision/DecisionRoutingTask.v1.schema.json +49 -0
  179. package/schemas/decision/DecisionRuleset.schema.json +8 -2
  180. package/schemas/decision/DecisionRuleset.v1alpha2.schema.json +8 -2
  181. package/schemas/decision/DecisionSensitivityPlan.v1.schema.json +191 -0
  182. package/schemas/decision/DecisionSensitivityReport.v1.schema.json +163 -0
  183. package/schemas/decision/HeldoutApproval.v1.schema.json +312 -0
  184. package/schemas/decision/HeldoutAttempt.v1.schema.json +211 -0
  185. package/schemas/decision/HeldoutBaseline.v1.schema.json +90 -0
  186. package/schemas/decision/HeldoutCalibrationPhase.v1.schema.json +87 -0
  187. package/schemas/decision/HeldoutCorpus.v1.schema.json +167 -0
  188. package/schemas/decision/HeldoutEvent.v1.schema.json +41 -0
  189. package/schemas/decision/HeldoutFrozen.v1.schema.json +142 -0
  190. package/schemas/decision/HeldoutPreregistration.v1.schema.json +222 -0
  191. package/schemas/decision/HeldoutSpendEvent.v1.schema.json +122 -0
  192. package/schemas/decision/HeldoutSpendHead.v1.schema.json +25 -0
  193. package/schemas/decision/HeldoutSpendHead.v2.schema.json +46 -0
  194. package/schemas/decision/HeldoutSummary.v1.schema.json +101 -0
  195. package/schemas/decision/OpaDecisionLogExport.v1.schema.json +65 -0
  196. package/schemas/decision/PreprocessedEvidence.v1.schema.json +306 -0
  197. package/schemas/decision/RulesetResult.v1alpha2.schema.json +175 -0
  198. package/schemas/decision/SdlcEvidenceScreening.v1.schema.json +499 -0
  199. package/schemas/decision/SdlcScreeningPreregistration.v1.schema.json +132 -0
  200. package/schemas/decision/SdlcScreeningPreregistration.v2.schema.json +138 -0
  201. package/schemas/decision/SdlcScreeningRelease.v1.schema.json +654 -0
  202. package/schemas/decision/SdlcScreeningRelease.v2.schema.json +654 -0
  203. package/tools/agents/deploy-agents.mjs +1 -1
  204. package/tools/agents/providers/base.mjs +26 -7
  205. package/tools/agents/providers/factory.mjs +10 -2
  206. package/tools/agents/providers/muse-hooks.mjs +1 -29
  207. package/tools/agents/providers/muse.mjs +6 -3
@@ -0,0 +1,564 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aiwg.io/schemas/decision/DecisionFeatureObservation.v1.schema.json",
4
+ "title": "AIWG Decision Feature Observation v1",
5
+ "description": "One governed probabilistic feature row with source pins, export authorization, lifecycle reference, lineage, train/serve evidence, batch accounting and per-feature missingness/provenance.",
6
+ "type": "object",
7
+ "required": [
8
+ "schemaVersion",
9
+ "kind",
10
+ "featureSet",
11
+ "observationId",
12
+ "subjectId",
13
+ "eventTime",
14
+ "exportTime",
15
+ "sourceReceipt",
16
+ "authorization",
17
+ "lifecycle",
18
+ "lineage",
19
+ "trainServe",
20
+ "batchAccounting",
21
+ "features"
22
+ ],
23
+ "additionalProperties": false,
24
+ "properties": {
25
+ "schemaVersion": {
26
+ "const": "decision-feature-export/v1"
27
+ },
28
+ "kind": {
29
+ "const": "DecisionFeatureObservation"
30
+ },
31
+ "featureSet": {
32
+ "$ref": "#/$defs/featureSetRef"
33
+ },
34
+ "observationId": {
35
+ "type": "string",
36
+ "minLength": 1
37
+ },
38
+ "subjectId": {
39
+ "type": "string",
40
+ "minLength": 1
41
+ },
42
+ "eventTime": {
43
+ "type": "string"
44
+ },
45
+ "exportTime": {
46
+ "type": "string"
47
+ },
48
+ "sourceReceipt": {
49
+ "type": "object",
50
+ "required": [
51
+ "kind",
52
+ "runId",
53
+ "invocationId",
54
+ "alias"
55
+ ],
56
+ "additionalProperties": false,
57
+ "properties": {
58
+ "kind": {
59
+ "enum": [
60
+ "DecisionResult",
61
+ "RulesetResult"
62
+ ]
63
+ },
64
+ "runId": {
65
+ "type": "string"
66
+ },
67
+ "invocationId": {
68
+ "type": "string"
69
+ },
70
+ "alias": {
71
+ "type": [
72
+ "string",
73
+ "null"
74
+ ]
75
+ }
76
+ }
77
+ },
78
+ "authorization": {
79
+ "$ref": "#/$defs/auth"
80
+ },
81
+ "lifecycle": {
82
+ "type": "object",
83
+ "required": [
84
+ "surface",
85
+ "reference",
86
+ "tombstone",
87
+ "legalHold",
88
+ "expiresAtEpochMs",
89
+ "revokedAtEpochMs",
90
+ "deletedAtEpochMs"
91
+ ],
92
+ "additionalProperties": false,
93
+ "properties": {
94
+ "surface": {
95
+ "const": "export"
96
+ },
97
+ "reference": {
98
+ "type": "string",
99
+ "minLength": 1
100
+ },
101
+ "tombstone": {
102
+ "type": "boolean"
103
+ },
104
+ "legalHold": {
105
+ "type": "boolean"
106
+ },
107
+ "expiresAtEpochMs": {
108
+ "type": "integer",
109
+ "minimum": 0
110
+ },
111
+ "revokedAtEpochMs": {
112
+ "type": [
113
+ "integer",
114
+ "null"
115
+ ],
116
+ "minimum": 0
117
+ },
118
+ "deletedAtEpochMs": {
119
+ "type": [
120
+ "integer",
121
+ "null"
122
+ ],
123
+ "minimum": 0
124
+ }
125
+ }
126
+ },
127
+ "lineage": {
128
+ "type": "object",
129
+ "required": [
130
+ "ruleset",
131
+ "binding",
132
+ "decision",
133
+ "definition"
134
+ ],
135
+ "additionalProperties": false,
136
+ "properties": {
137
+ "ruleset": {
138
+ "$ref": "#/$defs/pin"
139
+ },
140
+ "binding": {
141
+ "$ref": "#/$defs/pin"
142
+ },
143
+ "decision": {
144
+ "anyOf": [
145
+ {
146
+ "$ref": "#/$defs/pin"
147
+ },
148
+ {
149
+ "type": "null"
150
+ }
151
+ ]
152
+ },
153
+ "definition": {
154
+ "anyOf": [
155
+ {
156
+ "$ref": "#/$defs/pin"
157
+ },
158
+ {
159
+ "type": "null"
160
+ }
161
+ ]
162
+ }
163
+ }
164
+ },
165
+ "trainServe": {
166
+ "type": "object",
167
+ "required": [
168
+ "featureSetDigest",
169
+ "servedModels",
170
+ "calibrationRefs"
171
+ ],
172
+ "additionalProperties": false,
173
+ "properties": {
174
+ "featureSetDigest": {
175
+ "$ref": "#/$defs/sha256"
176
+ },
177
+ "servedModels": {
178
+ "type": "object",
179
+ "additionalProperties": {
180
+ "type": [
181
+ "string",
182
+ "null"
183
+ ]
184
+ }
185
+ },
186
+ "calibrationRefs": {
187
+ "type": "object",
188
+ "additionalProperties": {
189
+ "type": [
190
+ "string",
191
+ "null"
192
+ ]
193
+ }
194
+ }
195
+ }
196
+ },
197
+ "batchAccounting": {
198
+ "type": "object",
199
+ "required": [
200
+ "scope",
201
+ "reference",
202
+ "authoritativeUsage",
203
+ "owners",
204
+ "allocation"
205
+ ],
206
+ "additionalProperties": false,
207
+ "properties": {
208
+ "scope": {
209
+ "enum": [
210
+ "none",
211
+ "ruleset-batch-request",
212
+ "durable-batch-receipt"
213
+ ]
214
+ },
215
+ "reference": {
216
+ "type": [
217
+ "string",
218
+ "null"
219
+ ]
220
+ },
221
+ "authoritativeUsage": {
222
+ "type": "null"
223
+ },
224
+ "allocation": {
225
+ "type": "object",
226
+ "required": [
227
+ "kind",
228
+ "algorithm",
229
+ "algorithmVersion",
230
+ "usage"
231
+ ],
232
+ "additionalProperties": false,
233
+ "properties": {
234
+ "kind": {
235
+ "enum": [
236
+ "none",
237
+ "estimated"
238
+ ]
239
+ },
240
+ "algorithm": {
241
+ "type": [
242
+ "string",
243
+ "null"
244
+ ]
245
+ },
246
+ "algorithmVersion": {
247
+ "type": [
248
+ "string",
249
+ "null"
250
+ ]
251
+ },
252
+ "usage": {
253
+ "anyOf": [
254
+ {
255
+ "$ref": "#/$defs/usage"
256
+ },
257
+ {
258
+ "type": "null"
259
+ }
260
+ ]
261
+ }
262
+ }
263
+ },
264
+ "owners": {
265
+ "type": "array",
266
+ "items": {
267
+ "$ref": "#/$defs/batchOwner"
268
+ }
269
+ }
270
+ }
271
+ },
272
+ "features": {
273
+ "type": "object",
274
+ "additionalProperties": {
275
+ "$ref": "#/$defs/cell"
276
+ }
277
+ }
278
+ },
279
+ "$defs": {
280
+ "sha256": {
281
+ "type": "string",
282
+ "pattern": "^sha256:[a-f0-9]{64}$"
283
+ },
284
+ "pin": {
285
+ "type": "object",
286
+ "required": [
287
+ "id",
288
+ "version",
289
+ "digest"
290
+ ],
291
+ "additionalProperties": false,
292
+ "properties": {
293
+ "id": {
294
+ "type": "string",
295
+ "minLength": 1
296
+ },
297
+ "version": {
298
+ "type": "string",
299
+ "minLength": 1
300
+ },
301
+ "digest": {
302
+ "$ref": "#/$defs/sha256"
303
+ }
304
+ }
305
+ },
306
+ "featureSetRef": {
307
+ "type": "object",
308
+ "required": [
309
+ "id",
310
+ "version",
311
+ "digest"
312
+ ],
313
+ "additionalProperties": false,
314
+ "properties": {
315
+ "id": {
316
+ "type": "string",
317
+ "minLength": 1
318
+ },
319
+ "version": {
320
+ "type": "string",
321
+ "minLength": 1
322
+ },
323
+ "digest": {
324
+ "$ref": "#/$defs/sha256"
325
+ }
326
+ }
327
+ },
328
+ "auth": {
329
+ "type": "object",
330
+ "required": [
331
+ "tenantId",
332
+ "projectId",
333
+ "actorId",
334
+ "recipient",
335
+ "purpose",
336
+ "datasetPolicyId",
337
+ "accessScope"
338
+ ],
339
+ "additionalProperties": false,
340
+ "properties": {
341
+ "tenantId": {
342
+ "type": "string",
343
+ "minLength": 1
344
+ },
345
+ "projectId": {
346
+ "type": "string",
347
+ "minLength": 1
348
+ },
349
+ "actorId": {
350
+ "type": "string",
351
+ "minLength": 1
352
+ },
353
+ "recipient": {
354
+ "type": "string",
355
+ "minLength": 1
356
+ },
357
+ "purpose": {
358
+ "type": "string",
359
+ "minLength": 1
360
+ },
361
+ "datasetPolicyId": {
362
+ "type": "string",
363
+ "minLength": 1
364
+ },
365
+ "accessScope": {
366
+ "type": "string",
367
+ "minLength": 1
368
+ }
369
+ }
370
+ },
371
+ "usage": {
372
+ "type": "object",
373
+ "required": [
374
+ "inputTokens",
375
+ "outputTokens",
376
+ "costUsd"
377
+ ],
378
+ "additionalProperties": false,
379
+ "properties": {
380
+ "inputTokens": {
381
+ "type": [
382
+ "integer",
383
+ "null"
384
+ ],
385
+ "minimum": 0
386
+ },
387
+ "outputTokens": {
388
+ "type": [
389
+ "integer",
390
+ "null"
391
+ ],
392
+ "minimum": 0
393
+ },
394
+ "costUsd": {
395
+ "type": [
396
+ "number",
397
+ "null"
398
+ ],
399
+ "minimum": 0
400
+ }
401
+ }
402
+ },
403
+ "cell": {
404
+ "type": "object",
405
+ "required": [
406
+ "value",
407
+ "state",
408
+ "source",
409
+ "missingReason",
410
+ "calibrationRef",
411
+ "derivation",
412
+ "evidencePath"
413
+ ],
414
+ "additionalProperties": false,
415
+ "properties": {
416
+ "value": {
417
+ "anyOf": [
418
+ {
419
+ "type": "number"
420
+ },
421
+ {
422
+ "type": "string"
423
+ },
424
+ {
425
+ "type": "boolean"
426
+ },
427
+ {
428
+ "type": "null"
429
+ }
430
+ ]
431
+ },
432
+ "state": {
433
+ "enum": [
434
+ "present",
435
+ "missing"
436
+ ]
437
+ },
438
+ "source": {
439
+ "enum": [
440
+ "provider-native",
441
+ "model-self-report",
442
+ "adapter-one-hot",
443
+ "derived",
444
+ "calibrated",
445
+ "missing"
446
+ ]
447
+ },
448
+ "missingReason": {
449
+ "type": [
450
+ "string",
451
+ "null"
452
+ ],
453
+ "enum": [
454
+ "not-applicable",
455
+ "unsupported-old-field",
456
+ "missing-evidence",
457
+ "incompatible-primitive",
458
+ "calibration-unavailable",
459
+ null
460
+ ]
461
+ },
462
+ "calibrationRef": {
463
+ "type": [
464
+ "string",
465
+ "null"
466
+ ]
467
+ },
468
+ "derivation": {
469
+ "anyOf": [
470
+ {
471
+ "type": "null"
472
+ },
473
+ {
474
+ "type": "object",
475
+ "required": [
476
+ "algorithm",
477
+ "version"
478
+ ],
479
+ "additionalProperties": false,
480
+ "properties": {
481
+ "algorithm": {
482
+ "type": "string",
483
+ "minLength": 1
484
+ },
485
+ "version": {
486
+ "type": "string",
487
+ "minLength": 1
488
+ }
489
+ }
490
+ }
491
+ ]
492
+ },
493
+ "evidencePath": {
494
+ "type": "string",
495
+ "minLength": 1
496
+ }
497
+ }
498
+ },
499
+ "batchOwner": {
500
+ "type": "object",
501
+ "required": [
502
+ "ownerId",
503
+ "runId",
504
+ "invocationId",
505
+ "groupId",
506
+ "ordinal",
507
+ "requestId",
508
+ "questionIds",
509
+ "usageDigest"
510
+ ],
511
+ "additionalProperties": false,
512
+ "properties": {
513
+ "ownerId": {
514
+ "type": "string",
515
+ "minLength": 1
516
+ },
517
+ "runId": {
518
+ "type": "string",
519
+ "minLength": 1
520
+ },
521
+ "invocationId": {
522
+ "type": "string",
523
+ "minLength": 1
524
+ },
525
+ "groupId": {
526
+ "type": [
527
+ "string",
528
+ "null"
529
+ ]
530
+ },
531
+ "ordinal": {
532
+ "type": [
533
+ "integer",
534
+ "null"
535
+ ],
536
+ "minimum": 0
537
+ },
538
+ "requestId": {
539
+ "type": [
540
+ "string",
541
+ "null"
542
+ ]
543
+ },
544
+ "questionIds": {
545
+ "type": "array",
546
+ "items": {
547
+ "type": "string",
548
+ "minLength": 1
549
+ }
550
+ },
551
+ "usageDigest": {
552
+ "anyOf": [
553
+ {
554
+ "$ref": "#/$defs/sha256"
555
+ },
556
+ {
557
+ "type": "null"
558
+ }
559
+ ]
560
+ }
561
+ }
562
+ }
563
+ }
564
+ }