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.
@@ -506,7 +506,8 @@
506
506
  "runnableCount",
507
507
  "skippedCount",
508
508
  "requirements",
509
- "decisionGraph"
509
+ "decisionGraph",
510
+ "readModel"
510
511
  ],
511
512
  "properties": {
512
513
  "planSource": { "type": ["string", "null"] },
@@ -523,11 +524,182 @@
523
524
  },
524
525
  "decisionGraph": {
525
526
  "$ref": "#/$defs/verificationDecisionGraph"
527
+ },
528
+ "readModel": {
529
+ "$ref": "#/$defs/localVerificationReadModel"
526
530
  }
527
531
  }
528
532
  }
529
533
  }
530
534
  },
535
+ "localVerificationReadModel": {
536
+ "type": "object",
537
+ "additionalProperties": false,
538
+ "required": [
539
+ "source",
540
+ "authority",
541
+ "commandAuthority",
542
+ "grantsCommandAuthority",
543
+ "status",
544
+ "databasePath",
545
+ "indexFresh",
546
+ "stalePaths",
547
+ "planId",
548
+ "uncoveredCriteria",
549
+ "severeRisks",
550
+ "nonPassingReceipts",
551
+ "repeatedFailureFingerprints",
552
+ "validationWeakeningSignals",
553
+ "refreshHint"
554
+ ],
555
+ "properties": {
556
+ "source": { "const": "local_index" },
557
+ "authority": { "const": "evidence_only" },
558
+ "commandAuthority": { "const": ".mustflow/config/commands.toml" },
559
+ "grantsCommandAuthority": { "const": false },
560
+ "status": { "enum": ["fresh", "missing", "stale", "unreadable"] },
561
+ "databasePath": { "type": "string" },
562
+ "indexFresh": { "type": "boolean" },
563
+ "stalePaths": {
564
+ "type": "array",
565
+ "items": { "type": "string" }
566
+ },
567
+ "planId": {
568
+ "type": ["string", "null"],
569
+ "pattern": "^sha256:[0-9a-f]{64}$"
570
+ },
571
+ "uncoveredCriteria": {
572
+ "type": "array",
573
+ "items": { "$ref": "#/$defs/localUncoveredCriterion" }
574
+ },
575
+ "severeRisks": {
576
+ "type": "array",
577
+ "items": { "$ref": "#/$defs/localSevereVerificationRisk" }
578
+ },
579
+ "nonPassingReceipts": {
580
+ "type": "array",
581
+ "items": { "$ref": "#/$defs/localNonPassingVerificationReceipt" }
582
+ },
583
+ "repeatedFailureFingerprints": {
584
+ "type": "array",
585
+ "items": { "$ref": "#/$defs/localRepeatedFailureFingerprint" }
586
+ },
587
+ "validationWeakeningSignals": {
588
+ "type": "array",
589
+ "items": { "$ref": "#/$defs/localValidationWeakeningSignal" }
590
+ },
591
+ "refreshHint": { "type": ["string", "null"] }
592
+ }
593
+ },
594
+ "localUncoveredCriterion": {
595
+ "type": "object",
596
+ "additionalProperties": false,
597
+ "required": [
598
+ "criterionId",
599
+ "source",
600
+ "reason",
601
+ "surface",
602
+ "pathHash",
603
+ "coverageStatus",
604
+ "receiptCount",
605
+ "gapCount",
606
+ "riskCount"
607
+ ],
608
+ "properties": {
609
+ "criterionId": { "type": "string" },
610
+ "source": { "type": "string" },
611
+ "reason": { "type": ["string", "null"] },
612
+ "surface": { "type": ["string", "null"] },
613
+ "pathHash": { "type": ["string", "null"] },
614
+ "coverageStatus": { "type": ["string", "null"] },
615
+ "receiptCount": { "type": "integer" },
616
+ "gapCount": { "type": "integer" },
617
+ "riskCount": { "type": "integer" }
618
+ }
619
+ },
620
+ "localSevereVerificationRisk": {
621
+ "type": "object",
622
+ "additionalProperties": false,
623
+ "required": ["sourcePath", "ordinal", "code", "severity", "detailHash"],
624
+ "properties": {
625
+ "sourcePath": { "type": "string" },
626
+ "ordinal": { "type": "integer" },
627
+ "code": { "type": "string" },
628
+ "severity": { "type": "string" },
629
+ "detailHash": { "type": "string" }
630
+ }
631
+ },
632
+ "localNonPassingVerificationReceipt": {
633
+ "type": "object",
634
+ "additionalProperties": false,
635
+ "required": [
636
+ "receiptHash",
637
+ "planId",
638
+ "intent",
639
+ "status",
640
+ "commandFingerprint",
641
+ "contractFingerprint",
642
+ "currentStateHash",
643
+ "writeDriftStatus"
644
+ ],
645
+ "properties": {
646
+ "receiptHash": { "type": "string" },
647
+ "planId": { "type": "string" },
648
+ "intent": { "type": ["string", "null"] },
649
+ "status": { "type": "string" },
650
+ "commandFingerprint": { "type": ["string", "null"] },
651
+ "contractFingerprint": { "type": ["string", "null"] },
652
+ "currentStateHash": { "type": ["string", "null"] },
653
+ "writeDriftStatus": { "type": ["string", "null"] }
654
+ }
655
+ },
656
+ "localRepeatedFailureFingerprint": {
657
+ "type": "object",
658
+ "additionalProperties": false,
659
+ "required": [
660
+ "sourcePath",
661
+ "fingerprint",
662
+ "verificationPlanId",
663
+ "status",
664
+ "failedIntents",
665
+ "primaryReason",
666
+ "failedIntentsHash",
667
+ "riskCodesHash",
668
+ "affectedSurfacesHash",
669
+ "seenCount",
670
+ "requiresNewEvidence"
671
+ ],
672
+ "properties": {
673
+ "sourcePath": { "type": "string" },
674
+ "fingerprint": { "type": "string" },
675
+ "verificationPlanId": { "type": ["string", "null"] },
676
+ "status": { "type": "string" },
677
+ "failedIntents": {
678
+ "type": "array",
679
+ "items": { "type": "string" }
680
+ },
681
+ "primaryReason": { "type": ["string", "null"] },
682
+ "failedIntentsHash": { "type": ["string", "null"] },
683
+ "riskCodesHash": { "type": ["string", "null"] },
684
+ "affectedSurfacesHash": { "type": ["string", "null"] },
685
+ "seenCount": { "type": "integer" },
686
+ "requiresNewEvidence": { "type": "boolean" }
687
+ }
688
+ },
689
+ "localValidationWeakeningSignal": {
690
+ "type": "object",
691
+ "additionalProperties": false,
692
+ "required": ["signalId", "planId", "code", "severity", "pathHash", "beforeHash", "afterHash"],
693
+ "properties": {
694
+ "signalId": { "type": "string" },
695
+ "planId": { "type": ["string", "null"] },
696
+ "code": { "type": "string" },
697
+ "severity": { "type": "string" },
698
+ "pathHash": { "type": "string" },
699
+ "beforeHash": { "type": ["string", "null"] },
700
+ "afterHash": { "type": ["string", "null"] }
701
+ }
702
+ },
531
703
  "verificationDecisionGraph": {
532
704
  "type": "object",
533
705
  "additionalProperties": false,
@@ -36,6 +36,18 @@
36
36
  "status": { "enum": ["passed", "partial", "failed", "blocked"] },
37
37
  "completion_verdict": { "$ref": "#/$defs/completionVerdict" },
38
38
  "evidence_model": { "$ref": "#/$defs/evidenceModel" },
39
+ "failure_fingerprint": {
40
+ "anyOf": [
41
+ { "$ref": "#/$defs/failureFingerprint" },
42
+ { "type": "null" }
43
+ ]
44
+ },
45
+ "repeated_failure_summary": {
46
+ "anyOf": [
47
+ { "$ref": "#/$defs/repeatedFailureSummary" },
48
+ { "type": "null" }
49
+ ]
50
+ },
39
51
  "summary": {
40
52
  "type": "object",
41
53
  "additionalProperties": false,
@@ -57,6 +69,66 @@
57
69
  "manifest_path": { "type": "string" }
58
70
  },
59
71
  "$defs": {
72
+ "failureFingerprint": {
73
+ "type": "object",
74
+ "additionalProperties": false,
75
+ "required": [
76
+ "schema_version",
77
+ "fingerprint",
78
+ "verification_plan_id",
79
+ "failed_intents_hash",
80
+ "exit_code_classes_hash",
81
+ "timeout_flags_hash",
82
+ "error_kinds_hash",
83
+ "diagnostic_hash",
84
+ "risk_codes_hash",
85
+ "affected_surfaces_hash",
86
+ "command_fingerprints_hash"
87
+ ],
88
+ "properties": {
89
+ "schema_version": { "const": "1" },
90
+ "fingerprint": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
91
+ "verification_plan_id": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
92
+ "failed_intents_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
93
+ "exit_code_classes_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
94
+ "timeout_flags_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
95
+ "error_kinds_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
96
+ "diagnostic_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
97
+ "risk_codes_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
98
+ "affected_surfaces_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
99
+ "command_fingerprints_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" }
100
+ }
101
+ },
102
+ "repeatedFailureSummary": {
103
+ "type": "object",
104
+ "additionalProperties": false,
105
+ "required": [
106
+ "schema_version",
107
+ "fingerprint",
108
+ "verification_plan_id",
109
+ "status",
110
+ "failed_intents_hash",
111
+ "risk_codes_hash",
112
+ "affected_surfaces_hash",
113
+ "first_seen_at",
114
+ "last_seen_at",
115
+ "seen_count",
116
+ "requires_new_evidence"
117
+ ],
118
+ "properties": {
119
+ "schema_version": { "const": "1" },
120
+ "fingerprint": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
121
+ "verification_plan_id": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
122
+ "status": { "type": "string" },
123
+ "failed_intents_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
124
+ "risk_codes_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
125
+ "affected_surfaces_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
126
+ "first_seen_at": { "type": "string" },
127
+ "last_seen_at": { "type": "string" },
128
+ "seen_count": { "type": "integer", "minimum": 1 },
129
+ "requires_new_evidence": { "type": "boolean" }
130
+ }
131
+ },
60
132
  "completionVerdict": {
61
133
  "type": "object",
62
134
  "additionalProperties": false,
@@ -72,6 +144,7 @@
72
144
  "source",
73
145
  "verification_plan_id",
74
146
  "changed_file_count",
147
+ "criteria",
75
148
  "matched_intents",
76
149
  "ran_intents",
77
150
  "passed_intents",
@@ -83,6 +156,14 @@
83
156
  "scope_diff_risk_count",
84
157
  "repeated_failure_count",
85
158
  "validation_ratchet_risk_count",
159
+ "repro_evidence_risk_count",
160
+ "external_evidence_risk_count",
161
+ "write_drift_risk_count",
162
+ "receipt_binding_risk_count",
163
+ "stale_receipt_count",
164
+ "plan_mismatch_count",
165
+ "risks",
166
+ "receipt_binding",
86
167
  "latest_run_status"
87
168
  ],
88
169
  "properties": {
@@ -92,6 +173,7 @@
92
173
  "pattern": "^sha256:[0-9a-f]{64}$"
93
174
  },
94
175
  "changed_file_count": { "type": ["integer", "null"] },
176
+ "criteria": { "$ref": "#/$defs/completionVerdictCriteria" },
95
177
  "matched_intents": { "type": "integer" },
96
178
  "ran_intents": { "type": "integer" },
97
179
  "passed_intents": { "type": "integer" },
@@ -103,6 +185,14 @@
103
185
  "scope_diff_risk_count": { "type": "integer" },
104
186
  "repeated_failure_count": { "type": "integer" },
105
187
  "validation_ratchet_risk_count": { "type": "integer" },
188
+ "repro_evidence_risk_count": { "type": "integer" },
189
+ "external_evidence_risk_count": { "type": "integer" },
190
+ "write_drift_risk_count": { "type": "integer" },
191
+ "receipt_binding_risk_count": { "type": "integer" },
192
+ "stale_receipt_count": { "type": "integer" },
193
+ "plan_mismatch_count": { "type": "integer" },
194
+ "risks": { "$ref": "#/$defs/completionVerdictRisks" },
195
+ "receipt_binding": { "$ref": "#/$defs/completionVerdictReceiptBinding" },
106
196
  "latest_run_status": { "type": ["string", "null"] }
107
197
  }
