mustflow 2.11.0 → 2.17.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.
@@ -37,6 +37,18 @@
37
37
  "status": { "enum": ["passed", "partial", "failed", "blocked"] },
38
38
  "completion_verdict": { "$ref": "#/$defs/completionVerdict" },
39
39
  "evidence_model": { "$ref": "#/$defs/evidenceModel" },
40
+ "failure_fingerprint": {
41
+ "anyOf": [
42
+ { "$ref": "#/$defs/failureFingerprint" },
43
+ { "type": "null" }
44
+ ]
45
+ },
46
+ "repeated_failure_summary": {
47
+ "anyOf": [
48
+ { "$ref": "#/$defs/repeatedFailureSummary" },
49
+ { "type": "null" }
50
+ ]
51
+ },
40
52
  "run_dir": { "type": "string" },
41
53
  "manifest_path": { "type": "string" },
42
54
  "summary": {
@@ -100,6 +112,66 @@
100
112
  }
101
113
  },
102
114
  "$defs": {
115
+ "failureFingerprint": {
116
+ "type": "object",
117
+ "additionalProperties": false,
118
+ "required": [
119
+ "schema_version",
120
+ "fingerprint",
121
+ "verification_plan_id",
122
+ "failed_intents_hash",
123
+ "exit_code_classes_hash",
124
+ "timeout_flags_hash",
125
+ "error_kinds_hash",
126
+ "diagnostic_hash",
127
+ "risk_codes_hash",
128
+ "affected_surfaces_hash",
129
+ "command_fingerprints_hash"
130
+ ],
131
+ "properties": {
132
+ "schema_version": { "const": "1" },
133
+ "fingerprint": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
134
+ "verification_plan_id": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
135
+ "failed_intents_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
136
+ "exit_code_classes_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
137
+ "timeout_flags_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
138
+ "error_kinds_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
139
+ "diagnostic_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
140
+ "risk_codes_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
141
+ "affected_surfaces_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
142
+ "command_fingerprints_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" }
143
+ }
144
+ },
145
+ "repeatedFailureSummary": {
146
+ "type": "object",
147
+ "additionalProperties": false,
148
+ "required": [
149
+ "schema_version",
150
+ "fingerprint",
151
+ "verification_plan_id",
152
+ "status",
153
+ "failed_intents_hash",
154
+ "risk_codes_hash",
155
+ "affected_surfaces_hash",
156
+ "first_seen_at",
157
+ "last_seen_at",
158
+ "seen_count",
159
+ "requires_new_evidence"
160
+ ],
161
+ "properties": {
162
+ "schema_version": { "const": "1" },
163
+ "fingerprint": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
164
+ "verification_plan_id": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
165
+ "status": { "type": "string" },
166
+ "failed_intents_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
167
+ "risk_codes_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
168
+ "affected_surfaces_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
169
+ "first_seen_at": { "type": "string" },
170
+ "last_seen_at": { "type": "string" },
171
+ "seen_count": { "type": "integer", "minimum": 1 },
172
+ "requires_new_evidence": { "type": "boolean" }
173
+ }
174
+ },
103
175
  "completionVerdict": {
104
176
  "type": "object",
105
177
  "additionalProperties": false,
@@ -115,6 +187,7 @@
115
187
  "source",
116
188
  "verification_plan_id",
117
189
  "changed_file_count",
190
+ "criteria",
118
191
  "matched_intents",
119
192
  "ran_intents",
120
193
  "passed_intents",
@@ -126,6 +199,14 @@
126
199
  "scope_diff_risk_count",
127
200
  "repeated_failure_count",
128
201
  "validation_ratchet_risk_count",
202
+ "repro_evidence_risk_count",
203
+ "external_evidence_risk_count",
204
+ "write_drift_risk_count",
205
+ "receipt_binding_risk_count",
206
+ "stale_receipt_count",
207
+ "plan_mismatch_count",
208
+ "risks",
209
+ "receipt_binding",
129
210
  "latest_run_status"
130
211
  ],
