@resolveio/server-lib 22.3.193 → 22.3.195
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/package.json +1 -1
- package/util/ai-run-evidence-adapters.js +187 -17
- package/util/ai-run-evidence-adapters.js.map +1 -1
- package/util/ai-runner-manager-policy.d.ts +47 -0
- package/util/ai-runner-manager-policy.js +174 -0
- package/util/ai-runner-manager-policy.js.map +1 -1
- package/util/support-runner-v5.d.ts +47 -0
- package/util/support-runner-v5.js +218 -20
- package/util/support-runner-v5.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/ai-run-evidence-adapters.ts"],"names":[],"mappings":"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","file":"ai-run-evidence-adapters.js","sourcesContent":["import {\n\tAIRun,\n\tAIRunCost,\n\tAIRunEvent,\n\tAIRunGateResult,\n\tAIQaArtifact,\n\tAIQaBusinessAssertion,\n\tAIQaCompileResult,\n\tAIQaInfraCheck,\n\tAIQaRun,\n\tAIQaRouteProbe,\n\tbuildAIRun,\n\tbuildAIRunCost,\n\tbuildAIQaRun,\n\tnormalizeOpenAIUsageRowsForCosting\n} from './ai-run-evidence';\nimport {\n\tevaluateResolveIOAICoderWorkflowProofReadiness,\n\tResolveIOAICoderJourneyContractValidationResult,\n\tResolveIOAICoderWorkflowProofReadiness,\n\tvalidateResolveIOAICoderJourneyContract\n} from './aicoder-runner-v6';\nimport {\n\tbuildResolveIOAIManagerHotfixDurabilityContract,\n\tdecideResolveIOAIManagerPolicy,\n\tResolveIOAIManagerFailureRecord,\n\tvalidateResolveIOAIManagerHotfixEvidence\n} from './ai-runner-manager-policy';\nimport {\n\tbuildResolveIOSupportDiagnosisEvidencePack,\n\tbuildResolveIOSupportIssueClassProbePlan,\n\tchangedFilesOutsideResolveIOSupportDiagnosisOwnerFiles,\n\tvalidateResolveIOSupportClarificationContract,\n\tvalidateResolveIOSupportIssueClassProbePlan,\n\tvalidateResolveIOSupportDiagnosisGate\n} from './support-runner-v5';\n\nexport interface SupportAIRunAdapterInput {\n\tticket?: Record<string, any>;\n\tjob?: Record<string, any>;\n\tversions?: Array<Record<string, any>>;\n\tbuildPlans?: Array<Record<string, any>>;\n\taiJobs?: Array<Record<string, any>>;\n\ttaskEvents?: Array<Record<string, any>>;\n\tusageLedger?: Array<Record<string, any>>;\n\tcommits?: Array<Record<string, any>>;\n\tqaEvidence?: Record<string, any>;\n\tnow?: Date | string;\n}\n\nexport interface AICoderAIRunAdapterInput {\n\tapp?: Record<string, any>;\n\tjob?: Record<string, any>;\n\tlogs?: Array<Record<string, any>>;\n\tusageLedger?: Array<Record<string, any>>;\n\tcommits?: Array<Record<string, any>>;\n\tqaEvidence?: Record<string, any>;\n\tnow?: Date | string;\n}\n\nexport interface AssistantAIRunAdapterInput {\n\trunId?: string;\n\trequestId?: string;\n\tmessageId?: string;\n\tconversation?: Record<string, any>;\n\tmessages?: Array<Record<string, any>>;\n\tissueReports?: Array<Record<string, any>>;\n\tusageLedger?: Array<Record<string, any>>;\n\tcorrectnessChecks?: Array<Record<string, any>>;\n\tanswerQuality?: Record<string, any>;\n\tnow?: Date | string;\n}\n\nexport type AssistantAnswerQualityStatus =\n\t| 'ready'\n\t| 'missing_data_source'\n\t| 'date_incorrect'\n\t| 'missing_date_window'\n\t| 'illegal_query_shape'\n\t| 'missing_query_proof'\n\t| 'query_error'\n\t| 'permission_error'\n\t| 'no_data_unverified'\n\t| 'missing_citations'\n\t| 'low_confidence'\n\t| 'missing_next_action'\n\t| 'incorrect'\n\t| 'blocked';\n\nexport interface AssistantAnswerQualityInput {\n\tanswerQuality?: Record<string, any>;\n\tcorrectnessChecks?: Array<Record<string, any>>;\n\tnow?: Date | string;\n}\n\nexport interface AssistantAnswerQualityDecision {\n\tready: boolean;\n\tstatus: AssistantAnswerQualityStatus;\n\treason: string;\n\tblockers: string[];\n\tqueryStatus: 'ok' | 'no_data' | 'query_error' | 'permission_error' | 'unknown';\n\tconfidenceLevel: 'high' | 'medium' | 'low' | 'unknown';\n\tdateBasis?: string;\n\texpectedCurrentDate?: string;\n\tdateWindowRequired: boolean;\n\tdateWindowPresent: boolean;\n\tdateWindow?: {\n\t\tstartDate?: string;\n\t\tendDate?: string;\n\t\tmode?: string;\n\t\tmonths?: number;\n\t};\n\tnoDataConfirmed: boolean;\n\tlegalQueryShape: boolean;\n\tcitationRefs: string[];\n\tqueryEvidenceRequired: boolean;\n\tqueryEvidencePresent: boolean;\n\tqueryEvidenceRefs: string[];\n\tqueryExecutionCount: number;\n\tnextActions: string[];\n\tevidenceRefs: string[];\n\tfailedChecks: string[];\n\trecordedAt: string;\n}\n\nexport type AssistantAnswerActionabilityStatus =\n\t| 'ready_to_answer'\n\t| 'needs_query_repair'\n\t| 'needs_permission'\n\t| 'needs_no_data_verification'\n\t| 'needs_date_window_repair'\n\t| 'needs_query_shape_repair'\n\t| 'needs_evidence'\n\t| 'needs_confidence_review'\n\t| 'needs_next_action'\n\t| 'incorrect'\n\t| 'blocked';\n\nexport interface AssistantAnswerActionabilityContract {\n\tcontractId: string;\n\tstatus: AssistantAnswerActionabilityStatus;\n\tprimaryCommand: string;\n\tlabel: string;\n\tcanAnswerCustomer: boolean;\n\tcanDraftSupportReply: boolean;\n\tcanSendCustomerReply: boolean;\n\trequiresHumanReview: boolean;\n\tcanRunWithoutCodexMonitor: boolean;\n\tcodexFallbackRequired: boolean;\n\tcostRisk: 'free_or_deterministic' | 'small_model_or_qa' | 'expensive_model' | 'release_or_customer_send' | 'manual_blocked';\n\tqueryResultClass: AssistantAnswerQualityDecision['queryStatus'];\n\tconfidenceLevel: AssistantAnswerQualityDecision['confidenceLevel'];\n\tdecisionBasis: {\n\t\tanswerQualityStatus: AssistantAnswerQualityStatus;\n\t\tqueryStatus: AssistantAnswerQualityDecision['queryStatus'];\n\t\tqueryEvidencePresent: boolean;\n\t\tnoDataConfirmed: boolean;\n\t\tlegalQueryShape: boolean;\n\t\tdateWindowRequired: boolean;\n\t\tdateWindowPresent: boolean;\n\t\tcitationCount: number;\n\t\tnextActionCount: number;\n\t};\n\trequiredEvidence: string[];\n\tsuccessEvidence: string[];\n\tblockers: string[];\n\tnextActions: string[];\n\tnextCommands: string[];\n\tforbiddenActions: string[];\n\tevidenceRefs: string[];\n\trecordedAt: string;\n}\n\nfunction cleanText(value: any, max = 1000): string {\n\treturn String(value || '').replace(/\\s+/g, ' ').trim().slice(0, max);\n}\n\nfunction idText(value: any, max = 160): string | undefined {\n\tconst normalized = cleanText(value, max);\n\treturn normalized || undefined;\n}\n\nfunction asArray<T = any>(value: any): T[] {\n\treturn Array.isArray(value) ? value : [];\n}\n\nfunction cleanStringList(value: any, limit = 40, max = 500): string[] {\n\treturn asArray<any>(value)\n\t\t.map((entry) => cleanText(entry, max))\n\t\t.filter(Boolean)\n\t\t.slice(0, limit);\n}\n\nfunction plainObject(value: any): Record<string, any> {\n\treturn value && typeof value === 'object' && !Array.isArray(value) ? value : {};\n}\n\nfunction firstText(source: Record<string, any> | undefined, fields: string[], max = 1000): string | undefined {\n\tfor (const field of fields) {\n\t\tconst value = source?.[field];\n\t\tconst normalized = idText(value, max);\n\t\tif (normalized) {\n\t\t\treturn normalized;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction dateValue(source: Record<string, any> | undefined, fields: string[]): Date | string | undefined {\n\tfor (const field of fields) {\n\t\tconst value = source?.[field];\n\t\tif (value) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction addSourceId(sourceIds: Record<string, string>, key: string, value: any): void {\n\tconst normalized = idText(value);\n\tif (normalized) {\n\t\tsourceIds[key] = normalized;\n\t}\n}\n\nfunction pushEvent(events: AIRunEvent[], event: AIRunEvent): void {\n\tconst message = cleanText(event.message, 1800);\n\tconst metadata = event.metadata || {};\n\tif (!message && !Object.keys(metadata).length && !event.artifactPaths?.length) {\n\t\treturn;\n\t}\n\tevents.push({\n\t\t...event,\n\t\tmessage,\n\t\tartifactPaths: asArray<string>(event.artifactPaths).filter(Boolean).slice(0, 20)\n\t});\n}\n\nfunction eventDate(record: Record<string, any>): Date | string | undefined {\n\treturn dateValue(record, ['recordedAt', 'createdAt', 'updatedAt', 'timestamp', 'time', 'date']);\n}\n\nfunction normalizeManagerFailureRecord(value: any, fallback: Partial<ResolveIOAIManagerFailureRecord> = {}): ResolveIOAIManagerFailureRecord | undefined {\n\tconst entry = plainObject(value);\n\tif (!Object.keys(entry).length && !Object.keys(fallback).length) {\n\t\treturn undefined;\n\t}\n\tconst blocker = cleanText(entry.blocker || entry.reason || entry.summary || entry.message || fallback.blocker || fallback.summary, 1200);\n\tconst failureClass = cleanText(entry.failureClass || entry.failure_class || entry.class || fallback.failureClass, 120);\n\tconst evidenceHash = cleanText(entry.evidenceHash || entry.evidence_hash || entry.hash || fallback.evidenceHash, 180);\n\tconst blockerFingerprint = cleanText(entry.blockerFingerprint || entry.blocker_fingerprint || fallback.blockerFingerprint, 180);\n\tconst lane = cleanText(entry.lane || fallback.lane || 'support', 80);\n\tconst stepType = cleanText(entry.stepType || entry.step_type || entry.type || fallback.stepType || 'support_step', 80);\n\tconst outcome = cleanText(entry.outcome || entry.status || entry.result || fallback.outcome || 'needs_repair', 80);\n\tif (!blocker && !failureClass && !evidenceHash && !blockerFingerprint) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tlane,\n\t\tstepType,\n\t\toutcome,\n\t\tfailureClass: failureClass || undefined,\n\t\tblocker: blocker || undefined,\n\t\tsummary: cleanText(entry.summary || entry.message || fallback.summary, 1200) || undefined,\n\t\tblockerFingerprint: blockerFingerprint || undefined,\n\t\tevidenceHash: evidenceHash || undefined,\n\t\tchangedFiles: cleanStringList(entry.changedFiles || entry.changed_files || fallback.changedFiles, 80, 500),\n\t\tartifactPaths: cleanStringList(entry.artifactPaths || entry.artifact_paths || entry.artifacts || fallback.artifactPaths, 80, 500)\n\t};\n}\n\nfunction supportManagerFailureRecords(job: Record<string, any>, evidence: Record<string, any>): ResolveIOAIManagerFailureRecord[] {\n\tconst records: ResolveIOAIManagerFailureRecord[] = [];\n\tconst pushRecord = (value: any, fallback: Partial<ResolveIOAIManagerFailureRecord> = {}): void => {\n\t\tconst record = normalizeManagerFailureRecord(value, fallback);\n\t\tif (record) {\n\t\t\trecords.push(record);\n\t\t}\n\t};\n\tfor (const entry of asArray<any>(job.supportV5StepHistory || job.support_v5_step_history || evidence.supportV5StepHistory || evidence.support_v5_step_history)) {\n\t\tpushRecord(entry);\n\t}\n\tfor (const entry of asArray<any>(job.supportV5FailureFingerprints || job.support_v5_failure_fingerprints || evidence.supportV5FailureFingerprints || evidence.support_v5_failure_fingerprints)) {\n\t\tconst fingerprint = plainObject(entry);\n\t\tconst count = Math.max(1, Math.min(8, Number(fingerprint.count || fingerprint.repeatedCount || fingerprint.repeated_count || 1) || 1));\n\t\tconst fallback = {\n\t\t\tlane: cleanText(fingerprint.lane || 'support', 80),\n\t\t\tstepType: cleanText(fingerprint.stepType || fingerprint.step_type || 'support_step', 80),\n\t\t\toutcome: cleanText(fingerprint.outcome || 'needs_repair', 80),\n\t\t\tfailureClass: cleanText(fingerprint.failureClass || fingerprint.failure_class || fingerprint.class, 120),\n\t\t\tblocker: cleanText(fingerprint.blocker || fingerprint.reason || fingerprint.summary, 1200),\n\t\t\tblockerFingerprint: cleanText(fingerprint.blockerFingerprint || fingerprint.blocker_fingerprint, 180),\n\t\t\tevidenceHash: cleanText(fingerprint.evidenceHash || fingerprint.evidence_hash, 180)\n\t\t};\n\t\tfor (let index = 0; index < count; index += 1) {\n\t\t\tpushRecord(fingerprint, fallback);\n\t\t}\n\t}\n\tconst currentFailure = evidenceObject(\n\t\tjob.supportV5CurrentFailure,\n\t\tjob.support_v5_current_failure,\n\t\tjob.supportV5RecoveryCurrent,\n\t\tjob.support_v5_recovery_current,\n\t\tevidence.currentFailure,\n\t\tevidence.current_failure\n\t);\n\tpushRecord(currentFailure);\n\treturn records.slice(-80);\n}\n\nfunction managerNoBlindLoopGateFromHistory(\n\thistory: ResolveIOAIManagerFailureRecord[],\n\tbudgetSource: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!history.length) {\n\t\treturn undefined;\n\t}\n\tconst budget = plainObject(budgetSource);\n\tconst maxSameFailureRepeats = Math.max(1, Number(budget.maxRepeatedNoProgress || budget.max_repeated_no_progress || budget.maxSameFailureRepeats || budget.max_same_failure_repeats || 3) || 3);\n\tconst decision = decideResolveIOAIManagerPolicy({\n\t\thistory,\n\t\tmaxSameFailureRepeats\n\t});\n\tconst parksRun = /^(park_repeated_failure|park_ping_pong|manual_handoff)$/.test(decision.action);\n\tconst status: AIRunGateResult['status'] = parksRun\n\t\t? 'blocked'\n\t\t: decision.action === 'retry_infra'\n\t\t\t? 'warn'\n\t\t\t: 'pass';\n\treturn {\n\t\tkey: 'manager_no_blind_loop_policy',\n\t\tlabel: 'No-blind-loop manager policy',\n\t\tstatus,\n\t\treason: decision.reason,\n\t\tevidenceRefs: cleanStringList(decision.recoveryAction.requiredArtifacts, 20, 500),\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\taction: decision.action,\n\t\t\tfailureClass: decision.failureClass,\n\t\t\tblockerFingerprint: decision.blockerFingerprint,\n\t\t\tevidenceHash: decision.evidenceHash,\n\t\t\tsameFailureCount: decision.sameFailureCount,\n\t\t\tpingPongCount: decision.pingPongCount,\n\t\t\tnewEvidence: decision.newEvidence,\n\t\t\tmaterialEvidence: decision.materialEvidence,\n\t\t\tevidenceStrength: decision.evidenceStrength,\n\t\t\tevidenceSignals: decision.evidenceSignals,\n\t\t\tloopBudgetShouldReset: decision.loopBudgetShouldReset,\n\t\t\tproductRepairFailure: decision.productRepairFailure,\n\t\t\trecoveryClass: decision.recoveryPlan.recoveryClass,\n\t\t\tallowedAction: decision.recoveryPlan.allowedAction,\n\t\t\tdispatchAction: decision.recoveryAction.allowedDispatchAction,\n\t\t\tevidenceOnly: decision.recoveryAction.evidenceOnly,\n\t\t\tproductRepairAllowed: decision.recoveryAction.productRepairAllowed,\n\t\t\texpensiveModelAllowed: decision.recoveryAction.expensiveModelAllowed,\n\t\t\tcostCeilingUsd: decision.recoveryAction.costCeilingUsd,\n\t\t\trequiresNewEvidence: decision.recoveryAction.retryPolicy?.requireNewEvidence === true,\n\t\t\tnextCommands: decision.recoveryAction.nextCommands,\n\t\t\trequiredEvidence: decision.recoveryAction.requiredArtifacts,\n\t\t\tforbiddenActions: decision.recoveryPlan.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction supportManagerNoBlindLoopGate(\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\treturn managerNoBlindLoopGateFromHistory(\n\t\tsupportManagerFailureRecords(job, evidence),\n\t\tjob.supportV5Budget || job.support_v5_budget || evidence.supportV5Budget || evidence.support_v5_budget,\n\t\tnow\n\t);\n}\n\nfunction aicoderManagerFailureRecords(\n\tapp: Record<string, any>,\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>\n): ResolveIOAIManagerFailureRecord[] {\n\tconst records: ResolveIOAIManagerFailureRecord[] = [];\n\tconst pushRecord = (value: any, fallback: Partial<ResolveIOAIManagerFailureRecord> = {}): void => {\n\t\tconst record = normalizeManagerFailureRecord(value, {\n\t\t\tlane: 'aicoder',\n\t\t\tstepType: 'workflow_step',\n\t\t\t...fallback\n\t\t});\n\t\tif (record) {\n\t\t\trecords.push(record);\n\t\t}\n\t};\n\tconst historySources = [\n\t\tjob.aicoderV6StepHistory,\n\t\tjob.aiCoderV6StepHistory,\n\t\tjob.aicoder_v6_step_history,\n\t\tjob.ai_coder_v6_step_history,\n\t\tjob.workflowStepHistory,\n\t\tjob.workflow_step_history,\n\t\tjob.stepHistory,\n\t\tjob.step_history,\n\t\tjob.managerFailureHistory,\n\t\tjob.manager_failure_history,\n\t\tapp.aicoderV6StepHistory,\n\t\tapp.aiCoderV6StepHistory,\n\t\tapp.aicoder_v6_step_history,\n\t\tapp.ai_coder_v6_step_history,\n\t\tapp.workflowStepHistory,\n\t\tapp.workflow_step_history,\n\t\tevidence.aicoderV6StepHistory,\n\t\tevidence.aiCoderV6StepHistory,\n\t\tevidence.aicoder_v6_step_history,\n\t\tevidence.ai_coder_v6_step_history,\n\t\tevidence.workflowStepHistory,\n\t\tevidence.workflow_step_history,\n\t\tevidence.stepHistory,\n\t\tevidence.step_history,\n\t\tevidence.managerFailureHistory,\n\t\tevidence.manager_failure_history\n\t];\n\tfor (const source of historySources) {\n\t\tfor (const entry of asArray<any>(source)) {\n\t\t\tpushRecord(entry);\n\t\t}\n\t}\n\tconst fingerprintSources = [\n\t\tjob.aicoderV6FailureFingerprints,\n\t\tjob.aiCoderV6FailureFingerprints,\n\t\tjob.aicoder_v6_failure_fingerprints,\n\t\tjob.ai_coder_v6_failure_fingerprints,\n\t\tjob.workflowFailureFingerprints,\n\t\tjob.workflow_failure_fingerprints,\n\t\tjob.failureFingerprints,\n\t\tjob.failure_fingerprints,\n\t\tapp.aicoderV6FailureFingerprints,\n\t\tapp.aiCoderV6FailureFingerprints,\n\t\tapp.aicoder_v6_failure_fingerprints,\n\t\tapp.ai_coder_v6_failure_fingerprints,\n\t\tevidence.aicoderV6FailureFingerprints,\n\t\tevidence.aiCoderV6FailureFingerprints,\n\t\tevidence.aicoder_v6_failure_fingerprints,\n\t\tevidence.ai_coder_v6_failure_fingerprints,\n\t\tevidence.workflowFailureFingerprints,\n\t\tevidence.workflow_failure_fingerprints,\n\t\tevidence.failureFingerprints,\n\t\tevidence.failure_fingerprints\n\t];\n\tfor (const source of fingerprintSources) {\n\t\tfor (const entry of asArray<any>(source)) {\n\t\t\tconst fingerprint = plainObject(entry);\n\t\t\tconst count = Math.max(1, Math.min(8, Number(fingerprint.count || fingerprint.repeatedCount || fingerprint.repeated_count || 1) || 1));\n\t\t\tconst fallback = {\n\t\t\t\tlane: cleanText(fingerprint.lane || 'aicoder', 80),\n\t\t\t\tstepType: cleanText(fingerprint.stepType || fingerprint.step_type || 'workflow_step', 80),\n\t\t\t\toutcome: cleanText(fingerprint.outcome || 'needs_repair', 80),\n\t\t\t\tfailureClass: cleanText(fingerprint.failureClass || fingerprint.failure_class || fingerprint.class, 120),\n\t\t\t\tblocker: cleanText(fingerprint.blocker || fingerprint.reason || fingerprint.summary, 1200),\n\t\t\t\tblockerFingerprint: cleanText(fingerprint.blockerFingerprint || fingerprint.blocker_fingerprint, 180),\n\t\t\t\tevidenceHash: cleanText(fingerprint.evidenceHash || fingerprint.evidence_hash, 180)\n\t\t\t};\n\t\t\tfor (let index = 0; index < count; index += 1) {\n\t\t\t\tpushRecord(fingerprint, fallback);\n\t\t\t}\n\t\t}\n\t}\n\tconst currentFailure = evidenceObject(\n\t\tjob.aicoderV6CurrentFailure,\n\t\tjob.aiCoderV6CurrentFailure,\n\t\tjob.aicoder_v6_current_failure,\n\t\tjob.ai_coder_v6_current_failure,\n\t\tjob.workflowCurrentFailure,\n\t\tjob.workflow_current_failure,\n\t\tjob.currentFailure,\n\t\tjob.current_failure,\n\t\tevidence.aicoderV6CurrentFailure,\n\t\tevidence.aiCoderV6CurrentFailure,\n\t\tevidence.aicoder_v6_current_failure,\n\t\tevidence.ai_coder_v6_current_failure,\n\t\tevidence.workflowCurrentFailure,\n\t\tevidence.workflow_current_failure,\n\t\tevidence.currentFailure,\n\t\tevidence.current_failure\n\t);\n\tpushRecord(currentFailure);\n\treturn records.slice(-80);\n}\n\nfunction aicoderManagerNoBlindLoopGate(\n\tapp: Record<string, any>,\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\treturn managerNoBlindLoopGateFromHistory(\n\t\taicoderManagerFailureRecords(app, job, evidence),\n\t\tjob.aicoderV6Budget\n\t\t\t|| job.aiCoderV6Budget\n\t\t\t|| job.aicoder_v6_budget\n\t\t\t|| job.ai_coder_v6_budget\n\t\t\t|| evidence.aicoderV6Budget\n\t\t\t|| evidence.aiCoderV6Budget\n\t\t\t|| evidence.aicoder_v6_budget\n\t\t\t|| evidence.ai_coder_v6_budget\n\t\t\t|| app.aicoderV6Budget\n\t\t\t|| app.aiCoderV6Budget\n\t\t\t|| app.aicoder_v6_budget\n\t\t\t|| app.ai_coder_v6_budget\n\t\t\t|| job.budget\n\t\t\t|| evidence.budget,\n\t\tnow\n\t);\n}\n\nfunction managerNoBlindLoopMetadata(gate: AIRunGateResult | undefined): Record<string, any> | undefined {\n\tif (!gate) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\taction: cleanText(gate.metadata?.action, 120),\n\t\tstatus: gate.status,\n\t\tfailureClass: cleanText(gate.metadata?.failureClass, 120),\n\t\tsameFailureCount: Number(gate.metadata?.sameFailureCount || 0),\n\t\tpingPongCount: Number(gate.metadata?.pingPongCount || 0),\n\t\tnewEvidence: gate.metadata?.newEvidence === true,\n\t\tmaterialEvidence: gate.metadata?.materialEvidence === true,\n\t\tevidenceStrength: cleanText(gate.metadata?.evidenceStrength, 120),\n\t\tloopBudgetShouldReset: gate.metadata?.loopBudgetShouldReset === true,\n\t\tdispatchAction: cleanText(gate.metadata?.dispatchAction, 160),\n\t\tproductRepairAllowed: gate.metadata?.productRepairAllowed === true,\n\t\texpensiveModelAllowed: gate.metadata?.expensiveModelAllowed === true,\n\t\tproductRepairFailure: gate.metadata?.productRepairFailure === true,\n\t\trequiresNewEvidence: gate.metadata?.requiresNewEvidence === true\n\t};\n}\n\nfunction hotfixEvidenceCandidates(...sources: any[]): Record<string, any>[] {\n\tconst result: Record<string, any>[] = [];\n\tconst seen = new Set<string>();\n\tconst pushCandidate = (value: any): void => {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const entry of value) {\n\t\t\t\tpushCandidate(entry);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn;\n\t\t}\n\t\tconst nestedValues = [\n\t\t\tvalue.hotfixEvidence,\n\t\t\tvalue.hotfix_evidence,\n\t\t\tvalue.releaseHotfixEvidence,\n\t\t\tvalue.release_hotfix_evidence,\n\t\t\tvalue.managerHotfixEvidence,\n\t\t\tvalue.manager_hotfix_evidence,\n\t\t\tvalue.backendHotfixEvidence,\n\t\t\tvalue.backend_hotfix_evidence\n\t\t].filter(Boolean);\n\t\tif (nestedValues.length) {\n\t\t\tfor (const nestedValue of nestedValues) {\n\t\t\t\tpushCandidate(nestedValue);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!(value.channel || value.hotfixChannel || value.hotfix_channel)) {\n\t\t\treturn;\n\t\t}\n\t\tconst key = JSON.stringify({\n\t\t\tchannel: value.channel || value.hotfixChannel || value.hotfix_channel,\n\t\t\thost: value.target?.host || value.host,\n\t\t\tpath: value.target?.path || value.path || value.remotePath || value.remote_path,\n\t\t\tchecksum: value.remoteChecksumAfter || value.remote_checksum_after || value.remoteChecksum || value.remote_checksum\n\t\t});\n\t\tif (seen.has(key)) {\n\t\t\treturn;\n\t\t}\n\t\tseen.add(key);\n\t\tresult.push(value);\n\t};\n\tfor (const source of sources) {\n\t\tpushCandidate(source);\n\t}\n\treturn result;\n}\n\nfunction hotfixEvidenceArtifactPaths(evidence: Record<string, any>, normalized: Record<string, any> | undefined): string[] {\n\treturn [\n\t\tnormalized?.compiledArtifactPath,\n\t\tnormalized?.builtDistPath,\n\t\tnormalized?.target?.artifactPath,\n\t\tevidence.compiledArtifactPath,\n\t\tevidence.compiled_artifact_path,\n\t\tevidence.builtDistPath,\n\t\tevidence.built_dist_path,\n\t\tevidence.artifactPath,\n\t\tevidence.artifact_path\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean).slice(0, 8);\n}\n\nfunction hotfixEvidenceGate(\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence);\n\tif (!validation.normalized && validation.status === 'missing') {\n\t\treturn undefined;\n\t}\n\tconst status: AIRunGateResult['status'] = validation.valid\n\t\t? (validation.fullDeployAllowed ? 'warn' : 'pass')\n\t\t: validation.status === 'blocked'\n\t\t\t? 'blocked'\n\t\t\t: 'fail';\n\tconst reason = validation.valid\n\t\t? validation.fullDeployAllowed\n\t\t\t? 'Hotfix evidence allows exactly one full deploy after force/new-artifact proof.'\n\t\t\t: 'Hotfix evidence is sufficient; rerun the smallest release gate before continuing.'\n\t\t: validation.blockers.join('; ');\n\treturn {\n\t\tkey: 'hotfix_evidence',\n\t\tlabel: 'Hotfix evidence',\n\t\tstatus,\n\t\treason,\n\t\tevidenceRefs: hotfixEvidenceArtifactPaths(evidence, validation.normalized as any),\n\t\trecordedAt: isoNow(now || validation.normalized?.recordedAt),\n\t\tmetadata: {\n\t\t\tchannel: validation.channel,\n\t\t\tnextAction: validation.nextAction,\n\t\t\tfullDeployAllowed: validation.fullDeployAllowed,\n\t\t\tfullDeployBlocked: validation.fullDeployBlocked,\n\t\t\thotfixSatisfied: validation.hotfixSatisfied,\n\t\t\tblockers: validation.blockers,\n\t\t\tgithubCommitGuard: validation.githubCommitGuard,\n\t\t\ttarget: validation.normalized?.target\n\t\t}\n\t};\n}\n\nfunction hotfixCommitProofGate(\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence);\n\tconst guard = validation.githubCommitGuard;\n\tif (!guard.required) {\n\t\treturn undefined;\n\t}\n\tconst status: AIRunGateResult['status'] = guard.passed\n\t\t? 'pass'\n\t\t: guard.status === 'invalid'\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'hotfix_commit_proof',\n\t\tlabel: 'Hotfix GitHub commit proof',\n\t\tstatus,\n\t\treason: guard.passed\n\t\t\t? 'Hotfix has matching sourceCommitSha, GitHub commit URL, passed gitCommitStatus, and passed gitPushStatus.'\n\t\t\t: (guard.blockers.join('; ') || 'Manager hotfix is blocked until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus prove the hotfix is committed and pushed to GitHub.'),\n\t\tevidenceRefs: cleanStringList([guard.githubCommitUrl], 1, 500),\n\t\trecordedAt: isoNow(now || validation.normalized?.recordedAt),\n\t\tmetadata: {\n\t\t\tchannel: guard.channel || validation.channel,\n\t\t\tstatus: guard.status,\n\t\t\tpassed: guard.passed,\n\t\t\tmanagerMustCommitBeforeHotfix: guard.managerMustCommitBeforeHotfix,\n\t\t\tsourceCommitSha: guard.sourceCommitSha,\n\t\t\tgithubCommitUrl: guard.githubCommitUrl,\n\t\t\tgithubCommitSha: guard.githubCommitSha,\n\t\t\tgitCommitStatus: guard.gitCommitStatus,\n\t\t\tgitPushStatus: guard.gitPushStatus,\n\t\t\tblockers: guard.blockers,\n\t\t\tnextCommands: guard.nextCommands,\n\t\t\trequiredEvidence: guard.requiredEvidence\n\t\t}\n\t};\n}\n\nfunction hotfixDurabilityContractCandidates(...sources: any[]): Record<string, any>[] {\n\tconst result: Record<string, any>[] = [];\n\tconst seen = new Set<string>();\n\tconst pushCandidate = (value: any): void => {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const entry of value) {\n\t\t\t\tpushCandidate(entry);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn;\n\t\t}\n\t\tconst nestedValues = [\n\t\t\tvalue.hotfixDurabilityContract,\n\t\t\tvalue.hotfix_durability_contract,\n\t\t\tvalue.supportManagerHotfixDurabilityContract,\n\t\t\tvalue.support_manager_hotfix_durability_contract,\n\t\t\tvalue.managerRecoveryHotfixDurability,\n\t\t\tvalue.manager_recovery_hotfix_durability,\n\t\t\tvalue.supportV5RecoveryDirective?.hotfixDurabilityContract,\n\t\t\tvalue.supportV5RecoveryDirective?.hotfix_durability_contract\n\t\t].filter(Boolean);\n\t\tif (nestedValues.length) {\n\t\t\tfor (const nestedValue of nestedValues) {\n\t\t\t\tpushCandidate(nestedValue);\n\t\t\t}\n\t\t}\n\t\tconst required = value.required === true || value.liveHotfixBlockedUntilCommit === true || value.live_hotfix_blocked_until_commit === true || value.commitProofPassed === true || value.commit_proof_passed === true;\n\t\tif (!required) {\n\t\t\treturn;\n\t\t}\n\t\tconst key = cleanText(value.contractId || value.contract_id || JSON.stringify({\n\t\t\tstatus: value.status,\n\t\t\tsha: value.sourceCommitSha || value.source_commit_sha,\n\t\t\turl: value.githubCommitUrl || value.github_commit_url\n\t\t}), 500);\n\t\tif (seen.has(key)) {\n\t\t\treturn;\n\t\t}\n\t\tseen.add(key);\n\t\tresult.push(value);\n\t};\n\tfor (const source of sources) {\n\t\tpushCandidate(source);\n\t}\n\treturn result;\n}\n\nfunction hotfixDurabilityContractGate(\n\tcontractValue: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tconst contract = buildResolveIOAIManagerHotfixDurabilityContract({\n\t\texisting: contractValue,\n\t\tevidence: contractValue.evidence || contractValue.hotfixEvidence || contractValue.hotfix_evidence,\n\t\taction: contractValue.action,\n\t\treason: contractValue.reason,\n\t\tnow\n\t});\n\tif (!contract.required) {\n\t\treturn undefined;\n\t}\n\tconst status: AIRunGateResult['status'] = contract.liveHotfixBlockedUntilCommit\n\t\t? 'blocked'\n\t\t: contract.status === 'ready_for_continuation' || contract.status === 'ready_for_release_gate'\n\t\t\t? 'pass'\n\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'hotfix_durability_contract',\n\t\tlabel: 'Hotfix durability contract',\n\t\tstatus,\n\t\treason: contract.liveHotfixBlockedUntilCommit\n\t\t\t? `Manager hotfix is blocked until GitHub commit proof is recorded: ${contract.missingCommitProofFields.join(', ') || 'sourceCommitSha, githubCommitUrl, gitCommitStatus=passed, gitPushStatus=passed'}`\n\t\t\t: `Manager hotfix durability contract is ${contract.status}.`,\n\t\tevidenceRefs: cleanStringList([contract.githubCommitUrl], 1, 500),\n\t\trecordedAt: isoNow(now || contract.updatedAt),\n\t\tmetadata: {\n\t\t\tcontractId: contract.contractId,\n\t\t\tstatus: contract.status,\n\t\t\tnextSafeAction: contract.nextSafeAction,\n\t\t\tcanPrepareHotfixPatch: contract.canPrepareHotfixPatch,\n\t\t\tcanHotfixBackend: contract.canHotfixBackend,\n\t\t\tliveHotfixBlockedUntilCommit: contract.liveHotfixBlockedUntilCommit,\n\t\t\tcommitProofPassed: contract.commitProofPassed,\n\t\t\tcommitProofStatus: contract.commitProofStatus,\n\t\t\tmissingCommitProofFields: contract.missingCommitProofFields,\n\t\t\tsourceCommitSha: contract.sourceCommitSha,\n\t\t\tgithubCommitUrl: contract.githubCommitUrl,\n\t\t\tgitCommitStatus: contract.gitCommitStatus,\n\t\t\tgitPushStatus: contract.gitPushStatus,\n\t\t\tphaseOrder: contract.phaseOrder,\n\t\t\trequiredFields: contract.requiredFields,\n\t\t\tforbiddenActions: contract.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction collectHotfixEvidenceEvents(\n\tsources: any[],\n\tevents: AIRunEvent[],\n\tgates: AIRunGateResult[],\n\tnow?: Date | string\n): void {\n\tfor (const contract of hotfixDurabilityContractCandidates(...sources)) {\n\t\tconst gate = hotfixDurabilityContractGate(contract, now);\n\t\tif (gate) {\n\t\t\tgates.push(gate);\n\t\t\tpushEvent(events, {\n\t\t\t\ttype: 'log',\n\t\t\t\tcategory: 'hotfix_durability_contract',\n\t\t\t\tmessage: gate.reason,\n\t\t\t\tartifactPaths: gate.evidenceRefs,\n\t\t\t\trecordedAt: gate.recordedAt,\n\t\t\t\tmetadata: gate.metadata\n\t\t\t});\n\t\t}\n\t}\n\tfor (const evidence of hotfixEvidenceCandidates(...sources)) {\n\t\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence);\n\t\tif (!validation.normalized && validation.status === 'missing') {\n\t\t\tcontinue;\n\t\t}\n\t\tconst artifactPaths = hotfixEvidenceArtifactPaths(evidence, validation.normalized as any);\n\t\tpushEvent(events, {\n\t\t\ttype: 'hotfix',\n\t\t\tcategory: validation.channel || 'hotfix',\n\t\t\tmessage: validation.valid\n\t\t\t\t? `Hotfix evidence recorded for ${validation.channel}.`\n\t\t\t\t: `Incomplete hotfix evidence for ${validation.channel || 'unknown channel'}.`,\n\t\t\tartifactPaths,\n\t\t\trecordedAt: validation.normalized?.recordedAt || eventDate(evidence),\n\t\t\tmetadata: {\n\t\t\t\tstatus: validation.status,\n\t\t\t\tnextAction: validation.nextAction,\n\t\t\t\tfullDeployAllowed: validation.fullDeployAllowed,\n\t\t\t\tfullDeployBlocked: validation.fullDeployBlocked,\n\t\t\t\thotfixSatisfied: validation.hotfixSatisfied,\n\t\t\t\tblockers: validation.blockers,\n\t\t\t\tgithubCommitGuard: validation.githubCommitGuard,\n\t\t\t\ttarget: validation.normalized?.target\n\t\t\t}\n\t\t});\n\t\tconst gate = hotfixEvidenceGate(evidence, now);\n\t\tif (gate) {\n\t\t\tgates.push(gate);\n\t\t}\n\t\tconst commitProofGate = hotfixCommitProofGate(evidence, now);\n\t\tif (commitProofGate) {\n\t\t\tgates.push(commitProofGate);\n\t\t\tpushEvent(events, {\n\t\t\t\ttype: 'log',\n\t\t\t\tcategory: 'hotfix_commit_proof',\n\t\t\t\tmessage: commitProofGate.reason,\n\t\t\t\tartifactPaths: commitProofGate.evidenceRefs,\n\t\t\t\trecordedAt: commitProofGate.recordedAt,\n\t\t\t\tmetadata: commitProofGate.metadata\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction hotfixDurabilityMetadata(gates: AIRunGateResult[]): Record<string, any> | undefined {\n\tconst hotfixGate = gates.find((gate) => gate.key === 'hotfix_evidence');\n\tconst commitGate = gates.find((gate) => gate.key === 'hotfix_commit_proof');\n\tconst durabilityGate = gates.find((gate) => gate.key === 'hotfix_durability_contract');\n\tif (!hotfixGate && !commitGate && !durabilityGate) {\n\t\treturn undefined;\n\t}\n\tconst commitBlocked = (!!commitGate && (commitGate.status === 'blocked' || commitGate.status === 'fail'))\n\t\t|| durabilityGate?.metadata?.liveHotfixBlockedUntilCommit === true;\n\treturn {\n\t\tdurabilityStatus: cleanText(durabilityGate?.metadata?.status, 80),\n\t\tdurabilityGateStatus: cleanText(durabilityGate?.status, 80),\n\t\tcanPrepareHotfixPatch: durabilityGate?.metadata?.canPrepareHotfixPatch === true,\n\t\tcanHotfixBackend: durabilityGate?.metadata?.canHotfixBackend === true,\n\t\tliveHotfixBlockedUntilCommit: durabilityGate?.metadata?.liveHotfixBlockedUntilCommit === true,\n\t\thotfixEvidenceStatus: cleanText(hotfixGate?.status, 80),\n\t\thotfixSatisfied: hotfixGate?.metadata?.hotfixSatisfied === true,\n\t\tfullDeployBlocked: hotfixGate?.metadata?.fullDeployBlocked === true,\n\t\tfullDeployAllowed: hotfixGate?.metadata?.fullDeployAllowed === true,\n\t\tcommitProofRequired: !!commitGate || !!durabilityGate,\n\t\tcommitProofStatus: cleanText(commitGate?.status || durabilityGate?.metadata?.commitProofStatus, 80),\n\t\tcommitProofPassed: commitGate?.metadata?.passed === true || durabilityGate?.metadata?.commitProofPassed === true,\n\t\tcommitBlocked,\n\t\tchannel: cleanText(commitGate?.metadata?.channel || hotfixGate?.metadata?.channel, 120),\n\t\tsourceCommitSha: cleanText(commitGate?.metadata?.sourceCommitSha || durabilityGate?.metadata?.sourceCommitSha, 200),\n\t\tgithubCommitUrl: cleanText(commitGate?.metadata?.githubCommitUrl || durabilityGate?.metadata?.githubCommitUrl, 500),\n\t\tgitCommitStatus: cleanText(commitGate?.metadata?.gitCommitStatus || durabilityGate?.metadata?.gitCommitStatus, 120),\n\t\tgitPushStatus: cleanText(commitGate?.metadata?.gitPushStatus || durabilityGate?.metadata?.gitPushStatus, 120),\n\t\tblockers: cleanStringList([\n\t\t\t...asArray(durabilityGate?.metadata?.missingCommitProofFields),\n\t\t\t...asArray(commitGate?.metadata?.blockers),\n\t\t\t...asArray(hotfixGate?.metadata?.blockers)\n\t\t], 20, 500),\n\t\trequiredEvidence: cleanStringList(commitGate?.metadata?.requiredEvidence || durabilityGate?.metadata?.requiredFields, 20, 500),\n\t\tnextCommands: cleanStringList(commitGate?.metadata?.nextCommands, 20, 240),\n\t\tnextAction: commitBlocked\n\t\t\t? cleanText(durabilityGate?.metadata?.nextSafeAction, 200) || 'Commit and push the hotfix to GitHub, record sourceCommitSha/githubCommitUrl/gitCommitStatus/gitPushStatus, then rerun the smallest verification gate.'\n\t\t\t: cleanText(hotfixGate?.metadata?.nextAction, 1000)\n\t};\n}\n\nfunction collectUsageEvents(entries: Array<Record<string, any>>, events: AIRunEvent[]): AIRunCost | undefined {\n\tif (!entries.length) {\n\t\treturn undefined;\n\t}\n\tconst normalizedEntries = normalizeOpenAIUsageRowsForCosting(entries);\n\tfor (const entry of normalizedEntries) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'usage',\n\t\t\tcategory: cleanText(entry.category || entry.kind || entry.phase, 160) || 'usage',\n\t\t\tmessage: cleanText(entry.summary || entry.description || entry.model || 'Model usage recorded.', 800),\n\t\t\trecordedAt: eventDate(entry),\n\t\t\tmetadata: {\n\t\t\t\tmodel: entry.model,\n\t\t\t\tinputTokens: entry.inputTokens ?? entry.input_tokens,\n\t\t\t\toutputTokens: entry.outputTokens ?? entry.output_tokens,\n\t\t\t\ttotalTokens: entry.totalTokens ?? entry.total_tokens,\n\t\t\t\testimatedUsd: entry.estimatedUsd ?? entry.cost_estimate,\n\t\t\t\tusageSource: entry.usage_source ?? entry.usageSource,\n\t\t\t\tusageSurface: entry.usage_surface ?? entry.usageSurface,\n\t\t\t\tusagePhase: entry.usage_phase ?? entry.usagePhase,\n\t\t\t\tcostBasis: entry.cost_basis ?? entry.costBasis,\n\t\t\t\tisManual: entry.is_manual ?? entry.isManual,\n\t\t\t\tisUntracked: entry.is_untracked ?? entry.isUntracked,\n\t\t\t\tuntrackedReason: entry.untracked_reason ?? entry.untrackedReason\n\t\t\t}\n\t\t});\n\t}\n\treturn buildAIRunCost(entries);\n}\n\nfunction collectCommitEvents(commits: Array<Record<string, any>>, events: AIRunEvent[]): void {\n\tfor (const commit of commits.slice(0, 80)) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'git_commit',\n\t\t\tmessage: cleanText(commit.message || commit.subject || commit.title || commit.hash || commit.sha, 1200),\n\t\t\trecordedAt: eventDate(commit),\n\t\t\tmetadata: {\n\t\t\t\tsha: commit.sha || commit.hash,\n\t\t\t\tbranch: commit.branch,\n\t\t\t\tauthor: commit.author\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction statusFromBoolean(value: any, fallback?: string): string | undefined {\n\tif (value === true) {\n\t\treturn 'pass';\n\t}\n\tif (value === false) {\n\t\treturn 'fail';\n\t}\n\treturn fallback;\n}\n\nfunction collectArtifacts(evidence: Record<string, any> | undefined): AIQaArtifact[] {\n\tconst artifacts: AIQaArtifact[] = [];\n\tfor (const entry of asArray<any>(evidence?.artifacts)) {\n\t\tartifacts.push({\n\t\t\ttype: entry.type || 'other',\n\t\t\tpath: cleanText(entry.path || entry.file || entry.artifactPath, 500),\n\t\t\turl: cleanText(entry.url, 500),\n\t\t\ttitle: cleanText(entry.title || entry.name, 300),\n\t\t\tcaption: cleanText(entry.caption || entry.message, 800),\n\t\t\tmetadata: entry.metadata\n\t\t});\n\t}\n\tconst screenshots = asArray<any>(evidence?.screenshots || evidence?.qaScreenshots || evidence?.browserScreenshots);\n\tfor (const screenshot of screenshots.slice(0, 40)) {\n\t\tif (typeof screenshot === 'string') {\n\t\t\tartifacts.push({ type: 'screenshot', path: screenshot });\n\t\t} else {\n\t\t\tartifacts.push({\n\t\t\t\ttype: 'screenshot',\n\t\t\t\tpath: cleanText(screenshot.path || screenshot.file, 500),\n\t\t\t\turl: cleanText(screenshot.url, 500),\n\t\t\t\ttitle: cleanText(screenshot.title || screenshot.route, 300),\n\t\t\t\tcaption: cleanText(screenshot.caption || screenshot.message, 800),\n\t\t\t\tmetadata: screenshot.metadata\n\t\t\t});\n\t\t}\n\t}\n\tconst artifactRefs = [\n\t\t...asArray<any>(evidence?.artifactPaths),\n\t\t...asArray<any>(evidence?.artifact_paths),\n\t\t...asArray<any>(evidence?.runnerEvidenceArtifacts),\n\t\t...asArray<any>(evidence?.runner_evidence_artifacts),\n\t\t...asArray<any>(evidence?.supportQaArtifacts),\n\t\t...asArray<any>(evidence?.support_qa_artifacts),\n\t\t...asArray<any>(evidence?.qa_artifacts)\n\t];\n\tfor (const entry of artifactRefs.slice(0, 60)) {\n\t\tif (typeof entry === 'string') {\n\t\t\tartifacts.push({ type: 'other', path: cleanText(entry, 500) });\n\t\t}\n\t\telse if (entry && typeof entry === 'object') {\n\t\t\tartifacts.push({\n\t\t\t\ttype: entry.type || 'other',\n\t\t\t\tpath: cleanText(entry.path || entry.file || entry.artifactPath || entry.artifact_path, 500),\n\t\t\t\turl: cleanText(entry.url, 500),\n\t\t\t\ttitle: cleanText(entry.title || entry.name || entry.label, 300),\n\t\t\t\tcaption: cleanText(entry.caption || entry.message || entry.summary, 800),\n\t\t\t\tmetadata: entry.metadata\n\t\t\t});\n\t\t}\n\t}\n\treturn artifacts;\n}\n\nfunction collectInfraChecks(evidence: Record<string, any> | undefined): AIQaInfraCheck[] {\n\tconst checks: AIQaInfraCheck[] = [];\n\tfor (const entry of asArray<any>(evidence?.infraChecks || evidence?.preflightChecks)) {\n\t\tchecks.push({\n\t\t\tname: cleanText(entry.name || entry.check || entry.key, 160) || 'infra_check',\n\t\t\tstatus: entry.status || statusFromBoolean(entry.passed),\n\t\t\tmessage: cleanText(entry.message || entry.error || entry.reason, 1000),\n\t\t\tpath: cleanText(entry.path, 500),\n\t\t\tdurationMs: Number(entry.durationMs ?? entry.duration_ms) || undefined,\n\t\t\tmetadata: entry.metadata,\n\t\t\tcheckedAt: eventDate(entry)\n\t\t});\n\t}\n\tif (evidence?.preflightStatus) {\n\t\tchecks.push({\n\t\t\tname: 'qa_preflight',\n\t\t\tstatus: evidence.preflightStatus,\n\t\t\tmessage: cleanText(evidence.preflightMessage || evidence.preflightReason, 1000),\n\t\t\tpath: cleanText(evidence.preflightArtifactPath || evidence.preflightPath, 500)\n\t\t});\n\t}\n\treturn checks;\n}\n\nfunction collectCompileResult(evidence: Record<string, any> | undefined): AIQaCompileResult | undefined {\n\tconst build = evidence?.compile || evidence?.build || evidence?.buildEvidence || evidence?.buildResult;\n\tif (!build && evidence?.compileStatus === undefined && evidence?.buildStatus === undefined) {\n\t\treturn undefined;\n\t}\n\tconst status = build?.status\n\t\t|| evidence?.compileStatus\n\t\t|| evidence?.buildStatus\n\t\t|| statusFromBoolean(build?.passed ?? build?.allExpectedPassed ?? evidence?.buildPassed);\n\treturn {\n\t\tstatus,\n\t\tcommand: cleanText(build?.command || evidence?.buildCommand, 500),\n\t\tartifactPath: cleanText(build?.artifactPath || build?.logPath || evidence?.buildLogPath, 500),\n\t\tmessage: cleanText(build?.message || build?.error || evidence?.buildMessage, 1000),\n\t\tdurationMs: Number(build?.durationMs ?? build?.duration_ms) || undefined,\n\t\tstaleEvidence: build?.staleEvidence === true || evidence?.staleBuildEvidence === true,\n\t\trecordedAt: eventDate(build || evidence || {})\n\t};\n}\n\nfunction collectRouteProbes(evidence: Record<string, any> | undefined): AIQaRouteProbe[] {\n\tconst probes: AIQaRouteProbe[] = [];\n\tconst rows = [\n\t\t...asArray<any>(evidence?.routeProbes),\n\t\t...asArray<any>(evidence?.route_probes),\n\t\t...asArray<any>(evidence?.routes),\n\t\t...asArray<any>(evidence?.browserRoutes),\n\t\t...asArray<any>(evidence?.browser_routes),\n\t\t...asArray<any>(evidence?.workflowProbes),\n\t\t...asArray<any>(evidence?.workflow_probes)\n\t];\n\tconst directProbe = plainObject(evidence?.routeProbe || evidence?.route_probe || evidence?.workflowProbe || evidence?.workflow_probe);\n\tif (Object.keys(directProbe).length) {\n\t\trows.push(directProbe);\n\t}\n\tfor (const entry of rows) {\n\t\tprobes.push({\n\t\t\troute: cleanText(entry.route || entry.path || entry.url, 500) || '/',\n\t\t\tstatus: entry.status || statusFromBoolean(entry.passed),\n\t\t\tscreenshot: cleanText(entry.screenshot || entry.screenshotPath, 500),\n\t\t\tcaption: cleanText(entry.caption || entry.message, 1000),\n\t\t\tshellOnly: entry.shellOnly === true,\n\t\t\tauthenticated: entry.authenticated === true,\n\t\t\tconsoleErrors: asArray<string>(entry.consoleErrors),\n\t\t\tnetworkErrors: asArray<string>(entry.networkErrors),\n\t\t\tmessage: cleanText(entry.message || entry.error, 1000),\n\t\t\trecordedAt: eventDate(entry)\n\t\t});\n\t}\n\tconst screenshots = asArray<any>(evidence?.screenshots || evidence?.qaScreenshots || evidence?.browserScreenshots);\n\tfor (const screenshot of screenshots.slice(0, 20)) {\n\t\tif (typeof screenshot === 'string') {\n\t\t\tprobes.push({ route: '/', status: 'pass', screenshot, caption: 'Historical browser screenshot recorded.' });\n\t\t} else if (screenshot.route || screenshot.path || screenshot.url || screenshot.screenshot || screenshot.file) {\n\t\t\tprobes.push({\n\t\t\t\troute: cleanText(screenshot.route || screenshot.url || screenshot.path, 500) || '/',\n\t\t\t\tstatus: screenshot.status || statusFromBoolean(screenshot.passed, 'pass'),\n\t\t\t\tscreenshot: cleanText(screenshot.screenshot || screenshot.screenshotPath || screenshot.file || screenshot.path, 500),\n\t\t\t\tcaption: cleanText(screenshot.caption || screenshot.message, 1000),\n\t\t\t\tshellOnly: screenshot.shellOnly === true,\n\t\t\t\tauthenticated: screenshot.authenticated === true,\n\t\t\t\trecordedAt: eventDate(screenshot)\n\t\t\t});\n\t\t}\n\t}\n\treturn probes;\n}\n\nfunction collectBusinessAssertions(evidence: Record<string, any> | undefined): AIQaBusinessAssertion[] {\n\tconst assertions: AIQaBusinessAssertion[] = [];\n\tconst rows = [\n\t\t...asArray<any>(evidence?.businessAssertions),\n\t\t...asArray<any>(evidence?.business_assertions),\n\t\t...asArray<any>(evidence?.workflowAssertions),\n\t\t...asArray<any>(evidence?.workflow_assertions),\n\t\t...asArray<any>(evidence?.assertions),\n\t\t...asArray<any>(evidence?.qaRows),\n\t\t...asArray<any>(evidence?.qa_rows),\n\t\t...asArray<any>(evidence?.rows),\n\t\t...asArray<any>(evidence?.supportQaAssertions),\n\t\t...asArray<any>(evidence?.support_qa_assertions),\n\t\t...asArray<any>(evidence?.aiQaBusinessAssertions),\n\t\t...asArray<any>(evidence?.ai_qa_business_assertions)\n\t];\n\tfor (const entry of rows) {\n\t\tassertions.push({\n\t\t\tassertion: cleanText(entry.assertion || entry.name || entry.label || entry.workflow || entry.expected, 1000) || 'business assertion',\n\t\t\tstatus: entry.status || entry.outcome || entry.result || statusFromBoolean(entry.passed),\n\t\t\tworkflow: cleanText(entry.workflow || entry.workflowName || entry.workflow_name, 400),\n\t\t\troute: cleanText(entry.route || entry.url, 500),\n\t\t\taction: cleanText(entry.action || entry.action_under_test || entry.actionUnderTest, 500),\n\t\t\texpected: cleanText(entry.expected || entry.expected_business_state_change || entry.expectedBusinessStateChange, 1000),\n\t\t\tobserved: cleanText(entry.observed || entry.actual || entry.after || entry.after_state || entry.afterState, 1000),\n\t\t\tdataProof: cleanText(entry.dataProof || entry.data_proof || entry.domProof || entry.dom_proof || entry.proof || entry.summary, 1400),\n\t\t\tmongoDelta: plainObject(entry.mongoDelta || entry.mongo_delta),\n\t\t\tartifactPaths: cleanStringList(entry.artifactPaths || entry.artifact_paths || entry.artifacts || entry.screenshots || (entry.screenshot ? [entry.screenshot] : []), 30, 500),\n\t\t\tmessage: cleanText(entry.message || entry.error || entry.reason, 1000),\n\t\t\trecordedAt: eventDate(entry),\n\t\t\tmetadata: {\n\t\t\t\t...plainObject(entry.metadata),\n\t\t\t\t...(entry.acceptanceBlocked === true || entry.acceptance_blocked === true ? { acceptanceBlocked: true } : {}),\n\t\t\t\t...(entry.routeOnly === true || entry.route_only === true ? { routeOnly: true } : {})\n\t\t\t}\n\t\t});\n\t}\n\tif (!assertions.length && evidence?.qaRunOutcome === 'business_assertion_passed') {\n\t\tassertions.push({\n\t\t\tassertion: cleanText(evidence.aiRunOutcomeReason || evidence.reason || 'Historical business assertion passed.', 1000),\n\t\t\tstatus: 'pass',\n\t\t\tdataProof: cleanText(evidence.aiRunOutcomeReason || evidence.reason, 1400)\n\t\t});\n\t}\n\tif (!assertions.length && evidence?.qaRunOutcome === 'business_assertion_failed') {\n\t\tassertions.push({\n\t\t\tassertion: cleanText(evidence.aiRunOutcomeReason || evidence.reason || 'Historical business assertion failed.', 1000),\n\t\t\tstatus: 'fail',\n\t\t\tobserved: cleanText(evidence.aiRunOutcomeReason || evidence.reason, 1000)\n\t\t});\n\t}\n\treturn assertions;\n}\n\nfunction buildQaFromEvidence(evidence: Record<string, any> | undefined, now?: Date | string): AIQaRun {\n\treturn buildAIQaRun({\n\t\tinfraChecks: collectInfraChecks(evidence),\n\t\tcompile: collectCompileResult(evidence),\n\t\trouteProbes: collectRouteProbes(evidence),\n\t\tbusinessAssertions: collectBusinessAssertions(evidence),\n\t\tartifacts: collectArtifacts(evidence),\n\t\tnow\n\t});\n}\n\nfunction isoNow(value?: Date | string): string {\n\tif (value instanceof Date) {\n\t\treturn value.toISOString();\n\t}\n\tif (value) {\n\t\tconst parsed = new Date(value);\n\t\tif (!Number.isNaN(parsed.getTime())) {\n\t\t\treturn parsed.toISOString();\n\t\t}\n\t}\n\treturn new Date().toISOString();\n}\n\nfunction normalizeMatchText(value: any): string {\n\treturn cleanText(value, 3000)\n\t\t.toLowerCase()\n\t\t.replace(/[^a-z0-9]+/g, ' ')\n\t\t.replace(/\\s+/g, ' ')\n\t\t.trim();\n}\n\nfunction importantTokens(value: any): Set<string> {\n\tconst stopWords = new Set([\n\t\t'the', 'and', 'that', 'with', 'from', 'after', 'before', 'when', 'then', 'this', 'must',\n\t\t'should', 'will', 'only', 'into', 'have', 'has', 'are', 'was', 'were', 'been'\n\t]);\n\treturn new Set(normalizeMatchText(value).split(' ')\n\t\t.filter((token) => token.length >= 4 && !stopWords.has(token)));\n}\n\nfunction businessAssertionPassed(assertion: AIQaBusinessAssertion): boolean {\n\treturn /^(pass|passed|success|ok|done)$/i.test(cleanText(assertion.status, 40));\n}\n\nfunction supportAssertionMatchesDiagnosisProof(assertion: AIQaBusinessAssertion, proofPlan: Record<string, any>): boolean {\n\tconst metadata = assertion.metadata || {};\n\tif (metadata.diagnosisProofPlanMatched === true || metadata.proofPlanMatched === true || metadata.supportDiagnosisProof === true) {\n\t\treturn true;\n\t}\n\tconst requiredBusinessAssertion = proofPlan.business_assertion || proofPlan.businessAssertion;\n\tconst proofParts = [\n\t\trequiredBusinessAssertion,\n\t\tproofPlan.after,\n\t\tproofPlan.data_assertion || proofPlan.dataAssertion,\n\t\tproofPlan.artifact_expectation || proofPlan.artifactExpectation\n\t].map((part) => normalizeMatchText(part)).filter((part) => part.length >= 16);\n\tif (!proofParts.length) {\n\t\treturn true;\n\t}\n\tconst assertionText = normalizeMatchText([\n\t\tassertion.assertion,\n\t\tassertion.workflow,\n\t\tassertion.action,\n\t\tassertion.expected,\n\t\tassertion.observed,\n\t\tassertion.dataProof,\n\t\tassertion.message\n\t].filter(Boolean).join(' '));\n\tif (proofParts.some((part) => assertionText.includes(part))) {\n\t\treturn true;\n\t}\n\tconst proofTokens = importantTokens([\n\t\trequiredBusinessAssertion,\n\t\tproofPlan.after,\n\t\tproofPlan.data_assertion || proofPlan.dataAssertion\n\t].filter(Boolean).join(' '));\n\tconst assertionTokens = importantTokens(assertionText);\n\tif (!proofTokens.size) {\n\t\treturn true;\n\t}\n\tlet overlap = 0;\n\tfor (const token of proofTokens) {\n\t\tif (assertionTokens.has(token)) {\n\t\t\toverlap += 1;\n\t\t}\n\t}\n\treturn overlap >= Math.min(4, Math.max(3, Math.ceil(proofTokens.size * 0.45)));\n}\n\nfunction supportDiagnosisProofGateResult(diagnosisGate: Record<string, any>, now?: Date | string): AIRunGateResult {\n\tconst proofPlan = diagnosisGate.proof_plan || diagnosisGate.proofPlan || {};\n\treturn {\n\t\tkey: 'support_diagnosis_business_proof',\n\t\tlabel: 'Diagnosis proof plan',\n\t\tstatus: 'blocked',\n\t\treason: 'Support business assertion did not map to the diagnosis proof_plan. Route proof or generic workflow proof cannot accept the ticket.',\n\t\tevidenceRefs: [],\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\tissueClass: cleanText(diagnosisGate.issue_class || diagnosisGate.issueClass, 120),\n\t\t\trequiredBusinessAssertion: cleanText(proofPlan.business_assertion || proofPlan.businessAssertion, 1000),\n\t\t\trequiredAfter: cleanText(proofPlan.after, 1000),\n\t\t\trequiredDataAssertion: cleanText(proofPlan.data_assertion || proofPlan.dataAssertion, 1000)\n\t\t}\n\t};\n}\n\nconst SUPPORT_ROOT_CAUSE_ENTRY_REQUIRED_FIELDS = [\n\t'issue_case',\n\t'issue_class',\n\t'accepted_hypothesis',\n\t'rejected_alternatives',\n\t'failing_path',\n\t'owner_files',\n\t'proof_plan',\n\t'evidence'\n];\n\nconst SUPPORT_ROOT_CAUSE_ENTRY_ISSUE_CLASSES = [\n\t'no_op_submit',\n\t'missing_wrong_data',\n\t'filter_query_mismatch',\n\t'invoice_pdf_export',\n\t'upload_import',\n\t'route_auth_hydration',\n\t'slow_query_performance'\n];\n\nfunction supportRootCauseEntryContractGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst requiredOutput = plainObject(contract.required_output || contract.requiredOutput);\n\tconst ownerPolicy = plainObject(contract.owner_file_policy || contract.ownerFilePolicy);\n\tconst businessProofPolicy = plainObject(contract.business_proof_policy || contract.businessProofPolicy);\n\tconst failurePolicy = plainObject(contract.failure_policy || contract.failurePolicy);\n\tconst probes = asArray<Record<string, any>>(contract.issue_class_probes || contract.issueClassProbes);\n\tconst requiredFields = cleanStringList(requiredOutput.required_fields || requiredOutput.requiredFields, 30, 160);\n\tconst issueClasses = probes.map((probe) => cleanText(probe.issue_class || probe.issueClass, 120)).filter(Boolean);\n\tconst missingRequiredFields = SUPPORT_ROOT_CAUSE_ENTRY_REQUIRED_FIELDS.filter((field) => !requiredFields.includes(field));\n\tconst missingIssueClasses = SUPPORT_ROOT_CAUSE_ENTRY_ISSUE_CLASSES.filter((issueClass) => !issueClasses.includes(issueClass));\n\tconst blockers: string[] = [];\n\tif (!cleanText(contract.contract_id || contract.contractId, 160)) {\n\t\tblockers.push('Root-cause entry contract is missing contract_id.');\n\t}\n\tif (cleanText(requiredOutput.object_key || requiredOutput.objectKey, 120) !== 'support_diagnosis_gate') {\n\t\tblockers.push('Root-cause entry contract must require support_diagnosis_gate output.');\n\t}\n\tif (missingRequiredFields.length) {\n\t\tblockers.push(`Root-cause entry contract missing required output fields: ${missingRequiredFields.join(', ')}.`);\n\t}\n\tconst ownerFileMax = Number(ownerPolicy.max_files || ownerPolicy.maxFiles || 0);\n\tif (!Number.isFinite(ownerFileMax) || ownerFileMax <= 0 || ownerFileMax > 12) {\n\t\tblockers.push('Root-cause entry contract must cap owner_files to a small exact file set.');\n\t}\n\tif (ownerPolicy.edits_outside_owner_files_require_revised_diagnosis !== true && ownerPolicy.editsOutsideOwnerFilesRequireRevisedDiagnosis !== true) {\n\t\tblockers.push('Root-cause entry contract must require revised diagnosis before edits outside owner_files.');\n\t}\n\tif (businessProofPolicy.requires_aiqa_business_assertion !== true && businessProofPolicy.requiresAiqaBusinessAssertion !== true) {\n\t\tblockers.push('Root-cause entry contract must require AIQaBusinessAssertion business proof.');\n\t}\n\tif (businessProofPolicy.route_load_screenshot_scorecard_model_claim_not_acceptance !== true && businessProofPolicy.routeLoadScreenshotScorecardModelClaimNotAcceptance !== true) {\n\t\tblockers.push('Root-cause entry contract must reject route-load/screenshot/scorecard/model-claim acceptance.');\n\t}\n\tif (failurePolicy.repeated_failure_without_new_evidence_parks_run !== true && failurePolicy.repeatedFailureWithoutNewEvidenceParksRun !== true) {\n\t\tblockers.push('Root-cause entry contract must park repeated failures without new evidence.');\n\t}\n\tif (missingIssueClasses.length) {\n\t\tblockers.push(`Root-cause entry contract missing issue-class probes: ${missingIssueClasses.join(', ')}.`);\n\t}\n\tconst status: AIRunGateResult['status'] = blockers.length ? 'fail' : 'pass';\n\treturn {\n\t\tkey: 'support_root_cause_entry_contract',\n\t\tlabel: 'Root-cause entry contract',\n\t\tstatus,\n\t\treason: blockers.length\n\t\t\t? blockers.join(' ')\n\t\t\t: 'Support run has a structured root-cause-first entry contract with issue-class probes, owner-file policy, and business-proof policy.',\n\t\tevidenceRefs: cleanStringList(businessProofPolicy.required_artifacts || businessProofPolicy.requiredArtifacts, 20, 500),\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contract_id || contract.contractId, 160),\n\t\t\tversion: cleanText(contract.version, 120),\n\t\t\tstatus: cleanText(contract.status, 120),\n\t\t\trequiredOutputKey: cleanText(requiredOutput.object_key || requiredOutput.objectKey, 120),\n\t\t\trequiredFields,\n\t\t\tmissingRequiredFields,\n\t\t\townerFileMax,\n\t\t\trequiresRevisedDiagnosisForOutOfScopeEdits: ownerPolicy.edits_outside_owner_files_require_revised_diagnosis === true || ownerPolicy.editsOutsideOwnerFilesRequireRevisedDiagnosis === true,\n\t\t\trequiresBusinessAssertion: businessProofPolicy.requires_aiqa_business_assertion === true || businessProofPolicy.requiresAiqaBusinessAssertion === true,\n\t\t\trouteOnlyAcceptanceRejected: businessProofPolicy.route_load_screenshot_scorecard_model_claim_not_acceptance === true || businessProofPolicy.routeLoadScreenshotScorecardModelClaimNotAcceptance === true,\n\t\t\tissueClassProbeCount: issueClasses.length,\n\t\t\tissueClasses,\n\t\t\tmissingIssueClasses\n\t\t}\n\t};\n}\n\nfunction applySupportDiagnosisProofGate(qa: AIQaRun, diagnosisGate: Record<string, any>, now?: Date | string): AIQaRun {\n\tconst proofPlan = diagnosisGate.proof_plan || diagnosisGate.proofPlan || {};\n\tconst requiredBusinessAssertion = cleanText(proofPlan.business_assertion || proofPlan.businessAssertion, 1000);\n\tconst requiredAfter = cleanText(proofPlan.after, 1000);\n\tif (!Object.keys(proofPlan).length || (!requiredBusinessAssertion && !requiredAfter)) {\n\t\treturn qa;\n\t}\n\tconst passedAssertions = qa.businessAssertions.filter(businessAssertionPassed);\n\tif (!passedAssertions.length) {\n\t\treturn qa;\n\t}\n\tif (passedAssertions.some((assertion) => supportAssertionMatchesDiagnosisProof(assertion, proofPlan))) {\n\t\treturn qa;\n\t}\n\tconst gate = supportDiagnosisProofGateResult(diagnosisGate, now);\n\treturn {\n\t\t...qa,\n\t\toutcome: qa.routeProbes.some((probe) => /^(pass|passed|success|ok|done)$/i.test(cleanText(probe.status, 40)))\n\t\t\t? 'route_only_pass'\n\t\t\t: 'incomplete',\n\t\tgateResults: [\n\t\t\t...qa.gateResults.filter((existing) => !(existing.key === 'qa_business_assertion' && existing.status === 'pass')),\n\t\t\tgate\n\t\t]\n\t};\n}\n\nconst SUPPORT_PRODUCT_REPAIR_STEP_TYPES = new Set([\n\t'build_repair',\n\t'owner_scoped_repair',\n\t'product_repair',\n\t'code_repair'\n]);\n\nconst SUPPORT_PRODUCT_REPAIR_ACTIONS = new Set([\n\t'run_owner_scoped_repair',\n\t'run_targeted_product_repair',\n\t'allow_product_repair'\n]);\n\nfunction supportSourceEditFiles(value: any): string[] {\n\treturn cleanStringList(value, 80, 500)\n\t\t.filter((filePath) => {\n\t\t\tconst normalized = filePath.replace(/\\\\/g, '/').toLowerCase();\n\t\t\tif (!normalized || /(^|\\/)(qa-artifacts|runner-evidence|logs?|tmp|dist|node_modules)(\\/|$)/.test(normalized)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn /\\.(?:ts|tsx|js|jsx|html|scss|css|json|mjs|cjs|vue|svelte|md)$/i.test(normalized);\n\t\t});\n}\n\nfunction supportRepairActivityFromRecord(\n\tvalue: any,\n\tsource: string,\n\tindex: number\n): { changedFiles: string[]; activityRef?: string } | undefined {\n\tconst record = plainObject(value);\n\tif (!Object.keys(record).length) {\n\t\treturn undefined;\n\t}\n\tconst stepType = cleanText(record.stepType || record.step_type || record.type, 120);\n\tconst action = cleanText(record.action || record.primaryAction || record.primary_action || record.allowedDispatchAction || record.allowed_dispatch_action, 120);\n\tconst lane = cleanText(record.lane || record.phase || record.category, 120).toLowerCase();\n\tconst changedFiles = supportSourceEditFiles(\n\t\trecord.changedFiles\n\t\t|| record.changed_files\n\t\t|| record.modifiedFiles\n\t\t|| record.modified_files\n\t\t|| record.editedFiles\n\t\t|| record.edited_files\n\t\t|| record.files\n\t);\n\tconst explicitProductRepair = SUPPORT_PRODUCT_REPAIR_STEP_TYPES.has(stepType)\n\t\t|| SUPPORT_PRODUCT_REPAIR_ACTIONS.has(action)\n\t\t|| (lane === 'build' && changedFiles.length > 0);\n\tif (!explicitProductRepair) {\n\t\treturn undefined;\n\t}\n\tconst activityRef = cleanText(\n\t\trecord.microtaskId\n\t\t|| record.microtask_id\n\t\t|| record.taskId\n\t\t|| record.task_id\n\t\t|| record.jobId\n\t\t|| record.job_id\n\t\t|| record._id\n\t\t|| record.id\n\t\t|| `${source}:${index}`,\n\t\t240\n\t);\n\treturn { changedFiles, activityRef };\n}\n\nfunction supportProductRepairEvidence(input: SupportAIRunAdapterInput, evidence: Record<string, any>): {\n\tattempted: boolean;\n\tchangedFiles: string[];\n\tactivityRefs: string[];\n\tactivityCount: number;\n} {\n\tconst job = input.job || {};\n\tconst records = [\n\t\t...asArray<any>(job.supportV5StepHistory),\n\t\t...asArray<any>(job.support_v5_step_history),\n\t\t...asArray<any>(job.stepHistory),\n\t\t...asArray<any>(job.step_history),\n\t\t...asArray<any>(evidence.supportV5StepHistory),\n\t\t...asArray<any>(evidence.support_v5_step_history),\n\t\t...asArray<any>(evidence.stepHistory),\n\t\t...asArray<any>(evidence.step_history),\n\t\t...asArray<any>(input.taskEvents),\n\t\t...asArray<any>(input.aiJobs),\n\t\t...asArray<any>(input.buildPlans)\n\t];\n\tconst activityRefs: string[] = [];\n\tconst changedFiles: string[] = [];\n\tlet activityCount = 0;\n\trecords.forEach((record, index) => {\n\t\tconst activity = supportRepairActivityFromRecord(record, 'support_repair_activity', index);\n\t\tif (!activity) {\n\t\t\treturn;\n\t\t}\n\t\tactivityCount += 1;\n\t\tif (activity.activityRef) {\n\t\t\tactivityRefs.push(activity.activityRef);\n\t\t}\n\t\tchangedFiles.push(...activity.changedFiles);\n\t});\n\tconst directChangedFiles = supportSourceEditFiles([\n\t\t...asArray<any>(job.changedFiles),\n\t\t...asArray<any>(job.changed_files),\n\t\t...asArray<any>(job.modifiedFiles),\n\t\t...asArray<any>(job.modified_files),\n\t\t...asArray<any>(job.editedFiles),\n\t\t...asArray<any>(job.edited_files),\n\t\t...asArray<any>(evidence.changedFiles),\n\t\t...asArray<any>(evidence.changed_files),\n\t\t...asArray<any>(evidence.modifiedFiles),\n\t\t...asArray<any>(evidence.modified_files),\n\t\t...asArray<any>(evidence.editedFiles),\n\t\t...asArray<any>(evidence.edited_files),\n\t\t...asArray<any>(input.commits).flatMap((commit) => asArray<any>(commit.changedFiles || commit.changed_files || commit.files))\n\t]);\n\tif (directChangedFiles.length) {\n\t\tactivityCount += 1;\n\t\tactivityRefs.push('changed_files');\n\t\tchangedFiles.push(...directChangedFiles);\n\t}\n\tconst uniqueChangedFiles = Array.from(new Set(changedFiles.map((filePath) => cleanText(filePath, 500)).filter(Boolean))).slice(0, 80);\n\treturn {\n\t\tattempted: activityCount > 0,\n\t\tchangedFiles: uniqueChangedFiles,\n\t\tactivityRefs: Array.from(new Set(activityRefs.map((ref) => cleanText(ref, 240)).filter(Boolean))).slice(0, 40),\n\t\tactivityCount\n\t};\n}\n\nfunction supportDiagnosisBeforeRepairGate(\n\tdiagnosisGate: Record<string, any>,\n\trepairEvidence: ReturnType<typeof supportProductRepairEvidence>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!repairEvidence.attempted) {\n\t\treturn undefined;\n\t}\n\tconst validation = validateResolveIOSupportDiagnosisGate(diagnosisGate);\n\tconst status: AIRunGateResult['status'] = validation.valid ? 'pass' : 'blocked';\n\treturn {\n\t\tkey: 'support_diagnosis_before_repair',\n\t\tlabel: 'Support diagnosis before repair',\n\t\tstatus,\n\t\treason: validation.valid\n\t\t\t? 'Support product repair has a valid root-cause diagnosis gate and owner-file scope.'\n\t\t\t: 'Support product repair is blocked until a valid SupportDiagnosisGate records reproduction/classification, accepted hypothesis, rejected alternatives, owner_files, and before/action/after proof.',\n\t\tevidenceRefs: repairEvidence.changedFiles,\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\trepairAttempted: true,\n\t\t\tactivityCount: repairEvidence.activityCount,\n\t\t\tactivityRefs: repairEvidence.activityRefs,\n\t\t\tchangedFiles: repairEvidence.changedFiles,\n\t\t\tdiagnosisValid: validation.valid,\n\t\t\tdiagnosisStatus: validation.status,\n\t\t\tblockers: validation.blockers,\n\t\t\townerFiles: validation.normalized?.owner_files || [],\n\t\t\tissueClass: validation.normalized?.issue_class,\n\t\t\tproductRepairAllowed: validation.valid,\n\t\t\tallowedDispatchAction: validation.valid ? 'run_owner_scoped_repair' : 'run_read_only_diagnosis',\n\t\t\trequiredEvidence: validation.valid\n\t\t\t\t? ['AIQaBusinessAssertion mapped to diagnosis proof_plan before acceptance']\n\t\t\t\t: ['support_diagnosis_gate JSON', 'reproduction or blocked-reproduction reason', 'accepted_hypothesis with evidence', 'owner_files', 'proof_plan before/action/after']\n\t\t}\n\t};\n}\n\nfunction supportOwnerFileScopeGate(\n\tdiagnosisGate: Record<string, any>,\n\trepairEvidence: ReturnType<typeof supportProductRepairEvidence>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!repairEvidence.attempted) {\n\t\treturn undefined;\n\t}\n\tconst validation = validateResolveIOSupportDiagnosisGate(diagnosisGate);\n\tif (!validation.valid || !validation.normalized) {\n\t\treturn undefined;\n\t}\n\tconst outsideOwnerFiles = changedFilesOutsideResolveIOSupportDiagnosisOwnerFiles(\n\t\tvalidation.normalized,\n\t\trepairEvidence.changedFiles,\n\t\t{ allowTests: true }\n\t);\n\tconst status: AIRunGateResult['status'] = outsideOwnerFiles.length ? 'blocked' : 'pass';\n\treturn {\n\t\tkey: 'support_owner_file_scope',\n\t\tlabel: 'Support owner-file scope',\n\t\tstatus,\n\t\treason: outsideOwnerFiles.length\n\t\t\t? `Support repair changed files outside diagnosis owner_files; revise diagnosis with new evidence before broadening edits: ${outsideOwnerFiles.join(', ')}`\n\t\t\t: 'Support repair stayed within diagnosis owner_files; test-only changes are allowed as supporting evidence.',\n\t\tevidenceRefs: outsideOwnerFiles.length ? outsideOwnerFiles : repairEvidence.changedFiles,\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\trepairAttempted: true,\n\t\t\tdiagnosisValid: true,\n\t\t\tissueClass: validation.normalized.issue_class,\n\t\t\townerFiles: validation.normalized.owner_files,\n\t\t\tchangedFiles: repairEvidence.changedFiles,\n\t\t\toutsideOwnerFiles,\n\t\t\tallowedTestFilesOutsideOwnerScope: true,\n\t\t\tproductRepairAllowed: outsideOwnerFiles.length === 0,\n\t\t\tallowedDispatchAction: outsideOwnerFiles.length ? 'run_read_only_diagnosis' : 'run_business_proof_qa',\n\t\t\trequiredEvidence: outsideOwnerFiles.length\n\t\t\t\t? ['revised SupportDiagnosisGate with evidence for each new owner file', 'updated failing_path and proof_plan matching broadened scope']\n\t\t\t\t: ['compile/unit proof', 'AIQaBusinessAssertion mapped to diagnosis proof_plan']\n\t\t}\n\t};\n}\n\nfunction evidenceObject(...values: any[]): Record<string, any> {\n\tfor (const value of values) {\n\t\tif (value && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn {};\n}\n\nfunction mergeEvidenceRecords(...values: any[]): Record<string, any> {\n\tconst merged: Record<string, any> = {};\n\tfor (const value of values) {\n\t\tconst source = plainObject(value);\n\t\tfor (const [key, entry] of Object.entries(source)) {\n\t\t\tif (entry === undefined || entry === null || entry === '') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Array.isArray(entry)) {\n\t\t\t\tmerged[key] = [...asArray(merged[key]), ...entry];\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (plainObject(entry) === entry && plainObject(merged[key]) === merged[key]) {\n\t\t\t\tmerged[key] = { ...merged[key], ...entry };\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tmerged[key] = entry;\n\t\t}\n\t}\n\treturn merged;\n}\n\nfunction buildSupportQaEvidence(input: SupportAIRunAdapterInput): Record<string, any> {\n\tconst job = input.job || {};\n\tconst ticket = input.ticket || {};\n\tconst qaCursor = plainObject(job.supportQaValidationCursor || job.support_qa_validation_cursor);\n\tconst autonomousDecision = plainObject(job.supportV5AutonomousDecision || job.support_v5_autonomous_decision);\n\tconst preflightGate = supportPreflightGateObject(ticket, job, {\n\t\t...plainObject(input.qaEvidence),\n\t\tsupportV5AutonomousDecision: autonomousDecision\n\t});\n\tconst businessProofReadiness = plainObject(\n\t\tautonomousDecision.businessProofReadiness\n\t\t|| autonomousDecision.business_proof_readiness\n\t\t|| job.businessProofReadiness\n\t\t|| job.business_proof_readiness\n\t);\n\tconst customerReplyPolicy = plainObject(\n\t\tautonomousDecision.customerReplyPolicy\n\t\t|| autonomousDecision.customer_reply_policy\n\t\t|| job.customerReplyPolicy\n\t\t|| job.customer_reply_policy\n\t);\n\tconst humanReviewPacket = plainObject(\n\t\tautonomousDecision.humanReviewPacket\n\t\t|| autonomousDecision.human_review_packet\n\t\t|| customerReplyPolicy.humanReviewPacket\n\t\t|| customerReplyPolicy.human_review_packet\n\t\t|| job.humanReviewPacket\n\t\t|| job.human_review_packet\n\t);\n\tconst evidence = mergeEvidenceRecords(\n\t\tqaCursor,\n\t\tjob.qaEvidence,\n\t\tjob.qa_evidence,\n\t\tticket.qaEvidence,\n\t\tticket.qa_evidence,\n\t\tinput.qaEvidence\n\t);\n\tevidence.supportQaAssertions = [\n\t\t...asArray(job.supportQaAssertions),\n\t\t...asArray(job.support_qa_assertions),\n\t\t...asArray(evidence.supportQaAssertions)\n\t];\n\tevidence.aiQaBusinessAssertions = [\n\t\t...asArray(job.aiQaBusinessAssertions),\n\t\t...asArray(job.ai_qa_business_assertions),\n\t\t...asArray(evidence.aiQaBusinessAssertions)\n\t];\n\tevidence.runnerEvidenceArtifacts = [\n\t\t...asArray(job.runnerEvidenceArtifacts),\n\t\t...asArray(job.runner_evidence_artifacts),\n\t\t...asArray(evidence.runnerEvidenceArtifacts)\n\t];\n\tevidence.supportQaArtifacts = [\n\t\t...asArray(job.supportQaArtifacts),\n\t\t...asArray(job.support_qa_artifacts),\n\t\t...asArray(job.qa_artifacts),\n\t\t...asArray(evidence.supportQaArtifacts)\n\t];\n\tif (Object.keys(businessProofReadiness).length) {\n\t\tevidence.businessProofReadiness = businessProofReadiness;\n\t}\n\tif (Object.keys(customerReplyPolicy).length) {\n\t\tevidence.customerReplyPolicy = {\n\t\t\t...customerReplyPolicy,\n\t\t\t...(Object.keys(humanReviewPacket).length ? { humanReviewPacket } : {})\n\t\t};\n\t}\n\telse if (Object.keys(humanReviewPacket).length) {\n\t\tevidence.customerReplyPolicy = { humanReviewPacket };\n\t}\n\tif (Object.keys(preflightGate).length) {\n\t\tevidence.supportV5PreflightGate = preflightGate;\n\t\tapplySupportPreflightGateToQaEvidence(evidence, preflightGate);\n\t}\n\treturn evidence;\n}\n\nfunction supportPreflightGateObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\treturn evidenceObject(\n\t\tjob.supportV5PreflightGate,\n\t\tjob.support_v5_preflight_gate,\n\t\tjob.preflightGate,\n\t\tjob.preflight_gate,\n\t\tevidence.supportV5PreflightGate,\n\t\tevidence.support_v5_preflight_gate,\n\t\tevidence.preflightGate,\n\t\tevidence.preflight_gate,\n\t\tautonomousDecision.preflightGate,\n\t\tautonomousDecision.preflight_gate,\n\t\tautonomousDecision.rootCauseReadiness?.preflightGate,\n\t\tautonomousDecision.root_cause_readiness?.preflight_gate,\n\t\tticket.supportV5PreflightGate,\n\t\tticket.support_v5_preflight_gate,\n\t\tticketManager.supportV5PreflightGate,\n\t\tticketManager.support_v5_preflight_gate,\n\t\tticketManager.preflightGate,\n\t\tticketManager.preflight_gate\n\t);\n}\n\nfunction supportPreflightStatus(value: any): string {\n\treturn cleanText(value, 120).toLowerCase();\n}\n\nfunction supportPreflightFailedChecks(preflightGate: Record<string, any>): Record<string, any>[] {\n\tconst failed = [\n\t\t...asArray<Record<string, any>>(preflightGate.failedChecks || preflightGate.failed_checks),\n\t\t...asArray<Record<string, any>>(preflightGate.checks).filter((check) => {\n\t\t\tconst status = supportPreflightStatus(check.status || check.state || check.outcome);\n\t\t\treturn /fail|failed|blocked|missing|error/.test(status);\n\t\t})\n\t];\n\tconst seen = new Set<string>();\n\treturn failed.filter((check) => {\n\t\tconst key = `${cleanText(check.name || check.check || check.key, 160)}:${cleanText(check.summary || check.message || check.error || check.reason, 500)}`;\n\t\tif (seen.has(key)) {\n\t\t\treturn false;\n\t\t}\n\t\tseen.add(key);\n\t\treturn true;\n\t});\n}\n\nfunction supportPreflightArtifactPaths(preflightGate: Record<string, any>, checks: Record<string, any>[]): string[] {\n\treturn Array.from(new Set([\n\t\t...cleanStringList(preflightGate.artifactPaths || preflightGate.artifact_paths, 60, 500),\n\t\t...checks.flatMap((check) => cleanStringList(check.artifactPaths || check.artifact_paths || check.artifacts, 20, 500)),\n\t\t...checks.map((check) => cleanText(check.artifactPath || check.artifact_path || check.path || check.file, 500)).filter(Boolean)\n\t])).slice(0, 80);\n}\n\nfunction supportPreflightCheckMessage(check: Record<string, any>): string {\n\treturn cleanText(check.summary || check.message || check.error || check.reason || check.status, 1000);\n}\n\nfunction applySupportPreflightGateToQaEvidence(evidence: Record<string, any>, preflightGate: Record<string, any>): void {\n\tconst status = supportPreflightStatus(preflightGate.status);\n\tconst failureClass = supportPreflightStatus(preflightGate.failureClass || preflightGate.failure_class);\n\tconst failedChecks = supportPreflightFailedChecks(preflightGate);\n\tconst artifactPaths = supportPreflightArtifactPaths(preflightGate, failedChecks);\n\tconst compileResult = plainObject(preflightGate.compileResult || preflightGate.compile_result);\n\tconst compileFailed = status === 'compile_failed'\n\t\t|| failureClass === 'compile'\n\t\t|| cleanText(compileResult.failureClass || compileResult.failure_class, 120).toLowerCase() === 'compile'\n\t\t|| failedChecks.some((check) => {\n\t\t\tconst name = supportPreflightStatus(check.name || check.check || check.key);\n\t\t\tconst checkClass = supportPreflightStatus(check.failureClass || check.failure_class);\n\t\t\treturn name === 'compile' || checkClass === 'compile';\n\t\t});\n\tif (compileFailed) {\n\t\tconst compileCheck = Object.keys(compileResult).length ? compileResult : failedChecks[0] || {};\n\t\tevidence.compile = {\n\t\t\t...plainObject(evidence.compile || evidence.build || evidence.buildResult || evidence.build_result),\n\t\t\tstatus: cleanText(compileCheck.status || preflightGate.status || 'fail', 80) || 'fail',\n\t\t\tcommand: cleanText(compileCheck.command || preflightGate.command || preflightGate.nextCommand || preflightGate.next_command, 500),\n\t\t\tartifactPath: artifactPaths[0] || cleanText(compileCheck.artifactPath || compileCheck.artifact_path || compileCheck.path, 500),\n\t\t\tmessage: supportPreflightCheckMessage(compileCheck) || cleanText(preflightGate.reason || preflightGate.blockers?.[0] || 'Support compile preflight failed before browser QA.', 1000),\n\t\t\tmetadata: {\n\t\t\t\tsource: 'supportV5PreflightGate',\n\t\t\t\tpreflightStatus: status,\n\t\t\t\tpreflightEvidenceHash: cleanText(preflightGate.evidenceHash || preflightGate.evidence_hash, 200),\n\t\t\t\tnextCommand: cleanText(preflightGate.nextCommand || preflightGate.next_command, 180)\n\t\t\t}\n\t\t};\n\t\treturn;\n\t}\n\tconst blocksRepair = preflightGate.blocksProductRepair === true || preflightGate.blocks_product_repair === true || /infra_failed|blocked|missing/.test(status);\n\tconst checks = failedChecks.length\n\t\t? failedChecks\n\t\t: Object.keys(preflightGate).length && (blocksRepair || status === 'passed')\n\t\t\t? [{\n\t\t\t\tname: 'support_preflight',\n\t\t\t\tstatus: status === 'passed' ? 'pass' : 'blocked',\n\t\t\t\tsummary: cleanStringList(preflightGate.blockers, 4, 500).join('; ') || cleanText(preflightGate.reason || preflightGate.status, 1000),\n\t\t\t\tartifactPaths\n\t\t\t}]\n\t\t\t: [];\n\tif (!checks.length) {\n\t\treturn;\n\t}\n\tevidence.infraChecks = [\n\t\t...asArray(evidence.infraChecks),\n\t\t...checks.map((check) => ({\n\t\t\tname: cleanText(check.name || check.check || check.key, 160) || 'support_preflight',\n\t\t\tstatus: cleanText(check.status || check.state || check.outcome || (status === 'passed' ? 'pass' : 'blocked'), 80),\n\t\t\tmessage: supportPreflightCheckMessage(check) || cleanStringList(preflightGate.blockers, 3, 500).join('; '),\n\t\t\tpath: cleanText(check.path || check.artifactPath || check.artifact_path, 500) || artifactPaths[0],\n\t\t\tmetadata: {\n\t\t\t\tsource: 'supportV5PreflightGate',\n\t\t\t\tpreflightStatus: status,\n\t\t\t\tpreflightFailureClass: failureClass,\n\t\t\t\tpreflightEvidenceHash: cleanText(preflightGate.evidenceHash || preflightGate.evidence_hash, 200),\n\t\t\t\tnextCommand: cleanText(preflightGate.nextCommand || preflightGate.next_command, 180)\n\t\t\t}\n\t\t}))\n\t];\n}\n\nfunction supportPreflightGateResult(\n\tpreflightGate: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!preflightGate || !Object.keys(preflightGate).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = supportPreflightStatus(preflightGate.status);\n\tconst ready = preflightGate.ready === true;\n\tconst blocksProductRepair = preflightGate.blocksProductRepair === true || preflightGate.blocks_product_repair === true;\n\tconst failedChecks = supportPreflightFailedChecks(preflightGate);\n\tconst artifactPaths = supportPreflightArtifactPaths(preflightGate, failedChecks);\n\tconst gateStatus: AIRunGateResult['status'] = ready || statusText === 'passed'\n\t\t? 'pass'\n\t\t: /compile_failed|infra_failed|fail|failed/.test(statusText)\n\t\t\t? 'fail'\n\t\t\t: blocksProductRepair || /missing|blocked/.test(statusText)\n\t\t\t\t? 'blocked'\n\t\t\t\t: 'warn';\n\tconst blockers = cleanStringList(preflightGate.blockers, 20, 500);\n\treturn {\n\t\tkey: 'support_preflight_gate',\n\t\tlabel: 'Support preflight gate',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'Support deterministic preflight passed before product-code repair.'\n\t\t\t: cleanText(blockers.join('; ') || preflightGate.reason || `Support deterministic preflight is ${statusText || 'not ready'} before product-code repair.`, 1200),\n\t\tevidenceRefs: artifactPaths,\n\t\trecordedAt: isoNow(now || preflightGate.recordedAt || preflightGate.recorded_at),\n\t\tmetadata: {\n\t\t\tready,\n\t\t\trequired: preflightGate.required === true,\n\t\t\tstatus: statusText,\n\t\t\tfailureClass: cleanText(preflightGate.failureClass || preflightGate.failure_class, 120),\n\t\t\tnextCommand: cleanText(preflightGate.nextCommand || preflightGate.next_command, 180),\n\t\t\tblocksProductRepair,\n\t\t\tblocksModelRepair: preflightGate.blocksModelRepair === true || preflightGate.blocks_model_repair === true,\n\t\t\tfailedChecks: failedChecks.map((check) => cleanText(check.name || check.check || check.key, 160)).filter(Boolean),\n\t\t\trequiredEvidence: cleanStringList(preflightGate.requiredEvidence || preflightGate.required_evidence, 20, 500),\n\t\t\tevidenceHash: cleanText(preflightGate.evidenceHash || preflightGate.evidence_hash, 200)\n\t\t}\n\t};\n}\n\nfunction supportBusinessProofReadinessGate(\n\treadiness: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!readiness || !Object.keys(readiness).length) {\n\t\treturn undefined;\n\t}\n\tconst ready = readiness.ready === true;\n\tconst readinessStatus = cleanText(readiness.status, 120).toLowerCase();\n\tconst blockers = cleanStringList(readiness.blockers, 20, 500);\n\tconst artifactPaths = cleanStringList(readiness.artifactPaths || readiness.artifact_paths, 40, 500);\n\tconst proofFingerprint = cleanText(readiness.proofFingerprint || readiness.proof_fingerprint, 160);\n\tconst artifactFingerprint = cleanText(readiness.artifactFingerprint || readiness.artifact_fingerprint, 160);\n\tconst proofFreshness = cleanText(readiness.proofFreshness || readiness.proof_freshness, 120);\n\tconst status: AIRunGateResult['status'] = ready\n\t\t? 'pass'\n\t\t: /fail|failed/.test(readinessStatus)\n\t\t\t? 'fail'\n\t\t\t: /missing|route_only|blocked|weak|stale|incomplete/.test(readinessStatus)\n\t\t\t\t? 'blocked'\n\t\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'support_business_proof_readiness',\n\t\tlabel: 'Support business proof readiness',\n\t\tstatus,\n\t\treason: cleanText(readiness.reason || blockers.join('; ') || readinessStatus || 'Support business proof readiness recorded.', 1200),\n\t\tevidenceRefs: artifactPaths,\n\t\trecordedAt: isoNow(now || readiness.recordedAt || readiness.recorded_at),\n\t\tmetadata: {\n\t\t\tready,\n\t\t\tstatus: readinessStatus,\n\t\t\tblockers,\n\t\t\trequiredEvidence: cleanStringList(readiness.requiredEvidence || readiness.required_evidence, 20, 500),\n\t\t\tproofFingerprint,\n\t\t\tartifactFingerprint,\n\t\t\tproofFreshness\n\t\t}\n\t};\n}\n\nfunction supportCustomerReplyPolicyGate(\n\tpolicy: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!policy || !Object.keys(policy).length) {\n\t\treturn undefined;\n\t}\n\tconst action = cleanText(policy.action, 120);\n\tconst safety = cleanText(policy.safety, 120);\n\tconst reason = cleanText(policy.reason, 1200);\n\tconst canDraft = policy.canDraftCustomerReply === true || policy.can_draft_customer_reply === true;\n\tconst canSend = policy.canSendCustomerReply === true || policy.can_send_customer_reply === true;\n\tconst reviewPacket = plainObject(policy.humanReviewPacket || policy.human_review_packet);\n\tconst draftBasis = plainObject(policy.draftBasis || policy.draft_basis);\n\tconst clarificationValidation = validateResolveIOSupportClarificationContract(policy.clarificationContract || policy.clarification_contract || {});\n\tconst clarificationContract = clarificationValidation.normalized;\n\tconst reviewType = cleanText(reviewPacket.reviewType || reviewPacket.review_type, 160);\n\tconst evidenceRefs = cleanStringList(reviewPacket.evidenceRefs || reviewPacket.evidence_refs, 40, 500);\n\tconst blockers = cleanStringList(policy.blockers || reviewPacket.blockers, 20, 500);\n\tconst gateStatus: AIRunGateResult['status'] = canSend\n\t\t? 'blocked'\n\t\t: action === 'draft_resolution_reply' && canDraft\n\t\t\t? 'warn'\n\t\t\t: action === 'ask_clarification' && canDraft\n\t\t\t\t? (clarificationValidation.valid ? 'warn' : 'blocked')\n\t\t\t\t: 'blocked';\n\tconst mergedBlockers = Array.from(new Set([\n\t\t...blockers,\n\t\t...(action === 'ask_clarification' ? clarificationValidation.blockers : [])\n\t]));\n\treturn {\n\t\tkey: 'support_customer_reply_policy',\n\t\tlabel: 'Support customer reply policy',\n\t\tstatus: gateStatus,\n\t\treason: reason || mergedBlockers.join('; ') || action || 'Support customer reply policy recorded.',\n\t\tevidenceRefs,\n\t\trecordedAt: isoNow(now || policy.recordedAt || policy.recorded_at || reviewPacket.createdAt || reviewPacket.created_at),\n\t\tmetadata: {\n\t\t\taction,\n\t\t\tsafety,\n\t\t\tcanDraftCustomerReply: canDraft,\n\t\t\tcanSendCustomerReply: canSend,\n\t\t\tconfidenceLevel: cleanText(policy.confidenceLevel || policy.confidence_level, 120),\n\t\t\tissueClass: cleanText(draftBasis.issueClass || draftBasis.issue_class, 120),\n\t\t\tissueClassProbePlanId: cleanText(draftBasis.issueClassProbePlanId || draftBasis.issue_class_probe_plan_id, 180),\n\t\t\tissueClassProbePlanStatus: cleanText(draftBasis.issueClassProbePlanStatus || draftBasis.issue_class_probe_plan_status, 120),\n\t\t\treviewType,\n\t\t\tprimaryAction: cleanText(reviewPacket.primaryAction || reviewPacket.primary_action, 160),\n\t\t\trequiresHumanApproval: reviewPacket.requiresHumanApproval !== false && reviewPacket.requires_human_approval !== false,\n\t\t\tquestionPresent: !!cleanText(policy.clarificationQuestion || policy.clarification_question || reviewPacket.question, 1000),\n\t\t\tclarificationContractStatus: cleanText(clarificationContract.status, 120),\n\t\t\tclarificationMissingField: cleanText(clarificationContract.missingField, 120),\n\t\t\tclarificationOneQuestionOnly: clarificationContract.oneQuestionOnly === true,\n\t\t\tclarificationParksTicket: clarificationContract.parksTicketUntilCustomerReply === true,\n\t\t\tblockers: mergedBlockers\n\t\t}\n\t};\n}\n\nfunction supportNextActionContractObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\treturn evidenceObject(\n\t\tautonomousDecision.nextActionContract,\n\t\tautonomousDecision.next_action_contract,\n\t\tjob.supportV5NextActionContract,\n\t\tjob.support_v5_next_action_contract,\n\t\tjob.nextActionContract,\n\t\tjob.next_action_contract,\n\t\tevidence.supportV5NextActionContract,\n\t\tevidence.support_v5_next_action_contract,\n\t\tevidence.nextActionContract,\n\t\tevidence.next_action_contract,\n\t\tticket.supportV5NextActionContract,\n\t\tticket.support_v5_next_action_contract,\n\t\tticket.nextActionContract,\n\t\tticket.next_action_contract,\n\t\tticketManager.nextActionContract,\n\t\tticketManager.next_action_contract\n\t);\n}\n\nfunction supportNextActionContractRequired(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): boolean {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst workflowMarkers = [\n\t\tjob.supportWorkflowMode,\n\t\tjob.workflowMode,\n\t\tjob.workflow_mode,\n\t\tjob.supportWorkflowVersion,\n\t\tjob.support_workflow_version,\n\t\tticket.supportWorkflowMode,\n\t\tticket.workflowMode,\n\t\tticket.workflow_mode\n\t].map((value) => cleanText(value, 80).toLowerCase());\n\treturn workflowMarkers.some((value) => value === 'support_v5' || value === 'v5')\n\t\t|| !!job.supportV5SupervisorState\n\t\t|| !!job.supportV5MicrotaskLedger\n\t\t|| !!job.supportV5StepHistory\n\t\t|| !!job.supportV5DiagnosisGate\n\t\t|| !!job.supportV5DiagnosisEvidencePack\n\t\t|| !!job.support_v5_supervisor_state\n\t\t|| !!job.support_v5_microtask_ledger\n\t\t|| !!job.support_v5_step_history\n\t\t|| !!job.support_v5_diagnosis_gate\n\t\t|| !!job.support_v5_diagnosis_evidence_pack\n\t\t|| !!job.supportRootCauseEntryContract\n\t\t|| !!job.support_root_cause_entry_contract\n\t\t|| !!evidence.supportV5AutonomousDecision\n\t\t|| !!evidence.support_v5_autonomous_decision\n\t\t|| !!evidence.rootCauseReadiness\n\t\t|| !!evidence.root_cause_readiness\n\t\t|| !!ticketManager.root_cause_entry_contract\n\t\t|| !!ticketManager.rootCauseEntryContract\n\t\t|| !!ticketManager.last_watchdog_decision;\n}\n\nfunction supportNextActionContractMetadata(contract: Record<string, any>): Record<string, any> {\n\tconst decisionBasis = plainObject(contract.decisionBasis || contract.decision_basis);\n\tconst costRisk = plainObject(contract.costRisk || contract.cost_risk);\n\tconst source = {\n\t\tcontractId: cleanText(contract.contractId || contract.contract_id, 200),\n\t\taction: cleanText(contract.action, 160),\n\t\tlabel: cleanText(contract.label, 300),\n\t\tprimaryCommand: cleanText(contract.primaryCommand || contract.primary_command, 240),\n\t\tlane: cleanText(contract.lane, 120),\n\t\tstepType: cleanText(contract.stepType || contract.step_type, 120),\n\t\tsafeToAutoRun: booleanFlag(contract.safeToAutoRun ?? contract.safe_to_auto_run),\n\t\trequiresHumanApproval: booleanFlag(contract.requiresHumanApproval ?? contract.requires_human_approval),\n\t\tcanRunWithoutCodexMonitor: booleanFlag(contract.canRunWithoutCodexMonitor ?? contract.can_run_without_codex_monitor),\n\t\tcodexFallbackRequired: booleanFlag(contract.codexFallbackRequired ?? contract.codex_fallback_required),\n\t\tcodexFallbackReason: cleanText(contract.codexFallbackReason || contract.codex_fallback_reason, 1000),\n\t\trootCauseFirstSatisfied: booleanFlag(contract.rootCauseFirstSatisfied ?? contract.root_cause_first_satisfied),\n\t\tpreconditions: cleanStringList(contract.preconditions, 40, 500),\n\t\texpectedStateTransition: cleanText(contract.expectedStateTransition || contract.expected_state_transition, 1000),\n\t\tsuccessEvidence: cleanStringList(contract.successEvidence || contract.success_evidence, 40, 500),\n\t\tstopConditions: cleanStringList(contract.stopConditions || contract.stop_conditions, 40, 500),\n\t\tforbiddenActions: cleanStringList(contract.forbiddenActions || contract.forbidden_actions, 40, 500),\n\t\townerFiles: cleanStringList(contract.ownerFiles || contract.owner_files || decisionBasis.ownerFiles || decisionBasis.owner_files, 40, 500),\n\t\tblockers: cleanStringList(contract.blockers, 40, 500),\n\t\tnextCommands: cleanStringList(contract.nextCommands || contract.next_commands, 40, 500),\n\t\tcostRisk: {\n\t\t\tlevel: cleanText(costRisk.level || contract.costRiskLevel || contract.cost_risk_level, 80),\n\t\t\testimatedUsd: numberValue(costRisk.estimatedUsd ?? costRisk.estimated_usd ?? contract.estimatedUsd ?? contract.estimated_usd),\n\t\t\treason: cleanText(costRisk.reason, 800)\n\t\t},\n\t\tdiagnosisValid: booleanFlag(decisionBasis.diagnosisValid ?? decisionBasis.diagnosis_valid),\n\t\townerFilesReady: booleanFlag(decisionBasis.ownerFilesReady ?? decisionBasis.owner_files_ready),\n\t\tproofPlanReady: booleanFlag(decisionBasis.proofPlanReady ?? decisionBasis.proof_plan_ready),\n\t\tbusinessProofReady: booleanFlag(decisionBasis.businessProofReady ?? decisionBasis.business_proof_ready),\n\t\tevidenceFreshnessStatus: cleanText(decisionBasis.evidenceFreshnessStatus || decisionBasis.evidence_freshness_status, 120),\n\t\tevidenceStrength: cleanText(decisionBasis.evidenceStrength || decisionBasis.evidence_strength, 120),\n\t\tfailureClass: cleanText(decisionBasis.failureClass || decisionBasis.failure_class, 120),\n\t\tblockerFingerprint: cleanText(decisionBasis.blockerFingerprint || decisionBasis.blocker_fingerprint, 200),\n\t\tevidenceHash: cleanText(decisionBasis.evidenceHash || decisionBasis.evidence_hash, 200),\n\t\tsameFailureCount: numberValue(decisionBasis.sameFailureCount ?? decisionBasis.same_failure_count),\n\t\tpreflightReady: booleanFlag(decisionBasis.preflightReady ?? decisionBasis.preflight_ready),\n\t\tpreflightStatus: cleanText(decisionBasis.preflightStatus || decisionBasis.preflight_status, 120),\n\t\tpreflightFailureClass: cleanText(decisionBasis.preflightFailureClass || decisionBasis.preflight_failure_class, 120),\n\t\tpreflightEvidenceHash: cleanText(decisionBasis.preflightEvidenceHash || decisionBasis.preflight_evidence_hash, 200),\n\t\thotfixCommitRequired: booleanFlag(decisionBasis.hotfixCommitRequired ?? decisionBasis.hotfix_commit_required ?? contract.hotfixCommitRequired ?? contract.hotfix_commit_required),\n\t\tliveHotfixBlockedUntilCommit: booleanFlag(decisionBasis.liveHotfixBlockedUntilCommit ?? decisionBasis.live_hotfix_blocked_until_commit ?? contract.liveHotfixBlockedUntilCommit ?? contract.live_hotfix_blocked_until_commit)\n\t};\n\treturn source;\n}\n\nfunction supportNextActionContractGate(contract: Record<string, any>, now?: Date | string, required = false): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\tif (!required) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst blocker = 'Support V5 run is missing a validated next-action contract, so the manager cannot prove one safe primary action without external Codex monitoring.';\n\t\treturn {\n\t\t\tkey: 'support_next_action_contract',\n\t\t\tlabel: 'Support next-action contract',\n\t\t\tstatus: 'blocked',\n\t\t\treason: blocker,\n\t\t\tevidenceRefs: [],\n\t\t\trecordedAt: isoNow(now),\n\t\t\tmetadata: {\n\t\t\t\trequired: true,\n\t\t\t\tmissingContract: true,\n\t\t\t\tsafeToAutoRun: false,\n\t\t\t\tcanRunWithoutCodexMonitor: false,\n\t\t\t\tcodexFallbackRequired: true,\n\t\t\t\tcodexFallbackReason: 'missing_support_next_action_contract',\n\t\t\t\tblockers: [blocker],\n\t\t\t\tmissingSafetyFlags: ['safeToAutoRun', 'canRunWithoutCodexMonitor', 'codexFallbackRequired']\n\t\t\t}\n\t\t};\n\t}\n\tconst metadata = supportNextActionContractMetadata(contract);\n\tconst blockers = cleanStringList(metadata.blockers, 40, 500);\n\tif (metadata.safeToAutoRun === false) {\n\t\tblockers.push('Next action contract marks the action unsafe for autonomous run.');\n\t}\n\tif (metadata.canRunWithoutCodexMonitor === false) {\n\t\tblockers.push('Next action requires Codex fallback/monitoring instead of manager-only execution.');\n\t}\n\tif (metadata.codexFallbackRequired === true) {\n\t\tblockers.push(metadata.codexFallbackReason || 'Next action contract requires Codex fallback.');\n\t}\n\tif (metadata.requiresHumanApproval === true) {\n\t\tblockers.push('Next action contract requires human approval.');\n\t}\n\tif (metadata.liveHotfixBlockedUntilCommit === true) {\n\t\tblockers.push('Live hotfix is blocked until the manager records and pushes the GitHub commit proof.');\n\t}\n\tconst missingSafetyFlags = [\n\t\tmetadata.safeToAutoRun === undefined ? 'safeToAutoRun' : '',\n\t\tmetadata.canRunWithoutCodexMonitor === undefined ? 'canRunWithoutCodexMonitor' : '',\n\t\tmetadata.codexFallbackRequired === undefined ? 'codexFallbackRequired' : ''\n\t].filter(Boolean);\n\tconst status: AIRunGateResult['status'] = blockers.length\n\t\t? 'blocked'\n\t\t: missingSafetyFlags.length\n\t\t\t? 'warn'\n\t\t\t: 'pass';\n\tconst actionLabel = metadata.label || metadata.action || metadata.primaryCommand || 'support next action';\n\treturn {\n\t\tkey: 'support_next_action_contract',\n\t\tlabel: 'Support next-action contract',\n\t\tstatus,\n\t\treason: blockers.length\n\t\t\t? blockers.join(' ')\n\t\t\t: missingSafetyFlags.length\n\t\t\t\t? `Support next-action contract is present for ${actionLabel}, but missing explicit safety flags: ${missingSafetyFlags.join(', ')}.`\n\t\t\t\t: `Support next-action contract allows ${actionLabel} without Codex monitoring.`,\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...metadata.successEvidence,\n\t\t\t...metadata.preconditions,\n\t\t\t...metadata.stopConditions\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || contract.createdAt || contract.created_at || contract.recordedAt || contract.recorded_at),\n\t\tmetadata: {\n\t\t\t...metadata,\n\t\t\tblockers,\n\t\t\tmissingSafetyFlags\n\t\t}\n\t};\n}\n\nfunction supportDiagnosisEvidencePackObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\treturn evidenceObject(\n\t\tjob.supportV5DiagnosisEvidencePack,\n\t\tjob.support_v5_diagnosis_evidence_pack,\n\t\tjob.diagnosisEvidencePack,\n\t\tjob.diagnosis_evidence_pack,\n\t\tevidence.supportV5DiagnosisEvidencePack,\n\t\tevidence.support_v5_diagnosis_evidence_pack,\n\t\tevidence.diagnosisEvidencePack,\n\t\tevidence.diagnosis_evidence_pack,\n\t\tticket.supportV5DiagnosisEvidencePack,\n\t\tticket.support_v5_diagnosis_evidence_pack,\n\t\tticket.diagnosisEvidencePack,\n\t\tticket.diagnosis_evidence_pack,\n\t\tticketManager.diagnosisEvidencePack,\n\t\tticketManager.diagnosis_evidence_pack\n\t);\n}\n\nfunction supportIssueClassProbePlanObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\treturn evidenceObject(\n\t\tautonomousDecision.issueClassProbePlan,\n\t\tautonomousDecision.issue_class_probe_plan,\n\t\tjob.supportV5IssueClassProbePlan,\n\t\tjob.support_v5_issue_class_probe_plan,\n\t\tjob.issueClassProbePlan,\n\t\tjob.issue_class_probe_plan,\n\t\tevidence.supportV5IssueClassProbePlan,\n\t\tevidence.support_v5_issue_class_probe_plan,\n\t\tevidence.issueClassProbePlan,\n\t\tevidence.issue_class_probe_plan,\n\t\tticket.supportV5IssueClassProbePlan,\n\t\tticket.support_v5_issue_class_probe_plan,\n\t\tticket.issueClassProbePlan,\n\t\tticket.issue_class_probe_plan,\n\t\tticketManager.issueClassProbePlan,\n\t\tticketManager.issue_class_probe_plan\n\t);\n}\n\nfunction supportSimilarFixHintsObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\treturn evidenceObject(\n\t\tjob.supportRootCauseSimilarFixHints,\n\t\tjob.support_root_cause_similar_fix_hints,\n\t\tjob.similarFixHints,\n\t\tjob.similar_fix_hints,\n\t\tevidence.supportRootCauseSimilarFixHints,\n\t\tevidence.support_root_cause_similar_fix_hints,\n\t\tevidence.similarFixHints,\n\t\tevidence.similar_fix_hints,\n\t\tticket.supportRootCauseSimilarFixHints,\n\t\tticket.support_root_cause_similar_fix_hints,\n\t\tticketManager.rootCauseSimilarFixHints,\n\t\tticketManager.root_cause_similar_fix_hints\n\t);\n}\n\nfunction supportDiagnosisEvidencePackGate(pack: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!pack || !Object.keys(pack).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = cleanText(pack.status, 120);\n\tconst diagnosisValid = pack.diagnosisValid === true || pack.diagnosis_valid === true;\n\tconst validationBlockers = cleanStringList(pack.validationBlockers || pack.validation_blockers, 40, 500);\n\tconst similarSelection = plainObject(pack.similarCaseSelection || pack.similar_case_selection);\n\tconst rankedHints = asArray<any>(similarSelection.ranked);\n\tconst gateStatus: AIRunGateResult['status'] = diagnosisValid || statusText === 'diagnosis_ready'\n\t\t? 'pass'\n\t\t: statusText === 'blocked'\n\t\t\t? 'blocked'\n\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'support_diagnosis_evidence_pack',\n\t\tlabel: 'Support diagnosis evidence pack',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'Support diagnosis evidence pack has a valid root-cause diagnosis and advisory similar-fix context.'\n\t\t\t: validationBlockers.join('; ') || 'Support diagnosis evidence pack requires read-only root-cause evidence before repair.',\n\t\tevidenceRefs: cleanStringList(pack.requiredEvidence || pack.required_evidence, 30, 500),\n\t\trecordedAt: isoNow(now || pack.generatedAt || pack.generated_at),\n\t\tmetadata: {\n\t\t\tpackId: cleanText(pack.packId || pack.pack_id, 180),\n\t\t\tstatus: statusText,\n\t\t\treadOnly: pack.readOnly !== false && pack.read_only !== false,\n\t\t\tsourceEditsAllowed: pack.sourceEditsAllowed === true || pack.source_edits_allowed === true,\n\t\t\trootCauseFirstRequired: pack.rootCauseFirstRequired !== false && pack.root_cause_first_required !== false,\n\t\t\trequiredOutputKey: cleanText(pack.requiredOutputKey || pack.required_output_key, 120),\n\t\t\trequiredFields: cleanStringList(pack.requiredFields || pack.required_fields, 20, 160),\n\t\t\tforbiddenActions: cleanStringList(pack.forbiddenActions || pack.forbidden_actions, 20, 500),\n\t\t\tdiagnosisValid,\n\t\t\tdiagnosisStatus: cleanText(pack.diagnosisStatus || pack.diagnosis_status, 120),\n\t\t\tvalidationBlockers,\n\t\t\tissueClassHint: cleanText(pack.issueClassHint || pack.issue_class_hint, 120),\n\t\t\townerFileHints: cleanStringList(pack.ownerFileHints || pack.owner_file_hints, 20, 500),\n\t\t\tsimilarHintCount: rankedHints.length,\n\t\t\tsimilarHintsAdvisoryOnly: true,\n\t\t\tissueClassProbeCount: asArray(pack.issueClassProbeCatalog || pack.issue_class_probe_catalog).length\n\t\t}\n\t};\n}\n\nfunction supportIssueClassProbePlanGate(plan: Record<string, any>, diagnosisGate: Record<string, any>, now?: Date | string, required = false): AIRunGateResult | undefined {\n\tif (!plan || !Object.keys(plan).length) {\n\t\tif (!required) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst blocker = 'Support V5 run is missing IssueClassProbePlan, so business proof cannot be accepted from route-only or generic QA.';\n\t\treturn {\n\t\t\tkey: 'support_issue_class_probe_plan',\n\t\t\tlabel: 'Support issue-class probe plan',\n\t\t\tstatus: 'blocked',\n\t\t\treason: blocker,\n\t\t\tevidenceRefs: [],\n\t\t\trecordedAt: isoNow(now),\n\t\t\tmetadata: {\n\t\t\t\trequired: true,\n\t\t\t\tmissingPlan: true,\n\t\t\t\tissueClassProbePlanReady: false,\n\t\t\t\tacceptanceGate: 'aiqa_business_assertion',\n\t\t\t\tblockers: [blocker],\n\t\t\t\tfalsePassBlockers: ['route load only', 'generic clickthrough only', 'scorecard-only pass']\n\t\t\t}\n\t\t};\n\t}\n\tconst validation = validateResolveIOSupportIssueClassProbePlan(plan, diagnosisGate, now);\n\tconst normalized = plainObject(validation.normalized || plan);\n\tconst activeProbe = plainObject(validation.activeProbe || normalized.activeProbe || normalized.active_probe);\n\tconst blockers = cleanStringList(validation.blockers || normalized.blockers, 40, 500);\n\tconst requiredArtifacts = cleanStringList(\n\t\tnormalized.requiredArtifacts\n\t\t|| normalized.required_artifacts\n\t\t|| activeProbe.required_artifacts,\n\t\t30,\n\t\t500\n\t);\n\tconst falsePassBlockers = cleanStringList(\n\t\tnormalized.falsePassBlockers\n\t\t|| normalized.false_pass_blockers\n\t\t|| activeProbe.false_pass_blockers,\n\t\t30,\n\t\t500\n\t);\n\tconst status: AIRunGateResult['status'] = validation.valid ? 'pass' : 'blocked';\n\tconst issueClass = cleanText(normalized.issue_class || normalized.issueClass || activeProbe.issue_class, 120);\n\tconst route = cleanText(activeProbe.route, 500);\n\tconst action = cleanText(activeProbe.action, 1000);\n\treturn {\n\t\tkey: 'support_issue_class_probe_plan',\n\t\tlabel: 'Support issue-class probe plan',\n\t\tstatus,\n\t\treason: validation.valid\n\t\t\t? `Support issue-class probe plan is ready for ${issueClass || 'the diagnosed issue'} and requires AIQaBusinessAssertion proof.`\n\t\t\t: blockers.join('; ') || 'Support issue-class probe plan is incomplete.',\n\t\tevidenceRefs: requiredArtifacts,\n\t\trecordedAt: isoNow(now || normalized.generatedAt || normalized.generated_at),\n\t\tmetadata: {\n\t\t\tplanId: cleanText(normalized.planId || normalized.plan_id, 180),\n\t\t\tstatus: cleanText(validation.status || normalized.status, 120),\n\t\t\tissueClass,\n\t\t\tdiagnosisValid: normalized.diagnosisValid === true || normalized.diagnosis_valid === true,\n\t\t\tissueClassProbePlanReady: validation.valid === true && validation.status === 'ready',\n\t\t\tactiveRoute: route,\n\t\t\taction,\n\t\t\texpectedEvidence: cleanText(activeProbe.expected_evidence || activeProbe.expectedEvidence, 1200),\n\t\t\texpectedBusinessProof: cleanText(activeProbe.expected_business_proof || activeProbe.expectedBusinessProof, 1200),\n\t\t\tacceptanceGate: cleanText(normalized.acceptanceGate || normalized.acceptance_gate || activeProbe.acceptance_gate, 120),\n\t\t\trequiredArtifacts,\n\t\t\tfalsePassBlockers,\n\t\t\tblockers,\n\t\t\tactiveProbe: {\n\t\t\t\tissueClass,\n\t\t\t\troute,\n\t\t\t\taction,\n\t\t\t\tprobeType: cleanText(activeProbe.probe_type || activeProbe.probeType, 120),\n\t\t\t\tfailureClass: cleanText(activeProbe.failure_class || activeProbe.failureClass, 120),\n\t\t\t\tblocksAcceptanceWithoutBusinessAssertion: activeProbe.blocks_acceptance_without_business_assertion === true\n\t\t\t\t\t|| activeProbe.blocksAcceptanceWithoutBusinessAssertion === true\n\t\t\t}\n\t\t}\n\t};\n}\n\nfunction firstNonEmptyText(values: any[], max = 1000): string | undefined {\n\tfor (const value of values) {\n\t\tconst normalized = idText(value, max);\n\t\tif (normalized) {\n\t\t\treturn normalized;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction booleanFlag(value: any): boolean | undefined {\n\tif (value === true || value === false) {\n\t\treturn value;\n\t}\n\tif (typeof value === 'string') {\n\t\tconst normalized = value.trim().toLowerCase();\n\t\tif (/^(true|yes|1|passed|pass|ready|safe)$/.test(normalized)) {\n\t\t\treturn true;\n\t\t}\n\t\tif (/^(false|no|0|failed|fail|blocked|unsafe)$/.test(normalized)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction numberValue(value: any): number | undefined {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction buildAICoderQaEvidence(input: AICoderAIRunAdapterInput): Record<string, any> {\n\tconst app = input.app || {};\n\tconst job = input.job || {};\n\tconst workflowMemory = plainObject(\n\t\tjob.aiCoderV6WorkflowMemory\n\t\t|| job.ai_coder_v6_workflow_memory\n\t\t|| app.aiCoderV6WorkflowMemory\n\t\t|| app.ai_coder_v6_workflow_memory\n\t);\n\tconst evidence = mergeEvidenceRecords(\n\t\tjob.qaEvidence,\n\t\tjob.qa_evidence,\n\t\tapp.qaEvidence,\n\t\tapp.qa_evidence,\n\t\tinput.qaEvidence\n\t);\n\tevidence.workflowQaRows = [\n\t\t...asArray(workflowMemory.workflowQaRows),\n\t\t...asArray(workflowMemory.workflow_qa_rows),\n\t\t...asArray(job.workflowQaRows),\n\t\t...asArray(job.workflow_qa_rows),\n\t\t...asArray(app.workflowQaRows),\n\t\t...asArray(app.workflow_qa_rows),\n\t\t...asArray(evidence.workflowQaRows),\n\t\t...asArray(evidence.workflow_qa_rows)\n\t];\n\tevidence.businessAssertions = [\n\t\t...asArray(job.aiQaBusinessAssertions),\n\t\t...asArray(job.ai_qa_business_assertions),\n\t\t...asArray(job.businessAssertions),\n\t\t...asArray(job.business_assertions),\n\t\t...asArray(app.businessAssertions),\n\t\t...asArray(app.business_assertions),\n\t\t...asArray(evidence.businessAssertions),\n\t\t...asArray(evidence.business_assertions)\n\t];\n\tevidence.routeProbes = [\n\t\t...asArray(job.workflowProbes),\n\t\t...asArray(job.workflow_probes),\n\t\t...asArray(evidence.routeProbes),\n\t\t...asArray(evidence.route_probes)\n\t];\n\tevidence.artifactPaths = [\n\t\t...asArray(workflowMemory.businessProofArtifacts),\n\t\t...asArray(workflowMemory.business_proof_artifacts),\n\t\t...asArray(job.artifactPaths),\n\t\t...asArray(job.artifact_paths),\n\t\t...asArray(app.artifactPaths),\n\t\t...asArray(app.artifact_paths),\n\t\t...asArray(evidence.artifactPaths),\n\t\t...asArray(evidence.artifact_paths)\n\t];\n\tevidence.journeyContract = evidence.journeyContract\n\t\t|| evidence.journey_contract\n\t\t|| job.journeyContract\n\t\t|| job.journey_contract\n\t\t|| app.journeyContract\n\t\t|| app.journey_contract\n\t\t|| workflowMemory.journeyContract\n\t\t|| workflowMemory.journey_contract;\n\tevidence.journeyContractMarkdown = evidence.journeyContractMarkdown\n\t\t|| evidence.journey_contract_markdown\n\t\t|| job.journeyContractMarkdown\n\t\t|| job.journey_contract_markdown\n\t\t|| app.journeyContractMarkdown\n\t\t|| app.journey_contract_markdown;\n\tevidence.journeyContractPath = firstNonEmptyText([\n\t\tevidence.journeyContractPath,\n\t\tevidence.journey_contract_path,\n\t\tworkflowMemory.journeyContractPath,\n\t\tworkflowMemory.journey_contract_path,\n\t\tjob.journeyContractPath,\n\t\tjob.journey_contract_path,\n\t\tapp.journeyContractPath,\n\t\tapp.journey_contract_path\n\t], 500) || 'docs/APP_JOURNEY_CONTRACT.md';\n\tevidence.deployStatus = firstNonEmptyText([\n\t\tevidence.deployStatus,\n\t\tevidence.deploy_status,\n\t\tjob.deployStatus,\n\t\tjob.deploy_status,\n\t\tjob.testDeployStatus,\n\t\tjob.test_deploy_status,\n\t\tapp.deployStatus,\n\t\tapp.deploy_status\n\t], 160);\n\tevidence.publishStatus = firstNonEmptyText([\n\t\tevidence.publishStatus,\n\t\tevidence.publish_status,\n\t\tevidence.pullRequestStatus,\n\t\tevidence.pull_request_status,\n\t\tjob.publishStatus,\n\t\tjob.publish_status,\n\t\tjob.pullRequestStatus,\n\t\tjob.pull_request_status,\n\t\tapp.publishStatus,\n\t\tapp.publish_status\n\t], 160);\n\tevidence.sampleDataStatus = firstNonEmptyText([\n\t\tevidence.sampleDataStatus,\n\t\tevidence.sample_data_status,\n\t\tjob.sampleDataStatus,\n\t\tjob.sample_data_status,\n\t\tapp.sampleDataStatus,\n\t\tapp.sample_data_status\n\t], 160) || statusFromBoolean(evidence.sampleDataReady ?? evidence.hasSampleData ?? job.sampleDataReady ?? app.sampleDataReady);\n\treturn evidence;\n}\n\nfunction normalizeAICoderWorkflowProofReadiness(\n\tvalue: Record<string, any>,\n\tnow?: Date | string\n): ResolveIOAICoderWorkflowProofReadiness | undefined {\n\tif (!value || !Object.keys(value).length) {\n\t\treturn undefined;\n\t}\n\tconst ready = value.ready === true;\n\tconst status = cleanText(value.status, 120) || (ready ? 'ready' : 'blocked');\n\treturn {\n\t\tready,\n\t\tstatus: status as ResolveIOAICoderWorkflowProofReadiness['status'],\n\t\treason: cleanText(value.reason || value.summary || status, 1200),\n\t\tblockers: cleanStringList(value.blockers, 40, 500),\n\t\tjourneyContractValid: value.journeyContractValid === true || value.journey_contract_valid === true,\n\t\tprimaryWorkflowId: cleanText(value.primaryWorkflowId || value.primary_workflow_id, 200),\n\t\tpassedWorkflowRows: cleanStringList(value.passedWorkflowRows || value.passed_workflow_rows, 80, 300),\n\t\tmissingWorkflowRows: cleanStringList(value.missingWorkflowRows || value.missing_workflow_rows, 80, 300),\n\t\tfailedWorkflowRows: cleanStringList(value.failedWorkflowRows || value.failed_workflow_rows, 80, 300),\n\t\tpassedBusinessAssertions: cleanStringList(value.passedBusinessAssertions || value.passed_business_assertions, 80, 500),\n\t\trouteOnly: value.routeOnly === true || value.route_only === true,\n\t\tscorecardOnly: value.scorecardOnly === true || value.scorecard_only === true,\n\t\tsampleDataReady: value.sampleDataReady === true || value.sample_data_ready === true,\n\t\treleaseBlockers: cleanStringList(value.releaseBlockers || value.release_blockers, 40, 500),\n\t\tartifactPaths: cleanStringList(value.artifactPaths || value.artifact_paths, 80, 500),\n\t\tworkflowProofFingerprint: cleanText(value.workflowProofFingerprint || value.workflow_proof_fingerprint, 200),\n\t\tartifactFingerprint: cleanText(value.artifactFingerprint || value.artifact_fingerprint, 200),\n\t\tproofFreshness: cleanText(value.proofFreshness || value.proof_freshness, 80) as ResolveIOAICoderWorkflowProofReadiness['proofFreshness'],\n\t\tnextAction: cleanText(value.nextAction || value.next_action, 1000),\n\t\tevaluatedAt: isoNow(now || value.evaluatedAt || value.evaluated_at || value.recordedAt || value.recorded_at)\n\t};\n}\n\nfunction aicoderJourneyContractValidationFromEvidence(evidence: Record<string, any>): ResolveIOAICoderJourneyContractValidationResult {\n\tconst journeyInput = evidence.journeyContract !== undefined && evidence.journeyContract !== null\n\t\t? evidence.journeyContract\n\t\t: evidence.journeyContractMarkdown;\n\tconst hasJourneyInput = journeyInput !== undefined && journeyInput !== null && cleanText(journeyInput, 100).length > 0;\n\tif (!hasJourneyInput) {\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tcontract: null,\n\t\t\tissues: [{\n\t\t\t\tcode: 'missing_contract',\n\t\t\t\tpath: cleanText(evidence.journeyContractPath, 500) || 'docs/APP_JOURNEY_CONTRACT.md',\n\t\t\t\tmessage: 'docs/APP_JOURNEY_CONTRACT.md with structured journey_contract JSON is required before AICoder build, workflow QA, wow UI, publish, or acceptance.',\n\t\t\t\tseverity: 'error'\n\t\t\t}],\n\t\t\tworkflowQaRows: [],\n\t\t\tprimaryWorkflowId: ''\n\t\t};\n\t}\n\treturn validateResolveIOAICoderJourneyContract(journeyInput, {\n\t\trequireMarkdownEnvelope: typeof journeyInput === 'string'\n\t});\n}\n\nfunction aicoderJourneyContractGate(\n\tvalidation: ResolveIOAICoderJourneyContractValidationResult,\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst errorIssues = validation.issues.filter((issue) => issue.severity === 'error');\n\tconst warningIssues = validation.issues.filter((issue) => issue.severity === 'warning');\n\tconst status: AIRunGateResult['status'] = validation.valid\n\t\t? (warningIssues.length ? 'warn' : 'pass')\n\t\t: 'blocked';\n\tconst path = cleanText(evidence.journeyContractPath, 500) || 'docs/APP_JOURNEY_CONTRACT.md';\n\treturn {\n\t\tkey: 'aicoder_journey_contract',\n\t\tlabel: 'AICoder journey contract',\n\t\tstatus,\n\t\treason: validation.valid\n\t\t\t? (warningIssues.length\n\t\t\t\t? `Journey contract is valid with warnings: ${warningIssues.map((issue) => issue.message).slice(0, 3).join(' | ')}`\n\t\t\t\t: 'Journey contract validates first/next/last workflow, data story, completion states, and QA assertions.')\n\t\t\t: (errorIssues.map((issue) => issue.message).slice(0, 5).join(' | ') || 'AICoder Journey Contract is missing or invalid.'),\n\t\tevidenceRefs: [path],\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\tpath,\n\t\t\tvalid: validation.valid,\n\t\t\tprimaryWorkflowId: cleanText(validation.primaryWorkflowId, 200),\n\t\t\tworkflowQaRowCount: validation.workflowQaRows.length,\n\t\t\terrorCount: errorIssues.length,\n\t\t\twarningCount: warningIssues.length,\n\t\t\tissueCodes: cleanStringList(validation.issues.map((issue) => issue.code), 40, 120),\n\t\t\tissues: validation.issues.slice(0, 20).map((issue) => ({\n\t\t\t\tcode: cleanText(issue.code, 120),\n\t\t\t\tpath: cleanText(issue.path, 500),\n\t\t\t\tseverity: issue.severity,\n\t\t\t\tmessage: cleanText(issue.message, 800)\n\t\t\t})),\n\t\t\tblocksBuildUntilValid: !validation.valid,\n\t\t\tblocksWorkflowQaUntilValid: !validation.valid,\n\t\t\tblocksWowUiUntilWorkflowProof: !validation.valid,\n\t\t\tblocksPublishUntilWorkflowProof: !validation.valid,\n\t\t\tnextAction: validation.valid\n\t\t\t\t? 'Generate workflow QA rows from journey_contract.qa_assertions and execute the north-star workflow.'\n\t\t\t\t: 'Generate or repair docs/APP_JOURNEY_CONTRACT.md before app build, wow UI, publish, or acceptance.'\n\t\t}\n\t};\n}\n\nfunction aicoderWorkflowProofReadinessGate(\n\treadiness: ResolveIOAICoderWorkflowProofReadiness,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst status: AIRunGateResult['status'] = readiness.ready\n\t\t? 'pass'\n\t\t: readiness.status === 'release_blocked' || readiness.status === 'journey_invalid' || readiness.status === 'sample_data_missing'\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'aicoder_workflow_proof_readiness',\n\t\tlabel: 'AICoder workflow proof readiness',\n\t\tstatus,\n\t\treason: readiness.reason || readiness.blockers.join('; ') || readiness.status,\n\t\tevidenceRefs: readiness.artifactPaths,\n\t\trecordedAt: isoNow(now || readiness.evaluatedAt),\n\t\tmetadata: {\n\t\t\tready: readiness.ready,\n\t\t\tstatus: readiness.status,\n\t\t\tprimaryWorkflowId: readiness.primaryWorkflowId,\n\t\t\tjourneyContractValid: readiness.journeyContractValid,\n\t\t\tblockers: readiness.blockers,\n\t\t\tpassedWorkflowRows: readiness.passedWorkflowRows,\n\t\t\tmissingWorkflowRows: readiness.missingWorkflowRows,\n\t\t\tfailedWorkflowRows: readiness.failedWorkflowRows,\n\t\t\tpassedBusinessAssertions: readiness.passedBusinessAssertions,\n\t\t\trouteOnly: readiness.routeOnly,\n\t\t\tscorecardOnly: readiness.scorecardOnly,\n\t\t\tsampleDataReady: readiness.sampleDataReady,\n\t\t\treleaseBlockers: readiness.releaseBlockers,\n\t\t\tworkflowProofFingerprint: readiness.workflowProofFingerprint,\n\t\t\tartifactFingerprint: readiness.artifactFingerprint,\n\t\t\tproofFreshness: readiness.proofFreshness,\n\t\t\tnextAction: readiness.nextAction\n\t\t}\n\t};\n}\n\nfunction aicoderWorkflowProofCheckpointObject(app: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst workflowMemory = plainObject(\n\t\tjob.aiCoderV6WorkflowMemory\n\t\t|| job.ai_coder_v6_workflow_memory\n\t\t|| app.aiCoderV6WorkflowMemory\n\t\t|| app.ai_coder_v6_workflow_memory\n\t\t|| evidence.aiCoderV6WorkflowMemory\n\t\t|| evidence.ai_coder_v6_workflow_memory\n\t);\n\tconst continuationDecision = plainObject(\n\t\tjob.aicoderV6ContinuationDecision\n\t\t|| job.aiCoderV6ContinuationDecision\n\t\t|| job.aicoder_v6_continuation_decision\n\t\t|| job.ai_coder_v6_continuation_decision\n\t\t|| app.aicoderV6ContinuationDecision\n\t\t|| app.aiCoderV6ContinuationDecision\n\t\t|| app.aicoder_v6_continuation_decision\n\t\t|| evidence.aicoderV6ContinuationDecision\n\t\t|| evidence.aiCoderV6ContinuationDecision\n\t\t|| evidence.aicoder_v6_continuation_decision\n\t);\n\treturn evidenceObject(\n\t\tcontinuationDecision.workflowProofCheckpoint,\n\t\tcontinuationDecision.workflow_proof_checkpoint,\n\t\tworkflowMemory.workflowProofCheckpoint,\n\t\tworkflowMemory.workflow_proof_checkpoint,\n\t\tjob.workflowProofCheckpoint,\n\t\tjob.workflow_proof_checkpoint,\n\t\tjob.aicoderWorkflowProofCheckpoint,\n\t\tjob.aicoder_workflow_proof_checkpoint,\n\t\tapp.workflowProofCheckpoint,\n\t\tapp.workflow_proof_checkpoint,\n\t\tevidence.workflowProofCheckpoint,\n\t\tevidence.workflow_proof_checkpoint,\n\t\tevidence.aicoderWorkflowProofCheckpoint,\n\t\tevidence.aicoder_workflow_proof_checkpoint\n\t);\n}\n\nfunction aicoderWorkflowProofCheckpointGate(checkpoint: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!checkpoint || !Object.keys(checkpoint).length) {\n\t\treturn undefined;\n\t}\n\tconst blocksProductRepairUntilJourneyContract = booleanFlag(checkpoint.blocksProductRepairUntilJourneyContract ?? checkpoint.blocks_product_repair_until_journey_contract) === true;\n\tconst blocksPublishUntilWorkflowProof = booleanFlag(checkpoint.blocksPublishUntilWorkflowProof ?? checkpoint.blocks_publish_until_workflow_proof) === true;\n\tconst blocksPublishUntilReleaseGate = booleanFlag(checkpoint.blocksPublishUntilReleaseGate ?? checkpoint.blocks_publish_until_release_gate) === true;\n\tconst blocksWowUiUntilWorkflowProof = booleanFlag(checkpoint.blocksWowUiUntilWorkflowProof ?? checkpoint.blocks_wow_ui_until_workflow_proof) === true;\n\tconst statusText = cleanText(checkpoint.status, 120);\n\tconst required = booleanFlag(checkpoint.required) !== false;\n\tconst blockers = cleanStringList(checkpoint.blockers, 40, 500);\n\tif (blocksProductRepairUntilJourneyContract) {\n\t\tblockers.push('Product repair is blocked until the journey contract is valid.');\n\t}\n\tif (blocksPublishUntilWorkflowProof) {\n\t\tblockers.push('Publish is blocked until workflow business proof passes.');\n\t}\n\tif (blocksPublishUntilReleaseGate) {\n\t\tblockers.push('Publish is blocked until release gate evidence passes.');\n\t}\n\tif (blocksWowUiUntilWorkflowProof) {\n\t\tblockers.push('Wow UI polish is blocked until workflow proof exists.');\n\t}\n\tconst gateStatus: AIRunGateResult['status'] = !required || statusText === 'ready_to_continue'\n\t\t? 'pass'\n\t\t: blockers.length\n\t\t\t? 'blocked'\n\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'aicoder_workflow_proof_checkpoint',\n\t\tlabel: 'AICoder workflow proof checkpoint',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'AICoder workflow checkpoint allows the next action.'\n\t\t\t: (blockers.join(' ') || cleanText(checkpoint.nextAction || checkpoint.next_action || statusText, 1200) || 'AICoder workflow checkpoint requires more proof before continuing.'),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray(checkpoint.requiredEvidence || checkpoint.required_evidence),\n\t\t\t...asArray(checkpoint.requiredResetEvidence || checkpoint.required_reset_evidence)\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || checkpoint.recordedAt || checkpoint.recorded_at || checkpoint.createdAt || checkpoint.created_at),\n\t\tmetadata: {\n\t\t\trequired,\n\t\t\tstatus: statusText,\n\t\t\treadinessStatus: cleanText(checkpoint.readinessStatus || checkpoint.readiness_status, 120),\n\t\t\tnextGate: cleanText(checkpoint.nextGate || checkpoint.next_gate, 120),\n\t\t\tnextAction: cleanText(checkpoint.nextAction || checkpoint.next_action, 1000),\n\t\t\tstartingFailureClass: cleanText(checkpoint.startingFailureClass || checkpoint.starting_failure_class, 120),\n\t\t\tstartingBlockerFingerprint: cleanText(checkpoint.startingBlockerFingerprint || checkpoint.starting_blocker_fingerprint, 200),\n\t\t\tstartingEvidenceHash: cleanText(checkpoint.startingEvidenceHash || checkpoint.starting_evidence_hash, 200),\n\t\t\tworkflowProofFingerprint: cleanText(checkpoint.workflowProofFingerprint || checkpoint.workflow_proof_fingerprint, 200),\n\t\t\tartifactFingerprint: cleanText(checkpoint.artifactFingerprint || checkpoint.artifact_fingerprint, 200),\n\t\t\trequiredEvidence: cleanStringList(checkpoint.requiredEvidence || checkpoint.required_evidence, 40, 500),\n\t\t\trequiredResetEvidence: cleanStringList(checkpoint.requiredResetEvidence || checkpoint.required_reset_evidence, 40, 500),\n\t\t\tsuccessRequiresWorkflowBusinessProof: booleanFlag(checkpoint.successRequiresWorkflowBusinessProof ?? checkpoint.success_requires_workflow_business_proof) === true,\n\t\t\tblocksProductRepairUntilJourneyContract,\n\t\t\tblocksPublishUntilWorkflowProof,\n\t\t\tblocksPublishUntilReleaseGate,\n\t\t\tblocksWowUiUntilWorkflowProof,\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction aicoderNextActionContractObject(app: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst continuationDecision = plainObject(\n\t\tjob.aicoderV6ContinuationDecision\n\t\t|| job.aiCoderV6ContinuationDecision\n\t\t|| job.aicoder_v6_continuation_decision\n\t\t|| job.ai_coder_v6_continuation_decision\n\t\t|| app.aicoderV6ContinuationDecision\n\t\t|| app.aiCoderV6ContinuationDecision\n\t\t|| app.aicoder_v6_continuation_decision\n\t\t|| evidence.aicoderV6ContinuationDecision\n\t\t|| evidence.aiCoderV6ContinuationDecision\n\t\t|| evidence.aicoder_v6_continuation_decision\n\t);\n\treturn evidenceObject(\n\t\tcontinuationDecision.nextActionContract,\n\t\tcontinuationDecision.next_action_contract,\n\t\tjob.nextActionContract,\n\t\tjob.next_action_contract,\n\t\tjob.aicoderNextActionContract,\n\t\tjob.aicoder_next_action_contract,\n\t\tjob.aiCoderNextActionContract,\n\t\tjob.ai_coder_next_action_contract,\n\t\tapp.nextActionContract,\n\t\tapp.next_action_contract,\n\t\tevidence.nextActionContract,\n\t\tevidence.next_action_contract,\n\t\tevidence.aicoderNextActionContract,\n\t\tevidence.aicoder_next_action_contract\n\t);\n}\n\nfunction aicoderNextActionContractGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst safeToAutoRun = booleanFlag(contract.safeToAutoRun ?? contract.safe_to_auto_run) === true;\n\tconst requiresHumanApproval = booleanFlag(contract.requiresHumanApproval ?? contract.requires_human_approval) === true;\n\tconst canRunWithoutCodexMonitor = booleanFlag(contract.canRunWithoutCodexMonitor ?? contract.can_run_without_codex_monitor) === true;\n\tconst codexFallbackRequired = booleanFlag(contract.codexFallbackRequired ?? contract.codex_fallback_required) === true;\n\tconst sourceBlockers = cleanStringList(contract.blockers, 40, 500);\n\tconst primaryCommand = cleanText(contract.primaryCommand || contract.primary_command, 200);\n\tconst liveHotfixBlockedUntilCommit = booleanFlag(contract.liveHotfixBlockedUntilCommit ?? contract.live_hotfix_blocked_until_commit ?? plainObject(contract.decisionBasis || contract.decision_basis).liveHotfixBlockedUntilCommit ?? plainObject(contract.decisionBasis || contract.decision_basis).live_hotfix_blocked_until_commit) === true;\n\tconst safetyBlockers = Array.from(new Set([\n\t\t...(safeToAutoRun ? [] : ['AICoder next action is not marked safe to auto-run.']),\n\t\t...(canRunWithoutCodexMonitor ? [] : ['AICoder next action requires Codex fallback/monitoring instead of manager-only execution.']),\n\t\t...(codexFallbackRequired ? [cleanText(contract.codexFallbackReason || contract.codex_fallback_reason, 1000) || 'AICoder next action contract requires Codex fallback.'] : []),\n\t\t...(requiresHumanApproval ? ['AICoder next action requires human approval.'] : []),\n\t\t...(liveHotfixBlockedUntilCommit ? ['Live AICoder hotfix is blocked until GitHub commit and push proof is recorded.'] : [])\n\t])).filter(Boolean).slice(0, 40);\n\tconst contractBlockers = safetyBlockers.length\n\t\t? Array.from(new Set([...sourceBlockers, ...safetyBlockers])).slice(0, 40)\n\t\t: [];\n\tconst missingSafetyFlags = [\n\t\tcontract.safeToAutoRun === undefined && contract.safe_to_auto_run === undefined ? 'safeToAutoRun' : '',\n\t\tcontract.canRunWithoutCodexMonitor === undefined && contract.can_run_without_codex_monitor === undefined ? 'canRunWithoutCodexMonitor' : '',\n\t\tcontract.codexFallbackRequired === undefined && contract.codex_fallback_required === undefined ? 'codexFallbackRequired' : ''\n\t].filter(Boolean);\n\tconst gateStatus: AIRunGateResult['status'] = contractBlockers.length\n\t\t? 'blocked'\n\t\t: missingSafetyFlags.length\n\t\t\t? 'warn'\n\t\t\t: 'pass';\n\treturn {\n\t\tkey: 'aicoder_next_action_contract',\n\t\tlabel: 'AICoder next action contract',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? `AICoder can run ${primaryCommand || 'the next action'} without a Codex monitor.`\n\t\t\t: (contractBlockers.join(' ') || cleanText(contract.codexFallbackReason || contract.codex_fallback_reason || contract.expectedStateTransition || contract.expected_state_transition, 1200) || 'AICoder next action is not safe to run unattended.'),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray(contract.preconditions),\n\t\t\t...asArray(contract.successEvidence || contract.success_evidence),\n\t\t\t...asArray(contract.stopConditions || contract.stop_conditions)\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || contract.createdAt || contract.created_at || contract.recordedAt || contract.recorded_at),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contractId || contract.contract_id, 200),\n\t\t\taction: cleanText(contract.action, 120),\n\t\t\tlabel: cleanText(contract.label, 200),\n\t\t\tprimaryCommand,\n\t\t\tlane: cleanText(contract.lane, 120),\n\t\t\tstepType: cleanText(contract.stepType || contract.step_type, 120),\n\t\t\tsafeToAutoRun,\n\t\t\trequiresHumanApproval,\n\t\t\tcanRunWithoutCodexMonitor,\n\t\t\tcodexFallbackRequired,\n\t\t\tcodexFallbackReason: cleanText(contract.codexFallbackReason || contract.codex_fallback_reason, 1000),\n\t\t\tcostRisk: cleanText(contract.costRisk || contract.cost_risk, 120),\n\t\t\tworkflowFirstSatisfied: booleanFlag(contract.workflowFirstSatisfied ?? contract.workflow_first_satisfied) === true,\n\t\t\thotfixCommitRequired: booleanFlag(contract.hotfixCommitRequired ?? contract.hotfix_commit_required ?? plainObject(contract.decisionBasis || contract.decision_basis).hotfixCommitRequired ?? plainObject(contract.decisionBasis || contract.decision_basis).hotfix_commit_required) === true,\n\t\t\tliveHotfixBlockedUntilCommit,\n\t\t\tdecisionBasis: plainObject(contract.decisionBasis || contract.decision_basis),\n\t\t\tpreconditions: cleanStringList(contract.preconditions, 40, 500),\n\t\t\texpectedStateTransition: cleanText(contract.expectedStateTransition || contract.expected_state_transition, 1000),\n\t\t\tsuccessEvidence: cleanStringList(contract.successEvidence || contract.success_evidence, 40, 500),\n\t\t\trequiredHotfixCommitProof: cleanStringList(contract.requiredHotfixCommitProof || contract.required_hotfix_commit_proof, 20, 240),\n\t\t\tstopConditions: cleanStringList(contract.stopConditions || contract.stop_conditions, 40, 500),\n\t\t\tforbiddenActions: cleanStringList(contract.forbiddenActions || contract.forbidden_actions, 40, 500),\n\t\t\tnextCommands: cleanStringList(contract.nextCommands || contract.next_commands, 40, 240),\n\t\t\tblockers: contractBlockers,\n\t\t\tcontextBlockers: sourceBlockers,\n\t\t\tsafetyBlockers,\n\t\t\tmissingSafetyFlags,\n\t\t\townerFiles: cleanStringList(contract.ownerFiles || contract.owner_files, 40, 500)\n\t\t}\n\t};\n}\n\nfunction adapterStatusPassed(value: any): boolean {\n\tconst normalized = cleanText(value, 120).toLowerCase();\n\treturn !!normalized && /(pass|passed|success|succeeded|ok|done|complete|completed|ready|saved|published|deployed)/i.test(normalized);\n}\n\nfunction applyAICoderWorkflowProofGate(\n\tqa: AIQaRun,\n\treadiness: ResolveIOAICoderWorkflowProofReadiness,\n\tnow?: Date | string\n): AIQaRun {\n\tif (\n\t\treadiness.ready\n\t\t|| readiness.status === 'release_blocked'\n\t\t|| qa.outcome === 'infra_failed'\n\t\t|| qa.outcome === 'compile_failed'\n\t\t|| qa.outcome === 'route_failed'\n\t\t|| qa.outcome === 'business_assertion_failed'\n\t) {\n\t\treturn qa;\n\t}\n\tconst gate = aicoderWorkflowProofReadinessGate(readiness, now);\n\treturn {\n\t\t...qa,\n\t\toutcome: qa.routeProbes.some((probe) => adapterStatusPassed(probe.status))\n\t\t\t? 'route_only_pass'\n\t\t\t: 'incomplete',\n\t\tgateResults: [\n\t\t\t...qa.gateResults.filter((existing) => !(existing.key === 'qa_business_assertion' && existing.status === 'pass')),\n\t\t\tgate\n\t\t]\n\t};\n}\n\nfunction assistantQualityObject(input: AssistantAIRunAdapterInput): Record<string, any> {\n\tconst conversation = input.conversation || {};\n\tconst latestAssistantMessage = [...asArray<Record<string, any>>(input.messages)]\n\t\t.reverse()\n\t\t.find((message) => /assistant/i.test(cleanText(message.role || message.authorRole || message.type, 80)));\n\treturn plainObject(\n\t\tinput.answerQuality\n\t\t|| conversation.answerQuality\n\t\t|| conversation.answer_quality\n\t\t|| conversation.assistantAnswerQuality\n\t\t|| conversation.assistant_answer_quality\n\t\t|| latestAssistantMessage?.answerQuality\n\t\t|| latestAssistantMessage?.answer_quality\n\t\t|| latestAssistantMessage?.metadata?.answerQuality\n\t\t|| latestAssistantMessage?.metadata?.answer_quality\n\t);\n}\n\nfunction assistantConfidenceLevel(value: any): AssistantAnswerQualityDecision['confidenceLevel'] {\n\tconst normalized = cleanText(value?.level || value?.confidenceLevel || value?.confidence_level || value, 80).toLowerCase();\n\tif (/^high$/.test(normalized)) {\n\t\treturn 'high';\n\t}\n\tif (/^medium$/.test(normalized)) {\n\t\treturn 'medium';\n\t}\n\tif (/^low$/.test(normalized)) {\n\t\treturn 'low';\n\t}\n\treturn 'unknown';\n}\n\nfunction assistantQueryStatus(value: any): AssistantAnswerQualityDecision['queryStatus'] {\n\tconst normalized = cleanText(value?.status || value?.queryStatus || value?.query_status || value, 120).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (/^(ok|success|answered|data_found|data)$/.test(normalized)) {\n\t\treturn 'ok';\n\t}\n\tif (/^(no_data|no_results|empty|not_found)$/.test(normalized)) {\n\t\treturn 'no_data';\n\t}\n\tif (/^(query_error|mongo_error|error|failed)$/.test(normalized)) {\n\t\treturn 'query_error';\n\t}\n\tif (/^(permission_error|permission_denied|forbidden|unauthorized)$/.test(normalized)) {\n\t\treturn 'permission_error';\n\t}\n\treturn 'unknown';\n}\n\nfunction asObjectList(value: any): Record<string, any>[] {\n\treturn asArray<Record<string, any>>(value).filter((entry) => entry && typeof entry === 'object' && !Array.isArray(entry));\n}\n\nfunction assistantEvidenceRefs(quality: Record<string, any>): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.evidenceRefs),\n\t\t...asArray(quality.evidence_refs),\n\t\t...asArray(quality.citationRefs),\n\t\t...asArray(quality.citation_refs),\n\t\t...asArray(quality.artifactPaths),\n\t\t...asArray(quality.artifact_paths),\n\t\t...asObjectList(quality.citations).map((citation) => citation.path || citation.url || citation.id || citation.ref),\n\t\t...asObjectList(quality.evidence).map((entry) => entry.path || entry.url || entry.id || entry.ref)\n\t], 80, 500);\n}\n\nfunction assistantCitationRefs(quality: Record<string, any>): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.citationRefs),\n\t\t...asArray(quality.citation_refs),\n\t\t...asObjectList(quality.citations).map((citation) => citation.path || citation.url || citation.id || citation.ref),\n\t\t...asObjectList(quality.evidence).map((entry) => entry.citation || entry.ref || entry.path || entry.url)\n\t], 80, 500);\n}\n\nfunction assistantQueryExecutions(quality: Record<string, any>): Record<string, any>[] {\n\tconst queryExecution = plainObject(quality.queryExecution || quality.query_execution);\n\tconst toolResult = plainObject(quality.toolResult || quality.tool_result);\n\treturn [\n\t\t...asObjectList(quality.queryExecutions),\n\t\t...asObjectList(quality.query_executions),\n\t\t...asObjectList(quality.dataQueries),\n\t\t...asObjectList(quality.data_queries),\n\t\t...asObjectList(quality.toolResults),\n\t\t...asObjectList(quality.tool_results),\n\t\t...asObjectList(quality.mongoReads),\n\t\t...asObjectList(quality.mongo_reads),\n\t\t...asObjectList(quality.mongoAggregations),\n\t\t...asObjectList(quality.mongo_aggregations),\n\t\t...(Object.keys(queryExecution).length ? [queryExecution] : []),\n\t\t...(Object.keys(toolResult).length ? [toolResult] : [])\n\t].filter((entry) => Object.keys(entry).length);\n}\n\nfunction assistantQueryEvidenceRefs(quality: Record<string, any>, executions = assistantQueryExecutions(quality)): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.queryEvidenceRefs),\n\t\t...asArray(quality.query_evidence_refs),\n\t\t...asArray(quality.toolResultRefs),\n\t\t...asArray(quality.tool_result_refs),\n\t\t...asArray(quality.queryResultRefs),\n\t\t...asArray(quality.query_result_refs),\n\t\t...executions.map((execution) => {\n\t\t\treturn execution.id\n\t\t\t\t|| execution._id\n\t\t\t\t|| execution.ref\n\t\t\t\t|| execution.toolResultId\n\t\t\t\t|| execution.tool_result_id\n\t\t\t\t|| execution.toolCallId\n\t\t\t\t|| execution.tool_call_id\n\t\t\t\t|| execution.artifactPath\n\t\t\t\t|| execution.artifact_path\n\t\t\t\t|| execution.path\n\t\t\t\t|| execution.url;\n\t\t})\n\t], 80, 500);\n}\n\nfunction assistantNextActions(quality: Record<string, any>): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.nextActions),\n\t\t...asArray(quality.next_actions),\n\t\t...asArray(quality.recommendedActions),\n\t\t...asArray(quality.recommended_actions)\n\t], 20, 500);\n}\n\nfunction normalizedIsoDay(value: any): string {\n\tif (!value) {\n\t\treturn '';\n\t}\n\tconst date = value instanceof Date ? value : new Date(value);\n\tif (!Number.isFinite(date.getTime())) {\n\t\treturn cleanText(value, 40).slice(0, 10);\n\t}\n\treturn date.toISOString().slice(0, 10);\n}\n\nfunction assistantDateWindowObject(quality: Record<string, any>): Record<string, any> {\n\tconst dateWindow = plainObject(quality.dateWindow || quality.date_window);\n\tconst nestedWindow = plainObject(quality.verification?.metrics?.window || quality.metrics?.window);\n\treturn Object.keys(dateWindow).length ? dateWindow : nestedWindow;\n}\n\nfunction collectMongoProjectionObjects(value: any, result: Record<string, any>[] = []): Record<string, any>[] {\n\tif (!value || typeof value !== 'object') {\n\t\treturn result;\n\t}\n\tif (Array.isArray(value)) {\n\t\tfor (const entry of value) {\n\t\t\tcollectMongoProjectionObjects(entry, result);\n\t\t}\n\t\treturn result;\n\t}\n\tif (value.projection && typeof value.projection === 'object' && !Array.isArray(value.projection)) {\n\t\tresult.push(value.projection);\n\t}\n\tif (value.options && typeof value.options === 'object' && !Array.isArray(value.options) && value.options.projection) {\n\t\tcollectMongoProjectionObjects({ projection: value.options.projection }, result);\n\t}\n\tif (value.query && typeof value.query === 'object') {\n\t\tcollectMongoProjectionObjects(value.query, result);\n\t}\n\tif (value.mongoQuery && typeof value.mongoQuery === 'object') {\n\t\tcollectMongoProjectionObjects(value.mongoQuery, result);\n\t}\n\tif (value.mongo_query && typeof value.mongo_query === 'object') {\n\t\tcollectMongoProjectionObjects(value.mongo_query, result);\n\t}\n\treturn result;\n}\n\nfunction projectionHasPositionalOperator(projection: Record<string, any>): boolean {\n\treturn Object.keys(projection || {}).some((key) => /\\.(?:\\$|\\$\\[)|\\.\\$$/.test(key));\n}\n\nfunction assistantQueryShapeLegal(quality: Record<string, any>): boolean {\n\tif (quality.legalQueryShape === true || quality.legal_query_shape === true) {\n\t\treturn true;\n\t}\n\tif (quality.legalQueryShape === false || quality.legal_query_shape === false || quality.illegalQueryShape === true || quality.illegal_query_shape === true) {\n\t\treturn false;\n\t}\n\tconst queryShape = plainObject(quality.queryShape || quality.query_shape);\n\tif (queryShape.legal === true || queryShape.status === 'pass') {\n\t\treturn true;\n\t}\n\tif (queryShape.legal === false || queryShape.status === 'fail') {\n\t\treturn false;\n\t}\n\tconst projections = collectMongoProjectionObjects(quality);\n\tif (projections.some(projectionHasPositionalOperator)) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nfunction assistantCorrectnessFailed(checks: Array<Record<string, any>>): string[] {\n\treturn checks\n\t\t.filter((check) => {\n\t\t\tconst status = cleanText(check.status || (check.passed === true ? 'pass' : check.passed === false ? 'fail' : ''), 80).toLowerCase();\n\t\t\treturn /^(fail|failed|blocked|incorrect|wrong|error)$/.test(status);\n\t\t})\n\t\t.map((check) => cleanText(check.assertion || check.name || check.case || check.reason || 'assistant correctness check failed', 300))\n\t\t.slice(0, 20);\n}\n\nexport function evaluateAssistantAnswerQuality(input: AssistantAnswerQualityInput = {}): AssistantAnswerQualityDecision {\n\tconst quality = plainObject(input.answerQuality);\n\tconst now = isoNow(input.now);\n\tconst correctnessChecks = asArray<Record<string, any>>(input.correctnessChecks);\n\tconst failedChecks = assistantCorrectnessFailed(correctnessChecks);\n\tconst queryStatus = assistantQueryStatus(quality.queryStatus || quality.query_status || quality.queryResult || quality.query_result);\n\tconst confidenceLevel = assistantConfidenceLevel(quality.confidence || quality.confidenceLevel || quality.confidence_level);\n\tconst evidenceRefs = assistantEvidenceRefs(quality);\n\tconst citationRefs = assistantCitationRefs(quality);\n\tconst queryExecutions = assistantQueryExecutions(quality);\n\tconst queryEvidenceRefs = assistantQueryEvidenceRefs(quality, queryExecutions);\n\tconst nextActions = assistantNextActions(quality);\n\tconst requiresCurrentDate = quality.requiresCurrentDate === true || quality.requires_current_date === true;\n\tconst dateWindowRequired = quality.requiresDateWindow === true\n\t\t|| quality.requires_date_window === true\n\t\t|| quality.dateWindowRequired === true\n\t\t|| quality.date_window_required === true;\n\tconst requiresCitations = quality.requiresCitations !== false && quality.requires_citations !== false;\n\tconst requiresNextAction = quality.requiresNextAction !== false && quality.requires_next_action !== false;\n\tconst dateWindow = assistantDateWindowObject(quality);\n\tconst dateWindowStart = cleanText(dateWindow.startDate || dateWindow.start_date || dateWindow.start, 80);\n\tconst dateWindowEnd = cleanText(dateWindow.endDate || dateWindow.end_date || dateWindow.end, 80);\n\tconst dateWindowPresent = !!dateWindowStart && !!dateWindowEnd;\n\tconst dateBasis = cleanText(\n\t\tquality.currentDateUsed\n\t\t|| quality.current_date_used\n\t\t|| quality.dateBasis\n\t\t|| quality.date_basis\n\t\t|| quality.dateWindow?.basisDate\n\t\t|| quality.date_window?.basis_date,\n\t\t80\n\t);\n\tconst expectedCurrentDate = cleanText(quality.expectedCurrentDate || quality.expected_current_date, 80)\n\t\t|| normalizedIsoDay(input.now);\n\tconst noDataConfirmed = quality.noDataConfirmed === true\n\t\t|| quality.no_data_confirmed === true\n\t\t|| quality.confirmedNoData === true\n\t\t|| quality.confirmed_no_data === true;\n\tconst legalQueryShape = assistantQueryShapeLegal(quality);\n\tconst queryEvidenceRequired = quality.requiresQueryEvidence !== false\n\t\t&& quality.requires_query_evidence !== false\n\t\t&& (queryStatus === 'ok' || queryStatus === 'no_data');\n\tconst queryEvidencePresent = queryExecutions.length > 0 || queryEvidenceRefs.length > 0;\n\tconst blockers: string[] = [];\n\tlet status: AssistantAnswerQualityStatus = 'ready';\n\tlet reason = 'Assistant answer has structured data evidence, legal query shape, citations, confidence, and next action.';\n\tif (!Object.keys(quality).length) {\n\t\tstatus = 'missing_data_source';\n\t\tblockers.push('Assistant answerQuality evidence is missing.');\n\t\treason = 'Assistant answer cannot be accepted without structured answerQuality evidence.';\n\t}\n\telse if (failedChecks.length) {\n\t\tstatus = 'incorrect';\n\t\tblockers.push(...failedChecks);\n\t\treason = 'Assistant correctness checks failed.';\n\t}\n\telse if (queryStatus === 'permission_error') {\n\t\tstatus = 'permission_error';\n\t\tblockers.push('Assistant data query was blocked by permission or authorization.');\n\t\treason = 'Assistant must report permission-error state and avoid claiming no data or success.';\n\t}\n\telse if (queryStatus === 'query_error') {\n\t\tstatus = 'query_error';\n\t\tblockers.push('Assistant data query failed.');\n\t\treason = 'Assistant must report query-error state and avoid claiming no data or success.';\n\t}\n\telse if (!legalQueryShape) {\n\t\tstatus = 'illegal_query_shape';\n\t\tblockers.push('Assistant query shape is illegal or uses an unsafe Mongo projection shape.');\n\t\treason = 'Assistant must use legal Mongo query/projection shapes before answering.';\n\t}\n\telse if (requiresCurrentDate && (!dateBasis || normalizedIsoDay(dateBasis) !== normalizedIsoDay(expectedCurrentDate))) {\n\t\tstatus = 'date_incorrect';\n\t\tblockers.push(`Expected current date ${normalizedIsoDay(expectedCurrentDate) || expectedCurrentDate}, got ${dateBasis || 'missing date basis'}.`);\n\t\treason = 'Assistant answer did not prove it used the actual current date.';\n\t}\n\telse if (dateWindowRequired && !dateWindowPresent) {\n\t\tstatus = 'missing_date_window';\n\t\tblockers.push('Assistant dated answer did not record concrete date-window start and end evidence.');\n\t\treason = 'Assistant dated answers must record the exact query date window used.';\n\t}\n\telse if (queryStatus === 'unknown') {\n\t\tstatus = 'missing_data_source';\n\t\tblockers.push('Assistant answer did not record queryStatus ok/no_data/query_error/permission_error.');\n\t\treason = 'Assistant answer must classify data access result before acceptance.';\n\t}\n\telse if (queryStatus === 'no_data' && !noDataConfirmed) {\n\t\tstatus = 'no_data_unverified';\n\t\tblockers.push('No-data answer was not confirmed by a probe or query evidence.');\n\t\treason = 'Assistant no-data answers require explicit noDataConfirmed evidence.';\n\t}\n\telse if (queryEvidenceRequired && !queryEvidencePresent) {\n\t\tstatus = 'missing_query_proof';\n\t\tblockers.push('Assistant data answer did not record a structured query execution, tool result, or query evidence reference.');\n\t\treason = 'Assistant answers from system data require structured query/tool execution proof before acceptance.';\n\t}\n\telse if (requiresCitations && !citationRefs.length && !evidenceRefs.length) {\n\t\tstatus = 'missing_citations';\n\t\tblockers.push('Assistant answer has no cited evidence or artifact reference.');\n\t\treason = 'Assistant answer must cite system data evidence.';\n\t}\n\telse if (confidenceLevel === 'low' || confidenceLevel === 'unknown') {\n\t\tstatus = 'low_confidence';\n\t\tblockers.push('Assistant answer confidence is low or unknown.');\n\t\treason = 'Assistant answer requires recorded medium/high confidence.';\n\t}\n\telse if (requiresNextAction && !nextActions.length) {\n\t\tstatus = 'missing_next_action';\n\t\tblockers.push('Assistant answer did not record next actions.');\n\t\treason = 'Assistant answer must provide a next action or explicit no-action state.';\n\t}\n\treturn {\n\t\tready: status === 'ready',\n\t\tstatus,\n\t\treason,\n\t\tblockers,\n\t\tqueryStatus,\n\t\tconfidenceLevel,\n\t\tdateBasis: dateBasis || undefined,\n\t\texpectedCurrentDate: expectedCurrentDate || undefined,\n\t\tdateWindowRequired,\n\t\tdateWindowPresent,\n\t\tdateWindow: dateWindowPresent ? {\n\t\t\tstartDate: dateWindowStart,\n\t\t\tendDate: dateWindowEnd,\n\t\t\tmode: cleanText(dateWindow.mode || dateWindow.type, 80) || undefined,\n\t\t\tmonths: typeof dateWindow.months === 'number' ? dateWindow.months : undefined\n\t\t} : undefined,\n\t\tnoDataConfirmed,\n\t\tlegalQueryShape,\n\t\tcitationRefs,\n\t\tqueryEvidenceRequired,\n\t\tqueryEvidencePresent,\n\t\tqueryEvidenceRefs,\n\t\tqueryExecutionCount: queryExecutions.length,\n\t\tnextActions,\n\t\tevidenceRefs,\n\t\tfailedChecks,\n\t\trecordedAt: now\n\t};\n}\n\nfunction assistantAnswerQualityGate(\n\tdecision: AssistantAnswerQualityDecision,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst status: AIRunGateResult['status'] = decision.ready\n\t\t? 'pass'\n\t\t: /incorrect|date_incorrect|missing_date_window|illegal_query_shape/.test(decision.status)\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'assistant_answer_quality',\n\t\tlabel: 'Assistant answer quality',\n\t\tstatus,\n\t\treason: decision.reason,\n\t\tevidenceRefs: decision.evidenceRefs.length ? decision.evidenceRefs : decision.citationRefs,\n\t\trecordedAt: isoNow(now || decision.recordedAt),\n\t\tmetadata: {\n\t\t\tready: decision.ready,\n\t\t\tstatus: decision.status,\n\t\t\tqueryStatus: decision.queryStatus,\n\t\t\tconfidenceLevel: decision.confidenceLevel,\n\t\t\tdateBasis: decision.dateBasis,\n\t\t\texpectedCurrentDate: decision.expectedCurrentDate,\n\t\t\tdateWindowRequired: decision.dateWindowRequired,\n\t\t\tdateWindowPresent: decision.dateWindowPresent,\n\t\t\tdateWindow: decision.dateWindow,\n\t\t\tnoDataConfirmed: decision.noDataConfirmed,\n\t\t\tlegalQueryShape: decision.legalQueryShape,\n\t\t\tcitationRefs: decision.citationRefs,\n\t\t\tqueryEvidenceRequired: decision.queryEvidenceRequired,\n\t\t\tqueryEvidencePresent: decision.queryEvidencePresent,\n\t\t\tqueryEvidenceRefs: decision.queryEvidenceRefs,\n\t\t\tqueryExecutionCount: decision.queryExecutionCount,\n\t\t\tnextActions: decision.nextActions,\n\t\t\tblockers: decision.blockers,\n\t\t\tfailedChecks: decision.failedChecks\n\t\t}\n\t};\n}\n\nfunction assistantActionabilityStatus(decision: AssistantAnswerQualityDecision): AssistantAnswerActionabilityStatus {\n\tswitch (decision.status) {\n\t\tcase 'ready':\n\t\t\treturn 'ready_to_answer';\n\t\tcase 'query_error':\n\t\t\treturn 'needs_query_repair';\n\t\tcase 'permission_error':\n\t\t\treturn 'needs_permission';\n\t\tcase 'no_data_unverified':\n\t\t\treturn 'needs_no_data_verification';\n\t\tcase 'date_incorrect':\n\t\tcase 'missing_date_window':\n\t\t\treturn 'needs_date_window_repair';\n\t\tcase 'illegal_query_shape':\n\t\t\treturn 'needs_query_shape_repair';\n\t\tcase 'missing_data_source':\n\t\tcase 'missing_query_proof':\n\t\tcase 'missing_citations':\n\t\t\treturn 'needs_evidence';\n\t\tcase 'low_confidence':\n\t\t\treturn 'needs_confidence_review';\n\t\tcase 'missing_next_action':\n\t\t\treturn 'needs_next_action';\n\t\tcase 'incorrect':\n\t\t\treturn 'incorrect';\n\t\tdefault:\n\t\t\treturn 'blocked';\n\t}\n}\n\nfunction assistantActionabilityCommand(status: AssistantAnswerActionabilityStatus): string {\n\tswitch (status) {\n\t\tcase 'ready_to_answer':\n\t\t\treturn 'answer_from_verified_system_data';\n\t\tcase 'needs_query_repair':\n\t\t\treturn 'repair_assistant_query_and_rerun';\n\t\tcase 'needs_permission':\n\t\t\treturn 'request_assistant_data_permission';\n\t\tcase 'needs_no_data_verification':\n\t\t\treturn 'verify_no_data_with_scoped_probe';\n\t\tcase 'needs_date_window_repair':\n\t\t\treturn 'repair_assistant_date_window_and_rerun';\n\t\tcase 'needs_query_shape_repair':\n\t\t\treturn 'repair_assistant_mongo_query_shape';\n\t\tcase 'needs_confidence_review':\n\t\t\treturn 'review_assistant_confidence_evidence';\n\t\tcase 'needs_next_action':\n\t\t\treturn 'add_assistant_next_action';\n\t\tcase 'incorrect':\n\t\t\treturn 'repair_assistant_answer_from_failed_check';\n\t\tcase 'needs_evidence':\n\t\tcase 'blocked':\n\t\tdefault:\n\t\t\treturn 'collect_assistant_answer_evidence';\n\t}\n}\n\nfunction assistantActionabilityLabel(status: AssistantAnswerActionabilityStatus): string {\n\tswitch (status) {\n\t\tcase 'ready_to_answer':\n\t\t\treturn 'Answer From Verified Data';\n\t\tcase 'needs_query_repair':\n\t\t\treturn 'Repair Query';\n\t\tcase 'needs_permission':\n\t\t\treturn 'Request Data Permission';\n\t\tcase 'needs_no_data_verification':\n\t\t\treturn 'Verify No Data';\n\t\tcase 'needs_date_window_repair':\n\t\t\treturn 'Repair Date Window';\n\t\tcase 'needs_query_shape_repair':\n\t\t\treturn 'Repair Query Shape';\n\t\tcase 'needs_confidence_review':\n\t\t\treturn 'Review Confidence';\n\t\tcase 'needs_next_action':\n\t\t\treturn 'Add Next Action';\n\t\tcase 'incorrect':\n\t\t\treturn 'Repair Incorrect Answer';\n\t\tdefault:\n\t\t\treturn 'Collect Answer Evidence';\n\t}\n}\n\nexport function buildAssistantAnswerActionabilityContract(\n\tdecision: AssistantAnswerQualityDecision,\n\tnow?: Date | string\n): AssistantAnswerActionabilityContract {\n\tconst status = assistantActionabilityStatus(decision);\n\tconst primaryCommand = assistantActionabilityCommand(status);\n\tconst ready = status === 'ready_to_answer';\n\tconst noDataReady = ready && decision.queryStatus === 'no_data' && decision.noDataConfirmed;\n\tconst canAnswerCustomer = ready && (\n\t\tdecision.queryStatus === 'ok'\n\t\t|| noDataReady\n\t\t|| decision.queryEvidenceRequired === false\n\t);\n\tconst canDraftSupportReply = canAnswerCustomer && decision.confidenceLevel === 'high';\n\tconst requiresHumanReview = !canAnswerCustomer || canDraftSupportReply;\n\tconst cheapRepair = /needs_(?:no_data|date_window|query_shape|next_action)|needs_evidence/.test(status);\n\tconst blockers = decision.blockers.length\n\t\t? decision.blockers\n\t\t: (ready ? [] : [decision.reason]);\n\tconst requiredEvidence = Array.from(new Set([\n\t\t...(decision.queryEvidenceRequired ? ['structured query/tool execution proof'] : []),\n\t\t...(decision.dateWindowRequired ? ['concrete date-window start and end'] : []),\n\t\t...(decision.queryStatus === 'no_data' ? ['noDataConfirmed=true from scoped probe or query evidence'] : []),\n\t\t...(decision.legalQueryShape ? [] : ['legal Mongo query/projection shape']),\n\t\t...(decision.citationRefs.length || decision.evidenceRefs.length ? [] : ['citationRefs or evidenceRefs']),\n\t\t...(decision.nextActions.length ? [] : ['one explicit next action or no-action state']),\n\t\t...(decision.confidenceLevel === 'low' || decision.confidenceLevel === 'unknown' ? ['medium/high confidence evidence'] : [])\n\t])).slice(0, 20);\n\treturn {\n\t\tcontractId: `assistant-actionability:${decision.status}:${decision.queryStatus}:${decision.recordedAt}`,\n\t\tstatus,\n\t\tprimaryCommand,\n\t\tlabel: assistantActionabilityLabel(status),\n\t\tcanAnswerCustomer,\n\t\tcanDraftSupportReply,\n\t\tcanSendCustomerReply: false,\n\t\trequiresHumanReview,\n\t\tcanRunWithoutCodexMonitor: ready || cheapRepair,\n\t\tcodexFallbackRequired: !ready && !cheapRepair,\n\t\tcostRisk: ready\n\t\t\t? 'free_or_deterministic'\n\t\t\t: status === 'needs_permission'\n\t\t\t\t? 'manual_blocked'\n\t\t\t\t: (status === 'needs_query_repair' || status === 'incorrect' ? 'small_model_or_qa' : 'free_or_deterministic'),\n\t\tqueryResultClass: decision.queryStatus,\n\t\tconfidenceLevel: decision.confidenceLevel,\n\t\tdecisionBasis: {\n\t\t\tanswerQualityStatus: decision.status,\n\t\t\tqueryStatus: decision.queryStatus,\n\t\t\tqueryEvidencePresent: decision.queryEvidencePresent,\n\t\t\tnoDataConfirmed: decision.noDataConfirmed,\n\t\t\tlegalQueryShape: decision.legalQueryShape,\n\t\t\tdateWindowRequired: decision.dateWindowRequired,\n\t\t\tdateWindowPresent: decision.dateWindowPresent,\n\t\t\tcitationCount: decision.citationRefs.length + decision.evidenceRefs.length,\n\t\t\tnextActionCount: decision.nextActions.length\n\t\t},\n\t\trequiredEvidence,\n\t\tsuccessEvidence: Array.from(new Set([\n\t\t\t...(ready ? ['assistant answer quality gate passed'] : []),\n\t\t\t...(decision.queryEvidenceRefs.length ? decision.queryEvidenceRefs : []),\n\t\t\t...(decision.citationRefs.length ? decision.citationRefs : []),\n\t\t\t...(decision.evidenceRefs.length ? decision.evidenceRefs : [])\n\t\t])).slice(0, 20),\n\t\tblockers,\n\t\tnextActions: decision.nextActions,\n\t\tnextCommands: Array.from(new Set([\n\t\t\tprimaryCommand,\n\t\t\t...(status === 'needs_query_repair' ? ['fix_query_error', 'rerun_assistant_query'] : []),\n\t\t\t...(status === 'needs_no_data_verification' ? ['run_tiny_shape_probe', 'record_no_data_confirmed'] : []),\n\t\t\t...(status === 'needs_date_window_repair' ? ['resolve_current_date', 'record_concrete_date_window', 'rerun_assistant_query'] : []),\n\t\t\t...(status === 'needs_query_shape_repair' ? ['rewrite_illegal_projection', 'rerun_query_shape_validator'] : []),\n\t\t\t...(status === 'needs_permission' ? ['request_permission_or_choose_allowed_route'] : []),\n\t\t\t'record_assistant_actionability_result'\n\t\t])).slice(0, 20),\n\t\tforbiddenActions: Array.from(new Set([\n\t\t\t'Do not answer from keyword or route guesses without verified query evidence.',\n\t\t\t'Do not claim no data when queryStatus is query_error or permission_error.',\n\t\t\t...(decision.queryStatus === 'no_data' && !decision.noDataConfirmed ? ['Do not present no-data answer until noDataConfirmed=true.'] : []),\n\t\t\t...(decision.legalQueryShape ? [] : ['Do not answer from illegal Mongo projection/query shape.']),\n\t\t\t...(decision.dateWindowRequired && !decision.dateWindowPresent ? ['Do not answer dated questions without concrete start/end date evidence.'] : []),\n\t\t\t...(decision.confidenceLevel === 'low' || decision.confidenceLevel === 'unknown' ? ['Do not draft support/customer reply from low or unknown confidence.'] : [])\n\t\t])).slice(0, 20),\n\t\tevidenceRefs: Array.from(new Set([\n\t\t\t...decision.queryEvidenceRefs,\n\t\t\t...decision.citationRefs,\n\t\t\t...decision.evidenceRefs\n\t\t])).slice(0, 40),\n\t\trecordedAt: isoNow(now || decision.recordedAt)\n\t};\n}\n\nfunction assistantAnswerActionabilityGate(\n\tcontract: AssistantAnswerActionabilityContract,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst status: AIRunGateResult['status'] = contract.status === 'ready_to_answer'\n\t\t? 'pass'\n\t\t: contract.status === 'incorrect' || contract.status === 'needs_query_shape_repair' || contract.status === 'needs_date_window_repair'\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'assistant_answer_actionability',\n\t\tlabel: 'Assistant answer actionability',\n\t\tstatus,\n\t\treason: status === 'pass'\n\t\t\t? 'Assistant answer can proceed from verified structured evidence.'\n\t\t\t: (contract.blockers.join(' ') || 'Assistant answer is blocked until actionability evidence is complete.'),\n\t\tevidenceRefs: contract.evidenceRefs,\n\t\trecordedAt: isoNow(now || contract.recordedAt),\n\t\tmetadata: {\n\t\t\tcontractId: contract.contractId,\n\t\t\tstatus: contract.status,\n\t\t\tprimaryCommand: contract.primaryCommand,\n\t\t\tlabel: contract.label,\n\t\t\tcanAnswerCustomer: contract.canAnswerCustomer,\n\t\t\tcanDraftSupportReply: contract.canDraftSupportReply,\n\t\t\tcanSendCustomerReply: contract.canSendCustomerReply,\n\t\t\trequiresHumanReview: contract.requiresHumanReview,\n\t\t\tcanRunWithoutCodexMonitor: contract.canRunWithoutCodexMonitor,\n\t\t\tcodexFallbackRequired: contract.codexFallbackRequired,\n\t\t\tcostRisk: contract.costRisk,\n\t\t\tqueryResultClass: contract.queryResultClass,\n\t\t\tconfidenceLevel: contract.confidenceLevel,\n\t\t\tdecisionBasis: contract.decisionBasis,\n\t\t\trequiredEvidence: contract.requiredEvidence,\n\t\t\tsuccessEvidence: contract.successEvidence,\n\t\t\tblockers: contract.blockers,\n\t\t\tnextActions: contract.nextActions,\n\t\t\tnextCommands: contract.nextCommands,\n\t\t\tforbiddenActions: contract.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction applyAssistantAnswerQualityGate(\n\tqa: AIQaRun,\n\tdecision: AssistantAnswerQualityDecision,\n\tnow?: Date | string\n): AIQaRun {\n\tconst gate = assistantAnswerQualityGate(decision, now);\n\tif (decision.ready) {\n\t\treturn {\n\t\t\t...qa,\n\t\t\tgateResults: [...qa.gateResults, gate]\n\t\t};\n\t}\n\treturn {\n\t\t...qa,\n\t\toutcome: /incorrect|date_incorrect|missing_date_window|illegal_query_shape/.test(decision.status)\n\t\t\t? 'business_assertion_failed'\n\t\t\t: 'incomplete',\n\t\tgateResults: [\n\t\t\t...qa.gateResults.filter((existing) => !(existing.key === 'qa_business_assertion' && existing.status === 'pass')),\n\t\t\tgate\n\t\t]\n\t};\n}\n\nexport function buildSupportAIRunFromEvidence(input: SupportAIRunAdapterInput): AIRun {\n\tconst ticket = input.ticket || {};\n\tconst job = input.job || {};\n\tconst evidence = buildSupportQaEvidence(input);\n\tconst events: AIRunEvent[] = [];\n\tconst gates: AIRunGateResult[] = [];\n\tconst sourceIds: Record<string, string> = {};\n\taddSourceId(sourceIds, 'ticketId', ticket._id || ticket.id || job.ticketId || job.supportTicketId);\n\taddSourceId(sourceIds, 'ticketNumber', ticket.ticketNumber || ticket.number || job.ticketNumber);\n\taddSourceId(sourceIds, 'jobId', job._id || job.id || job.jobId);\n\taddSourceId(sourceIds, 'buildPlanId', job.buildPlanId || ticket.buildPlanId);\n\n\tfor (const event of asArray<Record<string, any>>(input.taskEvents)) {\n\t\tpushEvent(events, {\n\t\t\ttype: event.type === 'human_intervention' ? 'human_intervention' : 'log',\n\t\t\tcategory: cleanText(event.category || event.phase || event.type, 160),\n\t\t\tmessage: cleanText(event.message || event.summary || event.text || event.title, 1800),\n\t\t\trecordedAt: eventDate(event),\n\t\t\tmetadata: {\n\t\t\t\tstatus: event.status,\n\t\t\t\tphase: event.phase,\n\t\t\t\ttaskId: event.taskId || event._id || event.id\n\t\t\t}\n\t\t});\n\t}\n\tfor (const aiJob of asArray<Record<string, any>>(input.aiJobs)) {\n\t\tpushEvent(events, {\n\t\t\ttype: aiJob.model ? 'model_call' : 'log',\n\t\t\tcategory: cleanText(aiJob.category || aiJob.phase || aiJob.runner, 160),\n\t\t\tmessage: cleanText(aiJob.summary || aiJob.promptSummary || aiJob.status || aiJob.phase, 1800),\n\t\t\trecordedAt: eventDate(aiJob),\n\t\t\tmetadata: {\n\t\t\t\tid: aiJob._id || aiJob.id,\n\t\t\t\tmodel: aiJob.model,\n\t\t\t\tstatus: aiJob.status,\n\t\t\t\tphase: aiJob.phase\n\t\t\t}\n\t\t});\n\t}\n\tcollectCommitEvents(asArray<Record<string, any>>(input.commits), events);\n\tcollectHotfixEvidenceEvents([job, ticket, evidence, input.qaEvidence], events, gates, input.now);\n\tconst noBlindLoopGate = supportManagerNoBlindLoopGate(job, evidence, input.now);\n\tif (noBlindLoopGate) {\n\t\tgates.push(noBlindLoopGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'manager_no_blind_loop_policy',\n\t\t\tmessage: noBlindLoopGate.reason,\n\t\t\tartifactPaths: noBlindLoopGate.evidenceRefs,\n\t\t\trecordedAt: noBlindLoopGate.recordedAt,\n\t\t\tmetadata: noBlindLoopGate.metadata\n\t\t});\n\t}\n\tconst businessProofReadiness = plainObject(evidence.businessProofReadiness || evidence.business_proof_readiness);\n\tconst businessProofReadinessGate = supportBusinessProofReadinessGate(businessProofReadiness, input.now);\n\tif (businessProofReadinessGate) {\n\t\tgates.push(businessProofReadinessGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'qa_business_assertion',\n\t\t\tcategory: 'support_business_proof_readiness',\n\t\t\tmessage: businessProofReadinessGate.reason,\n\t\t\tartifactPaths: businessProofReadinessGate.evidenceRefs,\n\t\t\trecordedAt: businessProofReadinessGate.recordedAt,\n\t\t\tmetadata: businessProofReadinessGate.metadata\n\t\t});\n\t}\n\tconst customerReplyPolicy = plainObject(evidence.customerReplyPolicy || evidence.customer_reply_policy);\n\tconst customerReplyPolicyGate = supportCustomerReplyPolicyGate(customerReplyPolicy, input.now);\n\tif (customerReplyPolicyGate) {\n\t\tgates.push(customerReplyPolicyGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: 'support_customer_reply_policy',\n\t\t\tmessage: customerReplyPolicyGate.reason,\n\t\t\tartifactPaths: customerReplyPolicyGate.evidenceRefs,\n\t\t\trecordedAt: customerReplyPolicyGate.recordedAt,\n\t\t\tmetadata: customerReplyPolicyGate.metadata\n\t\t});\n\t}\n\tconst nextActionContract = supportNextActionContractObject(ticket, job, evidence);\n\tconst nextActionContractRequired = supportNextActionContractRequired(ticket, job, evidence);\n\tconst nextActionContractGate = supportNextActionContractGate(nextActionContract, input.now, nextActionContractRequired);\n\tif (nextActionContractGate) {\n\t\tgates.push(nextActionContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_next_action_contract',\n\t\t\tmessage: nextActionContractGate.reason,\n\t\t\tartifactPaths: nextActionContractGate.evidenceRefs,\n\t\t\trecordedAt: nextActionContractGate.recordedAt,\n\t\t\tmetadata: nextActionContractGate.metadata\n\t\t});\n\t}\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManagerState = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst rootCauseEntryContract = evidenceObject(\n\t\tjob.supportRootCauseEntryContract,\n\t\tjob.support_root_cause_entry_contract,\n\t\tjob.rootCauseEntryContract,\n\t\tticket.supportRootCauseEntryContract,\n\t\tticket.rootCauseEntryContract,\n\t\tticketManagerState.root_cause_entry_contract,\n\t\tticketManagerState.rootCauseEntryContract,\n\t\tevidence.rootCauseEntryContract,\n\t\tevidence.root_cause_entry_contract\n\t);\n\tconst rootCauseEntryContractGate = supportRootCauseEntryContractGate(rootCauseEntryContract, input.now);\n\tif (rootCauseEntryContractGate) {\n\t\tgates.push(rootCauseEntryContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_root_cause_entry_contract',\n\t\t\tmessage: rootCauseEntryContractGate.reason,\n\t\t\tartifactPaths: rootCauseEntryContractGate.evidenceRefs,\n\t\t\trecordedAt: rootCauseEntryContractGate.recordedAt,\n\t\t\tmetadata: rootCauseEntryContractGate.metadata\n\t\t});\n\t}\n\tconst cost = collectUsageEvents(asArray<Record<string, any>>(input.usageLedger), events);\n\tconst preflightGateSource = supportPreflightGateObject(ticket, job, evidence);\n\tconst preflightGate = supportPreflightGateResult(preflightGateSource, input.now);\n\tif (preflightGate) {\n\t\tgates.push(preflightGate);\n\t\tpushEvent(events, {\n\t\t\ttype: preflightGate.metadata?.failureClass === 'compile' || preflightGateSource.status === 'compile_failed' ? 'qa_compile' : 'qa_infra',\n\t\t\tcategory: 'support_preflight_gate',\n\t\t\tmessage: preflightGate.reason,\n\t\t\tartifactPaths: preflightGate.evidenceRefs,\n\t\t\trecordedAt: preflightGate.recordedAt,\n\t\t\tmetadata: preflightGate.metadata\n\t\t});\n\t}\n\n\tconst diagnosisGate = evidenceObject(\n\t\tjob.supportV5DiagnosisGate,\n\t\tjob.support_v5_diagnosis_gate,\n\t\tjob.diagnosisGate,\n\t\tticket.supportV5DiagnosisGate,\n\t\tticket.diagnosisGate,\n\t\tevidence.diagnosisGate,\n\t\tevidence.supportV5DiagnosisGate\n\t);\n\tconst diagnosisEvidencePackSource = supportDiagnosisEvidencePackObject(ticket, job, evidence);\n\tconst similarFixHints = supportSimilarFixHintsObject(ticket, job, evidence);\n\tconst diagnosisEvidencePack = Object.keys(diagnosisEvidencePackSource).length\n\t\t? diagnosisEvidencePackSource\n\t\t: (Object.keys(diagnosisGate).length || Object.keys(similarFixHints).length)\n\t\t\t? buildResolveIOSupportDiagnosisEvidencePack({\n\t\t\t\tdiagnosisGate,\n\t\t\t\tsimilarCaseHints: similarFixHints,\n\t\t\t\tissueClass: diagnosisGate.issue_class || diagnosisGate.issueClass,\n\t\t\t\townerFiles: diagnosisGate.owner_files || diagnosisGate.ownerFiles,\n\t\t\t\ttext: [\n\t\t\t\t\tticket.title,\n\t\t\t\t\tticket.subject,\n\t\t\t\t\tticket.summary,\n\t\t\t\t\tjob.title,\n\t\t\t\t\tjob.summary\n\t\t\t\t].filter(Boolean).join(' '),\n\t\t\t\tnow: input.now\n\t\t\t}) as Record<string, any>\n\t\t\t: {};\n\tconst diagnosisEvidencePackGate = supportDiagnosisEvidencePackGate(diagnosisEvidencePack, input.now);\n\tif (diagnosisEvidencePackGate) {\n\t\tgates.push(diagnosisEvidencePackGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_diagnosis_evidence_pack',\n\t\t\tmessage: diagnosisEvidencePackGate.reason,\n\t\t\tartifactPaths: diagnosisEvidencePackGate.evidenceRefs,\n\t\t\trecordedAt: diagnosisEvidencePackGate.recordedAt,\n\t\t\tmetadata: diagnosisEvidencePackGate.metadata\n\t\t});\n\t}\n\tconst issueClassProbePlanSource = supportIssueClassProbePlanObject(ticket, job, evidence);\n\tconst issueClassProbePlan = Object.keys(issueClassProbePlanSource).length\n\t\t? issueClassProbePlanSource\n\t\t: Object.keys(diagnosisGate).length\n\t\t\t? buildResolveIOSupportIssueClassProbePlan(diagnosisGate, input.now) as Record<string, any>\n\t\t\t: {};\n\tconst issueClassProbePlanRequired = nextActionContractRequired || Object.keys(diagnosisGate).length > 0;\n\tconst issueClassProbePlanGate = supportIssueClassProbePlanGate(\n\t\tissueClassProbePlan,\n\t\tdiagnosisGate,\n\t\tinput.now,\n\t\tissueClassProbePlanRequired\n\t);\n\tif (issueClassProbePlanGate) {\n\t\tgates.push(issueClassProbePlanGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_issue_class_probe_plan',\n\t\t\tmessage: issueClassProbePlanGate.reason,\n\t\t\tartifactPaths: issueClassProbePlanGate.evidenceRefs,\n\t\t\trecordedAt: issueClassProbePlanGate.recordedAt,\n\t\t\tmetadata: issueClassProbePlanGate.metadata\n\t\t});\n\t}\n\tconst productRepairEvidence = supportProductRepairEvidence(input, evidence);\n\tconst diagnosisBeforeRepairGate = supportDiagnosisBeforeRepairGate(diagnosisGate, productRepairEvidence, input.now);\n\tif (diagnosisBeforeRepairGate) {\n\t\tgates.push(diagnosisBeforeRepairGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_diagnosis_before_repair',\n\t\t\tmessage: diagnosisBeforeRepairGate.reason,\n\t\t\tartifactPaths: diagnosisBeforeRepairGate.evidenceRefs,\n\t\t\trecordedAt: diagnosisBeforeRepairGate.recordedAt,\n\t\t\tmetadata: diagnosisBeforeRepairGate.metadata\n\t\t});\n\t}\n\tconst ownerFileScopeGate = supportOwnerFileScopeGate(diagnosisGate, productRepairEvidence, input.now);\n\tif (ownerFileScopeGate) {\n\t\tgates.push(ownerFileScopeGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_owner_file_scope',\n\t\t\tmessage: ownerFileScopeGate.reason,\n\t\t\tartifactPaths: ownerFileScopeGate.evidenceRefs,\n\t\t\trecordedAt: ownerFileScopeGate.recordedAt,\n\t\t\tmetadata: ownerFileScopeGate.metadata\n\t\t});\n\t}\n\tconst qa = applySupportDiagnosisProofGate(buildQaFromEvidence(evidence, input.now), diagnosisGate, input.now);\n\tconst diagnosisOwnerFiles = asArray<string>(diagnosisGate.owner_files || diagnosisGate.ownerFiles);\n\tconst diagnosisIssueClass = cleanText(diagnosisGate.issue_class || diagnosisGate.issueClass, 120);\n\tif (Object.keys(diagnosisGate).length) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'diagnosis_gate',\n\t\t\tmessage: cleanText(diagnosisGate.accepted_hypothesis?.statement || diagnosisGate.acceptedHypothesis?.statement || diagnosisGate.summary || 'Support diagnosis gate recorded.', 1800),\n\t\t\tmetadata: {\n\t\t\t\tstatus: diagnosisGate.status,\n\t\t\t\tissueClass: diagnosisIssueClass,\n\t\t\t\townerFiles: diagnosisOwnerFiles\n\t\t\t}\n\t\t});\n\t}\n\treturn buildAIRun({\n\t\tsource: 'support_ticket',\n\t\tsourceIds,\n\t\ttitle: firstText(ticket, ['title', 'subject', 'summary']) || firstText(job, ['title', 'summary']),\n\t\tstatus: firstText(job, ['status', 'state']) || firstText(ticket, ['status', 'state']),\n\t\tphase: firstText(job, ['phase', 'runnerPhase']),\n\t\tstartedAt: dateValue(job, ['startedAt', 'createdAt']) || dateValue(ticket, ['createdAt']),\n\t\tcompletedAt: dateValue(job, ['completedAt', 'finishedAt', 'updatedAt']),\n\t\tevents,\n\t\tgates,\n\t\tqa,\n\t\tcost,\n\t\tscorecardPassed: evidence.scorecardPassed === true || evidence.scorecardStatus === 'pass',\n\t\tdeployStatus: evidence.deployStatus,\n\t\tpublishStatus: evidence.publishStatus,\n\t\tsampleDataStatus: evidence.sampleDataStatus,\n\t\tmanualHandoff: evidence.manualHandoff === true || job.manualHandoff === true,\n\t\tstopped: evidence.stopped === true || job.stopped === true,\n\t\trejected: evidence.rejected === true,\n\t\texplicitAccepted: evidence.explicitAccepted === true || ticket.accepted === true,\n\t\tterminal: /complete|closed|resolved|done|failed|rejected/i.test(`${job.status || ''} ${ticket.status || ''}`),\n\t\tnow: input.now,\n\t\tmetadata: {\n\t\t\tversionCount: asArray(input.versions).length,\n\t\t\tbuildPlanCount: asArray(input.buildPlans).length,\n\t\t\thotfixDurability: hotfixDurabilityMetadata(gates),\n\t\t\tmanagerNoBlindLoopPolicy: managerNoBlindLoopMetadata(noBlindLoopGate),\n\t\t\tdiagnosisBeforeRepair: diagnosisBeforeRepairGate ? {\n\t\t\t\tstatus: diagnosisBeforeRepairGate.status,\n\t\t\t\tdiagnosisValid: diagnosisBeforeRepairGate.metadata?.diagnosisValid === true,\n\t\t\t\tdiagnosisStatus: cleanText(diagnosisBeforeRepairGate.metadata?.diagnosisStatus, 120),\n\t\t\t\tactivityCount: Number(diagnosisBeforeRepairGate.metadata?.activityCount || 0),\n\t\t\t\tchangedFiles: cleanStringList(diagnosisBeforeRepairGate.metadata?.changedFiles, 40, 500),\n\t\t\t\tallowedDispatchAction: cleanText(diagnosisBeforeRepairGate.metadata?.allowedDispatchAction, 160),\n\t\t\t\tproductRepairAllowed: diagnosisBeforeRepairGate.metadata?.productRepairAllowed === true,\n\t\t\t\tblockers: cleanStringList(diagnosisBeforeRepairGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\townerFileScope: ownerFileScopeGate ? {\n\t\t\t\tstatus: ownerFileScopeGate.status,\n\t\t\t\tproductRepairAllowed: ownerFileScopeGate.metadata?.productRepairAllowed === true,\n\t\t\t\tallowedDispatchAction: cleanText(ownerFileScopeGate.metadata?.allowedDispatchAction, 160),\n\t\t\t\townerFiles: cleanStringList(ownerFileScopeGate.metadata?.ownerFiles, 40, 500),\n\t\t\t\tchangedFiles: cleanStringList(ownerFileScopeGate.metadata?.changedFiles, 60, 500),\n\t\t\t\toutsideOwnerFiles: cleanStringList(ownerFileScopeGate.metadata?.outsideOwnerFiles, 40, 500),\n\t\t\t\tallowedTestFilesOutsideOwnerScope: ownerFileScopeGate.metadata?.allowedTestFilesOutsideOwnerScope === true,\n\t\t\t\trequiredEvidence: cleanStringList(ownerFileScopeGate.metadata?.requiredEvidence, 20, 500)\n\t\t\t} : undefined,\n\t\t\trootCauseEntryContract: Object.keys(rootCauseEntryContract).length ? {\n\t\t\t\tcontractId: cleanText(rootCauseEntryContract.contract_id || rootCauseEntryContract.contractId, 160),\n\t\t\t\tversion: cleanText(rootCauseEntryContract.version, 120),\n\t\t\t\tstatus: cleanText(rootCauseEntryContract.status, 120),\n\t\t\t\tissueClassProbeCount: asArray(rootCauseEntryContract.issue_class_probes || rootCauseEntryContract.issueClassProbes).length,\n\t\t\t\townerFileMax: Number(rootCauseEntryContract.owner_file_policy?.max_files || rootCauseEntryContract.ownerFilePolicy?.maxFiles || 0) || 0,\n\t\t\t\trequiresBusinessAssertion: rootCauseEntryContract.business_proof_policy?.requires_aiqa_business_assertion === true\n\t\t\t\t\t|| rootCauseEntryContract.businessProofPolicy?.requiresAiqaBusinessAssertion === true\n\t\t\t} : undefined,\n\t\t\tdiagnosis: Object.keys(diagnosisGate).length ? {\n\t\t\t\tstatus: cleanText(diagnosisGate.status, 80),\n\t\t\t\tissueClass: diagnosisIssueClass,\n\t\t\t\townerFiles: diagnosisOwnerFiles,\n\t\t\t\tacceptedHypothesis: cleanText(diagnosisGate.accepted_hypothesis?.statement || diagnosisGate.acceptedHypothesis?.statement, 1000),\n\t\t\t\tproofPlan: diagnosisGate.proof_plan || diagnosisGate.proofPlan\n\t\t\t} : undefined,\n\t\t\tdiagnosisEvidencePack: diagnosisEvidencePackGate ? {\n\t\t\t\tstatus: cleanText(diagnosisEvidencePackGate.metadata?.status, 120),\n\t\t\t\tgateStatus: diagnosisEvidencePackGate.status,\n\t\t\t\tpackId: cleanText(diagnosisEvidencePackGate.metadata?.packId, 180),\n\t\t\t\treadOnly: diagnosisEvidencePackGate.metadata?.readOnly !== false,\n\t\t\t\tsourceEditsAllowed: diagnosisEvidencePackGate.metadata?.sourceEditsAllowed === true,\n\t\t\t\trequiredOutputKey: cleanText(diagnosisEvidencePackGate.metadata?.requiredOutputKey, 120),\n\t\t\t\tdiagnosisValid: diagnosisEvidencePackGate.metadata?.diagnosisValid === true,\n\t\t\t\tissueClassHint: cleanText(diagnosisEvidencePackGate.metadata?.issueClassHint, 120),\n\t\t\t\townerFileHints: cleanStringList(diagnosisEvidencePackGate.metadata?.ownerFileHints, 20, 500),\n\t\t\t\tsimilarHintCount: Number(diagnosisEvidencePackGate.metadata?.similarHintCount || 0),\n\t\t\t\tsimilarHintsAdvisoryOnly: diagnosisEvidencePackGate.metadata?.similarHintsAdvisoryOnly === true,\n\t\t\t\tissueClassProbeCount: Number(diagnosisEvidencePackGate.metadata?.issueClassProbeCount || 0),\n\t\t\t\tvalidationBlockers: cleanStringList(diagnosisEvidencePackGate.metadata?.validationBlockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tissueClassProbePlan: issueClassProbePlanGate ? {\n\t\t\t\tstatus: cleanText(issueClassProbePlanGate.metadata?.status, 120),\n\t\t\t\tgateStatus: issueClassProbePlanGate.status,\n\t\t\t\tplanId: cleanText(issueClassProbePlanGate.metadata?.planId, 180),\n\t\t\t\tissueClass: cleanText(issueClassProbePlanGate.metadata?.issueClass, 120),\n\t\t\t\tdiagnosisValid: issueClassProbePlanGate.metadata?.diagnosisValid === true,\n\t\t\t\tissueClassProbePlanReady: issueClassProbePlanGate.metadata?.issueClassProbePlanReady === true,\n\t\t\t\tactiveRoute: cleanText(issueClassProbePlanGate.metadata?.activeRoute, 500),\n\t\t\t\taction: cleanText(issueClassProbePlanGate.metadata?.action, 1000),\n\t\t\t\texpectedBusinessProof: cleanText(issueClassProbePlanGate.metadata?.expectedBusinessProof, 1200),\n\t\t\t\tacceptanceGate: cleanText(issueClassProbePlanGate.metadata?.acceptanceGate, 120),\n\t\t\t\trequiredArtifacts: cleanStringList(issueClassProbePlanGate.metadata?.requiredArtifacts, 20, 500),\n\t\t\t\tfalsePassBlockers: cleanStringList(issueClassProbePlanGate.metadata?.falsePassBlockers, 20, 500),\n\t\t\t\tblockers: cleanStringList(issueClassProbePlanGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tbusinessProofReadiness: Object.keys(businessProofReadiness).length ? {\n\t\t\t\tready: businessProofReadiness.ready === true,\n\t\t\t\tstatus: cleanText(businessProofReadiness.status, 120),\n\t\t\t\treason: cleanText(businessProofReadiness.reason, 1000),\n\t\t\t\tblockers: cleanStringList(businessProofReadiness.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tnextActionContract: nextActionContractGate ? {\n\t\t\t\tstatus: nextActionContractGate.status,\n\t\t\t\taction: cleanText(nextActionContractGate.metadata?.action, 160),\n\t\t\t\tprimaryCommand: cleanText(nextActionContractGate.metadata?.primaryCommand, 240),\n\t\t\t\tsafeToAutoRun: nextActionContractGate.metadata?.safeToAutoRun === true,\n\t\t\t\tcanRunWithoutCodexMonitor: nextActionContractGate.metadata?.canRunWithoutCodexMonitor === true,\n\t\t\t\tcodexFallbackRequired: nextActionContractGate.metadata?.codexFallbackRequired === true,\n\t\t\t\trequiresHumanApproval: nextActionContractGate.metadata?.requiresHumanApproval === true,\n\t\t\t\trootCauseFirstSatisfied: nextActionContractGate.metadata?.rootCauseFirstSatisfied === true,\n\t\t\t\thotfixCommitRequired: nextActionContractGate.metadata?.hotfixCommitRequired === true,\n\t\t\t\tliveHotfixBlockedUntilCommit: nextActionContractGate.metadata?.liveHotfixBlockedUntilCommit === true,\n\t\t\t\tfailureClass: cleanText(nextActionContractGate.metadata?.failureClass, 120),\n\t\t\t\tevidenceFreshnessStatus: cleanText(nextActionContractGate.metadata?.evidenceFreshnessStatus, 120),\n\t\t\t\tsameFailureCount: Number(nextActionContractGate.metadata?.sameFailureCount || 0),\n\t\t\t\tblockers: cleanStringList(nextActionContractGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tcustomerReplyPolicy: Object.keys(customerReplyPolicy).length ? {\n\t\t\t\taction: cleanText(customerReplyPolicy.action, 120),\n\t\t\t\tsafety: cleanText(customerReplyPolicy.safety, 120),\n\t\t\t\tcanDraftCustomerReply: customerReplyPolicy.canDraftCustomerReply === true || customerReplyPolicy.can_draft_customer_reply === true,\n\t\t\t\tcanSendCustomerReply: customerReplyPolicy.canSendCustomerReply === true || customerReplyPolicy.can_send_customer_reply === true,\n\t\t\t\treason: cleanText(customerReplyPolicy.reason, 1000),\n\t\t\t\treviewType: cleanText(\n\t\t\t\t\tcustomerReplyPolicy.humanReviewPacket?.reviewType\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.review_type\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.reviewType,\n\t\t\t\t\t160\n\t\t\t\t),\n\t\t\t\tprimaryAction: cleanText(\n\t\t\t\t\tcustomerReplyPolicy.humanReviewPacket?.primaryAction\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.primary_action\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.primaryAction,\n\t\t\t\t\t160\n\t\t\t\t),\n\t\t\t\tclarificationContract: customerReplyPolicy.clarificationContract || customerReplyPolicy.clarification_contract ? {\n\t\t\t\t\tstatus: cleanText(customerReplyPolicy.clarificationContract?.status || customerReplyPolicy.clarification_contract?.status, 120),\n\t\t\t\t\tmissingField: cleanText(customerReplyPolicy.clarificationContract?.missingField || customerReplyPolicy.clarification_contract?.missing_field, 120),\n\t\t\t\t\toneQuestionOnly: customerReplyPolicy.clarificationContract?.oneQuestionOnly === true || customerReplyPolicy.clarification_contract?.one_question_only === true,\n\t\t\t\t\tparksTicketUntilCustomerReply: customerReplyPolicy.clarificationContract?.parksTicketUntilCustomerReply === true || customerReplyPolicy.clarification_contract?.parks_ticket_until_customer_reply === true\n\t\t\t\t} : undefined\n\t\t\t} : undefined\n\t\t}\n\t});\n}\n\nexport function buildAICoderAIRunFromEvidence(input: AICoderAIRunAdapterInput): AIRun {\n\tconst app = input.app || {};\n\tconst job = input.job || {};\n\tconst evidence = buildAICoderQaEvidence(input);\n\tconst events: AIRunEvent[] = [];\n\tconst gates: AIRunGateResult[] = [];\n\tconst sourceIds: Record<string, string> = {};\n\taddSourceId(sourceIds, 'appId', app._id || app.id || job.appId || job.aicoderAppId);\n\taddSourceId(sourceIds, 'jobId', job._id || job.id || job.jobId);\n\taddSourceId(sourceIds, 'domain', app.domain || app.customDomain || job.domain);\n\n\tfor (const log of asArray<Record<string, any>>(input.logs)) {\n\t\tpushEvent(events, {\n\t\t\ttype: log.type === 'scorecard' ? 'scorecard' : 'log',\n\t\t\tcategory: cleanText(log.category || log.phase || log.level, 160),\n\t\t\tmessage: cleanText(log.message || log.summary || log.text || log.title, 1800),\n\t\t\tartifactPaths: asArray<string>(log.artifactPaths || log.artifacts),\n\t\t\trecordedAt: eventDate(log),\n\t\t\tmetadata: {\n\t\t\t\tstatus: log.status,\n\t\t\t\tlevel: log.level,\n\t\t\t\tscore: log.score\n\t\t\t}\n\t\t});\n\t}\n\tcollectCommitEvents(asArray<Record<string, any>>(input.commits), events);\n\tcollectHotfixEvidenceEvents([job, app, evidence, input.qaEvidence], events, gates, input.now);\n\tconst noBlindLoopGate = aicoderManagerNoBlindLoopGate(app, job, evidence, input.now);\n\tif (noBlindLoopGate) {\n\t\tgates.push(noBlindLoopGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'manager_no_blind_loop_policy',\n\t\t\tmessage: noBlindLoopGate.reason,\n\t\t\tartifactPaths: noBlindLoopGate.evidenceRefs,\n\t\t\trecordedAt: noBlindLoopGate.recordedAt,\n\t\t\tmetadata: noBlindLoopGate.metadata\n\t\t});\n\t}\n\tconst cost = collectUsageEvents(asArray<Record<string, any>>(input.usageLedger), events);\n\tconst journeyContractValidation = aicoderJourneyContractValidationFromEvidence(evidence);\n\tconst journeyContractGate = aicoderJourneyContractGate(journeyContractValidation, evidence, input.now);\n\tgates.push(journeyContractGate);\n\tpushEvent(events, {\n\t\ttype: 'log',\n\t\tcategory: 'aicoder_journey_contract',\n\t\tmessage: journeyContractGate.reason,\n\t\tartifactPaths: journeyContractGate.evidenceRefs,\n\t\trecordedAt: journeyContractGate.recordedAt,\n\t\tmetadata: journeyContractGate.metadata\n\t});\n\tconst scorecardPassed = evidence.scorecardPassed === true\n\t\t|| evidence.scorecardStatus === 'pass'\n\t\t|| (Number(evidence.score ?? evidence.qualityScore ?? 0) >= Number(evidence.scoreThreshold ?? job.scoreThreshold ?? 90));\n\tconst explicitWorkflowReadiness = normalizeAICoderWorkflowProofReadiness(plainObject(\n\t\tevidence.workflowProofReadiness\n\t\t|| evidence.workflow_proof_readiness\n\t\t|| evidence.aicoderWorkflowProofReadiness\n\t\t|| evidence.aicoder_workflow_proof_readiness\n\t\t|| job.workflowProofReadiness\n\t\t|| job.workflow_proof_readiness\n\t\t|| job.aicoderWorkflowProofReadiness\n\t\t|| job.aicoder_workflow_proof_readiness\n\t), input.now);\n\tconst workflowReadiness = explicitWorkflowReadiness || evaluateResolveIOAICoderWorkflowProofReadiness({\n\t\tjourneyContract: evidence.journeyContract,\n\t\tjourneyContractMarkdown: evidence.journeyContractMarkdown,\n\t\tworkflowQaRows: asArray(evidence.workflowQaRows || evidence.workflow_qa_rows),\n\t\tbusinessAssertions: [\n\t\t\t...asArray(evidence.businessAssertions),\n\t\t\t...asArray(evidence.business_assertions),\n\t\t\t...asArray(evidence.workflowAssertions),\n\t\t\t...asArray(evidence.workflow_assertions)\n\t\t],\n\t\trouteProbes: [\n\t\t\t...asArray(evidence.routeProbes),\n\t\t\t...asArray(evidence.route_probes),\n\t\t\t...asArray(evidence.workflowProbes),\n\t\t\t...asArray(evidence.workflow_probes)\n\t\t],\n\t\tartifactPaths: [\n\t\t\t...asArray(evidence.artifactPaths),\n\t\t\t...asArray(evidence.artifact_paths)\n\t\t],\n\t\tscorecardPassed,\n\t\tdeployStatus: evidence.deployStatus,\n\t\tpublishStatus: evidence.publishStatus,\n\t\tsampleDataStatus: evidence.sampleDataStatus,\n\t\tpreviousWorkflowProofFingerprint: firstNonEmptyText([\n\t\t\tevidence.previousWorkflowProofFingerprint,\n\t\t\tevidence.previous_workflow_proof_fingerprint,\n\t\t\tjob.previousWorkflowProofFingerprint,\n\t\t\tjob.previous_workflow_proof_fingerprint,\n\t\t\tapp.previousWorkflowProofFingerprint,\n\t\t\tapp.previous_workflow_proof_fingerprint\n\t\t], 200),\n\t\tpreviousArtifactFingerprint: firstNonEmptyText([\n\t\t\tevidence.previousArtifactFingerprint,\n\t\t\tevidence.previous_artifact_fingerprint,\n\t\t\tjob.previousArtifactFingerprint,\n\t\t\tjob.previous_artifact_fingerprint,\n\t\t\tapp.previousArtifactFingerprint,\n\t\t\tapp.previous_artifact_fingerprint\n\t\t], 200),\n\t\tpreviousWorkflowProofFingerprints: [\n\t\t\t...asArray(evidence.previousWorkflowProofFingerprints),\n\t\t\t...asArray(evidence.previous_workflow_proof_fingerprints),\n\t\t\t...asArray(job.previousWorkflowProofFingerprints),\n\t\t\t...asArray(job.previous_workflow_proof_fingerprints),\n\t\t\t...asArray(app.previousWorkflowProofFingerprints),\n\t\t\t...asArray(app.previous_workflow_proof_fingerprints)\n\t\t],\n\t\tpreviousArtifactFingerprints: [\n\t\t\t...asArray(evidence.previousArtifactFingerprints),\n\t\t\t...asArray(evidence.previous_artifact_fingerprints),\n\t\t\t...asArray(job.previousArtifactFingerprints),\n\t\t\t...asArray(job.previous_artifact_fingerprints),\n\t\t\t...asArray(app.previousArtifactFingerprints),\n\t\t\t...asArray(app.previous_artifact_fingerprints)\n\t\t],\n\t\tnow: input.now\n\t});\n\tconst workflowReadinessGate = aicoderWorkflowProofReadinessGate(workflowReadiness, input.now);\n\tgates.push(workflowReadinessGate);\n\tpushEvent(events, {\n\t\ttype: 'qa_business_assertion',\n\t\tcategory: 'aicoder_workflow_proof_readiness',\n\t\tmessage: workflowReadinessGate.reason,\n\t\tartifactPaths: workflowReadinessGate.evidenceRefs,\n\t\trecordedAt: workflowReadinessGate.recordedAt,\n\t\tmetadata: workflowReadinessGate.metadata\n\t});\n\tconst workflowProofCheckpoint = aicoderWorkflowProofCheckpointObject(app, job, evidence);\n\tconst workflowProofCheckpointGate = aicoderWorkflowProofCheckpointGate(workflowProofCheckpoint, input.now);\n\tif (workflowProofCheckpointGate) {\n\t\tgates.push(workflowProofCheckpointGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'aicoder_workflow_proof_checkpoint',\n\t\t\tmessage: workflowProofCheckpointGate.reason,\n\t\t\tartifactPaths: workflowProofCheckpointGate.evidenceRefs,\n\t\t\trecordedAt: workflowProofCheckpointGate.recordedAt,\n\t\t\tmetadata: workflowProofCheckpointGate.metadata\n\t\t});\n\t}\n\tconst nextActionContract = aicoderNextActionContractObject(app, job, evidence);\n\tconst nextActionContractGate = aicoderNextActionContractGate(nextActionContract, input.now);\n\tif (nextActionContractGate) {\n\t\tgates.push(nextActionContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'aicoder_next_action_contract',\n\t\t\tmessage: nextActionContractGate.reason,\n\t\t\tartifactPaths: nextActionContractGate.evidenceRefs,\n\t\t\trecordedAt: nextActionContractGate.recordedAt,\n\t\t\tmetadata: nextActionContractGate.metadata\n\t\t});\n\t}\n\tconst qa = applyAICoderWorkflowProofGate(buildQaFromEvidence(evidence, input.now), workflowReadiness, input.now);\n\n\treturn buildAIRun({\n\t\tsource: 'aicoder_app',\n\t\tsourceIds,\n\t\ttitle: firstText(app, ['name', 'title']) || firstText(job, ['appName', 'title', 'goal']),\n\t\tstatus: firstText(job, ['status', 'state']) || firstText(app, ['status', 'state']),\n\t\tphase: firstText(job, ['phase', 'runnerPhase']),\n\t\tstartedAt: dateValue(job, ['startedAt', 'createdAt']) || dateValue(app, ['createdAt']),\n\t\tcompletedAt: dateValue(job, ['completedAt', 'finishedAt', 'updatedAt']),\n\t\tevents,\n\t\tgates,\n\t\tqa,\n\t\tcost,\n\t\tscorecardPassed,\n\t\tdeployStatus: evidence.deployStatus || statusFromBoolean(evidence.deployReady),\n\t\tpublishStatus: evidence.publishStatus || evidence.pullRequestStatus,\n\t\tsampleDataStatus: evidence.sampleDataStatus || statusFromBoolean(evidence.sampleDataReady ?? evidence.hasSampleData),\n\t\tmanualHandoff: evidence.manualHandoff === true || job.manualHandoff === true,\n\t\tstopped: evidence.stopped === true || job.stopped === true,\n\t\trejected: evidence.rejected === true,\n\t\texplicitAccepted: evidence.explicitAccepted === true || app.accepted === true,\n\t\tterminal: /complete|closed|resolved|done|failed|rejected/i.test(`${job.status || ''} ${job.phase || ''}`),\n\t\tnow: input.now,\n\t\tmetadata: {\n\t\t\tdomain: app.domain || app.customDomain || job.domain,\n\t\t\twowScore: evidence.wowScore ?? job.wowScore,\n\t\t\tscore: evidence.score ?? evidence.qualityScore,\n\t\t\thotfixDurability: hotfixDurabilityMetadata(gates),\n\t\t\tmanagerNoBlindLoopPolicy: managerNoBlindLoopMetadata(noBlindLoopGate),\n\t\t\tjourneyContract: {\n\t\t\t\tstatus: journeyContractGate.status,\n\t\t\t\tvalid: journeyContractGate.metadata?.valid === true,\n\t\t\t\tpath: cleanText(journeyContractGate.metadata?.path, 500),\n\t\t\t\tprimaryWorkflowId: cleanText(journeyContractGate.metadata?.primaryWorkflowId, 200),\n\t\t\t\tworkflowQaRowCount: Number(journeyContractGate.metadata?.workflowQaRowCount || 0),\n\t\t\t\terrorCount: Number(journeyContractGate.metadata?.errorCount || 0),\n\t\t\t\twarningCount: Number(journeyContractGate.metadata?.warningCount || 0),\n\t\t\t\tissueCodes: cleanStringList(journeyContractGate.metadata?.issueCodes, 40, 120),\n\t\t\t\tblocksBuildUntilValid: journeyContractGate.metadata?.blocksBuildUntilValid === true,\n\t\t\t\tblocksWorkflowQaUntilValid: journeyContractGate.metadata?.blocksWorkflowQaUntilValid === true,\n\t\t\t\tblocksWowUiUntilWorkflowProof: journeyContractGate.metadata?.blocksWowUiUntilWorkflowProof === true,\n\t\t\t\tblocksPublishUntilWorkflowProof: journeyContractGate.metadata?.blocksPublishUntilWorkflowProof === true,\n\t\t\t\tnextAction: cleanText(journeyContractGate.metadata?.nextAction, 1000)\n\t\t\t},\n\t\t\tworkflowProofReadiness: {\n\t\t\t\tready: workflowReadiness.ready,\n\t\t\t\tstatus: workflowReadiness.status,\n\t\t\t\treason: workflowReadiness.reason,\n\t\t\t\tblockers: workflowReadiness.blockers,\n\t\t\t\tprimaryWorkflowId: workflowReadiness.primaryWorkflowId,\n\t\t\t\tpassedWorkflowRows: workflowReadiness.passedWorkflowRows,\n\t\t\t\tmissingWorkflowRows: workflowReadiness.missingWorkflowRows,\n\t\t\t\tfailedWorkflowRows: workflowReadiness.failedWorkflowRows,\n\t\t\t\tsampleDataReady: workflowReadiness.sampleDataReady,\n\t\t\t\treleaseBlockers: workflowReadiness.releaseBlockers,\n\t\t\t\tworkflowProofFingerprint: workflowReadiness.workflowProofFingerprint,\n\t\t\t\tartifactFingerprint: workflowReadiness.artifactFingerprint,\n\t\t\t\tproofFreshness: workflowReadiness.proofFreshness\n\t\t\t},\n\t\t\tworkflowProofCheckpoint: workflowProofCheckpointGate ? {\n\t\t\t\tstatus: cleanText(workflowProofCheckpointGate.metadata?.status, 120),\n\t\t\t\tgateStatus: workflowProofCheckpointGate.status,\n\t\t\t\treadinessStatus: cleanText(workflowProofCheckpointGate.metadata?.readinessStatus, 120),\n\t\t\t\tnextGate: cleanText(workflowProofCheckpointGate.metadata?.nextGate, 120),\n\t\t\t\tnextAction: cleanText(workflowProofCheckpointGate.metadata?.nextAction, 1000),\n\t\t\t\tblocksProductRepairUntilJourneyContract: workflowProofCheckpointGate.metadata?.blocksProductRepairUntilJourneyContract === true,\n\t\t\t\tblocksPublishUntilWorkflowProof: workflowProofCheckpointGate.metadata?.blocksPublishUntilWorkflowProof === true,\n\t\t\t\tblocksPublishUntilReleaseGate: workflowProofCheckpointGate.metadata?.blocksPublishUntilReleaseGate === true,\n\t\t\t\tblocksWowUiUntilWorkflowProof: workflowProofCheckpointGate.metadata?.blocksWowUiUntilWorkflowProof === true,\n\t\t\t\tworkflowProofFingerprint: cleanText(workflowProofCheckpointGate.metadata?.workflowProofFingerprint, 200),\n\t\t\t\tartifactFingerprint: cleanText(workflowProofCheckpointGate.metadata?.artifactFingerprint, 200),\n\t\t\t\tblockers: cleanStringList(workflowProofCheckpointGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tnextActionContract: nextActionContractGate ? {\n\t\t\t\tgateStatus: nextActionContractGate.status,\n\t\t\t\tcontractId: cleanText(nextActionContractGate.metadata?.contractId, 200),\n\t\t\t\taction: cleanText(nextActionContractGate.metadata?.action, 120),\n\t\t\t\tlabel: cleanText(nextActionContractGate.metadata?.label, 200),\n\t\t\t\tprimaryCommand: cleanText(nextActionContractGate.metadata?.primaryCommand, 200),\n\t\t\t\tlane: cleanText(nextActionContractGate.metadata?.lane, 120),\n\t\t\t\tstepType: cleanText(nextActionContractGate.metadata?.stepType, 120),\n\t\t\t\tsafeToAutoRun: nextActionContractGate.metadata?.safeToAutoRun === true,\n\t\t\t\trequiresHumanApproval: nextActionContractGate.metadata?.requiresHumanApproval === true,\n\t\t\t\tcanRunWithoutCodexMonitor: nextActionContractGate.metadata?.canRunWithoutCodexMonitor === true,\n\t\t\t\tcodexFallbackRequired: nextActionContractGate.metadata?.codexFallbackRequired === true,\n\t\t\t\tcostRisk: cleanText(nextActionContractGate.metadata?.costRisk, 120),\n\t\t\t\tworkflowFirstSatisfied: nextActionContractGate.metadata?.workflowFirstSatisfied === true,\n\t\t\t\thotfixCommitRequired: nextActionContractGate.metadata?.hotfixCommitRequired === true,\n\t\t\t\tliveHotfixBlockedUntilCommit: nextActionContractGate.metadata?.liveHotfixBlockedUntilCommit === true,\n\t\t\t\tdecisionBasis: plainObject(nextActionContractGate.metadata?.decisionBasis),\n\t\t\t\tpreconditions: cleanStringList(nextActionContractGate.metadata?.preconditions, 20, 500),\n\t\t\t\tsuccessEvidence: cleanStringList(nextActionContractGate.metadata?.successEvidence, 20, 500),\n\t\t\t\trequiredHotfixCommitProof: cleanStringList(nextActionContractGate.metadata?.requiredHotfixCommitProof, 20, 240),\n\t\t\t\tstopConditions: cleanStringList(nextActionContractGate.metadata?.stopConditions, 20, 500),\n\t\t\t\tforbiddenActions: cleanStringList(nextActionContractGate.metadata?.forbiddenActions, 20, 500),\n\t\t\t\tnextCommands: cleanStringList(nextActionContractGate.metadata?.nextCommands, 20, 240),\n\t\t\t\tblockers: cleanStringList(nextActionContractGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined\n\t\t}\n\t});\n}\n\nexport function buildAssistantAIRunFromEvidence(input: AssistantAIRunAdapterInput): AIRun {\n\tconst conversation = input.conversation || {};\n\tconst events: AIRunEvent[] = [];\n\tconst sourceIds: Record<string, string> = {};\n\taddSourceId(sourceIds, 'runId', input.runId);\n\taddSourceId(sourceIds, 'requestId', input.requestId);\n\taddSourceId(sourceIds, 'messageId', input.messageId);\n\taddSourceId(sourceIds, 'conversationId', conversation._id || conversation.id || conversation.conversationId);\n\taddSourceId(sourceIds, 'userId', conversation.userId || conversation.ownerId);\n\n\tfor (const message of asArray<Record<string, any>>(input.messages)) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'assistant_message',\n\t\t\tcategory: cleanText(message.role || message.authorRole || message.type, 160),\n\t\t\tmessage: cleanText(message.content || message.text || message.message || message.summary, 1800),\n\t\t\trecordedAt: eventDate(message),\n\t\t\tmetadata: {\n\t\t\t\tid: message._id || message.id,\n\t\t\t\trole: message.role,\n\t\t\t\tmodel: message.model || message?.usage?.model\n\t\t\t}\n\t\t});\n\t}\n\tfor (const report of asArray<Record<string, any>>(input.issueReports)) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: cleanText(report.category || report.status || 'issue_report', 160),\n\t\t\tmessage: cleanText(report.summary || report.description || report.message || report.title, 1800),\n\t\t\trecordedAt: eventDate(report),\n\t\t\tmetadata: {\n\t\t\t\tid: report._id || report.id,\n\t\t\t\tstatus: report.status,\n\t\t\t\tseverity: report.severity\n\t\t\t}\n\t\t});\n\t}\n\tconst cost = collectUsageEvents(asArray<Record<string, any>>(input.usageLedger), events);\n\tconst answerQuality = assistantQualityObject(input);\n\tfor (const execution of assistantQueryExecutions(answerQuality).slice(0, 40)) {\n\t\tconst status = cleanText(execution.status || execution.queryStatus || execution.query_status || execution.resultStatus || execution.result_status, 120);\n\t\tconst toolName = cleanText(execution.tool || execution.toolName || execution.tool_name || execution.type || 'query', 160);\n\t\tconst collection = cleanText(execution.collection || execution.collectionName || execution.collection_name, 240);\n\t\tpushEvent(events, {\n\t\t\ttype: 'assistant_query',\n\t\t\tcategory: status || toolName,\n\t\t\tmessage: cleanText(execution.summary || execution.message || `${toolName}${collection ? ` ${collection}` : ''}`, 1200),\n\t\t\tartifactPaths: cleanStringList([\n\t\t\t\texecution.artifactPath,\n\t\t\t\texecution.artifact_path,\n\t\t\t\texecution.path,\n\t\t\t\t...asArray(execution.artifactPaths),\n\t\t\t\t...asArray(execution.artifact_paths)\n\t\t\t], 20, 500),\n\t\t\trecordedAt: eventDate(execution),\n\t\t\tmetadata: {\n\t\t\t\tid: execution.id || execution._id || execution.ref,\n\t\t\t\ttool: toolName,\n\t\t\t\tstatus,\n\t\t\t\tcollection,\n\t\t\t\tresultCount: execution.resultCount ?? execution.result_count ?? execution.count,\n\t\t\t\tqueryStatus: execution.queryStatus || execution.query_status,\n\t\t\t\tlegalQueryShape: execution.legalQueryShape ?? execution.legal_query_shape\n\t\t\t}\n\t\t});\n\t}\n\tconst answerQualityDecision = evaluateAssistantAnswerQuality({\n\t\tanswerQuality,\n\t\tcorrectnessChecks: input.correctnessChecks,\n\t\tnow: input.now\n\t});\n\tconst answerQualityGate = assistantAnswerQualityGate(answerQualityDecision, input.now);\n\tpushEvent(events, {\n\t\ttype: 'assistant_message',\n\t\tcategory: 'assistant_answer_quality',\n\t\tmessage: answerQualityGate.reason,\n\t\tartifactPaths: answerQualityGate.evidenceRefs,\n\t\trecordedAt: answerQualityGate.recordedAt,\n\t\tmetadata: answerQualityGate.metadata\n\t});\n\tconst answerActionabilityContract = buildAssistantAnswerActionabilityContract(answerQualityDecision, input.now);\n\tconst answerActionabilityGate = assistantAnswerActionabilityGate(answerActionabilityContract, input.now);\n\tpushEvent(events, {\n\t\ttype: 'assistant_message',\n\t\tcategory: 'assistant_answer_actionability',\n\t\tmessage: answerActionabilityGate.reason,\n\t\tartifactPaths: answerActionabilityGate.evidenceRefs,\n\t\trecordedAt: answerActionabilityGate.recordedAt,\n\t\tmetadata: answerActionabilityGate.metadata\n\t});\n\tconst correctnessChecks = asArray<Record<string, any>>(input.correctnessChecks);\n\tconst hasPassedCorrectnessCheck = correctnessChecks.some((check) => /^(pass|passed|success|ok)$/i.test(cleanText(check.status || (check.passed === true ? 'pass' : ''), 80)));\n\tconst correctnessEvidence = {\n\t\tbusinessAssertions: [\n\t\t\t...correctnessChecks.map((check) => ({\n\t\t\t\tassertion: check.assertion || check.name || check.case || 'assistant correctness check',\n\t\t\t\tstatus: check.status || statusFromBoolean(check.passed),\n\t\t\t\texpected: check.expected,\n\t\t\t\tobserved: check.observed || check.actual,\n\t\t\t\tdataProof: check.dataProof || check.proof,\n\t\t\t\tartifactPaths: check.artifactPaths,\n\t\t\t\tmessage: check.message || check.reason,\n\t\t\t\tmetadata: check.metadata,\n\t\t\t\trecordedAt: eventDate(check)\n\t\t\t})),\n\t\t\t...(answerQualityDecision.ready && !hasPassedCorrectnessCheck ? [{\n\t\t\t\tassertion: 'Assistant answer quality gate passed.',\n\t\t\t\tstatus: 'pass',\n\t\t\t\texpected: 'Correct dates, legal query shape, query result classification, cited evidence, confidence, and next action.',\n\t\t\t\tobserved: answerQualityDecision.reason,\n\t\t\t\tdataProof: answerQualityDecision.evidenceRefs.concat(answerQualityDecision.citationRefs).join(', '),\n\t\t\t\tartifactPaths: answerQualityDecision.evidenceRefs,\n\t\t\t\tmessage: answerQualityDecision.reason,\n\t\t\t\tmetadata: {\n\t\t\t\t\tanswerQualityStatus: answerQualityDecision.status,\n\t\t\t\t\tqueryStatus: answerQualityDecision.queryStatus,\n\t\t\t\t\tdateWindowRequired: answerQualityDecision.dateWindowRequired,\n\t\t\t\t\tdateWindowPresent: answerQualityDecision.dateWindowPresent,\n\t\t\t\t\tdateWindow: answerQualityDecision.dateWindow\n\t\t\t\t}\n\t\t\t}] : [])\n\t\t]\n\t};\n\tconst qa = applyAssistantAnswerQualityGate(buildQaFromEvidence(correctnessEvidence, input.now), answerQualityDecision, input.now);\n\tconst failedReports = asArray<Record<string, any>>(input.issueReports)\n\t\t.filter((report) => /open|new|fail|bug|wrong|incorrect|error/i.test(`${report.status || ''} ${report.category || ''} ${report.summary || ''}`));\n\n\treturn buildAIRun({\n\t\tid: cleanText(input.runId, 240) || undefined,\n\t\tsource: 'ai_assistant',\n\t\tsourceIds,\n\t\ttitle: firstText(conversation, ['title', 'subject', 'summary']) || 'AI assistant conversation',\n\t\tstatus: firstText(conversation, ['status', 'state']),\n\t\tphase: firstText(conversation, ['phase']),\n\t\tstartedAt: dateValue(conversation, ['startedAt', 'createdAt']),\n\t\tcompletedAt: dateValue(conversation, ['completedAt', 'closedAt', 'updatedAt']),\n\t\tevents,\n\t\tgates: [answerActionabilityGate],\n\t\tqa,\n\t\tcost,\n\t\trejected: failedReports.length > 0 || conversation.rejected === true,\n\t\tmanualHandoff: conversation.manualHandoff === true,\n\t\tstopped: conversation.stopped === true,\n\t\texplicitAccepted: conversation.accepted === true,\n\t\tterminal: /complete|closed|resolved|done|failed|rejected/i.test(`${conversation.status || ''}`),\n\t\tnow: input.now,\n\t\tmetadata: {\n\t\t\tissueReportCount: asArray(input.issueReports).length,\n\t\t\tcorrectnessCheckCount: correctnessChecks.length,\n\t\t\tanswerQuality: {\n\t\t\t\tready: answerQualityDecision.ready,\n\t\t\t\tstatus: answerQualityDecision.status,\n\t\t\t\tqueryStatus: answerQualityDecision.queryStatus,\n\t\t\t\tconfidenceLevel: answerQualityDecision.confidenceLevel,\n\t\t\t\tdateBasis: answerQualityDecision.dateBasis,\n\t\t\t\texpectedCurrentDate: answerQualityDecision.expectedCurrentDate,\n\t\t\t\tdateWindowRequired: answerQualityDecision.dateWindowRequired,\n\t\t\t\tdateWindowPresent: answerQualityDecision.dateWindowPresent,\n\t\t\t\tdateWindow: answerQualityDecision.dateWindow,\n\t\t\t\tnoDataConfirmed: answerQualityDecision.noDataConfirmed,\n\t\t\t\tlegalQueryShape: answerQualityDecision.legalQueryShape,\n\t\t\t\tcitationRefs: answerQualityDecision.citationRefs,\n\t\t\t\tqueryEvidenceRequired: answerQualityDecision.queryEvidenceRequired,\n\t\t\t\tqueryEvidencePresent: answerQualityDecision.queryEvidencePresent,\n\t\t\t\tqueryEvidenceRefs: answerQualityDecision.queryEvidenceRefs,\n\t\t\t\tqueryExecutionCount: answerQualityDecision.queryExecutionCount,\n\t\t\t\tnextActions: answerQualityDecision.nextActions,\n\t\t\t\tblockers: answerQualityDecision.blockers\n\t\t\t},\n\t\t\tanswerActionability: {\n\t\t\t\tcontractId: answerActionabilityContract.contractId,\n\t\t\t\tstatus: answerActionabilityContract.status,\n\t\t\t\tprimaryCommand: answerActionabilityContract.primaryCommand,\n\t\t\t\tlabel: answerActionabilityContract.label,\n\t\t\t\tcanAnswerCustomer: answerActionabilityContract.canAnswerCustomer,\n\t\t\t\tcanDraftSupportReply: answerActionabilityContract.canDraftSupportReply,\n\t\t\t\tcanSendCustomerReply: answerActionabilityContract.canSendCustomerReply,\n\t\t\t\trequiresHumanReview: answerActionabilityContract.requiresHumanReview,\n\t\t\t\tcanRunWithoutCodexMonitor: answerActionabilityContract.canRunWithoutCodexMonitor,\n\t\t\t\tcodexFallbackRequired: answerActionabilityContract.codexFallbackRequired,\n\t\t\t\tcostRisk: answerActionabilityContract.costRisk,\n\t\t\t\tqueryResultClass: answerActionabilityContract.queryResultClass,\n\t\t\t\tconfidenceLevel: answerActionabilityContract.confidenceLevel,\n\t\t\t\tdecisionBasis: answerActionabilityContract.decisionBasis,\n\t\t\t\trequiredEvidence: answerActionabilityContract.requiredEvidence,\n\t\t\t\tsuccessEvidence: answerActionabilityContract.successEvidence,\n\t\t\t\tblockers: answerActionabilityContract.blockers,\n\t\t\t\tnextActions: answerActionabilityContract.nextActions,\n\t\t\t\tnextCommands: answerActionabilityContract.nextCommands,\n\t\t\t\tforbiddenActions: answerActionabilityContract.forbiddenActions\n\t\t\t}\n\t\t}\n\t});\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/util/ai-run-evidence-adapters.ts"],"names":[],"mappings":"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","file":"ai-run-evidence-adapters.js","sourcesContent":["import {\n\tAIRun,\n\tAIRunCost,\n\tAIRunEvent,\n\tAIRunGateResult,\n\tAIQaArtifact,\n\tAIQaBusinessAssertion,\n\tAIQaCompileResult,\n\tAIQaInfraCheck,\n\tAIQaRun,\n\tAIQaRouteProbe,\n\tbuildAIRun,\n\tbuildAIRunCost,\n\tbuildAIQaRun,\n\tnormalizeOpenAIUsageRowsForCosting\n} from './ai-run-evidence';\nimport {\n\tevaluateResolveIOAICoderWorkflowProofReadiness,\n\tResolveIOAICoderJourneyContractValidationResult,\n\tResolveIOAICoderWorkflowProofReadiness,\n\tvalidateResolveIOAICoderJourneyContract\n} from './aicoder-runner-v6';\nimport {\n\tbuildResolveIOAIManagerHotfixDurabilityContract,\n\tdecideResolveIOAIManagerPolicy,\n\tResolveIOAIManagerFailureRecord,\n\tvalidateResolveIOAIManagerRecoveryExecutionProofContract,\n\tvalidateResolveIOAIManagerHotfixEvidence\n} from './ai-runner-manager-policy';\nimport {\n\tbuildResolveIOSupportDiagnosisEvidencePack,\n\tbuildResolveIOSupportIssueClassProbePlan,\n\tchangedFilesOutsideResolveIOSupportDiagnosisOwnerFiles,\n\tvalidateResolveIOSupportClarificationContract,\n\tvalidateResolveIOSupportCustomerReplyReadinessContract,\n\tvalidateResolveIOSupportIssueClassProbePlan,\n\tvalidateResolveIOSupportDiagnosisGate\n} from './support-runner-v5';\n\nexport interface SupportAIRunAdapterInput {\n\tticket?: Record<string, any>;\n\tjob?: Record<string, any>;\n\tversions?: Array<Record<string, any>>;\n\tbuildPlans?: Array<Record<string, any>>;\n\taiJobs?: Array<Record<string, any>>;\n\ttaskEvents?: Array<Record<string, any>>;\n\tusageLedger?: Array<Record<string, any>>;\n\tcommits?: Array<Record<string, any>>;\n\tqaEvidence?: Record<string, any>;\n\tnow?: Date | string;\n}\n\nexport interface AICoderAIRunAdapterInput {\n\tapp?: Record<string, any>;\n\tjob?: Record<string, any>;\n\tlogs?: Array<Record<string, any>>;\n\tusageLedger?: Array<Record<string, any>>;\n\tcommits?: Array<Record<string, any>>;\n\tqaEvidence?: Record<string, any>;\n\tnow?: Date | string;\n}\n\nexport interface AssistantAIRunAdapterInput {\n\trunId?: string;\n\trequestId?: string;\n\tmessageId?: string;\n\tconversation?: Record<string, any>;\n\tmessages?: Array<Record<string, any>>;\n\tissueReports?: Array<Record<string, any>>;\n\tusageLedger?: Array<Record<string, any>>;\n\tcorrectnessChecks?: Array<Record<string, any>>;\n\tanswerQuality?: Record<string, any>;\n\tnow?: Date | string;\n}\n\nexport type AssistantAnswerQualityStatus =\n\t| 'ready'\n\t| 'missing_data_source'\n\t| 'date_incorrect'\n\t| 'missing_date_window'\n\t| 'illegal_query_shape'\n\t| 'missing_query_proof'\n\t| 'query_error'\n\t| 'permission_error'\n\t| 'no_data_unverified'\n\t| 'missing_citations'\n\t| 'low_confidence'\n\t| 'missing_next_action'\n\t| 'incorrect'\n\t| 'blocked';\n\nexport interface AssistantAnswerQualityInput {\n\tanswerQuality?: Record<string, any>;\n\tcorrectnessChecks?: Array<Record<string, any>>;\n\tnow?: Date | string;\n}\n\nexport interface AssistantAnswerQualityDecision {\n\tready: boolean;\n\tstatus: AssistantAnswerQualityStatus;\n\treason: string;\n\tblockers: string[];\n\tqueryStatus: 'ok' | 'no_data' | 'query_error' | 'permission_error' | 'unknown';\n\tconfidenceLevel: 'high' | 'medium' | 'low' | 'unknown';\n\tdateBasis?: string;\n\texpectedCurrentDate?: string;\n\tdateWindowRequired: boolean;\n\tdateWindowPresent: boolean;\n\tdateWindow?: {\n\t\tstartDate?: string;\n\t\tendDate?: string;\n\t\tmode?: string;\n\t\tmonths?: number;\n\t};\n\tnoDataConfirmed: boolean;\n\tlegalQueryShape: boolean;\n\tcitationRefs: string[];\n\tqueryEvidenceRequired: boolean;\n\tqueryEvidencePresent: boolean;\n\tqueryEvidenceRefs: string[];\n\tqueryExecutionCount: number;\n\tnextActions: string[];\n\tevidenceRefs: string[];\n\tfailedChecks: string[];\n\trecordedAt: string;\n}\n\nexport type AssistantAnswerActionabilityStatus =\n\t| 'ready_to_answer'\n\t| 'needs_query_repair'\n\t| 'needs_permission'\n\t| 'needs_no_data_verification'\n\t| 'needs_date_window_repair'\n\t| 'needs_query_shape_repair'\n\t| 'needs_evidence'\n\t| 'needs_confidence_review'\n\t| 'needs_next_action'\n\t| 'incorrect'\n\t| 'blocked';\n\nexport interface AssistantAnswerActionabilityContract {\n\tcontractId: string;\n\tstatus: AssistantAnswerActionabilityStatus;\n\tprimaryCommand: string;\n\tlabel: string;\n\tcanAnswerCustomer: boolean;\n\tcanDraftSupportReply: boolean;\n\tcanSendCustomerReply: boolean;\n\trequiresHumanReview: boolean;\n\tcanRunWithoutCodexMonitor: boolean;\n\tcodexFallbackRequired: boolean;\n\tcostRisk: 'free_or_deterministic' | 'small_model_or_qa' | 'expensive_model' | 'release_or_customer_send' | 'manual_blocked';\n\tqueryResultClass: AssistantAnswerQualityDecision['queryStatus'];\n\tconfidenceLevel: AssistantAnswerQualityDecision['confidenceLevel'];\n\tdecisionBasis: {\n\t\tanswerQualityStatus: AssistantAnswerQualityStatus;\n\t\tqueryStatus: AssistantAnswerQualityDecision['queryStatus'];\n\t\tqueryEvidencePresent: boolean;\n\t\tnoDataConfirmed: boolean;\n\t\tlegalQueryShape: boolean;\n\t\tdateWindowRequired: boolean;\n\t\tdateWindowPresent: boolean;\n\t\tcitationCount: number;\n\t\tnextActionCount: number;\n\t};\n\trequiredEvidence: string[];\n\tsuccessEvidence: string[];\n\tblockers: string[];\n\tnextActions: string[];\n\tnextCommands: string[];\n\tforbiddenActions: string[];\n\tevidenceRefs: string[];\n\trecordedAt: string;\n}\n\nfunction cleanText(value: any, max = 1000): string {\n\treturn String(value || '').replace(/\\s+/g, ' ').trim().slice(0, max);\n}\n\nfunction idText(value: any, max = 160): string | undefined {\n\tconst normalized = cleanText(value, max);\n\treturn normalized || undefined;\n}\n\nfunction asArray<T = any>(value: any): T[] {\n\treturn Array.isArray(value) ? value : [];\n}\n\nfunction cleanStringList(value: any, limit = 40, max = 500): string[] {\n\treturn asArray<any>(value)\n\t\t.map((entry) => cleanText(entry, max))\n\t\t.filter(Boolean)\n\t\t.slice(0, limit);\n}\n\nfunction plainObject(value: any): Record<string, any> {\n\treturn value && typeof value === 'object' && !Array.isArray(value) ? value : {};\n}\n\nfunction firstText(source: Record<string, any> | undefined, fields: string[], max = 1000): string | undefined {\n\tfor (const field of fields) {\n\t\tconst value = source?.[field];\n\t\tconst normalized = idText(value, max);\n\t\tif (normalized) {\n\t\t\treturn normalized;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction dateValue(source: Record<string, any> | undefined, fields: string[]): Date | string | undefined {\n\tfor (const field of fields) {\n\t\tconst value = source?.[field];\n\t\tif (value) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction addSourceId(sourceIds: Record<string, string>, key: string, value: any): void {\n\tconst normalized = idText(value);\n\tif (normalized) {\n\t\tsourceIds[key] = normalized;\n\t}\n}\n\nfunction pushEvent(events: AIRunEvent[], event: AIRunEvent): void {\n\tconst message = cleanText(event.message, 1800);\n\tconst metadata = event.metadata || {};\n\tif (!message && !Object.keys(metadata).length && !event.artifactPaths?.length) {\n\t\treturn;\n\t}\n\tevents.push({\n\t\t...event,\n\t\tmessage,\n\t\tartifactPaths: asArray<string>(event.artifactPaths).filter(Boolean).slice(0, 20)\n\t});\n}\n\nfunction eventDate(record: Record<string, any>): Date | string | undefined {\n\treturn dateValue(record, ['recordedAt', 'createdAt', 'updatedAt', 'timestamp', 'time', 'date']);\n}\n\nfunction normalizeManagerFailureRecord(value: any, fallback: Partial<ResolveIOAIManagerFailureRecord> = {}): ResolveIOAIManagerFailureRecord | undefined {\n\tconst entry = plainObject(value);\n\tif (!Object.keys(entry).length && !Object.keys(fallback).length) {\n\t\treturn undefined;\n\t}\n\tconst blocker = cleanText(entry.blocker || entry.reason || entry.summary || entry.message || fallback.blocker || fallback.summary, 1200);\n\tconst failureClass = cleanText(entry.failureClass || entry.failure_class || entry.class || fallback.failureClass, 120);\n\tconst evidenceHash = cleanText(entry.evidenceHash || entry.evidence_hash || entry.hash || fallback.evidenceHash, 180);\n\tconst blockerFingerprint = cleanText(entry.blockerFingerprint || entry.blocker_fingerprint || fallback.blockerFingerprint, 180);\n\tconst lane = cleanText(entry.lane || fallback.lane || 'support', 80);\n\tconst stepType = cleanText(entry.stepType || entry.step_type || entry.type || fallback.stepType || 'support_step', 80);\n\tconst outcome = cleanText(entry.outcome || entry.status || entry.result || fallback.outcome || 'needs_repair', 80);\n\tif (!blocker && !failureClass && !evidenceHash && !blockerFingerprint) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tlane,\n\t\tstepType,\n\t\toutcome,\n\t\tfailureClass: failureClass || undefined,\n\t\tblocker: blocker || undefined,\n\t\tsummary: cleanText(entry.summary || entry.message || fallback.summary, 1200) || undefined,\n\t\tblockerFingerprint: blockerFingerprint || undefined,\n\t\tevidenceHash: evidenceHash || undefined,\n\t\tchangedFiles: cleanStringList(entry.changedFiles || entry.changed_files || fallback.changedFiles, 80, 500),\n\t\tartifactPaths: cleanStringList(entry.artifactPaths || entry.artifact_paths || entry.artifacts || fallback.artifactPaths, 80, 500)\n\t};\n}\n\nfunction supportManagerFailureRecords(job: Record<string, any>, evidence: Record<string, any>): ResolveIOAIManagerFailureRecord[] {\n\tconst records: ResolveIOAIManagerFailureRecord[] = [];\n\tconst pushRecord = (value: any, fallback: Partial<ResolveIOAIManagerFailureRecord> = {}): void => {\n\t\tconst record = normalizeManagerFailureRecord(value, fallback);\n\t\tif (record) {\n\t\t\trecords.push(record);\n\t\t}\n\t};\n\tfor (const entry of asArray<any>(job.supportV5StepHistory || job.support_v5_step_history || evidence.supportV5StepHistory || evidence.support_v5_step_history)) {\n\t\tpushRecord(entry);\n\t}\n\tfor (const entry of asArray<any>(job.supportV5FailureFingerprints || job.support_v5_failure_fingerprints || evidence.supportV5FailureFingerprints || evidence.support_v5_failure_fingerprints)) {\n\t\tconst fingerprint = plainObject(entry);\n\t\tconst count = Math.max(1, Math.min(8, Number(fingerprint.count || fingerprint.repeatedCount || fingerprint.repeated_count || 1) || 1));\n\t\tconst fallback = {\n\t\t\tlane: cleanText(fingerprint.lane || 'support', 80),\n\t\t\tstepType: cleanText(fingerprint.stepType || fingerprint.step_type || 'support_step', 80),\n\t\t\toutcome: cleanText(fingerprint.outcome || 'needs_repair', 80),\n\t\t\tfailureClass: cleanText(fingerprint.failureClass || fingerprint.failure_class || fingerprint.class, 120),\n\t\t\tblocker: cleanText(fingerprint.blocker || fingerprint.reason || fingerprint.summary, 1200),\n\t\t\tblockerFingerprint: cleanText(fingerprint.blockerFingerprint || fingerprint.blocker_fingerprint, 180),\n\t\t\tevidenceHash: cleanText(fingerprint.evidenceHash || fingerprint.evidence_hash, 180)\n\t\t};\n\t\tfor (let index = 0; index < count; index += 1) {\n\t\t\tpushRecord(fingerprint, fallback);\n\t\t}\n\t}\n\tconst currentFailure = evidenceObject(\n\t\tjob.supportV5CurrentFailure,\n\t\tjob.support_v5_current_failure,\n\t\tjob.supportV5RecoveryCurrent,\n\t\tjob.support_v5_recovery_current,\n\t\tevidence.currentFailure,\n\t\tevidence.current_failure\n\t);\n\tpushRecord(currentFailure);\n\treturn records.slice(-80);\n}\n\nfunction managerNoBlindLoopGateFromHistory(\n\thistory: ResolveIOAIManagerFailureRecord[],\n\tbudgetSource: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!history.length) {\n\t\treturn undefined;\n\t}\n\tconst budget = plainObject(budgetSource);\n\tconst maxSameFailureRepeats = Math.max(1, Number(budget.maxRepeatedNoProgress || budget.max_repeated_no_progress || budget.maxSameFailureRepeats || budget.max_same_failure_repeats || 3) || 3);\n\tconst decision = decideResolveIOAIManagerPolicy({\n\t\thistory,\n\t\tmaxSameFailureRepeats\n\t});\n\tconst parksRun = /^(park_repeated_failure|park_ping_pong|manual_handoff)$/.test(decision.action);\n\tconst status: AIRunGateResult['status'] = parksRun\n\t\t? 'blocked'\n\t\t: decision.action === 'retry_infra'\n\t\t\t? 'warn'\n\t\t\t: 'pass';\n\treturn {\n\t\tkey: 'manager_no_blind_loop_policy',\n\t\tlabel: 'No-blind-loop manager policy',\n\t\tstatus,\n\t\treason: decision.reason,\n\t\tevidenceRefs: cleanStringList(decision.recoveryAction.requiredArtifacts, 20, 500),\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\taction: decision.action,\n\t\t\tfailureClass: decision.failureClass,\n\t\t\tblockerFingerprint: decision.blockerFingerprint,\n\t\t\tevidenceHash: decision.evidenceHash,\n\t\t\tsameFailureCount: decision.sameFailureCount,\n\t\t\tpingPongCount: decision.pingPongCount,\n\t\t\tnewEvidence: decision.newEvidence,\n\t\t\tmaterialEvidence: decision.materialEvidence,\n\t\t\tevidenceStrength: decision.evidenceStrength,\n\t\t\tevidenceSignals: decision.evidenceSignals,\n\t\t\tloopBudgetShouldReset: decision.loopBudgetShouldReset,\n\t\t\tproductRepairFailure: decision.productRepairFailure,\n\t\t\trecoveryClass: decision.recoveryPlan.recoveryClass,\n\t\t\tallowedAction: decision.recoveryPlan.allowedAction,\n\t\t\tdispatchAction: decision.recoveryAction.allowedDispatchAction,\n\t\t\tevidenceOnly: decision.recoveryAction.evidenceOnly,\n\t\t\tproductRepairAllowed: decision.recoveryAction.productRepairAllowed,\n\t\t\texpensiveModelAllowed: decision.recoveryAction.expensiveModelAllowed,\n\t\t\tcostCeilingUsd: decision.recoveryAction.costCeilingUsd,\n\t\t\trequiresNewEvidence: decision.recoveryAction.retryPolicy?.requireNewEvidence === true,\n\t\t\tnextCommands: decision.recoveryAction.nextCommands,\n\t\t\trequiredEvidence: decision.recoveryAction.requiredArtifacts,\n\t\t\tforbiddenActions: decision.recoveryPlan.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction managerRecoveryExecutionProofGate(\n\tproof: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!proof || !Object.keys(proof).length) {\n\t\treturn undefined;\n\t}\n\tconst validation = validateResolveIOAIManagerRecoveryExecutionProofContract(proof);\n\tconst normalized = validation.normalized;\n\tconst statusText = cleanText(normalized.status, 120);\n\tconst gateStatus: AIRunGateResult['status'] = validation.valid && normalized.canContinueRun === true && statusText === 'proof_ready'\n\t\t? 'pass'\n\t\t: statusText === 'manual_handoff'\n\t\t\t? 'warn'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'manager_recovery_execution_proof',\n\t\tlabel: 'Manager recovery execution proof',\n\t\tstatus: gateStatus,\n\t\treason: normalized.blockers[0] || validation.blockers[0] || statusText || 'Manager recovery execution proof recorded.',\n\t\tevidenceRefs: normalized.artifactPaths,\n\t\trecordedAt: isoNow(now || normalized.createdAt),\n\t\tmetadata: {\n\t\t\tcontractId: normalized.contractId,\n\t\t\tdirectiveId: normalized.directiveId,\n\t\t\tsurface: normalized.surface,\n\t\t\tdispatchAction: normalized.dispatchAction,\n\t\t\tphase: normalized.phase,\n\t\t\tstatus: statusText,\n\t\t\tcanContinueRun: normalized.canContinueRun,\n\t\t\tcanRunProductRepair: normalized.canRunProductRepair,\n\t\t\tcanRunExpensiveModel: normalized.canRunExpensiveModel,\n\t\t\tcanResetLoopBudget: normalized.canResetLoopBudget,\n\t\t\tproofRequiredBeforeContinuation: normalized.proofRequiredBeforeContinuation,\n\t\t\trequiresNewEvidence: normalized.requiresNewEvidence,\n\t\t\tnewEvidence: normalized.newEvidence,\n\t\t\tmaterialEvidence: normalized.materialEvidence,\n\t\t\tevidenceStrength: normalized.evidenceStrength,\n\t\t\tevidenceSignals: normalized.evidenceSignals,\n\t\t\tstartingFailureClass: normalized.startingFailureClass,\n\t\t\tstartingBlockerFingerprint: normalized.startingBlockerFingerprint,\n\t\t\tstartingEvidenceHash: normalized.startingEvidenceHash,\n\t\t\tlatestFailureClass: normalized.latestFailureClass,\n\t\t\tlatestBlockerFingerprint: normalized.latestBlockerFingerprint,\n\t\t\tlatestEvidenceHash: normalized.latestEvidenceHash,\n\t\t\trequiredEvidence: normalized.requiredEvidence,\n\t\t\tmissingEvidence: normalized.missingEvidence,\n\t\t\tchangedFiles: normalized.changedFiles,\n\t\t\tblockers: Array.from(new Set([...normalized.blockers, ...validation.blockers])),\n\t\t\tnextAllowedAction: normalized.nextAllowedAction,\n\t\t\tforbiddenActions: normalized.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction supportManagerNoBlindLoopGate(\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\treturn managerNoBlindLoopGateFromHistory(\n\t\tsupportManagerFailureRecords(job, evidence),\n\t\tjob.supportV5Budget || job.support_v5_budget || evidence.supportV5Budget || evidence.support_v5_budget,\n\t\tnow\n\t);\n}\n\nfunction aicoderManagerFailureRecords(\n\tapp: Record<string, any>,\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>\n): ResolveIOAIManagerFailureRecord[] {\n\tconst records: ResolveIOAIManagerFailureRecord[] = [];\n\tconst pushRecord = (value: any, fallback: Partial<ResolveIOAIManagerFailureRecord> = {}): void => {\n\t\tconst record = normalizeManagerFailureRecord(value, {\n\t\t\tlane: 'aicoder',\n\t\t\tstepType: 'workflow_step',\n\t\t\t...fallback\n\t\t});\n\t\tif (record) {\n\t\t\trecords.push(record);\n\t\t}\n\t};\n\tconst historySources = [\n\t\tjob.aicoderV6StepHistory,\n\t\tjob.aiCoderV6StepHistory,\n\t\tjob.aicoder_v6_step_history,\n\t\tjob.ai_coder_v6_step_history,\n\t\tjob.workflowStepHistory,\n\t\tjob.workflow_step_history,\n\t\tjob.stepHistory,\n\t\tjob.step_history,\n\t\tjob.managerFailureHistory,\n\t\tjob.manager_failure_history,\n\t\tapp.aicoderV6StepHistory,\n\t\tapp.aiCoderV6StepHistory,\n\t\tapp.aicoder_v6_step_history,\n\t\tapp.ai_coder_v6_step_history,\n\t\tapp.workflowStepHistory,\n\t\tapp.workflow_step_history,\n\t\tevidence.aicoderV6StepHistory,\n\t\tevidence.aiCoderV6StepHistory,\n\t\tevidence.aicoder_v6_step_history,\n\t\tevidence.ai_coder_v6_step_history,\n\t\tevidence.workflowStepHistory,\n\t\tevidence.workflow_step_history,\n\t\tevidence.stepHistory,\n\t\tevidence.step_history,\n\t\tevidence.managerFailureHistory,\n\t\tevidence.manager_failure_history\n\t];\n\tfor (const source of historySources) {\n\t\tfor (const entry of asArray<any>(source)) {\n\t\t\tpushRecord(entry);\n\t\t}\n\t}\n\tconst fingerprintSources = [\n\t\tjob.aicoderV6FailureFingerprints,\n\t\tjob.aiCoderV6FailureFingerprints,\n\t\tjob.aicoder_v6_failure_fingerprints,\n\t\tjob.ai_coder_v6_failure_fingerprints,\n\t\tjob.workflowFailureFingerprints,\n\t\tjob.workflow_failure_fingerprints,\n\t\tjob.failureFingerprints,\n\t\tjob.failure_fingerprints,\n\t\tapp.aicoderV6FailureFingerprints,\n\t\tapp.aiCoderV6FailureFingerprints,\n\t\tapp.aicoder_v6_failure_fingerprints,\n\t\tapp.ai_coder_v6_failure_fingerprints,\n\t\tevidence.aicoderV6FailureFingerprints,\n\t\tevidence.aiCoderV6FailureFingerprints,\n\t\tevidence.aicoder_v6_failure_fingerprints,\n\t\tevidence.ai_coder_v6_failure_fingerprints,\n\t\tevidence.workflowFailureFingerprints,\n\t\tevidence.workflow_failure_fingerprints,\n\t\tevidence.failureFingerprints,\n\t\tevidence.failure_fingerprints\n\t];\n\tfor (const source of fingerprintSources) {\n\t\tfor (const entry of asArray<any>(source)) {\n\t\t\tconst fingerprint = plainObject(entry);\n\t\t\tconst count = Math.max(1, Math.min(8, Number(fingerprint.count || fingerprint.repeatedCount || fingerprint.repeated_count || 1) || 1));\n\t\t\tconst fallback = {\n\t\t\t\tlane: cleanText(fingerprint.lane || 'aicoder', 80),\n\t\t\t\tstepType: cleanText(fingerprint.stepType || fingerprint.step_type || 'workflow_step', 80),\n\t\t\t\toutcome: cleanText(fingerprint.outcome || 'needs_repair', 80),\n\t\t\t\tfailureClass: cleanText(fingerprint.failureClass || fingerprint.failure_class || fingerprint.class, 120),\n\t\t\t\tblocker: cleanText(fingerprint.blocker || fingerprint.reason || fingerprint.summary, 1200),\n\t\t\t\tblockerFingerprint: cleanText(fingerprint.blockerFingerprint || fingerprint.blocker_fingerprint, 180),\n\t\t\t\tevidenceHash: cleanText(fingerprint.evidenceHash || fingerprint.evidence_hash, 180)\n\t\t\t};\n\t\t\tfor (let index = 0; index < count; index += 1) {\n\t\t\t\tpushRecord(fingerprint, fallback);\n\t\t\t}\n\t\t}\n\t}\n\tconst currentFailure = evidenceObject(\n\t\tjob.aicoderV6CurrentFailure,\n\t\tjob.aiCoderV6CurrentFailure,\n\t\tjob.aicoder_v6_current_failure,\n\t\tjob.ai_coder_v6_current_failure,\n\t\tjob.workflowCurrentFailure,\n\t\tjob.workflow_current_failure,\n\t\tjob.currentFailure,\n\t\tjob.current_failure,\n\t\tevidence.aicoderV6CurrentFailure,\n\t\tevidence.aiCoderV6CurrentFailure,\n\t\tevidence.aicoder_v6_current_failure,\n\t\tevidence.ai_coder_v6_current_failure,\n\t\tevidence.workflowCurrentFailure,\n\t\tevidence.workflow_current_failure,\n\t\tevidence.currentFailure,\n\t\tevidence.current_failure\n\t);\n\tpushRecord(currentFailure);\n\treturn records.slice(-80);\n}\n\nfunction aicoderManagerNoBlindLoopGate(\n\tapp: Record<string, any>,\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\treturn managerNoBlindLoopGateFromHistory(\n\t\taicoderManagerFailureRecords(app, job, evidence),\n\t\tjob.aicoderV6Budget\n\t\t\t|| job.aiCoderV6Budget\n\t\t\t|| job.aicoder_v6_budget\n\t\t\t|| job.ai_coder_v6_budget\n\t\t\t|| evidence.aicoderV6Budget\n\t\t\t|| evidence.aiCoderV6Budget\n\t\t\t|| evidence.aicoder_v6_budget\n\t\t\t|| evidence.ai_coder_v6_budget\n\t\t\t|| app.aicoderV6Budget\n\t\t\t|| app.aiCoderV6Budget\n\t\t\t|| app.aicoder_v6_budget\n\t\t\t|| app.ai_coder_v6_budget\n\t\t\t|| job.budget\n\t\t\t|| evidence.budget,\n\t\tnow\n\t);\n}\n\nfunction managerNoBlindLoopMetadata(gate: AIRunGateResult | undefined): Record<string, any> | undefined {\n\tif (!gate) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\taction: cleanText(gate.metadata?.action, 120),\n\t\tstatus: gate.status,\n\t\tfailureClass: cleanText(gate.metadata?.failureClass, 120),\n\t\tsameFailureCount: Number(gate.metadata?.sameFailureCount || 0),\n\t\tpingPongCount: Number(gate.metadata?.pingPongCount || 0),\n\t\tnewEvidence: gate.metadata?.newEvidence === true,\n\t\tmaterialEvidence: gate.metadata?.materialEvidence === true,\n\t\tevidenceStrength: cleanText(gate.metadata?.evidenceStrength, 120),\n\t\tloopBudgetShouldReset: gate.metadata?.loopBudgetShouldReset === true,\n\t\tdispatchAction: cleanText(gate.metadata?.dispatchAction, 160),\n\t\tproductRepairAllowed: gate.metadata?.productRepairAllowed === true,\n\t\texpensiveModelAllowed: gate.metadata?.expensiveModelAllowed === true,\n\t\tproductRepairFailure: gate.metadata?.productRepairFailure === true,\n\t\trequiresNewEvidence: gate.metadata?.requiresNewEvidence === true\n\t};\n}\n\nfunction hotfixEvidenceCandidates(...sources: any[]): Record<string, any>[] {\n\tconst result: Record<string, any>[] = [];\n\tconst seen = new Set<string>();\n\tconst pushCandidate = (value: any): void => {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const entry of value) {\n\t\t\t\tpushCandidate(entry);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn;\n\t\t}\n\t\tconst nestedValues = [\n\t\t\tvalue.hotfixEvidence,\n\t\t\tvalue.hotfix_evidence,\n\t\t\tvalue.releaseHotfixEvidence,\n\t\t\tvalue.release_hotfix_evidence,\n\t\t\tvalue.managerHotfixEvidence,\n\t\t\tvalue.manager_hotfix_evidence,\n\t\t\tvalue.backendHotfixEvidence,\n\t\t\tvalue.backend_hotfix_evidence\n\t\t].filter(Boolean);\n\t\tif (nestedValues.length) {\n\t\t\tfor (const nestedValue of nestedValues) {\n\t\t\t\tpushCandidate(nestedValue);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!(value.channel || value.hotfixChannel || value.hotfix_channel)) {\n\t\t\treturn;\n\t\t}\n\t\tconst key = JSON.stringify({\n\t\t\tchannel: value.channel || value.hotfixChannel || value.hotfix_channel,\n\t\t\thost: value.target?.host || value.host,\n\t\t\tpath: value.target?.path || value.path || value.remotePath || value.remote_path,\n\t\t\tchecksum: value.remoteChecksumAfter || value.remote_checksum_after || value.remoteChecksum || value.remote_checksum\n\t\t});\n\t\tif (seen.has(key)) {\n\t\t\treturn;\n\t\t}\n\t\tseen.add(key);\n\t\tresult.push(value);\n\t};\n\tfor (const source of sources) {\n\t\tpushCandidate(source);\n\t}\n\treturn result;\n}\n\nfunction hotfixEvidenceArtifactPaths(evidence: Record<string, any>, normalized: Record<string, any> | undefined): string[] {\n\treturn [\n\t\tnormalized?.compiledArtifactPath,\n\t\tnormalized?.builtDistPath,\n\t\tnormalized?.target?.artifactPath,\n\t\tevidence.compiledArtifactPath,\n\t\tevidence.compiled_artifact_path,\n\t\tevidence.builtDistPath,\n\t\tevidence.built_dist_path,\n\t\tevidence.artifactPath,\n\t\tevidence.artifact_path\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean).slice(0, 8);\n}\n\nfunction hotfixEvidenceGate(\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence);\n\tif (!validation.normalized && validation.status === 'missing') {\n\t\treturn undefined;\n\t}\n\tconst status: AIRunGateResult['status'] = validation.valid\n\t\t? (validation.fullDeployAllowed ? 'warn' : 'pass')\n\t\t: validation.status === 'blocked'\n\t\t\t? 'blocked'\n\t\t\t: 'fail';\n\tconst reason = validation.valid\n\t\t? validation.fullDeployAllowed\n\t\t\t? 'Hotfix evidence allows exactly one full deploy after force/new-artifact proof.'\n\t\t\t: 'Hotfix evidence is sufficient; rerun the smallest release gate before continuing.'\n\t\t: validation.blockers.join('; ');\n\treturn {\n\t\tkey: 'hotfix_evidence',\n\t\tlabel: 'Hotfix evidence',\n\t\tstatus,\n\t\treason,\n\t\tevidenceRefs: hotfixEvidenceArtifactPaths(evidence, validation.normalized as any),\n\t\trecordedAt: isoNow(now || validation.normalized?.recordedAt),\n\t\tmetadata: {\n\t\t\tchannel: validation.channel,\n\t\t\tnextAction: validation.nextAction,\n\t\t\tfullDeployAllowed: validation.fullDeployAllowed,\n\t\t\tfullDeployBlocked: validation.fullDeployBlocked,\n\t\t\thotfixSatisfied: validation.hotfixSatisfied,\n\t\t\tblockers: validation.blockers,\n\t\t\tgithubCommitGuard: validation.githubCommitGuard,\n\t\t\ttarget: validation.normalized?.target\n\t\t}\n\t};\n}\n\nfunction hotfixCommitProofGate(\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence);\n\tconst guard = validation.githubCommitGuard;\n\tif (!guard.required) {\n\t\treturn undefined;\n\t}\n\tconst status: AIRunGateResult['status'] = guard.passed\n\t\t? 'pass'\n\t\t: guard.status === 'invalid'\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'hotfix_commit_proof',\n\t\tlabel: 'Hotfix GitHub commit proof',\n\t\tstatus,\n\t\treason: guard.passed\n\t\t\t? 'Hotfix has matching sourceCommitSha, GitHub commit URL, passed gitCommitStatus, and passed gitPushStatus.'\n\t\t\t: (guard.blockers.join('; ') || 'Manager hotfix is blocked until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus prove the hotfix is committed and pushed to GitHub.'),\n\t\tevidenceRefs: cleanStringList([guard.githubCommitUrl], 1, 500),\n\t\trecordedAt: isoNow(now || validation.normalized?.recordedAt),\n\t\tmetadata: {\n\t\t\tchannel: guard.channel || validation.channel,\n\t\t\tstatus: guard.status,\n\t\t\tpassed: guard.passed,\n\t\t\tmanagerMustCommitBeforeHotfix: guard.managerMustCommitBeforeHotfix,\n\t\t\tsourceCommitSha: guard.sourceCommitSha,\n\t\t\tgithubCommitUrl: guard.githubCommitUrl,\n\t\t\tgithubCommitSha: guard.githubCommitSha,\n\t\t\tgitCommitStatus: guard.gitCommitStatus,\n\t\t\tgitPushStatus: guard.gitPushStatus,\n\t\t\tblockers: guard.blockers,\n\t\t\tnextCommands: guard.nextCommands,\n\t\t\trequiredEvidence: guard.requiredEvidence\n\t\t}\n\t};\n}\n\nfunction hotfixDurabilityContractCandidates(...sources: any[]): Record<string, any>[] {\n\tconst result: Record<string, any>[] = [];\n\tconst seen = new Set<string>();\n\tconst pushCandidate = (value: any): void => {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const entry of value) {\n\t\t\t\tpushCandidate(entry);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn;\n\t\t}\n\t\tconst nestedValues = [\n\t\t\tvalue.hotfixDurabilityContract,\n\t\t\tvalue.hotfix_durability_contract,\n\t\t\tvalue.supportManagerHotfixDurabilityContract,\n\t\t\tvalue.support_manager_hotfix_durability_contract,\n\t\t\tvalue.managerRecoveryHotfixDurability,\n\t\t\tvalue.manager_recovery_hotfix_durability,\n\t\t\tvalue.supportV5RecoveryDirective?.hotfixDurabilityContract,\n\t\t\tvalue.supportV5RecoveryDirective?.hotfix_durability_contract\n\t\t].filter(Boolean);\n\t\tif (nestedValues.length) {\n\t\t\tfor (const nestedValue of nestedValues) {\n\t\t\t\tpushCandidate(nestedValue);\n\t\t\t}\n\t\t}\n\t\tconst required = value.required === true || value.liveHotfixBlockedUntilCommit === true || value.live_hotfix_blocked_until_commit === true || value.commitProofPassed === true || value.commit_proof_passed === true;\n\t\tif (!required) {\n\t\t\treturn;\n\t\t}\n\t\tconst key = cleanText(value.contractId || value.contract_id || JSON.stringify({\n\t\t\tstatus: value.status,\n\t\t\tsha: value.sourceCommitSha || value.source_commit_sha,\n\t\t\turl: value.githubCommitUrl || value.github_commit_url\n\t\t}), 500);\n\t\tif (seen.has(key)) {\n\t\t\treturn;\n\t\t}\n\t\tseen.add(key);\n\t\tresult.push(value);\n\t};\n\tfor (const source of sources) {\n\t\tpushCandidate(source);\n\t}\n\treturn result;\n}\n\nfunction hotfixDurabilityContractGate(\n\tcontractValue: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tconst contract = buildResolveIOAIManagerHotfixDurabilityContract({\n\t\texisting: contractValue,\n\t\tevidence: contractValue.evidence || contractValue.hotfixEvidence || contractValue.hotfix_evidence,\n\t\taction: contractValue.action,\n\t\treason: contractValue.reason,\n\t\tnow\n\t});\n\tif (!contract.required) {\n\t\treturn undefined;\n\t}\n\tconst status: AIRunGateResult['status'] = contract.liveHotfixBlockedUntilCommit\n\t\t? 'blocked'\n\t\t: contract.status === 'ready_for_continuation' || contract.status === 'ready_for_release_gate'\n\t\t\t? 'pass'\n\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'hotfix_durability_contract',\n\t\tlabel: 'Hotfix durability contract',\n\t\tstatus,\n\t\treason: contract.liveHotfixBlockedUntilCommit\n\t\t\t? `Manager hotfix is blocked until GitHub commit proof is recorded: ${contract.missingCommitProofFields.join(', ') || 'sourceCommitSha, githubCommitUrl, gitCommitStatus=passed, gitPushStatus=passed'}`\n\t\t\t: `Manager hotfix durability contract is ${contract.status}.`,\n\t\tevidenceRefs: cleanStringList([contract.githubCommitUrl], 1, 500),\n\t\trecordedAt: isoNow(now || contract.updatedAt),\n\t\tmetadata: {\n\t\t\tcontractId: contract.contractId,\n\t\t\tstatus: contract.status,\n\t\t\tnextSafeAction: contract.nextSafeAction,\n\t\t\tcanPrepareHotfixPatch: contract.canPrepareHotfixPatch,\n\t\t\tcanHotfixBackend: contract.canHotfixBackend,\n\t\t\tliveHotfixBlockedUntilCommit: contract.liveHotfixBlockedUntilCommit,\n\t\t\tcommitProofPassed: contract.commitProofPassed,\n\t\t\tcommitProofStatus: contract.commitProofStatus,\n\t\t\tmissingCommitProofFields: contract.missingCommitProofFields,\n\t\t\tsourceCommitSha: contract.sourceCommitSha,\n\t\t\tgithubCommitUrl: contract.githubCommitUrl,\n\t\t\tgitCommitStatus: contract.gitCommitStatus,\n\t\t\tgitPushStatus: contract.gitPushStatus,\n\t\t\tphaseOrder: contract.phaseOrder,\n\t\t\trequiredFields: contract.requiredFields,\n\t\t\tforbiddenActions: contract.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction collectHotfixEvidenceEvents(\n\tsources: any[],\n\tevents: AIRunEvent[],\n\tgates: AIRunGateResult[],\n\tnow?: Date | string\n): void {\n\tfor (const contract of hotfixDurabilityContractCandidates(...sources)) {\n\t\tconst gate = hotfixDurabilityContractGate(contract, now);\n\t\tif (gate) {\n\t\t\tgates.push(gate);\n\t\t\tpushEvent(events, {\n\t\t\t\ttype: 'log',\n\t\t\t\tcategory: 'hotfix_durability_contract',\n\t\t\t\tmessage: gate.reason,\n\t\t\t\tartifactPaths: gate.evidenceRefs,\n\t\t\t\trecordedAt: gate.recordedAt,\n\t\t\t\tmetadata: gate.metadata\n\t\t\t});\n\t\t}\n\t}\n\tfor (const evidence of hotfixEvidenceCandidates(...sources)) {\n\t\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence);\n\t\tif (!validation.normalized && validation.status === 'missing') {\n\t\t\tcontinue;\n\t\t}\n\t\tconst artifactPaths = hotfixEvidenceArtifactPaths(evidence, validation.normalized as any);\n\t\tpushEvent(events, {\n\t\t\ttype: 'hotfix',\n\t\t\tcategory: validation.channel || 'hotfix',\n\t\t\tmessage: validation.valid\n\t\t\t\t? `Hotfix evidence recorded for ${validation.channel}.`\n\t\t\t\t: `Incomplete hotfix evidence for ${validation.channel || 'unknown channel'}.`,\n\t\t\tartifactPaths,\n\t\t\trecordedAt: validation.normalized?.recordedAt || eventDate(evidence),\n\t\t\tmetadata: {\n\t\t\t\tstatus: validation.status,\n\t\t\t\tnextAction: validation.nextAction,\n\t\t\t\tfullDeployAllowed: validation.fullDeployAllowed,\n\t\t\t\tfullDeployBlocked: validation.fullDeployBlocked,\n\t\t\t\thotfixSatisfied: validation.hotfixSatisfied,\n\t\t\t\tblockers: validation.blockers,\n\t\t\t\tgithubCommitGuard: validation.githubCommitGuard,\n\t\t\t\ttarget: validation.normalized?.target\n\t\t\t}\n\t\t});\n\t\tconst gate = hotfixEvidenceGate(evidence, now);\n\t\tif (gate) {\n\t\t\tgates.push(gate);\n\t\t}\n\t\tconst commitProofGate = hotfixCommitProofGate(evidence, now);\n\t\tif (commitProofGate) {\n\t\t\tgates.push(commitProofGate);\n\t\t\tpushEvent(events, {\n\t\t\t\ttype: 'log',\n\t\t\t\tcategory: 'hotfix_commit_proof',\n\t\t\t\tmessage: commitProofGate.reason,\n\t\t\t\tartifactPaths: commitProofGate.evidenceRefs,\n\t\t\t\trecordedAt: commitProofGate.recordedAt,\n\t\t\t\tmetadata: commitProofGate.metadata\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction hotfixDurabilityMetadata(gates: AIRunGateResult[]): Record<string, any> | undefined {\n\tconst hotfixGate = gates.find((gate) => gate.key === 'hotfix_evidence');\n\tconst commitGate = gates.find((gate) => gate.key === 'hotfix_commit_proof');\n\tconst durabilityGate = gates.find((gate) => gate.key === 'hotfix_durability_contract');\n\tif (!hotfixGate && !commitGate && !durabilityGate) {\n\t\treturn undefined;\n\t}\n\tconst commitBlocked = (!!commitGate && (commitGate.status === 'blocked' || commitGate.status === 'fail'))\n\t\t|| durabilityGate?.metadata?.liveHotfixBlockedUntilCommit === true;\n\treturn {\n\t\tdurabilityStatus: cleanText(durabilityGate?.metadata?.status, 80),\n\t\tdurabilityGateStatus: cleanText(durabilityGate?.status, 80),\n\t\tcanPrepareHotfixPatch: durabilityGate?.metadata?.canPrepareHotfixPatch === true,\n\t\tcanHotfixBackend: durabilityGate?.metadata?.canHotfixBackend === true,\n\t\tliveHotfixBlockedUntilCommit: durabilityGate?.metadata?.liveHotfixBlockedUntilCommit === true,\n\t\thotfixEvidenceStatus: cleanText(hotfixGate?.status, 80),\n\t\thotfixSatisfied: hotfixGate?.metadata?.hotfixSatisfied === true,\n\t\tfullDeployBlocked: hotfixGate?.metadata?.fullDeployBlocked === true,\n\t\tfullDeployAllowed: hotfixGate?.metadata?.fullDeployAllowed === true,\n\t\tcommitProofRequired: !!commitGate || !!durabilityGate,\n\t\tcommitProofStatus: cleanText(commitGate?.status || durabilityGate?.metadata?.commitProofStatus, 80),\n\t\tcommitProofPassed: commitGate?.metadata?.passed === true || durabilityGate?.metadata?.commitProofPassed === true,\n\t\tcommitBlocked,\n\t\tchannel: cleanText(commitGate?.metadata?.channel || hotfixGate?.metadata?.channel, 120),\n\t\tsourceCommitSha: cleanText(commitGate?.metadata?.sourceCommitSha || durabilityGate?.metadata?.sourceCommitSha, 200),\n\t\tgithubCommitUrl: cleanText(commitGate?.metadata?.githubCommitUrl || durabilityGate?.metadata?.githubCommitUrl, 500),\n\t\tgitCommitStatus: cleanText(commitGate?.metadata?.gitCommitStatus || durabilityGate?.metadata?.gitCommitStatus, 120),\n\t\tgitPushStatus: cleanText(commitGate?.metadata?.gitPushStatus || durabilityGate?.metadata?.gitPushStatus, 120),\n\t\tblockers: cleanStringList([\n\t\t\t...asArray(durabilityGate?.metadata?.missingCommitProofFields),\n\t\t\t...asArray(commitGate?.metadata?.blockers),\n\t\t\t...asArray(hotfixGate?.metadata?.blockers)\n\t\t], 20, 500),\n\t\trequiredEvidence: cleanStringList(commitGate?.metadata?.requiredEvidence || durabilityGate?.metadata?.requiredFields, 20, 500),\n\t\tnextCommands: cleanStringList(commitGate?.metadata?.nextCommands, 20, 240),\n\t\tnextAction: commitBlocked\n\t\t\t? cleanText(durabilityGate?.metadata?.nextSafeAction, 200) || 'Commit and push the hotfix to GitHub, record sourceCommitSha/githubCommitUrl/gitCommitStatus/gitPushStatus, then rerun the smallest verification gate.'\n\t\t\t: cleanText(hotfixGate?.metadata?.nextAction, 1000)\n\t};\n}\n\nfunction collectUsageEvents(entries: Array<Record<string, any>>, events: AIRunEvent[]): AIRunCost | undefined {\n\tif (!entries.length) {\n\t\treturn undefined;\n\t}\n\tconst normalizedEntries = normalizeOpenAIUsageRowsForCosting(entries);\n\tfor (const entry of normalizedEntries) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'usage',\n\t\t\tcategory: cleanText(entry.category || entry.kind || entry.phase, 160) || 'usage',\n\t\t\tmessage: cleanText(entry.summary || entry.description || entry.model || 'Model usage recorded.', 800),\n\t\t\trecordedAt: eventDate(entry),\n\t\t\tmetadata: {\n\t\t\t\tmodel: entry.model,\n\t\t\t\tinputTokens: entry.inputTokens ?? entry.input_tokens,\n\t\t\t\toutputTokens: entry.outputTokens ?? entry.output_tokens,\n\t\t\t\ttotalTokens: entry.totalTokens ?? entry.total_tokens,\n\t\t\t\testimatedUsd: entry.estimatedUsd ?? entry.cost_estimate,\n\t\t\t\tusageSource: entry.usage_source ?? entry.usageSource,\n\t\t\t\tusageSurface: entry.usage_surface ?? entry.usageSurface,\n\t\t\t\tusagePhase: entry.usage_phase ?? entry.usagePhase,\n\t\t\t\tcostBasis: entry.cost_basis ?? entry.costBasis,\n\t\t\t\tisManual: entry.is_manual ?? entry.isManual,\n\t\t\t\tisUntracked: entry.is_untracked ?? entry.isUntracked,\n\t\t\t\tuntrackedReason: entry.untracked_reason ?? entry.untrackedReason\n\t\t\t}\n\t\t});\n\t}\n\treturn buildAIRunCost(entries);\n}\n\nfunction collectCommitEvents(commits: Array<Record<string, any>>, events: AIRunEvent[]): void {\n\tfor (const commit of commits.slice(0, 80)) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'git_commit',\n\t\t\tmessage: cleanText(commit.message || commit.subject || commit.title || commit.hash || commit.sha, 1200),\n\t\t\trecordedAt: eventDate(commit),\n\t\t\tmetadata: {\n\t\t\t\tsha: commit.sha || commit.hash,\n\t\t\t\tbranch: commit.branch,\n\t\t\t\tauthor: commit.author\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction statusFromBoolean(value: any, fallback?: string): string | undefined {\n\tif (value === true) {\n\t\treturn 'pass';\n\t}\n\tif (value === false) {\n\t\treturn 'fail';\n\t}\n\treturn fallback;\n}\n\nfunction collectArtifacts(evidence: Record<string, any> | undefined): AIQaArtifact[] {\n\tconst artifacts: AIQaArtifact[] = [];\n\tfor (const entry of asArray<any>(evidence?.artifacts)) {\n\t\tartifacts.push({\n\t\t\ttype: entry.type || 'other',\n\t\t\tpath: cleanText(entry.path || entry.file || entry.artifactPath, 500),\n\t\t\turl: cleanText(entry.url, 500),\n\t\t\ttitle: cleanText(entry.title || entry.name, 300),\n\t\t\tcaption: cleanText(entry.caption || entry.message, 800),\n\t\t\tmetadata: entry.metadata\n\t\t});\n\t}\n\tconst screenshots = asArray<any>(evidence?.screenshots || evidence?.qaScreenshots || evidence?.browserScreenshots);\n\tfor (const screenshot of screenshots.slice(0, 40)) {\n\t\tif (typeof screenshot === 'string') {\n\t\t\tartifacts.push({ type: 'screenshot', path: screenshot });\n\t\t} else {\n\t\t\tartifacts.push({\n\t\t\t\ttype: 'screenshot',\n\t\t\t\tpath: cleanText(screenshot.path || screenshot.file, 500),\n\t\t\t\turl: cleanText(screenshot.url, 500),\n\t\t\t\ttitle: cleanText(screenshot.title || screenshot.route, 300),\n\t\t\t\tcaption: cleanText(screenshot.caption || screenshot.message, 800),\n\t\t\t\tmetadata: screenshot.metadata\n\t\t\t});\n\t\t}\n\t}\n\tconst artifactRefs = [\n\t\t...asArray<any>(evidence?.artifactPaths),\n\t\t...asArray<any>(evidence?.artifact_paths),\n\t\t...asArray<any>(evidence?.runnerEvidenceArtifacts),\n\t\t...asArray<any>(evidence?.runner_evidence_artifacts),\n\t\t...asArray<any>(evidence?.supportQaArtifacts),\n\t\t...asArray<any>(evidence?.support_qa_artifacts),\n\t\t...asArray<any>(evidence?.qa_artifacts)\n\t];\n\tfor (const entry of artifactRefs.slice(0, 60)) {\n\t\tif (typeof entry === 'string') {\n\t\t\tartifacts.push({ type: 'other', path: cleanText(entry, 500) });\n\t\t}\n\t\telse if (entry && typeof entry === 'object') {\n\t\t\tartifacts.push({\n\t\t\t\ttype: entry.type || 'other',\n\t\t\t\tpath: cleanText(entry.path || entry.file || entry.artifactPath || entry.artifact_path, 500),\n\t\t\t\turl: cleanText(entry.url, 500),\n\t\t\t\ttitle: cleanText(entry.title || entry.name || entry.label, 300),\n\t\t\t\tcaption: cleanText(entry.caption || entry.message || entry.summary, 800),\n\t\t\t\tmetadata: entry.metadata\n\t\t\t});\n\t\t}\n\t}\n\treturn artifacts;\n}\n\nfunction collectInfraChecks(evidence: Record<string, any> | undefined): AIQaInfraCheck[] {\n\tconst checks: AIQaInfraCheck[] = [];\n\tfor (const entry of asArray<any>(evidence?.infraChecks || evidence?.preflightChecks)) {\n\t\tchecks.push({\n\t\t\tname: cleanText(entry.name || entry.check || entry.key, 160) || 'infra_check',\n\t\t\tstatus: entry.status || statusFromBoolean(entry.passed),\n\t\t\tmessage: cleanText(entry.message || entry.error || entry.reason, 1000),\n\t\t\tpath: cleanText(entry.path, 500),\n\t\t\tdurationMs: Number(entry.durationMs ?? entry.duration_ms) || undefined,\n\t\t\tmetadata: entry.metadata,\n\t\t\tcheckedAt: eventDate(entry)\n\t\t});\n\t}\n\tif (evidence?.preflightStatus) {\n\t\tchecks.push({\n\t\t\tname: 'qa_preflight',\n\t\t\tstatus: evidence.preflightStatus,\n\t\t\tmessage: cleanText(evidence.preflightMessage || evidence.preflightReason, 1000),\n\t\t\tpath: cleanText(evidence.preflightArtifactPath || evidence.preflightPath, 500)\n\t\t});\n\t}\n\treturn checks;\n}\n\nfunction collectCompileResult(evidence: Record<string, any> | undefined): AIQaCompileResult | undefined {\n\tconst build = evidence?.compile || evidence?.build || evidence?.buildEvidence || evidence?.buildResult;\n\tif (!build && evidence?.compileStatus === undefined && evidence?.buildStatus === undefined) {\n\t\treturn undefined;\n\t}\n\tconst status = build?.status\n\t\t|| evidence?.compileStatus\n\t\t|| evidence?.buildStatus\n\t\t|| statusFromBoolean(build?.passed ?? build?.allExpectedPassed ?? evidence?.buildPassed);\n\treturn {\n\t\tstatus,\n\t\tcommand: cleanText(build?.command || evidence?.buildCommand, 500),\n\t\tartifactPath: cleanText(build?.artifactPath || build?.logPath || evidence?.buildLogPath, 500),\n\t\tmessage: cleanText(build?.message || build?.error || evidence?.buildMessage, 1000),\n\t\tdurationMs: Number(build?.durationMs ?? build?.duration_ms) || undefined,\n\t\tstaleEvidence: build?.staleEvidence === true || evidence?.staleBuildEvidence === true,\n\t\trecordedAt: eventDate(build || evidence || {})\n\t};\n}\n\nfunction collectRouteProbes(evidence: Record<string, any> | undefined): AIQaRouteProbe[] {\n\tconst probes: AIQaRouteProbe[] = [];\n\tconst rows = [\n\t\t...asArray<any>(evidence?.routeProbes),\n\t\t...asArray<any>(evidence?.route_probes),\n\t\t...asArray<any>(evidence?.routes),\n\t\t...asArray<any>(evidence?.browserRoutes),\n\t\t...asArray<any>(evidence?.browser_routes),\n\t\t...asArray<any>(evidence?.workflowProbes),\n\t\t...asArray<any>(evidence?.workflow_probes)\n\t];\n\tconst directProbe = plainObject(evidence?.routeProbe || evidence?.route_probe || evidence?.workflowProbe || evidence?.workflow_probe);\n\tif (Object.keys(directProbe).length) {\n\t\trows.push(directProbe);\n\t}\n\tfor (const entry of rows) {\n\t\tprobes.push({\n\t\t\troute: cleanText(entry.route || entry.path || entry.url, 500) || '/',\n\t\t\tstatus: entry.status || statusFromBoolean(entry.passed),\n\t\t\tscreenshot: cleanText(entry.screenshot || entry.screenshotPath, 500),\n\t\t\tcaption: cleanText(entry.caption || entry.message, 1000),\n\t\t\tshellOnly: entry.shellOnly === true,\n\t\t\tauthenticated: entry.authenticated === true,\n\t\t\tconsoleErrors: asArray<string>(entry.consoleErrors),\n\t\t\tnetworkErrors: asArray<string>(entry.networkErrors),\n\t\t\tmessage: cleanText(entry.message || entry.error, 1000),\n\t\t\trecordedAt: eventDate(entry)\n\t\t});\n\t}\n\tconst screenshots = asArray<any>(evidence?.screenshots || evidence?.qaScreenshots || evidence?.browserScreenshots);\n\tfor (const screenshot of screenshots.slice(0, 20)) {\n\t\tif (typeof screenshot === 'string') {\n\t\t\tprobes.push({ route: '/', status: 'pass', screenshot, caption: 'Historical browser screenshot recorded.' });\n\t\t} else if (screenshot.route || screenshot.path || screenshot.url || screenshot.screenshot || screenshot.file) {\n\t\t\tprobes.push({\n\t\t\t\troute: cleanText(screenshot.route || screenshot.url || screenshot.path, 500) || '/',\n\t\t\t\tstatus: screenshot.status || statusFromBoolean(screenshot.passed, 'pass'),\n\t\t\t\tscreenshot: cleanText(screenshot.screenshot || screenshot.screenshotPath || screenshot.file || screenshot.path, 500),\n\t\t\t\tcaption: cleanText(screenshot.caption || screenshot.message, 1000),\n\t\t\t\tshellOnly: screenshot.shellOnly === true,\n\t\t\t\tauthenticated: screenshot.authenticated === true,\n\t\t\t\trecordedAt: eventDate(screenshot)\n\t\t\t});\n\t\t}\n\t}\n\treturn probes;\n}\n\nfunction collectBusinessAssertions(evidence: Record<string, any> | undefined): AIQaBusinessAssertion[] {\n\tconst assertions: AIQaBusinessAssertion[] = [];\n\tconst rows = [\n\t\t...asArray<any>(evidence?.businessAssertions),\n\t\t...asArray<any>(evidence?.business_assertions),\n\t\t...asArray<any>(evidence?.workflowAssertions),\n\t\t...asArray<any>(evidence?.workflow_assertions),\n\t\t...asArray<any>(evidence?.assertions),\n\t\t...asArray<any>(evidence?.qaRows),\n\t\t...asArray<any>(evidence?.qa_rows),\n\t\t...asArray<any>(evidence?.rows),\n\t\t...asArray<any>(evidence?.supportQaAssertions),\n\t\t...asArray<any>(evidence?.support_qa_assertions),\n\t\t...asArray<any>(evidence?.aiQaBusinessAssertions),\n\t\t...asArray<any>(evidence?.ai_qa_business_assertions)\n\t];\n\tfor (const entry of rows) {\n\t\tassertions.push({\n\t\t\tassertion: cleanText(entry.assertion || entry.name || entry.label || entry.workflow || entry.expected, 1000) || 'business assertion',\n\t\t\tstatus: entry.status || entry.outcome || entry.result || statusFromBoolean(entry.passed),\n\t\t\tworkflow: cleanText(entry.workflow || entry.workflowName || entry.workflow_name, 400),\n\t\t\troute: cleanText(entry.route || entry.url, 500),\n\t\t\taction: cleanText(entry.action || entry.action_under_test || entry.actionUnderTest, 500),\n\t\t\texpected: cleanText(entry.expected || entry.expected_business_state_change || entry.expectedBusinessStateChange, 1000),\n\t\t\tobserved: cleanText(entry.observed || entry.actual || entry.after || entry.after_state || entry.afterState, 1000),\n\t\t\tdataProof: cleanText(entry.dataProof || entry.data_proof || entry.domProof || entry.dom_proof || entry.proof || entry.summary, 1400),\n\t\t\tmongoDelta: plainObject(entry.mongoDelta || entry.mongo_delta),\n\t\t\tartifactPaths: cleanStringList(entry.artifactPaths || entry.artifact_paths || entry.artifacts || entry.screenshots || (entry.screenshot ? [entry.screenshot] : []), 30, 500),\n\t\t\tmessage: cleanText(entry.message || entry.error || entry.reason, 1000),\n\t\t\trecordedAt: eventDate(entry),\n\t\t\tmetadata: {\n\t\t\t\t...plainObject(entry.metadata),\n\t\t\t\t...(entry.acceptanceBlocked === true || entry.acceptance_blocked === true ? { acceptanceBlocked: true } : {}),\n\t\t\t\t...(entry.routeOnly === true || entry.route_only === true ? { routeOnly: true } : {})\n\t\t\t}\n\t\t});\n\t}\n\tif (!assertions.length && evidence?.qaRunOutcome === 'business_assertion_passed') {\n\t\tassertions.push({\n\t\t\tassertion: cleanText(evidence.aiRunOutcomeReason || evidence.reason || 'Historical business assertion passed.', 1000),\n\t\t\tstatus: 'pass',\n\t\t\tdataProof: cleanText(evidence.aiRunOutcomeReason || evidence.reason, 1400)\n\t\t});\n\t}\n\tif (!assertions.length && evidence?.qaRunOutcome === 'business_assertion_failed') {\n\t\tassertions.push({\n\t\t\tassertion: cleanText(evidence.aiRunOutcomeReason || evidence.reason || 'Historical business assertion failed.', 1000),\n\t\t\tstatus: 'fail',\n\t\t\tobserved: cleanText(evidence.aiRunOutcomeReason || evidence.reason, 1000)\n\t\t});\n\t}\n\treturn assertions;\n}\n\nfunction buildQaFromEvidence(evidence: Record<string, any> | undefined, now?: Date | string): AIQaRun {\n\treturn buildAIQaRun({\n\t\tinfraChecks: collectInfraChecks(evidence),\n\t\tcompile: collectCompileResult(evidence),\n\t\trouteProbes: collectRouteProbes(evidence),\n\t\tbusinessAssertions: collectBusinessAssertions(evidence),\n\t\tartifacts: collectArtifacts(evidence),\n\t\tnow\n\t});\n}\n\nfunction isoNow(value?: Date | string): string {\n\tif (value instanceof Date) {\n\t\treturn value.toISOString();\n\t}\n\tif (value) {\n\t\tconst parsed = new Date(value);\n\t\tif (!Number.isNaN(parsed.getTime())) {\n\t\t\treturn parsed.toISOString();\n\t\t}\n\t}\n\treturn new Date().toISOString();\n}\n\nfunction normalizeMatchText(value: any): string {\n\treturn cleanText(value, 3000)\n\t\t.toLowerCase()\n\t\t.replace(/[^a-z0-9]+/g, ' ')\n\t\t.replace(/\\s+/g, ' ')\n\t\t.trim();\n}\n\nfunction importantTokens(value: any): Set<string> {\n\tconst stopWords = new Set([\n\t\t'the', 'and', 'that', 'with', 'from', 'after', 'before', 'when', 'then', 'this', 'must',\n\t\t'should', 'will', 'only', 'into', 'have', 'has', 'are', 'was', 'were', 'been'\n\t]);\n\treturn new Set(normalizeMatchText(value).split(' ')\n\t\t.filter((token) => token.length >= 4 && !stopWords.has(token)));\n}\n\nfunction businessAssertionPassed(assertion: AIQaBusinessAssertion): boolean {\n\treturn /^(pass|passed|success|ok|done)$/i.test(cleanText(assertion.status, 40));\n}\n\nfunction supportAssertionMatchesDiagnosisProof(assertion: AIQaBusinessAssertion, proofPlan: Record<string, any>): boolean {\n\tconst metadata = assertion.metadata || {};\n\tif (metadata.diagnosisProofPlanMatched === true || metadata.proofPlanMatched === true || metadata.supportDiagnosisProof === true) {\n\t\treturn true;\n\t}\n\tconst requiredBusinessAssertion = proofPlan.business_assertion || proofPlan.businessAssertion;\n\tconst proofParts = [\n\t\trequiredBusinessAssertion,\n\t\tproofPlan.after,\n\t\tproofPlan.data_assertion || proofPlan.dataAssertion,\n\t\tproofPlan.artifact_expectation || proofPlan.artifactExpectation\n\t].map((part) => normalizeMatchText(part)).filter((part) => part.length >= 16);\n\tif (!proofParts.length) {\n\t\treturn true;\n\t}\n\tconst assertionText = normalizeMatchText([\n\t\tassertion.assertion,\n\t\tassertion.workflow,\n\t\tassertion.action,\n\t\tassertion.expected,\n\t\tassertion.observed,\n\t\tassertion.dataProof,\n\t\tassertion.message\n\t].filter(Boolean).join(' '));\n\tif (proofParts.some((part) => assertionText.includes(part))) {\n\t\treturn true;\n\t}\n\tconst proofTokens = importantTokens([\n\t\trequiredBusinessAssertion,\n\t\tproofPlan.after,\n\t\tproofPlan.data_assertion || proofPlan.dataAssertion\n\t].filter(Boolean).join(' '));\n\tconst assertionTokens = importantTokens(assertionText);\n\tif (!proofTokens.size) {\n\t\treturn true;\n\t}\n\tlet overlap = 0;\n\tfor (const token of proofTokens) {\n\t\tif (assertionTokens.has(token)) {\n\t\t\toverlap += 1;\n\t\t}\n\t}\n\treturn overlap >= Math.min(4, Math.max(3, Math.ceil(proofTokens.size * 0.45)));\n}\n\nfunction supportDiagnosisProofGateResult(diagnosisGate: Record<string, any>, now?: Date | string): AIRunGateResult {\n\tconst proofPlan = diagnosisGate.proof_plan || diagnosisGate.proofPlan || {};\n\treturn {\n\t\tkey: 'support_diagnosis_business_proof',\n\t\tlabel: 'Diagnosis proof plan',\n\t\tstatus: 'blocked',\n\t\treason: 'Support business assertion did not map to the diagnosis proof_plan. Route proof or generic workflow proof cannot accept the ticket.',\n\t\tevidenceRefs: [],\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\tissueClass: cleanText(diagnosisGate.issue_class || diagnosisGate.issueClass, 120),\n\t\t\trequiredBusinessAssertion: cleanText(proofPlan.business_assertion || proofPlan.businessAssertion, 1000),\n\t\t\trequiredAfter: cleanText(proofPlan.after, 1000),\n\t\t\trequiredDataAssertion: cleanText(proofPlan.data_assertion || proofPlan.dataAssertion, 1000)\n\t\t}\n\t};\n}\n\nconst SUPPORT_ROOT_CAUSE_ENTRY_REQUIRED_FIELDS = [\n\t'issue_case',\n\t'issue_class',\n\t'accepted_hypothesis',\n\t'rejected_alternatives',\n\t'failing_path',\n\t'owner_files',\n\t'proof_plan',\n\t'evidence'\n];\n\nconst SUPPORT_ROOT_CAUSE_ENTRY_ISSUE_CLASSES = [\n\t'no_op_submit',\n\t'missing_wrong_data',\n\t'filter_query_mismatch',\n\t'invoice_pdf_export',\n\t'upload_import',\n\t'route_auth_hydration',\n\t'slow_query_performance'\n];\n\nfunction supportRootCauseEntryContractGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst requiredOutput = plainObject(contract.required_output || contract.requiredOutput);\n\tconst ownerPolicy = plainObject(contract.owner_file_policy || contract.ownerFilePolicy);\n\tconst businessProofPolicy = plainObject(contract.business_proof_policy || contract.businessProofPolicy);\n\tconst failurePolicy = plainObject(contract.failure_policy || contract.failurePolicy);\n\tconst probes = asArray<Record<string, any>>(contract.issue_class_probes || contract.issueClassProbes);\n\tconst requiredFields = cleanStringList(requiredOutput.required_fields || requiredOutput.requiredFields, 30, 160);\n\tconst issueClasses = probes.map((probe) => cleanText(probe.issue_class || probe.issueClass, 120)).filter(Boolean);\n\tconst missingRequiredFields = SUPPORT_ROOT_CAUSE_ENTRY_REQUIRED_FIELDS.filter((field) => !requiredFields.includes(field));\n\tconst missingIssueClasses = SUPPORT_ROOT_CAUSE_ENTRY_ISSUE_CLASSES.filter((issueClass) => !issueClasses.includes(issueClass));\n\tconst blockers: string[] = [];\n\tif (!cleanText(contract.contract_id || contract.contractId, 160)) {\n\t\tblockers.push('Root-cause entry contract is missing contract_id.');\n\t}\n\tif (cleanText(requiredOutput.object_key || requiredOutput.objectKey, 120) !== 'support_diagnosis_gate') {\n\t\tblockers.push('Root-cause entry contract must require support_diagnosis_gate output.');\n\t}\n\tif (missingRequiredFields.length) {\n\t\tblockers.push(`Root-cause entry contract missing required output fields: ${missingRequiredFields.join(', ')}.`);\n\t}\n\tconst ownerFileMax = Number(ownerPolicy.max_files || ownerPolicy.maxFiles || 0);\n\tif (!Number.isFinite(ownerFileMax) || ownerFileMax <= 0 || ownerFileMax > 12) {\n\t\tblockers.push('Root-cause entry contract must cap owner_files to a small exact file set.');\n\t}\n\tif (ownerPolicy.edits_outside_owner_files_require_revised_diagnosis !== true && ownerPolicy.editsOutsideOwnerFilesRequireRevisedDiagnosis !== true) {\n\t\tblockers.push('Root-cause entry contract must require revised diagnosis before edits outside owner_files.');\n\t}\n\tif (businessProofPolicy.requires_aiqa_business_assertion !== true && businessProofPolicy.requiresAiqaBusinessAssertion !== true) {\n\t\tblockers.push('Root-cause entry contract must require AIQaBusinessAssertion business proof.');\n\t}\n\tif (businessProofPolicy.route_load_screenshot_scorecard_model_claim_not_acceptance !== true && businessProofPolicy.routeLoadScreenshotScorecardModelClaimNotAcceptance !== true) {\n\t\tblockers.push('Root-cause entry contract must reject route-load/screenshot/scorecard/model-claim acceptance.');\n\t}\n\tif (failurePolicy.repeated_failure_without_new_evidence_parks_run !== true && failurePolicy.repeatedFailureWithoutNewEvidenceParksRun !== true) {\n\t\tblockers.push('Root-cause entry contract must park repeated failures without new evidence.');\n\t}\n\tif (missingIssueClasses.length) {\n\t\tblockers.push(`Root-cause entry contract missing issue-class probes: ${missingIssueClasses.join(', ')}.`);\n\t}\n\tconst status: AIRunGateResult['status'] = blockers.length ? 'fail' : 'pass';\n\treturn {\n\t\tkey: 'support_root_cause_entry_contract',\n\t\tlabel: 'Root-cause entry contract',\n\t\tstatus,\n\t\treason: blockers.length\n\t\t\t? blockers.join(' ')\n\t\t\t: 'Support run has a structured root-cause-first entry contract with issue-class probes, owner-file policy, and business-proof policy.',\n\t\tevidenceRefs: cleanStringList(businessProofPolicy.required_artifacts || businessProofPolicy.requiredArtifacts, 20, 500),\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contract_id || contract.contractId, 160),\n\t\t\tversion: cleanText(contract.version, 120),\n\t\t\tstatus: cleanText(contract.status, 120),\n\t\t\trequiredOutputKey: cleanText(requiredOutput.object_key || requiredOutput.objectKey, 120),\n\t\t\trequiredFields,\n\t\t\tmissingRequiredFields,\n\t\t\townerFileMax,\n\t\t\trequiresRevisedDiagnosisForOutOfScopeEdits: ownerPolicy.edits_outside_owner_files_require_revised_diagnosis === true || ownerPolicy.editsOutsideOwnerFilesRequireRevisedDiagnosis === true,\n\t\t\trequiresBusinessAssertion: businessProofPolicy.requires_aiqa_business_assertion === true || businessProofPolicy.requiresAiqaBusinessAssertion === true,\n\t\t\trouteOnlyAcceptanceRejected: businessProofPolicy.route_load_screenshot_scorecard_model_claim_not_acceptance === true || businessProofPolicy.routeLoadScreenshotScorecardModelClaimNotAcceptance === true,\n\t\t\tissueClassProbeCount: issueClasses.length,\n\t\t\tissueClasses,\n\t\t\tmissingIssueClasses\n\t\t}\n\t};\n}\n\nfunction applySupportDiagnosisProofGate(qa: AIQaRun, diagnosisGate: Record<string, any>, now?: Date | string): AIQaRun {\n\tconst proofPlan = diagnosisGate.proof_plan || diagnosisGate.proofPlan || {};\n\tconst requiredBusinessAssertion = cleanText(proofPlan.business_assertion || proofPlan.businessAssertion, 1000);\n\tconst requiredAfter = cleanText(proofPlan.after, 1000);\n\tif (!Object.keys(proofPlan).length || (!requiredBusinessAssertion && !requiredAfter)) {\n\t\treturn qa;\n\t}\n\tconst passedAssertions = qa.businessAssertions.filter(businessAssertionPassed);\n\tif (!passedAssertions.length) {\n\t\treturn qa;\n\t}\n\tif (passedAssertions.some((assertion) => supportAssertionMatchesDiagnosisProof(assertion, proofPlan))) {\n\t\treturn qa;\n\t}\n\tconst gate = supportDiagnosisProofGateResult(diagnosisGate, now);\n\treturn {\n\t\t...qa,\n\t\toutcome: qa.routeProbes.some((probe) => /^(pass|passed|success|ok|done)$/i.test(cleanText(probe.status, 40)))\n\t\t\t? 'route_only_pass'\n\t\t\t: 'incomplete',\n\t\tgateResults: [\n\t\t\t...qa.gateResults.filter((existing) => !(existing.key === 'qa_business_assertion' && existing.status === 'pass')),\n\t\t\tgate\n\t\t]\n\t};\n}\n\nconst SUPPORT_PRODUCT_REPAIR_STEP_TYPES = new Set([\n\t'build_repair',\n\t'owner_scoped_repair',\n\t'product_repair',\n\t'code_repair'\n]);\n\nconst SUPPORT_PRODUCT_REPAIR_ACTIONS = new Set([\n\t'run_owner_scoped_repair',\n\t'run_targeted_product_repair',\n\t'allow_product_repair'\n]);\n\nfunction supportSourceEditFiles(value: any): string[] {\n\treturn cleanStringList(value, 80, 500)\n\t\t.filter((filePath) => {\n\t\t\tconst normalized = filePath.replace(/\\\\/g, '/').toLowerCase();\n\t\t\tif (!normalized || /(^|\\/)(qa-artifacts|runner-evidence|logs?|tmp|dist|node_modules)(\\/|$)/.test(normalized)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn /\\.(?:ts|tsx|js|jsx|html|scss|css|json|mjs|cjs|vue|svelte|md)$/i.test(normalized);\n\t\t});\n}\n\nfunction supportRepairActivityFromRecord(\n\tvalue: any,\n\tsource: string,\n\tindex: number\n): { changedFiles: string[]; activityRef?: string } | undefined {\n\tconst record = plainObject(value);\n\tif (!Object.keys(record).length) {\n\t\treturn undefined;\n\t}\n\tconst stepType = cleanText(record.stepType || record.step_type || record.type, 120);\n\tconst action = cleanText(record.action || record.primaryAction || record.primary_action || record.allowedDispatchAction || record.allowed_dispatch_action, 120);\n\tconst lane = cleanText(record.lane || record.phase || record.category, 120).toLowerCase();\n\tconst changedFiles = supportSourceEditFiles(\n\t\trecord.changedFiles\n\t\t|| record.changed_files\n\t\t|| record.modifiedFiles\n\t\t|| record.modified_files\n\t\t|| record.editedFiles\n\t\t|| record.edited_files\n\t\t|| record.files\n\t);\n\tconst explicitProductRepair = SUPPORT_PRODUCT_REPAIR_STEP_TYPES.has(stepType)\n\t\t|| SUPPORT_PRODUCT_REPAIR_ACTIONS.has(action)\n\t\t|| (lane === 'build' && changedFiles.length > 0);\n\tif (!explicitProductRepair) {\n\t\treturn undefined;\n\t}\n\tconst activityRef = cleanText(\n\t\trecord.microtaskId\n\t\t|| record.microtask_id\n\t\t|| record.taskId\n\t\t|| record.task_id\n\t\t|| record.jobId\n\t\t|| record.job_id\n\t\t|| record._id\n\t\t|| record.id\n\t\t|| `${source}:${index}`,\n\t\t240\n\t);\n\treturn { changedFiles, activityRef };\n}\n\nfunction supportProductRepairEvidence(input: SupportAIRunAdapterInput, evidence: Record<string, any>): {\n\tattempted: boolean;\n\tchangedFiles: string[];\n\tactivityRefs: string[];\n\tactivityCount: number;\n} {\n\tconst job = input.job || {};\n\tconst records = [\n\t\t...asArray<any>(job.supportV5StepHistory),\n\t\t...asArray<any>(job.support_v5_step_history),\n\t\t...asArray<any>(job.stepHistory),\n\t\t...asArray<any>(job.step_history),\n\t\t...asArray<any>(evidence.supportV5StepHistory),\n\t\t...asArray<any>(evidence.support_v5_step_history),\n\t\t...asArray<any>(evidence.stepHistory),\n\t\t...asArray<any>(evidence.step_history),\n\t\t...asArray<any>(input.taskEvents),\n\t\t...asArray<any>(input.aiJobs),\n\t\t...asArray<any>(input.buildPlans)\n\t];\n\tconst activityRefs: string[] = [];\n\tconst changedFiles: string[] = [];\n\tlet activityCount = 0;\n\trecords.forEach((record, index) => {\n\t\tconst activity = supportRepairActivityFromRecord(record, 'support_repair_activity', index);\n\t\tif (!activity) {\n\t\t\treturn;\n\t\t}\n\t\tactivityCount += 1;\n\t\tif (activity.activityRef) {\n\t\t\tactivityRefs.push(activity.activityRef);\n\t\t}\n\t\tchangedFiles.push(...activity.changedFiles);\n\t});\n\tconst directChangedFiles = supportSourceEditFiles([\n\t\t...asArray<any>(job.changedFiles),\n\t\t...asArray<any>(job.changed_files),\n\t\t...asArray<any>(job.modifiedFiles),\n\t\t...asArray<any>(job.modified_files),\n\t\t...asArray<any>(job.editedFiles),\n\t\t...asArray<any>(job.edited_files),\n\t\t...asArray<any>(evidence.changedFiles),\n\t\t...asArray<any>(evidence.changed_files),\n\t\t...asArray<any>(evidence.modifiedFiles),\n\t\t...asArray<any>(evidence.modified_files),\n\t\t...asArray<any>(evidence.editedFiles),\n\t\t...asArray<any>(evidence.edited_files),\n\t\t...asArray<any>(input.commits).flatMap((commit) => asArray<any>(commit.changedFiles || commit.changed_files || commit.files))\n\t]);\n\tif (directChangedFiles.length) {\n\t\tactivityCount += 1;\n\t\tactivityRefs.push('changed_files');\n\t\tchangedFiles.push(...directChangedFiles);\n\t}\n\tconst uniqueChangedFiles = Array.from(new Set(changedFiles.map((filePath) => cleanText(filePath, 500)).filter(Boolean))).slice(0, 80);\n\treturn {\n\t\tattempted: activityCount > 0,\n\t\tchangedFiles: uniqueChangedFiles,\n\t\tactivityRefs: Array.from(new Set(activityRefs.map((ref) => cleanText(ref, 240)).filter(Boolean))).slice(0, 40),\n\t\tactivityCount\n\t};\n}\n\nfunction supportDiagnosisBeforeRepairGate(\n\tdiagnosisGate: Record<string, any>,\n\trepairEvidence: ReturnType<typeof supportProductRepairEvidence>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!repairEvidence.attempted) {\n\t\treturn undefined;\n\t}\n\tconst validation = validateResolveIOSupportDiagnosisGate(diagnosisGate);\n\tconst status: AIRunGateResult['status'] = validation.valid ? 'pass' : 'blocked';\n\treturn {\n\t\tkey: 'support_diagnosis_before_repair',\n\t\tlabel: 'Support diagnosis before repair',\n\t\tstatus,\n\t\treason: validation.valid\n\t\t\t? 'Support product repair has a valid root-cause diagnosis gate and owner-file scope.'\n\t\t\t: 'Support product repair is blocked until a valid SupportDiagnosisGate records reproduction/classification, accepted hypothesis, rejected alternatives, owner_files, and before/action/after proof.',\n\t\tevidenceRefs: repairEvidence.changedFiles,\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\trepairAttempted: true,\n\t\t\tactivityCount: repairEvidence.activityCount,\n\t\t\tactivityRefs: repairEvidence.activityRefs,\n\t\t\tchangedFiles: repairEvidence.changedFiles,\n\t\t\tdiagnosisValid: validation.valid,\n\t\t\tdiagnosisStatus: validation.status,\n\t\t\tblockers: validation.blockers,\n\t\t\townerFiles: validation.normalized?.owner_files || [],\n\t\t\tissueClass: validation.normalized?.issue_class,\n\t\t\tproductRepairAllowed: validation.valid,\n\t\t\tallowedDispatchAction: validation.valid ? 'run_owner_scoped_repair' : 'run_read_only_diagnosis',\n\t\t\trequiredEvidence: validation.valid\n\t\t\t\t? ['AIQaBusinessAssertion mapped to diagnosis proof_plan before acceptance']\n\t\t\t\t: ['support_diagnosis_gate JSON', 'reproduction or blocked-reproduction reason', 'accepted_hypothesis with evidence', 'owner_files', 'proof_plan before/action/after']\n\t\t}\n\t};\n}\n\nfunction supportOwnerFileScopeGate(\n\tdiagnosisGate: Record<string, any>,\n\trepairEvidence: ReturnType<typeof supportProductRepairEvidence>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!repairEvidence.attempted) {\n\t\treturn undefined;\n\t}\n\tconst validation = validateResolveIOSupportDiagnosisGate(diagnosisGate);\n\tif (!validation.valid || !validation.normalized) {\n\t\treturn undefined;\n\t}\n\tconst outsideOwnerFiles = changedFilesOutsideResolveIOSupportDiagnosisOwnerFiles(\n\t\tvalidation.normalized,\n\t\trepairEvidence.changedFiles,\n\t\t{ allowTests: true }\n\t);\n\tconst status: AIRunGateResult['status'] = outsideOwnerFiles.length ? 'blocked' : 'pass';\n\treturn {\n\t\tkey: 'support_owner_file_scope',\n\t\tlabel: 'Support owner-file scope',\n\t\tstatus,\n\t\treason: outsideOwnerFiles.length\n\t\t\t? `Support repair changed files outside diagnosis owner_files; revise diagnosis with new evidence before broadening edits: ${outsideOwnerFiles.join(', ')}`\n\t\t\t: 'Support repair stayed within diagnosis owner_files; test-only changes are allowed as supporting evidence.',\n\t\tevidenceRefs: outsideOwnerFiles.length ? outsideOwnerFiles : repairEvidence.changedFiles,\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\trepairAttempted: true,\n\t\t\tdiagnosisValid: true,\n\t\t\tissueClass: validation.normalized.issue_class,\n\t\t\townerFiles: validation.normalized.owner_files,\n\t\t\tchangedFiles: repairEvidence.changedFiles,\n\t\t\toutsideOwnerFiles,\n\t\t\tallowedTestFilesOutsideOwnerScope: true,\n\t\t\tproductRepairAllowed: outsideOwnerFiles.length === 0,\n\t\t\tallowedDispatchAction: outsideOwnerFiles.length ? 'run_read_only_diagnosis' : 'run_business_proof_qa',\n\t\t\trequiredEvidence: outsideOwnerFiles.length\n\t\t\t\t? ['revised SupportDiagnosisGate with evidence for each new owner file', 'updated failing_path and proof_plan matching broadened scope']\n\t\t\t\t: ['compile/unit proof', 'AIQaBusinessAssertion mapped to diagnosis proof_plan']\n\t\t}\n\t};\n}\n\nfunction evidenceObject(...values: any[]): Record<string, any> {\n\tfor (const value of values) {\n\t\tif (value && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn {};\n}\n\nfunction mergeEvidenceRecords(...values: any[]): Record<string, any> {\n\tconst merged: Record<string, any> = {};\n\tfor (const value of values) {\n\t\tconst source = plainObject(value);\n\t\tfor (const [key, entry] of Object.entries(source)) {\n\t\t\tif (entry === undefined || entry === null || entry === '') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Array.isArray(entry)) {\n\t\t\t\tmerged[key] = [...asArray(merged[key]), ...entry];\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (plainObject(entry) === entry && plainObject(merged[key]) === merged[key]) {\n\t\t\t\tmerged[key] = { ...merged[key], ...entry };\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tmerged[key] = entry;\n\t\t}\n\t}\n\treturn merged;\n}\n\nfunction buildSupportQaEvidence(input: SupportAIRunAdapterInput): Record<string, any> {\n\tconst job = input.job || {};\n\tconst ticket = input.ticket || {};\n\tconst qaCursor = plainObject(job.supportQaValidationCursor || job.support_qa_validation_cursor);\n\tconst autonomousDecision = plainObject(job.supportV5AutonomousDecision || job.support_v5_autonomous_decision);\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst preflightGate = supportPreflightGateObject(ticket, job, {\n\t\t...plainObject(input.qaEvidence),\n\t\tsupportV5AutonomousDecision: autonomousDecision\n\t});\n\tconst businessProofReadiness = plainObject(\n\t\tautonomousDecision.businessProofReadiness\n\t\t|| autonomousDecision.business_proof_readiness\n\t\t|| job.businessProofReadiness\n\t\t|| job.business_proof_readiness\n\t);\n\tconst customerReplyPolicy = plainObject(\n\t\tautonomousDecision.customerReplyPolicy\n\t\t|| autonomousDecision.customer_reply_policy\n\t\t|| job.customerReplyPolicy\n\t\t|| job.customer_reply_policy\n\t);\n\tconst customerReplyReadiness = plainObject(\n\t\tautonomousDecision.customerReplyReadiness\n\t\t|| autonomousDecision.customer_reply_readiness\n\t\t|| customerReplyPolicy.readinessContract\n\t\t|| customerReplyPolicy.readiness_contract\n\t\t|| job.customerReplyReadiness\n\t\t|| job.customer_reply_readiness\n\t);\n\tconst managerRecoveryExecutionProof = plainObject(\n\t\tjob.managerRecoveryExecutionProof\n\t\t|| job.manager_recovery_execution_proof\n\t\t|| job.supportManagerRecoveryExecutionProof\n\t\t|| job.support_manager_recovery_execution_proof\n\t\t|| autonomousDecision.recoveryExecutionProof\n\t\t|| autonomousDecision.recovery_execution_proof\n\t\t|| ticketManager.last_recovery_execution_proof\n\t\t|| ticketManager.recovery_execution_proof\n\t);\n\tconst humanReviewPacket = plainObject(\n\t\tautonomousDecision.humanReviewPacket\n\t\t|| autonomousDecision.human_review_packet\n\t\t|| customerReplyPolicy.humanReviewPacket\n\t\t|| customerReplyPolicy.human_review_packet\n\t\t|| job.humanReviewPacket\n\t\t|| job.human_review_packet\n\t);\n\tconst evidence = mergeEvidenceRecords(\n\t\tqaCursor,\n\t\tjob.qaEvidence,\n\t\tjob.qa_evidence,\n\t\tticket.qaEvidence,\n\t\tticket.qa_evidence,\n\t\tinput.qaEvidence\n\t);\n\tevidence.supportQaAssertions = [\n\t\t...asArray(job.supportQaAssertions),\n\t\t...asArray(job.support_qa_assertions),\n\t\t...asArray(evidence.supportQaAssertions)\n\t];\n\tevidence.aiQaBusinessAssertions = [\n\t\t...asArray(job.aiQaBusinessAssertions),\n\t\t...asArray(job.ai_qa_business_assertions),\n\t\t...asArray(evidence.aiQaBusinessAssertions)\n\t];\n\tevidence.runnerEvidenceArtifacts = [\n\t\t...asArray(job.runnerEvidenceArtifacts),\n\t\t...asArray(job.runner_evidence_artifacts),\n\t\t...asArray(evidence.runnerEvidenceArtifacts)\n\t];\n\tevidence.supportQaArtifacts = [\n\t\t...asArray(job.supportQaArtifacts),\n\t\t...asArray(job.support_qa_artifacts),\n\t\t...asArray(job.qa_artifacts),\n\t\t...asArray(evidence.supportQaArtifacts)\n\t];\n\tif (Object.keys(businessProofReadiness).length) {\n\t\tevidence.businessProofReadiness = businessProofReadiness;\n\t}\n\tif (Object.keys(customerReplyPolicy).length) {\n\t\tevidence.customerReplyPolicy = {\n\t\t\t...customerReplyPolicy,\n\t\t\t...(Object.keys(humanReviewPacket).length ? { humanReviewPacket } : {})\n\t\t};\n\t}\n\telse if (Object.keys(humanReviewPacket).length) {\n\t\tevidence.customerReplyPolicy = { humanReviewPacket };\n\t}\n\tif (Object.keys(customerReplyReadiness).length) {\n\t\tevidence.customerReplyReadiness = customerReplyReadiness;\n\t}\n\tif (Object.keys(managerRecoveryExecutionProof).length) {\n\t\tevidence.managerRecoveryExecutionProof = managerRecoveryExecutionProof;\n\t}\n\tif (Object.keys(preflightGate).length) {\n\t\tevidence.supportV5PreflightGate = preflightGate;\n\t\tapplySupportPreflightGateToQaEvidence(evidence, preflightGate);\n\t}\n\treturn evidence;\n}\n\nfunction supportPreflightGateObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\treturn evidenceObject(\n\t\tjob.supportV5PreflightGate,\n\t\tjob.support_v5_preflight_gate,\n\t\tjob.preflightGate,\n\t\tjob.preflight_gate,\n\t\tevidence.supportV5PreflightGate,\n\t\tevidence.support_v5_preflight_gate,\n\t\tevidence.preflightGate,\n\t\tevidence.preflight_gate,\n\t\tautonomousDecision.preflightGate,\n\t\tautonomousDecision.preflight_gate,\n\t\tautonomousDecision.rootCauseReadiness?.preflightGate,\n\t\tautonomousDecision.root_cause_readiness?.preflight_gate,\n\t\tticket.supportV5PreflightGate,\n\t\tticket.support_v5_preflight_gate,\n\t\tticketManager.supportV5PreflightGate,\n\t\tticketManager.support_v5_preflight_gate,\n\t\tticketManager.preflightGate,\n\t\tticketManager.preflight_gate\n\t);\n}\n\nfunction supportPreflightStatus(value: any): string {\n\treturn cleanText(value, 120).toLowerCase();\n}\n\nfunction supportPreflightFailedChecks(preflightGate: Record<string, any>): Record<string, any>[] {\n\tconst failed = [\n\t\t...asArray<Record<string, any>>(preflightGate.failedChecks || preflightGate.failed_checks),\n\t\t...asArray<Record<string, any>>(preflightGate.checks).filter((check) => {\n\t\t\tconst status = supportPreflightStatus(check.status || check.state || check.outcome);\n\t\t\treturn /fail|failed|blocked|missing|error/.test(status);\n\t\t})\n\t];\n\tconst seen = new Set<string>();\n\treturn failed.filter((check) => {\n\t\tconst key = `${cleanText(check.name || check.check || check.key, 160)}:${cleanText(check.summary || check.message || check.error || check.reason, 500)}`;\n\t\tif (seen.has(key)) {\n\t\t\treturn false;\n\t\t}\n\t\tseen.add(key);\n\t\treturn true;\n\t});\n}\n\nfunction supportPreflightArtifactPaths(preflightGate: Record<string, any>, checks: Record<string, any>[]): string[] {\n\treturn Array.from(new Set([\n\t\t...cleanStringList(preflightGate.artifactPaths || preflightGate.artifact_paths, 60, 500),\n\t\t...checks.flatMap((check) => cleanStringList(check.artifactPaths || check.artifact_paths || check.artifacts, 20, 500)),\n\t\t...checks.map((check) => cleanText(check.artifactPath || check.artifact_path || check.path || check.file, 500)).filter(Boolean)\n\t])).slice(0, 80);\n}\n\nfunction supportPreflightCheckMessage(check: Record<string, any>): string {\n\treturn cleanText(check.summary || check.message || check.error || check.reason || check.status, 1000);\n}\n\nfunction applySupportPreflightGateToQaEvidence(evidence: Record<string, any>, preflightGate: Record<string, any>): void {\n\tconst status = supportPreflightStatus(preflightGate.status);\n\tconst failureClass = supportPreflightStatus(preflightGate.failureClass || preflightGate.failure_class);\n\tconst failedChecks = supportPreflightFailedChecks(preflightGate);\n\tconst artifactPaths = supportPreflightArtifactPaths(preflightGate, failedChecks);\n\tconst compileResult = plainObject(preflightGate.compileResult || preflightGate.compile_result);\n\tconst compileFailed = status === 'compile_failed'\n\t\t|| failureClass === 'compile'\n\t\t|| cleanText(compileResult.failureClass || compileResult.failure_class, 120).toLowerCase() === 'compile'\n\t\t|| failedChecks.some((check) => {\n\t\t\tconst name = supportPreflightStatus(check.name || check.check || check.key);\n\t\t\tconst checkClass = supportPreflightStatus(check.failureClass || check.failure_class);\n\t\t\treturn name === 'compile' || checkClass === 'compile';\n\t\t});\n\tif (compileFailed) {\n\t\tconst compileCheck = Object.keys(compileResult).length ? compileResult : failedChecks[0] || {};\n\t\tevidence.compile = {\n\t\t\t...plainObject(evidence.compile || evidence.build || evidence.buildResult || evidence.build_result),\n\t\t\tstatus: cleanText(compileCheck.status || preflightGate.status || 'fail', 80) || 'fail',\n\t\t\tcommand: cleanText(compileCheck.command || preflightGate.command || preflightGate.nextCommand || preflightGate.next_command, 500),\n\t\t\tartifactPath: artifactPaths[0] || cleanText(compileCheck.artifactPath || compileCheck.artifact_path || compileCheck.path, 500),\n\t\t\tmessage: supportPreflightCheckMessage(compileCheck) || cleanText(preflightGate.reason || preflightGate.blockers?.[0] || 'Support compile preflight failed before browser QA.', 1000),\n\t\t\tmetadata: {\n\t\t\t\tsource: 'supportV5PreflightGate',\n\t\t\t\tpreflightStatus: status,\n\t\t\t\tpreflightEvidenceHash: cleanText(preflightGate.evidenceHash || preflightGate.evidence_hash, 200),\n\t\t\t\tnextCommand: cleanText(preflightGate.nextCommand || preflightGate.next_command, 180)\n\t\t\t}\n\t\t};\n\t\treturn;\n\t}\n\tconst blocksRepair = preflightGate.blocksProductRepair === true || preflightGate.blocks_product_repair === true || /infra_failed|blocked|missing/.test(status);\n\tconst checks = failedChecks.length\n\t\t? failedChecks\n\t\t: Object.keys(preflightGate).length && (blocksRepair || status === 'passed')\n\t\t\t? [{\n\t\t\t\tname: 'support_preflight',\n\t\t\t\tstatus: status === 'passed' ? 'pass' : 'blocked',\n\t\t\t\tsummary: cleanStringList(preflightGate.blockers, 4, 500).join('; ') || cleanText(preflightGate.reason || preflightGate.status, 1000),\n\t\t\t\tartifactPaths\n\t\t\t}]\n\t\t\t: [];\n\tif (!checks.length) {\n\t\treturn;\n\t}\n\tevidence.infraChecks = [\n\t\t...asArray(evidence.infraChecks),\n\t\t...checks.map((check) => ({\n\t\t\tname: cleanText(check.name || check.check || check.key, 160) || 'support_preflight',\n\t\t\tstatus: cleanText(check.status || check.state || check.outcome || (status === 'passed' ? 'pass' : 'blocked'), 80),\n\t\t\tmessage: supportPreflightCheckMessage(check) || cleanStringList(preflightGate.blockers, 3, 500).join('; '),\n\t\t\tpath: cleanText(check.path || check.artifactPath || check.artifact_path, 500) || artifactPaths[0],\n\t\t\tmetadata: {\n\t\t\t\tsource: 'supportV5PreflightGate',\n\t\t\t\tpreflightStatus: status,\n\t\t\t\tpreflightFailureClass: failureClass,\n\t\t\t\tpreflightEvidenceHash: cleanText(preflightGate.evidenceHash || preflightGate.evidence_hash, 200),\n\t\t\t\tnextCommand: cleanText(preflightGate.nextCommand || preflightGate.next_command, 180)\n\t\t\t}\n\t\t}))\n\t];\n}\n\nfunction supportPreflightGateResult(\n\tpreflightGate: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!preflightGate || !Object.keys(preflightGate).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = supportPreflightStatus(preflightGate.status);\n\tconst ready = preflightGate.ready === true;\n\tconst blocksProductRepair = preflightGate.blocksProductRepair === true || preflightGate.blocks_product_repair === true;\n\tconst failedChecks = supportPreflightFailedChecks(preflightGate);\n\tconst artifactPaths = supportPreflightArtifactPaths(preflightGate, failedChecks);\n\tconst gateStatus: AIRunGateResult['status'] = ready || statusText === 'passed'\n\t\t? 'pass'\n\t\t: /compile_failed|infra_failed|fail|failed/.test(statusText)\n\t\t\t? 'fail'\n\t\t\t: blocksProductRepair || /missing|blocked/.test(statusText)\n\t\t\t\t? 'blocked'\n\t\t\t\t: 'warn';\n\tconst blockers = cleanStringList(preflightGate.blockers, 20, 500);\n\treturn {\n\t\tkey: 'support_preflight_gate',\n\t\tlabel: 'Support preflight gate',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'Support deterministic preflight passed before product-code repair.'\n\t\t\t: cleanText(blockers.join('; ') || preflightGate.reason || `Support deterministic preflight is ${statusText || 'not ready'} before product-code repair.`, 1200),\n\t\tevidenceRefs: artifactPaths,\n\t\trecordedAt: isoNow(now || preflightGate.recordedAt || preflightGate.recorded_at),\n\t\tmetadata: {\n\t\t\tready,\n\t\t\trequired: preflightGate.required === true,\n\t\t\tstatus: statusText,\n\t\t\tfailureClass: cleanText(preflightGate.failureClass || preflightGate.failure_class, 120),\n\t\t\tnextCommand: cleanText(preflightGate.nextCommand || preflightGate.next_command, 180),\n\t\t\tblocksProductRepair,\n\t\t\tblocksModelRepair: preflightGate.blocksModelRepair === true || preflightGate.blocks_model_repair === true,\n\t\t\tfailedChecks: failedChecks.map((check) => cleanText(check.name || check.check || check.key, 160)).filter(Boolean),\n\t\t\trequiredEvidence: cleanStringList(preflightGate.requiredEvidence || preflightGate.required_evidence, 20, 500),\n\t\t\tevidenceHash: cleanText(preflightGate.evidenceHash || preflightGate.evidence_hash, 200)\n\t\t}\n\t};\n}\n\nfunction supportBusinessProofReadinessGate(\n\treadiness: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!readiness || !Object.keys(readiness).length) {\n\t\treturn undefined;\n\t}\n\tconst ready = readiness.ready === true;\n\tconst readinessStatus = cleanText(readiness.status, 120).toLowerCase();\n\tconst blockers = cleanStringList(readiness.blockers, 20, 500);\n\tconst artifactPaths = cleanStringList(readiness.artifactPaths || readiness.artifact_paths, 40, 500);\n\tconst proofFingerprint = cleanText(readiness.proofFingerprint || readiness.proof_fingerprint, 160);\n\tconst artifactFingerprint = cleanText(readiness.artifactFingerprint || readiness.artifact_fingerprint, 160);\n\tconst proofFreshness = cleanText(readiness.proofFreshness || readiness.proof_freshness, 120);\n\tconst status: AIRunGateResult['status'] = ready\n\t\t? 'pass'\n\t\t: /fail|failed/.test(readinessStatus)\n\t\t\t? 'fail'\n\t\t\t: /missing|route_only|blocked|weak|stale|incomplete/.test(readinessStatus)\n\t\t\t\t? 'blocked'\n\t\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'support_business_proof_readiness',\n\t\tlabel: 'Support business proof readiness',\n\t\tstatus,\n\t\treason: cleanText(readiness.reason || blockers.join('; ') || readinessStatus || 'Support business proof readiness recorded.', 1200),\n\t\tevidenceRefs: artifactPaths,\n\t\trecordedAt: isoNow(now || readiness.recordedAt || readiness.recorded_at),\n\t\tmetadata: {\n\t\t\tready,\n\t\t\tstatus: readinessStatus,\n\t\t\tblockers,\n\t\t\trequiredEvidence: cleanStringList(readiness.requiredEvidence || readiness.required_evidence, 20, 500),\n\t\t\tproofFingerprint,\n\t\t\tartifactFingerprint,\n\t\t\tproofFreshness\n\t\t}\n\t};\n}\n\nfunction supportCustomerReplyPolicyGate(\n\tpolicy: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!policy || !Object.keys(policy).length) {\n\t\treturn undefined;\n\t}\n\tconst action = cleanText(policy.action, 120);\n\tconst safety = cleanText(policy.safety, 120);\n\tconst reason = cleanText(policy.reason, 1200);\n\tconst canDraft = policy.canDraftCustomerReply === true || policy.can_draft_customer_reply === true;\n\tconst canSend = policy.canSendCustomerReply === true || policy.can_send_customer_reply === true;\n\tconst reviewPacket = plainObject(policy.humanReviewPacket || policy.human_review_packet);\n\tconst draftBasis = plainObject(policy.draftBasis || policy.draft_basis);\n\tconst clarificationValidation = validateResolveIOSupportClarificationContract(policy.clarificationContract || policy.clarification_contract || {});\n\tconst clarificationContract = clarificationValidation.normalized;\n\tconst reviewType = cleanText(reviewPacket.reviewType || reviewPacket.review_type, 160);\n\tconst evidenceRefs = cleanStringList(reviewPacket.evidenceRefs || reviewPacket.evidence_refs, 40, 500);\n\tconst blockers = cleanStringList(policy.blockers || reviewPacket.blockers, 20, 500);\n\tconst gateStatus: AIRunGateResult['status'] = canSend\n\t\t? 'blocked'\n\t\t: action === 'draft_resolution_reply' && canDraft\n\t\t\t? 'warn'\n\t\t\t: action === 'ask_clarification' && canDraft\n\t\t\t\t? (clarificationValidation.valid ? 'warn' : 'blocked')\n\t\t\t\t: 'blocked';\n\tconst mergedBlockers = Array.from(new Set([\n\t\t...blockers,\n\t\t...(action === 'ask_clarification' ? clarificationValidation.blockers : [])\n\t]));\n\treturn {\n\t\tkey: 'support_customer_reply_policy',\n\t\tlabel: 'Support customer reply policy',\n\t\tstatus: gateStatus,\n\t\treason: reason || mergedBlockers.join('; ') || action || 'Support customer reply policy recorded.',\n\t\tevidenceRefs,\n\t\trecordedAt: isoNow(now || policy.recordedAt || policy.recorded_at || reviewPacket.createdAt || reviewPacket.created_at),\n\t\tmetadata: {\n\t\t\taction,\n\t\t\tsafety,\n\t\t\tcanDraftCustomerReply: canDraft,\n\t\t\tcanSendCustomerReply: canSend,\n\t\t\tconfidenceLevel: cleanText(policy.confidenceLevel || policy.confidence_level, 120),\n\t\t\tissueClass: cleanText(draftBasis.issueClass || draftBasis.issue_class, 120),\n\t\t\tissueClassProbePlanId: cleanText(draftBasis.issueClassProbePlanId || draftBasis.issue_class_probe_plan_id, 180),\n\t\t\tissueClassProbePlanStatus: cleanText(draftBasis.issueClassProbePlanStatus || draftBasis.issue_class_probe_plan_status, 120),\n\t\t\treviewType,\n\t\t\tprimaryAction: cleanText(reviewPacket.primaryAction || reviewPacket.primary_action, 160),\n\t\t\trequiresHumanApproval: reviewPacket.requiresHumanApproval !== false && reviewPacket.requires_human_approval !== false,\n\t\t\tquestionPresent: !!cleanText(policy.clarificationQuestion || policy.clarification_question || reviewPacket.question, 1000),\n\t\t\tclarificationContractStatus: cleanText(clarificationContract.status, 120),\n\t\t\tclarificationMissingField: cleanText(clarificationContract.missingField, 120),\n\t\t\tclarificationOneQuestionOnly: clarificationContract.oneQuestionOnly === true,\n\t\t\tclarificationParksTicket: clarificationContract.parksTicketUntilCustomerReply === true,\n\t\t\tblockers: mergedBlockers\n\t\t}\n\t};\n}\n\nfunction supportCustomerReplyReadinessGate(\n\tcontract: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst validation = validateResolveIOSupportCustomerReplyReadinessContract(contract);\n\tconst normalized = validation.normalized;\n\tconst status = cleanText(normalized.status, 120);\n\tconst gateStatus: AIRunGateResult['status'] = normalized.canSendCustomerReply\n\t\t? 'blocked'\n\t\t: validation.valid && (status === 'draft_ready' || status === 'clarification_required')\n\t\t\t? 'warn'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'support_customer_reply_readiness',\n\t\tlabel: 'Support customer reply readiness',\n\t\tstatus: gateStatus,\n\t\treason: normalized.reason || validation.blockers.join('; ') || status || 'Support customer reply readiness recorded.',\n\t\tevidenceRefs: normalized.evidenceRefs,\n\t\trecordedAt: isoNow(now || normalized.createdAt),\n\t\tmetadata: {\n\t\t\tcontractId: normalized.contractId,\n\t\t\tstatus,\n\t\t\tpolicyAction: normalized.policyAction,\n\t\t\treviewType: normalized.reviewType,\n\t\t\tprimaryCommand: normalized.primaryCommand,\n\t\t\tcanDraftCustomerReply: normalized.canDraftCustomerReply,\n\t\t\tcanSendCustomerReply: normalized.canSendCustomerReply,\n\t\t\trequiresHumanApproval: normalized.requiresHumanApproval,\n\t\t\tproofBacked: normalized.proofBacked,\n\t\t\tbusinessProofReady: normalized.businessProofReady,\n\t\t\treleaseReady: normalized.releaseReady,\n\t\t\tdiagnosisReady: normalized.diagnosisReady,\n\t\t\tissueClassProbePlanReady: normalized.issueClassProbePlanReady,\n\t\t\tclarificationRequired: normalized.clarificationRequired,\n\t\t\tblockers: Array.from(new Set([\n\t\t\t\t...normalized.blockers,\n\t\t\t\t...validation.blockers\n\t\t\t])),\n\t\t\trequiredEvidence: normalized.requiredEvidence,\n\t\t\tnextCommands: normalized.nextCommands,\n\t\t\tforbiddenActions: normalized.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction supportNextActionContractObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\treturn evidenceObject(\n\t\tautonomousDecision.nextActionContract,\n\t\tautonomousDecision.next_action_contract,\n\t\tjob.supportV5NextActionContract,\n\t\tjob.support_v5_next_action_contract,\n\t\tjob.nextActionContract,\n\t\tjob.next_action_contract,\n\t\tevidence.supportV5NextActionContract,\n\t\tevidence.support_v5_next_action_contract,\n\t\tevidence.nextActionContract,\n\t\tevidence.next_action_contract,\n\t\tticket.supportV5NextActionContract,\n\t\tticket.support_v5_next_action_contract,\n\t\tticket.nextActionContract,\n\t\tticket.next_action_contract,\n\t\tticketManager.nextActionContract,\n\t\tticketManager.next_action_contract\n\t);\n}\n\nfunction supportNextActionContractRequired(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): boolean {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst workflowMarkers = [\n\t\tjob.supportWorkflowMode,\n\t\tjob.workflowMode,\n\t\tjob.workflow_mode,\n\t\tjob.supportWorkflowVersion,\n\t\tjob.support_workflow_version,\n\t\tticket.supportWorkflowMode,\n\t\tticket.workflowMode,\n\t\tticket.workflow_mode\n\t].map((value) => cleanText(value, 80).toLowerCase());\n\treturn workflowMarkers.some((value) => value === 'support_v5' || value === 'v5')\n\t\t|| !!job.supportV5SupervisorState\n\t\t|| !!job.supportV5MicrotaskLedger\n\t\t|| !!job.supportV5StepHistory\n\t\t|| !!job.supportV5DiagnosisGate\n\t\t|| !!job.supportV5DiagnosisEvidencePack\n\t\t|| !!job.support_v5_supervisor_state\n\t\t|| !!job.support_v5_microtask_ledger\n\t\t|| !!job.support_v5_step_history\n\t\t|| !!job.support_v5_diagnosis_gate\n\t\t|| !!job.support_v5_diagnosis_evidence_pack\n\t\t|| !!job.supportRootCauseEntryContract\n\t\t|| !!job.support_root_cause_entry_contract\n\t\t|| !!evidence.supportV5AutonomousDecision\n\t\t|| !!evidence.support_v5_autonomous_decision\n\t\t|| !!evidence.rootCauseReadiness\n\t\t|| !!evidence.root_cause_readiness\n\t\t|| !!ticketManager.root_cause_entry_contract\n\t\t|| !!ticketManager.rootCauseEntryContract\n\t\t|| !!ticketManager.last_watchdog_decision;\n}\n\nfunction supportNextActionContractMetadata(contract: Record<string, any>): Record<string, any> {\n\tconst decisionBasis = plainObject(contract.decisionBasis || contract.decision_basis);\n\tconst costRisk = plainObject(contract.costRisk || contract.cost_risk);\n\tconst source = {\n\t\tcontractId: cleanText(contract.contractId || contract.contract_id, 200),\n\t\taction: cleanText(contract.action, 160),\n\t\tlabel: cleanText(contract.label, 300),\n\t\tprimaryCommand: cleanText(contract.primaryCommand || contract.primary_command, 240),\n\t\tlane: cleanText(contract.lane, 120),\n\t\tstepType: cleanText(contract.stepType || contract.step_type, 120),\n\t\tsafeToAutoRun: booleanFlag(contract.safeToAutoRun ?? contract.safe_to_auto_run),\n\t\trequiresHumanApproval: booleanFlag(contract.requiresHumanApproval ?? contract.requires_human_approval),\n\t\tcanRunWithoutCodexMonitor: booleanFlag(contract.canRunWithoutCodexMonitor ?? contract.can_run_without_codex_monitor),\n\t\tcodexFallbackRequired: booleanFlag(contract.codexFallbackRequired ?? contract.codex_fallback_required),\n\t\tcodexFallbackReason: cleanText(contract.codexFallbackReason || contract.codex_fallback_reason, 1000),\n\t\trootCauseFirstSatisfied: booleanFlag(contract.rootCauseFirstSatisfied ?? contract.root_cause_first_satisfied),\n\t\tpreconditions: cleanStringList(contract.preconditions, 40, 500),\n\t\texpectedStateTransition: cleanText(contract.expectedStateTransition || contract.expected_state_transition, 1000),\n\t\tsuccessEvidence: cleanStringList(contract.successEvidence || contract.success_evidence, 40, 500),\n\t\tstopConditions: cleanStringList(contract.stopConditions || contract.stop_conditions, 40, 500),\n\t\tforbiddenActions: cleanStringList(contract.forbiddenActions || contract.forbidden_actions, 40, 500),\n\t\townerFiles: cleanStringList(contract.ownerFiles || contract.owner_files || decisionBasis.ownerFiles || decisionBasis.owner_files, 40, 500),\n\t\tblockers: cleanStringList(contract.blockers, 40, 500),\n\t\tnextCommands: cleanStringList(contract.nextCommands || contract.next_commands, 40, 500),\n\t\tcostRisk: {\n\t\t\tlevel: cleanText(costRisk.level || contract.costRiskLevel || contract.cost_risk_level, 80),\n\t\t\testimatedUsd: numberValue(costRisk.estimatedUsd ?? costRisk.estimated_usd ?? contract.estimatedUsd ?? contract.estimated_usd),\n\t\t\treason: cleanText(costRisk.reason, 800)\n\t\t},\n\t\tdiagnosisValid: booleanFlag(decisionBasis.diagnosisValid ?? decisionBasis.diagnosis_valid),\n\t\townerFilesReady: booleanFlag(decisionBasis.ownerFilesReady ?? decisionBasis.owner_files_ready),\n\t\tproofPlanReady: booleanFlag(decisionBasis.proofPlanReady ?? decisionBasis.proof_plan_ready),\n\t\tbusinessProofReady: booleanFlag(decisionBasis.businessProofReady ?? decisionBasis.business_proof_ready),\n\t\tevidenceFreshnessStatus: cleanText(decisionBasis.evidenceFreshnessStatus || decisionBasis.evidence_freshness_status, 120),\n\t\tevidenceStrength: cleanText(decisionBasis.evidenceStrength || decisionBasis.evidence_strength, 120),\n\t\tfailureClass: cleanText(decisionBasis.failureClass || decisionBasis.failure_class, 120),\n\t\tblockerFingerprint: cleanText(decisionBasis.blockerFingerprint || decisionBasis.blocker_fingerprint, 200),\n\t\tevidenceHash: cleanText(decisionBasis.evidenceHash || decisionBasis.evidence_hash, 200),\n\t\tsameFailureCount: numberValue(decisionBasis.sameFailureCount ?? decisionBasis.same_failure_count),\n\t\tpreflightReady: booleanFlag(decisionBasis.preflightReady ?? decisionBasis.preflight_ready),\n\t\tpreflightStatus: cleanText(decisionBasis.preflightStatus || decisionBasis.preflight_status, 120),\n\t\tpreflightFailureClass: cleanText(decisionBasis.preflightFailureClass || decisionBasis.preflight_failure_class, 120),\n\t\tpreflightEvidenceHash: cleanText(decisionBasis.preflightEvidenceHash || decisionBasis.preflight_evidence_hash, 200),\n\t\thotfixCommitRequired: booleanFlag(decisionBasis.hotfixCommitRequired ?? decisionBasis.hotfix_commit_required ?? contract.hotfixCommitRequired ?? contract.hotfix_commit_required),\n\t\tliveHotfixBlockedUntilCommit: booleanFlag(decisionBasis.liveHotfixBlockedUntilCommit ?? decisionBasis.live_hotfix_blocked_until_commit ?? contract.liveHotfixBlockedUntilCommit ?? contract.live_hotfix_blocked_until_commit)\n\t};\n\treturn source;\n}\n\nfunction supportNextActionContractGate(contract: Record<string, any>, now?: Date | string, required = false): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\tif (!required) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst blocker = 'Support V5 run is missing a validated next-action contract, so the manager cannot prove one safe primary action without external Codex monitoring.';\n\t\treturn {\n\t\t\tkey: 'support_next_action_contract',\n\t\t\tlabel: 'Support next-action contract',\n\t\t\tstatus: 'blocked',\n\t\t\treason: blocker,\n\t\t\tevidenceRefs: [],\n\t\t\trecordedAt: isoNow(now),\n\t\t\tmetadata: {\n\t\t\t\trequired: true,\n\t\t\t\tmissingContract: true,\n\t\t\t\tsafeToAutoRun: false,\n\t\t\t\tcanRunWithoutCodexMonitor: false,\n\t\t\t\tcodexFallbackRequired: true,\n\t\t\t\tcodexFallbackReason: 'missing_support_next_action_contract',\n\t\t\t\tblockers: [blocker],\n\t\t\t\tmissingSafetyFlags: ['safeToAutoRun', 'canRunWithoutCodexMonitor', 'codexFallbackRequired']\n\t\t\t}\n\t\t};\n\t}\n\tconst metadata = supportNextActionContractMetadata(contract);\n\tconst blockers = cleanStringList(metadata.blockers, 40, 500);\n\tif (metadata.safeToAutoRun === false) {\n\t\tblockers.push('Next action contract marks the action unsafe for autonomous run.');\n\t}\n\tif (metadata.canRunWithoutCodexMonitor === false) {\n\t\tblockers.push('Next action requires Codex fallback/monitoring instead of manager-only execution.');\n\t}\n\tif (metadata.codexFallbackRequired === true) {\n\t\tblockers.push(metadata.codexFallbackReason || 'Next action contract requires Codex fallback.');\n\t}\n\tif (metadata.requiresHumanApproval === true) {\n\t\tblockers.push('Next action contract requires human approval.');\n\t}\n\tif (metadata.liveHotfixBlockedUntilCommit === true) {\n\t\tblockers.push('Live hotfix is blocked until the manager records and pushes the GitHub commit proof.');\n\t}\n\tconst missingSafetyFlags = [\n\t\tmetadata.safeToAutoRun === undefined ? 'safeToAutoRun' : '',\n\t\tmetadata.canRunWithoutCodexMonitor === undefined ? 'canRunWithoutCodexMonitor' : '',\n\t\tmetadata.codexFallbackRequired === undefined ? 'codexFallbackRequired' : ''\n\t].filter(Boolean);\n\tconst status: AIRunGateResult['status'] = blockers.length\n\t\t? 'blocked'\n\t\t: missingSafetyFlags.length\n\t\t\t? 'warn'\n\t\t\t: 'pass';\n\tconst actionLabel = metadata.label || metadata.action || metadata.primaryCommand || 'support next action';\n\treturn {\n\t\tkey: 'support_next_action_contract',\n\t\tlabel: 'Support next-action contract',\n\t\tstatus,\n\t\treason: blockers.length\n\t\t\t? blockers.join(' ')\n\t\t\t: missingSafetyFlags.length\n\t\t\t\t? `Support next-action contract is present for ${actionLabel}, but missing explicit safety flags: ${missingSafetyFlags.join(', ')}.`\n\t\t\t\t: `Support next-action contract allows ${actionLabel} without Codex monitoring.`,\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...metadata.successEvidence,\n\t\t\t...metadata.preconditions,\n\t\t\t...metadata.stopConditions\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || contract.createdAt || contract.created_at || contract.recordedAt || contract.recorded_at),\n\t\tmetadata: {\n\t\t\t...metadata,\n\t\t\tblockers,\n\t\t\tmissingSafetyFlags\n\t\t}\n\t};\n}\n\nfunction supportDiagnosisEvidencePackObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\treturn evidenceObject(\n\t\tjob.supportV5DiagnosisEvidencePack,\n\t\tjob.support_v5_diagnosis_evidence_pack,\n\t\tjob.diagnosisEvidencePack,\n\t\tjob.diagnosis_evidence_pack,\n\t\tevidence.supportV5DiagnosisEvidencePack,\n\t\tevidence.support_v5_diagnosis_evidence_pack,\n\t\tevidence.diagnosisEvidencePack,\n\t\tevidence.diagnosis_evidence_pack,\n\t\tticket.supportV5DiagnosisEvidencePack,\n\t\tticket.support_v5_diagnosis_evidence_pack,\n\t\tticket.diagnosisEvidencePack,\n\t\tticket.diagnosis_evidence_pack,\n\t\tticketManager.diagnosisEvidencePack,\n\t\tticketManager.diagnosis_evidence_pack\n\t);\n}\n\nfunction supportIssueClassProbePlanObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\treturn evidenceObject(\n\t\tautonomousDecision.issueClassProbePlan,\n\t\tautonomousDecision.issue_class_probe_plan,\n\t\tjob.supportV5IssueClassProbePlan,\n\t\tjob.support_v5_issue_class_probe_plan,\n\t\tjob.issueClassProbePlan,\n\t\tjob.issue_class_probe_plan,\n\t\tevidence.supportV5IssueClassProbePlan,\n\t\tevidence.support_v5_issue_class_probe_plan,\n\t\tevidence.issueClassProbePlan,\n\t\tevidence.issue_class_probe_plan,\n\t\tticket.supportV5IssueClassProbePlan,\n\t\tticket.support_v5_issue_class_probe_plan,\n\t\tticket.issueClassProbePlan,\n\t\tticket.issue_class_probe_plan,\n\t\tticketManager.issueClassProbePlan,\n\t\tticketManager.issue_class_probe_plan\n\t);\n}\n\nfunction supportSimilarFixHintsObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\treturn evidenceObject(\n\t\tjob.supportRootCauseSimilarFixHints,\n\t\tjob.support_root_cause_similar_fix_hints,\n\t\tjob.similarFixHints,\n\t\tjob.similar_fix_hints,\n\t\tevidence.supportRootCauseSimilarFixHints,\n\t\tevidence.support_root_cause_similar_fix_hints,\n\t\tevidence.similarFixHints,\n\t\tevidence.similar_fix_hints,\n\t\tticket.supportRootCauseSimilarFixHints,\n\t\tticket.support_root_cause_similar_fix_hints,\n\t\tticketManager.rootCauseSimilarFixHints,\n\t\tticketManager.root_cause_similar_fix_hints\n\t);\n}\n\nfunction supportDiagnosisEvidencePackGate(pack: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!pack || !Object.keys(pack).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = cleanText(pack.status, 120);\n\tconst diagnosisValid = pack.diagnosisValid === true || pack.diagnosis_valid === true;\n\tconst validationBlockers = cleanStringList(pack.validationBlockers || pack.validation_blockers, 40, 500);\n\tconst similarSelection = plainObject(pack.similarCaseSelection || pack.similar_case_selection);\n\tconst rankedHints = asArray<any>(similarSelection.ranked);\n\tconst gateStatus: AIRunGateResult['status'] = diagnosisValid || statusText === 'diagnosis_ready'\n\t\t? 'pass'\n\t\t: statusText === 'blocked'\n\t\t\t? 'blocked'\n\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'support_diagnosis_evidence_pack',\n\t\tlabel: 'Support diagnosis evidence pack',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'Support diagnosis evidence pack has a valid root-cause diagnosis and advisory similar-fix context.'\n\t\t\t: validationBlockers.join('; ') || 'Support diagnosis evidence pack requires read-only root-cause evidence before repair.',\n\t\tevidenceRefs: cleanStringList(pack.requiredEvidence || pack.required_evidence, 30, 500),\n\t\trecordedAt: isoNow(now || pack.generatedAt || pack.generated_at),\n\t\tmetadata: {\n\t\t\tpackId: cleanText(pack.packId || pack.pack_id, 180),\n\t\t\tstatus: statusText,\n\t\t\treadOnly: pack.readOnly !== false && pack.read_only !== false,\n\t\t\tsourceEditsAllowed: pack.sourceEditsAllowed === true || pack.source_edits_allowed === true,\n\t\t\trootCauseFirstRequired: pack.rootCauseFirstRequired !== false && pack.root_cause_first_required !== false,\n\t\t\trequiredOutputKey: cleanText(pack.requiredOutputKey || pack.required_output_key, 120),\n\t\t\trequiredFields: cleanStringList(pack.requiredFields || pack.required_fields, 20, 160),\n\t\t\tforbiddenActions: cleanStringList(pack.forbiddenActions || pack.forbidden_actions, 20, 500),\n\t\t\tdiagnosisValid,\n\t\t\tdiagnosisStatus: cleanText(pack.diagnosisStatus || pack.diagnosis_status, 120),\n\t\t\tvalidationBlockers,\n\t\t\tissueClassHint: cleanText(pack.issueClassHint || pack.issue_class_hint, 120),\n\t\t\townerFileHints: cleanStringList(pack.ownerFileHints || pack.owner_file_hints, 20, 500),\n\t\t\tsimilarHintCount: rankedHints.length,\n\t\t\tsimilarHintsAdvisoryOnly: true,\n\t\t\tissueClassProbeCount: asArray(pack.issueClassProbeCatalog || pack.issue_class_probe_catalog).length\n\t\t}\n\t};\n}\n\nfunction supportIssueClassProbePlanGate(plan: Record<string, any>, diagnosisGate: Record<string, any>, now?: Date | string, required = false): AIRunGateResult | undefined {\n\tif (!plan || !Object.keys(plan).length) {\n\t\tif (!required) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst blocker = 'Support V5 run is missing IssueClassProbePlan, so business proof cannot be accepted from route-only or generic QA.';\n\t\treturn {\n\t\t\tkey: 'support_issue_class_probe_plan',\n\t\t\tlabel: 'Support issue-class probe plan',\n\t\t\tstatus: 'blocked',\n\t\t\treason: blocker,\n\t\t\tevidenceRefs: [],\n\t\t\trecordedAt: isoNow(now),\n\t\t\tmetadata: {\n\t\t\t\trequired: true,\n\t\t\t\tmissingPlan: true,\n\t\t\t\tissueClassProbePlanReady: false,\n\t\t\t\tacceptanceGate: 'aiqa_business_assertion',\n\t\t\t\tblockers: [blocker],\n\t\t\t\tfalsePassBlockers: ['route load only', 'generic clickthrough only', 'scorecard-only pass']\n\t\t\t}\n\t\t};\n\t}\n\tconst validation = validateResolveIOSupportIssueClassProbePlan(plan, diagnosisGate, now);\n\tconst normalized = plainObject(validation.normalized || plan);\n\tconst activeProbe = plainObject(validation.activeProbe || normalized.activeProbe || normalized.active_probe);\n\tconst blockers = cleanStringList(validation.blockers || normalized.blockers, 40, 500);\n\tconst requiredArtifacts = cleanStringList(\n\t\tnormalized.requiredArtifacts\n\t\t|| normalized.required_artifacts\n\t\t|| activeProbe.required_artifacts,\n\t\t30,\n\t\t500\n\t);\n\tconst falsePassBlockers = cleanStringList(\n\t\tnormalized.falsePassBlockers\n\t\t|| normalized.false_pass_blockers\n\t\t|| activeProbe.false_pass_blockers,\n\t\t30,\n\t\t500\n\t);\n\tconst status: AIRunGateResult['status'] = validation.valid ? 'pass' : 'blocked';\n\tconst issueClass = cleanText(normalized.issue_class || normalized.issueClass || activeProbe.issue_class, 120);\n\tconst route = cleanText(activeProbe.route, 500);\n\tconst action = cleanText(activeProbe.action, 1000);\n\treturn {\n\t\tkey: 'support_issue_class_probe_plan',\n\t\tlabel: 'Support issue-class probe plan',\n\t\tstatus,\n\t\treason: validation.valid\n\t\t\t? `Support issue-class probe plan is ready for ${issueClass || 'the diagnosed issue'} and requires AIQaBusinessAssertion proof.`\n\t\t\t: blockers.join('; ') || 'Support issue-class probe plan is incomplete.',\n\t\tevidenceRefs: requiredArtifacts,\n\t\trecordedAt: isoNow(now || normalized.generatedAt || normalized.generated_at),\n\t\tmetadata: {\n\t\t\tplanId: cleanText(normalized.planId || normalized.plan_id, 180),\n\t\t\tstatus: cleanText(validation.status || normalized.status, 120),\n\t\t\tissueClass,\n\t\t\tdiagnosisValid: normalized.diagnosisValid === true || normalized.diagnosis_valid === true,\n\t\t\tissueClassProbePlanReady: validation.valid === true && validation.status === 'ready',\n\t\t\tactiveRoute: route,\n\t\t\taction,\n\t\t\texpectedEvidence: cleanText(activeProbe.expected_evidence || activeProbe.expectedEvidence, 1200),\n\t\t\texpectedBusinessProof: cleanText(activeProbe.expected_business_proof || activeProbe.expectedBusinessProof, 1200),\n\t\t\tacceptanceGate: cleanText(normalized.acceptanceGate || normalized.acceptance_gate || activeProbe.acceptance_gate, 120),\n\t\t\trequiredArtifacts,\n\t\t\tfalsePassBlockers,\n\t\t\tblockers,\n\t\t\tactiveProbe: {\n\t\t\t\tissueClass,\n\t\t\t\troute,\n\t\t\t\taction,\n\t\t\t\tprobeType: cleanText(activeProbe.probe_type || activeProbe.probeType, 120),\n\t\t\t\tfailureClass: cleanText(activeProbe.failure_class || activeProbe.failureClass, 120),\n\t\t\t\tblocksAcceptanceWithoutBusinessAssertion: activeProbe.blocks_acceptance_without_business_assertion === true\n\t\t\t\t\t|| activeProbe.blocksAcceptanceWithoutBusinessAssertion === true\n\t\t\t}\n\t\t}\n\t};\n}\n\nfunction firstNonEmptyText(values: any[], max = 1000): string | undefined {\n\tfor (const value of values) {\n\t\tconst normalized = idText(value, max);\n\t\tif (normalized) {\n\t\t\treturn normalized;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction booleanFlag(value: any): boolean | undefined {\n\tif (value === true || value === false) {\n\t\treturn value;\n\t}\n\tif (typeof value === 'string') {\n\t\tconst normalized = value.trim().toLowerCase();\n\t\tif (/^(true|yes|1|passed|pass|ready|safe)$/.test(normalized)) {\n\t\t\treturn true;\n\t\t}\n\t\tif (/^(false|no|0|failed|fail|blocked|unsafe)$/.test(normalized)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction numberValue(value: any): number | undefined {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction buildAICoderQaEvidence(input: AICoderAIRunAdapterInput): Record<string, any> {\n\tconst app = input.app || {};\n\tconst job = input.job || {};\n\tconst workflowMemory = plainObject(\n\t\tjob.aiCoderV6WorkflowMemory\n\t\t|| job.ai_coder_v6_workflow_memory\n\t\t|| app.aiCoderV6WorkflowMemory\n\t\t|| app.ai_coder_v6_workflow_memory\n\t);\n\tconst evidence = mergeEvidenceRecords(\n\t\tjob.qaEvidence,\n\t\tjob.qa_evidence,\n\t\tapp.qaEvidence,\n\t\tapp.qa_evidence,\n\t\tinput.qaEvidence\n\t);\n\tevidence.workflowQaRows = [\n\t\t...asArray(workflowMemory.workflowQaRows),\n\t\t...asArray(workflowMemory.workflow_qa_rows),\n\t\t...asArray(job.workflowQaRows),\n\t\t...asArray(job.workflow_qa_rows),\n\t\t...asArray(app.workflowQaRows),\n\t\t...asArray(app.workflow_qa_rows),\n\t\t...asArray(evidence.workflowQaRows),\n\t\t...asArray(evidence.workflow_qa_rows)\n\t];\n\tevidence.businessAssertions = [\n\t\t...asArray(job.aiQaBusinessAssertions),\n\t\t...asArray(job.ai_qa_business_assertions),\n\t\t...asArray(job.businessAssertions),\n\t\t...asArray(job.business_assertions),\n\t\t...asArray(app.businessAssertions),\n\t\t...asArray(app.business_assertions),\n\t\t...asArray(evidence.businessAssertions),\n\t\t...asArray(evidence.business_assertions)\n\t];\n\tevidence.routeProbes = [\n\t\t...asArray(job.workflowProbes),\n\t\t...asArray(job.workflow_probes),\n\t\t...asArray(evidence.routeProbes),\n\t\t...asArray(evidence.route_probes)\n\t];\n\tevidence.artifactPaths = [\n\t\t...asArray(workflowMemory.businessProofArtifacts),\n\t\t...asArray(workflowMemory.business_proof_artifacts),\n\t\t...asArray(job.artifactPaths),\n\t\t...asArray(job.artifact_paths),\n\t\t...asArray(app.artifactPaths),\n\t\t...asArray(app.artifact_paths),\n\t\t...asArray(evidence.artifactPaths),\n\t\t...asArray(evidence.artifact_paths)\n\t];\n\tevidence.journeyContract = evidence.journeyContract\n\t\t|| evidence.journey_contract\n\t\t|| job.journeyContract\n\t\t|| job.journey_contract\n\t\t|| app.journeyContract\n\t\t|| app.journey_contract\n\t\t|| workflowMemory.journeyContract\n\t\t|| workflowMemory.journey_contract;\n\tevidence.journeyContractMarkdown = evidence.journeyContractMarkdown\n\t\t|| evidence.journey_contract_markdown\n\t\t|| job.journeyContractMarkdown\n\t\t|| job.journey_contract_markdown\n\t\t|| app.journeyContractMarkdown\n\t\t|| app.journey_contract_markdown;\n\tevidence.journeyContractPath = firstNonEmptyText([\n\t\tevidence.journeyContractPath,\n\t\tevidence.journey_contract_path,\n\t\tworkflowMemory.journeyContractPath,\n\t\tworkflowMemory.journey_contract_path,\n\t\tjob.journeyContractPath,\n\t\tjob.journey_contract_path,\n\t\tapp.journeyContractPath,\n\t\tapp.journey_contract_path\n\t], 500) || 'docs/APP_JOURNEY_CONTRACT.md';\n\tevidence.deployStatus = firstNonEmptyText([\n\t\tevidence.deployStatus,\n\t\tevidence.deploy_status,\n\t\tjob.deployStatus,\n\t\tjob.deploy_status,\n\t\tjob.testDeployStatus,\n\t\tjob.test_deploy_status,\n\t\tapp.deployStatus,\n\t\tapp.deploy_status\n\t], 160);\n\tevidence.publishStatus = firstNonEmptyText([\n\t\tevidence.publishStatus,\n\t\tevidence.publish_status,\n\t\tevidence.pullRequestStatus,\n\t\tevidence.pull_request_status,\n\t\tjob.publishStatus,\n\t\tjob.publish_status,\n\t\tjob.pullRequestStatus,\n\t\tjob.pull_request_status,\n\t\tapp.publishStatus,\n\t\tapp.publish_status\n\t], 160);\n\tevidence.sampleDataStatus = firstNonEmptyText([\n\t\tevidence.sampleDataStatus,\n\t\tevidence.sample_data_status,\n\t\tjob.sampleDataStatus,\n\t\tjob.sample_data_status,\n\t\tapp.sampleDataStatus,\n\t\tapp.sample_data_status\n\t], 160) || statusFromBoolean(evidence.sampleDataReady ?? evidence.hasSampleData ?? job.sampleDataReady ?? app.sampleDataReady);\n\treturn evidence;\n}\n\nfunction normalizeAICoderWorkflowProofReadiness(\n\tvalue: Record<string, any>,\n\tnow?: Date | string\n): ResolveIOAICoderWorkflowProofReadiness | undefined {\n\tif (!value || !Object.keys(value).length) {\n\t\treturn undefined;\n\t}\n\tconst ready = value.ready === true;\n\tconst status = cleanText(value.status, 120) || (ready ? 'ready' : 'blocked');\n\treturn {\n\t\tready,\n\t\tstatus: status as ResolveIOAICoderWorkflowProofReadiness['status'],\n\t\treason: cleanText(value.reason || value.summary || status, 1200),\n\t\tblockers: cleanStringList(value.blockers, 40, 500),\n\t\tjourneyContractValid: value.journeyContractValid === true || value.journey_contract_valid === true,\n\t\tprimaryWorkflowId: cleanText(value.primaryWorkflowId || value.primary_workflow_id, 200),\n\t\tpassedWorkflowRows: cleanStringList(value.passedWorkflowRows || value.passed_workflow_rows, 80, 300),\n\t\tmissingWorkflowRows: cleanStringList(value.missingWorkflowRows || value.missing_workflow_rows, 80, 300),\n\t\tfailedWorkflowRows: cleanStringList(value.failedWorkflowRows || value.failed_workflow_rows, 80, 300),\n\t\tpassedBusinessAssertions: cleanStringList(value.passedBusinessAssertions || value.passed_business_assertions, 80, 500),\n\t\trouteOnly: value.routeOnly === true || value.route_only === true,\n\t\tscorecardOnly: value.scorecardOnly === true || value.scorecard_only === true,\n\t\tsampleDataReady: value.sampleDataReady === true || value.sample_data_ready === true,\n\t\treleaseBlockers: cleanStringList(value.releaseBlockers || value.release_blockers, 40, 500),\n\t\tartifactPaths: cleanStringList(value.artifactPaths || value.artifact_paths, 80, 500),\n\t\tworkflowProofFingerprint: cleanText(value.workflowProofFingerprint || value.workflow_proof_fingerprint, 200),\n\t\tartifactFingerprint: cleanText(value.artifactFingerprint || value.artifact_fingerprint, 200),\n\t\tproofFreshness: cleanText(value.proofFreshness || value.proof_freshness, 80) as ResolveIOAICoderWorkflowProofReadiness['proofFreshness'],\n\t\tnextAction: cleanText(value.nextAction || value.next_action, 1000),\n\t\tevaluatedAt: isoNow(now || value.evaluatedAt || value.evaluated_at || value.recordedAt || value.recorded_at)\n\t};\n}\n\nfunction aicoderJourneyContractValidationFromEvidence(evidence: Record<string, any>): ResolveIOAICoderJourneyContractValidationResult {\n\tconst journeyInput = evidence.journeyContract !== undefined && evidence.journeyContract !== null\n\t\t? evidence.journeyContract\n\t\t: evidence.journeyContractMarkdown;\n\tconst hasJourneyInput = journeyInput !== undefined && journeyInput !== null && cleanText(journeyInput, 100).length > 0;\n\tif (!hasJourneyInput) {\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tcontract: null,\n\t\t\tissues: [{\n\t\t\t\tcode: 'missing_contract',\n\t\t\t\tpath: cleanText(evidence.journeyContractPath, 500) || 'docs/APP_JOURNEY_CONTRACT.md',\n\t\t\t\tmessage: 'docs/APP_JOURNEY_CONTRACT.md with structured journey_contract JSON is required before AICoder build, workflow QA, wow UI, publish, or acceptance.',\n\t\t\t\tseverity: 'error'\n\t\t\t}],\n\t\t\tworkflowQaRows: [],\n\t\t\tprimaryWorkflowId: ''\n\t\t};\n\t}\n\treturn validateResolveIOAICoderJourneyContract(journeyInput, {\n\t\trequireMarkdownEnvelope: typeof journeyInput === 'string'\n\t});\n}\n\nfunction aicoderJourneyContractGate(\n\tvalidation: ResolveIOAICoderJourneyContractValidationResult,\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst errorIssues = validation.issues.filter((issue) => issue.severity === 'error');\n\tconst warningIssues = validation.issues.filter((issue) => issue.severity === 'warning');\n\tconst status: AIRunGateResult['status'] = validation.valid\n\t\t? (warningIssues.length ? 'warn' : 'pass')\n\t\t: 'blocked';\n\tconst path = cleanText(evidence.journeyContractPath, 500) || 'docs/APP_JOURNEY_CONTRACT.md';\n\treturn {\n\t\tkey: 'aicoder_journey_contract',\n\t\tlabel: 'AICoder journey contract',\n\t\tstatus,\n\t\treason: validation.valid\n\t\t\t? (warningIssues.length\n\t\t\t\t? `Journey contract is valid with warnings: ${warningIssues.map((issue) => issue.message).slice(0, 3).join(' | ')}`\n\t\t\t\t: 'Journey contract validates first/next/last workflow, data story, completion states, and QA assertions.')\n\t\t\t: (errorIssues.map((issue) => issue.message).slice(0, 5).join(' | ') || 'AICoder Journey Contract is missing or invalid.'),\n\t\tevidenceRefs: [path],\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\tpath,\n\t\t\tvalid: validation.valid,\n\t\t\tprimaryWorkflowId: cleanText(validation.primaryWorkflowId, 200),\n\t\t\tworkflowQaRowCount: validation.workflowQaRows.length,\n\t\t\terrorCount: errorIssues.length,\n\t\t\twarningCount: warningIssues.length,\n\t\t\tissueCodes: cleanStringList(validation.issues.map((issue) => issue.code), 40, 120),\n\t\t\tissues: validation.issues.slice(0, 20).map((issue) => ({\n\t\t\t\tcode: cleanText(issue.code, 120),\n\t\t\t\tpath: cleanText(issue.path, 500),\n\t\t\t\tseverity: issue.severity,\n\t\t\t\tmessage: cleanText(issue.message, 800)\n\t\t\t})),\n\t\t\tblocksBuildUntilValid: !validation.valid,\n\t\t\tblocksWorkflowQaUntilValid: !validation.valid,\n\t\t\tblocksWowUiUntilWorkflowProof: !validation.valid,\n\t\t\tblocksPublishUntilWorkflowProof: !validation.valid,\n\t\t\tnextAction: validation.valid\n\t\t\t\t? 'Generate workflow QA rows from journey_contract.qa_assertions and execute the north-star workflow.'\n\t\t\t\t: 'Generate or repair docs/APP_JOURNEY_CONTRACT.md before app build, wow UI, publish, or acceptance.'\n\t\t}\n\t};\n}\n\nfunction aicoderWorkflowProofReadinessGate(\n\treadiness: ResolveIOAICoderWorkflowProofReadiness,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst status: AIRunGateResult['status'] = readiness.ready\n\t\t? 'pass'\n\t\t: readiness.status === 'release_blocked' || readiness.status === 'journey_invalid' || readiness.status === 'sample_data_missing'\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'aicoder_workflow_proof_readiness',\n\t\tlabel: 'AICoder workflow proof readiness',\n\t\tstatus,\n\t\treason: readiness.reason || readiness.blockers.join('; ') || readiness.status,\n\t\tevidenceRefs: readiness.artifactPaths,\n\t\trecordedAt: isoNow(now || readiness.evaluatedAt),\n\t\tmetadata: {\n\t\t\tready: readiness.ready,\n\t\t\tstatus: readiness.status,\n\t\t\tprimaryWorkflowId: readiness.primaryWorkflowId,\n\t\t\tjourneyContractValid: readiness.journeyContractValid,\n\t\t\tblockers: readiness.blockers,\n\t\t\tpassedWorkflowRows: readiness.passedWorkflowRows,\n\t\t\tmissingWorkflowRows: readiness.missingWorkflowRows,\n\t\t\tfailedWorkflowRows: readiness.failedWorkflowRows,\n\t\t\tpassedBusinessAssertions: readiness.passedBusinessAssertions,\n\t\t\trouteOnly: readiness.routeOnly,\n\t\t\tscorecardOnly: readiness.scorecardOnly,\n\t\t\tsampleDataReady: readiness.sampleDataReady,\n\t\t\treleaseBlockers: readiness.releaseBlockers,\n\t\t\tworkflowProofFingerprint: readiness.workflowProofFingerprint,\n\t\t\tartifactFingerprint: readiness.artifactFingerprint,\n\t\t\tproofFreshness: readiness.proofFreshness,\n\t\t\tnextAction: readiness.nextAction\n\t\t}\n\t};\n}\n\nfunction aicoderWorkflowProofCheckpointObject(app: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst workflowMemory = plainObject(\n\t\tjob.aiCoderV6WorkflowMemory\n\t\t|| job.ai_coder_v6_workflow_memory\n\t\t|| app.aiCoderV6WorkflowMemory\n\t\t|| app.ai_coder_v6_workflow_memory\n\t\t|| evidence.aiCoderV6WorkflowMemory\n\t\t|| evidence.ai_coder_v6_workflow_memory\n\t);\n\tconst continuationDecision = plainObject(\n\t\tjob.aicoderV6ContinuationDecision\n\t\t|| job.aiCoderV6ContinuationDecision\n\t\t|| job.aicoder_v6_continuation_decision\n\t\t|| job.ai_coder_v6_continuation_decision\n\t\t|| app.aicoderV6ContinuationDecision\n\t\t|| app.aiCoderV6ContinuationDecision\n\t\t|| app.aicoder_v6_continuation_decision\n\t\t|| evidence.aicoderV6ContinuationDecision\n\t\t|| evidence.aiCoderV6ContinuationDecision\n\t\t|| evidence.aicoder_v6_continuation_decision\n\t);\n\treturn evidenceObject(\n\t\tcontinuationDecision.workflowProofCheckpoint,\n\t\tcontinuationDecision.workflow_proof_checkpoint,\n\t\tworkflowMemory.workflowProofCheckpoint,\n\t\tworkflowMemory.workflow_proof_checkpoint,\n\t\tjob.workflowProofCheckpoint,\n\t\tjob.workflow_proof_checkpoint,\n\t\tjob.aicoderWorkflowProofCheckpoint,\n\t\tjob.aicoder_workflow_proof_checkpoint,\n\t\tapp.workflowProofCheckpoint,\n\t\tapp.workflow_proof_checkpoint,\n\t\tevidence.workflowProofCheckpoint,\n\t\tevidence.workflow_proof_checkpoint,\n\t\tevidence.aicoderWorkflowProofCheckpoint,\n\t\tevidence.aicoder_workflow_proof_checkpoint\n\t);\n}\n\nfunction aicoderWorkflowProofCheckpointGate(checkpoint: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!checkpoint || !Object.keys(checkpoint).length) {\n\t\treturn undefined;\n\t}\n\tconst blocksProductRepairUntilJourneyContract = booleanFlag(checkpoint.blocksProductRepairUntilJourneyContract ?? checkpoint.blocks_product_repair_until_journey_contract) === true;\n\tconst blocksPublishUntilWorkflowProof = booleanFlag(checkpoint.blocksPublishUntilWorkflowProof ?? checkpoint.blocks_publish_until_workflow_proof) === true;\n\tconst blocksPublishUntilReleaseGate = booleanFlag(checkpoint.blocksPublishUntilReleaseGate ?? checkpoint.blocks_publish_until_release_gate) === true;\n\tconst blocksWowUiUntilWorkflowProof = booleanFlag(checkpoint.blocksWowUiUntilWorkflowProof ?? checkpoint.blocks_wow_ui_until_workflow_proof) === true;\n\tconst statusText = cleanText(checkpoint.status, 120);\n\tconst required = booleanFlag(checkpoint.required) !== false;\n\tconst blockers = cleanStringList(checkpoint.blockers, 40, 500);\n\tif (blocksProductRepairUntilJourneyContract) {\n\t\tblockers.push('Product repair is blocked until the journey contract is valid.');\n\t}\n\tif (blocksPublishUntilWorkflowProof) {\n\t\tblockers.push('Publish is blocked until workflow business proof passes.');\n\t}\n\tif (blocksPublishUntilReleaseGate) {\n\t\tblockers.push('Publish is blocked until release gate evidence passes.');\n\t}\n\tif (blocksWowUiUntilWorkflowProof) {\n\t\tblockers.push('Wow UI polish is blocked until workflow proof exists.');\n\t}\n\tconst gateStatus: AIRunGateResult['status'] = !required || statusText === 'ready_to_continue'\n\t\t? 'pass'\n\t\t: blockers.length\n\t\t\t? 'blocked'\n\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'aicoder_workflow_proof_checkpoint',\n\t\tlabel: 'AICoder workflow proof checkpoint',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'AICoder workflow checkpoint allows the next action.'\n\t\t\t: (blockers.join(' ') || cleanText(checkpoint.nextAction || checkpoint.next_action || statusText, 1200) || 'AICoder workflow checkpoint requires more proof before continuing.'),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray(checkpoint.requiredEvidence || checkpoint.required_evidence),\n\t\t\t...asArray(checkpoint.requiredResetEvidence || checkpoint.required_reset_evidence)\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || checkpoint.recordedAt || checkpoint.recorded_at || checkpoint.createdAt || checkpoint.created_at),\n\t\tmetadata: {\n\t\t\trequired,\n\t\t\tstatus: statusText,\n\t\t\treadinessStatus: cleanText(checkpoint.readinessStatus || checkpoint.readiness_status, 120),\n\t\t\tnextGate: cleanText(checkpoint.nextGate || checkpoint.next_gate, 120),\n\t\t\tnextAction: cleanText(checkpoint.nextAction || checkpoint.next_action, 1000),\n\t\t\tstartingFailureClass: cleanText(checkpoint.startingFailureClass || checkpoint.starting_failure_class, 120),\n\t\t\tstartingBlockerFingerprint: cleanText(checkpoint.startingBlockerFingerprint || checkpoint.starting_blocker_fingerprint, 200),\n\t\t\tstartingEvidenceHash: cleanText(checkpoint.startingEvidenceHash || checkpoint.starting_evidence_hash, 200),\n\t\t\tworkflowProofFingerprint: cleanText(checkpoint.workflowProofFingerprint || checkpoint.workflow_proof_fingerprint, 200),\n\t\t\tartifactFingerprint: cleanText(checkpoint.artifactFingerprint || checkpoint.artifact_fingerprint, 200),\n\t\t\trequiredEvidence: cleanStringList(checkpoint.requiredEvidence || checkpoint.required_evidence, 40, 500),\n\t\t\trequiredResetEvidence: cleanStringList(checkpoint.requiredResetEvidence || checkpoint.required_reset_evidence, 40, 500),\n\t\t\tsuccessRequiresWorkflowBusinessProof: booleanFlag(checkpoint.successRequiresWorkflowBusinessProof ?? checkpoint.success_requires_workflow_business_proof) === true,\n\t\t\tblocksProductRepairUntilJourneyContract,\n\t\t\tblocksPublishUntilWorkflowProof,\n\t\t\tblocksPublishUntilReleaseGate,\n\t\t\tblocksWowUiUntilWorkflowProof,\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction aicoderNextActionContractObject(app: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst continuationDecision = plainObject(\n\t\tjob.aicoderV6ContinuationDecision\n\t\t|| job.aiCoderV6ContinuationDecision\n\t\t|| job.aicoder_v6_continuation_decision\n\t\t|| job.ai_coder_v6_continuation_decision\n\t\t|| app.aicoderV6ContinuationDecision\n\t\t|| app.aiCoderV6ContinuationDecision\n\t\t|| app.aicoder_v6_continuation_decision\n\t\t|| evidence.aicoderV6ContinuationDecision\n\t\t|| evidence.aiCoderV6ContinuationDecision\n\t\t|| evidence.aicoder_v6_continuation_decision\n\t);\n\treturn evidenceObject(\n\t\tcontinuationDecision.nextActionContract,\n\t\tcontinuationDecision.next_action_contract,\n\t\tjob.nextActionContract,\n\t\tjob.next_action_contract,\n\t\tjob.aicoderNextActionContract,\n\t\tjob.aicoder_next_action_contract,\n\t\tjob.aiCoderNextActionContract,\n\t\tjob.ai_coder_next_action_contract,\n\t\tapp.nextActionContract,\n\t\tapp.next_action_contract,\n\t\tevidence.nextActionContract,\n\t\tevidence.next_action_contract,\n\t\tevidence.aicoderNextActionContract,\n\t\tevidence.aicoder_next_action_contract\n\t);\n}\n\nfunction aicoderNextActionContractGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst safeToAutoRun = booleanFlag(contract.safeToAutoRun ?? contract.safe_to_auto_run) === true;\n\tconst requiresHumanApproval = booleanFlag(contract.requiresHumanApproval ?? contract.requires_human_approval) === true;\n\tconst canRunWithoutCodexMonitor = booleanFlag(contract.canRunWithoutCodexMonitor ?? contract.can_run_without_codex_monitor) === true;\n\tconst codexFallbackRequired = booleanFlag(contract.codexFallbackRequired ?? contract.codex_fallback_required) === true;\n\tconst sourceBlockers = cleanStringList(contract.blockers, 40, 500);\n\tconst primaryCommand = cleanText(contract.primaryCommand || contract.primary_command, 200);\n\tconst liveHotfixBlockedUntilCommit = booleanFlag(contract.liveHotfixBlockedUntilCommit ?? contract.live_hotfix_blocked_until_commit ?? plainObject(contract.decisionBasis || contract.decision_basis).liveHotfixBlockedUntilCommit ?? plainObject(contract.decisionBasis || contract.decision_basis).live_hotfix_blocked_until_commit) === true;\n\tconst safetyBlockers = Array.from(new Set([\n\t\t...(safeToAutoRun ? [] : ['AICoder next action is not marked safe to auto-run.']),\n\t\t...(canRunWithoutCodexMonitor ? [] : ['AICoder next action requires Codex fallback/monitoring instead of manager-only execution.']),\n\t\t...(codexFallbackRequired ? [cleanText(contract.codexFallbackReason || contract.codex_fallback_reason, 1000) || 'AICoder next action contract requires Codex fallback.'] : []),\n\t\t...(requiresHumanApproval ? ['AICoder next action requires human approval.'] : []),\n\t\t...(liveHotfixBlockedUntilCommit ? ['Live AICoder hotfix is blocked until GitHub commit and push proof is recorded.'] : [])\n\t])).filter(Boolean).slice(0, 40);\n\tconst contractBlockers = safetyBlockers.length\n\t\t? Array.from(new Set([...sourceBlockers, ...safetyBlockers])).slice(0, 40)\n\t\t: [];\n\tconst missingSafetyFlags = [\n\t\tcontract.safeToAutoRun === undefined && contract.safe_to_auto_run === undefined ? 'safeToAutoRun' : '',\n\t\tcontract.canRunWithoutCodexMonitor === undefined && contract.can_run_without_codex_monitor === undefined ? 'canRunWithoutCodexMonitor' : '',\n\t\tcontract.codexFallbackRequired === undefined && contract.codex_fallback_required === undefined ? 'codexFallbackRequired' : ''\n\t].filter(Boolean);\n\tconst gateStatus: AIRunGateResult['status'] = contractBlockers.length\n\t\t? 'blocked'\n\t\t: missingSafetyFlags.length\n\t\t\t? 'warn'\n\t\t\t: 'pass';\n\treturn {\n\t\tkey: 'aicoder_next_action_contract',\n\t\tlabel: 'AICoder next action contract',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? `AICoder can run ${primaryCommand || 'the next action'} without a Codex monitor.`\n\t\t\t: (contractBlockers.join(' ') || cleanText(contract.codexFallbackReason || contract.codex_fallback_reason || contract.expectedStateTransition || contract.expected_state_transition, 1200) || 'AICoder next action is not safe to run unattended.'),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray(contract.preconditions),\n\t\t\t...asArray(contract.successEvidence || contract.success_evidence),\n\t\t\t...asArray(contract.stopConditions || contract.stop_conditions)\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || contract.createdAt || contract.created_at || contract.recordedAt || contract.recorded_at),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contractId || contract.contract_id, 200),\n\t\t\taction: cleanText(contract.action, 120),\n\t\t\tlabel: cleanText(contract.label, 200),\n\t\t\tprimaryCommand,\n\t\t\tlane: cleanText(contract.lane, 120),\n\t\t\tstepType: cleanText(contract.stepType || contract.step_type, 120),\n\t\t\tsafeToAutoRun,\n\t\t\trequiresHumanApproval,\n\t\t\tcanRunWithoutCodexMonitor,\n\t\t\tcodexFallbackRequired,\n\t\t\tcodexFallbackReason: cleanText(contract.codexFallbackReason || contract.codex_fallback_reason, 1000),\n\t\t\tcostRisk: cleanText(contract.costRisk || contract.cost_risk, 120),\n\t\t\tworkflowFirstSatisfied: booleanFlag(contract.workflowFirstSatisfied ?? contract.workflow_first_satisfied) === true,\n\t\t\thotfixCommitRequired: booleanFlag(contract.hotfixCommitRequired ?? contract.hotfix_commit_required ?? plainObject(contract.decisionBasis || contract.decision_basis).hotfixCommitRequired ?? plainObject(contract.decisionBasis || contract.decision_basis).hotfix_commit_required) === true,\n\t\t\tliveHotfixBlockedUntilCommit,\n\t\t\tdecisionBasis: plainObject(contract.decisionBasis || contract.decision_basis),\n\t\t\tpreconditions: cleanStringList(contract.preconditions, 40, 500),\n\t\t\texpectedStateTransition: cleanText(contract.expectedStateTransition || contract.expected_state_transition, 1000),\n\t\t\tsuccessEvidence: cleanStringList(contract.successEvidence || contract.success_evidence, 40, 500),\n\t\t\trequiredHotfixCommitProof: cleanStringList(contract.requiredHotfixCommitProof || contract.required_hotfix_commit_proof, 20, 240),\n\t\t\tstopConditions: cleanStringList(contract.stopConditions || contract.stop_conditions, 40, 500),\n\t\t\tforbiddenActions: cleanStringList(contract.forbiddenActions || contract.forbidden_actions, 40, 500),\n\t\t\tnextCommands: cleanStringList(contract.nextCommands || contract.next_commands, 40, 240),\n\t\t\tblockers: contractBlockers,\n\t\t\tcontextBlockers: sourceBlockers,\n\t\t\tsafetyBlockers,\n\t\t\tmissingSafetyFlags,\n\t\t\townerFiles: cleanStringList(contract.ownerFiles || contract.owner_files, 40, 500)\n\t\t}\n\t};\n}\n\nfunction adapterStatusPassed(value: any): boolean {\n\tconst normalized = cleanText(value, 120).toLowerCase();\n\treturn !!normalized && /(pass|passed|success|succeeded|ok|done|complete|completed|ready|saved|published|deployed)/i.test(normalized);\n}\n\nfunction applyAICoderWorkflowProofGate(\n\tqa: AIQaRun,\n\treadiness: ResolveIOAICoderWorkflowProofReadiness,\n\tnow?: Date | string\n): AIQaRun {\n\tif (\n\t\treadiness.ready\n\t\t|| readiness.status === 'release_blocked'\n\t\t|| qa.outcome === 'infra_failed'\n\t\t|| qa.outcome === 'compile_failed'\n\t\t|| qa.outcome === 'route_failed'\n\t\t|| qa.outcome === 'business_assertion_failed'\n\t) {\n\t\treturn qa;\n\t}\n\tconst gate = aicoderWorkflowProofReadinessGate(readiness, now);\n\treturn {\n\t\t...qa,\n\t\toutcome: qa.routeProbes.some((probe) => adapterStatusPassed(probe.status))\n\t\t\t? 'route_only_pass'\n\t\t\t: 'incomplete',\n\t\tgateResults: [\n\t\t\t...qa.gateResults.filter((existing) => !(existing.key === 'qa_business_assertion' && existing.status === 'pass')),\n\t\t\tgate\n\t\t]\n\t};\n}\n\nfunction assistantQualityObject(input: AssistantAIRunAdapterInput): Record<string, any> {\n\tconst conversation = input.conversation || {};\n\tconst latestAssistantMessage = [...asArray<Record<string, any>>(input.messages)]\n\t\t.reverse()\n\t\t.find((message) => /assistant/i.test(cleanText(message.role || message.authorRole || message.type, 80)));\n\treturn plainObject(\n\t\tinput.answerQuality\n\t\t|| conversation.answerQuality\n\t\t|| conversation.answer_quality\n\t\t|| conversation.assistantAnswerQuality\n\t\t|| conversation.assistant_answer_quality\n\t\t|| latestAssistantMessage?.answerQuality\n\t\t|| latestAssistantMessage?.answer_quality\n\t\t|| latestAssistantMessage?.metadata?.answerQuality\n\t\t|| latestAssistantMessage?.metadata?.answer_quality\n\t);\n}\n\nfunction assistantConfidenceLevel(value: any): AssistantAnswerQualityDecision['confidenceLevel'] {\n\tconst normalized = cleanText(value?.level || value?.confidenceLevel || value?.confidence_level || value, 80).toLowerCase();\n\tif (/^high$/.test(normalized)) {\n\t\treturn 'high';\n\t}\n\tif (/^medium$/.test(normalized)) {\n\t\treturn 'medium';\n\t}\n\tif (/^low$/.test(normalized)) {\n\t\treturn 'low';\n\t}\n\treturn 'unknown';\n}\n\nfunction assistantQueryStatus(value: any): AssistantAnswerQualityDecision['queryStatus'] {\n\tconst normalized = cleanText(value?.status || value?.queryStatus || value?.query_status || value, 120).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (/^(ok|success|answered|data_found|data)$/.test(normalized)) {\n\t\treturn 'ok';\n\t}\n\tif (/^(no_data|no_results|empty|not_found)$/.test(normalized)) {\n\t\treturn 'no_data';\n\t}\n\tif (/^(query_error|mongo_error|error|failed)$/.test(normalized)) {\n\t\treturn 'query_error';\n\t}\n\tif (/^(permission_error|permission_denied|forbidden|unauthorized)$/.test(normalized)) {\n\t\treturn 'permission_error';\n\t}\n\treturn 'unknown';\n}\n\nfunction asObjectList(value: any): Record<string, any>[] {\n\treturn asArray<Record<string, any>>(value).filter((entry) => entry && typeof entry === 'object' && !Array.isArray(entry));\n}\n\nfunction assistantEvidenceRefs(quality: Record<string, any>): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.evidenceRefs),\n\t\t...asArray(quality.evidence_refs),\n\t\t...asArray(quality.citationRefs),\n\t\t...asArray(quality.citation_refs),\n\t\t...asArray(quality.artifactPaths),\n\t\t...asArray(quality.artifact_paths),\n\t\t...asObjectList(quality.citations).map((citation) => citation.path || citation.url || citation.id || citation.ref),\n\t\t...asObjectList(quality.evidence).map((entry) => entry.path || entry.url || entry.id || entry.ref)\n\t], 80, 500);\n}\n\nfunction assistantCitationRefs(quality: Record<string, any>): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.citationRefs),\n\t\t...asArray(quality.citation_refs),\n\t\t...asObjectList(quality.citations).map((citation) => citation.path || citation.url || citation.id || citation.ref),\n\t\t...asObjectList(quality.evidence).map((entry) => entry.citation || entry.ref || entry.path || entry.url)\n\t], 80, 500);\n}\n\nfunction assistantQueryExecutions(quality: Record<string, any>): Record<string, any>[] {\n\tconst queryExecution = plainObject(quality.queryExecution || quality.query_execution);\n\tconst toolResult = plainObject(quality.toolResult || quality.tool_result);\n\treturn [\n\t\t...asObjectList(quality.queryExecutions),\n\t\t...asObjectList(quality.query_executions),\n\t\t...asObjectList(quality.dataQueries),\n\t\t...asObjectList(quality.data_queries),\n\t\t...asObjectList(quality.toolResults),\n\t\t...asObjectList(quality.tool_results),\n\t\t...asObjectList(quality.mongoReads),\n\t\t...asObjectList(quality.mongo_reads),\n\t\t...asObjectList(quality.mongoAggregations),\n\t\t...asObjectList(quality.mongo_aggregations),\n\t\t...(Object.keys(queryExecution).length ? [queryExecution] : []),\n\t\t...(Object.keys(toolResult).length ? [toolResult] : [])\n\t].filter((entry) => Object.keys(entry).length);\n}\n\nfunction assistantQueryEvidenceRefs(quality: Record<string, any>, executions = assistantQueryExecutions(quality)): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.queryEvidenceRefs),\n\t\t...asArray(quality.query_evidence_refs),\n\t\t...asArray(quality.toolResultRefs),\n\t\t...asArray(quality.tool_result_refs),\n\t\t...asArray(quality.queryResultRefs),\n\t\t...asArray(quality.query_result_refs),\n\t\t...executions.map((execution) => {\n\t\t\treturn execution.id\n\t\t\t\t|| execution._id\n\t\t\t\t|| execution.ref\n\t\t\t\t|| execution.toolResultId\n\t\t\t\t|| execution.tool_result_id\n\t\t\t\t|| execution.toolCallId\n\t\t\t\t|| execution.tool_call_id\n\t\t\t\t|| execution.artifactPath\n\t\t\t\t|| execution.artifact_path\n\t\t\t\t|| execution.path\n\t\t\t\t|| execution.url;\n\t\t})\n\t], 80, 500);\n}\n\nfunction assistantNextActions(quality: Record<string, any>): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.nextActions),\n\t\t...asArray(quality.next_actions),\n\t\t...asArray(quality.recommendedActions),\n\t\t...asArray(quality.recommended_actions)\n\t], 20, 500);\n}\n\nfunction normalizedIsoDay(value: any): string {\n\tif (!value) {\n\t\treturn '';\n\t}\n\tconst date = value instanceof Date ? value : new Date(value);\n\tif (!Number.isFinite(date.getTime())) {\n\t\treturn cleanText(value, 40).slice(0, 10);\n\t}\n\treturn date.toISOString().slice(0, 10);\n}\n\nfunction assistantDateWindowObject(quality: Record<string, any>): Record<string, any> {\n\tconst dateWindow = plainObject(quality.dateWindow || quality.date_window);\n\tconst nestedWindow = plainObject(quality.verification?.metrics?.window || quality.metrics?.window);\n\treturn Object.keys(dateWindow).length ? dateWindow : nestedWindow;\n}\n\nfunction collectMongoProjectionObjects(value: any, result: Record<string, any>[] = []): Record<string, any>[] {\n\tif (!value || typeof value !== 'object') {\n\t\treturn result;\n\t}\n\tif (Array.isArray(value)) {\n\t\tfor (const entry of value) {\n\t\t\tcollectMongoProjectionObjects(entry, result);\n\t\t}\n\t\treturn result;\n\t}\n\tif (value.projection && typeof value.projection === 'object' && !Array.isArray(value.projection)) {\n\t\tresult.push(value.projection);\n\t}\n\tif (value.options && typeof value.options === 'object' && !Array.isArray(value.options) && value.options.projection) {\n\t\tcollectMongoProjectionObjects({ projection: value.options.projection }, result);\n\t}\n\tif (value.query && typeof value.query === 'object') {\n\t\tcollectMongoProjectionObjects(value.query, result);\n\t}\n\tif (value.mongoQuery && typeof value.mongoQuery === 'object') {\n\t\tcollectMongoProjectionObjects(value.mongoQuery, result);\n\t}\n\tif (value.mongo_query && typeof value.mongo_query === 'object') {\n\t\tcollectMongoProjectionObjects(value.mongo_query, result);\n\t}\n\treturn result;\n}\n\nfunction projectionHasPositionalOperator(projection: Record<string, any>): boolean {\n\treturn Object.keys(projection || {}).some((key) => /\\.(?:\\$|\\$\\[)|\\.\\$$/.test(key));\n}\n\nfunction assistantQueryShapeLegal(quality: Record<string, any>): boolean {\n\tif (quality.legalQueryShape === true || quality.legal_query_shape === true) {\n\t\treturn true;\n\t}\n\tif (quality.legalQueryShape === false || quality.legal_query_shape === false || quality.illegalQueryShape === true || quality.illegal_query_shape === true) {\n\t\treturn false;\n\t}\n\tconst queryShape = plainObject(quality.queryShape || quality.query_shape);\n\tif (queryShape.legal === true || queryShape.status === 'pass') {\n\t\treturn true;\n\t}\n\tif (queryShape.legal === false || queryShape.status === 'fail') {\n\t\treturn false;\n\t}\n\tconst projections = collectMongoProjectionObjects(quality);\n\tif (projections.some(projectionHasPositionalOperator)) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nfunction assistantCorrectnessFailed(checks: Array<Record<string, any>>): string[] {\n\treturn checks\n\t\t.filter((check) => {\n\t\t\tconst status = cleanText(check.status || (check.passed === true ? 'pass' : check.passed === false ? 'fail' : ''), 80).toLowerCase();\n\t\t\treturn /^(fail|failed|blocked|incorrect|wrong|error)$/.test(status);\n\t\t})\n\t\t.map((check) => cleanText(check.assertion || check.name || check.case || check.reason || 'assistant correctness check failed', 300))\n\t\t.slice(0, 20);\n}\n\nexport function evaluateAssistantAnswerQuality(input: AssistantAnswerQualityInput = {}): AssistantAnswerQualityDecision {\n\tconst quality = plainObject(input.answerQuality);\n\tconst now = isoNow(input.now);\n\tconst correctnessChecks = asArray<Record<string, any>>(input.correctnessChecks);\n\tconst failedChecks = assistantCorrectnessFailed(correctnessChecks);\n\tconst queryStatus = assistantQueryStatus(quality.queryStatus || quality.query_status || quality.queryResult || quality.query_result);\n\tconst confidenceLevel = assistantConfidenceLevel(quality.confidence || quality.confidenceLevel || quality.confidence_level);\n\tconst evidenceRefs = assistantEvidenceRefs(quality);\n\tconst citationRefs = assistantCitationRefs(quality);\n\tconst queryExecutions = assistantQueryExecutions(quality);\n\tconst queryEvidenceRefs = assistantQueryEvidenceRefs(quality, queryExecutions);\n\tconst nextActions = assistantNextActions(quality);\n\tconst requiresCurrentDate = quality.requiresCurrentDate === true || quality.requires_current_date === true;\n\tconst dateWindowRequired = quality.requiresDateWindow === true\n\t\t|| quality.requires_date_window === true\n\t\t|| quality.dateWindowRequired === true\n\t\t|| quality.date_window_required === true;\n\tconst requiresCitations = quality.requiresCitations !== false && quality.requires_citations !== false;\n\tconst requiresNextAction = quality.requiresNextAction !== false && quality.requires_next_action !== false;\n\tconst dateWindow = assistantDateWindowObject(quality);\n\tconst dateWindowStart = cleanText(dateWindow.startDate || dateWindow.start_date || dateWindow.start, 80);\n\tconst dateWindowEnd = cleanText(dateWindow.endDate || dateWindow.end_date || dateWindow.end, 80);\n\tconst dateWindowPresent = !!dateWindowStart && !!dateWindowEnd;\n\tconst dateBasis = cleanText(\n\t\tquality.currentDateUsed\n\t\t|| quality.current_date_used\n\t\t|| quality.dateBasis\n\t\t|| quality.date_basis\n\t\t|| quality.dateWindow?.basisDate\n\t\t|| quality.date_window?.basis_date,\n\t\t80\n\t);\n\tconst expectedCurrentDate = cleanText(quality.expectedCurrentDate || quality.expected_current_date, 80)\n\t\t|| normalizedIsoDay(input.now);\n\tconst noDataConfirmed = quality.noDataConfirmed === true\n\t\t|| quality.no_data_confirmed === true\n\t\t|| quality.confirmedNoData === true\n\t\t|| quality.confirmed_no_data === true;\n\tconst legalQueryShape = assistantQueryShapeLegal(quality);\n\tconst queryEvidenceRequired = quality.requiresQueryEvidence !== false\n\t\t&& quality.requires_query_evidence !== false\n\t\t&& (queryStatus === 'ok' || queryStatus === 'no_data');\n\tconst queryEvidencePresent = queryExecutions.length > 0 || queryEvidenceRefs.length > 0;\n\tconst blockers: string[] = [];\n\tlet status: AssistantAnswerQualityStatus = 'ready';\n\tlet reason = 'Assistant answer has structured data evidence, legal query shape, citations, confidence, and next action.';\n\tif (!Object.keys(quality).length) {\n\t\tstatus = 'missing_data_source';\n\t\tblockers.push('Assistant answerQuality evidence is missing.');\n\t\treason = 'Assistant answer cannot be accepted without structured answerQuality evidence.';\n\t}\n\telse if (failedChecks.length) {\n\t\tstatus = 'incorrect';\n\t\tblockers.push(...failedChecks);\n\t\treason = 'Assistant correctness checks failed.';\n\t}\n\telse if (queryStatus === 'permission_error') {\n\t\tstatus = 'permission_error';\n\t\tblockers.push('Assistant data query was blocked by permission or authorization.');\n\t\treason = 'Assistant must report permission-error state and avoid claiming no data or success.';\n\t}\n\telse if (queryStatus === 'query_error') {\n\t\tstatus = 'query_error';\n\t\tblockers.push('Assistant data query failed.');\n\t\treason = 'Assistant must report query-error state and avoid claiming no data or success.';\n\t}\n\telse if (!legalQueryShape) {\n\t\tstatus = 'illegal_query_shape';\n\t\tblockers.push('Assistant query shape is illegal or uses an unsafe Mongo projection shape.');\n\t\treason = 'Assistant must use legal Mongo query/projection shapes before answering.';\n\t}\n\telse if (requiresCurrentDate && (!dateBasis || normalizedIsoDay(dateBasis) !== normalizedIsoDay(expectedCurrentDate))) {\n\t\tstatus = 'date_incorrect';\n\t\tblockers.push(`Expected current date ${normalizedIsoDay(expectedCurrentDate) || expectedCurrentDate}, got ${dateBasis || 'missing date basis'}.`);\n\t\treason = 'Assistant answer did not prove it used the actual current date.';\n\t}\n\telse if (dateWindowRequired && !dateWindowPresent) {\n\t\tstatus = 'missing_date_window';\n\t\tblockers.push('Assistant dated answer did not record concrete date-window start and end evidence.');\n\t\treason = 'Assistant dated answers must record the exact query date window used.';\n\t}\n\telse if (queryStatus === 'unknown') {\n\t\tstatus = 'missing_data_source';\n\t\tblockers.push('Assistant answer did not record queryStatus ok/no_data/query_error/permission_error.');\n\t\treason = 'Assistant answer must classify data access result before acceptance.';\n\t}\n\telse if (queryStatus === 'no_data' && !noDataConfirmed) {\n\t\tstatus = 'no_data_unverified';\n\t\tblockers.push('No-data answer was not confirmed by a probe or query evidence.');\n\t\treason = 'Assistant no-data answers require explicit noDataConfirmed evidence.';\n\t}\n\telse if (queryEvidenceRequired && !queryEvidencePresent) {\n\t\tstatus = 'missing_query_proof';\n\t\tblockers.push('Assistant data answer did not record a structured query execution, tool result, or query evidence reference.');\n\t\treason = 'Assistant answers from system data require structured query/tool execution proof before acceptance.';\n\t}\n\telse if (requiresCitations && !citationRefs.length && !evidenceRefs.length) {\n\t\tstatus = 'missing_citations';\n\t\tblockers.push('Assistant answer has no cited evidence or artifact reference.');\n\t\treason = 'Assistant answer must cite system data evidence.';\n\t}\n\telse if (confidenceLevel === 'low' || confidenceLevel === 'unknown') {\n\t\tstatus = 'low_confidence';\n\t\tblockers.push('Assistant answer confidence is low or unknown.');\n\t\treason = 'Assistant answer requires recorded medium/high confidence.';\n\t}\n\telse if (requiresNextAction && !nextActions.length) {\n\t\tstatus = 'missing_next_action';\n\t\tblockers.push('Assistant answer did not record next actions.');\n\t\treason = 'Assistant answer must provide a next action or explicit no-action state.';\n\t}\n\treturn {\n\t\tready: status === 'ready',\n\t\tstatus,\n\t\treason,\n\t\tblockers,\n\t\tqueryStatus,\n\t\tconfidenceLevel,\n\t\tdateBasis: dateBasis || undefined,\n\t\texpectedCurrentDate: expectedCurrentDate || undefined,\n\t\tdateWindowRequired,\n\t\tdateWindowPresent,\n\t\tdateWindow: dateWindowPresent ? {\n\t\t\tstartDate: dateWindowStart,\n\t\t\tendDate: dateWindowEnd,\n\t\t\tmode: cleanText(dateWindow.mode || dateWindow.type, 80) || undefined,\n\t\t\tmonths: typeof dateWindow.months === 'number' ? dateWindow.months : undefined\n\t\t} : undefined,\n\t\tnoDataConfirmed,\n\t\tlegalQueryShape,\n\t\tcitationRefs,\n\t\tqueryEvidenceRequired,\n\t\tqueryEvidencePresent,\n\t\tqueryEvidenceRefs,\n\t\tqueryExecutionCount: queryExecutions.length,\n\t\tnextActions,\n\t\tevidenceRefs,\n\t\tfailedChecks,\n\t\trecordedAt: now\n\t};\n}\n\nfunction assistantAnswerQualityGate(\n\tdecision: AssistantAnswerQualityDecision,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst status: AIRunGateResult['status'] = decision.ready\n\t\t? 'pass'\n\t\t: /incorrect|date_incorrect|missing_date_window|illegal_query_shape/.test(decision.status)\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'assistant_answer_quality',\n\t\tlabel: 'Assistant answer quality',\n\t\tstatus,\n\t\treason: decision.reason,\n\t\tevidenceRefs: decision.evidenceRefs.length ? decision.evidenceRefs : decision.citationRefs,\n\t\trecordedAt: isoNow(now || decision.recordedAt),\n\t\tmetadata: {\n\t\t\tready: decision.ready,\n\t\t\tstatus: decision.status,\n\t\t\tqueryStatus: decision.queryStatus,\n\t\t\tconfidenceLevel: decision.confidenceLevel,\n\t\t\tdateBasis: decision.dateBasis,\n\t\t\texpectedCurrentDate: decision.expectedCurrentDate,\n\t\t\tdateWindowRequired: decision.dateWindowRequired,\n\t\t\tdateWindowPresent: decision.dateWindowPresent,\n\t\t\tdateWindow: decision.dateWindow,\n\t\t\tnoDataConfirmed: decision.noDataConfirmed,\n\t\t\tlegalQueryShape: decision.legalQueryShape,\n\t\t\tcitationRefs: decision.citationRefs,\n\t\t\tqueryEvidenceRequired: decision.queryEvidenceRequired,\n\t\t\tqueryEvidencePresent: decision.queryEvidencePresent,\n\t\t\tqueryEvidenceRefs: decision.queryEvidenceRefs,\n\t\t\tqueryExecutionCount: decision.queryExecutionCount,\n\t\t\tnextActions: decision.nextActions,\n\t\t\tblockers: decision.blockers,\n\t\t\tfailedChecks: decision.failedChecks\n\t\t}\n\t};\n}\n\nfunction assistantActionabilityStatus(decision: AssistantAnswerQualityDecision): AssistantAnswerActionabilityStatus {\n\tswitch (decision.status) {\n\t\tcase 'ready':\n\t\t\treturn 'ready_to_answer';\n\t\tcase 'query_error':\n\t\t\treturn 'needs_query_repair';\n\t\tcase 'permission_error':\n\t\t\treturn 'needs_permission';\n\t\tcase 'no_data_unverified':\n\t\t\treturn 'needs_no_data_verification';\n\t\tcase 'date_incorrect':\n\t\tcase 'missing_date_window':\n\t\t\treturn 'needs_date_window_repair';\n\t\tcase 'illegal_query_shape':\n\t\t\treturn 'needs_query_shape_repair';\n\t\tcase 'missing_data_source':\n\t\tcase 'missing_query_proof':\n\t\tcase 'missing_citations':\n\t\t\treturn 'needs_evidence';\n\t\tcase 'low_confidence':\n\t\t\treturn 'needs_confidence_review';\n\t\tcase 'missing_next_action':\n\t\t\treturn 'needs_next_action';\n\t\tcase 'incorrect':\n\t\t\treturn 'incorrect';\n\t\tdefault:\n\t\t\treturn 'blocked';\n\t}\n}\n\nfunction assistantActionabilityCommand(status: AssistantAnswerActionabilityStatus): string {\n\tswitch (status) {\n\t\tcase 'ready_to_answer':\n\t\t\treturn 'answer_from_verified_system_data';\n\t\tcase 'needs_query_repair':\n\t\t\treturn 'repair_assistant_query_and_rerun';\n\t\tcase 'needs_permission':\n\t\t\treturn 'request_assistant_data_permission';\n\t\tcase 'needs_no_data_verification':\n\t\t\treturn 'verify_no_data_with_scoped_probe';\n\t\tcase 'needs_date_window_repair':\n\t\t\treturn 'repair_assistant_date_window_and_rerun';\n\t\tcase 'needs_query_shape_repair':\n\t\t\treturn 'repair_assistant_mongo_query_shape';\n\t\tcase 'needs_confidence_review':\n\t\t\treturn 'review_assistant_confidence_evidence';\n\t\tcase 'needs_next_action':\n\t\t\treturn 'add_assistant_next_action';\n\t\tcase 'incorrect':\n\t\t\treturn 'repair_assistant_answer_from_failed_check';\n\t\tcase 'needs_evidence':\n\t\tcase 'blocked':\n\t\tdefault:\n\t\t\treturn 'collect_assistant_answer_evidence';\n\t}\n}\n\nfunction assistantActionabilityLabel(status: AssistantAnswerActionabilityStatus): string {\n\tswitch (status) {\n\t\tcase 'ready_to_answer':\n\t\t\treturn 'Answer From Verified Data';\n\t\tcase 'needs_query_repair':\n\t\t\treturn 'Repair Query';\n\t\tcase 'needs_permission':\n\t\t\treturn 'Request Data Permission';\n\t\tcase 'needs_no_data_verification':\n\t\t\treturn 'Verify No Data';\n\t\tcase 'needs_date_window_repair':\n\t\t\treturn 'Repair Date Window';\n\t\tcase 'needs_query_shape_repair':\n\t\t\treturn 'Repair Query Shape';\n\t\tcase 'needs_confidence_review':\n\t\t\treturn 'Review Confidence';\n\t\tcase 'needs_next_action':\n\t\t\treturn 'Add Next Action';\n\t\tcase 'incorrect':\n\t\t\treturn 'Repair Incorrect Answer';\n\t\tdefault:\n\t\t\treturn 'Collect Answer Evidence';\n\t}\n}\n\nexport function buildAssistantAnswerActionabilityContract(\n\tdecision: AssistantAnswerQualityDecision,\n\tnow?: Date | string\n): AssistantAnswerActionabilityContract {\n\tconst status = assistantActionabilityStatus(decision);\n\tconst primaryCommand = assistantActionabilityCommand(status);\n\tconst ready = status === 'ready_to_answer';\n\tconst noDataReady = ready && decision.queryStatus === 'no_data' && decision.noDataConfirmed;\n\tconst canAnswerCustomer = ready && (\n\t\tdecision.queryStatus === 'ok'\n\t\t|| noDataReady\n\t\t|| decision.queryEvidenceRequired === false\n\t);\n\tconst canDraftSupportReply = canAnswerCustomer && decision.confidenceLevel === 'high';\n\tconst requiresHumanReview = !canAnswerCustomer || canDraftSupportReply;\n\tconst cheapRepair = /needs_(?:no_data|date_window|query_shape|next_action)|needs_evidence/.test(status);\n\tconst blockers = decision.blockers.length\n\t\t? decision.blockers\n\t\t: (ready ? [] : [decision.reason]);\n\tconst requiredEvidence = Array.from(new Set([\n\t\t...(decision.queryEvidenceRequired ? ['structured query/tool execution proof'] : []),\n\t\t...(decision.dateWindowRequired ? ['concrete date-window start and end'] : []),\n\t\t...(decision.queryStatus === 'no_data' ? ['noDataConfirmed=true from scoped probe or query evidence'] : []),\n\t\t...(decision.legalQueryShape ? [] : ['legal Mongo query/projection shape']),\n\t\t...(decision.citationRefs.length || decision.evidenceRefs.length ? [] : ['citationRefs or evidenceRefs']),\n\t\t...(decision.nextActions.length ? [] : ['one explicit next action or no-action state']),\n\t\t...(decision.confidenceLevel === 'low' || decision.confidenceLevel === 'unknown' ? ['medium/high confidence evidence'] : [])\n\t])).slice(0, 20);\n\treturn {\n\t\tcontractId: `assistant-actionability:${decision.status}:${decision.queryStatus}:${decision.recordedAt}`,\n\t\tstatus,\n\t\tprimaryCommand,\n\t\tlabel: assistantActionabilityLabel(status),\n\t\tcanAnswerCustomer,\n\t\tcanDraftSupportReply,\n\t\tcanSendCustomerReply: false,\n\t\trequiresHumanReview,\n\t\tcanRunWithoutCodexMonitor: ready || cheapRepair,\n\t\tcodexFallbackRequired: !ready && !cheapRepair,\n\t\tcostRisk: ready\n\t\t\t? 'free_or_deterministic'\n\t\t\t: status === 'needs_permission'\n\t\t\t\t? 'manual_blocked'\n\t\t\t\t: (status === 'needs_query_repair' || status === 'incorrect' ? 'small_model_or_qa' : 'free_or_deterministic'),\n\t\tqueryResultClass: decision.queryStatus,\n\t\tconfidenceLevel: decision.confidenceLevel,\n\t\tdecisionBasis: {\n\t\t\tanswerQualityStatus: decision.status,\n\t\t\tqueryStatus: decision.queryStatus,\n\t\t\tqueryEvidencePresent: decision.queryEvidencePresent,\n\t\t\tnoDataConfirmed: decision.noDataConfirmed,\n\t\t\tlegalQueryShape: decision.legalQueryShape,\n\t\t\tdateWindowRequired: decision.dateWindowRequired,\n\t\t\tdateWindowPresent: decision.dateWindowPresent,\n\t\t\tcitationCount: decision.citationRefs.length + decision.evidenceRefs.length,\n\t\t\tnextActionCount: decision.nextActions.length\n\t\t},\n\t\trequiredEvidence,\n\t\tsuccessEvidence: Array.from(new Set([\n\t\t\t...(ready ? ['assistant answer quality gate passed'] : []),\n\t\t\t...(decision.queryEvidenceRefs.length ? decision.queryEvidenceRefs : []),\n\t\t\t...(decision.citationRefs.length ? decision.citationRefs : []),\n\t\t\t...(decision.evidenceRefs.length ? decision.evidenceRefs : [])\n\t\t])).slice(0, 20),\n\t\tblockers,\n\t\tnextActions: decision.nextActions,\n\t\tnextCommands: Array.from(new Set([\n\t\t\tprimaryCommand,\n\t\t\t...(status === 'needs_query_repair' ? ['fix_query_error', 'rerun_assistant_query'] : []),\n\t\t\t...(status === 'needs_no_data_verification' ? ['run_tiny_shape_probe', 'record_no_data_confirmed'] : []),\n\t\t\t...(status === 'needs_date_window_repair' ? ['resolve_current_date', 'record_concrete_date_window', 'rerun_assistant_query'] : []),\n\t\t\t...(status === 'needs_query_shape_repair' ? ['rewrite_illegal_projection', 'rerun_query_shape_validator'] : []),\n\t\t\t...(status === 'needs_permission' ? ['request_permission_or_choose_allowed_route'] : []),\n\t\t\t'record_assistant_actionability_result'\n\t\t])).slice(0, 20),\n\t\tforbiddenActions: Array.from(new Set([\n\t\t\t'Do not answer from keyword or route guesses without verified query evidence.',\n\t\t\t'Do not claim no data when queryStatus is query_error or permission_error.',\n\t\t\t...(decision.queryStatus === 'no_data' && !decision.noDataConfirmed ? ['Do not present no-data answer until noDataConfirmed=true.'] : []),\n\t\t\t...(decision.legalQueryShape ? [] : ['Do not answer from illegal Mongo projection/query shape.']),\n\t\t\t...(decision.dateWindowRequired && !decision.dateWindowPresent ? ['Do not answer dated questions without concrete start/end date evidence.'] : []),\n\t\t\t...(decision.confidenceLevel === 'low' || decision.confidenceLevel === 'unknown' ? ['Do not draft support/customer reply from low or unknown confidence.'] : [])\n\t\t])).slice(0, 20),\n\t\tevidenceRefs: Array.from(new Set([\n\t\t\t...decision.queryEvidenceRefs,\n\t\t\t...decision.citationRefs,\n\t\t\t...decision.evidenceRefs\n\t\t])).slice(0, 40),\n\t\trecordedAt: isoNow(now || decision.recordedAt)\n\t};\n}\n\nfunction assistantAnswerActionabilityGate(\n\tcontract: AssistantAnswerActionabilityContract,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst status: AIRunGateResult['status'] = contract.status === 'ready_to_answer'\n\t\t? 'pass'\n\t\t: contract.status === 'incorrect' || contract.status === 'needs_query_shape_repair' || contract.status === 'needs_date_window_repair'\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'assistant_answer_actionability',\n\t\tlabel: 'Assistant answer actionability',\n\t\tstatus,\n\t\treason: status === 'pass'\n\t\t\t? 'Assistant answer can proceed from verified structured evidence.'\n\t\t\t: (contract.blockers.join(' ') || 'Assistant answer is blocked until actionability evidence is complete.'),\n\t\tevidenceRefs: contract.evidenceRefs,\n\t\trecordedAt: isoNow(now || contract.recordedAt),\n\t\tmetadata: {\n\t\t\tcontractId: contract.contractId,\n\t\t\tstatus: contract.status,\n\t\t\tprimaryCommand: contract.primaryCommand,\n\t\t\tlabel: contract.label,\n\t\t\tcanAnswerCustomer: contract.canAnswerCustomer,\n\t\t\tcanDraftSupportReply: contract.canDraftSupportReply,\n\t\t\tcanSendCustomerReply: contract.canSendCustomerReply,\n\t\t\trequiresHumanReview: contract.requiresHumanReview,\n\t\t\tcanRunWithoutCodexMonitor: contract.canRunWithoutCodexMonitor,\n\t\t\tcodexFallbackRequired: contract.codexFallbackRequired,\n\t\t\tcostRisk: contract.costRisk,\n\t\t\tqueryResultClass: contract.queryResultClass,\n\t\t\tconfidenceLevel: contract.confidenceLevel,\n\t\t\tdecisionBasis: contract.decisionBasis,\n\t\t\trequiredEvidence: contract.requiredEvidence,\n\t\t\tsuccessEvidence: contract.successEvidence,\n\t\t\tblockers: contract.blockers,\n\t\t\tnextActions: contract.nextActions,\n\t\t\tnextCommands: contract.nextCommands,\n\t\t\tforbiddenActions: contract.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction applyAssistantAnswerQualityGate(\n\tqa: AIQaRun,\n\tdecision: AssistantAnswerQualityDecision,\n\tnow?: Date | string\n): AIQaRun {\n\tconst gate = assistantAnswerQualityGate(decision, now);\n\tif (decision.ready) {\n\t\treturn {\n\t\t\t...qa,\n\t\t\tgateResults: [...qa.gateResults, gate]\n\t\t};\n\t}\n\treturn {\n\t\t...qa,\n\t\toutcome: /incorrect|date_incorrect|missing_date_window|illegal_query_shape/.test(decision.status)\n\t\t\t? 'business_assertion_failed'\n\t\t\t: 'incomplete',\n\t\tgateResults: [\n\t\t\t...qa.gateResults.filter((existing) => !(existing.key === 'qa_business_assertion' && existing.status === 'pass')),\n\t\t\tgate\n\t\t]\n\t};\n}\n\nexport function buildSupportAIRunFromEvidence(input: SupportAIRunAdapterInput): AIRun {\n\tconst ticket = input.ticket || {};\n\tconst job = input.job || {};\n\tconst evidence = buildSupportQaEvidence(input);\n\tconst events: AIRunEvent[] = [];\n\tconst gates: AIRunGateResult[] = [];\n\tconst sourceIds: Record<string, string> = {};\n\taddSourceId(sourceIds, 'ticketId', ticket._id || ticket.id || job.ticketId || job.supportTicketId);\n\taddSourceId(sourceIds, 'ticketNumber', ticket.ticketNumber || ticket.number || job.ticketNumber);\n\taddSourceId(sourceIds, 'jobId', job._id || job.id || job.jobId);\n\taddSourceId(sourceIds, 'buildPlanId', job.buildPlanId || ticket.buildPlanId);\n\n\tfor (const event of asArray<Record<string, any>>(input.taskEvents)) {\n\t\tpushEvent(events, {\n\t\t\ttype: event.type === 'human_intervention' ? 'human_intervention' : 'log',\n\t\t\tcategory: cleanText(event.category || event.phase || event.type, 160),\n\t\t\tmessage: cleanText(event.message || event.summary || event.text || event.title, 1800),\n\t\t\trecordedAt: eventDate(event),\n\t\t\tmetadata: {\n\t\t\t\tstatus: event.status,\n\t\t\t\tphase: event.phase,\n\t\t\t\ttaskId: event.taskId || event._id || event.id\n\t\t\t}\n\t\t});\n\t}\n\tfor (const aiJob of asArray<Record<string, any>>(input.aiJobs)) {\n\t\tpushEvent(events, {\n\t\t\ttype: aiJob.model ? 'model_call' : 'log',\n\t\t\tcategory: cleanText(aiJob.category || aiJob.phase || aiJob.runner, 160),\n\t\t\tmessage: cleanText(aiJob.summary || aiJob.promptSummary || aiJob.status || aiJob.phase, 1800),\n\t\t\trecordedAt: eventDate(aiJob),\n\t\t\tmetadata: {\n\t\t\t\tid: aiJob._id || aiJob.id,\n\t\t\t\tmodel: aiJob.model,\n\t\t\t\tstatus: aiJob.status,\n\t\t\t\tphase: aiJob.phase\n\t\t\t}\n\t\t});\n\t}\n\tcollectCommitEvents(asArray<Record<string, any>>(input.commits), events);\n\tcollectHotfixEvidenceEvents([job, ticket, evidence, input.qaEvidence], events, gates, input.now);\n\tconst noBlindLoopGate = supportManagerNoBlindLoopGate(job, evidence, input.now);\n\tif (noBlindLoopGate) {\n\t\tgates.push(noBlindLoopGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'manager_no_blind_loop_policy',\n\t\t\tmessage: noBlindLoopGate.reason,\n\t\t\tartifactPaths: noBlindLoopGate.evidenceRefs,\n\t\t\trecordedAt: noBlindLoopGate.recordedAt,\n\t\t\tmetadata: noBlindLoopGate.metadata\n\t\t});\n\t}\n\tconst businessProofReadiness = plainObject(evidence.businessProofReadiness || evidence.business_proof_readiness);\n\tconst businessProofReadinessGate = supportBusinessProofReadinessGate(businessProofReadiness, input.now);\n\tif (businessProofReadinessGate) {\n\t\tgates.push(businessProofReadinessGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'qa_business_assertion',\n\t\t\tcategory: 'support_business_proof_readiness',\n\t\t\tmessage: businessProofReadinessGate.reason,\n\t\t\tartifactPaths: businessProofReadinessGate.evidenceRefs,\n\t\t\trecordedAt: businessProofReadinessGate.recordedAt,\n\t\t\tmetadata: businessProofReadinessGate.metadata\n\t\t});\n\t}\n\tconst customerReplyPolicy = plainObject(evidence.customerReplyPolicy || evidence.customer_reply_policy);\n\tconst customerReplyPolicyGate = supportCustomerReplyPolicyGate(customerReplyPolicy, input.now);\n\tif (customerReplyPolicyGate) {\n\t\tgates.push(customerReplyPolicyGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: 'support_customer_reply_policy',\n\t\t\tmessage: customerReplyPolicyGate.reason,\n\t\t\tartifactPaths: customerReplyPolicyGate.evidenceRefs,\n\t\t\trecordedAt: customerReplyPolicyGate.recordedAt,\n\t\t\tmetadata: customerReplyPolicyGate.metadata\n\t\t});\n\t}\n\tconst customerReplyReadiness = plainObject(\n\t\tevidence.customerReplyReadiness\n\t\t|| evidence.customer_reply_readiness\n\t\t|| customerReplyPolicy.readinessContract\n\t\t|| customerReplyPolicy.readiness_contract\n\t);\n\tconst customerReplyReadinessGate = supportCustomerReplyReadinessGate(customerReplyReadiness, input.now);\n\tif (customerReplyReadinessGate) {\n\t\tgates.push(customerReplyReadinessGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: 'support_customer_reply_readiness',\n\t\t\tmessage: customerReplyReadinessGate.reason,\n\t\t\tartifactPaths: customerReplyReadinessGate.evidenceRefs,\n\t\t\trecordedAt: customerReplyReadinessGate.recordedAt,\n\t\t\tmetadata: customerReplyReadinessGate.metadata\n\t\t});\n\t}\n\tconst nextActionContract = supportNextActionContractObject(ticket, job, evidence);\n\tconst nextActionContractRequired = supportNextActionContractRequired(ticket, job, evidence);\n\tconst nextActionContractGate = supportNextActionContractGate(nextActionContract, input.now, nextActionContractRequired);\n\tif (nextActionContractGate) {\n\t\tgates.push(nextActionContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_next_action_contract',\n\t\t\tmessage: nextActionContractGate.reason,\n\t\t\tartifactPaths: nextActionContractGate.evidenceRefs,\n\t\t\trecordedAt: nextActionContractGate.recordedAt,\n\t\t\tmetadata: nextActionContractGate.metadata\n\t\t});\n\t}\n\tconst managerRecoveryExecutionProof = plainObject(evidence.managerRecoveryExecutionProof || evidence.manager_recovery_execution_proof);\n\tconst recoveryExecutionProofGate = managerRecoveryExecutionProofGate(managerRecoveryExecutionProof, input.now);\n\tif (recoveryExecutionProofGate) {\n\t\tgates.push(recoveryExecutionProofGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'manager_recovery_execution_proof',\n\t\t\tmessage: recoveryExecutionProofGate.reason,\n\t\t\tartifactPaths: recoveryExecutionProofGate.evidenceRefs,\n\t\t\trecordedAt: recoveryExecutionProofGate.recordedAt,\n\t\t\tmetadata: recoveryExecutionProofGate.metadata\n\t\t});\n\t}\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManagerState = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst rootCauseEntryContract = evidenceObject(\n\t\tjob.supportRootCauseEntryContract,\n\t\tjob.support_root_cause_entry_contract,\n\t\tjob.rootCauseEntryContract,\n\t\tticket.supportRootCauseEntryContract,\n\t\tticket.rootCauseEntryContract,\n\t\tticketManagerState.root_cause_entry_contract,\n\t\tticketManagerState.rootCauseEntryContract,\n\t\tevidence.rootCauseEntryContract,\n\t\tevidence.root_cause_entry_contract\n\t);\n\tconst rootCauseEntryContractGate = supportRootCauseEntryContractGate(rootCauseEntryContract, input.now);\n\tif (rootCauseEntryContractGate) {\n\t\tgates.push(rootCauseEntryContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_root_cause_entry_contract',\n\t\t\tmessage: rootCauseEntryContractGate.reason,\n\t\t\tartifactPaths: rootCauseEntryContractGate.evidenceRefs,\n\t\t\trecordedAt: rootCauseEntryContractGate.recordedAt,\n\t\t\tmetadata: rootCauseEntryContractGate.metadata\n\t\t});\n\t}\n\tconst cost = collectUsageEvents(asArray<Record<string, any>>(input.usageLedger), events);\n\tconst preflightGateSource = supportPreflightGateObject(ticket, job, evidence);\n\tconst preflightGate = supportPreflightGateResult(preflightGateSource, input.now);\n\tif (preflightGate) {\n\t\tgates.push(preflightGate);\n\t\tpushEvent(events, {\n\t\t\ttype: preflightGate.metadata?.failureClass === 'compile' || preflightGateSource.status === 'compile_failed' ? 'qa_compile' : 'qa_infra',\n\t\t\tcategory: 'support_preflight_gate',\n\t\t\tmessage: preflightGate.reason,\n\t\t\tartifactPaths: preflightGate.evidenceRefs,\n\t\t\trecordedAt: preflightGate.recordedAt,\n\t\t\tmetadata: preflightGate.metadata\n\t\t});\n\t}\n\n\tconst diagnosisGate = evidenceObject(\n\t\tjob.supportV5DiagnosisGate,\n\t\tjob.support_v5_diagnosis_gate,\n\t\tjob.diagnosisGate,\n\t\tticket.supportV5DiagnosisGate,\n\t\tticket.diagnosisGate,\n\t\tevidence.diagnosisGate,\n\t\tevidence.supportV5DiagnosisGate\n\t);\n\tconst diagnosisEvidencePackSource = supportDiagnosisEvidencePackObject(ticket, job, evidence);\n\tconst similarFixHints = supportSimilarFixHintsObject(ticket, job, evidence);\n\tconst diagnosisEvidencePack = Object.keys(diagnosisEvidencePackSource).length\n\t\t? diagnosisEvidencePackSource\n\t\t: (Object.keys(diagnosisGate).length || Object.keys(similarFixHints).length)\n\t\t\t? buildResolveIOSupportDiagnosisEvidencePack({\n\t\t\t\tdiagnosisGate,\n\t\t\t\tsimilarCaseHints: similarFixHints,\n\t\t\t\tissueClass: diagnosisGate.issue_class || diagnosisGate.issueClass,\n\t\t\t\townerFiles: diagnosisGate.owner_files || diagnosisGate.ownerFiles,\n\t\t\t\ttext: [\n\t\t\t\t\tticket.title,\n\t\t\t\t\tticket.subject,\n\t\t\t\t\tticket.summary,\n\t\t\t\t\tjob.title,\n\t\t\t\t\tjob.summary\n\t\t\t\t].filter(Boolean).join(' '),\n\t\t\t\tnow: input.now\n\t\t\t}) as Record<string, any>\n\t\t\t: {};\n\tconst diagnosisEvidencePackGate = supportDiagnosisEvidencePackGate(diagnosisEvidencePack, input.now);\n\tif (diagnosisEvidencePackGate) {\n\t\tgates.push(diagnosisEvidencePackGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_diagnosis_evidence_pack',\n\t\t\tmessage: diagnosisEvidencePackGate.reason,\n\t\t\tartifactPaths: diagnosisEvidencePackGate.evidenceRefs,\n\t\t\trecordedAt: diagnosisEvidencePackGate.recordedAt,\n\t\t\tmetadata: diagnosisEvidencePackGate.metadata\n\t\t});\n\t}\n\tconst issueClassProbePlanSource = supportIssueClassProbePlanObject(ticket, job, evidence);\n\tconst issueClassProbePlan = Object.keys(issueClassProbePlanSource).length\n\t\t? issueClassProbePlanSource\n\t\t: Object.keys(diagnosisGate).length\n\t\t\t? buildResolveIOSupportIssueClassProbePlan(diagnosisGate, input.now) as Record<string, any>\n\t\t\t: {};\n\tconst issueClassProbePlanRequired = nextActionContractRequired || Object.keys(diagnosisGate).length > 0;\n\tconst issueClassProbePlanGate = supportIssueClassProbePlanGate(\n\t\tissueClassProbePlan,\n\t\tdiagnosisGate,\n\t\tinput.now,\n\t\tissueClassProbePlanRequired\n\t);\n\tif (issueClassProbePlanGate) {\n\t\tgates.push(issueClassProbePlanGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_issue_class_probe_plan',\n\t\t\tmessage: issueClassProbePlanGate.reason,\n\t\t\tartifactPaths: issueClassProbePlanGate.evidenceRefs,\n\t\t\trecordedAt: issueClassProbePlanGate.recordedAt,\n\t\t\tmetadata: issueClassProbePlanGate.metadata\n\t\t});\n\t}\n\tconst productRepairEvidence = supportProductRepairEvidence(input, evidence);\n\tconst diagnosisBeforeRepairGate = supportDiagnosisBeforeRepairGate(diagnosisGate, productRepairEvidence, input.now);\n\tif (diagnosisBeforeRepairGate) {\n\t\tgates.push(diagnosisBeforeRepairGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_diagnosis_before_repair',\n\t\t\tmessage: diagnosisBeforeRepairGate.reason,\n\t\t\tartifactPaths: diagnosisBeforeRepairGate.evidenceRefs,\n\t\t\trecordedAt: diagnosisBeforeRepairGate.recordedAt,\n\t\t\tmetadata: diagnosisBeforeRepairGate.metadata\n\t\t});\n\t}\n\tconst ownerFileScopeGate = supportOwnerFileScopeGate(diagnosisGate, productRepairEvidence, input.now);\n\tif (ownerFileScopeGate) {\n\t\tgates.push(ownerFileScopeGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_owner_file_scope',\n\t\t\tmessage: ownerFileScopeGate.reason,\n\t\t\tartifactPaths: ownerFileScopeGate.evidenceRefs,\n\t\t\trecordedAt: ownerFileScopeGate.recordedAt,\n\t\t\tmetadata: ownerFileScopeGate.metadata\n\t\t});\n\t}\n\tconst qa = applySupportDiagnosisProofGate(buildQaFromEvidence(evidence, input.now), diagnosisGate, input.now);\n\tconst diagnosisOwnerFiles = asArray<string>(diagnosisGate.owner_files || diagnosisGate.ownerFiles);\n\tconst diagnosisIssueClass = cleanText(diagnosisGate.issue_class || diagnosisGate.issueClass, 120);\n\tif (Object.keys(diagnosisGate).length) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'diagnosis_gate',\n\t\t\tmessage: cleanText(diagnosisGate.accepted_hypothesis?.statement || diagnosisGate.acceptedHypothesis?.statement || diagnosisGate.summary || 'Support diagnosis gate recorded.', 1800),\n\t\t\tmetadata: {\n\t\t\t\tstatus: diagnosisGate.status,\n\t\t\t\tissueClass: diagnosisIssueClass,\n\t\t\t\townerFiles: diagnosisOwnerFiles\n\t\t\t}\n\t\t});\n\t}\n\treturn buildAIRun({\n\t\tsource: 'support_ticket',\n\t\tsourceIds,\n\t\ttitle: firstText(ticket, ['title', 'subject', 'summary']) || firstText(job, ['title', 'summary']),\n\t\tstatus: firstText(job, ['status', 'state']) || firstText(ticket, ['status', 'state']),\n\t\tphase: firstText(job, ['phase', 'runnerPhase']),\n\t\tstartedAt: dateValue(job, ['startedAt', 'createdAt']) || dateValue(ticket, ['createdAt']),\n\t\tcompletedAt: dateValue(job, ['completedAt', 'finishedAt', 'updatedAt']),\n\t\tevents,\n\t\tgates,\n\t\tqa,\n\t\tcost,\n\t\tscorecardPassed: evidence.scorecardPassed === true || evidence.scorecardStatus === 'pass',\n\t\tdeployStatus: evidence.deployStatus,\n\t\tpublishStatus: evidence.publishStatus,\n\t\tsampleDataStatus: evidence.sampleDataStatus,\n\t\tmanualHandoff: evidence.manualHandoff === true || job.manualHandoff === true,\n\t\tstopped: evidence.stopped === true || job.stopped === true,\n\t\trejected: evidence.rejected === true,\n\t\texplicitAccepted: evidence.explicitAccepted === true || ticket.accepted === true,\n\t\tterminal: /complete|closed|resolved|done|failed|rejected/i.test(`${job.status || ''} ${ticket.status || ''}`),\n\t\tnow: input.now,\n\t\tmetadata: {\n\t\t\tversionCount: asArray(input.versions).length,\n\t\t\tbuildPlanCount: asArray(input.buildPlans).length,\n\t\t\thotfixDurability: hotfixDurabilityMetadata(gates),\n\t\t\tmanagerNoBlindLoopPolicy: managerNoBlindLoopMetadata(noBlindLoopGate),\n\t\t\tdiagnosisBeforeRepair: diagnosisBeforeRepairGate ? {\n\t\t\t\tstatus: diagnosisBeforeRepairGate.status,\n\t\t\t\tdiagnosisValid: diagnosisBeforeRepairGate.metadata?.diagnosisValid === true,\n\t\t\t\tdiagnosisStatus: cleanText(diagnosisBeforeRepairGate.metadata?.diagnosisStatus, 120),\n\t\t\t\tactivityCount: Number(diagnosisBeforeRepairGate.metadata?.activityCount || 0),\n\t\t\t\tchangedFiles: cleanStringList(diagnosisBeforeRepairGate.metadata?.changedFiles, 40, 500),\n\t\t\t\tallowedDispatchAction: cleanText(diagnosisBeforeRepairGate.metadata?.allowedDispatchAction, 160),\n\t\t\t\tproductRepairAllowed: diagnosisBeforeRepairGate.metadata?.productRepairAllowed === true,\n\t\t\t\tblockers: cleanStringList(diagnosisBeforeRepairGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\townerFileScope: ownerFileScopeGate ? {\n\t\t\t\tstatus: ownerFileScopeGate.status,\n\t\t\t\tproductRepairAllowed: ownerFileScopeGate.metadata?.productRepairAllowed === true,\n\t\t\t\tallowedDispatchAction: cleanText(ownerFileScopeGate.metadata?.allowedDispatchAction, 160),\n\t\t\t\townerFiles: cleanStringList(ownerFileScopeGate.metadata?.ownerFiles, 40, 500),\n\t\t\t\tchangedFiles: cleanStringList(ownerFileScopeGate.metadata?.changedFiles, 60, 500),\n\t\t\t\toutsideOwnerFiles: cleanStringList(ownerFileScopeGate.metadata?.outsideOwnerFiles, 40, 500),\n\t\t\t\tallowedTestFilesOutsideOwnerScope: ownerFileScopeGate.metadata?.allowedTestFilesOutsideOwnerScope === true,\n\t\t\t\trequiredEvidence: cleanStringList(ownerFileScopeGate.metadata?.requiredEvidence, 20, 500)\n\t\t\t} : undefined,\n\t\t\trootCauseEntryContract: Object.keys(rootCauseEntryContract).length ? {\n\t\t\t\tcontractId: cleanText(rootCauseEntryContract.contract_id || rootCauseEntryContract.contractId, 160),\n\t\t\t\tversion: cleanText(rootCauseEntryContract.version, 120),\n\t\t\t\tstatus: cleanText(rootCauseEntryContract.status, 120),\n\t\t\t\tissueClassProbeCount: asArray(rootCauseEntryContract.issue_class_probes || rootCauseEntryContract.issueClassProbes).length,\n\t\t\t\townerFileMax: Number(rootCauseEntryContract.owner_file_policy?.max_files || rootCauseEntryContract.ownerFilePolicy?.maxFiles || 0) || 0,\n\t\t\t\trequiresBusinessAssertion: rootCauseEntryContract.business_proof_policy?.requires_aiqa_business_assertion === true\n\t\t\t\t\t|| rootCauseEntryContract.businessProofPolicy?.requiresAiqaBusinessAssertion === true\n\t\t\t} : undefined,\n\t\t\tdiagnosis: Object.keys(diagnosisGate).length ? {\n\t\t\t\tstatus: cleanText(diagnosisGate.status, 80),\n\t\t\t\tissueClass: diagnosisIssueClass,\n\t\t\t\townerFiles: diagnosisOwnerFiles,\n\t\t\t\tacceptedHypothesis: cleanText(diagnosisGate.accepted_hypothesis?.statement || diagnosisGate.acceptedHypothesis?.statement, 1000),\n\t\t\t\tproofPlan: diagnosisGate.proof_plan || diagnosisGate.proofPlan\n\t\t\t} : undefined,\n\t\t\tdiagnosisEvidencePack: diagnosisEvidencePackGate ? {\n\t\t\t\tstatus: cleanText(diagnosisEvidencePackGate.metadata?.status, 120),\n\t\t\t\tgateStatus: diagnosisEvidencePackGate.status,\n\t\t\t\tpackId: cleanText(diagnosisEvidencePackGate.metadata?.packId, 180),\n\t\t\t\treadOnly: diagnosisEvidencePackGate.metadata?.readOnly !== false,\n\t\t\t\tsourceEditsAllowed: diagnosisEvidencePackGate.metadata?.sourceEditsAllowed === true,\n\t\t\t\trequiredOutputKey: cleanText(diagnosisEvidencePackGate.metadata?.requiredOutputKey, 120),\n\t\t\t\tdiagnosisValid: diagnosisEvidencePackGate.metadata?.diagnosisValid === true,\n\t\t\t\tissueClassHint: cleanText(diagnosisEvidencePackGate.metadata?.issueClassHint, 120),\n\t\t\t\townerFileHints: cleanStringList(diagnosisEvidencePackGate.metadata?.ownerFileHints, 20, 500),\n\t\t\t\tsimilarHintCount: Number(diagnosisEvidencePackGate.metadata?.similarHintCount || 0),\n\t\t\t\tsimilarHintsAdvisoryOnly: diagnosisEvidencePackGate.metadata?.similarHintsAdvisoryOnly === true,\n\t\t\t\tissueClassProbeCount: Number(diagnosisEvidencePackGate.metadata?.issueClassProbeCount || 0),\n\t\t\t\tvalidationBlockers: cleanStringList(diagnosisEvidencePackGate.metadata?.validationBlockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tissueClassProbePlan: issueClassProbePlanGate ? {\n\t\t\t\tstatus: cleanText(issueClassProbePlanGate.metadata?.status, 120),\n\t\t\t\tgateStatus: issueClassProbePlanGate.status,\n\t\t\t\tplanId: cleanText(issueClassProbePlanGate.metadata?.planId, 180),\n\t\t\t\tissueClass: cleanText(issueClassProbePlanGate.metadata?.issueClass, 120),\n\t\t\t\tdiagnosisValid: issueClassProbePlanGate.metadata?.diagnosisValid === true,\n\t\t\t\tissueClassProbePlanReady: issueClassProbePlanGate.metadata?.issueClassProbePlanReady === true,\n\t\t\t\tactiveRoute: cleanText(issueClassProbePlanGate.metadata?.activeRoute, 500),\n\t\t\t\taction: cleanText(issueClassProbePlanGate.metadata?.action, 1000),\n\t\t\t\texpectedBusinessProof: cleanText(issueClassProbePlanGate.metadata?.expectedBusinessProof, 1200),\n\t\t\t\tacceptanceGate: cleanText(issueClassProbePlanGate.metadata?.acceptanceGate, 120),\n\t\t\t\trequiredArtifacts: cleanStringList(issueClassProbePlanGate.metadata?.requiredArtifacts, 20, 500),\n\t\t\t\tfalsePassBlockers: cleanStringList(issueClassProbePlanGate.metadata?.falsePassBlockers, 20, 500),\n\t\t\t\tblockers: cleanStringList(issueClassProbePlanGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tbusinessProofReadiness: Object.keys(businessProofReadiness).length ? {\n\t\t\t\tready: businessProofReadiness.ready === true,\n\t\t\t\tstatus: cleanText(businessProofReadiness.status, 120),\n\t\t\t\treason: cleanText(businessProofReadiness.reason, 1000),\n\t\t\t\tblockers: cleanStringList(businessProofReadiness.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tnextActionContract: nextActionContractGate ? {\n\t\t\t\t\tstatus: nextActionContractGate.status,\n\t\t\t\t\taction: cleanText(nextActionContractGate.metadata?.action, 160),\n\t\t\t\t\tprimaryCommand: cleanText(nextActionContractGate.metadata?.primaryCommand, 240),\n\t\t\t\t\tsafeToAutoRun: nextActionContractGate.metadata?.safeToAutoRun === true,\n\t\t\t\t\tcanRunWithoutCodexMonitor: nextActionContractGate.metadata?.canRunWithoutCodexMonitor === true,\n\t\t\t\t\tcodexFallbackRequired: nextActionContractGate.metadata?.codexFallbackRequired === true,\n\t\t\t\t\trequiresHumanApproval: nextActionContractGate.metadata?.requiresHumanApproval === true,\n\t\t\t\t\trootCauseFirstSatisfied: nextActionContractGate.metadata?.rootCauseFirstSatisfied === true,\n\t\t\t\t\thotfixCommitRequired: nextActionContractGate.metadata?.hotfixCommitRequired === true,\n\t\t\t\t\tliveHotfixBlockedUntilCommit: nextActionContractGate.metadata?.liveHotfixBlockedUntilCommit === true,\n\t\t\t\t\tfailureClass: cleanText(nextActionContractGate.metadata?.failureClass, 120),\n\t\t\t\t\tevidenceFreshnessStatus: cleanText(nextActionContractGate.metadata?.evidenceFreshnessStatus, 120),\n\t\t\t\t\tsameFailureCount: Number(nextActionContractGate.metadata?.sameFailureCount || 0),\n\t\t\t\t\tblockers: cleanStringList(nextActionContractGate.metadata?.blockers, 20, 500)\n\t\t\t\t} : undefined,\n\t\t\tmanagerRecoveryExecutionProof: recoveryExecutionProofGate ? {\n\t\t\t\t\tstatus: cleanText(recoveryExecutionProofGate.metadata?.status, 120),\n\t\t\t\t\tgateStatus: recoveryExecutionProofGate.status,\n\t\t\t\t\tcanContinueRun: recoveryExecutionProofGate.metadata?.canContinueRun === true,\n\t\t\t\t\tcanRunProductRepair: recoveryExecutionProofGate.metadata?.canRunProductRepair === true,\n\t\t\t\t\tcanRunExpensiveModel: recoveryExecutionProofGate.metadata?.canRunExpensiveModel === true,\n\t\t\t\t\tcanResetLoopBudget: recoveryExecutionProofGate.metadata?.canResetLoopBudget === true,\n\t\t\t\t\tnewEvidence: recoveryExecutionProofGate.metadata?.newEvidence === true,\n\t\t\t\t\tmaterialEvidence: recoveryExecutionProofGate.metadata?.materialEvidence === true,\n\t\t\t\t\tevidenceStrength: cleanText(recoveryExecutionProofGate.metadata?.evidenceStrength, 120),\n\t\t\t\t\tnextAllowedAction: cleanText(recoveryExecutionProofGate.metadata?.nextAllowedAction, 180),\n\t\t\t\t\tmissingEvidence: cleanStringList(recoveryExecutionProofGate.metadata?.missingEvidence, 20, 500),\n\t\t\t\t\tblockers: cleanStringList(recoveryExecutionProofGate.metadata?.blockers, 20, 500)\n\t\t\t\t} : undefined,\n\t\t\tcustomerReplyPolicy: Object.keys(customerReplyPolicy).length ? {\n\t\t\t\t\taction: cleanText(customerReplyPolicy.action, 120),\n\t\t\t\t\tsafety: cleanText(customerReplyPolicy.safety, 120),\n\t\t\t\t\tcanDraftCustomerReply: customerReplyPolicy.canDraftCustomerReply === true || customerReplyPolicy.can_draft_customer_reply === true,\n\t\t\t\t\tcanSendCustomerReply: customerReplyPolicy.canSendCustomerReply === true || customerReplyPolicy.can_send_customer_reply === true,\n\t\t\t\t\treason: cleanText(customerReplyPolicy.reason, 1000),\n\t\t\t\t\treviewType: cleanText(\n\t\t\t\t\t\tcustomerReplyPolicy.humanReviewPacket?.reviewType\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.review_type\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.reviewType,\n\t\t\t\t\t160\n\t\t\t\t),\n\t\t\t\tprimaryAction: cleanText(\n\t\t\t\t\tcustomerReplyPolicy.humanReviewPacket?.primaryAction\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.primary_action\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.primaryAction,\n\t\t\t\t\t160\n\t\t\t\t),\n\t\t\t\t\tclarificationContract: customerReplyPolicy.clarificationContract || customerReplyPolicy.clarification_contract ? {\n\t\t\t\t\t\tstatus: cleanText(customerReplyPolicy.clarificationContract?.status || customerReplyPolicy.clarification_contract?.status, 120),\n\t\t\t\t\t\tmissingField: cleanText(customerReplyPolicy.clarificationContract?.missingField || customerReplyPolicy.clarification_contract?.missing_field, 120),\n\t\t\t\t\t\toneQuestionOnly: customerReplyPolicy.clarificationContract?.oneQuestionOnly === true || customerReplyPolicy.clarification_contract?.one_question_only === true,\n\t\t\t\t\t\tparksTicketUntilCustomerReply: customerReplyPolicy.clarificationContract?.parksTicketUntilCustomerReply === true || customerReplyPolicy.clarification_contract?.parks_ticket_until_customer_reply === true\n\t\t\t\t\t} : undefined\n\t\t\t\t} : undefined,\n\t\t\t\tcustomerReplyReadiness: customerReplyReadinessGate ? {\n\t\t\t\t\tstatus: cleanText(customerReplyReadinessGate.metadata?.status, 120),\n\t\t\t\t\tgateStatus: customerReplyReadinessGate.status,\n\t\t\t\t\tprimaryCommand: cleanText(customerReplyReadinessGate.metadata?.primaryCommand, 180),\n\t\t\t\t\tpolicyAction: cleanText(customerReplyReadinessGate.metadata?.policyAction, 120),\n\t\t\t\t\tcanDraftCustomerReply: customerReplyReadinessGate.metadata?.canDraftCustomerReply === true,\n\t\t\t\t\tcanSendCustomerReply: customerReplyReadinessGate.metadata?.canSendCustomerReply === true,\n\t\t\t\t\trequiresHumanApproval: customerReplyReadinessGate.metadata?.requiresHumanApproval === true,\n\t\t\t\t\tproofBacked: customerReplyReadinessGate.metadata?.proofBacked === true,\n\t\t\t\t\tbusinessProofReady: customerReplyReadinessGate.metadata?.businessProofReady === true,\n\t\t\t\t\treleaseReady: customerReplyReadinessGate.metadata?.releaseReady === true,\n\t\t\t\t\tblockers: cleanStringList(customerReplyReadinessGate.metadata?.blockers, 20, 500)\n\t\t\t\t} : undefined\n\t\t\t}\n\t\t});\n\t}\n\nexport function buildAICoderAIRunFromEvidence(input: AICoderAIRunAdapterInput): AIRun {\n\tconst app = input.app || {};\n\tconst job = input.job || {};\n\tconst evidence = buildAICoderQaEvidence(input);\n\tconst events: AIRunEvent[] = [];\n\tconst gates: AIRunGateResult[] = [];\n\tconst sourceIds: Record<string, string> = {};\n\taddSourceId(sourceIds, 'appId', app._id || app.id || job.appId || job.aicoderAppId);\n\taddSourceId(sourceIds, 'jobId', job._id || job.id || job.jobId);\n\taddSourceId(sourceIds, 'domain', app.domain || app.customDomain || job.domain);\n\n\tfor (const log of asArray<Record<string, any>>(input.logs)) {\n\t\tpushEvent(events, {\n\t\t\ttype: log.type === 'scorecard' ? 'scorecard' : 'log',\n\t\t\tcategory: cleanText(log.category || log.phase || log.level, 160),\n\t\t\tmessage: cleanText(log.message || log.summary || log.text || log.title, 1800),\n\t\t\tartifactPaths: asArray<string>(log.artifactPaths || log.artifacts),\n\t\t\trecordedAt: eventDate(log),\n\t\t\tmetadata: {\n\t\t\t\tstatus: log.status,\n\t\t\t\tlevel: log.level,\n\t\t\t\tscore: log.score\n\t\t\t}\n\t\t});\n\t}\n\tcollectCommitEvents(asArray<Record<string, any>>(input.commits), events);\n\tcollectHotfixEvidenceEvents([job, app, evidence, input.qaEvidence], events, gates, input.now);\n\tconst noBlindLoopGate = aicoderManagerNoBlindLoopGate(app, job, evidence, input.now);\n\tif (noBlindLoopGate) {\n\t\tgates.push(noBlindLoopGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'manager_no_blind_loop_policy',\n\t\t\tmessage: noBlindLoopGate.reason,\n\t\t\tartifactPaths: noBlindLoopGate.evidenceRefs,\n\t\t\trecordedAt: noBlindLoopGate.recordedAt,\n\t\t\tmetadata: noBlindLoopGate.metadata\n\t\t});\n\t}\n\tconst cost = collectUsageEvents(asArray<Record<string, any>>(input.usageLedger), events);\n\tconst journeyContractValidation = aicoderJourneyContractValidationFromEvidence(evidence);\n\tconst journeyContractGate = aicoderJourneyContractGate(journeyContractValidation, evidence, input.now);\n\tgates.push(journeyContractGate);\n\tpushEvent(events, {\n\t\ttype: 'log',\n\t\tcategory: 'aicoder_journey_contract',\n\t\tmessage: journeyContractGate.reason,\n\t\tartifactPaths: journeyContractGate.evidenceRefs,\n\t\trecordedAt: journeyContractGate.recordedAt,\n\t\tmetadata: journeyContractGate.metadata\n\t});\n\tconst scorecardPassed = evidence.scorecardPassed === true\n\t\t|| evidence.scorecardStatus === 'pass'\n\t\t|| (Number(evidence.score ?? evidence.qualityScore ?? 0) >= Number(evidence.scoreThreshold ?? job.scoreThreshold ?? 90));\n\tconst explicitWorkflowReadiness = normalizeAICoderWorkflowProofReadiness(plainObject(\n\t\tevidence.workflowProofReadiness\n\t\t|| evidence.workflow_proof_readiness\n\t\t|| evidence.aicoderWorkflowProofReadiness\n\t\t|| evidence.aicoder_workflow_proof_readiness\n\t\t|| job.workflowProofReadiness\n\t\t|| job.workflow_proof_readiness\n\t\t|| job.aicoderWorkflowProofReadiness\n\t\t|| job.aicoder_workflow_proof_readiness\n\t), input.now);\n\tconst workflowReadiness = explicitWorkflowReadiness || evaluateResolveIOAICoderWorkflowProofReadiness({\n\t\tjourneyContract: evidence.journeyContract,\n\t\tjourneyContractMarkdown: evidence.journeyContractMarkdown,\n\t\tworkflowQaRows: asArray(evidence.workflowQaRows || evidence.workflow_qa_rows),\n\t\tbusinessAssertions: [\n\t\t\t...asArray(evidence.businessAssertions),\n\t\t\t...asArray(evidence.business_assertions),\n\t\t\t...asArray(evidence.workflowAssertions),\n\t\t\t...asArray(evidence.workflow_assertions)\n\t\t],\n\t\trouteProbes: [\n\t\t\t...asArray(evidence.routeProbes),\n\t\t\t...asArray(evidence.route_probes),\n\t\t\t...asArray(evidence.workflowProbes),\n\t\t\t...asArray(evidence.workflow_probes)\n\t\t],\n\t\tartifactPaths: [\n\t\t\t...asArray(evidence.artifactPaths),\n\t\t\t...asArray(evidence.artifact_paths)\n\t\t],\n\t\tscorecardPassed,\n\t\tdeployStatus: evidence.deployStatus,\n\t\tpublishStatus: evidence.publishStatus,\n\t\tsampleDataStatus: evidence.sampleDataStatus,\n\t\tpreviousWorkflowProofFingerprint: firstNonEmptyText([\n\t\t\tevidence.previousWorkflowProofFingerprint,\n\t\t\tevidence.previous_workflow_proof_fingerprint,\n\t\t\tjob.previousWorkflowProofFingerprint,\n\t\t\tjob.previous_workflow_proof_fingerprint,\n\t\t\tapp.previousWorkflowProofFingerprint,\n\t\t\tapp.previous_workflow_proof_fingerprint\n\t\t], 200),\n\t\tpreviousArtifactFingerprint: firstNonEmptyText([\n\t\t\tevidence.previousArtifactFingerprint,\n\t\t\tevidence.previous_artifact_fingerprint,\n\t\t\tjob.previousArtifactFingerprint,\n\t\t\tjob.previous_artifact_fingerprint,\n\t\t\tapp.previousArtifactFingerprint,\n\t\t\tapp.previous_artifact_fingerprint\n\t\t], 200),\n\t\tpreviousWorkflowProofFingerprints: [\n\t\t\t...asArray(evidence.previousWorkflowProofFingerprints),\n\t\t\t...asArray(evidence.previous_workflow_proof_fingerprints),\n\t\t\t...asArray(job.previousWorkflowProofFingerprints),\n\t\t\t...asArray(job.previous_workflow_proof_fingerprints),\n\t\t\t...asArray(app.previousWorkflowProofFingerprints),\n\t\t\t...asArray(app.previous_workflow_proof_fingerprints)\n\t\t],\n\t\tpreviousArtifactFingerprints: [\n\t\t\t...asArray(evidence.previousArtifactFingerprints),\n\t\t\t...asArray(evidence.previous_artifact_fingerprints),\n\t\t\t...asArray(job.previousArtifactFingerprints),\n\t\t\t...asArray(job.previous_artifact_fingerprints),\n\t\t\t...asArray(app.previousArtifactFingerprints),\n\t\t\t...asArray(app.previous_artifact_fingerprints)\n\t\t],\n\t\tnow: input.now\n\t});\n\tconst workflowReadinessGate = aicoderWorkflowProofReadinessGate(workflowReadiness, input.now);\n\tgates.push(workflowReadinessGate);\n\tpushEvent(events, {\n\t\ttype: 'qa_business_assertion',\n\t\tcategory: 'aicoder_workflow_proof_readiness',\n\t\tmessage: workflowReadinessGate.reason,\n\t\tartifactPaths: workflowReadinessGate.evidenceRefs,\n\t\trecordedAt: workflowReadinessGate.recordedAt,\n\t\tmetadata: workflowReadinessGate.metadata\n\t});\n\tconst workflowProofCheckpoint = aicoderWorkflowProofCheckpointObject(app, job, evidence);\n\tconst workflowProofCheckpointGate = aicoderWorkflowProofCheckpointGate(workflowProofCheckpoint, input.now);\n\tif (workflowProofCheckpointGate) {\n\t\tgates.push(workflowProofCheckpointGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'aicoder_workflow_proof_checkpoint',\n\t\t\tmessage: workflowProofCheckpointGate.reason,\n\t\t\tartifactPaths: workflowProofCheckpointGate.evidenceRefs,\n\t\t\trecordedAt: workflowProofCheckpointGate.recordedAt,\n\t\t\tmetadata: workflowProofCheckpointGate.metadata\n\t\t});\n\t}\n\tconst nextActionContract = aicoderNextActionContractObject(app, job, evidence);\n\tconst nextActionContractGate = aicoderNextActionContractGate(nextActionContract, input.now);\n\tif (nextActionContractGate) {\n\t\tgates.push(nextActionContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'aicoder_next_action_contract',\n\t\t\tmessage: nextActionContractGate.reason,\n\t\t\tartifactPaths: nextActionContractGate.evidenceRefs,\n\t\t\trecordedAt: nextActionContractGate.recordedAt,\n\t\t\tmetadata: nextActionContractGate.metadata\n\t\t});\n\t}\n\tconst qa = applyAICoderWorkflowProofGate(buildQaFromEvidence(evidence, input.now), workflowReadiness, input.now);\n\n\treturn buildAIRun({\n\t\tsource: 'aicoder_app',\n\t\tsourceIds,\n\t\ttitle: firstText(app, ['name', 'title']) || firstText(job, ['appName', 'title', 'goal']),\n\t\tstatus: firstText(job, ['status', 'state']) || firstText(app, ['status', 'state']),\n\t\tphase: firstText(job, ['phase', 'runnerPhase']),\n\t\tstartedAt: dateValue(job, ['startedAt', 'createdAt']) || dateValue(app, ['createdAt']),\n\t\tcompletedAt: dateValue(job, ['completedAt', 'finishedAt', 'updatedAt']),\n\t\tevents,\n\t\tgates,\n\t\tqa,\n\t\tcost,\n\t\tscorecardPassed,\n\t\tdeployStatus: evidence.deployStatus || statusFromBoolean(evidence.deployReady),\n\t\tpublishStatus: evidence.publishStatus || evidence.pullRequestStatus,\n\t\tsampleDataStatus: evidence.sampleDataStatus || statusFromBoolean(evidence.sampleDataReady ?? evidence.hasSampleData),\n\t\tmanualHandoff: evidence.manualHandoff === true || job.manualHandoff === true,\n\t\tstopped: evidence.stopped === true || job.stopped === true,\n\t\trejected: evidence.rejected === true,\n\t\texplicitAccepted: evidence.explicitAccepted === true || app.accepted === true,\n\t\tterminal: /complete|closed|resolved|done|failed|rejected/i.test(`${job.status || ''} ${job.phase || ''}`),\n\t\tnow: input.now,\n\t\tmetadata: {\n\t\t\tdomain: app.domain || app.customDomain || job.domain,\n\t\t\twowScore: evidence.wowScore ?? job.wowScore,\n\t\t\tscore: evidence.score ?? evidence.qualityScore,\n\t\t\thotfixDurability: hotfixDurabilityMetadata(gates),\n\t\t\tmanagerNoBlindLoopPolicy: managerNoBlindLoopMetadata(noBlindLoopGate),\n\t\t\tjourneyContract: {\n\t\t\t\tstatus: journeyContractGate.status,\n\t\t\t\tvalid: journeyContractGate.metadata?.valid === true,\n\t\t\t\tpath: cleanText(journeyContractGate.metadata?.path, 500),\n\t\t\t\tprimaryWorkflowId: cleanText(journeyContractGate.metadata?.primaryWorkflowId, 200),\n\t\t\t\tworkflowQaRowCount: Number(journeyContractGate.metadata?.workflowQaRowCount || 0),\n\t\t\t\terrorCount: Number(journeyContractGate.metadata?.errorCount || 0),\n\t\t\t\twarningCount: Number(journeyContractGate.metadata?.warningCount || 0),\n\t\t\t\tissueCodes: cleanStringList(journeyContractGate.metadata?.issueCodes, 40, 120),\n\t\t\t\tblocksBuildUntilValid: journeyContractGate.metadata?.blocksBuildUntilValid === true,\n\t\t\t\tblocksWorkflowQaUntilValid: journeyContractGate.metadata?.blocksWorkflowQaUntilValid === true,\n\t\t\t\tblocksWowUiUntilWorkflowProof: journeyContractGate.metadata?.blocksWowUiUntilWorkflowProof === true,\n\t\t\t\tblocksPublishUntilWorkflowProof: journeyContractGate.metadata?.blocksPublishUntilWorkflowProof === true,\n\t\t\t\tnextAction: cleanText(journeyContractGate.metadata?.nextAction, 1000)\n\t\t\t},\n\t\t\tworkflowProofReadiness: {\n\t\t\t\tready: workflowReadiness.ready,\n\t\t\t\tstatus: workflowReadiness.status,\n\t\t\t\treason: workflowReadiness.reason,\n\t\t\t\tblockers: workflowReadiness.blockers,\n\t\t\t\tprimaryWorkflowId: workflowReadiness.primaryWorkflowId,\n\t\t\t\tpassedWorkflowRows: workflowReadiness.passedWorkflowRows,\n\t\t\t\tmissingWorkflowRows: workflowReadiness.missingWorkflowRows,\n\t\t\t\tfailedWorkflowRows: workflowReadiness.failedWorkflowRows,\n\t\t\t\tsampleDataReady: workflowReadiness.sampleDataReady,\n\t\t\t\treleaseBlockers: workflowReadiness.releaseBlockers,\n\t\t\t\tworkflowProofFingerprint: workflowReadiness.workflowProofFingerprint,\n\t\t\t\tartifactFingerprint: workflowReadiness.artifactFingerprint,\n\t\t\t\tproofFreshness: workflowReadiness.proofFreshness\n\t\t\t},\n\t\t\tworkflowProofCheckpoint: workflowProofCheckpointGate ? {\n\t\t\t\tstatus: cleanText(workflowProofCheckpointGate.metadata?.status, 120),\n\t\t\t\tgateStatus: workflowProofCheckpointGate.status,\n\t\t\t\treadinessStatus: cleanText(workflowProofCheckpointGate.metadata?.readinessStatus, 120),\n\t\t\t\tnextGate: cleanText(workflowProofCheckpointGate.metadata?.nextGate, 120),\n\t\t\t\tnextAction: cleanText(workflowProofCheckpointGate.metadata?.nextAction, 1000),\n\t\t\t\tblocksProductRepairUntilJourneyContract: workflowProofCheckpointGate.metadata?.blocksProductRepairUntilJourneyContract === true,\n\t\t\t\tblocksPublishUntilWorkflowProof: workflowProofCheckpointGate.metadata?.blocksPublishUntilWorkflowProof === true,\n\t\t\t\tblocksPublishUntilReleaseGate: workflowProofCheckpointGate.metadata?.blocksPublishUntilReleaseGate === true,\n\t\t\t\tblocksWowUiUntilWorkflowProof: workflowProofCheckpointGate.metadata?.blocksWowUiUntilWorkflowProof === true,\n\t\t\t\tworkflowProofFingerprint: cleanText(workflowProofCheckpointGate.metadata?.workflowProofFingerprint, 200),\n\t\t\t\tartifactFingerprint: cleanText(workflowProofCheckpointGate.metadata?.artifactFingerprint, 200),\n\t\t\t\tblockers: cleanStringList(workflowProofCheckpointGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tnextActionContract: nextActionContractGate ? {\n\t\t\t\tgateStatus: nextActionContractGate.status,\n\t\t\t\tcontractId: cleanText(nextActionContractGate.metadata?.contractId, 200),\n\t\t\t\taction: cleanText(nextActionContractGate.metadata?.action, 120),\n\t\t\t\tlabel: cleanText(nextActionContractGate.metadata?.label, 200),\n\t\t\t\tprimaryCommand: cleanText(nextActionContractGate.metadata?.primaryCommand, 200),\n\t\t\t\tlane: cleanText(nextActionContractGate.metadata?.lane, 120),\n\t\t\t\tstepType: cleanText(nextActionContractGate.metadata?.stepType, 120),\n\t\t\t\tsafeToAutoRun: nextActionContractGate.metadata?.safeToAutoRun === true,\n\t\t\t\trequiresHumanApproval: nextActionContractGate.metadata?.requiresHumanApproval === true,\n\t\t\t\tcanRunWithoutCodexMonitor: nextActionContractGate.metadata?.canRunWithoutCodexMonitor === true,\n\t\t\t\tcodexFallbackRequired: nextActionContractGate.metadata?.codexFallbackRequired === true,\n\t\t\t\tcostRisk: cleanText(nextActionContractGate.metadata?.costRisk, 120),\n\t\t\t\tworkflowFirstSatisfied: nextActionContractGate.metadata?.workflowFirstSatisfied === true,\n\t\t\t\thotfixCommitRequired: nextActionContractGate.metadata?.hotfixCommitRequired === true,\n\t\t\t\tliveHotfixBlockedUntilCommit: nextActionContractGate.metadata?.liveHotfixBlockedUntilCommit === true,\n\t\t\t\tdecisionBasis: plainObject(nextActionContractGate.metadata?.decisionBasis),\n\t\t\t\tpreconditions: cleanStringList(nextActionContractGate.metadata?.preconditions, 20, 500),\n\t\t\t\tsuccessEvidence: cleanStringList(nextActionContractGate.metadata?.successEvidence, 20, 500),\n\t\t\t\trequiredHotfixCommitProof: cleanStringList(nextActionContractGate.metadata?.requiredHotfixCommitProof, 20, 240),\n\t\t\t\tstopConditions: cleanStringList(nextActionContractGate.metadata?.stopConditions, 20, 500),\n\t\t\t\tforbiddenActions: cleanStringList(nextActionContractGate.metadata?.forbiddenActions, 20, 500),\n\t\t\t\tnextCommands: cleanStringList(nextActionContractGate.metadata?.nextCommands, 20, 240),\n\t\t\t\tblockers: cleanStringList(nextActionContractGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined\n\t\t}\n\t});\n}\n\nexport function buildAssistantAIRunFromEvidence(input: AssistantAIRunAdapterInput): AIRun {\n\tconst conversation = input.conversation || {};\n\tconst events: AIRunEvent[] = [];\n\tconst sourceIds: Record<string, string> = {};\n\taddSourceId(sourceIds, 'runId', input.runId);\n\taddSourceId(sourceIds, 'requestId', input.requestId);\n\taddSourceId(sourceIds, 'messageId', input.messageId);\n\taddSourceId(sourceIds, 'conversationId', conversation._id || conversation.id || conversation.conversationId);\n\taddSourceId(sourceIds, 'userId', conversation.userId || conversation.ownerId);\n\n\tfor (const message of asArray<Record<string, any>>(input.messages)) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'assistant_message',\n\t\t\tcategory: cleanText(message.role || message.authorRole || message.type, 160),\n\t\t\tmessage: cleanText(message.content || message.text || message.message || message.summary, 1800),\n\t\t\trecordedAt: eventDate(message),\n\t\t\tmetadata: {\n\t\t\t\tid: message._id || message.id,\n\t\t\t\trole: message.role,\n\t\t\t\tmodel: message.model || message?.usage?.model\n\t\t\t}\n\t\t});\n\t}\n\tfor (const report of asArray<Record<string, any>>(input.issueReports)) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: cleanText(report.category || report.status || 'issue_report', 160),\n\t\t\tmessage: cleanText(report.summary || report.description || report.message || report.title, 1800),\n\t\t\trecordedAt: eventDate(report),\n\t\t\tmetadata: {\n\t\t\t\tid: report._id || report.id,\n\t\t\t\tstatus: report.status,\n\t\t\t\tseverity: report.severity\n\t\t\t}\n\t\t});\n\t}\n\tconst cost = collectUsageEvents(asArray<Record<string, any>>(input.usageLedger), events);\n\tconst answerQuality = assistantQualityObject(input);\n\tfor (const execution of assistantQueryExecutions(answerQuality).slice(0, 40)) {\n\t\tconst status = cleanText(execution.status || execution.queryStatus || execution.query_status || execution.resultStatus || execution.result_status, 120);\n\t\tconst toolName = cleanText(execution.tool || execution.toolName || execution.tool_name || execution.type || 'query', 160);\n\t\tconst collection = cleanText(execution.collection || execution.collectionName || execution.collection_name, 240);\n\t\tpushEvent(events, {\n\t\t\ttype: 'assistant_query',\n\t\t\tcategory: status || toolName,\n\t\t\tmessage: cleanText(execution.summary || execution.message || `${toolName}${collection ? ` ${collection}` : ''}`, 1200),\n\t\t\tartifactPaths: cleanStringList([\n\t\t\t\texecution.artifactPath,\n\t\t\t\texecution.artifact_path,\n\t\t\t\texecution.path,\n\t\t\t\t...asArray(execution.artifactPaths),\n\t\t\t\t...asArray(execution.artifact_paths)\n\t\t\t], 20, 500),\n\t\t\trecordedAt: eventDate(execution),\n\t\t\tmetadata: {\n\t\t\t\tid: execution.id || execution._id || execution.ref,\n\t\t\t\ttool: toolName,\n\t\t\t\tstatus,\n\t\t\t\tcollection,\n\t\t\t\tresultCount: execution.resultCount ?? execution.result_count ?? execution.count,\n\t\t\t\tqueryStatus: execution.queryStatus || execution.query_status,\n\t\t\t\tlegalQueryShape: execution.legalQueryShape ?? execution.legal_query_shape\n\t\t\t}\n\t\t});\n\t}\n\tconst answerQualityDecision = evaluateAssistantAnswerQuality({\n\t\tanswerQuality,\n\t\tcorrectnessChecks: input.correctnessChecks,\n\t\tnow: input.now\n\t});\n\tconst answerQualityGate = assistantAnswerQualityGate(answerQualityDecision, input.now);\n\tpushEvent(events, {\n\t\ttype: 'assistant_message',\n\t\tcategory: 'assistant_answer_quality',\n\t\tmessage: answerQualityGate.reason,\n\t\tartifactPaths: answerQualityGate.evidenceRefs,\n\t\trecordedAt: answerQualityGate.recordedAt,\n\t\tmetadata: answerQualityGate.metadata\n\t});\n\tconst answerActionabilityContract = buildAssistantAnswerActionabilityContract(answerQualityDecision, input.now);\n\tconst answerActionabilityGate = assistantAnswerActionabilityGate(answerActionabilityContract, input.now);\n\tpushEvent(events, {\n\t\ttype: 'assistant_message',\n\t\tcategory: 'assistant_answer_actionability',\n\t\tmessage: answerActionabilityGate.reason,\n\t\tartifactPaths: answerActionabilityGate.evidenceRefs,\n\t\trecordedAt: answerActionabilityGate.recordedAt,\n\t\tmetadata: answerActionabilityGate.metadata\n\t});\n\tconst correctnessChecks = asArray<Record<string, any>>(input.correctnessChecks);\n\tconst hasPassedCorrectnessCheck = correctnessChecks.some((check) => /^(pass|passed|success|ok)$/i.test(cleanText(check.status || (check.passed === true ? 'pass' : ''), 80)));\n\tconst correctnessEvidence = {\n\t\tbusinessAssertions: [\n\t\t\t...correctnessChecks.map((check) => ({\n\t\t\t\tassertion: check.assertion || check.name || check.case || 'assistant correctness check',\n\t\t\t\tstatus: check.status || statusFromBoolean(check.passed),\n\t\t\t\texpected: check.expected,\n\t\t\t\tobserved: check.observed || check.actual,\n\t\t\t\tdataProof: check.dataProof || check.proof,\n\t\t\t\tartifactPaths: check.artifactPaths,\n\t\t\t\tmessage: check.message || check.reason,\n\t\t\t\tmetadata: check.metadata,\n\t\t\t\trecordedAt: eventDate(check)\n\t\t\t})),\n\t\t\t...(answerQualityDecision.ready && !hasPassedCorrectnessCheck ? [{\n\t\t\t\tassertion: 'Assistant answer quality gate passed.',\n\t\t\t\tstatus: 'pass',\n\t\t\t\texpected: 'Correct dates, legal query shape, query result classification, cited evidence, confidence, and next action.',\n\t\t\t\tobserved: answerQualityDecision.reason,\n\t\t\t\tdataProof: answerQualityDecision.evidenceRefs.concat(answerQualityDecision.citationRefs).join(', '),\n\t\t\t\tartifactPaths: answerQualityDecision.evidenceRefs,\n\t\t\t\tmessage: answerQualityDecision.reason,\n\t\t\t\tmetadata: {\n\t\t\t\t\tanswerQualityStatus: answerQualityDecision.status,\n\t\t\t\t\tqueryStatus: answerQualityDecision.queryStatus,\n\t\t\t\t\tdateWindowRequired: answerQualityDecision.dateWindowRequired,\n\t\t\t\t\tdateWindowPresent: answerQualityDecision.dateWindowPresent,\n\t\t\t\t\tdateWindow: answerQualityDecision.dateWindow\n\t\t\t\t}\n\t\t\t}] : [])\n\t\t]\n\t};\n\tconst qa = applyAssistantAnswerQualityGate(buildQaFromEvidence(correctnessEvidence, input.now), answerQualityDecision, input.now);\n\tconst failedReports = asArray<Record<string, any>>(input.issueReports)\n\t\t.filter((report) => /open|new|fail|bug|wrong|incorrect|error/i.test(`${report.status || ''} ${report.category || ''} ${report.summary || ''}`));\n\n\treturn buildAIRun({\n\t\tid: cleanText(input.runId, 240) || undefined,\n\t\tsource: 'ai_assistant',\n\t\tsourceIds,\n\t\ttitle: firstText(conversation, ['title', 'subject', 'summary']) || 'AI assistant conversation',\n\t\tstatus: firstText(conversation, ['status', 'state']),\n\t\tphase: firstText(conversation, ['phase']),\n\t\tstartedAt: dateValue(conversation, ['startedAt', 'createdAt']),\n\t\tcompletedAt: dateValue(conversation, ['completedAt', 'closedAt', 'updatedAt']),\n\t\tevents,\n\t\tgates: [answerActionabilityGate],\n\t\tqa,\n\t\tcost,\n\t\trejected: failedReports.length > 0 || conversation.rejected === true,\n\t\tmanualHandoff: conversation.manualHandoff === true,\n\t\tstopped: conversation.stopped === true,\n\t\texplicitAccepted: conversation.accepted === true,\n\t\tterminal: /complete|closed|resolved|done|failed|rejected/i.test(`${conversation.status || ''}`),\n\t\tnow: input.now,\n\t\tmetadata: {\n\t\t\tissueReportCount: asArray(input.issueReports).length,\n\t\t\tcorrectnessCheckCount: correctnessChecks.length,\n\t\t\tanswerQuality: {\n\t\t\t\tready: answerQualityDecision.ready,\n\t\t\t\tstatus: answerQualityDecision.status,\n\t\t\t\tqueryStatus: answerQualityDecision.queryStatus,\n\t\t\t\tconfidenceLevel: answerQualityDecision.confidenceLevel,\n\t\t\t\tdateBasis: answerQualityDecision.dateBasis,\n\t\t\t\texpectedCurrentDate: answerQualityDecision.expectedCurrentDate,\n\t\t\t\tdateWindowRequired: answerQualityDecision.dateWindowRequired,\n\t\t\t\tdateWindowPresent: answerQualityDecision.dateWindowPresent,\n\t\t\t\tdateWindow: answerQualityDecision.dateWindow,\n\t\t\t\tnoDataConfirmed: answerQualityDecision.noDataConfirmed,\n\t\t\t\tlegalQueryShape: answerQualityDecision.legalQueryShape,\n\t\t\t\tcitationRefs: answerQualityDecision.citationRefs,\n\t\t\t\tqueryEvidenceRequired: answerQualityDecision.queryEvidenceRequired,\n\t\t\t\tqueryEvidencePresent: answerQualityDecision.queryEvidencePresent,\n\t\t\t\tqueryEvidenceRefs: answerQualityDecision.queryEvidenceRefs,\n\t\t\t\tqueryExecutionCount: answerQualityDecision.queryExecutionCount,\n\t\t\t\tnextActions: answerQualityDecision.nextActions,\n\t\t\t\tblockers: answerQualityDecision.blockers\n\t\t\t},\n\t\t\tanswerActionability: {\n\t\t\t\tcontractId: answerActionabilityContract.contractId,\n\t\t\t\tstatus: answerActionabilityContract.status,\n\t\t\t\tprimaryCommand: answerActionabilityContract.primaryCommand,\n\t\t\t\tlabel: answerActionabilityContract.label,\n\t\t\t\tcanAnswerCustomer: answerActionabilityContract.canAnswerCustomer,\n\t\t\t\tcanDraftSupportReply: answerActionabilityContract.canDraftSupportReply,\n\t\t\t\tcanSendCustomerReply: answerActionabilityContract.canSendCustomerReply,\n\t\t\t\trequiresHumanReview: answerActionabilityContract.requiresHumanReview,\n\t\t\t\tcanRunWithoutCodexMonitor: answerActionabilityContract.canRunWithoutCodexMonitor,\n\t\t\t\tcodexFallbackRequired: answerActionabilityContract.codexFallbackRequired,\n\t\t\t\tcostRisk: answerActionabilityContract.costRisk,\n\t\t\t\tqueryResultClass: answerActionabilityContract.queryResultClass,\n\t\t\t\tconfidenceLevel: answerActionabilityContract.confidenceLevel,\n\t\t\t\tdecisionBasis: answerActionabilityContract.decisionBasis,\n\t\t\t\trequiredEvidence: answerActionabilityContract.requiredEvidence,\n\t\t\t\tsuccessEvidence: answerActionabilityContract.successEvidence,\n\t\t\t\tblockers: answerActionabilityContract.blockers,\n\t\t\t\tnextActions: answerActionabilityContract.nextActions,\n\t\t\t\tnextCommands: answerActionabilityContract.nextCommands,\n\t\t\t\tforbiddenActions: answerActionabilityContract.forbiddenActions\n\t\t\t}\n\t\t}\n\t});\n}\n"]}
|