108
198
  },
@@ -120,6 +210,71 @@
120
210
  }
121
211
  }
122
212
  },
213
+ "completionVerdictCriteria": {
214
+ "type": "object",
215
+ "additionalProperties": false,
216
+ "required": ["total", "covered", "partially_covered", "uncovered", "blocked", "contradicted"],
217
+ "properties": {
218
+ "total": { "type": "integer" },
219
+ "covered": { "type": "integer" },
220
+ "partially_covered": { "type": "integer" },
221
+ "uncovered": { "type": "integer" },
222
+ "blocked": { "type": "integer" },
223
+ "contradicted": { "type": "integer" }
224
+ }
225
+ },
226
+ "completionVerdictRisks": {
227
+ "type": "object",
228
+ "additionalProperties": false,
229
+ "required": [
230
+ "source_anchor",
231
+ "scope_diff",
232
+ "repeated_failure",
233
+ "validation_ratchet",
234
+ "repro_evidence",
235
+ "external_evidence",
236
+ "write_drift",
237
+ "receipt_binding",
238
+ "stale_receipt",
239
+ "plan_mismatch"
240
+ ],
241
+ "properties": {
242
+ "source_anchor": { "type": "integer" },
243
+ "scope_diff": { "type": "integer" },
244
+ "repeated_failure": { "type": "integer" },
245
+ "validation_ratchet": { "type": "integer" },
246
+ "repro_evidence": { "type": "integer" },
247
+ "external_evidence": { "type": "integer" },
248
+ "write_drift": { "type": "integer" },
249
+ "receipt_binding": { "type": "integer" },
250
+ "stale_receipt": { "type": "integer" },
251
+ "plan_mismatch": { "type": "integer" }
252
+ }
253
+ },
254
+ "completionVerdictReceiptBinding": {
255
+ "type": "object",
256
+ "additionalProperties": false,
257
+ "required": [
258
+ "plan_bound_count",
259
+ "plan_unbound_count",
260
+ "fingerprint_bound_count",
261
+ "fingerprint_unbound_count",
262
+ "current_state_bound_count",
263
+ "current_state_unavailable_count",
264
+ "stale_count",
265
+ "plan_mismatch_count"
266
+ ],
267
+ "properties": {
268
+ "plan_bound_count": { "type": "integer" },
269
+ "plan_unbound_count": { "type": "integer" },
270
+ "fingerprint_bound_count": { "type": "integer" },
271
+ "fingerprint_unbound_count": { "type": "integer" },
272
+ "current_state_bound_count": { "type": "integer" },
273
+ "current_state_unavailable_count": { "type": "integer" },
274
+ "stale_count": { "type": "integer" },
275
+ "plan_mismatch_count": { "type": "integer" }
276
+ }
277
+ },
123
278
  "evidenceModel": {
124
279
  "type": "object",
125
280
  "additionalProperties": false,
@@ -316,9 +471,9 @@
316
471
  "reported_symptom",
317
472
  "expected_behavior",
318
473
  "observed_behavior",
319
- "original_reproduction",
320
- "evidence_before_fix",
321
- "evidence_after_fix",
474
+ "reproduction_route",
475
+ "before_fix",
476
+ "after_fix",
322
477
  "regression_guard"
323
478
  ],