131
212
  "properties": {
@@ -135,6 +216,7 @@
135
216
  "pattern": "^sha256:[0-9a-f]{64}$"
136
217
  },
137
218
  "changed_file_count": { "type": ["integer", "null"] },
219
+ "criteria": { "$ref": "#/$defs/completionVerdictCriteria" },
138
220
  "matched_intents": { "type": "integer" },
139
221
  "ran_intents": { "type": "integer" },
140
222
  "passed_intents": { "type": "integer" },
@@ -146,6 +228,14 @@
146
228
  "scope_diff_risk_count": { "type": "integer" },
147
229
  "repeated_failure_count": { "type": "integer" },
148
230
  "validation_ratchet_risk_count": { "type": "integer" },
231
+ "repro_evidence_risk_count": { "type": "integer" },
232
+ "external_evidence_risk_count": { "type": "integer" },
233
+ "write_drift_risk_count": { "type": "integer" },
234
+ "receipt_binding_risk_count": { "type": "integer" },
235
+ "stale_receipt_count": { "type": "integer" },
236
+ "plan_mismatch_count": { "type": "integer" },
237
+ "risks": { "$ref": "#/$defs/completionVerdictRisks" },
238
+ "receipt_binding": { "$ref": "#/$defs/completionVerdictReceiptBinding" },
149
239
  "latest_run_status": { "type": ["string", "null"] }
150
240
  }
151
241
  },
@@ -163,6 +253,71 @@
163
253
  }
164
254
  }
165
255
  },
256
+ "completionVerdictCriteria": {
257
+ "type": "object",
258
+ "additionalProperties": false,
259
+ "required": ["total", "covered", "partially_covered", "uncovered", "blocked", "contradicted"],
260
+ "properties": {
261
+ "total": { "type": "integer" },
262
+ "covered": { "type": "integer" },
263
+ "partially_covered": { "type": "integer" },
264
+ "uncovered": { "type": "integer" },
265
+ "blocked": { "type": "integer" },
266
+ "contradicted": { "type": "integer" }
267
+ }
268
+ },
269
+ "completionVerdictRisks": {
270
+ "type": "object",
271
+ "additionalProperties": false,
272
+ "required": [
273
+ "source_anchor",
274
+ "scope_diff",
275
+ "repeated_failure",
276
+ "validation_ratchet",
277
+ "repro_evidence",
278
+ "external_evidence",
279
+ "write_drift",
280
+ "receipt_binding",
281
+ "stale_receipt",
282
+ "plan_mismatch"
283
+ ],
284
+ "properties": {
285
+ "source_anchor": { "type": "integer" },
286
+ "scope_diff": { "type": "integer" },
287
+ "repeated_failure": { "type": "integer" },
288
+ "validation_ratchet": { "type": "integer" },
289
+ "repro_evidence": { "type": "integer" },
290
+ "external_evidence": { "type": "integer" },
291
+ "write_drift": { "type": "integer" },
292
+ "receipt_binding": { "type": "integer" },
293
+ "stale_receipt": { "type": "integer" },
294
+ "plan_mismatch": { "type": "integer" }
295
+ }
296
+ },
297
+ "completionVerdictReceiptBinding": {
298
+ "type": "object",
299
+ "additionalProperties": false,
300
+ "required": [
301
+ "plan_bound_count",
302
+ "plan_unbound_count",
303
+ "fingerprint_bound_count",
304
+ "fingerprint_unbound_count",
305
+ "current_state_bound_count",
306
+ "current_state_unavailable_count",
307
+ "stale_count",
308
+ "plan_mismatch_count"
309
+ ],
310
+ "properties": {
311
+ "plan_bound_count": { "type": "integer" },
312
+ "plan_unbound_count": { "type": "integer" },
313
+ "fingerprint_bound_count": { "type": "integer" },
314
+ "fingerprint_unbound_count": { "type": "integer" },
315
+ "current_state_bound_count": { "type": "integer" },
316
+ "current_state_unavailable_count": { "type": "integer" },
317
+ "stale_count": { "type": "integer" },
318
+ "plan_mismatch_count": { "type": "integer" }
319
+ }
320
+ },
166
321
  "evidenceModel": {
167
322
  "type": "object",
168
323
  "additionalProperties": false,
@@ -359,9 +514,9 @@
359
514
  "reported_symptom",
360
515
  "expected_behavior",
361
516
  "observed_behavior",
362
- "original_reproduction",
363
- "evidence_before_fix",
364
- "evidence_after_fix",
517
+ "reproduction_route",
518
+ "before_fix",
519
+ "after_fix",
365
520
  "regression_guard"
366
521
  ],
