@claudexor/schema 3.3.15 → 3.4.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.
- package/dist/apply-eligibility.d.ts +0 -882
- package/dist/apply-eligibility.d.ts.map +1 -1
- package/dist/apply-eligibility.js +0 -145
- package/dist/apply-eligibility.js.map +1 -1
- package/dist/control.js +4 -4
- package/dist/control.js.map +1 -1
- package/dist/harness.d.ts +2 -3
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js +3 -4
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-run-result.d.ts +1932 -0
- package/dist/mcp-run-result.d.ts.map +1 -0
- package/dist/mcp-run-result.js +155 -0
- package/dist/mcp-run-result.js.map +1 -0
- package/dist/operation.d.ts +9 -0
- package/dist/operation.d.ts.map +1 -1
- package/dist/operation.js +10 -0
- package/dist/operation.js.map +1 -1
- package/dist/primitives.js +1 -1
- package/dist/primitives.js.map +1 -1
- package/dist/task.d.ts.map +1 -1
- package/dist/task.js +1 -1
- package/dist/task.js.map +1 -1
- package/dist/telemetry.d.ts +8 -8
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +8 -8
- package/dist/telemetry.js.map +1 -1
- package/generated/ControlHandshakeResponse.schema.json +8 -0
- package/generated/ControlRunDetail.schema.json +4 -4
- package/generated/ControlRunListResponse.schema.json +4 -4
- package/generated/ControlRunSummary.schema.json +4 -4
- package/generated/HarnessEvent.schema.json +1 -1
- package/generated/McpRunHandleResult.schema.json +538 -151
- package/generated/McpRunToolResult.schema.json +517 -130
- package/generated/RunTelemetry.schema.json +7 -7
- package/generated/TaskContract.schema.json +1 -1
- package/package.json +2 -2
|
@@ -29,160 +29,582 @@
|
|
|
29
29
|
],
|
|
30
30
|
"description": "Terminal run LIFECYCLE (succeeded | failed | cancelled | interrupted)."
|
|
31
31
|
},
|
|
32
|
-
"
|
|
32
|
+
"runFacts": {
|
|
33
33
|
"anyOf": [
|
|
34
34
|
{
|
|
35
35
|
"type": "object",
|
|
36
36
|
"properties": {
|
|
37
|
-
"
|
|
38
|
-
"type": "
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
"failed",
|
|
42
|
-
"cancelled",
|
|
43
|
-
"interrupted"
|
|
44
|
-
],
|
|
45
|
-
"description": "Terminal lifecycle of the run."
|
|
46
|
-
},
|
|
47
|
-
"noChanges": {
|
|
48
|
-
"type": "boolean",
|
|
49
|
-
"default": false,
|
|
50
|
-
"description": "True when the run finished without changing any files (the ex no_op fact)."
|
|
37
|
+
"schema_version": {
|
|
38
|
+
"type": "number",
|
|
39
|
+
"const": 2,
|
|
40
|
+
"description": "Schema version of the artifact; bumped on breaking ABI changes."
|
|
51
41
|
},
|
|
52
|
-
"
|
|
42
|
+
"run_id": {
|
|
53
43
|
"type": "string",
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
"failed",
|
|
57
|
-
"not_configured"
|
|
58
|
-
],
|
|
59
|
-
"description": "Deterministic checks axis: configured project checks passed, failed, or none are configured (a named state, never a stand-in for review results).",
|
|
60
|
-
"default": "not_configured"
|
|
44
|
+
"minLength": 1,
|
|
45
|
+
"description": "Non-empty identifier string."
|
|
61
46
|
},
|
|
62
|
-
"
|
|
47
|
+
"task_id": {
|
|
48
|
+
"$ref": "#/definitions/McpRunToolResult/properties/runFacts/anyOf/0/properties/run_id"
|
|
49
|
+
},
|
|
50
|
+
"mode": {
|
|
63
51
|
"type": "string",
|
|
64
52
|
"enum": [
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
53
|
+
"ask",
|
|
54
|
+
"plan",
|
|
55
|
+
"agent"
|
|
68
56
|
],
|
|
69
|
-
"description": "
|
|
70
|
-
"default": "not_run"
|
|
57
|
+
"description": "Canonical run mode: ask and plan are read-only, agent writes. Strategy controls are separate schema-owned fields, never modes."
|
|
71
58
|
},
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
|
|
59
|
+
"outcome": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"properties": {
|
|
62
|
+
"lifecycle": {
|
|
75
63
|
"type": "string",
|
|
76
64
|
"enum": [
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"budget_exhausted",
|
|
82
|
-
"budget_overshoot",
|
|
83
|
-
"cost_unverifiable",
|
|
84
|
-
"not_converged",
|
|
85
|
-
"stuck_no_progress",
|
|
86
|
-
"wall_clock_exceeded",
|
|
87
|
-
"user_cancelled",
|
|
88
|
-
"crash_interrupted",
|
|
89
|
-
"workspace_unavailable",
|
|
90
|
-
"input_required",
|
|
91
|
-
"work_incomplete",
|
|
92
|
-
"context_capacity_exhausted",
|
|
93
|
-
"work_report_contract"
|
|
65
|
+
"succeeded",
|
|
66
|
+
"failed",
|
|
67
|
+
"cancelled",
|
|
68
|
+
"interrupted"
|
|
94
69
|
],
|
|
95
|
-
"description": "
|
|
70
|
+
"description": "Terminal lifecycle of the run."
|
|
96
71
|
},
|
|
97
|
-
{
|
|
98
|
-
"type": "
|
|
72
|
+
"noChanges": {
|
|
73
|
+
"type": "boolean",
|
|
74
|
+
"default": false,
|
|
75
|
+
"description": "True when the run finished without changing any files (the ex no_op fact)."
|
|
76
|
+
},
|
|
77
|
+
"checks": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"enum": [
|
|
80
|
+
"passed",
|
|
81
|
+
"failed",
|
|
82
|
+
"not_configured"
|
|
83
|
+
],
|
|
84
|
+
"description": "Deterministic checks axis: configured project checks passed, failed, or none are configured (a named state, never a stand-in for review results).",
|
|
85
|
+
"default": "not_configured"
|
|
86
|
+
},
|
|
87
|
+
"review": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"enum": [
|
|
90
|
+
"approved",
|
|
91
|
+
"blocked",
|
|
92
|
+
"not_run"
|
|
93
|
+
],
|
|
94
|
+
"description": "Review axis: approved (clean cross-family verified review), blocked (open accepted findings), or not_run.",
|
|
95
|
+
"default": "not_run"
|
|
96
|
+
},
|
|
97
|
+
"reason": {
|
|
98
|
+
"anyOf": [
|
|
99
|
+
{
|
|
100
|
+
"type": "string",
|
|
101
|
+
"enum": [
|
|
102
|
+
"harness_failed",
|
|
103
|
+
"no_changes",
|
|
104
|
+
"review_blocked",
|
|
105
|
+
"checks_failed",
|
|
106
|
+
"budget_exhausted",
|
|
107
|
+
"budget_overshoot",
|
|
108
|
+
"cost_unverifiable",
|
|
109
|
+
"not_converged",
|
|
110
|
+
"stuck_no_progress",
|
|
111
|
+
"wall_clock_exceeded",
|
|
112
|
+
"user_cancelled",
|
|
113
|
+
"crash_interrupted",
|
|
114
|
+
"workspace_unavailable",
|
|
115
|
+
"input_required",
|
|
116
|
+
"work_incomplete",
|
|
117
|
+
"context_capacity_exhausted",
|
|
118
|
+
"work_report_contract"
|
|
119
|
+
],
|
|
120
|
+
"description": "Typed reason qualifying a non-clean terminal; null on a clean success."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"type": "null"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"description": "Typed reason qualifying a non-clean terminal; null on a clean success.",
|
|
127
|
+
"default": null
|
|
128
|
+
},
|
|
129
|
+
"work_state": {
|
|
130
|
+
"type": "object",
|
|
131
|
+
"properties": {
|
|
132
|
+
"state": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"enum": [
|
|
135
|
+
"completed",
|
|
136
|
+
"needs_input",
|
|
137
|
+
"incomplete",
|
|
138
|
+
"unverified"
|
|
139
|
+
],
|
|
140
|
+
"description": "Folded work state: the WorkReport state, or unverified when no report was obtainable (transport unsupported / lane gated)."
|
|
141
|
+
},
|
|
142
|
+
"source": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"enum": [
|
|
145
|
+
"constrained",
|
|
146
|
+
"validated",
|
|
147
|
+
"absent"
|
|
148
|
+
],
|
|
149
|
+
"description": "Provenance of a WorkReport: constrained (native schema transport), validated (instructed terminal metadata), or absent (no transport could carry one — a disclosed absence, not a failure)."
|
|
150
|
+
},
|
|
151
|
+
"required_inputs": {
|
|
152
|
+
"type": "array",
|
|
153
|
+
"items": {
|
|
154
|
+
"type": "object",
|
|
155
|
+
"properties": {
|
|
156
|
+
"kind": {
|
|
157
|
+
"type": "string",
|
|
158
|
+
"enum": [
|
|
159
|
+
"file",
|
|
160
|
+
"context",
|
|
161
|
+
"credential",
|
|
162
|
+
"permission",
|
|
163
|
+
"decision",
|
|
164
|
+
"external_dependency"
|
|
165
|
+
],
|
|
166
|
+
"description": "Category of a missing input a needs_input/incomplete report lists: a file, additional context, a credential, a permission, a human decision, or an external dependency."
|
|
167
|
+
},
|
|
168
|
+
"locator": {
|
|
169
|
+
"anyOf": [
|
|
170
|
+
{
|
|
171
|
+
"type": "string",
|
|
172
|
+
"maxLength": 512
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"type": "null"
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
"default": null,
|
|
179
|
+
"description": "Concrete pointer to the missing thing (path/url/name); null when unnameable."
|
|
180
|
+
},
|
|
181
|
+
"description": {
|
|
182
|
+
"type": "string",
|
|
183
|
+
"maxLength": 1024,
|
|
184
|
+
"description": "Human-readable description of what is needed and why."
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"required": [
|
|
188
|
+
"kind",
|
|
189
|
+
"description"
|
|
190
|
+
],
|
|
191
|
+
"additionalProperties": false,
|
|
192
|
+
"description": "One blocking input a needs_input/incomplete WorkReport lists."
|
|
193
|
+
},
|
|
194
|
+
"maxItems": 16,
|
|
195
|
+
"description": "Carried through from a needs_input/incomplete WorkReport for honest disclosure."
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"required": [
|
|
199
|
+
"state",
|
|
200
|
+
"source"
|
|
201
|
+
],
|
|
202
|
+
"additionalProperties": false,
|
|
203
|
+
"description": "D-16 model-attested work outcome, orthogonal to lifecycle; a needs_input/incomplete state vetoes applyability and exit 0. Absent on runs with no work_report transport."
|
|
99
204
|
}
|
|
205
|
+
},
|
|
206
|
+
"required": [
|
|
207
|
+
"lifecycle"
|
|
100
208
|
],
|
|
101
|
-
"
|
|
102
|
-
"
|
|
209
|
+
"additionalProperties": false,
|
|
210
|
+
"description": "Independent terminal outcome axes of a run (D8/D18)."
|
|
211
|
+
},
|
|
212
|
+
"deliverable": {
|
|
213
|
+
"type": "object",
|
|
214
|
+
"properties": {
|
|
215
|
+
"present": {
|
|
216
|
+
"type": "boolean",
|
|
217
|
+
"description": "Whether the canonical primary deliverable exists."
|
|
218
|
+
},
|
|
219
|
+
"kind": {
|
|
220
|
+
"anyOf": [
|
|
221
|
+
{
|
|
222
|
+
"type": "string",
|
|
223
|
+
"enum": [
|
|
224
|
+
"answer",
|
|
225
|
+
"report",
|
|
226
|
+
"plan",
|
|
227
|
+
"patch",
|
|
228
|
+
"structured_output"
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"type": "null"
|
|
233
|
+
}
|
|
234
|
+
],
|
|
235
|
+
"description": "Kind of canonical primary deliverable; null when none exists."
|
|
236
|
+
},
|
|
237
|
+
"path": {
|
|
238
|
+
"type": [
|
|
239
|
+
"string",
|
|
240
|
+
"null"
|
|
241
|
+
],
|
|
242
|
+
"description": "Run-relative path of the canonical primary deliverable; null when absent."
|
|
243
|
+
},
|
|
244
|
+
"producer_attempt_id": {
|
|
245
|
+
"anyOf": [
|
|
246
|
+
{
|
|
247
|
+
"$ref": "#/definitions/McpRunToolResult/properties/runFacts/anyOf/0/properties/run_id"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"type": "null"
|
|
251
|
+
}
|
|
252
|
+
],
|
|
253
|
+
"description": "Attempt that produced the deliverable, when known.",
|
|
254
|
+
"default": null
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
"required": [
|
|
258
|
+
"present",
|
|
259
|
+
"kind",
|
|
260
|
+
"path"
|
|
261
|
+
],
|
|
262
|
+
"additionalProperties": false,
|
|
263
|
+
"description": "Canonical primary-output presence and identity for a terminal run."
|
|
103
264
|
},
|
|
104
|
-
"
|
|
265
|
+
"presentation": {
|
|
105
266
|
"type": "object",
|
|
106
267
|
"properties": {
|
|
107
268
|
"state": {
|
|
108
269
|
"type": "string",
|
|
109
270
|
"enum": [
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"incomplete",
|
|
113
|
-
"unverified"
|
|
271
|
+
"ready",
|
|
272
|
+
"diagnostic"
|
|
114
273
|
],
|
|
115
|
-
"description": "
|
|
274
|
+
"description": "Terminal output readiness decided by the last valid output.ready receipt."
|
|
116
275
|
},
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
276
|
+
"primary": {
|
|
277
|
+
"anyOf": [
|
|
278
|
+
{
|
|
279
|
+
"type": "object",
|
|
280
|
+
"properties": {
|
|
281
|
+
"kind": {
|
|
282
|
+
"type": "string",
|
|
283
|
+
"enum": [
|
|
284
|
+
"answer",
|
|
285
|
+
"report",
|
|
286
|
+
"plan",
|
|
287
|
+
"patch",
|
|
288
|
+
"structured_output",
|
|
289
|
+
"diagnostic"
|
|
290
|
+
],
|
|
291
|
+
"description": "Presentation kind of the terminal primary artifact."
|
|
292
|
+
},
|
|
293
|
+
"path": {
|
|
294
|
+
"type": "string",
|
|
295
|
+
"minLength": 1,
|
|
296
|
+
"description": "Normalized run-relative path of the terminal primary artifact."
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
"required": [
|
|
300
|
+
"kind",
|
|
301
|
+
"path"
|
|
302
|
+
],
|
|
303
|
+
"additionalProperties": false,
|
|
304
|
+
"description": "Primary user-facing artifact selected once during terminal preparation."
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"type": "null"
|
|
308
|
+
}
|
|
123
309
|
],
|
|
124
|
-
"description": "
|
|
310
|
+
"description": "Selected terminal primary artifact, or null when the receipt announces readiness without a primary deliverable."
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
"required": [
|
|
314
|
+
"state",
|
|
315
|
+
"primary"
|
|
316
|
+
],
|
|
317
|
+
"additionalProperties": false,
|
|
318
|
+
"description": "Immutable terminal output state and primary artifact. Absent only on legacy RunFacts receipts."
|
|
319
|
+
},
|
|
320
|
+
"participants": {
|
|
321
|
+
"type": "object",
|
|
322
|
+
"properties": {
|
|
323
|
+
"planners": {
|
|
324
|
+
"type": "integer",
|
|
325
|
+
"minimum": 0,
|
|
326
|
+
"description": "Number of participants whose canonical role is planner."
|
|
125
327
|
},
|
|
126
|
-
"
|
|
328
|
+
"attempts": {
|
|
127
329
|
"type": "array",
|
|
128
330
|
"items": {
|
|
129
331
|
"type": "object",
|
|
130
332
|
"properties": {
|
|
131
|
-
"
|
|
333
|
+
"attempt_id": {
|
|
334
|
+
"anyOf": [
|
|
335
|
+
{
|
|
336
|
+
"$ref": "#/definitions/McpRunToolResult/properties/runFacts/anyOf/0/properties/run_id"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"type": "null"
|
|
340
|
+
}
|
|
341
|
+
],
|
|
342
|
+
"description": "Attempt id when the participant owns an orchestrator attempt; null for reviewer-panel members."
|
|
343
|
+
},
|
|
344
|
+
"harness_id": {
|
|
345
|
+
"type": "string",
|
|
346
|
+
"minLength": 1,
|
|
347
|
+
"description": "Harness that served this participant role."
|
|
348
|
+
},
|
|
349
|
+
"role": {
|
|
132
350
|
"type": "string",
|
|
133
351
|
"enum": [
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"
|
|
352
|
+
"planner",
|
|
353
|
+
"merge",
|
|
354
|
+
"candidate",
|
|
355
|
+
"scout",
|
|
356
|
+
"reducer",
|
|
357
|
+
"reviewer"
|
|
140
358
|
],
|
|
141
|
-
"description": "
|
|
359
|
+
"description": "Canonical role of one participant in the terminal run graph."
|
|
360
|
+
},
|
|
361
|
+
"deliverable_present": {
|
|
362
|
+
"type": "boolean",
|
|
363
|
+
"default": false,
|
|
364
|
+
"description": "Whether this participant produced the deliverable its role requested."
|
|
142
365
|
},
|
|
143
|
-
"
|
|
366
|
+
"status": {
|
|
144
367
|
"anyOf": [
|
|
145
368
|
{
|
|
146
369
|
"type": "string",
|
|
147
|
-
"
|
|
370
|
+
"enum": [
|
|
371
|
+
"success",
|
|
372
|
+
"success_with_warnings",
|
|
373
|
+
"blocked",
|
|
374
|
+
"failed"
|
|
375
|
+
],
|
|
376
|
+
"description": "Terminal outcome recorded for one run participant."
|
|
148
377
|
},
|
|
149
378
|
{
|
|
150
379
|
"type": "null"
|
|
151
380
|
}
|
|
152
381
|
],
|
|
153
|
-
"
|
|
154
|
-
"
|
|
155
|
-
},
|
|
156
|
-
"description": {
|
|
157
|
-
"type": "string",
|
|
158
|
-
"maxLength": 1024,
|
|
159
|
-
"description": "Human-readable description of what is needed and why."
|
|
382
|
+
"description": "Participant outcome when recorded; null for artifact-only reviewer membership.",
|
|
383
|
+
"default": null
|
|
160
384
|
}
|
|
161
385
|
},
|
|
162
386
|
"required": [
|
|
163
|
-
"
|
|
164
|
-
"
|
|
387
|
+
"attempt_id",
|
|
388
|
+
"harness_id",
|
|
389
|
+
"role"
|
|
165
390
|
],
|
|
166
391
|
"additionalProperties": false,
|
|
167
|
-
"description": "One
|
|
392
|
+
"description": "One role-labelled participant in the terminal run graph."
|
|
393
|
+
},
|
|
394
|
+
"default": [],
|
|
395
|
+
"description": "Role-labelled participant roster."
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
"required": [
|
|
399
|
+
"planners"
|
|
400
|
+
],
|
|
401
|
+
"additionalProperties": false,
|
|
402
|
+
"description": "Terminal participant graph plus its planner-lane count."
|
|
403
|
+
},
|
|
404
|
+
"gates": {
|
|
405
|
+
"type": "object",
|
|
406
|
+
"properties": {
|
|
407
|
+
"configured": {
|
|
408
|
+
"type": "boolean",
|
|
409
|
+
"description": "Whether the frozen task configured deterministic gates."
|
|
410
|
+
},
|
|
411
|
+
"required": {
|
|
412
|
+
"type": "integer",
|
|
413
|
+
"minimum": 0,
|
|
414
|
+
"description": "Number of configured required gates."
|
|
415
|
+
},
|
|
416
|
+
"total": {
|
|
417
|
+
"type": "integer",
|
|
418
|
+
"minimum": 0,
|
|
419
|
+
"description": "Total configured deterministic gates."
|
|
420
|
+
},
|
|
421
|
+
"executed": {
|
|
422
|
+
"type": "boolean",
|
|
423
|
+
"description": "Whether the terminal attempt executed the gate set."
|
|
424
|
+
},
|
|
425
|
+
"state": {
|
|
426
|
+
"type": "string",
|
|
427
|
+
"enum": [
|
|
428
|
+
"not_configured",
|
|
429
|
+
"passed",
|
|
430
|
+
"failed",
|
|
431
|
+
"skipped"
|
|
432
|
+
],
|
|
433
|
+
"description": "Terminal state of the configured deterministic gate set."
|
|
434
|
+
},
|
|
435
|
+
"receipt_attempt_id": {
|
|
436
|
+
"anyOf": [
|
|
437
|
+
{
|
|
438
|
+
"$ref": "#/definitions/McpRunToolResult/properties/runFacts/anyOf/0/properties/run_id"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"type": "null"
|
|
442
|
+
}
|
|
443
|
+
],
|
|
444
|
+
"description": "Attempt whose gate receipt decides this projection; null when no gates executed.",
|
|
445
|
+
"default": null
|
|
446
|
+
}
|
|
447
|
+
},
|
|
448
|
+
"required": [
|
|
449
|
+
"configured",
|
|
450
|
+
"required",
|
|
451
|
+
"total",
|
|
452
|
+
"executed",
|
|
453
|
+
"state"
|
|
454
|
+
],
|
|
455
|
+
"additionalProperties": false,
|
|
456
|
+
"description": "Canonical gate configuration and terminal receipt projection."
|
|
457
|
+
},
|
|
458
|
+
"review": {
|
|
459
|
+
"type": "object",
|
|
460
|
+
"properties": {
|
|
461
|
+
"state": {
|
|
462
|
+
"$ref": "#/definitions/McpRunToolResult/properties/runFacts/anyOf/0/properties/outcome/properties/review"
|
|
463
|
+
},
|
|
464
|
+
"blocker_ids": {
|
|
465
|
+
"type": "array",
|
|
466
|
+
"items": {
|
|
467
|
+
"$ref": "#/definitions/McpRunToolResult/properties/runFacts/anyOf/0/properties/run_id"
|
|
168
468
|
},
|
|
169
|
-
"
|
|
170
|
-
"description": "
|
|
469
|
+
"default": [],
|
|
470
|
+
"description": "Stable ids of accepted evidence-backed blocking findings."
|
|
471
|
+
},
|
|
472
|
+
"blockers": {
|
|
473
|
+
"type": "integer",
|
|
474
|
+
"minimum": 0,
|
|
475
|
+
"description": "Number of blocking findings."
|
|
171
476
|
}
|
|
172
477
|
},
|
|
173
478
|
"required": [
|
|
174
479
|
"state",
|
|
175
|
-
"
|
|
480
|
+
"blockers"
|
|
176
481
|
],
|
|
177
482
|
"additionalProperties": false,
|
|
178
|
-
"description": "
|
|
483
|
+
"description": "Canonical terminal review verdict and blocking-finding identity."
|
|
484
|
+
},
|
|
485
|
+
"apply": {
|
|
486
|
+
"type": "object",
|
|
487
|
+
"properties": {
|
|
488
|
+
"eligibility": {
|
|
489
|
+
"anyOf": [
|
|
490
|
+
{
|
|
491
|
+
"type": "object",
|
|
492
|
+
"properties": {
|
|
493
|
+
"eligible": {
|
|
494
|
+
"type": "boolean",
|
|
495
|
+
"description": "True when the apply gate would accept this run's patch right now."
|
|
496
|
+
},
|
|
497
|
+
"state": {
|
|
498
|
+
"type": [
|
|
499
|
+
"string",
|
|
500
|
+
"null"
|
|
501
|
+
],
|
|
502
|
+
"description": "The gate's apply-eligibility classification (e.g. needs_review | not_verified | no_changes | ok) when known."
|
|
503
|
+
},
|
|
504
|
+
"reason": {
|
|
505
|
+
"type": [
|
|
506
|
+
"string",
|
|
507
|
+
"null"
|
|
508
|
+
],
|
|
509
|
+
"description": "The gate's refusal text when not eligible (null when eligible)."
|
|
510
|
+
},
|
|
511
|
+
"requiredAction": {
|
|
512
|
+
"type": [
|
|
513
|
+
"string",
|
|
514
|
+
"null"
|
|
515
|
+
],
|
|
516
|
+
"description": "Honest guidance for what actually unblocks apply (typed operator decision, add gates, re-run, or nothing to apply)."
|
|
517
|
+
}
|
|
518
|
+
},
|
|
519
|
+
"required": [
|
|
520
|
+
"eligible",
|
|
521
|
+
"state",
|
|
522
|
+
"reason",
|
|
523
|
+
"requiredAction"
|
|
524
|
+
],
|
|
525
|
+
"additionalProperties": false,
|
|
526
|
+
"description": "Derived apply-gate verdict for a run's WorkProduct (single producer in the delivery gate)."
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"type": "null"
|
|
530
|
+
}
|
|
531
|
+
],
|
|
532
|
+
"description": "Delivery-gate eligibility at terminalization; null when nothing is applyable.",
|
|
533
|
+
"default": null
|
|
534
|
+
},
|
|
535
|
+
"operator_decision_present": {
|
|
536
|
+
"type": "boolean",
|
|
537
|
+
"default": false,
|
|
538
|
+
"description": "Whether a valid operator decision was present when the receipt was finalized."
|
|
539
|
+
}
|
|
540
|
+
},
|
|
541
|
+
"additionalProperties": false,
|
|
542
|
+
"description": "Terminal apply eligibility and operator-decision state."
|
|
543
|
+
},
|
|
544
|
+
"required_actions": {
|
|
545
|
+
"type": "array",
|
|
546
|
+
"items": {
|
|
547
|
+
"type": "object",
|
|
548
|
+
"properties": {
|
|
549
|
+
"id": {
|
|
550
|
+
"type": "string",
|
|
551
|
+
"enum": [
|
|
552
|
+
"provide_required_input",
|
|
553
|
+
"complete_incomplete_work",
|
|
554
|
+
"resolve_review_block",
|
|
555
|
+
"fix_failed_checks",
|
|
556
|
+
"record_operator_decision"
|
|
557
|
+
],
|
|
558
|
+
"description": "Stable machine id for a required operator action on a blocked terminal run."
|
|
559
|
+
},
|
|
560
|
+
"detail": {
|
|
561
|
+
"type": "string",
|
|
562
|
+
"description": "Human-readable guidance for this action (English-only, INV-141)."
|
|
563
|
+
}
|
|
564
|
+
},
|
|
565
|
+
"required": [
|
|
566
|
+
"id",
|
|
567
|
+
"detail"
|
|
568
|
+
],
|
|
569
|
+
"additionalProperties": false,
|
|
570
|
+
"description": "One typed required operator action derived from a run's terminal outcome facts."
|
|
571
|
+
},
|
|
572
|
+
"default": [],
|
|
573
|
+
"description": "Typed actions required to unblock this terminal outcome."
|
|
574
|
+
},
|
|
575
|
+
"generated_at": {
|
|
576
|
+
"type": "string",
|
|
577
|
+
"minLength": 1,
|
|
578
|
+
"description": "When this immutable terminal receipt was finalized."
|
|
179
579
|
}
|
|
180
580
|
},
|
|
181
581
|
"required": [
|
|
182
|
-
"
|
|
582
|
+
"schema_version",
|
|
583
|
+
"run_id",
|
|
584
|
+
"task_id",
|
|
585
|
+
"mode",
|
|
586
|
+
"outcome",
|
|
587
|
+
"deliverable",
|
|
588
|
+
"participants",
|
|
589
|
+
"gates",
|
|
590
|
+
"review",
|
|
591
|
+
"apply",
|
|
592
|
+
"generated_at"
|
|
183
593
|
],
|
|
184
594
|
"additionalProperties": false,
|
|
185
|
-
"description": "
|
|
595
|
+
"description": "Validated immutable terminal facts for one run."
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"type": "null"
|
|
599
|
+
}
|
|
600
|
+
],
|
|
601
|
+
"description": "Validated canonical terminal RunFacts receipt; null while active, unavailable, or for legacy runs.",
|
|
602
|
+
"default": null
|
|
603
|
+
},
|
|
604
|
+
"outcomeFacts": {
|
|
605
|
+
"anyOf": [
|
|
606
|
+
{
|
|
607
|
+
"$ref": "#/definitions/McpRunToolResult/properties/runFacts/anyOf/0/properties/outcome"
|
|
186
608
|
},
|
|
187
609
|
{
|
|
188
610
|
"type": "null"
|
|
@@ -335,42 +757,7 @@
|
|
|
335
757
|
"applyEligibility": {
|
|
336
758
|
"anyOf": [
|
|
337
759
|
{
|
|
338
|
-
"
|
|
339
|
-
"properties": {
|
|
340
|
-
"eligible": {
|
|
341
|
-
"type": "boolean",
|
|
342
|
-
"description": "True when the apply gate would accept this run's patch right now."
|
|
343
|
-
},
|
|
344
|
-
"state": {
|
|
345
|
-
"type": [
|
|
346
|
-
"string",
|
|
347
|
-
"null"
|
|
348
|
-
],
|
|
349
|
-
"description": "The gate's apply-eligibility classification (e.g. needs_review | not_verified | no_changes | ok) when known."
|
|
350
|
-
},
|
|
351
|
-
"reason": {
|
|
352
|
-
"type": [
|
|
353
|
-
"string",
|
|
354
|
-
"null"
|
|
355
|
-
],
|
|
356
|
-
"description": "The gate's refusal text when not eligible (null when eligible)."
|
|
357
|
-
},
|
|
358
|
-
"requiredAction": {
|
|
359
|
-
"type": [
|
|
360
|
-
"string",
|
|
361
|
-
"null"
|
|
362
|
-
],
|
|
363
|
-
"description": "Honest guidance for what actually unblocks apply (typed operator decision, add gates, re-run, or nothing to apply)."
|
|
364
|
-
}
|
|
365
|
-
},
|
|
366
|
-
"required": [
|
|
367
|
-
"eligible",
|
|
368
|
-
"state",
|
|
369
|
-
"reason",
|
|
370
|
-
"requiredAction"
|
|
371
|
-
],
|
|
372
|
-
"additionalProperties": false,
|
|
373
|
-
"description": "Derived apply-gate verdict for a run's WorkProduct (single producer in the delivery gate)."
|
|
760
|
+
"$ref": "#/definitions/McpRunToolResult/properties/runFacts/anyOf/0/properties/apply/properties/eligibility/anyOf/0"
|
|
374
761
|
},
|
|
375
762
|
{
|
|
376
763
|
"type": "null"
|