324
479
  "properties": {
@@ -327,18 +482,80 @@
327
482
  "reported_symptom": { "type": ["string", "null"] },
328
483
  "expected_behavior": { "type": ["string", "null"] },
329
484
  "observed_behavior": { "type": ["string", "null"] },
330
- "original_reproduction": { "$ref": "#/$defs/reproEvidenceItem" },
331
- "evidence_before_fix": { "$ref": "#/$defs/reproEvidenceItem" },
332
- "evidence_after_fix": { "$ref": "#/$defs/reproEvidenceItem" },
333
- "regression_guard": { "$ref": "#/$defs/reproEvidenceItem" }
485
+ "reproduction_route": { "$ref": "#/$defs/reproRouteIdentity" },
486
+ "before_fix": { "$ref": "#/$defs/reproBeforeFixEvidence" },
487
+ "after_fix": { "$ref": "#/$defs/reproAfterFixEvidence" },
488
+ "regression_guard": { "$ref": "#/$defs/reproRegressionGuardEvidence" }
489
+ }
490
+ },
491
+ "reproRouteIdentity": {
492
+ "type": "object",
493
+ "additionalProperties": false,
494
+ "required": ["route_id", "route_kind", "route_digest", "failure_oracle_hash", "steps"],
495
+ "properties": {
496
+ "route_id": { "type": ["string", "null"] },
497
+ "route_kind": { "enum": ["test", "cli", "browser", "api", "manual", "unknown", null] },
498
+ "route_digest": { "type": ["string", "null"] },
499
+ "failure_oracle_hash": { "type": ["string", "null"] },
500
+ "steps": {
501
+ "type": "array",
502
+ "items": { "$ref": "#/$defs/reproRouteStep" }
503
+ }
504
+ }
505
+ },
506
+ "reproRouteStep": {
507
+ "type": "object",
508
+ "additionalProperties": false,
509
+ "required": ["ordinal", "action", "target", "input_digest", "observation_digest", "summary"],
510
+ "properties": {
511
+ "ordinal": { "type": "integer", "minimum": 1 },
512
+ "action": { "type": ["string", "null"] },
513
+ "target": { "type": ["string", "null"] },
514
+ "input_digest": { "type": ["string", "null"] },
515
+ "observation_digest": { "type": ["string", "null"] },
516
+ "summary": { "type": ["string", "null"] }
334
517
  }
335
518
  },