367
522
  "properties": {
@@ -370,18 +525,80 @@
370
525
  "reported_symptom": { "type": ["string", "null"] },
371
526
  "expected_behavior": { "type": ["string", "null"] },
372
527
  "observed_behavior": { "type": ["string", "null"] },
373
- "original_reproduction": { "$ref": "#/$defs/reproEvidenceItem" },
374
- "evidence_before_fix": { "$ref": "#/$defs/reproEvidenceItem" },
375
- "evidence_after_fix": { "$ref": "#/$defs/reproEvidenceItem" },
376
- "regression_guard": { "$ref": "#/$defs/reproEvidenceItem" }
528
+ "reproduction_route": { "$ref": "#/$defs/reproRouteIdentity" },
529
+ "before_fix": { "$ref": "#/$defs/reproBeforeFixEvidence" },
530
+ "after_fix": { "$ref": "#/$defs/reproAfterFixEvidence" },
531
+ "regression_guard": { "$ref": "#/$defs/reproRegressionGuardEvidence" }
532
+ }
533
+ },
534
+ "reproRouteIdentity": {
535
+ "type": "object",
536
+ "additionalProperties": false,
537
+ "required": ["route_id", "route_kind", "route_digest", "failure_oracle_hash", "steps"],
538
+ "properties": {
539
+ "route_id": { "type": ["string", "null"] },
540
+ "route_kind": { "enum": ["test", "cli", "browser", "api", "manual", "unknown", null] },
541
+ "route_digest": { "type": ["string", "null"] },
542
+ "failure_oracle_hash": { "type": ["string", "null"] },
543
+ "steps": {
544
+ "type": "array",
545
+ "items": { "$ref": "#/$defs/reproRouteStep" }
546
+ }
547
+ }
548
+ },
549
+ "reproRouteStep": {
550
+ "type": "object",
551
+ "additionalProperties": false,
552
+ "required": ["ordinal", "action", "target", "input_digest", "observation_digest", "summary"],
553
+ "properties": {
554
+ "ordinal": { "type": "integer", "minimum": 1 },
555
+ "action": { "type": ["string", "null"] },
556
+ "target": { "type": ["string", "null"] },
557
+ "input_digest": { "type": ["string", "null"] },
558
+ "observation_digest": { "type": ["string", "null"] },
559
+ "summary": { "type": ["string", "null"] }
377
560
  }
378
561
  },
