@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,1133 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aiwg.io/schemas/decision/D29Study.v4.schema.json",
4
+ "title": "D29Study v4",
5
+ "oneOf": [
6
+ {
7
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v3.schema.json"
8
+ },
9
+ {
10
+ "$ref": "#/$defs/gold"
11
+ },
12
+ {
13
+ "$ref": "#/$defs/audit"
14
+ },
15
+ {
16
+ "$ref": "#/$defs/score"
17
+ },
18
+ {
19
+ "$ref": "#/$defs/analysis"
20
+ }
21
+ ],
22
+ "$defs": {
23
+ "gold": {
24
+ "type": "object",
25
+ "additionalProperties": false,
26
+ "required": [
27
+ "schemaVersion",
28
+ "syntheticOnly",
29
+ "rows"
30
+ ],
31
+ "properties": {
32
+ "schemaVersion": {
33
+ "const": "decision-d29-gold/v4"
34
+ },
35
+ "syntheticOnly": {
36
+ "const": true
37
+ },
38
+ "rows": {
39
+ "type": "array",
40
+ "items": {
41
+ "type": "object",
42
+ "additionalProperties": false,
43
+ "required": [
44
+ "id",
45
+ "world",
46
+ "gold",
47
+ "variant"
48
+ ],
49
+ "properties": {
50
+ "id": {
51
+ "type": "string",
52
+ "minLength": 1
53
+ },
54
+ "world": {
55
+ "type": "object",
56
+ "additionalProperties": false,
57
+ "required": [
58
+ "kind",
59
+ "sourceAttribute",
60
+ "claimAttribute",
61
+ "sourceValue",
62
+ "claimValue",
63
+ "uncertain",
64
+ "injected",
65
+ "artifactPresent",
66
+ "testPassed",
67
+ "required",
68
+ "covered",
69
+ "variant",
70
+ "sourceModule",
71
+ "claimModule",
72
+ "exclusive",
73
+ "sourceValues",
74
+ "negatedValues",
75
+ "scoped",
76
+ "temporal",
77
+ "current",
78
+ "independent",
79
+ "complete",
80
+ "decoy",
81
+ "distractorCount",
82
+ "factPosition",
83
+ "nearMissGroup",
84
+ "injectionPhrase"
85
+ ],
86
+ "properties": {
87
+ "kind": {
88
+ "enum": [
89
+ "citation",
90
+ "phase-criterion"
91
+ ]
92
+ },
93
+ "sourceAttribute": {
94
+ "enum": [
95
+ "port",
96
+ "protocol",
97
+ "region",
98
+ "owner-team",
99
+ "major-version",
100
+ "rollback",
101
+ "security",
102
+ "migration"
103
+ ]
104
+ },
105
+ "claimAttribute": {
106
+ "enum": [
107
+ "port",
108
+ "protocol",
109
+ "region",
110
+ "owner-team",
111
+ "major-version",
112
+ "rollback",
113
+ "security",
114
+ "migration"
115
+ ]
116
+ },
117
+ "sourceValue": {
118
+ "type": "string",
119
+ "minLength": 1
120
+ },
121
+ "claimValue": {
122
+ "type": "string",
123
+ "minLength": 1
124
+ },
125
+ "uncertain": {
126
+ "type": "boolean"
127
+ },
128
+ "injected": {
129
+ "type": "boolean"
130
+ },
131
+ "artifactPresent": {
132
+ "type": "boolean"
133
+ },
134
+ "testPassed": {
135
+ "type": "boolean"
136
+ },
137
+ "required": {
138
+ "type": "string",
139
+ "minLength": 1
140
+ },
141
+ "covered": {
142
+ "type": "array",
143
+ "items": {
144
+ "type": "string",
145
+ "minLength": 1
146
+ }
147
+ },
148
+ "variant": {
149
+ "enum": [
150
+ "exact",
151
+ "paraphrase",
152
+ "multi-value",
153
+ "negated",
154
+ "moved",
155
+ "exclusive-single",
156
+ "exclusive-restricted",
157
+ "scoped",
158
+ "temporal",
159
+ "tentative",
160
+ "different-nonexclusive",
161
+ "other-attribute",
162
+ "near-miss-digit",
163
+ "near-miss-transposition",
164
+ "context",
165
+ "prefix",
166
+ "middle",
167
+ "suffix",
168
+ "verified",
169
+ "checklist",
170
+ "explicit-none",
171
+ "planned",
172
+ "wrong-attribute",
173
+ "wrong-subject",
174
+ "stale",
175
+ "self-attested",
176
+ "partial",
177
+ "different-current"
178
+ ]
179
+ },
180
+ "sourceModule": {
181
+ "type": "string",
182
+ "minLength": 1
183
+ },
184
+ "claimModule": {
185
+ "type": "string",
186
+ "minLength": 1
187
+ },
188
+ "exclusive": {
189
+ "type": "boolean"
190
+ },
191
+ "sourceValues": {
192
+ "type": "array",
193
+ "items": {
194
+ "type": "string",
195
+ "minLength": 1
196
+ },
197
+ "uniqueItems": true
198
+ },
199
+ "negatedValues": {
200
+ "type": "array",
201
+ "items": {
202
+ "type": "string",
203
+ "minLength": 1
204
+ },
205
+ "uniqueItems": true
206
+ },
207
+ "scoped": {
208
+ "type": "boolean"
209
+ },
210
+ "temporal": {
211
+ "type": "boolean"
212
+ },
213
+ "current": {
214
+ "type": "boolean"
215
+ },
216
+ "independent": {
217
+ "type": "boolean"
218
+ },
219
+ "complete": {
220
+ "type": "boolean"
221
+ },
222
+ "decoy": {
223
+ "type": "boolean"
224
+ },
225
+ "distractorCount": {
226
+ "type": "integer",
227
+ "minimum": 0,
228
+ "maximum": 5
229
+ },
230
+ "factPosition": {
231
+ "type": "integer",
232
+ "minimum": 0,
233
+ "maximum": 5
234
+ },
235
+ "nearMissGroup": {
236
+ "type": [
237
+ "integer",
238
+ "null"
239
+ ],
240
+ "minimum": 0,
241
+ "maximum": 2
242
+ },
243
+ "injectionPhrase": {
244
+ "type": [
245
+ "integer",
246
+ "null"
247
+ ],
248
+ "minimum": 0,
249
+ "maximum": 15
250
+ }
251
+ }
252
+ },
253
+ "gold": {
254
+ "type": "object",
255
+ "additionalProperties": false,
256
+ "required": [
257
+ "ready",
258
+ "support"
259
+ ],
260
+ "properties": {
261
+ "ready": {
262
+ "type": "boolean"
263
+ },
264
+ "support": {
265
+ "enum": [
266
+ "supports",
267
+ "contradicts",
268
+ "unclear",
269
+ "does-not-support",
270
+ null
271
+ ]
272
+ }
273
+ }
274
+ },
275
+ "variant": {
276
+ "enum": [
277
+ "exact",
278
+ "paraphrase",
279
+ "multi-value",
280
+ "negated",
281
+ "moved",
282
+ "exclusive-single",
283
+ "exclusive-restricted",
284
+ "scoped",
285
+ "temporal",
286
+ "tentative",
287
+ "different-nonexclusive",
288
+ "other-attribute",
289
+ "near-miss-digit",
290
+ "near-miss-transposition",
291
+ "context",
292
+ "prefix",
293
+ "middle",
294
+ "suffix",
295
+ "verified",
296
+ "checklist",
297
+ "explicit-none",
298
+ "planned",
299
+ "wrong-attribute",
300
+ "wrong-subject",
301
+ "stale",
302
+ "self-attested",
303
+ "partial",
304
+ "different-current"
305
+ ]
306
+ }
307
+ }
308
+ },
309
+ "minItems": 2000,
310
+ "maxItems": 2000
311
+ }
312
+ }
313
+ },
314
+ "audit": {
315
+ "type": "object",
316
+ "additionalProperties": false,
317
+ "required": [
318
+ "schemaVersion",
319
+ "splits",
320
+ "n",
321
+ "targets",
322
+ "topRules",
323
+ "passed",
324
+ "pairFeatureLimit",
325
+ "pairSelection",
326
+ "featureFamilies",
327
+ "modelLeakage"
328
+ ],
329
+ "properties": {
330
+ "schemaVersion": {
331
+ "const": "decision-d29-shortcut-audit/v2"
332
+ },
333
+ "splits": {
334
+ "const": [
335
+ "tuning",
336
+ "calibration"
337
+ ]
338
+ },
339
+ "n": {
340
+ "type": "integer",
341
+ "minimum": 1
342
+ },
343
+ "targets": {
344
+ "type": "array",
345
+ "items": {
346
+ "type": "object",
347
+ "additionalProperties": false,
348
+ "required": [
349
+ "target",
350
+ "positives",
351
+ "negatives",
352
+ "limit",
353
+ "featureCount",
354
+ "maximumBalancedAccuracy",
355
+ "topRules",
356
+ "pairFeatureCounts",
357
+ "pairRuleCount",
358
+ "maximumSingleBalancedAccuracy",
359
+ "maximumPairBalancedAccuracy",
360
+ "topSingleRules",
361
+ "topPairRules"
362
+ ],
363
+ "properties": {
364
+ "target": {
365
+ "enum": [
366
+ "injection",
367
+ "readiness",
368
+ "supports",
369
+ "contradicts",
370
+ "unclear",
371
+ "does-not-support"
372
+ ]
373
+ },
374
+ "positives": {
375
+ "type": "integer",
376
+ "minimum": 1
377
+ },
378
+ "negatives": {
379
+ "type": "integer",
380
+ "minimum": 1
381
+ },
382
+ "limit": {
383
+ "enum": [
384
+ 0.75,
385
+ 0.8
386
+ ]
387
+ },
388
+ "featureCount": {
389
+ "type": "integer",
390
+ "minimum": 1
391
+ },
392
+ "maximumBalancedAccuracy": {
393
+ "type": "number",
394
+ "minimum": 0,
395
+ "maximum": 1
396
+ },
397
+ "topRules": {
398
+ "type": "array",
399
+ "items": {
400
+ "$ref": "#/$defs/rule"
401
+ },
402
+ "minItems": 10,
403
+ "maxItems": 10
404
+ },
405
+ "pairFeatureCounts": {
406
+ "type": "array",
407
+ "items": {
408
+ "type": "object",
409
+ "additionalProperties": false,
410
+ "required": [
411
+ "view",
412
+ "count"
413
+ ],
414
+ "properties": {
415
+ "view": {
416
+ "enum": [
417
+ "passage",
418
+ "passage-and-context",
419
+ "context"
420
+ ]
421
+ },
422
+ "count": {
423
+ "type": "integer",
424
+ "minimum": 0,
425
+ "maximum": 200
426
+ }
427
+ }
428
+ },
429
+ "minItems": 3
430
+ },
431
+ "pairRuleCount": {
432
+ "type": "integer",
433
+ "minimum": 0
434
+ },
435
+ "maximumSingleBalancedAccuracy": {
436
+ "type": "number",
437
+ "minimum": 0,
438
+ "maximum": 1
439
+ },
440
+ "maximumPairBalancedAccuracy": {
441
+ "type": "number",
442
+ "minimum": 0,
443
+ "maximum": 1
444
+ },
445
+ "topSingleRules": {
446
+ "type": "array",
447
+ "items": {
448
+ "$ref": "#/$defs/rule"
449
+ },
450
+ "minItems": 1
451
+ },
452
+ "topPairRules": {
453
+ "type": "array",
454
+ "items": {
455
+ "$ref": "#/$defs/rule"
456
+ },
457
+ "minItems": 0
458
+ }
459
+ }
460
+ },
461
+ "minItems": 6,
462
+ "maxItems": 6
463
+ },
464
+ "topRules": {
465
+ "type": "array",
466
+ "items": {
467
+ "$ref": "#/$defs/rule"
468
+ },
469
+ "minItems": 10,
470
+ "maxItems": 10
471
+ },
472
+ "passed": {
473
+ "type": "boolean"
474
+ },
475
+ "pairFeatureLimit": {
476
+ "const": 200
477
+ },
478
+ "pairSelection": {
479
+ "const": "strongest-single-distinct-bitsets-per-target-and-view"
480
+ },
481
+ "featureFamilies": {
482
+ "const": [
483
+ "tokens-including-stopwords",
484
+ "bigrams",
485
+ "annotation-counts",
486
+ "sentence-counts",
487
+ "formatting-counts",
488
+ "character-thresholds",
489
+ "length-bins"
490
+ ]
491
+ },
492
+ "modelLeakage": {
493
+ "type": "object",
494
+ "additionalProperties": false,
495
+ "required": [
496
+ "method",
497
+ "view",
498
+ "vocabulary",
499
+ "informationalOnly",
500
+ "maximumBalancedAccuracy",
501
+ "targets"
502
+ ],
503
+ "properties": {
504
+ "method": {
505
+ "const": "stratified-5-fold-depth-3-balanced-tree"
506
+ },
507
+ "view": {
508
+ "const": "passage-and-context"
509
+ },
510
+ "vocabulary": {
511
+ "const": "training-fold-only-token-presence-minimum-two"
512
+ },
513
+ "informationalOnly": {
514
+ "const": true
515
+ },
516
+ "maximumBalancedAccuracy": {
517
+ "type": "number",
518
+ "minimum": 0,
519
+ "maximum": 1
520
+ },
521
+ "targets": {
522
+ "type": "array",
523
+ "items": {
524
+ "type": "object",
525
+ "additionalProperties": false,
526
+ "required": [
527
+ "target",
528
+ "balancedAccuracy",
529
+ "validationCount",
530
+ "folds"
531
+ ],
532
+ "properties": {
533
+ "target": {
534
+ "enum": [
535
+ "injection",
536
+ "readiness",
537
+ "supports",
538
+ "contradicts",
539
+ "unclear",
540
+ "does-not-support"
541
+ ]
542
+ },
543
+ "balancedAccuracy": {
544
+ "type": "number",
545
+ "minimum": 0,
546
+ "maximum": 1
547
+ },
548
+ "validationCount": {
549
+ "type": "integer",
550
+ "minimum": 0
551
+ },
552
+ "folds": {
553
+ "type": "array",
554
+ "items": {
555
+ "type": "object",
556
+ "additionalProperties": false,
557
+ "required": [
558
+ "fold",
559
+ "trainingCount",
560
+ "validationCount",
561
+ "vocabularyCount"
562
+ ],
563
+ "properties": {
564
+ "fold": {
565
+ "type": "integer",
566
+ "minimum": 0,
567
+ "maximum": 4
568
+ },
569
+ "trainingCount": {
570
+ "type": "integer",
571
+ "minimum": 0
572
+ },
573
+ "validationCount": {
574
+ "type": "integer",
575
+ "minimum": 0
576
+ },
577
+ "vocabularyCount": {
578
+ "type": "integer",
579
+ "minimum": 0
580
+ }
581
+ }
582
+ },
583
+ "minItems": 5
584
+ }
585
+ }
586
+ },
587
+ "minItems": 6
588
+ }
589
+ }
590
+ }
591
+ }
592
+ },
593
+ "rule": {
594
+ "type": "object",
595
+ "additionalProperties": false,
596
+ "required": [
597
+ "target",
598
+ "view",
599
+ "feature",
600
+ "polarity",
601
+ "balancedAccuracy",
602
+ "operator"
603
+ ],
604
+ "properties": {
605
+ "target": {
606
+ "enum": [
607
+ "injection",
608
+ "readiness",
609
+ "supports",
610
+ "contradicts",
611
+ "unclear",
612
+ "does-not-support"
613
+ ]
614
+ },
615
+ "view": {
616
+ "enum": [
617
+ "passage",
618
+ "passage-and-context",
619
+ "context"
620
+ ]
621
+ },
622
+ "feature": {
623
+ "type": "string",
624
+ "minLength": 1
625
+ },
626
+ "polarity": {
627
+ "enum": [
628
+ "present",
629
+ "absent"
630
+ ]
631
+ },
632
+ "balancedAccuracy": {
633
+ "type": "number",
634
+ "minimum": 0,
635
+ "maximum": 1
636
+ },
637
+ "operator": {
638
+ "enum": [
639
+ "single",
640
+ "AND",
641
+ "OR"
642
+ ]
643
+ }
644
+ }
645
+ },
646
+ "score": {
647
+ "type": "object",
648
+ "additionalProperties": false,
649
+ "required": [
650
+ "schemaVersion",
651
+ "decision",
652
+ "native",
653
+ "external",
654
+ "heldout",
655
+ "provenance",
656
+ "reviewerN",
657
+ "missingInputs",
658
+ "completeCase",
659
+ "failureAsError",
660
+ "proposedStatisticalDisposition",
661
+ "limitations",
662
+ "groups"
663
+ ],
664
+ "properties": {
665
+ "schemaVersion": {
666
+ "const": "decision-d29-score/v4"
667
+ },
668
+ "decision": {
669
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/decision"
670
+ },
671
+ "native": {
672
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/native"
673
+ },
674
+ "external": {
675
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/external"
676
+ },
677
+ "heldout": {
678
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/heldout"
679
+ },
680
+ "provenance": {
681
+ "type": "array",
682
+ "items": {
683
+ "type": "object",
684
+ "additionalProperties": false,
685
+ "required": [
686
+ "id",
687
+ "receiptDigest",
688
+ "attempts",
689
+ "mappingDigest",
690
+ "baseline",
691
+ "baselineDigest",
692
+ "reservationUsdMicros",
693
+ "secondaryBaseline",
694
+ "secondaryBaselineDigest"
695
+ ],
696
+ "properties": {
697
+ "id": {
698
+ "type": "string",
699
+ "minLength": 1
700
+ },
701
+ "receiptDigest": {
702
+ "type": "string",
703
+ "pattern": "^sha256:[a-f0-9]{64}$"
704
+ },
705
+ "attempts": {
706
+ "type": "array",
707
+ "items": {
708
+ "type": "string",
709
+ "pattern": "^sha256:[a-f0-9]{64}$"
710
+ }
711
+ },
712
+ "mappingDigest": {
713
+ "type": "string",
714
+ "pattern": "^sha256:[a-f0-9]{64}$"
715
+ },
716
+ "baseline": {
717
+ "type": "object",
718
+ "additionalProperties": false,
719
+ "required": [
720
+ "route",
721
+ "support"
722
+ ],
723
+ "properties": {
724
+ "route": {
725
+ "enum": [
726
+ "ADVISORY_READY",
727
+ "REVIEW"
728
+ ]
729
+ },
730
+ "support": {
731
+ "enum": [
732
+ "supports",
733
+ "contradicts",
734
+ "unclear",
735
+ "does-not-support",
736
+ null
737
+ ]
738
+ }
739
+ }
740
+ },
741
+ "baselineDigest": {
742
+ "type": "string",
743
+ "pattern": "^sha256:[a-f0-9]{64}$"
744
+ },
745
+ "reservationUsdMicros": {
746
+ "type": "integer",
747
+ "minimum": 0
748
+ },
749
+ "secondaryBaseline": {
750
+ "type": "object",
751
+ "additionalProperties": false,
752
+ "required": [
753
+ "route",
754
+ "support"
755
+ ],
756
+ "properties": {
757
+ "route": {
758
+ "enum": [
759
+ "ADVISORY_READY",
760
+ "REVIEW"
761
+ ]
762
+ },
763
+ "support": {
764
+ "enum": [
765
+ "supports",
766
+ "contradicts",
767
+ "unclear",
768
+ "does-not-support",
769
+ null
770
+ ]
771
+ }
772
+ }
773
+ },
774
+ "secondaryBaselineDigest": {
775
+ "type": "string",
776
+ "pattern": "^sha256:[a-f0-9]{64}$"
777
+ }
778
+ }
779
+ }
780
+ },
781
+ "reviewerN": {
782
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/reviewerN"
783
+ },
784
+ "missingInputs": {
785
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/missingInputs"
786
+ },
787
+ "completeCase": {
788
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/completeCase"
789
+ },
790
+ "failureAsError": {
791
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/failureAsError"
792
+ },
793
+ "proposedStatisticalDisposition": {
794
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/proposedStatisticalDisposition"
795
+ },
796
+ "limitations": {
797
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/limitations"
798
+ },
799
+ "groups": {
800
+ "type": "object",
801
+ "additionalProperties": false,
802
+ "required": [
803
+ "slices",
804
+ "variants"
805
+ ],
806
+ "properties": {
807
+ "slices": {
808
+ "type": "array",
809
+ "items": {
810
+ "$ref": "#/$defs/group"
811
+ },
812
+ "minItems": 1
813
+ },
814
+ "variants": {
815
+ "type": "array",
816
+ "items": {
817
+ "$ref": "#/$defs/group"
818
+ },
819
+ "minItems": 1
820
+ }
821
+ }
822
+ }
823
+ }
824
+ },
825
+ "group": {
826
+ "type": "object",
827
+ "additionalProperties": false,
828
+ "required": [
829
+ "slice",
830
+ "variant",
831
+ "n",
832
+ "missingCandidate",
833
+ "candidate",
834
+ "baseline",
835
+ "secondaryBaseline"
836
+ ],
837
+ "properties": {
838
+ "slice": {
839
+ "enum": [
840
+ "citation-supports",
841
+ "citation-contradicts",
842
+ "citation-unclear",
843
+ "citation-does-not-support",
844
+ "citation-injection",
845
+ "criterion-ready",
846
+ "criterion-incomplete",
847
+ "criterion-injection",
848
+ "missing-artifact",
849
+ "failed-test"
850
+ ]
851
+ },
852
+ "variant": {
853
+ "enum": [
854
+ "exact",
855
+ "paraphrase",
856
+ "multi-value",
857
+ "negated",
858
+ "moved",
859
+ "exclusive-single",
860
+ "exclusive-restricted",
861
+ "scoped",
862
+ "temporal",
863
+ "tentative",
864
+ "different-nonexclusive",
865
+ "other-attribute",
866
+ "near-miss-digit",
867
+ "near-miss-transposition",
868
+ "context",
869
+ "prefix",
870
+ "middle",
871
+ "suffix",
872
+ "verified",
873
+ "checklist",
874
+ "explicit-none",
875
+ "planned",
876
+ "wrong-attribute",
877
+ "wrong-subject",
878
+ "stale",
879
+ "self-attested",
880
+ "partial",
881
+ null,
882
+ "different-current"
883
+ ]
884
+ },
885
+ "n": {
886
+ "type": "integer",
887
+ "minimum": 0
888
+ },
889
+ "missingCandidate": {
890
+ "type": "integer",
891
+ "minimum": 0
892
+ },
893
+ "candidate": {
894
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/groupMetrics"
895
+ },
896
+ "baseline": {
897
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/groupMetrics"
898
+ },
899
+ "secondaryBaseline": {
900
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/groupMetrics"
901
+ }
902
+ }
903
+ },
904
+ "analysis": {
905
+ "type": "object",
906
+ "additionalProperties": false,
907
+ "required": [
908
+ "schemaVersion",
909
+ "syntheticOnly",
910
+ "splits",
911
+ "native",
912
+ "external",
913
+ "calibration",
914
+ "review",
915
+ "missingPolicy",
916
+ "conditionalRates",
917
+ "comparators",
918
+ "shortcutAudit"
919
+ ],
920
+ "properties": {
921
+ "schemaVersion": {
922
+ "const": "decision-d29-analysis/v3"
923
+ },
924
+ "syntheticOnly": {
925
+ "const": true
926
+ },
927
+ "splits": {
928
+ "type": "array",
929
+ "items": {
930
+ "type": "object",
931
+ "additionalProperties": false,
932
+ "required": [
933
+ "name",
934
+ "ids",
935
+ "digest"
936
+ ],
937
+ "properties": {
938
+ "name": {
939
+ "enum": [
940
+ "tuning",
941
+ "calibration",
942
+ "test"
943
+ ]
944
+ },
945
+ "ids": {
946
+ "type": "array",
947
+ "items": {
948
+ "type": "string",
949
+ "minLength": 1
950
+ },
951
+ "minItems": 1,
952
+ "uniqueItems": true
953
+ },
954
+ "digest": {
955
+ "type": "string",
956
+ "pattern": "^sha256:[a-f0-9]{64}$"
957
+ }
958
+ }
959
+ },
960
+ "minItems": 3,
961
+ "maxItems": 3
962
+ },
963
+ "native": {
964
+ "$ref": "https://aiwg.io/schemas/decision/SdlcScreeningPreregistration.v1.schema.json"
965
+ },
966
+ "external": {
967
+ "type": "object",
968
+ "additionalProperties": false,
969
+ "required": [
970
+ "minimumAcceptedCoverageLowerBps",
971
+ "maximumBlockingSliceFalseReadyEvents",
972
+ "maximumBlockingSliceFalseReadyUpperBps"
973
+ ],
974
+ "properties": {
975
+ "minimumAcceptedCoverageLowerBps": {
976
+ "type": "integer",
977
+ "minimum": 0,
978
+ "maximum": 10000
979
+ },
980
+ "maximumBlockingSliceFalseReadyEvents": {
981
+ "type": "integer",
982
+ "minimum": 0
983
+ },
984
+ "maximumBlockingSliceFalseReadyUpperBps": {
985
+ "type": "integer",
986
+ "minimum": 0,
987
+ "maximum": 10000
988
+ }
989
+ }
990
+ },
991
+ "calibration": {
992
+ "type": "object",
993
+ "additionalProperties": false,
994
+ "required": [
995
+ "method",
996
+ "minimumCellN",
997
+ "smoothing",
998
+ "split",
999
+ "profile"
1000
+ ],
1001
+ "properties": {
1002
+ "method": {
1003
+ "const": "kind-and-safe-semantic-ready-frequency-v2"
1004
+ },
1005
+ "minimumCellN": {
1006
+ "type": "integer",
1007
+ "minimum": 1
1008
+ },
1009
+ "smoothing": {
1010
+ "const": "laplace-1"
1011
+ },
1012
+ "split": {
1013
+ "const": "calibration"
1014
+ },
1015
+ "profile": {
1016
+ "$ref": "https://aiwg.io/schemas/decision/CalibrationArtifact.v1.schema.json#/properties/profile"
1017
+ }
1018
+ }
1019
+ },
1020
+ "review": {
1021
+ "type": "object",
1022
+ "additionalProperties": false,
1023
+ "required": [
1024
+ "development",
1025
+ "holdout",
1026
+ "delayedRepeats",
1027
+ "reviewer"
1028
+ ],
1029
+ "properties": {
1030
+ "development": {
1031
+ "const": 50
1032
+ },
1033
+ "holdout": {
1034
+ "const": 100
1035
+ },
1036
+ "delayedRepeats": {
1037
+ "const": 15
1038
+ },
1039
+ "reviewer": {
1040
+ "const": "roctinam"
1041
+ }
1042
+ }
1043
+ },
1044
+ "missingPolicy": {
1045
+ "const": "withhold-native-report; complete-case-description; missing-as-error"
1046
+ },
1047
+ "conditionalRates": {
1048
+ "type": "array",
1049
+ "items": {
1050
+ "type": "string",
1051
+ "minLength": 1
1052
+ },
1053
+ "minItems": 4,
1054
+ "maxItems": 4,
1055
+ "uniqueItems": true
1056
+ },
1057
+ "comparators": {
1058
+ "type": "object",
1059
+ "additionalProperties": false,
1060
+ "required": [
1061
+ "primary",
1062
+ "secondary"
1063
+ ],
1064
+ "properties": {
1065
+ "primary": {
1066
+ "type": "object",
1067
+ "additionalProperties": false,
1068
+ "required": [
1069
+ "id",
1070
+ "sourceDigest"
1071
+ ],
1072
+ "properties": {
1073
+ "id": {
1074
+ "const": "d29-passage-baseline/v1"
1075
+ },
1076
+ "sourceDigest": {
1077
+ "type": "string",
1078
+ "pattern": "^sha256:[0-9a-f]{64}$"
1079
+ }
1080
+ }
1081
+ },
1082
+ "secondary": {
1083
+ "type": "object",
1084
+ "additionalProperties": false,
1085
+ "required": [
1086
+ "id",
1087
+ "sourceDigest"
1088
+ ],
1089
+ "properties": {
1090
+ "id": {
1091
+ "const": "d29-baseline/v1"
1092
+ },
1093
+ "sourceDigest": {
1094
+ "type": "string",
1095
+ "pattern": "^sha256:[0-9a-f]{64}$"
1096
+ }
1097
+ }
1098
+ }
1099
+ }
1100
+ },
1101
+ "shortcutAudit": {
1102
+ "type": "object",
1103
+ "additionalProperties": false,
1104
+ "required": [
1105
+ "sourceDigest",
1106
+ "pairFeatureLimit",
1107
+ "injection",
1108
+ "readiness",
1109
+ "support"
1110
+ ],
1111
+ "properties": {
1112
+ "sourceDigest": {
1113
+ "type": "string",
1114
+ "pattern": "^sha256:[0-9a-f]{64}$"
1115
+ },
1116
+ "pairFeatureLimit": {
1117
+ "const": 200
1118
+ },
1119
+ "injection": {
1120
+ "const": 0.75
1121
+ },
1122
+ "readiness": {
1123
+ "const": 0.75
1124
+ },
1125
+ "support": {
1126
+ "const": 0.8
1127
+ }
1128
+ }
1129
+ }
1130
+ }
1131
+ }
1132
+ }
1133
+ }