336
- "reproEvidenceItem": {
519
+ "reproBeforeFixEvidence": {
337
520
  "type": "object",
338
521
  "additionalProperties": false,
339
- "required": ["status", "summary", "reason"],
522
+ "required": ["status", "outcome", "receipt_path", "receipt_sha256", "verification_plan_id", "summary", "reason"],
340
523
  "properties": {
341
- "status": { "enum": ["present", "unavailable", "missing"] },
524
+ "status": { "enum": ["reproduced", "unavailable", "missing"] },
525
+ "outcome": { "enum": ["failed_as_expected", "failed_differently", "passed_unexpectedly", null] },
526
+ "receipt_path": { "type": ["string", "null"] },
527
+ "receipt_sha256": { "type": ["string", "null"] },
528
+ "verification_plan_id": { "type": ["string", "null"] },
529
+ "summary": { "type": ["string", "null"] },
530
+ "reason": { "type": ["string", "null"] }
531
+ }
532
+ },
533
+ "reproAfterFixEvidence": {
534
+ "type": "object",
535
+ "additionalProperties": false,
536
+ "required": ["status", "outcome", "same_route_as", "receipt_path", "receipt_sha256", "verification_plan_id", "summary", "reason"],
537
+ "properties": {
538
+ "status": { "enum": ["passed", "failed", "unavailable", "missing"] },
539
+ "outcome": { "enum": ["passed_expected_behavior", "failed_same_route", "failed_differently", null] },
540
+ "same_route_as": { "type": ["string", "null"] },
541
+ "receipt_path": { "type": ["string", "null"] },
542
+ "receipt_sha256": { "type": ["string", "null"] },
543
+ "verification_plan_id": { "type": ["string", "null"] },
544
+ "summary": { "type": ["string", "null"] },
545
+ "reason": { "type": ["string", "null"] }
546
+ }
547
+ },
548
+ "reproRegressionGuardEvidence": {
549
+ "type": "object",
550
+ "additionalProperties": false,
551
+ "required": ["status", "intent", "test_path", "receipt_path", "receipt_sha256", "verification_plan_id", "summary", "reason"],
552
+ "properties": {
553
+ "status": { "enum": ["passed", "failed", "unavailable", "missing"] },
554
+ "intent": { "type": ["string", "null"] },
555
+ "test_path": { "type": ["string", "null"] },
556
+ "receipt_path": { "type": ["string", "null"] },
557
+ "receipt_sha256": { "type": ["string", "null"] },
558
+ "verification_plan_id": { "type": ["string", "null"] },
342
559
  "summary": { "type": ["string", "null"] },
343
560
  "reason": { "type": ["string", "null"] }
344
561
  }