379
- "reproEvidenceItem": {
562
+ "reproBeforeFixEvidence": {
380
563
  "type": "object",
381
564
  "additionalProperties": false,
382
- "required": ["status", "summary", "reason"],
565
+ "required": ["status", "outcome", "receipt_path", "receipt_sha256", "verification_plan_id", "summary", "reason"],
383
566
  "properties": {
384
- "status": { "enum": ["present", "unavailable", "missing"] },
567
+ "status": { "enum": ["reproduced", "unavailable", "missing"] },
568
+ "outcome": { "enum": ["failed_as_expected", "failed_differently", "passed_unexpectedly", null] },
569
+ "receipt_path": { "type": ["string", "null"] },
570
+ "receipt_sha256": { "type": ["string", "null"] },
571
+ "verification_plan_id": { "type": ["string", "null"] },
572
+ "summary": { "type": ["string", "null"] },
573
+ "reason": { "type": ["string", "null"] }
574
+ }
575
+ },
576
+ "reproAfterFixEvidence": {
577
+ "type": "object",
578
+ "additionalProperties": false,
579
+ "required": ["status", "outcome", "same_route_as", "receipt_path", "receipt_sha256", "verification_plan_id", "summary", "reason"],
580
+ "properties": {
581
+ "status": { "enum": ["passed", "failed", "unavailable", "missing"] },
582
+ "outcome": { "enum": ["passed_expected_behavior", "failed_same_route", "failed_differently", null] },
583
+ "same_route_as": { "type": ["string", "null"] },
584
+ "receipt_path": { "type": ["string", "null"] },
585
+ "receipt_sha256": { "type": ["string", "null"] },
586
+ "verification_plan_id": { "type": ["string", "null"] },
587
+ "summary": { "type": ["string", "null"] },
588
+ "reason": { "type": ["string", "null"] }
589
+ }
590
+ },
591
+ "reproRegressionGuardEvidence": {
592
+ "type": "object",
593
+ "additionalProperties": false,
594
+ "required": ["status", "intent", "test_path", "receipt_path", "receipt_sha256", "verification_plan_id", "summary", "reason"],
595
+ "properties": {
596
+ "status": { "enum": ["passed", "failed", "unavailable", "missing"] },
597
+ "intent": { "type": ["string", "null"] },
598
+ "test_path": { "type": ["string", "null"] },
599
+ "receipt_path": { "type": ["string", "null"] },
600
+ "receipt_sha256": { "type": ["string", "null"] },
601
+ "verification_plan_id": { "type": ["string", "null"] },
385
602
  "summary": { "type": ["string", "null"] },
386
603
  "reason": { "type": ["string", "null"] }
387
604
  }
@@ -33,6 +33,18 @@
33
33
  "status": { "enum": ["passed", "partial", "failed", "blocked"] },
34
34
  "completion_verdict": { "$ref": "#/$defs/completionVerdict" },
35
35
  "evidence_model": { "$ref": "#/$defs/evidenceModel" },
36
+ "failure_fingerprint": {
37
+ "anyOf": [
38
+ { "$ref": "#/$defs/failureFingerprint" },
39
+ { "type": "null" }
40
+ ]
41
+ },
42
+ "repeated_failure_summary": {
43
+ "anyOf": [
44
+ { "$ref": "#/$defs/repeatedFailureSummary" },
45
+ { "type": "null" }
46
+ ]
47
+ },
36
48
  "summary": { "$ref": "#/$defs/summary" },
37
49
  "repro_evidence": { "$ref": "#/$defs/reproEvidence" },
38
50
  "external_checks": {
@@ -45,6 +57,66 @@
45
57
  }
46
58
  },
47
59
  "$defs": {
60
+ "failureFingerprint": {
61
+ "type": "object",
62
+ "additionalProperties": false,
63
+ "required": [
64
+ "schema_version",
65
+ "fingerprint",
66
+ "verification_plan_id",
67
+ "failed_intents_hash",
68
+ "exit_code_classes_hash",
69
+ "timeout_flags_hash",
70
+ "error_kinds_hash",
71
+ "diagnostic_hash",
72
+ "risk_codes_hash",
73
+ "affected_surfaces_hash",
74
+ "command_fingerprints_hash"
75
+ ],
76
+ "properties": {
77
+ "schema_version": { "const": "1" },
78
+ "fingerprint": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
79
+ "verification_plan_id": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
80
+ "failed_intents_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
81
+ "exit_code_classes_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
82
+ "timeout_flags_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
83
+ "error_kinds_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
84
+ "diagnostic_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
85
+ "risk_codes_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
86
+ "affected_surfaces_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
87
+ "command_fingerprints_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" }
88
+ }
89
+ },
90
+ "repeatedFailureSummary": {
91
+ "type": "object",
92
+ "additionalProperties": false,
93
+ "required": [
94
+ "schema_version",
95
+ "fingerprint",
96
+ "verification_plan_id",
97
+ "status",
98
+ "failed_intents_hash",
99
+ "risk_codes_hash",
100
+ "affected_surfaces_hash",
101
+ "first_seen_at",
102
+ "last_seen_at",
103
+ "seen_count",
104
+ "requires_new_evidence"
105
+ ],
106
+ "properties": {
107
+ "schema_version": { "const": "1" },
108
+ "fingerprint": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
109
+ "verification_plan_id": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
110
+ "status": { "type": "string" },
111
+ "failed_intents_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
112
+ "risk_codes_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
113
+ "affected_surfaces_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
114
+ "first_seen_at": { "type": "string" },
115
+ "last_seen_at": { "type": "string" },
116
+ "seen_count": { "type": "integer", "minimum": 1 },
117
+ "requires_new_evidence": { "type": "boolean" }
118
+ }
119
+ },
48
120
  "completionVerdict": {
49
121
  "type": "object",
50
122
  "additionalProperties": false,
@@ -60,6 +132,7 @@
60
132
  "source",
61
133
  "verification_plan_id",
62
134
  "changed_file_count",
135
+ "criteria",
63
136
  "matched_intents",
64
137
  "ran_intents",
65
138
  "passed_intents",
@@ -71,6 +144,14 @@
71
144
  "scope_diff_risk_count",
72
145
  "repeated_failure_count",
73
146
  "validation_ratchet_risk_count",
147
+ "repro_evidence_risk_count",
148
+ "external_evidence_risk_count",
149
+ "write_drift_risk_count",
150
+ "receipt_binding_risk_count",
151
+ "stale_receipt_count",
152
+ "plan_mismatch_count",
153
+ "risks",
154
+ "receipt_binding",
74
155
  "latest_run_status"
75
156
  ],
76
157
  "properties": {
@@ -80,6 +161,7 @@
80
161
  "pattern": "^sha256:[0-9a-f]{64}$"
81
162
  },
82
163
  "changed_file_count": { "type": ["integer", "null"] },
164
+ "criteria": { "$ref": "#/$defs/completionVerdictCriteria" },
83
165
  "matched_intents": { "type": "integer" },
84
166
  "ran_intents": { "type": "integer" },
85
167
  "passed_intents": { "type": "integer" },
@@ -91,6 +173,14 @@
91
173
  "scope_diff_risk_count": { "type": "integer" },
92
174
  "repeated_failure_count": { "type": "integer" },
93
175
  "validation_ratchet_risk_count": { "type": "integer" },
176
+ "repro_evidence_risk_count": { "type": "integer" },
177
+ "external_evidence_risk_count": { "type": "integer" },
178
+ "write_drift_risk_count": { "type": "integer" },
179
+ "receipt_binding_risk_count": { "type": "integer" },
180
+ "stale_receipt_count": { "type": "integer" },
181
+ "plan_mismatch_count": { "type": "integer" },
182
+ "risks": { "$ref": "#/$defs/completionVerdictRisks" },
183
+ "receipt_binding": { "$ref": "#/$defs/completionVerdictReceiptBinding" },
94
184
  "latest_run_status": { "type": ["string", "null"] }
95
185
  }
