@resolveio/server-lib 22.3.199 → 22.3.201

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.
@@ -1,4 +1,4 @@
1
- import { ResolveIOAIManagerHotfixContinuationDecision, ResolveIOAIManagerHotfixDurabilityContract, ResolveIOAIManagerHotfixFirstReleasePolicy, ResolveIOAIManagerEvidenceStrength, ResolveIOAIManagerRecoveryCheckpoint, ResolveIOAIManagerRecoveryActionPacket, ResolveIOAIManagerRecoveryActionDispatchRecord, ResolveIOAIManagerRecoveryExecutionDirective, ResolveIOAIManagerRecoveryEvidenceProbe, ResolveIOAIManagerRecoveryPlan } from './ai-runner-manager-policy';
1
+ import { ResolveIOAIManagerHotfixContinuationDecision, ResolveIOAIManagerHotfixDurabilityContract, ResolveIOAIManagerHotfixFirstReleasePolicy, ResolveIOAIManagerEvidenceStrength, ResolveIOAIManagerAutonomyPolicyDecision, ResolveIOAIManagerAutonomyPolicyInput, ResolveIOAIManagerRecoveryCheckpoint, ResolveIOAIManagerRecoveryActionPacket, ResolveIOAIManagerRecoveryActionDispatchRecord, ResolveIOAIManagerRecoveryExecutionDirective, ResolveIOAIManagerRecoveryEvidenceProbe, ResolveIOAIManagerRecoveryPlan } from './ai-runner-manager-policy';
2
2
  export type ResolveIOSupportV5StepType = 'diagnosis_gate' | 'reproduction_probe' | 'issue_class_probe' | 'business_proof' | 'compile_check' | 'startup_check' | 'live_seed' | 'auth_bootstrap' | 'route_probe' | 'qa_row' | 'build_repair' | 'qa_retest' | 'pr_review' | 'artifact_package' | 'cleanup';
3
3
  export type ResolveIOSupportV5Outcome = 'pass' | 'needs_repair' | 'retry_same_step' | 'park_manual' | 'budget_stop' | 'infra_retry' | 'ready_for_merge';
4
4
  export type ResolveIOSupportV5Lane = 'build' | 'qa' | 'review' | 'supervisor';
@@ -115,6 +115,7 @@ export interface ResolveIOSupportDiagnosisEvidencePack {
115
115
  activeMicrotaskId?: string;
116
116
  similarCaseSelection: ResolveIOSupportSimilarCaseSelection;
117
117
  issueClassProbeCatalog: ResolveIOSupportIssueClassProbeCatalogEntry[];
118
+ proofMatrix?: ResolveIOSupportDiagnosisProofMatrix;
118
119
  structuredFacts: Record<string, any>;
119
120
  generatedAt: string;
120
121
  }
@@ -129,9 +130,12 @@ export interface ResolveIOSupportDiagnosisEvidencePackInput {
129
130
  now?: Date | string;
130
131
  }
131
132
  export interface ResolveIOSupportDiagnosisEvidence {
133
+ id?: string;
132
134
  type: 'ticket' | 'browser' | 'mongo' | 'log' | 'code' | 'commit' | 'qa' | 'other';
133
135
  summary: string;
134
136
  artifactPath?: string;
137
+ ownerFiles?: string[];
138
+ evidenceRefs?: string[];
135
139
  }
