@aiwg/cli 2026.9.21 → 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 (210) hide show
  1. package/agentic/code/providers/capability-matrix.yaml +2 -1
  2. package/dist/src/artifacts/cli.js +23 -18
  3. package/dist/src/artifacts/discovery-shadow-evaluator.js +177 -0
  4. package/dist/src/artifacts/discovery-shadow.js +195 -0
  5. package/dist/src/artifacts/fortemi-core-query-adapter.js +6 -2
  6. package/dist/src/artifacts/index-builder.js +47 -9
  7. package/dist/src/artifacts/query-engine.js +108 -5
  8. package/dist/src/artifacts/types.js +1 -0
  9. package/dist/src/cli/handlers/decision.js +88 -0
  10. package/dist/src/cli/handlers/gates.js +154 -0
  11. package/dist/src/cli/handlers/index.js +5 -1
  12. package/dist/src/cli/handlers/sessions.js +10 -7
  13. package/dist/src/cli/handlers/utilities.js +20 -0
  14. package/dist/src/config/aiwg-config.js +15 -2
  15. package/dist/src/decision/acceptance.js +25 -0
  16. package/dist/src/decision/adapters/jev.js +24 -2
  17. package/dist/src/decision/calibration/registry.js +9 -0
  18. package/dist/src/decision/compose.js +74 -15
  19. package/dist/src/decision/context-live-promotion.js +344 -0
  20. package/dist/src/decision/context-live-qualification.js +591 -0
  21. package/dist/src/decision/context-pruning.js +847 -0
  22. package/dist/src/decision/driver.js +430 -0
  23. package/dist/src/decision/egress-live-qualification.js +874 -0
  24. package/dist/src/decision/ensemble/contract.js +64 -1
  25. package/dist/src/decision/ensemble/index.js +1 -0
  26. package/dist/src/decision/ensemble/report.js +8 -42
  27. package/dist/src/decision/ensemble/runtime.js +571 -0
  28. package/dist/src/decision/ensemble-study/artifacts.js +85 -0
  29. package/dist/src/decision/ensemble-study/calibration.js +443 -0
  30. package/dist/src/decision/ensemble-study/corpus.js +229 -0
  31. package/dist/src/decision/ensemble-study/multifact-artifacts.js +23 -0
  32. package/dist/src/decision/ensemble-study/multifact-study.js +596 -0
  33. package/dist/src/decision/ensemble-study/multifact.js +241 -0
  34. package/dist/src/decision/ensemble-study/protocol.js +77 -0
  35. package/dist/src/decision/ensemble-study/score.js +462 -0
  36. package/dist/src/decision/ensemble-study/staged.js +87 -0
  37. package/dist/src/decision/ensemble-study/statistics.js +84 -0
  38. package/dist/src/decision/evaluate.js +227 -14
  39. package/dist/src/decision/export.js +4 -0
  40. package/dist/src/decision/feature-export.js +1074 -0
  41. package/dist/src/decision/graph-index.js +16 -0
  42. package/dist/src/decision/graph-live-qualification.js +1041 -0
  43. package/dist/src/decision/graph-live-workload.js +245 -0
  44. package/dist/src/decision/graph-skill-bridge.js +21 -3
  45. package/dist/src/decision/heldout/calibration.js +140 -0
  46. package/dist/src/decision/heldout/collector.js +430 -0
  47. package/dist/src/decision/heldout/contract.js +309 -0
  48. package/dist/src/decision/heldout/d29-generator-ids.js +12 -0
  49. package/dist/src/decision/heldout/d29-passage-baseline-v2.js +93 -0
  50. package/dist/src/decision/heldout/d29-passage-baseline-v3.js +100 -0
  51. package/dist/src/decision/heldout/d29-passage-baseline.js +66 -0
  52. package/dist/src/decision/heldout/d29-pools-v8.js +575 -0
  53. package/dist/src/decision/heldout/d29-pools.js +288 -0
  54. package/dist/src/decision/heldout/d29-v6.js +169 -0
  55. package/dist/src/decision/heldout/d29-v7.js +202 -0
  56. package/dist/src/decision/heldout/d29-v8.js +586 -0
  57. package/dist/src/decision/heldout/generator-registry.js +67 -0
  58. package/dist/src/decision/heldout/generators.js +696 -0
  59. package/dist/src/decision/heldout/index.js +8 -0
  60. package/dist/src/decision/heldout/journal.js +346 -0
  61. package/dist/src/decision/heldout/study-generators.js +64 -0
  62. package/dist/src/decision/heldout/types.js +2 -0
  63. package/dist/src/decision/host-policy.js +61 -0
  64. package/dist/src/decision/index.js +11 -0
  65. package/dist/src/decision/interop-profile.v1.json +112 -0
  66. package/dist/src/decision/interop.js +653 -0
  67. package/dist/src/decision/issue-triage/index.js +3 -0
  68. package/dist/src/decision/issue-triage/runtime.js +1069 -0
  69. package/dist/src/decision/issue-triage/types.js +2 -0
  70. package/dist/src/decision/patterns/catalog.js +28 -8
  71. package/dist/src/decision/patterns/playground.js +28 -11
  72. package/dist/src/decision/patterns/specs.js +19 -10
  73. package/dist/src/decision/preprocessed-evidence.js +724 -0
  74. package/dist/src/decision/qualification/capture.js +8 -2
  75. package/dist/src/decision/qualification/gate-evidence.js +19 -4
  76. package/dist/src/decision/qualification/load.js +8 -1
  77. package/dist/src/decision/qualification/quality.js +57 -49
  78. package/dist/src/decision/qualification/release.js +76 -3
  79. package/dist/src/decision/qualification/runner.js +5 -2
  80. package/dist/src/decision/routing/contract.js +175 -0
  81. package/dist/src/decision/routing/index.js +5 -0
  82. package/dist/src/decision/routing/report.js +216 -0
  83. package/dist/src/decision/routing/runtime.js +685 -0
  84. package/dist/src/decision/routing/types.js +2 -0
  85. package/dist/src/decision/sdlc-screening.js +1157 -0
  86. package/dist/src/decision/sensitivity/comparative.js +154 -0
  87. package/dist/src/decision/sensitivity/contract.js +218 -0
  88. package/dist/src/decision/sensitivity/index.js +5 -0
  89. package/dist/src/decision/sensitivity/runtime.js +912 -0
  90. package/dist/src/decision/sensitivity/types.js +2 -0
  91. package/dist/src/decision/validate.js +26 -0
  92. package/dist/src/extensions/commands/definitions.js +38 -0
  93. package/dist/src/extensions/manifest.js +44 -0
  94. package/dist/src/gates/discovery.js +315 -0
  95. package/dist/src/gates/driver.js +388 -0
  96. package/dist/src/gates/evaluate.js +719 -0
  97. package/dist/src/gates/floors.js +255 -0
  98. package/dist/src/gates/index.js +17 -0
  99. package/dist/src/gates/providers/evidence.js +38 -0
  100. package/dist/src/gates/providers/index.js +21 -0
  101. package/dist/src/gates/providers/isolated-child-source.js +446 -0
  102. package/dist/src/gates/providers/loader.js +1069 -0
  103. package/dist/src/gates/providers/paired.js +52 -0
  104. package/dist/src/gates/providers/proportion.js +60 -0
  105. package/dist/src/gates/providers/registry.js +40 -0
  106. package/dist/src/gates/providers/scalar.js +41 -0
  107. package/dist/src/gates/providers/screening.js +53 -0
  108. package/dist/src/gates/providers/types.js +25 -0
  109. package/dist/src/gates/registry.js +1003 -0
  110. package/dist/src/gates/report.js +102 -0
  111. package/dist/src/gates/schema.js +56 -0
  112. package/dist/src/gates/stats/binomial.js +26 -0
  113. package/dist/src/gates/stats/bootstrap.js +62 -0
  114. package/dist/src/gates/stats/clopper-pearson.js +95 -0
  115. package/dist/src/gates/stats/digest.js +26 -0
  116. package/dist/src/gates/stats/error.js +5 -0
  117. package/dist/src/gates/stats/index.js +9 -0
  118. package/dist/src/gates/stats/normal.js +35 -0
  119. package/dist/src/gates/stats/paired.js +120 -0
  120. package/dist/src/gates/stats/splits.js +30 -0
  121. package/dist/src/gates/types.js +8 -0
  122. package/dist/src/governance/redaction.js +14 -4
  123. package/dist/src/mcp/muse-native-config.mjs +123 -0
  124. package/dist/src/mcp/tools/decision.mjs +188 -0
  125. package/dist/src/mcp/tools/subsystems.mjs +2 -0
  126. package/dist/src/providers/capability-matrix.yaml +2 -1
  127. package/dist/src/providers/provider-definitions.js +2 -1
  128. package/dist/src/sessions/adapters/muse.js +336 -39
  129. package/dist/src/sessions/batch-import.js +7 -0
  130. package/dist/src/sessions/workspace-discovery.js +13 -2
  131. package/package.json +1 -1
  132. package/schemas/decision/ConformalFrozenOpenData.v2.schema.json +371 -0
  133. package/schemas/decision/ConformalOpenDataReport.v2.schema.json +421 -0
  134. package/schemas/decision/ConformalPreregistration.v2.schema.json +529 -0
  135. package/schemas/decision/ContextPruningCandidate.v1.schema.json +47 -0
  136. package/schemas/decision/ContextPruningEvaluationReport.v1.schema.json +758 -0
  137. package/schemas/decision/ContextPruningPreregistration.v1.schema.json +175 -0
  138. package/schemas/decision/ContextPruningReceipt.v1.schema.json +72 -0
  139. package/schemas/decision/D17Multifact.v1.schema.json +1851 -0
  140. package/schemas/decision/D17StudyAnalysis.v1.schema.json +42 -0
  141. package/schemas/decision/D17StudyAnalysis.v2.schema.json +51 -0
  142. package/schemas/decision/D17StudyCalibration.v1.schema.json +819 -0
  143. package/schemas/decision/D17StudyDryRun.v1.schema.json +169 -0
  144. package/schemas/decision/D17StudyDryRun.v2.schema.json +239 -0
  145. package/schemas/decision/D17StudyGold.v1.schema.json +108 -0
  146. package/schemas/decision/D17StudyGuide.v1.schema.json +63 -0
  147. package/schemas/decision/D17StudyNativeTemplates.v1.schema.json +619 -0
  148. package/schemas/decision/D17StudyProtocol.v1.schema.json +241 -0
  149. package/schemas/decision/D17StudyReport.v1.schema.json +902 -0
  150. package/schemas/decision/D17StudyReport.v2.schema.json +1319 -0
  151. package/schemas/decision/D17StudyReview.v1.schema.json +175 -0
  152. package/schemas/decision/D17StudySplits.v1.schema.json +217 -0
  153. package/schemas/decision/D29Study.v1.schema.json +1903 -0
  154. package/schemas/decision/D29Study.v2.schema.json +1344 -0
  155. package/schemas/decision/D29Study.v3.schema.json +609 -0
  156. package/schemas/decision/D29Study.v4.schema.json +1133 -0
  157. package/schemas/decision/D29Study.v6.schema.json +1205 -0
  158. package/schemas/decision/D29Study.v7.schema.json +1471 -0
  159. package/schemas/decision/D29Study.v8.schema.json +671 -0
  160. package/schemas/decision/D29Study.v9.schema.json +778 -0
  161. package/schemas/decision/DecisionComparativeReplayAuditSample.v1.schema.json +137 -0
  162. package/schemas/decision/DecisionComparativeReplayCorpus.v1.schema.json +258 -0
  163. package/schemas/decision/DecisionComparativeReplayFreeze.v1.schema.json +74 -0
  164. package/schemas/decision/DecisionComparativeReplayGold.v1.schema.json +50 -0
  165. package/schemas/decision/DecisionComparativeReplayGoldAsset.v1.schema.json +37 -0
  166. package/schemas/decision/DecisionComparativeReplayIntegrity.v1.schema.json +81 -0
  167. package/schemas/decision/DecisionComparativeReplayMembers.v1.schema.json +52 -0
  168. package/schemas/decision/DecisionComparativeReplayPreregistration.v1.schema.json +113 -0
  169. package/schemas/decision/DecisionComparativeReplayReport.v1.schema.json +407 -0
  170. package/schemas/decision/DecisionComparativeReplayReviewPackets.v1.schema.json +260 -0
  171. package/schemas/decision/DecisionComparativeReplaySplit.v1.schema.json +84 -0
  172. package/schemas/decision/DecisionFeatureObservation.v1.schema.json +564 -0
  173. package/schemas/decision/DecisionFeatureSet.v1.schema.json +155 -0
  174. package/schemas/decision/DecisionInteropMapping.v1.schema.json +85 -0
  175. package/schemas/decision/DecisionIssueTriageEvaluationManifest.v1.schema.json +174 -0
  176. package/schemas/decision/DecisionIssueTriageEvaluationReport.v1.schema.json +280 -0
  177. package/schemas/decision/DecisionIssueTriagePilotPack.v1.schema.json +114 -0
  178. package/schemas/decision/DecisionRouteReceipt.v1.schema.json +155 -0
  179. package/schemas/decision/DecisionRoutingPolicy.v1.schema.json +132 -0
  180. package/schemas/decision/DecisionRoutingShadowReport.v1.schema.json +170 -0
  181. package/schemas/decision/DecisionRoutingTask.v1.schema.json +49 -0
  182. package/schemas/decision/DecisionRuleset.schema.json +8 -2
  183. package/schemas/decision/DecisionRuleset.v1alpha2.schema.json +8 -2
  184. package/schemas/decision/DecisionSensitivityPlan.v1.schema.json +191 -0
  185. package/schemas/decision/DecisionSensitivityReport.v1.schema.json +163 -0
  186. package/schemas/decision/HeldoutApproval.v1.schema.json +312 -0
  187. package/schemas/decision/HeldoutAttempt.v1.schema.json +211 -0
  188. package/schemas/decision/HeldoutBaseline.v1.schema.json +90 -0
  189. package/schemas/decision/HeldoutCalibrationPhase.v1.schema.json +87 -0
  190. package/schemas/decision/HeldoutCorpus.v1.schema.json +167 -0
  191. package/schemas/decision/HeldoutEvent.v1.schema.json +41 -0
  192. package/schemas/decision/HeldoutFrozen.v1.schema.json +142 -0
  193. package/schemas/decision/HeldoutPreregistration.v1.schema.json +222 -0
  194. package/schemas/decision/HeldoutSpendEvent.v1.schema.json +122 -0
  195. package/schemas/decision/HeldoutSpendHead.v1.schema.json +25 -0
  196. package/schemas/decision/HeldoutSpendHead.v2.schema.json +46 -0
  197. package/schemas/decision/HeldoutSummary.v1.schema.json +101 -0
  198. package/schemas/decision/OpaDecisionLogExport.v1.schema.json +65 -0
  199. package/schemas/decision/PreprocessedEvidence.v1.schema.json +306 -0
  200. package/schemas/decision/RulesetResult.v1alpha2.schema.json +175 -0
  201. package/schemas/decision/SdlcEvidenceScreening.v1.schema.json +499 -0
  202. package/schemas/decision/SdlcScreeningPreregistration.v1.schema.json +132 -0
  203. package/schemas/decision/SdlcScreeningPreregistration.v2.schema.json +138 -0
  204. package/schemas/decision/SdlcScreeningRelease.v1.schema.json +654 -0
  205. package/schemas/decision/SdlcScreeningRelease.v2.schema.json +654 -0
  206. package/tools/agents/deploy-agents.mjs +1 -1
  207. package/tools/agents/providers/base.mjs +26 -7
  208. package/tools/agents/providers/factory.mjs +10 -2
  209. package/tools/agents/providers/muse-hooks.mjs +1 -29
  210. package/tools/agents/providers/muse.mjs +6 -3