96
186
  },
@@ -108,6 +198,47 @@
108
198
  }
109
199
  }
110
200
  },
201
+ "completionVerdictCriteria": {
202
+ "type": "object",
203
+ "additionalProperties": false,
204
+ "required": ["total", "covered", "partially_covered", "uncovered", "blocked", "contradicted"],
205
+ "properties": {
206
+ "total": { "type": "integer" },
207
+ "covered": { "type": "integer" },
208
+ "partially_covered": { "type": "integer" },
209
+ "uncovered": { "type": "integer" },
210
+ "blocked": { "type": "integer" },
211
+ "contradicted": { "type": "integer" }
212
+ }
213
+ },
214
+ "completionVerdictRisks": {
215
+ "type": "object",
216
+ "additionalProperties": false,
217
+ "required": [
218
+ "source_anchor",
219
+ "scope_diff",
220
+ "repeated_failure",
221
+ "validation_ratchet",
222
+ "repro_evidence",
223
+ "external_evidence",
224
+ "write_drift",
225
+ "receipt_binding",
226
+ "stale_receipt",
227
+ "plan_mismatch"
228
+ ],
229
+ "properties": {
230
+ "source_anchor": { "type": "integer" },
231
+ "scope_diff": { "type": "integer" },
232
+ "repeated_failure": { "type": "integer" },
233
+ "validation_ratchet": { "type": "integer" },
234
+ "repro_evidence": { "type": "integer" },
235
+ "external_evidence": { "type": "integer" },
236
+ "write_drift": { "type": "integer" },
237
+ "receipt_binding": { "type": "integer" },
238
+ "stale_receipt": { "type": "integer" },
239
+ "plan_mismatch": { "type": "integer" }
240
+ }
241
+ },
111
242
  "summary": {
112
243
  "type": "object",
113
244
  "additionalProperties": false,
@@ -146,6 +277,30 @@
146
277
  }
