@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,1344 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aiwg.io/schemas/decision/D29Study.v2.schema.json",
4
+ "title": "D29Study v2",
5
+ "oneOf": [
6
+ {
7
+ "$ref": "#/$defs/analysis"
8
+ },
9
+ {
10
+ "$ref": "#/$defs/gold"
11
+ },
12
+ {
13
+ "$ref": "#/$defs/review"
14
+ },
15
+ {
16
+ "$ref": "#/$defs/readiness"
17
+ },
18
+ {
19
+ "$ref": "#/$defs/access"
20
+ },
21
+ {
22
+ "$ref": "#/$defs/score"
23
+ },
24
+ {
25
+ "$ref": "#/$defs/calibrationReview"
26
+ }
27
+ ],
28
+ "$defs": {
29
+ "analysis": {
30
+ "type": "object",
31
+ "additionalProperties": false,
32
+ "required": [
33
+ "schemaVersion",
34
+ "syntheticOnly",
35
+ "splits",
36
+ "native",
37
+ "external",
38
+ "calibration",
39
+ "review",
40
+ "missingPolicy",
41
+ "conditionalRates"
42
+ ],
43
+ "properties": {
44
+ "schemaVersion": {
45
+ "const": "decision-d29-analysis/v2"
46
+ },
47
+ "syntheticOnly": {
48
+ "const": true
49
+ },
50
+ "splits": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "object",
54
+ "additionalProperties": false,
55
+ "required": [
56
+ "name",
57
+ "ids",
58
+ "digest"
59
+ ],
60
+ "properties": {
61
+ "name": {
62
+ "enum": [
63
+ "tuning",
64
+ "calibration",
65
+ "test"
66
+ ]
67
+ },
68
+ "ids": {
69
+ "type": "array",
70
+ "items": {
71
+ "type": "string",
72
+ "minLength": 1
73
+ },
74
+ "minItems": 1,
75
+ "uniqueItems": true
76
+ },
77
+ "digest": {
78
+ "type": "string",
79
+ "pattern": "^sha256:[a-f0-9]{64}$"
80
+ }
81
+ }
82
+ },
83
+ "minItems": 3,
84
+ "maxItems": 3
85
+ },
86
+ "native": {
87
+ "$ref": "https://aiwg.io/schemas/decision/SdlcScreeningPreregistration.v1.schema.json"
88
+ },
89
+ "external": {
90
+ "type": "object",
91
+ "additionalProperties": false,
92
+ "required": [
93
+ "minimumAcceptedCoverageLowerBps",
94
+ "maximumBlockingSliceFalseReadyEvents",
95
+ "maximumBlockingSliceFalseReadyUpperBps"
96
+ ],
97
+ "properties": {
98
+ "minimumAcceptedCoverageLowerBps": {
99
+ "type": "integer",
100
+ "minimum": 0,
101
+ "maximum": 10000
102
+ },
103
+ "maximumBlockingSliceFalseReadyEvents": {
104
+ "type": "integer",
105
+ "minimum": 0
106
+ },
107
+ "maximumBlockingSliceFalseReadyUpperBps": {
108
+ "type": "integer",
109
+ "minimum": 0,
110
+ "maximum": 10000
111
+ }
112
+ }
113
+ },
114
+ "calibration": {
115
+ "type": "object",
116
+ "additionalProperties": false,
117
+ "required": [
118
+ "method",
119
+ "minimumCellN",
120
+ "smoothing",
121
+ "split",
122
+ "profile"
123
+ ],
124
+ "properties": {
125
+ "method": {
126
+ "const": "kind-and-safe-semantic-ready-frequency-v2"
127
+ },
128
+ "minimumCellN": {
129
+ "type": "integer",
130
+ "minimum": 1
131
+ },
132
+ "smoothing": {
133
+ "const": "laplace-1"
134
+ },
135
+ "split": {
136
+ "const": "calibration"
137
+ },
138
+ "profile": {
139
+ "$ref": "https://aiwg.io/schemas/decision/CalibrationArtifact.v1.schema.json#/properties/profile"
140
+ }
141
+ }
142
+ },
143
+ "review": {
144
+ "type": "object",
145
+ "additionalProperties": false,
146
+ "required": [
147
+ "development",
148
+ "holdout",
149
+ "delayedRepeats",
150
+ "reviewer"
151
+ ],
152
+ "properties": {
153
+ "development": {
154
+ "const": 50
155
+ },
156
+ "holdout": {
157
+ "const": 100
158
+ },
159
+ "delayedRepeats": {
160
+ "const": 15
161
+ },
162
+ "reviewer": {
163
+ "const": "roctinam"
164
+ }
165
+ }
166
+ },
167
+ "missingPolicy": {
168
+ "const": "withhold-native-report; complete-case-description; missing-as-error"
169
+ },
170
+ "conditionalRates": {
171
+ "type": "array",
172
+ "items": {
173
+ "type": "string",
174
+ "minLength": 1
175
+ },
176
+ "minItems": 4,
177
+ "maxItems": 4,
178
+ "uniqueItems": true
179
+ }
180
+ }
181
+ },
182
+ "gold": {
183
+ "type": "object",
184
+ "additionalProperties": false,
185
+ "required": [
186
+ "schemaVersion",
187
+ "syntheticOnly",
188
+ "rows"
189
+ ],
190
+ "properties": {
191
+ "schemaVersion": {
192
+ "const": "decision-d29-gold/v2"
193
+ },
194
+ "syntheticOnly": {
195
+ "const": true
196
+ },
197
+ "rows": {
198
+ "type": "array",
199
+ "items": {
200
+ "type": "object",
201
+ "additionalProperties": false,
202
+ "required": [
203
+ "id",
204
+ "world",
205
+ "gold",
206
+ "variant"
207
+ ],
208
+ "properties": {
209
+ "id": {
210
+ "type": "string",
211
+ "minLength": 1
212
+ },
213
+ "world": {
214
+ "type": "object",
215
+ "additionalProperties": false,
216
+ "required": [
217
+ "kind",
218
+ "sourceAttribute",
219
+ "claimAttribute",
220
+ "sourceValue",
221
+ "claimValue",
222
+ "uncertain",
223
+ "injected",
224
+ "artifactPresent",
225
+ "testPassed",
226
+ "required",
227
+ "covered",
228
+ "variant",
229
+ "sourceModule",
230
+ "claimModule",
231
+ "exclusive"
232
+ ],
233
+ "properties": {
234
+ "kind": {
235
+ "enum": [
236
+ "citation",
237
+ "phase-criterion"
238
+ ]
239
+ },
240
+ "sourceAttribute": {
241
+ "type": "string",
242
+ "minLength": 1
243
+ },
244
+ "claimAttribute": {
245
+ "type": "string",
246
+ "minLength": 1
247
+ },
248
+ "sourceValue": {
249
+ "type": "integer",
250
+ "minimum": 0
251
+ },
252
+ "claimValue": {
253
+ "type": "integer",
254
+ "minimum": 0
255
+ },
256
+ "uncertain": {
257
+ "type": "boolean"
258
+ },
259
+ "injected": {
260
+ "type": "boolean"
261
+ },
262
+ "artifactPresent": {
263
+ "type": "boolean"
264
+ },
265
+ "testPassed": {
266
+ "type": "boolean"
267
+ },
268
+ "required": {
269
+ "type": "string",
270
+ "minLength": 1
271
+ },
272
+ "covered": {
273
+ "type": "array",
274
+ "items": {
275
+ "type": "string",
276
+ "minLength": 1
277
+ }
278
+ },
279
+ "variant": {
280
+ "enum": [
281
+ "exact",
282
+ "listens",
283
+ "inverted",
284
+ "configured",
285
+ "exactly-one",
286
+ "only-listens",
287
+ "no-other-port",
288
+ "might",
289
+ "reportedly",
290
+ "planned",
291
+ "different-nonexclusive",
292
+ "color",
293
+ "owner",
294
+ "near-miss-module",
295
+ "exact-context",
296
+ "listens-prefix",
297
+ "inverted-suffix",
298
+ "configured-mid",
299
+ "verified",
300
+ "checklist",
301
+ "no-coverage",
302
+ "wrong-attribute",
303
+ "wrong-subject",
304
+ "exact-prefix",
305
+ "verified-suffix",
306
+ "checklist-mid"
307
+ ]
308
+ },
309
+ "sourceModule": {
310
+ "type": "string",
311
+ "minLength": 1
312
+ },
313
+ "claimModule": {
314
+ "type": "string",
315
+ "minLength": 1
316
+ },
317
+ "exclusive": {
318
+ "type": "boolean"
319
+ }
320
+ }
321
+ },
322
+ "gold": {
323
+ "type": "object",
324
+ "additionalProperties": false,
325
+ "required": [
326
+ "ready",
327
+ "support"
328
+ ],
329
+ "properties": {
330
+ "ready": {
331
+ "type": "boolean"
332
+ },
333
+ "support": {
334
+ "enum": [
335
+ "supports",
336
+ "contradicts",
337
+ "unclear",
338
+ "does-not-support",
339
+ null
340
+ ]
341
+ }
342
+ }
343
+ },
344
+ "variant": {
345
+ "enum": [
346
+ "exact",
347
+ "listens",
348
+ "inverted",
349
+ "configured",
350
+ "exactly-one",
351
+ "only-listens",
352
+ "no-other-port",
353
+ "might",
354
+ "reportedly",
355
+ "planned",
356
+ "different-nonexclusive",
357
+ "color",
358
+ "owner",
359
+ "near-miss-module",
360
+ "exact-context",
361
+ "listens-prefix",
362
+ "inverted-suffix",
363
+ "configured-mid",
364
+ "verified",
365
+ "checklist",
366
+ "no-coverage",
367
+ "wrong-attribute",
368
+ "wrong-subject",
369
+ "exact-prefix",
370
+ "verified-suffix",
371
+ "checklist-mid"
372
+ ]
373
+ }
374
+ }
375
+ },
376
+ "minItems": 2000,
377
+ "maxItems": 2000
378
+ }
379
+ }
380
+ },
381
+ "review": {
382
+ "type": "object",
383
+ "additionalProperties": false,
384
+ "required": [
385
+ "schemaVersion",
386
+ "reviewer",
387
+ "corpusDigest",
388
+ "assessments",
389
+ "preregistrationReview",
390
+ "finalDispositionReview"
391
+ ],
392
+ "properties": {
393
+ "schemaVersion": {
394
+ "const": "decision-d29-review/v2"
395
+ },
396
+ "reviewer": {
397
+ "const": "roctinam"
398
+ },
399
+ "corpusDigest": {
400
+ "type": "string",
401
+ "pattern": "^sha256:[a-f0-9]{64}$"
402
+ },
403
+ "assessments": {
404
+ "type": "array",
405
+ "items": {
406
+ "type": "object",
407
+ "additionalProperties": false,
408
+ "required": [
409
+ "assessmentId",
410
+ "phase",
411
+ "id",
412
+ "goldCorrect",
413
+ "goldRationale",
414
+ "blindReviewedAt",
415
+ "agreed",
416
+ "overridden",
417
+ "rationale",
418
+ "unblindedAt"
419
+ ],
420
+ "properties": {
421
+ "assessmentId": {
422
+ "type": "string",
423
+ "minLength": 1
424
+ },
425
+ "phase": {
426
+ "enum": [
427
+ "development",
428
+ "holdout",
429
+ "delayed-repeat"
430
+ ]
431
+ },
432
+ "id": {
433
+ "type": "string",
434
+ "minLength": 1
435
+ },
436
+ "goldCorrect": {
437
+ "anyOf": [
438
+ {
439
+ "type": "boolean"
440
+ },
441
+ {
442
+ "type": "null"
443
+ }
444
+ ]
445
+ },
446
+ "goldRationale": {
447
+ "anyOf": [
448
+ {
449
+ "type": "string",
450
+ "minLength": 1
451
+ },
452
+ {
453
+ "type": "null"
454
+ }
455
+ ]
456
+ },
457
+ "blindReviewedAt": {
458
+ "anyOf": [
459
+ {
460
+ "type": "string",
461
+ "format": "date-time"
462
+ },
463
+ {
464
+ "type": "null"
465
+ }
466
+ ]
467
+ },
468
+ "agreed": {
469
+ "anyOf": [
470
+ {
471
+ "type": "boolean"
472
+ },
473
+ {
474
+ "type": "null"
475
+ }
476
+ ]
477
+ },
478
+ "overridden": {
479
+ "anyOf": [
480
+ {
481
+ "type": "boolean"
482
+ },
483
+ {
484
+ "type": "null"
485
+ }
486
+ ]
487
+ },
488
+ "rationale": {
489
+ "anyOf": [
490
+ {
491
+ "type": "string",
492
+ "minLength": 1
493
+ },
494
+ {
495
+ "type": "null"
496
+ }
497
+ ]
498
+ },
499
+ "unblindedAt": {
500
+ "anyOf": [
501
+ {
502
+ "type": "string",
503
+ "format": "date-time"
504
+ },
505
+ {
506
+ "type": "null"
507
+ }
508
+ ]
509
+ }
510
+ }
511
+ },
512
+ "minItems": 165,
513
+ "maxItems": 165
514
+ },
515
+ "preregistrationReview": {
516
+ "anyOf": [
517
+ {
518
+ "type": "string",
519
+ "minLength": 1
520
+ },
521
+ {
522
+ "type": "null"
523
+ }
524
+ ]
525
+ },
526
+ "finalDispositionReview": {
527
+ "anyOf": [
528
+ {
529
+ "type": "string",
530
+ "minLength": 1
531
+ },
532
+ {
533
+ "type": "null"
534
+ }
535
+ ]
536
+ }
537
+ }
538
+ },
539
+ "readiness": {
540
+ "type": "object",
541
+ "additionalProperties": false,
542
+ "required": [
543
+ "schemaVersion",
544
+ "model",
545
+ "method",
546
+ "splitDigest",
547
+ "definitionDigest",
548
+ "evidenceDigest",
549
+ "cells"
550
+ ],
551
+ "properties": {
552
+ "schemaVersion": {
553
+ "const": "decision-d29-readiness/v2"
554
+ },
555
+ "model": {
556
+ "const": "jev-1.13.0"
557
+ },
558
+ "method": {
559
+ "const": "kind-and-safe-semantic-ready-frequency-v2"
560
+ },
561
+ "splitDigest": {
562
+ "type": "string",
563
+ "pattern": "^sha256:[a-f0-9]{64}$"
564
+ },
565
+ "definitionDigest": {
566
+ "type": "string",
567
+ "pattern": "^sha256:[a-f0-9]{64}$"
568
+ },
569
+ "evidenceDigest": {
570
+ "type": "string",
571
+ "pattern": "^sha256:[a-f0-9]{64}$"
572
+ },
573
+ "cells": {
574
+ "type": "object",
575
+ "additionalProperties": false,
576
+ "required": [
577
+ "citation:true",
578
+ "citation:false",
579
+ "phase-criterion:true",
580
+ "phase-criterion:false"
581
+ ],
582
+ "properties": {
583
+ "citation:true": {
584
+ "type": "object",
585
+ "additionalProperties": false,
586
+ "required": [
587
+ "n",
588
+ "ready",
589
+ "probability"
590
+ ],
591
+ "properties": {
592
+ "n": {
593
+ "type": "integer",
594
+ "minimum": 0
595
+ },
596
+ "ready": {
597
+ "type": "integer",
598
+ "minimum": 0
599
+ },
600
+ "probability": {
601
+ "type": "number",
602
+ "minimum": 0,
603
+ "maximum": 1
604
+ }
605
+ }
606
+ },
607
+ "citation:false": {
608
+ "type": "object",
609
+ "additionalProperties": false,
610
+ "required": [
611
+ "n",
612
+ "ready",
613
+ "probability"
614
+ ],
615
+ "properties": {
616
+ "n": {
617
+ "type": "integer",
618
+ "minimum": 0
619
+ },
620
+ "ready": {
621
+ "type": "integer",
622
+ "minimum": 0
623
+ },
624
+ "probability": {
625
+ "type": "number",
626
+ "minimum": 0,
627
+ "maximum": 1
628
+ }
629
+ }
630
+ },
631
+ "phase-criterion:true": {
632
+ "type": "object",
633
+ "additionalProperties": false,
634
+ "required": [
635
+ "n",
636
+ "ready",
637
+ "probability"
638
+ ],
639
+ "properties": {
640
+ "n": {
641
+ "type": "integer",
642
+ "minimum": 0
643
+ },
644
+ "ready": {
645
+ "type": "integer",
646
+ "minimum": 0
647
+ },
648
+ "probability": {
649
+ "type": "number",
650
+ "minimum": 0,
651
+ "maximum": 1
652
+ }
653
+ }
654
+ },
655
+ "phase-criterion:false": {
656
+ "type": "object",
657
+ "additionalProperties": false,
658
+ "required": [
659
+ "n",
660
+ "ready",
661
+ "probability"
662
+ ],
663
+ "properties": {
664
+ "n": {
665
+ "type": "integer",
666
+ "minimum": 0
667
+ },
668
+ "ready": {
669
+ "type": "integer",
670
+ "minimum": 0
671
+ },
672
+ "probability": {
673
+ "type": "number",
674
+ "minimum": 0,
675
+ "maximum": 1
676
+ }
677
+ }
678
+ }
679
+ }
680
+ }
681
+ }
682
+ },
683
+ "access": {
684
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v1.schema.json#/$defs/access"
685
+ },
686
+ "external": {
687
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v1.schema.json#/$defs/external"
688
+ },
689
+ "score": {
690
+ "oneOf": [
691
+ {
692
+ "type": "object",
693
+ "additionalProperties": false,
694
+ "required": [
695
+ "schemaVersion",
696
+ "decision",
697
+ "native",
698
+ "external",
699
+ "heldout",
700
+ "provenance",
701
+ "reviewerN",
702
+ "missingInputs",
703
+ "completeCase",
704
+ "failureAsError",
705
+ "proposedStatisticalDisposition",
706
+ "limitations",
707
+ "groups"
708
+ ],
709
+ "properties": {
710
+ "schemaVersion": {
711
+ "const": "decision-d29-score/v2"
712
+ },
713
+ "decision": {
714
+ "enum": [
715
+ "HOLD",
716
+ "ROLLBACK"
717
+ ]
718
+ },
719
+ "native": {
720
+ "$ref": "https://aiwg.io/schemas/decision/SdlcScreeningRelease.v1.schema.json"
721
+ },
722
+ "external": {
723
+ "$ref": "#/$defs/external"
724
+ },
725
+ "heldout": {
726
+ "anyOf": [
727
+ {
728
+ "type": "object",
729
+ "additionalProperties": false,
730
+ "required": [
731
+ "schemaVersion",
732
+ "evaluatedAt",
733
+ "splits",
734
+ "samples"
735
+ ],
736
+ "properties": {
737
+ "schemaVersion": {
738
+ "const": "decision-sdlc-screening-heldout-records/v1"
739
+ },
740
+ "evaluatedAt": {
741
+ "type": "string",
742
+ "format": "date-time"
743
+ },
744
+ "splits": {
745
+ "type": "array",
746
+ "items": {
747
+ "type": "object",
748
+ "additionalProperties": false,
749
+ "required": [
750
+ "name",
751
+ "ids",
752
+ "digest"
753
+ ],
754
+ "properties": {
755
+ "name": {
756
+ "enum": [
757
+ "tuning",
758
+ "calibration",
759
+ "test"
760
+ ]
761
+ },
762
+ "ids": {
763
+ "type": "array",
764
+ "items": {
765
+ "type": "string",
766
+ "minLength": 1
767
+ },
768
+ "minItems": 1,
769
+ "uniqueItems": true
770
+ },
771
+ "digest": {
772
+ "type": "string",
773
+ "pattern": "^sha256:[a-f0-9]{64}$"
774
+ }
775
+ }
776
+ },
777
+ "minItems": 3,
778
+ "maxItems": 3
779
+ },
780
+ "samples": {
781
+ "type": "array",
782
+ "items": {
783
+ "type": "object",
784
+ "additionalProperties": false,
785
+ "required": [
786
+ "id",
787
+ "kind",
788
+ "slice",
789
+ "gold",
790
+ "candidate",
791
+ "baseline",
792
+ "reviewer"
793
+ ],
794
+ "properties": {
795
+ "id": {
796
+ "type": "string",
797
+ "minLength": 1
798
+ },
799
+ "kind": {
800
+ "enum": [
801
+ "citation",
802
+ "phase-criterion"
803
+ ]
804
+ },
805
+ "slice": {
806
+ "type": "string",
807
+ "minLength": 1
808
+ },
809
+ "gold": {
810
+ "type": "object",
811
+ "additionalProperties": false,
812
+ "required": [
813
+ "ready",
814
+ "support"
815
+ ],
816
+ "properties": {
817
+ "ready": {
818
+ "type": "boolean"
819
+ },
820
+ "support": {
821
+ "enum": [
822
+ "supports",
823
+ "contradicts",
824
+ "unclear",
825
+ "does-not-support",
826
+ null
827
+ ]
828
+ }
829
+ }
830
+ },
831
+ "candidate": {
832
+ "type": "object",
833
+ "additionalProperties": false,
834
+ "required": [
835
+ "route",
836
+ "support",
837
+ "readyProbability",
838
+ "latencyMs",
839
+ "inputTokens",
840
+ "outputTokens",
841
+ "costUsd",
842
+ "calls",
843
+ "retries",
844
+ "fallbacks"
845
+ ],
846
+ "properties": {
847
+ "route": {
848
+ "enum": [
849
+ "ADVISORY_READY",
850
+ "REVIEW",
851
+ "FAIL",
852
+ "INSUFFICIENT_EVIDENCE"
853
+ ]
854
+ },
855
+ "support": {
856
+ "enum": [
857
+ "supports",
858
+ "contradicts",
859
+ "unclear",
860
+ "does-not-support",
861
+ null
862
+ ]
863
+ },
864
+ "readyProbability": {
865
+ "type": "number",
866
+ "minimum": 0,
867
+ "maximum": 1
868
+ },
869
+ "latencyMs": {
870
+ "type": "number",
871
+ "minimum": 0
872
+ },
873
+ "inputTokens": {
874
+ "anyOf": [
875
+ {
876
+ "type": "integer",
877
+ "minimum": 0
878
+ },
879
+ {
880
+ "type": "null"
881
+ }
882
+ ]
883
+ },
884
+ "outputTokens": {
885
+ "anyOf": [
886
+ {
887
+ "type": "integer",
888
+ "minimum": 0
889
+ },
890
+ {
891
+ "type": "null"
892
+ }
893
+ ]
894
+ },
895
+ "costUsd": {
896
+ "anyOf": [
897
+ {
898
+ "type": "number",
899
+ "minimum": 0
900
+ },
901
+ {
902
+ "type": "null"
903
+ }
904
+ ]
905
+ },
906
+ "calls": {
907
+ "type": "integer",
908
+ "minimum": 0
909
+ },
910
+ "retries": {
911
+ "type": "integer",
912
+ "minimum": 0
913
+ },
914
+ "fallbacks": {
915
+ "type": "integer",
916
+ "minimum": 0
917
+ }
918
+ }
919
+ },
920
+ "baseline": {
921
+ "type": "object",
922
+ "additionalProperties": false,
923
+ "required": [
924
+ "correct",
925
+ "costUsd"
926
+ ],
927
+ "properties": {
928
+ "correct": {
929
+ "type": "boolean"
930
+ },
931
+ "costUsd": {
932
+ "anyOf": [
933
+ {
934
+ "type": "number",
935
+ "minimum": 0
936
+ },
937
+ {
938
+ "type": "null"
939
+ }
940
+ ]
941
+ }
942
+ }
943
+ },
944
+ "reviewer": {
945
+ "anyOf": [
946
+ {
947
+ "type": "object",
948
+ "additionalProperties": false,
949
+ "required": [
950
+ "agreed",
951
+ "overridden"
952
+ ],
953
+ "properties": {
954
+ "agreed": {
955
+ "type": "boolean"
956
+ },
957
+ "overridden": {
958
+ "type": "boolean"
959
+ }
960
+ }
961
+ },
962
+ {
963
+ "type": "null"
964
+ }
965
+ ]
966
+ }
967
+ }
968
+ }
969
+ }
970
+ }
971
+ },
972
+ {
973
+ "type": "null"
974
+ }
975
+ ]
976
+ },
977
+ "provenance": {
978
+ "type": "array",
979
+ "items": {
980
+ "type": "object",
981
+ "additionalProperties": false,
982
+ "required": [
983
+ "id",
984
+ "receiptDigest",
985
+ "attempts",
986
+ "mappingDigest",
987
+ "baseline",
988
+ "baselineDigest",
989
+ "reservationUsdMicros"
990
+ ],
991
+ "properties": {
992
+ "id": {
993
+ "type": "string",
994
+ "minLength": 1
995
+ },
996
+ "receiptDigest": {
997
+ "type": "string",
998
+ "pattern": "^sha256:[a-f0-9]{64}$"
999
+ },
1000
+ "attempts": {
1001
+ "type": "array",
1002
+ "items": {
1003
+ "type": "string",
1004
+ "pattern": "^sha256:[a-f0-9]{64}$"
1005
+ }
1006
+ },
1007
+ "mappingDigest": {
1008
+ "type": "string",
1009
+ "pattern": "^sha256:[a-f0-9]{64}$"
1010
+ },
1011
+ "baseline": {
1012
+ "type": "object",
1013
+ "additionalProperties": false,
1014
+ "required": [
1015
+ "route",
1016
+ "support"
1017
+ ],
1018
+ "properties": {
1019
+ "route": {
1020
+ "enum": [
1021
+ "ADVISORY_READY",
1022
+ "REVIEW"
1023
+ ]
1024
+ },
1025
+ "support": {
1026
+ "enum": [
1027
+ "supports",
1028
+ "contradicts",
1029
+ "unclear",
1030
+ "does-not-support",
1031
+ null
1032
+ ]
1033
+ }
1034
+ }
1035
+ },
1036
+ "baselineDigest": {
1037
+ "type": "string",
1038
+ "pattern": "^sha256:[a-f0-9]{64}$"
1039
+ },
1040
+ "reservationUsdMicros": {
1041
+ "type": "integer",
1042
+ "minimum": 0
1043
+ }
1044
+ }
1045
+ }
1046
+ },
1047
+ "reviewerN": {
1048
+ "type": "integer",
1049
+ "minimum": 0
1050
+ },
1051
+ "missingInputs": {
1052
+ "type": "array",
1053
+ "items": {
1054
+ "type": "string",
1055
+ "minLength": 1
1056
+ }
1057
+ },
1058
+ "completeCase": {
1059
+ "type": "object",
1060
+ "additionalProperties": false,
1061
+ "required": [
1062
+ "n",
1063
+ "correct",
1064
+ "external"
1065
+ ],
1066
+ "properties": {
1067
+ "n": {
1068
+ "type": "integer",
1069
+ "minimum": 0
1070
+ },
1071
+ "correct": {
1072
+ "type": "integer",
1073
+ "minimum": 0
1074
+ },
1075
+ "external": {
1076
+ "$ref": "#/$defs/external"
1077
+ }
1078
+ }
1079
+ },
1080
+ "failureAsError": {
1081
+ "type": "object",
1082
+ "additionalProperties": false,
1083
+ "required": [
1084
+ "counts",
1085
+ "interval",
1086
+ "missingCandidateErrors",
1087
+ "denominator",
1088
+ "promotable"
1089
+ ],
1090
+ "properties": {
1091
+ "counts": {
1092
+ "type": "object",
1093
+ "additionalProperties": false,
1094
+ "required": [
1095
+ "both",
1096
+ "candidateOnly",
1097
+ "baselineOnly",
1098
+ "neither"
1099
+ ],
1100
+ "properties": {
1101
+ "both": {
1102
+ "type": "integer",
1103
+ "minimum": 0
1104
+ },
1105
+ "candidateOnly": {
1106
+ "type": "integer",
1107
+ "minimum": 0
1108
+ },
1109
+ "baselineOnly": {
1110
+ "type": "integer",
1111
+ "minimum": 0
1112
+ },
1113
+ "neither": {
1114
+ "type": "integer",
1115
+ "minimum": 0
1116
+ }
1117
+ }
1118
+ },
1119
+ "interval": {
1120
+ "type": "object",
1121
+ "additionalProperties": false,
1122
+ "required": [
1123
+ "lowerBps",
1124
+ "upperBps",
1125
+ "estimateBps",
1126
+ "n",
1127
+ "method"
1128
+ ],
1129
+ "properties": {
1130
+ "lowerBps": {
1131
+ "type": "integer",
1132
+ "minimum": -10000,
1133
+ "maximum": 10000
1134
+ },
1135
+ "upperBps": {
1136
+ "type": "integer",
1137
+ "minimum": -10000,
1138
+ "maximum": 10000
1139
+ },
1140
+ "estimateBps": {
1141
+ "type": "integer",
1142
+ "minimum": -10000,
1143
+ "maximum": 10000
1144
+ },
1145
+ "n": {
1146
+ "type": "integer",
1147
+ "minimum": 0
1148
+ },
1149
+ "method": {
1150
+ "const": "newcombe-hybrid-score"
1151
+ }
1152
+ }
1153
+ },
1154
+ "missingCandidateErrors": {
1155
+ "type": "integer",
1156
+ "minimum": 0
1157
+ },
1158
+ "denominator": {
1159
+ "const": 1500
1160
+ },
1161
+ "promotable": {
1162
+ "const": false
1163
+ }
1164
+ }
1165
+ },
1166
+ "proposedStatisticalDisposition": {
1167
+ "enum": [
1168
+ "pass",
1169
+ "HOLD"
1170
+ ]
1171
+ },
1172
+ "limitations": {
1173
+ "type": "array",
1174
+ "items": {
1175
+ "type": "string",
1176
+ "minLength": 1
1177
+ }
1178
+ },
1179
+ "groups": {
1180
+ "type": "object",
1181
+ "additionalProperties": false,
1182
+ "required": [
1183
+ "slices",
1184
+ "variants"
1185
+ ],
1186
+ "properties": {
1187
+ "slices": {
1188
+ "type": "array",
1189
+ "items": {
1190
+ "$ref": "#/$defs/group"
1191
+ },
1192
+ "minItems": 1
1193
+ },
1194
+ "variants": {
1195
+ "type": "array",
1196
+ "items": {
1197
+ "$ref": "#/$defs/group"
1198
+ },
1199
+ "minItems": 1
1200
+ }
1201
+ }
1202
+ }
1203
+ }
1204
+ },
1205
+ {
1206
+ "type": "object",
1207
+ "additionalProperties": false,
1208
+ "required": [
1209
+ "schemaVersion",
1210
+ "decision",
1211
+ "native",
1212
+ "missingInputs"
1213
+ ],
1214
+ "properties": {
1215
+ "schemaVersion": {
1216
+ "const": "decision-d29-score/v2"
1217
+ },
1218
+ "decision": {
1219
+ "enum": [
1220
+ "HOLD",
1221
+ "ROLLBACK"
1222
+ ]
1223
+ },
1224
+ "native": {
1225
+ "type": "null"
1226
+ },
1227
+ "missingInputs": {
1228
+ "type": "array",
1229
+ "items": {
1230
+ "type": "string",
1231
+ "minLength": 1
1232
+ }
1233
+ }
1234
+ }
1235
+ }
1236
+ ]
1237
+ },
1238
+ "calibrationReview": {
1239
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v1.schema.json#/$defs/calibrationReview"
1240
+ },
1241
+ "groupMetrics": {
1242
+ "type": "object",
1243
+ "additionalProperties": false,
1244
+ "required": [
1245
+ "n",
1246
+ "readinessAccuracy",
1247
+ "jointAccuracy",
1248
+ "falseReady",
1249
+ "supportConfusion"
1250
+ ],
1251
+ "properties": {
1252
+ "n": {
1253
+ "type": "integer",
1254
+ "minimum": 0
1255
+ },
1256
+ "readinessAccuracy": {
1257
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v1.schema.json#/$defs/external/oneOf/0/properties/coverage"
1258
+ },
1259
+ "jointAccuracy": {
1260
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v1.schema.json#/$defs/external/oneOf/0/properties/coverage"
1261
+ },
1262
+ "falseReady": {
1263
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v1.schema.json#/$defs/external/oneOf/0/properties/coverage"
1264
+ },
1265
+ "supportConfusion": {
1266
+ "$ref": "https://aiwg.io/schemas/decision/D29Study.v1.schema.json#/$defs/external/oneOf/0/properties/confusion"
1267
+ }
1268
+ }
1269
+ },
1270
+ "group": {
1271
+ "type": "object",
1272
+ "additionalProperties": false,
1273
+ "required": [
1274
+ "slice",
1275
+ "variant",
1276
+ "n",
1277
+ "missingCandidate",
1278
+ "candidate",
1279
+ "baseline"
1280
+ ],
1281
+ "properties": {
1282
+ "slice": {
1283
+ "enum": [
1284
+ "citation-supports",
1285
+ "citation-contradicts",
1286
+ "citation-unclear",
1287
+ "citation-does-not-support",
1288
+ "citation-injection",
1289
+ "criterion-ready",
1290
+ "criterion-incomplete",
1291
+ "criterion-injection",
1292
+ "missing-artifact",
1293
+ "failed-test"
1294
+ ]
1295
+ },
1296
+ "variant": {
1297
+ "enum": [
1298
+ "exact",
1299
+ "listens",
1300
+ "inverted",
1301
+ "configured",
1302
+ "exactly-one",
1303
+ "only-listens",
1304
+ "no-other-port",
1305
+ "might",
1306
+ "reportedly",
1307
+ "planned",
1308
+ "different-nonexclusive",
1309
+ "color",
1310
+ "owner",
1311
+ "near-miss-module",
1312
+ "exact-context",
1313
+ "listens-prefix",
1314
+ "inverted-suffix",
1315
+ "configured-mid",
1316
+ "verified",
1317
+ "checklist",
1318
+ "no-coverage",
1319
+ "wrong-attribute",
1320
+ "wrong-subject",
1321
+ "exact-prefix",
1322
+ "verified-suffix",
1323
+ "checklist-mid",
1324
+ null
1325
+ ]
1326
+ },
1327
+ "n": {
1328
+ "type": "integer",
1329
+ "minimum": 0
1330
+ },
1331
+ "missingCandidate": {
1332
+ "type": "integer",
1333
+ "minimum": 0
1334
+ },
1335
+ "candidate": {
1336
+ "$ref": "#/$defs/groupMetrics"
1337
+ },
1338
+ "baseline": {
1339
+ "$ref": "#/$defs/groupMetrics"
1340
+ }
1341
+ }
1342
+ }
1343
+ }
1344
+ }