136
140
  export interface ResolveIOSupportDiagnosisGate {
137
141
  issue_case: ResolveIOSupportDiagnosisIssueCase;
@@ -153,6 +157,7 @@ export interface ResolveIOSupportDiagnosisGateValidation {
153
157
  blockers: string[];
154
158
  normalized?: ResolveIOSupportDiagnosisGate;
155
159
  evidenceQuality?: ResolveIOSupportDiagnosisEvidenceQuality;
160
+ proofMatrix?: ResolveIOSupportDiagnosisProofMatrix;
156
161
  }
157
162
  export interface ResolveIOSupportDiagnosisEvidenceQuality {
158
163
  valid: boolean;
@@ -161,10 +166,43 @@ export interface ResolveIOSupportDiagnosisEvidenceQuality {
161
166
  reproductionEvidenceTypes: ResolveIOSupportDiagnosisEvidence['type'][];
162
167
  rootCauseEvidenceTypes: ResolveIOSupportDiagnosisEvidence['type'][];
163
168
  artifactBackedEvidenceCount: number;
169
+ routeOnlyReproductionEvidenceCount: number;
170
+ businessReproductionEvidenceCount: number;
164
171
  hasTicketContext: boolean;
165
172
  hasRootCauseEvidence: boolean;
166
173
  hasReproductionEvidence: boolean;
167
174
  }
175
+ export interface ResolveIOSupportDiagnosisProofMatrixEvidenceRef {
176
+ evidenceId: string;
177
+ type: ResolveIOSupportDiagnosisEvidence['type'];
178
+ summary: string;
179
+ artifactPath?: string;
180
+ ownerFiles: string[];
181
+ }
182
+ export interface ResolveIOSupportDiagnosisProofMatrixOwnerFile {
183
+ ownerFile: string;
184
+ covered: boolean;
185
+ evidenceIds: string[];
186
+ failingPathFields: string[];
187
+ }
188
+ export interface ResolveIOSupportDiagnosisProofMatrix {
189
+ matrixId: string;
190
+ status: 'ready' | 'incomplete';
191
+ issueClass?: ResolveIOSupportIssueClass;
192
+ ownerFiles: string[];
193
+ reproductionEvidence: ResolveIOSupportDiagnosisProofMatrixEvidenceRef[];
194
+ rootCauseEvidence: ResolveIOSupportDiagnosisProofMatrixEvidenceRef[];
195
+ ownerFileCoverage: ResolveIOSupportDiagnosisProofMatrixOwnerFile[];
196
+ businessProofArtifacts: string[];
197
+ proofPlanChecks: {
198
+ beforeActionAfter: boolean;
199
+ businessAssertion: boolean;
200
+ businessProofContract: boolean;
201
+ dataOrDomAssertion: boolean;
202
+ };
203
+ blockers: string[];
204
+ generatedAt: string;
205
+ }
168
206
  export type ResolveIOSupportCustomerReplyAction = 'draft_resolution_reply' | 'ask_clarification' | 'hold_internal';
169
207
  export type ResolveIOSupportHumanReviewType = 'diagnosis_gate' | 'owner_scoped_repair' | 'business_proof_qa' | 'release_hotfix' | 'customer_resolution_reply' | 'customer_clarification' | 'new_evidence' | 'internal_hold';
170
208
  export interface ResolveIOSupportHumanReviewPacket {
@@ -320,9 +358,14 @@ export interface ResolveIOSupportIssueClassProbe {
320
358
  objective: string;
321
359
  route?: string;
322
360
  action: string;
361
+ browser_steps: string[];
323
362
  expected_evidence: string;
324
363
  expected_business_proof: string;
364
+ data_proof_requirements: string[];
325
365
  required_artifacts: string[];
366
+ qa_rows: ResolveIOSupportIssueClassProbeQaRow[];
367
+ active_qa_row?: ResolveIOSupportIssueClassProbeQaRow;
368
+ aiqa_business_assertion_template: ResolveIOSupportIssueClassProbeAssertionTemplate;
326
369
  state_transition: {
327
370
  before: string;
328
371
  action: string;
@@ -333,6 +376,46 @@ export interface ResolveIOSupportIssueClassProbe {
333
376
  blocks_acceptance_without_business_assertion: boolean;
334
377
  false_pass_blockers?: string[];
335
378
  }
379
+ export interface ResolveIOSupportIssueClassProbeQaRow {
380
+ row_id: string;
381
+ issue_class: ResolveIOSupportIssueClass;
382
+ probe_type: ResolveIOSupportV5StepType;
383
+ route?: string;
384
+ action_under_test: string;
385
+ browser_steps: string[];
386
+ expected_result: string;
387
+ expected_dom_or_data_proof: string;
388
+ required_artifacts: string[];
389
+ false_pass_blockers: string[];
390
+ state_transition: {
391
+ before: string;
392
+ action: string;
393
+ after: string;
394
+ assertion: string;
395
+ };
396
+ acceptance_gate: 'aiqa_business_assertion';
397
+ requires_aiqa_business_assertion: true;
398
+ route_only_is_false_pass: true;
399
+ mobile_viewport_required: boolean;
400
+ }
401
+ export interface ResolveIOSupportIssueClassProbeAssertionTemplate {
402
+ assertion: string;
403
+ status: 'pending';
404
+ workflow: string;
405
+ route?: string;
406
+ before: string;
407
+ action: string;
408
+ expected: string;
409
+ observed: string;
410
+ dataProof: string;
411
+ artifactPaths: string[];
412
+ metadata: {
413
+ supportDiagnosisProof: true;
414
+ issueClass: ResolveIOSupportIssueClass;
415
+ probePlanRequired: true;
416
+ routeOnlyIsFalsePass: true;
417
+ };
418
+ }
336
419
  export type ResolveIOSupportIssueClassProbePlanStatus = 'missing' | 'incomplete' | 'ready';
337
420
  export interface ResolveIOSupportIssueClassProbePlan {
338
421
  planId: string;
@@ -341,6 +424,8 @@ export interface ResolveIOSupportIssueClassProbePlan {
341
424
  diagnosisValid: boolean;
342
425
  probes: ResolveIOSupportIssueClassProbe[];
343
426
  activeProbe?: ResolveIOSupportIssueClassProbe;
427
+ qaRows: ResolveIOSupportIssueClassProbeQaRow[];
428
+ activeQaRow?: ResolveIOSupportIssueClassProbeQaRow;
344
429
  requiredArtifacts: string[];
345
430
  acceptanceGate: 'aiqa_business_assertion';
346
431
  falsePassBlockers: string[];
@@ -437,6 +522,40 @@ export interface ResolveIOSupportEvidenceFreshness {
437
522
  changedFiles: string[];
438
523
  artifactPaths: string[];
439
524
  }
525
+ export type ResolveIOSupportEvidenceProbeContractStatus = 'ready' | 'blocked';
526
+ export type ResolveIOSupportEvidenceProbeContractType = 'issue_class_probe' | 'business_proof' | 'preflight' | 'release' | 'manual';
527
+ export interface ResolveIOSupportEvidenceProbeContract {
528
+ contractId: string;
529
+ status: ResolveIOSupportEvidenceProbeContractStatus;
530
+ probeType: ResolveIOSupportEvidenceProbeContractType;
531
+ evidenceOnly: true;
532
+ productRepairAllowed: false;
533
+ canRunWithoutCodexMonitor: boolean;
534
+ issueClass?: ResolveIOSupportIssueClass;
535
+ planId?: string;
536
+ activeRoute?: string;
537
+ actionUnderTest?: string;
538
+ expectedBusinessProof?: string;
539
+ stateTransition?: ResolveIOSupportIssueClassProbe['state_transition'];
540
+ startingFailureClass: string;
541
+ startingBlockerFingerprint: string;
542
+ startingEvidenceHash: string;
543
+ sameFailureCount: number;
544
+ pingPongCount: number;
545
+ requiredNewSignals: string[];
546
+ requiredArtifacts: string[];
547
+ acceptableEvidence: string[];
548
+ blockers: string[];
549
+ forbiddenActions: string[];
550
+ nextCommands: string[];
551
+ createdAt: string;
552
+ }
553
+ export interface ResolveIOSupportEvidenceProbeContractValidation {
554
+ valid: boolean;
555
+ status: ResolveIOSupportEvidenceProbeContractStatus;
556
+ blockers: string[];
557
+ normalized?: ResolveIOSupportEvidenceProbeContract;
558
+ }
440
559
  export type ResolveIOSupportPreflightCheckName = 'puppeteer_module' | 'chrome_executable' | 'chrome_launch' | 'node_version' | 'npm_install' | 'settings_file' | 'mongo_connection' | 'server_startup' | 'client_startup' | 'port_availability' | 'compile' | 'cache_state' | 'seed_data' | 'unknown';
441
560
  export type ResolveIOSupportPreflightCheckStatus = 'pass' | 'fail' | 'blocked' | 'warn' | 'unknown';
442
561
  export interface ResolveIOSupportPreflightCheck {
@@ -505,6 +624,7 @@ export interface ResolveIOSupportV5RepairGateDecision {
505
624
  ownerFiles: string[];
506
625
  issueClass?: ResolveIOSupportIssueClass;
507
626
  proofPlan?: ResolveIOSupportDiagnosisProofPlan;
627
+ ownerScopedRepairContract: ResolveIOSupportOwnerScopedRepairContract;
508
628
  outsideOwnerFiles: string[];
509
629
  preflightGate: ResolveIOSupportPreflightGate;
510
630
  repeatedFailure?: ResolveIOSupportV5RepeatStopDecision;
@@ -514,6 +634,31 @@ export interface ResolveIOSupportV5RepairGateDecision {
514
634
  recoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;
515
635
  recoveryAction: ResolveIOAIManagerRecoveryActionPacket;
516
636
  }
637
+ export interface ResolveIOSupportOwnerScopedRepairPatchUnit {
638
+ ownerFile: string;
639
+ coverageEvidenceIds: string[];
640
+ failingPathFields: string[];
641
+ repairPurpose: string;
642
+ requiredLocalChecks: string[];
643
+ }
644
+ export interface ResolveIOSupportOwnerScopedRepairContract {
645
+ contractId: string;
646
+ status: 'ready' | 'blocked';
647
+ sourceEditsAllowed: boolean;
648
+ canRunWithoutCodexMonitor: boolean;
649
+ issueClass?: ResolveIOSupportIssueClass;
650
+ ownerFiles: string[];
651
+ proofMatrixId: string;
652
+ changedFiles: string[];
653
+ outsideOwnerFiles: string[];
654
+ patchUnits: ResolveIOSupportOwnerScopedRepairPatchUnit[];
655
+ requiredEvidenceBeforeRepair: string[];
656
+ requiredEvidenceAfterRepair: string[];
657
+ nextCommands: string[];
658
+ forbiddenActions: string[];
659
+ blockers: string[];
660
+ createdAt: string;
661
+ }
517
662
  export type ResolveIOSupportV5MicrotaskStatus = 'pending' | 'in_progress' | 'pass' | 'needs_repair' | 'blocked' | 'parked';
518
663
  export type ResolveIOSupportV5MicrotaskType = ResolveIOSupportV5StepType | 'planning' | 'scope_slice' | 'product_repair' | 'runner_repair';
519
664
  export interface ResolveIOSupportV5PromptBudget {
@@ -719,7 +864,7 @@ export interface ResolveIOSupportV5ContinuationDecision {
719
864
  recoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;
720
865
  recoveryAction: ResolveIOAIManagerRecoveryActionPacket;
721
866
  }
722
- export type ResolveIOSupportV5AutonomousNextAction = 'run_diagnosis_gate' | 'ask_customer_clarification' | 'repair_infra_only' | 'revise_diagnosis_scope' | 'run_owner_scoped_repair' | 'run_business_proof_qa' | 'repair_release_hotfix_first' | 'collect_new_evidence' | 'draft_customer_reply' | 'ready_for_release_gate' | 'park_manual';
867
+ export type ResolveIOSupportV5AutonomousNextAction = 'run_diagnosis_gate' | 'ask_customer_clarification' | 'repair_infra_only' | 'revise_diagnosis_scope' | 'run_owner_scoped_repair' | 'run_business_proof_qa' | 'create_pr' | 'run_a_grade_pr_review' | 'repair_release_hotfix_first' | 'collect_new_evidence' | 'draft_customer_reply' | 'ready_for_release_gate' | 'park_manual';
723
868
  export type ResolveIOSupportContinuationProofCheckpointStatus = 'waiting_for_state_transition' | 'waiting_for_proof' | 'waiting_for_new_evidence' | 'ready_to_continue';
724
869
  export interface ResolveIOSupportContinuationProofCheckpoint {
725
870
  required: boolean;
@@ -735,7 +880,7 @@ export interface ResolveIOSupportContinuationProofCheckpoint {
735
880
  blocksProductRepairUntilChangedEvidence: boolean;
736
881
  nextAction: string;
737
882
  }
738
- export type ResolveIOSupportRootCauseReadinessStatus = 'diagnosis_required' | 'customer_clarification_required' | 'infra_repair_only' | 'scope_revision_required' | 'owner_scoped_repair_ready' | 'business_proof_required' | 'release_hotfix_required' | 'release_gate_ready' | 'customer_reply_draft_ready' | 'collect_new_evidence' | 'parked';
883
+ export type ResolveIOSupportRootCauseReadinessStatus = 'diagnosis_required' | 'customer_clarification_required' | 'infra_repair_only' | 'scope_revision_required' | 'owner_scoped_repair_ready' | 'business_proof_required' | 'pr_packaging_ready' | 'pr_review_required' | 'release_hotfix_required' | 'release_gate_ready' | 'customer_reply_draft_ready' | 'collect_new_evidence' | 'parked';
739
884
  export interface ResolveIOSupportRootCauseReadiness {
740
885
  status: ResolveIOSupportRootCauseReadinessStatus;
741
886
  nextGate: 'diagnosis' | 'infra' | 'scope' | 'repair' | 'business_proof' | 'release' | 'customer_reply' | 'evidence' | 'manual';
@@ -744,6 +889,8 @@ export interface ResolveIOSupportRootCauseReadiness {
744
889
  diagnosisValid: boolean;
745
890
  ownerFilesReady: boolean;
746
891
  proofPlanReady: boolean;
892
+ proofMatrixReady: boolean;
893
+ ownerScopedRepairContractReady: boolean;
747
894
  businessProofReady: boolean;
748
895
  infraOnly: boolean;
749
896
  sameFailureParked: boolean;
@@ -762,6 +909,8 @@ export interface ResolveIOSupportRootCauseReadiness {
762
909
  ownerFiles: string[];
763
910
  issueClass?: ResolveIOSupportIssueClass;
764
911
  expectedProof?: string;
912
+ proofMatrix?: ResolveIOSupportDiagnosisProofMatrix;
913
+ ownerScopedRepairContract?: ResolveIOSupportOwnerScopedRepairContract;
765
914
  issueClassProbes?: ResolveIOSupportIssueClassProbe[];
766
915
  issueClassProbePlan?: ResolveIOSupportIssueClassProbePlan;
767
916
  businessProofStatus?: ResolveIOSupportBusinessProofReadiness['status'];
@@ -789,6 +938,10 @@ export interface ResolveIOSupportNextActionContract {
789
938
  diagnosisValid: boolean;
790
939
  ownerFilesReady: boolean;
791
940
  proofPlanReady: boolean;
941
+ proofMatrixReady: boolean;
942
+ proofMatrixId?: string;
943
+ ownerScopedRepairContractReady: boolean;
944
+ ownerScopedRepairContractId?: string;
792
945
  businessProofReady: boolean;
793
946
  evidenceFreshnessStatus: ResolveIOSupportEvidenceFreshnessStatus;
794
947
  evidenceStrength: ResolveIOAIManagerEvidenceStrength;
@@ -803,6 +956,46 @@ export interface ResolveIOSupportNextActionContract {
803
956
  preflightEvidenceHash: string;
804
957
  hotfixCommitRequired: boolean;
805
958
  liveHotfixBlockedUntilCommit: boolean;
959
+ evidenceProbeContractReady?: boolean;
960
+ evidenceProbeContractId?: string;
961
+ autonomyMode?: ResolveIOAIManagerAutonomyPolicyDecision['mode'];
962
+ autonomyCanAutoDispatch?: boolean;
963
+ autonomyReason?: string;
964
+ autonomyExpectedValueScore?: number;
965
+ autonomyExpectedValuePositive?: boolean;
966
+ autonomyProjectedSpendUsd?: number;
967
+ autonomyApprovalRequired?: boolean;
968
+ autonomyApprovalApproved?: boolean;
969
+ autonomyApprovalBoundaryValid?: boolean;
970
+ autonomyApprovalDecisionKind?: string;
971
+ autonomyApprovalAction?: string;
972
+ approvedScopeHours?: number;
973
+ maxAutoHoursWithoutApproval?: number;
974
+ overMaxAutoHours?: boolean;
975
+ bugNotBug?: string;
976
+ bugNotBugClassificationApproved?: boolean;
977
+ scopeFingerprint?: string;
978
+ scopeChangedSinceApproval?: boolean;
979
+ ownerFileFingerprint?: string;
980
+ approvedOwnerFileFingerprint?: string;
981
+ ownerFilesChangedSinceApproval?: boolean;
982
+ ownerFilesAddedSinceApproval?: string[];
983
+ ownerFilesRemovedSinceApproval?: string[];
984
+ diagnosisScopeFingerprint?: string;
985
+ previousDiagnosisScopeFingerprint?: string;
986
+ diagnosisScopeIncluded?: boolean;
987
+ diagnosisScopeValid?: boolean;
988
+ diagnosisScopeChangedSinceApproval?: boolean;
989
+ diagnosisScopeFields?: string[];
990
+ diagnosisScopeBlockers?: string[];
991
+ requiresOperatorApprovalForAnyScopeChange?: boolean;
992
+ leSixHourScopeCanAutofixAfterApproval?: boolean;
993
+ onTheFlyScopeChangeApprovalRequired?: boolean;
994
+ afterApprovalAutopilotUntilAGrade?: boolean;
995
+ autopilotCompletionStatus?: string;
996
+ autopilotCompletionPhase?: string;
997
+ autopilotCompletionNextAction?: string;
998
+ autopilotCompletionReady?: boolean;
806
999
  };
807
1000
  preconditions: string[];
808
1001
  expectedStateTransition: string;
@@ -823,7 +1016,23 @@ export interface ResolveIOSupportNextActionContractValidation {
823
1016
  normalized?: ResolveIOSupportNextActionContract;
824
1017
  }
825
1018
  export type ResolveIOSupportManagerExecutionPacketStatus = 'auto_ready' | 'manual_required' | 'blocked';
826
- export type ResolveIOSupportManagerExecutionRetryScope = 'none' | 'diagnosis_only' | 'infra_only' | 'owner_files_only' | 'business_proof_only' | 'release_hotfix_only' | 'customer_draft_only' | 'evidence_only';
1019
+ export type ResolveIOSupportManagerExecutionRetryScope = 'none' | 'diagnosis_only' | 'infra_only' | 'owner_files_only' | 'business_proof_only' | 'pr_packaging_only' | 'pr_review_only' | 'release_hotfix_only' | 'customer_draft_only' | 'evidence_only';
1020
+ export interface ResolveIOSupportProofResetContract {
1021
+ contractId: string;
1022
+ status: 'ready' | 'manual_required' | 'blocked';
1023
+ action: ResolveIOSupportV5AutonomousNextAction;
1024
+ retryScope: ResolveIOSupportManagerExecutionRetryScope;
1025
+ maxAttemptsBeforeFreshEvidence: number;
1026
+ startingFailureClass: string;
1027
+ startingBlockerFingerprint: string;
1028
+ startingEvidenceHash: string;
1029
+ requiredResetEvidence: string[];
1030
+ proofRequiredBeforeContinuation: string[];
1031
+ stopConditions: string[];
1032
+ canRunWithoutCodexMonitor: boolean;
1033
+ sourceNextActionContractId: string;
1034
+ createdAt: string;
1035
+ }
827
1036
  export interface ResolveIOSupportManagerExecutionPacket {
828
1037
  packetId: string;
829
1038
  status: ResolveIOSupportManagerExecutionPacketStatus;
@@ -844,6 +1053,7 @@ export interface ResolveIOSupportManagerExecutionPacket {
844
1053
  forbiddenActions: string[];
845
1054
  ownerFiles: string[];
846
1055
  nextCommands: string[];
1056
+ proofResetContract: ResolveIOSupportProofResetContract;
847
1057
  blockers: string[];
848
1058
  validation: ResolveIOSupportNextActionContractValidation;
849
1059
  createdAt: string;
@@ -868,10 +1078,148 @@ export interface ResolveIOSupportV5AutonomousDecisionInput {
868
1078
  hotfixEvidence?: any;
869
1079
  releasePolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;
870
1080
  releaseGatePassed?: boolean;
1081
+ prReadinessContract?: any;
1082
+ prReviewContract?: any;
871
1083
  preflightGate?: ResolveIOSupportPreflightGateInput | ResolveIOSupportPreflightGate;
1084
+ autonomyApproval?: any;
1085
+ productRepairDispatchGuard?: any;
1086
+ requireAutonomyApprovalForProductRepair?: boolean;
1087
+ autonomyPolicy?: ResolveIOAIManagerAutonomyPolicyInput;
1088
+ operatorApproved?: boolean;
872
1089
  maxOwnerFiles?: number;
873
1090
  now?: Date | string;
874
1091
  }
1092
+ export interface ResolveIOSupportAutonomyApprovalContract {
1093
+ contractId: string;
1094
+ status: 'approved_autopilot' | 'approval_required' | 'missing';
1095
+ approved: boolean;
1096
+ approvedAt?: string;
1097
+ approvedBy?: string;
1098
+ decisionKind: string;
1099
+ approvalAction: string;
1100
+ preferredChoiceId: string;
1101
+ canApproveFromConsole: boolean;
1102
+ estimatedHours?: number;
1103
+ estimatedHoursKnown: boolean;
1104
+ maxAutoHoursWithoutApproval: number;
1105
+ overMaxAutoHours: boolean;
1106
+ explicitOverLimitApproval: boolean;
1107
+ bugNotBug: string;
1108
+ bugNotBugKnown: boolean;
1109
+ bugNotBugClassificationApproved: boolean;
1110
+ requiresOverLimitApproval: boolean;
1111
+ requiresScopeReapproval: boolean;
1112
+ requiresOwnerFileReapproval: boolean;
1113
+ requiresIntakeReapproval: boolean;
1114
+ requiresDiagnosisScopeReapproval: boolean;
1115
+ requiresClassificationApproval: boolean;
1116
+ requiresEstimateHours: boolean;
1117
+ changeApprovalMode: string;
1118
+ afterApprovalAutopilotUntilAGrade: boolean;
1119
+ targetGrade: string;
1120
+ terminalTarget: string;
1121
+ qaScreenshotsRequired: boolean;
1122
+ beforeActionAfterBusinessProofRequired: boolean;
1123
+ aiqaBusinessAssertionRequired: boolean;
1124
+ ownerFiles: string[];
1125
+ approvedOwnerFiles: string[];
1126
+ currentOwnerFiles: string[];
1127
+ scopeFingerprint: string;
1128
+ previousScopeFingerprint: string;
1129
+ scopeChangedSinceApproval: boolean;
1130
+ ownerFileFingerprint: string;
1131
+ approvedOwnerFileFingerprint: string;
1132
+ ownerFilesChangedSinceApproval: boolean;
1133
+ ownerFilesAddedSinceApproval: string[];
1134
+ ownerFilesRemovedSinceApproval: string[];
1135
+ diagnosisScopeFingerprint: string;
1136
+ previousDiagnosisScopeFingerprint: string;
1137
+ diagnosisScopeIncluded: boolean;
1138
+ diagnosisScopeValid: boolean;
1139
+ diagnosisScopeChangedSinceApproval: boolean;
1140
+ diagnosisScopeFields: string[];
1141
+ diagnosisScopeBlockers: string[];
1142
+ requiresOperatorApprovalForAnyScopeChange: boolean;
1143
+ leSixHourScopeCanAutofixAfterApproval: boolean;
1144
+ onTheFlyScopeChangeApprovalRequired: boolean;
1145
+ requiredCompletionEvidence: string[];
1146
+ forbiddenWithoutReapproval: string[];
1147
+ allowedAutoActions: string[];
1148
+ blockers: string[];
1149
+ autopilotApprovalBoundaryValid: boolean;
1150
+ }
1151
+ export interface ResolveIOSupportProductRepairDispatchGuard {
1152
+ guard: 'support_autonomy_product_repair_dispatch_guard';
1153
+ status: 'allowed' | 'blocked';
1154
+ allowed: boolean;
1155
+ action: ResolveIOSupportV5AutonomousNextAction | string;
1156
+ editsProductCode: boolean;
1157
+ canEditProductCode: boolean;
1158
+ autoContinueAfterApproval: boolean;
1159
+ nextAction: string;
1160
+ reason: string;
1161
+ approvalContractId: string;
1162
+ continuationContractMode: string;
1163
+ terminalTarget: string;
1164
+ nextProofPhases: string[];
1165
+ allowedAutoActions: string[];
1166
+ forbiddenActions: string[];
1167
+ ownerFiles: string[];
1168
+ approvedOwnerFiles: string[];
1169
+ currentOwnerFiles: string[];
1170
+ scopeFingerprint: string;
1171
+ ownerFileFingerprint: string;
1172
+ approvedOwnerFileFingerprint: string;
1173
+ ownerFilesChangedSinceApproval: boolean;
1174
+ ownerFilesAddedSinceApproval: string[];
1175
+ ownerFilesRemovedSinceApproval: string[];
1176
+ requiresOverLimitApproval: boolean;
1177
+ requiresScopeReapproval: boolean;
1178
+ requiresOwnerFileReapproval: boolean;
1179
+ requiresDiagnosisScopeReapproval: boolean;
1180
+ requiredCompletionEvidence: string[];
1181
+ blockers: string[];
1182
+ }
1183
+ export type ResolveIOSupportAutopilotCompletionPhase = 'not_required' | 'approval_required' | 'diagnosis' | 'preflight' | 'repair' | 'business_proof' | 'pr_packaging' | 'pr_review' | 'park_before_merge_release_customer';
1184
+ export type ResolveIOSupportAutopilotCompletionStatus = 'not_required' | 'blocked' | 'in_progress' | 'ready_for_pr' | 'complete';
1185
+ export type ResolveIOSupportAutopilotCompletionNextAction = ResolveIOSupportV5AutonomousNextAction | 'approve_support_autonomy' | 'approve_support_autonomy_over_limit' | 'create_pr' | 'run_a_grade_pr_review' | 'park_before_merge_release_or_customer_send';
1186
+ export interface ResolveIOSupportAutopilotCompletionProgress {
1187
+ contractId: string;
1188
+ mode: 'approved_scope_to_a_grade_pr';
1189
+ status: ResolveIOSupportAutopilotCompletionStatus;
1190
+ activePhase: ResolveIOSupportAutopilotCompletionPhase;
1191
+ nextAction: ResolveIOSupportAutopilotCompletionNextAction;
1192
+ nextCommand: string;
1193
+ reason: string;
1194
+ approved: boolean;
1195
+ approvalBoundaryValid: boolean;
1196
+ approvalContractId: string;
1197
+ targetGrade: string;
1198
+ terminalTarget: string;
1199
+ businessProofReady: boolean;
1200
+ hasScreenshotOrTrace: boolean;
1201
+ changedFilesReady: boolean;
1202
+ prReadinessReady: boolean;
1203
+ prReviewReady: boolean;
1204
+ prReviewStatus: string;
1205
+ prReviewContractId: string;
1206
+ prReviewStrictGatePassed: boolean;
1207
+ prReviewStrictGateReason: string;
1208
+ prReviewExecutionGrade: string;
1209
+ prReviewArtifactsGrade: string;
1210
+ prReviewPullRequestGrade: string;
1211
+ pullRequestUrl: string;
1212
+ pullRequestStatus: string;
1213
+ canContinueWithoutCodexMonitor: boolean;
1214
+ canAutoDispatchNext: boolean;
1215
+ requiresHumanApproval: boolean;
1216
+ completedEvidence: string[];
1217
+ missingEvidence: string[];
1218
+ requiredEvidence: string[];
1219
+ forbiddenActions: string[];
1220
+ blockers: string[];
1221
+ createdAt: string;
1222
+ }
875
1223
  export interface ResolveIOSupportV5AutonomousDecision {
876
1224
  action: ResolveIOSupportV5AutonomousNextAction;
877
1225
  label: string;
@@ -914,6 +1262,11 @@ export interface ResolveIOSupportV5AutonomousDecision {
914
1262
  managerExecutionPacket: ResolveIOSupportManagerExecutionPacket;
915
1263
  humanReviewPacket: ResolveIOSupportHumanReviewPacket;
916
1264
  humanDecisionRequest?: ResolveIOSupportHumanDecisionRequest;
1265
+ evidenceProbeContract?: ResolveIOSupportEvidenceProbeContract;
1266
+ autonomyApproval?: ResolveIOSupportAutonomyApprovalContract;
1267
+ productRepairDispatchGuard?: ResolveIOSupportProductRepairDispatchGuard;
1268
+ autopilotCompletionProgress?: ResolveIOSupportAutopilotCompletionProgress;
1269
+ autonomyPolicy?: ResolveIOAIManagerAutonomyPolicyDecision;
917
1270
  hotfixContinuation?: ResolveIOAIManagerHotfixContinuationDecision;
918
1271
  hotfixDurabilityContract?: ResolveIOAIManagerHotfixDurabilityContract;
919
1272
  recordedAt: string;
@@ -921,6 +1274,7 @@ export interface ResolveIOSupportV5AutonomousDecision {
921
1274
  export declare function evaluateResolveIOSupportPreflightGate(input?: ResolveIOSupportPreflightGateInput | ResolveIOSupportPreflightGate | any, nowValue?: Date | string): ResolveIOSupportPreflightGate;
922
1275
  export declare function selectResolveIOSupportSimilarCaseHints(input?: ResolveIOSupportSimilarCaseSelectionInput): ResolveIOSupportSimilarCaseSelection;
923
1276
  export declare function buildResolveIOSupportDiagnosisEvidencePack(input?: ResolveIOSupportDiagnosisEvidencePackInput): ResolveIOSupportDiagnosisEvidencePack;
1277
+ export declare function buildResolveIOSupportDiagnosisProofMatrix(value: any, now?: Date | string): ResolveIOSupportDiagnosisProofMatrix;
924
1278
  export declare function evaluateResolveIOSupportDiagnosisEvidenceQuality(value: any): ResolveIOSupportDiagnosisEvidenceQuality;
925
1279
  export declare function normalizeResolveIOSupportDiagnosisGate(value: any, now?: Date | string): ResolveIOSupportDiagnosisGate | undefined;
926
1280
  export declare function extractResolveIOSupportDiagnosisGateFromText(value: string, now?: Date | string): ResolveIOSupportDiagnosisGate | undefined;
@@ -963,6 +1317,17 @@ export declare function evaluateResolveIOSupportEvidenceFreshness(input: {
963
1317
  limit?: number;
964
1318
  ignoreInfra?: boolean;
965
1319
  }): ResolveIOSupportEvidenceFreshness;
1320
+ export declare function validateResolveIOSupportEvidenceProbeContract(value: any): ResolveIOSupportEvidenceProbeContractValidation;
1321
+ export declare function buildResolveIOSupportEvidenceProbeContract(input: {
1322
+ diagnosisGate?: any;
1323
+ issueClassProbePlan?: any;
1324
+ evidenceFreshness?: ResolveIOSupportEvidenceFreshness;
1325
+ requiredEvidence?: any;
1326
+ failureClass?: ResolveIOSupportV5FailureClass | string;
1327
+ blocker?: any;
1328
+ evidenceHash?: string;
1329
+ now?: Date | string;
1330
+ }): ResolveIOSupportEvidenceProbeContract;
966
1331
  export declare function buildResolveIOSupportContinuationProofCheckpoint(input: {
967
1332
  action: ResolveIOSupportV5AutonomousNextAction;
968
1333
  reason?: any;
@@ -974,6 +1339,12 @@ export declare function buildResolveIOSupportContinuationProofCheckpoint(input:
974
1339
  export declare function changedFilesOutsideResolveIOSupportDiagnosisOwnerFiles(diagnosisGate: any, changedFiles: any, options?: {
975
1340
  allowTests?: boolean;
976
1341
  }): string[];
1342
+ export declare function buildResolveIOSupportOwnerScopedRepairContract(input?: {
1343
+ diagnosisGate?: any;
1344
+ changedFiles?: any;
1345
+ allowTestsOutsideOwnerFiles?: boolean;
1346
+ now?: Date | string;
1347
+ }): ResolveIOSupportOwnerScopedRepairContract;
977
1348
  export declare function decideResolveIOSupportV5RepairGate(input: ResolveIOSupportV5RepairGateInput): ResolveIOSupportV5RepairGateDecision;
978
1349
  export declare function applyResolveIOSupportDiagnosisGateToMicrotasks(bundle: ResolveIOSupportV5StateBundle, diagnosisGate: any): ResolveIOSupportV5StateBundle;
979
1350
  export declare function fingerprintResolveIOSupportV5Blocker(value: any): string;