147
278
  }
148
279
  },
280
+ "completionVerdictReceiptBinding": {
281
+ "type": "object",
282
+ "additionalProperties": false,
283
+ "required": [
284
+ "plan_bound_count",
285
+ "plan_unbound_count",
286
+ "fingerprint_bound_count",
287
+ "fingerprint_unbound_count",
288
+ "current_state_bound_count",
289
+ "current_state_unavailable_count",
290
+ "stale_count",
291
+ "plan_mismatch_count"
292
+ ],
293
+ "properties": {
294
+ "plan_bound_count": { "type": "integer" },
295
+ "plan_unbound_count": { "type": "integer" },
296
+ "fingerprint_bound_count": { "type": "integer" },
297
+ "fingerprint_unbound_count": { "type": "integer" },
298
+ "current_state_bound_count": { "type": "integer" },
299
+ "current_state_unavailable_count": { "type": "integer" },
300
+ "stale_count": { "type": "integer" },
301
+ "plan_mismatch_count": { "type": "integer" }
302
+ }
303
+ },
149
304
  "evidenceModel": {
150
305
  "type": "object",
151
306
  "additionalProperties": false,
@@ -342,9 +497,9 @@
342
497
  "reported_symptom",
343
498
  "expected_behavior",
344
499
  "observed_behavior",
345
- "original_reproduction",
346
- "evidence_before_fix",
347
- "evidence_after_fix",
500
+ "reproduction_route",
501
+ "before_fix",
502
+ "after_fix",
348
503
  "regression_guard"
349
504
  ],
350
505
  "properties": {
@@ -353,18 +508,80 @@
353
508
  "reported_symptom": { "type": ["string", "null"] },
354
509
  "expected_behavior": { "type": ["string", "null"] },
355
510
  "observed_behavior": { "type": ["string", "null"] },
356
- "original_reproduction": { "$ref": "#/$defs/reproEvidenceItem" },
357
- "evidence_before_fix": { "$ref": "#/$defs/reproEvidenceItem" },
358
- "evidence_after_fix": { "$ref": "#/$defs/reproEvidenceItem" },
359
- "regression_guard": { "$ref": "#/$defs/reproEvidenceItem" }
511
+ "reproduction_route": { "$ref": "#/$defs/reproRouteIdentity" },
512
+ "before_fix": { "$ref": "#/$defs/reproBeforeFixEvidence" },
513
+ "after_fix": { "$ref": "#/$defs/reproAfterFixEvidence" },
514
+ "regression_guard": { "$ref": "#/$defs/reproRegressionGuardEvidence" }
515
+ }
516
+ },
517
+ "reproRouteIdentity": {
518
+ "type": "object",
519
+ "additionalProperties": false,
520
+ "required": ["route_id", "route_kind", "route_digest", "failure_oracle_hash", "steps"],
521
+ "properties": {
522
+ "route_id": { "type": ["string", "null"] },
523
+ "route_kind": { "enum": ["test", "cli", "browser", "api", "manual", "unknown", null] },
524
+ "route_digest": { "type": ["string", "null"] },
525
+ "failure_oracle_hash": { "type": ["string", "null"] },
526
+ "steps": {
527
+ "type": "array",
528
+ "items": { "$ref": "#/$defs/reproRouteStep" }
529
+ }
530
+ }
531
+ },
532
+ "reproRouteStep": {
533
+ "type": "object",
534
+ "additionalProperties": false,
535
+ "required": ["ordinal", "action", "target", "input_digest", "observation_digest", "summary"],
536
+ "properties": {
537
+ "ordinal": { "type": "integer", "minimum": 1 },
538
+ "action": { "type": ["string", "null"] },
539
+ "target": { "type": ["string", "null"] },
540
+ "input_digest": { "type": ["string", "null"] },
541
+ "observation_digest": { "type": ["string", "null"] },
542
+ "summary": { "type": ["string", "null"] }
360
543
  }
361
544
  },