@@ -0,0 +1,1205 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aiwg.io/schemas/decision/D29Study.v6.schema.json",
4
+ "title": "D29Study v6",
5
+ "oneOf": [
6
+ {
7
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v4.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/v6"
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": 7
229
+ },
230
+ "factPosition": {
231
+ "type": "integer",
232
+ "minimum": 0,
233
+ "maximum": 7
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/v3"
332
+ },
333
+ "splits": {
334
+ "enum": [
335
+ [
336
+ "tuning",
337
+ "calibration"
338
+ ],
339
+ [
340
+ "test"
341
+ ]
342
+ ]
343
+ },
344
+ "n": {
345
+ "type": "integer",
346
+ "minimum": 1
347
+ },
348
+ "targets": {
349
+ "type": "array",
350
+ "items": {
351
+ "type": "object",
352
+ "additionalProperties": false,
353
+ "required": [
354
+ "target",
355
+ "positives",
356
+ "negatives",
357
+ "limit",
358
+ "featureCount",
359
+ "maximumBalancedAccuracy",
360
+ "topRules",
361
+ "pairFeatureCounts",
362
+ "pairRuleCount",
363
+ "maximumSingleBalancedAccuracy",
364
+ "maximumPairBalancedAccuracy",
365
+ "topSingleRules",
366
+ "topPairRules",
367
+ "maximumStructuralBalancedAccuracy",
368
+ "maximumClaimRelativeBalancedAccuracy"
369
+ ],
370
+ "properties": {
371
+ "target": {
372
+ "enum": [
373
+ "injection",
374
+ "readiness",
375
+ "supports",
376
+ "contradicts",
377
+ "unclear",
378
+ "does-not-support"
379
+ ]
380
+ },
381
+ "positives": {
382
+ "type": "integer",
383
+ "minimum": 1
384
+ },
385
+ "negatives": {
386
+ "type": "integer",
387
+ "minimum": 1
388
+ },
389
+ "limit": {
390
+ "enum": [
391
+ 0.75,
392
+ 0.8
393
+ ]
394
+ },
395
+ "featureCount": {
396
+ "type": "integer",
397
+ "minimum": 1
398
+ },
399
+ "maximumBalancedAccuracy": {
400
+ "type": "number",
401
+ "minimum": 0,
402
+ "maximum": 1
403
+ },
404
+ "topRules": {
405
+ "type": "array",
406
+ "items": {
407
+ "$ref": "#/$defs/rule"
408
+ },
409
+ "minItems": 10,
410
+ "maxItems": 10
411
+ },
412
+ "pairFeatureCounts": {
413
+ "type": "array",
414
+ "items": {
415
+ "type": "object",
416
+ "additionalProperties": false,
417
+ "required": [
418
+ "view",
419
+ "count"
420
+ ],
421
+ "properties": {
422
+ "view": {
423
+ "enum": [
424
+ "passage",
425
+ "passage-and-context",
426
+ "context"
427
+ ]
428
+ },
429
+ "count": {
430
+ "type": "integer",
431
+ "minimum": 0
432
+ }
433
+ }
434
+ },
435
+ "minItems": 3
436
+ },
437
+ "pairRuleCount": {
438
+ "type": "integer",
439
+ "minimum": 0
440
+ },
441
+ "maximumSingleBalancedAccuracy": {
442
+ "type": "number",
443
+ "minimum": 0,
444
+ "maximum": 1
445
+ },
446
+ "maximumPairBalancedAccuracy": {
447
+ "type": "number",
448
+ "minimum": 0,
449
+ "maximum": 1
450
+ },
451
+ "topSingleRules": {
452
+ "type": "array",
453
+ "items": {
454
+ "$ref": "#/$defs/rule"
455
+ },
456
+ "minItems": 1
457
+ },
458
+ "topPairRules": {
459
+ "type": "array",
460
+ "items": {
461
+ "$ref": "#/$defs/rule"
462
+ },
463
+ "minItems": 0
464
+ },
465
+ "maximumStructuralBalancedAccuracy": {
466
+ "type": "number",
467
+ "minimum": 0,
468
+ "maximum": 1
469
+ },
470
+ "maximumClaimRelativeBalancedAccuracy": {
471
+ "type": "number",
472
+ "minimum": 0,
473
+ "maximum": 1
474
+ }
475
+ }
476
+ },
477
+ "minItems": 6,
478
+ "maxItems": 6
479
+ },
480
+ "topRules": {
481
+ "type": "array",
482
+ "items": {
483
+ "$ref": "#/$defs/rule"
484
+ },
485
+ "minItems": 10,
486
+ "maxItems": 10
487
+ },
488
+ "passed": {
489
+ "type": "boolean"
490
+ },
491
+ "pairFeatureLimit": {
492
+ "const": 200
493
+ },
494
+ "pairSelection": {
495
+ "const": "all-structural-and-claim-relative-plus-strongest-lexical-distinct-bitsets-per-target-and-view"
496
+ },
497
+ "featureFamilies": {
498
+ "const": [
499
+ "tokens-including-stopwords",
500
+ "bigrams",
501
+ "annotation-counts",
502
+ "sentence-counts",
503
+ "formatting-counts",
504
+ "character-thresholds",
505
+ "length-bins",
506
+ "derived-residual-counts",
507
+ "module-mention-counts",
508
+ "claim-relative-presence-counts-positions"
509
+ ]
510
+ },
511
+ "modelLeakage": {
512
+ "type": "object",
513
+ "additionalProperties": false,
514
+ "required": [
515
+ "method",
516
+ "view",
517
+ "vocabulary",
518
+ "informationalOnly",
519
+ "maximumBalancedAccuracy",
520
+ "targets"
521
+ ],
522
+ "properties": {
523
+ "method": {
524
+ "const": "stratified-5-fold-depth-3-balanced-tree"
525
+ },
526
+ "view": {
527
+ "const": "passage-and-context"
528
+ },
529
+ "vocabulary": {
530
+ "const": "training-fold-only-token-presence-minimum-two"
531
+ },
532
+ "informationalOnly": {
533
+ "const": true
534
+ },
535
+ "maximumBalancedAccuracy": {
536
+ "type": "number",
537
+ "minimum": 0,
538
+ "maximum": 1
539
+ },
540
+ "targets": {
541
+ "type": "array",
542
+ "items": {
543
+ "type": "object",
544
+ "additionalProperties": false,
545
+ "required": [
546
+ "target",
547
+ "balancedAccuracy",
548
+ "validationCount",
549
+ "folds"
550
+ ],
551
+ "properties": {
552
+ "target": {
553
+ "enum": [
554
+ "injection",
555
+ "readiness",
556
+ "supports",
557
+ "contradicts",
558
+ "unclear",
559
+ "does-not-support"
560
+ ]
561
+ },
562
+ "balancedAccuracy": {
563
+ "type": "number",
564
+ "minimum": 0,
565
+ "maximum": 1
566
+ },
567
+ "validationCount": {
568
+ "type": "integer",
569
+ "minimum": 0
570
+ },
571
+ "folds": {
572
+ "type": "array",
573
+ "items": {
574
+ "type": "object",
575
+ "additionalProperties": false,
576
+ "required": [
577
+ "fold",
578
+ "trainingCount",
579
+ "validationCount",
580
+ "vocabularyCount"
581
+ ],
582
+ "properties": {
583
+ "fold": {
584
+ "type": "integer",
585
+ "minimum": 0,
586
+ "maximum": 4
587
+ },
588
+ "trainingCount": {
589
+ "type": "integer",
590
+ "minimum": 0
591
+ },
592
+ "validationCount": {
593
+ "type": "integer",
594
+ "minimum": 0
595
+ },
596
+ "vocabularyCount": {
597
+ "type": "integer",
598
+ "minimum": 0
599
+ }
600
+ }
601
+ },
602
+ "minItems": 5
603
+ }
604
+ }
605
+ },
606
+ "minItems": 6
607
+ }
608
+ }
609
+ }
610
+ }
611
+ },
612
+ "rule": {
613
+ "type": "object",
614
+ "additionalProperties": false,
615
+ "required": [
616
+ "target",
617
+ "view",
618
+ "feature",
619
+ "polarity",
620
+ "balancedAccuracy",
621
+ "operator"
622
+ ],
623
+ "properties": {
624
+ "target": {
625
+ "enum": [
626
+ "injection",
627
+ "readiness",
628
+ "supports",
629
+ "contradicts",
630
+ "unclear",
631
+ "does-not-support"
632
+ ]
633
+ },
634
+ "view": {
635
+ "enum": [
636
+ "passage",
637
+ "passage-and-context",
638
+ "context"
639
+ ]
640
+ },
641
+ "feature": {
642
+ "type": "string",
643
+ "minLength": 1
644
+ },
645
+ "polarity": {
646
+ "enum": [
647
+ "present",
648
+ "absent"
649
+ ]
650
+ },
651
+ "balancedAccuracy": {
652
+ "type": "number",
653
+ "minimum": 0,
654
+ "maximum": 1
655
+ },
656
+ "operator": {
657
+ "enum": [
658
+ "single",
659
+ "AND",
660
+ "OR"
661
+ ]
662
+ }
663
+ }
664
+ },
665
+ "score": {
666
+ "type": "object",
667
+ "additionalProperties": false,
668
+ "required": [
669
+ "schemaVersion",
670
+ "decision",
671
+ "native",
672
+ "external",
673
+ "heldout",
674
+ "provenance",
675
+ "reviewerN",
676
+ "missingInputs",
677
+ "completeCase",
678
+ "failureAsError",
679
+ "proposedStatisticalDisposition",
680
+ "limitations",
681
+ "groups"
682
+ ],
683
+ "properties": {
684
+ "schemaVersion": {
685
+ "const": "decision-d29-score/v6"
686
+ },
687
+ "decision": {
688
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/decision"
689
+ },
690
+ "native": {
691
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/native"
692
+ },
693
+ "external": {
694
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/external"
695
+ },
696
+ "heldout": {
697
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/heldout"
698
+ },
699
+ "provenance": {
700
+ "type": "array",
701
+ "items": {
702
+ "type": "object",
703
+ "additionalProperties": false,
704
+ "required": [
705
+ "id",
706
+ "receiptDigest",
707
+ "attempts",
708
+ "mappingDigest",
709
+ "baseline",
710
+ "baselineDigest",
711
+ "reservationUsdMicros",
712
+ "secondaryBaseline",
713
+ "secondaryBaselineDigest",
714
+ "passageBaselineV1",
715
+ "passageBaselineV1Digest"
716
+ ],
717
+ "properties": {
718
+ "id": {
719
+ "type": "string",
720
+ "minLength": 1
721
+ },
722
+ "receiptDigest": {
723
+ "type": "string",
724
+ "pattern": "^sha256:[a-f0-9]{64}$"
725
+ },
726
+ "attempts": {
727
+ "type": "array",
728
+ "items": {
729
+ "type": "string",
730
+ "pattern": "^sha256:[a-f0-9]{64}$"
731
+ }
732
+ },
733
+ "mappingDigest": {
734
+ "type": "string",
735
+ "pattern": "^sha256:[a-f0-9]{64}$"
736
+ },
737
+ "baseline": {
738
+ "type": "object",
739
+ "additionalProperties": false,
740
+ "required": [
741
+ "route",
742
+ "support"
743
+ ],
744
+ "properties": {
745
+ "route": {
746
+ "enum": [
747
+ "ADVISORY_READY",
748
+ "REVIEW"
749
+ ]
750
+ },
751
+ "support": {
752
+ "enum": [
753
+ "supports",
754
+ "contradicts",
755
+ "unclear",
756
+ "does-not-support",
757
+ null
758
+ ]
759
+ }
760
+ }
761
+ },
762
+ "baselineDigest": {
763
+ "type": "string",
764
+ "pattern": "^sha256:[a-f0-9]{64}$"
765
+ },
766
+ "reservationUsdMicros": {
767
+ "type": "integer",
768
+ "minimum": 0
769
+ },
770
+ "secondaryBaseline": {
771
+ "type": "object",
772
+ "additionalProperties": false,
773
+ "required": [
774
+ "route",
775
+ "support"
776
+ ],
777
+ "properties": {
778
+ "route": {
779
+ "enum": [
780
+ "ADVISORY_READY",
781
+ "REVIEW"
782
+ ]
783
+ },
784
+ "support": {
785
+ "enum": [
786
+ "supports",
787
+ "contradicts",
788
+ "unclear",
789
+ "does-not-support",
790
+ null
791
+ ]
792
+ }
793
+ }
794
+ },
795
+ "secondaryBaselineDigest": {
796
+ "type": "string",
797
+ "pattern": "^sha256:[a-f0-9]{64}$"
798
+ },
799
+ "passageBaselineV1": {
800
+ "type": "object",
801
+ "additionalProperties": false,
802
+ "required": [
803
+ "route",
804
+ "support"
805
+ ],
806
+ "properties": {
807
+ "route": {
808
+ "enum": [
809
+ "ADVISORY_READY",
810
+ "REVIEW"
811
+ ]
812
+ },
813
+ "support": {
814
+ "enum": [
815
+ "supports",
816
+ "contradicts",
817
+ "unclear",
818
+ "does-not-support",
819
+ null
820
+ ]
821
+ }
822
+ }
823
+ },
824
+ "passageBaselineV1Digest": {
825
+ "type": "string",
826
+ "pattern": "^sha256:[a-f0-9]{64}$"
827
+ }
828
+ }
829
+ }
830
+ },
831
+ "reviewerN": {
832
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/reviewerN"
833
+ },
834
+ "missingInputs": {
835
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/missingInputs"
836
+ },
837
+ "completeCase": {
838
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/completeCase"
839
+ },
840
+ "failureAsError": {
841
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/failureAsError"
842
+ },
843
+ "proposedStatisticalDisposition": {
844
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/proposedStatisticalDisposition"
845
+ },
846
+ "limitations": {
847
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/score/oneOf/0/properties/limitations"
848
+ },
849
+ "groups": {
850
+ "type": "object",
851
+ "additionalProperties": false,
852
+ "required": [
853
+ "slices",
854
+ "variants"
855
+ ],
856
+ "properties": {
857
+ "slices": {
858
+ "type": "array",
859
+ "items": {
860
+ "$ref": "#/$defs/group"
861
+ },
862
+ "minItems": 1
863
+ },
864
+ "variants": {
865
+ "type": "array",
866
+ "items": {
867
+ "$ref": "#/$defs/group"
868
+ },
869
+ "minItems": 1
870
+ }
871
+ }
872
+ }
873
+ }
874
+ },
875
+ "group": {
876
+ "type": "object",
877
+ "additionalProperties": false,
878
+ "required": [
879
+ "slice",
880
+ "variant",
881
+ "n",
882
+ "missingCandidate",
883
+ "candidate",
884
+ "baseline",
885
+ "secondaryBaseline",
886
+ "passageBaselineV1"
887
+ ],
888
+ "properties": {
889
+ "slice": {
890
+ "enum": [
891
+ "citation-supports",
892
+ "citation-contradicts",
893
+ "citation-unclear",
894
+ "citation-does-not-support",
895
+ "citation-injection",
896
+ "criterion-ready",
897
+ "criterion-incomplete",
898
+ "criterion-injection",
899
+ "missing-artifact",
900
+ "failed-test"
901
+ ]
902
+ },
903
+ "variant": {
904
+ "enum": [
905
+ "exact",
906
+ "paraphrase",
907
+ "multi-value",
908
+ "negated",
909
+ "moved",
910
+ "exclusive-single",
911
+ "exclusive-restricted",
912
+ "scoped",
913
+ "temporal",
914
+ "tentative",
915
+ "different-nonexclusive",
916
+ "other-attribute",
917
+ "near-miss-digit",
918
+ "near-miss-transposition",
919
+ "context",
920
+ "prefix",
921
+ "middle",
922
+ "suffix",
923
+ "verified",
924
+ "checklist",
925
+ "explicit-none",
926
+ "planned",
927
+ "wrong-attribute",
928
+ "wrong-subject",
929
+ "stale",
930
+ "self-attested",
931
+ "partial",
932
+ null,
933
+ "different-current"
934
+ ]
935
+ },
936
+ "n": {
937
+ "type": "integer",
938
+ "minimum": 0
939
+ },
940
+ "missingCandidate": {
941
+ "type": "integer",
942
+ "minimum": 0
943
+ },
944
+ "candidate": {
945
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/groupMetrics"
946
+ },
947
+ "baseline": {
948
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/groupMetrics"
949
+ },
950
+ "secondaryBaseline": {
951
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/groupMetrics"
952
+ },
953
+ "passageBaselineV1": {
954
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json#/$defs/groupMetrics"
955
+ }
956
+ }
957
+ },
958
+ "analysis": {
959
+ "type": "object",
960
+ "additionalProperties": false,
961
+ "required": [
962
+ "schemaVersion",
963
+ "syntheticOnly",
964
+ "splits",
965
+ "native",
966
+ "external",
967
+ "calibration",
968
+ "review",
969
+ "missingPolicy",
970
+ "conditionalRates",
971
+ "comparators",
972
+ "shortcutAudit"
973
+ ],
974
+ "properties": {
975
+ "schemaVersion": {
976
+ "const": "decision-d29-analysis/v4"
977
+ },
978
+ "syntheticOnly": {
979
+ "const": true
980
+ },
981
+ "splits": {
982
+ "type": "array",
983
+ "items": {
984
+ "type": "object",
985
+ "additionalProperties": false,
986
+ "required": [
987
+ "name",
988
+ "ids",
989
+ "digest"
990
+ ],
991
+ "properties": {
992
+ "name": {
993
+ "enum": [
994
+ "tuning",
995
+ "calibration",
996
+ "test"
997
+ ]
998
+ },
999
+ "ids": {
1000
+ "type": "array",
1001
+ "items": {
1002
+ "type": "string",
1003
+ "minLength": 1
1004
+ },
1005
+ "minItems": 1,
1006
+ "uniqueItems": true
1007
+ },
1008
+ "digest": {
1009
+ "type": "string",
1010
+ "pattern": "^sha256:[a-f0-9]{64}$"
1011
+ }
1012
+ }
1013
+ },
1014
+ "minItems": 3,
1015
+ "maxItems": 3
1016
+ },
1017
+ "native": {
1018
+ "$ref": "https://aiwg.io/schemas/decision/SdlcScreeningPreregistration.v1.schema.json"
1019
+ },
1020
+ "external": {
1021
+ "type": "object",
1022
+ "additionalProperties": false,
1023
+ "required": [
1024
+ "minimumAcceptedCoverageLowerBps",
1025
+ "maximumBlockingSliceFalseReadyEvents",
1026
+ "maximumBlockingSliceFalseReadyUpperBps"
1027
+ ],
1028
+ "properties": {
1029
+ "minimumAcceptedCoverageLowerBps": {
1030
+ "type": "integer",
1031
+ "minimum": 0,
1032
+ "maximum": 10000
1033
+ },
1034
+ "maximumBlockingSliceFalseReadyEvents": {
1035
+ "type": "integer",
1036
+ "minimum": 0
1037
+ },
1038
+ "maximumBlockingSliceFalseReadyUpperBps": {
1039
+ "type": "integer",
1040
+ "minimum": 0,
1041
+ "maximum": 10000
1042
+ }
1043
+ }
1044
+ },
1045
+ "calibration": {
1046
+ "type": "object",
1047
+ "additionalProperties": false,
1048
+ "required": [
1049
+ "method",
1050
+ "minimumCellN",
1051
+ "smoothing",
1052
+ "split",
1053
+ "profile"
1054
+ ],
1055
+ "properties": {
1056
+ "method": {
1057
+ "const": "kind-and-safe-semantic-ready-frequency-v2"
1058
+ },
1059
+ "minimumCellN": {
1060
+ "type": "integer",
1061
+ "minimum": 1
1062
+ },
1063
+ "smoothing": {
1064
+ "const": "laplace-1"
1065
+ },
1066
+ "split": {
1067
+ "const": "calibration"
1068
+ },
1069
+ "profile": {
1070
+ "$ref": "https://aiwg.io/schemas/decision/CalibrationArtifact.v1.schema.json#/properties/profile"
1071
+ }
1072
+ }
1073
+ },
1074
+ "review": {
1075
+ "type": "object",
1076
+ "additionalProperties": false,
1077
+ "required": [
1078
+ "development",
1079
+ "holdout",
1080
+ "delayedRepeats",
1081
+ "reviewer"
1082
+ ],
1083
+ "properties": {
1084
+ "development": {
1085
+ "const": 50
1086
+ },
1087
+ "holdout": {
1088
+ "const": 100
1089
+ },
1090
+ "delayedRepeats": {
1091
+ "const": 15
1092
+ },
1093
+ "reviewer": {
1094
+ "const": "roctinam"
1095
+ }
1096
+ }
1097
+ },
1098
+ "missingPolicy": {
1099
+ "const": "withhold-native-report; complete-case-description; missing-as-error"
1100
+ },
1101
+ "conditionalRates": {
1102
+ "type": "array",
1103
+ "items": {
1104
+ "type": "string",
1105
+ "minLength": 1
1106
+ },
1107
+ "minItems": 4,
1108
+ "maxItems": 4,
1109
+ "uniqueItems": true
1110
+ },
1111
+ "comparators": {
1112
+ "type": "object",
1113
+ "additionalProperties": false,
1114
+ "required": [
1115
+ "primary",
1116
+ "secondary",
1117
+ "passageV1"
1118
+ ],
1119
+ "properties": {
1120
+ "primary": {
1121
+ "type": "object",
1122
+ "additionalProperties": false,
1123
+ "required": [
1124
+ "id",
1125
+ "sourceDigest"
1126
+ ],
1127
+ "properties": {
1128
+ "id": {
1129
+ "const": "d29-passage-baseline/v2"
1130
+ },
1131
+ "sourceDigest": {
1132
+ "type": "string",
1133
+ "pattern": "^sha256:[0-9a-f]{64}$"
1134
+ }
1135
+ }
1136
+ },
1137
+ "secondary": {
1138
+ "type": "object",
1139
+ "additionalProperties": false,
1140
+ "required": [
1141
+ "id",
1142
+ "sourceDigest"
1143
+ ],
1144
+ "properties": {
1145
+ "id": {
1146
+ "const": "d29-baseline/v1"
1147
+ },
1148
+ "sourceDigest": {
1149
+ "type": "string",
1150
+ "pattern": "^sha256:[0-9a-f]{64}$"
1151
+ }
1152
+ }
1153
+ },
1154
+ "passageV1": {
1155
+ "type": "object",
1156
+ "additionalProperties": false,
1157
+ "required": [
1158
+ "id",
1159
+ "sourceDigest"
1160
+ ],
1161
+ "properties": {
1162
+ "id": {
1163
+ "const": "d29-passage-baseline/v1"
1164
+ },
1165
+ "sourceDigest": {
1166
+ "type": "string",
1167
+ "pattern": "^sha256:[0-9a-f]{64}$"
1168
+ }
1169
+ }
1170
+ }
1171
+ }
1172
+ },
1173
+ "shortcutAudit": {
1174
+ "type": "object",
1175
+ "additionalProperties": false,
1176
+ "required": [
1177
+ "sourceDigest",
1178
+ "pairFeatureLimit",
1179
+ "injection",
1180
+ "readiness",
1181
+ "support"
1182
+ ],
1183
+ "properties": {
1184
+ "sourceDigest": {
1185
+ "type": "string",
1186
+ "pattern": "^sha256:[0-9a-f]{64}$"
1187
+ },
1188
+ "pairFeatureLimit": {
1189
+ "const": 200
1190
+ },
1191
+ "injection": {
1192
+ "const": 0.75
1193
+ },
1194
+ "readiness": {
1195
+ "const": 0.75
1196
+ },
1197
+ "support": {
1198
+ "const": 0.8
1199
+ }
1200
+ }
1201
+ }
1202
+ }
1203
+ }
1204
+ }
1205
+ }