362
- "reproEvidenceItem": {
545
+ "reproBeforeFixEvidence": {
363
546
  "type": "object",
364
547
  "additionalProperties": false,
365
- "required": ["status", "summary", "reason"],
548
+ "required": ["status", "outcome", "receipt_path", "receipt_sha256", "verification_plan_id", "summary", "reason"],
366
549
  "properties": {
367
- "status": { "enum": ["present", "unavailable", "missing"] },
550
+ "status": { "enum": ["reproduced", "unavailable", "missing"] },
551
+ "outcome": { "enum": ["failed_as_expected", "failed_differently", "passed_unexpectedly", null] },
552
+ "receipt_path": { "type": ["string", "null"] },
553
+ "receipt_sha256": { "type": ["string", "null"] },
554
+ "verification_plan_id": { "type": ["string", "null"] },
555
+ "summary": { "type": ["string", "null"] },
556
+ "reason": { "type": ["string", "null"] }
557
+ }
558
+ },
559
+ "reproAfterFixEvidence": {
560
+ "type": "object",
561
+ "additionalProperties": false,
562
+ "required": ["status", "outcome", "same_route_as", "receipt_path", "receipt_sha256", "verification_plan_id", "summary", "reason"],
563
+ "properties": {
564
+ "status": { "enum": ["passed", "failed", "unavailable", "missing"] },
565
+ "outcome": { "enum": ["passed_expected_behavior", "failed_same_route", "failed_differently", null] },
566
+ "same_route_as": { "type": ["string", "null"] },
567
+ "receipt_path": { "type": ["string", "null"] },
568
+ "receipt_sha256": { "type": ["string", "null"] },
569
+ "verification_plan_id": { "type": ["string", "null"] },
570
+ "summary": { "type": ["string", "null"] },
571
+ "reason": { "type": ["string", "null"] }
572
+ }
573
+ },
574
+ "reproRegressionGuardEvidence": {
575
+ "type": "object",
576
+ "additionalProperties": false,
577
+ "required": ["status", "intent", "test_path", "receipt_path", "receipt_sha256", "verification_plan_id", "summary", "reason"],
578
+ "properties": {
579
+ "status": { "enum": ["passed", "failed", "unavailable", "missing"] },
580
+ "intent": { "type": ["string", "null"] },
581
+ "test_path": { "type": ["string", "null"] },
582
+ "receipt_path": { "type": ["string", "null"] },
583
+ "receipt_sha256": { "type": ["string", "null"] },
584
+ "verification_plan_id": { "type": ["string", "null"] },
368
585
  "summary": { "type": ["string", "null"] },
369
586
  "reason": { "type": ["string", "null"] }
370
587
  }
@@ -1,6 +1,6 @@
1
1
  id = "default"
2
2
  name = "default"
3
- version = "2.11.0"
3
+ version = "2.17.0"
4
4
  description = "Minimal workflow for LLM agents to read, edit, and verify their work in a repository."
5
5
  common_root = "common"
6
6
  locales_root = "locales"