@resolveio/server-lib 22.3.137 → 22.3.139
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-runner-manager-policy.d.ts +79 -0
- package/util/ai-runner-manager-policy.js +199 -0
- package/util/ai-runner-manager-policy.js.map +1 -1
- package/util/aicoder-runner-v6.d.ts +3 -1
- package/util/aicoder-runner-v6.js +5 -1
- package/util/aicoder-runner-v6.js.map +1 -1
- package/util/support-runner-v5.d.ts +3 -1
- package/util/support-runner-v5.js +5 -1
- package/util/support-runner-v5.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/aicoder-runner-v6.ts"],"names":[],"mappings":"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","file":"aicoder-runner-v6.js","sourcesContent":["import {\n\tbuildResolveIOAIManagerRecoveryCheckpoint,\n\tbuildResolveIOAIManagerRecoveryActionPacket,\n\tbuildResolveIOAIManagerRecoveryEvidenceProbe,\n\tbuildResolveIOAIManagerRecoveryPlan,\n\tdecideResolveIOAIManagerPolicy,\n\thashResolveIOAIManagerEvidence,\n\tResolveIOAIManagerRecoveryCheckpoint,\n\tResolveIOAIManagerRecoveryActionPacket,\n\tResolveIOAIManagerRecoveryEvidenceProbe,\n\tResolveIOAIManagerRecoveryPlan,\n\tResolveIOAIManagerRecoveryPlanInput\n} from './ai-runner-manager-policy';\n\nexport type ResolveIOAICoderV6Lane =\n\t| 'intake'\n\t| 'plan'\n\t| 'build'\n\t| 'qa'\n\t| 'repair'\n\t| 'review'\n\t| 'publish';\n\nexport type ResolveIOAICoderV6StepType =\n\t| 'intake'\n\t| 'journey_contract'\n\t| 'journey_validation'\n\t| 'plan'\n\t| 'task'\n\t| 'workflow_build'\n\t| 'workflow_qa'\n\t| 'build'\n\t| 'qa'\n\t| 'repair'\n\t| 'review'\n\t| 'test_deploy'\n\t| 'live_deploy'\n\t| 'publish'\n\t| 'cleanup';\n\nexport type ResolveIOAICoderV6Outcome =\n\t| 'pass'\n\t| 'needs_repair'\n\t| 'retry_same_step'\n\t| 'park_manual'\n\t| 'budget_stop'\n\t| 'infra_retry'\n\t| 'ready_to_publish'\n\t| 'published';\n\nexport type ResolveIOAICoderV6RunKind = 'initial_builder' | 'terminal_helper';\n\nexport interface ResolveIOAICoderV6Budget {\n\tmaxPromptTokensPerNonInitialStep: number;\n\tmaxTotalPromptTokens: number;\n\tmaxLoopsPerRun: number;\n\tmaxRepeatedNoProgress: number;\n\tmaxRuntimeMinutesPerLane: number;\n\tsoftBudgetUsd: number;\n\thardBudgetUsd: number;\n\ttotalPromptTokenEstimate: number;\n\ttotalInputTokens: number;\n\ttotalCachedInputTokens: number;\n\ttotalOutputTokens: number;\n\ttotalRuntimeMs: number;\n\tloopCount: number;\n}\n\nexport interface ResolveIOAICoderV6LaneMemory {\n\tlane: ResolveIOAICoderV6Lane;\n\tmodel: string;\n\tthreadKey: string;\n\tscopeSummary: string;\n\tactiveStep: ResolveIOAICoderV6StepType;\n\tactiveBlocker: string;\n\tactiveQaRow?: {\n\t\tindex?: number;\n\t\tworkflow?: string;\n\t\troute?: string;\n\t\tassertion?: string;\n\t\tstatus?: string;\n\t};\n\tchangedFiles: string[];\n\tartifactPaths: string[];\n\tlatestPromptVersion?: string;\n\tlatestPromptTokenEstimate?: number;\n\tupdatedAt: string;\n}\n\nexport interface ResolveIOAICoderV6WorkflowQaRow {\n\tindex?: number;\n\tworkflowId?: string;\n\tstepId?: string;\n\troute?: string;\n\taction?: string;\n\tassertion?: string;\n\texpectedState?: string;\n\tstatus?: string;\n\tartifactPaths?: string[];\n}\n\nexport interface ResolveIOAICoderV6WorkflowMemory {\n\tjourneyContractPath: string;\n\tprimaryWorkflowId: string;\n\tactiveWorkflowStep: string;\n\tworkflowQaRows: ResolveIOAICoderV6WorkflowQaRow[];\n\tcompletedWorkflowSteps: string[];\n\tblockedWorkflowStep: string;\n\tbusinessProofArtifacts: string[];\n\tupdatedAt: string;\n}\n\nexport interface ResolveIOAICoderV6SupervisorState {\n\tversion: 'v6';\n\trunKind: ResolveIOAICoderV6RunKind;\n\tstatus: 'active' | 'parked' | 'complete';\n\tcurrentGoal: string;\n\tapprovedScope: string;\n\tbranchName: string;\n\tactiveLane: ResolveIOAICoderV6Lane;\n\tactiveStep: ResolveIOAICoderV6StepType;\n\tactiveBlocker: string;\n\tlastGoodCheckpoint: string;\n\tlastGoodCommit?: string;\n\ttestDeployStatus?: string;\n\tliveDeployStatus?: string;\n\tprocessLease?: {\n\t\trunId?: string;\n\t\ttoken?: string;\n\t\tgeneration?: number;\n\t\tworkspace?: string;\n\t\tlane?: string;\n\t};\n\tartifactLinks: string[];\n\tupdatedAt: string;\n}\n\nexport interface ResolveIOAICoderV6StepRecord {\n\tstepType: ResolveIOAICoderV6StepType;\n\toutcome: ResolveIOAICoderV6Outcome;\n\tlane: ResolveIOAICoderV6Lane;\n\tmodel?: string;\n\tthreadKey?: string;\n\tpromptVersion?: string;\n\tpromptTokenEstimate?: number;\n\tinputTokens?: number;\n\tcachedInputTokens?: number;\n\toutputTokens?: number;\n\truntimeMs?: number;\n\tsummary: string;\n\tblocker?: string;\n\tblockerFingerprint?: string;\n\tfailureClass?: string;\n\tevidenceHash?: string;\n\tchangedFiles?: string[];\n\tartifactPaths?: string[];\n\tnextAction?: ResolveIOAICoderV6ContinuationDecision['action'];\n\trecordedAt: string;\n}\n\nexport interface ResolveIOAICoderV6RunnerIncident {\n\tincidentClass: string;\n\tsummary: string;\n\tstepType?: ResolveIOAICoderV6StepType;\n\tlane?: ResolveIOAICoderV6Lane;\n\tblockerFingerprint?: string;\n\tartifactPaths?: string[];\n\trecordedAt: string;\n}\n\nexport interface ResolveIOAICoderV6StateBundle {\n\taiCoderRunnerVersion: 'v6';\n\taiCoderV6SupervisorState: ResolveIOAICoderV6SupervisorState;\n\taiCoderV6LaneMemory: Record<ResolveIOAICoderV6Lane, ResolveIOAICoderV6LaneMemory>;\n\taiCoderV6WorkflowMemory: ResolveIOAICoderV6WorkflowMemory;\n\taiCoderV6StepHistory: ResolveIOAICoderV6StepRecord[];\n\taiCoderV6Budget: ResolveIOAICoderV6Budget;\n\taiCoderV6RunnerIncidents: ResolveIOAICoderV6RunnerIncident[];\n\taiCoderV6RecoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe;\n\taiCoderV6RecoveryAction?: ResolveIOAIManagerRecoveryActionPacket;\n}\n\nexport interface ResolveIOAICoderV6InitializeInput {\n\trunKind: ResolveIOAICoderV6RunKind;\n\tjobId: string;\n\tappId?: string;\n\tconversationId?: string;\n\ttitle?: string;\n\tdescription?: string;\n\tapprovedScopeRequirements?: string[];\n\tbranchName?: string;\n\tjourneyContractPath?: string;\n\tdefaultModel?: string;\n\tlaneThreadKeys?: Partial<Record<ResolveIOAICoderV6Lane, string>>;\n\tprocessLease?: ResolveIOAICoderV6SupervisorState['processLease'];\n\tnow?: Date | string;\n\texisting?: Partial<ResolveIOAICoderV6StateBundle>;\n}\n\nexport interface ResolveIOAICoderV6StepInput {\n\tstepType: ResolveIOAICoderV6StepType;\n\toutcome: ResolveIOAICoderV6Outcome;\n\tlane: ResolveIOAICoderV6Lane;\n\tmodel?: string;\n\tthreadKey?: string;\n\tpromptVersion?: string;\n\tpromptTokenEstimate?: number;\n\tinputTokens?: number;\n\tcachedInputTokens?: number;\n\toutputTokens?: number;\n\truntimeMs?: number;\n\tsummary?: string;\n\tblocker?: string;\n\tfailureClass?: string;\n\tevidenceHash?: string;\n\tprimaryWorkflowId?: string;\n\tactiveWorkflowStep?: string;\n\tworkflowQaRows?: ResolveIOAICoderV6WorkflowQaRow[];\n\tcompletedWorkflowSteps?: string[];\n\tblockedWorkflowStep?: string;\n\tbusinessProofArtifacts?: string[];\n\tchangedFiles?: string[];\n\tartifactPaths?: string[];\n\tactiveQaRow?: ResolveIOAICoderV6LaneMemory['activeQaRow'];\n\tnextAction?: ResolveIOAICoderV6ContinuationDecision['action'];\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAICoderV6ContinuationDecision {\n\taction: 'continue' | 'retry_same_step' | 'switch_to_repair' | 'park' | 'budget_stop' | 'infra_retry' | 'ready_to_publish';\n\treason: string;\n\tnextLane: ResolveIOAICoderV6Lane;\n\tnextStep: ResolveIOAICoderV6StepType;\n\trepeatedNoProgressCount: number;\n\tbudgetExceeded: boolean;\n\trecoveryPlan: ResolveIOAIManagerRecoveryPlan;\n\trecoveryCheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\trecoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;\n\trecoveryAction: ResolveIOAIManagerRecoveryActionPacket;\n}\n\nconst LANES: ResolveIOAICoderV6Lane[] = ['intake', 'plan', 'build', 'qa', 'repair', 'review', 'publish'];\n\nfunction isoNow(value?: Date | string): string {\n\tif (value instanceof Date) {\n\t\treturn value.toISOString();\n\t}\n\tconst parsed = value ? new Date(value) : new Date();\n\tif (Number.isFinite(parsed.getTime())) {\n\t\treturn parsed.toISOString();\n\t}\n\treturn new Date().toISOString();\n}\n\nfunction cleanText(value: any, max = 2000): string {\n\treturn String(value || '').replace(/\\s+/g, ' ').trim().slice(0, max);\n}\n\nfunction cleanList(values: any, limit = 20, max = 500): string[] {\n\tif (!Array.isArray(values)) {\n\t\treturn [];\n\t}\n\tconst result: string[] = [];\n\tfor (const value of values) {\n\t\tconst normalized = cleanText(value, max);\n\t\tif (normalized && !result.includes(normalized)) {\n\t\t\tresult.push(normalized);\n\t\t}\n\t\tif (result.length >= limit) {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn result;\n}\n\nfunction cleanNumber(value: any): number {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) && parsed > 0 ? Math.floor(parsed) : 0;\n}\n\nfunction cleanWorkflowQaRows(values: any, limit = 40): ResolveIOAICoderV6WorkflowQaRow[] {\n\tif (!Array.isArray(values)) {\n\t\treturn [];\n\t}\n\tconst rows: ResolveIOAICoderV6WorkflowQaRow[] = [];\n\tfor (const value of values) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\tcontinue;\n\t\t}\n\t\tconst row: ResolveIOAICoderV6WorkflowQaRow = {\n\t\t\tindex: cleanNumber((value as any).index) || undefined,\n\t\t\tworkflowId: cleanText((value as any).workflowId || (value as any).workflow_id, 160) || undefined,\n\t\t\tstepId: cleanText((value as any).stepId || (value as any).step_id, 160) || undefined,\n\t\t\troute: cleanText((value as any).route, 240) || undefined,\n\t\t\taction: cleanText((value as any).action, 500) || undefined,\n\t\t\tassertion: cleanText((value as any).assertion, 700) || undefined,\n\t\t\texpectedState: cleanText((value as any).expectedState || (value as any).expected_state, 500) || undefined,\n\t\t\tstatus: cleanText((value as any).status, 120) || undefined,\n\t\t\tartifactPaths: cleanList((value as any).artifactPaths || (value as any).artifact_paths, 20, 500)\n\t\t};\n\t\tif (row.workflowId || row.stepId || row.route || row.action || row.assertion) {\n\t\t\trows.push(row);\n\t\t}\n\t\tif (rows.length >= limit) {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn rows;\n}\n\nexport function fingerprintResolveIOAICoderV6Blocker(value: any): string {\n\tconst text = cleanText(value, 4000)\n\t\t.toLowerCase()\n\t\t.replace(/[a-f0-9]{16,}/g, '<id>')\n\t\t.replace(/\\b\\d{2,}\\b/g, '<n>')\n\t\t.replace(/\\bline\\s+<n>\\b/g, 'line <n>')\n\t\t.replace(/https?:\\/\\/\\S+/g, '<url>');\n\tlet hash = 0;\n\tfor (let index = 0; index < text.length; index += 1) {\n\t\thash = ((hash << 5) - hash + text.charCodeAt(index)) | 0;\n\t}\n\treturn `aicoder-v6-${Math.abs(hash).toString(36)}`;\n}\n\nfunction classifyResolveIOAICoderV6FailureClass(step: {\n\toutcome?: ResolveIOAICoderV6Outcome;\n\tlane?: ResolveIOAICoderV6Lane;\n\tstepType?: ResolveIOAICoderV6StepType;\n\tblocker?: string;\n\tsummary?: string;\n\tfailureClass?: string;\n}): string {\n\tconst explicit = cleanText(step.failureClass, 80).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\tif (step.outcome === 'infra_retry') {\n\t\treturn 'infra';\n\t}\n\tconst text = `${step.stepType || ''}\\n${step.lane || ''}\\n${step.blocker || ''}\\n${step.summary || ''}`.toLowerCase();\n\tif (/\\b(puppeteer|chrome|browser executable|mongo|port|startup|settings\\.json|node_modules|npm install|cache|lock)\\b/.test(text)) {\n\t\treturn 'infra';\n\t}\n\tif (/\\b(ts[0-9]{3,5}|typescript|compile|build failed|ng build|cannot find name|module not found|syntax error)\\b/.test(text)\n\t\t|| step.stepType === 'build') {\n\t\treturn 'compile';\n\t}\n\tif (step.stepType === 'journey_contract' || step.stepType === 'journey_validation') {\n\t\treturn 'journey';\n\t}\n\tif (step.stepType === 'workflow_qa' || step.lane === 'qa') {\n\t\treturn 'business';\n\t}\n\tif (step.stepType === 'publish' || step.stepType === 'test_deploy' || step.stepType === 'live_deploy' || step.lane === 'publish') {\n\t\treturn 'release';\n\t}\n\treturn 'product_code';\n}\n\nexport function buildResolveIOAICoderV6Budget(existing?: Partial<ResolveIOAICoderV6Budget>): ResolveIOAICoderV6Budget {\n\treturn {\n\t\tmaxPromptTokensPerNonInitialStep: Number(existing?.maxPromptTokensPerNonInitialStep || 4000),\n\t\tmaxTotalPromptTokens: Number(existing?.maxTotalPromptTokens || 120000),\n\t\tmaxLoopsPerRun: Number(existing?.maxLoopsPerRun || 24),\n\t\tmaxRepeatedNoProgress: Number(existing?.maxRepeatedNoProgress || 2),\n\t\tmaxRuntimeMinutesPerLane: Number(existing?.maxRuntimeMinutesPerLane || 30),\n\t\tsoftBudgetUsd: Number(existing?.softBudgetUsd || 30),\n\t\thardBudgetUsd: Number(existing?.hardBudgetUsd || 60),\n\t\ttotalPromptTokenEstimate: cleanNumber(existing?.totalPromptTokenEstimate),\n\t\ttotalInputTokens: cleanNumber(existing?.totalInputTokens),\n\t\ttotalCachedInputTokens: cleanNumber(existing?.totalCachedInputTokens),\n\t\ttotalOutputTokens: cleanNumber(existing?.totalOutputTokens),\n\t\ttotalRuntimeMs: cleanNumber(existing?.totalRuntimeMs),\n\t\tloopCount: cleanNumber(existing?.loopCount)\n\t};\n}\n\nexport function initializeResolveIOAICoderV6State(input: ResolveIOAICoderV6InitializeInput): ResolveIOAICoderV6StateBundle {\n\tconst now = isoNow(input.now);\n\tconst existing = input.existing || {};\n\tconst existingSupervisor = existing.aiCoderV6SupervisorState;\n\tconst existingLaneMemory = existing.aiCoderV6LaneMemory || {} as ResolveIOAICoderV6StateBundle['aiCoderV6LaneMemory'];\n\tconst existingWorkflowMemory = existing.aiCoderV6WorkflowMemory || {} as Partial<ResolveIOAICoderV6WorkflowMemory>;\n\tconst scope = cleanList(input.approvedScopeRequirements, 24, 240).join(' | ')\n\t\t|| cleanText(input.description, 1000)\n\t\t|| cleanText(input.title, 300);\n\tconst runId = cleanText(input.conversationId || input.jobId || input.appId, 120);\n\tconst defaultModel = cleanText(input.defaultModel || 'gpt-5.3-codex', 80);\n\tconst buildLaneMemory = (lane: ResolveIOAICoderV6Lane): ResolveIOAICoderV6LaneMemory => {\n\t\tconst previous = existingLaneMemory[lane] || {} as Partial<ResolveIOAICoderV6LaneMemory>;\n\t\treturn {\n\t\t\tlane,\n\t\t\tmodel: cleanText(previous.model || defaultModel, 80),\n\t\t\tthreadKey: cleanText(input.laneThreadKeys?.[lane] || previous.threadKey || `aicoder:${input.runKind}:${runId}:${lane}`, 240),\n\t\t\tscopeSummary: cleanText(previous.scopeSummary || scope, 1200),\n\t\t\tactiveStep: previous.activeStep || (lane === 'plan' ? 'plan' : lane === 'qa' ? 'qa' : lane === 'review' ? 'review' : lane === 'publish' ? 'publish' : 'task'),\n\t\t\tactiveBlocker: cleanText(previous.activeBlocker, 1200),\n\t\t\tactiveQaRow: previous.activeQaRow,\n\t\t\tchangedFiles: cleanList(previous.changedFiles, 80, 500),\n\t\t\tartifactPaths: cleanList(previous.artifactPaths, 80, 500),\n\t\t\tlatestPromptVersion: cleanText(previous.latestPromptVersion, 120) || undefined,\n\t\t\tlatestPromptTokenEstimate: cleanNumber(previous.latestPromptTokenEstimate) || undefined,\n\t\t\tupdatedAt: previous.updatedAt || now\n\t\t};\n\t};\n\tconst laneMemory = LANES.reduce((accumulator, lane) => {\n\t\taccumulator[lane] = buildLaneMemory(lane);\n\t\treturn accumulator;\n\t}, {} as Record<ResolveIOAICoderV6Lane, ResolveIOAICoderV6LaneMemory>);\n\tconst activeLane = existingSupervisor?.activeLane || (input.runKind === 'initial_builder' ? 'plan' : 'build');\n\treturn {\n\t\taiCoderRunnerVersion: 'v6',\n\t\taiCoderV6SupervisorState: {\n\t\t\tversion: 'v6',\n\t\t\trunKind: input.runKind,\n\t\t\tstatus: existingSupervisor?.status || 'active',\n\t\t\tcurrentGoal: cleanText(existingSupervisor?.currentGoal || `Run AICoder ${input.runKind} ${runId}`, 500),\n\t\t\tapprovedScope: cleanText(existingSupervisor?.approvedScope || scope, 1400),\n\t\t\tbranchName: cleanText(input.branchName || existingSupervisor?.branchName, 240),\n\t\t\tactiveLane,\n\t\t\tactiveStep: existingSupervisor?.activeStep || laneMemory[activeLane].activeStep,\n\t\t\tactiveBlocker: cleanText(existingSupervisor?.activeBlocker, 1200),\n\t\t\tlastGoodCheckpoint: existingSupervisor?.lastGoodCheckpoint || 'v6_initialized',\n\t\t\tlastGoodCommit: cleanText(existingSupervisor?.lastGoodCommit, 240) || undefined,\n\t\t\ttestDeployStatus: cleanText(existingSupervisor?.testDeployStatus, 120) || undefined,\n\t\t\tliveDeployStatus: cleanText(existingSupervisor?.liveDeployStatus, 120) || undefined,\n\t\t\tprocessLease: input.processLease || existingSupervisor?.processLease,\n\t\t\tartifactLinks: cleanList(existingSupervisor?.artifactLinks, 80, 500),\n\t\t\tupdatedAt: now\n\t\t},\n\t\taiCoderV6LaneMemory: laneMemory,\n\t\taiCoderV6WorkflowMemory: {\n\t\t\tjourneyContractPath: cleanText(input.journeyContractPath || existingWorkflowMemory.journeyContractPath || 'docs/APP_JOURNEY_CONTRACT.md', 500),\n\t\t\tprimaryWorkflowId: cleanText(existingWorkflowMemory.primaryWorkflowId, 200),\n\t\t\tactiveWorkflowStep: cleanText(existingWorkflowMemory.activeWorkflowStep, 200),\n\t\t\tworkflowQaRows: cleanWorkflowQaRows(existingWorkflowMemory.workflowQaRows, 80),\n\t\t\tcompletedWorkflowSteps: cleanList(existingWorkflowMemory.completedWorkflowSteps, 80, 240),\n\t\t\tblockedWorkflowStep: cleanText(existingWorkflowMemory.blockedWorkflowStep, 240),\n\t\t\tbusinessProofArtifacts: cleanList(existingWorkflowMemory.businessProofArtifacts, 80, 500),\n\t\t\tupdatedAt: existingWorkflowMemory.updatedAt || now\n\t\t},\n\t\taiCoderV6StepHistory: Array.isArray(existing.aiCoderV6StepHistory)\n\t\t\t? existing.aiCoderV6StepHistory.slice(-100)\n\t\t\t: [],\n\t\taiCoderV6Budget: buildResolveIOAICoderV6Budget(existing.aiCoderV6Budget),\n\t\taiCoderV6RunnerIncidents: Array.isArray(existing.aiCoderV6RunnerIncidents)\n\t\t\t? existing.aiCoderV6RunnerIncidents.slice(-100)\n\t\t\t: [],\n\t\taiCoderV6RecoveryEvidenceProbe: (existing as any).aiCoderV6RecoveryEvidenceProbe,\n\t\taiCoderV6RecoveryAction: (existing as any).aiCoderV6RecoveryAction\n\t};\n}\n\nexport function recordResolveIOAICoderV6Step(\n\tbundle: ResolveIOAICoderV6StateBundle,\n\tstep: ResolveIOAICoderV6StepInput\n): ResolveIOAICoderV6StateBundle {\n\tconst now = isoNow(step.now);\n\tconst promptTokens = cleanNumber(step.promptTokenEstimate);\n\tconst inputTokens = cleanNumber(step.inputTokens);\n\tconst cachedInputTokens = cleanNumber(step.cachedInputTokens);\n\tconst outputTokens = cleanNumber(step.outputTokens);\n\tconst runtimeMs = cleanNumber(step.runtimeMs);\n\tconst blocker = cleanText(step.blocker, 1200);\n\tconst failureClass = classifyResolveIOAICoderV6FailureClass({\n\t\toutcome: step.outcome,\n\t\tlane: step.lane,\n\t\tstepType: step.stepType,\n\t\tblocker,\n\t\tsummary: step.summary,\n\t\tfailureClass: step.failureClass\n\t});\n\tconst previousWorkflowMemory = bundle.aiCoderV6WorkflowMemory || {} as ResolveIOAICoderV6WorkflowMemory;\n\tconst activeWorkflowStep = cleanText(step.activeWorkflowStep || previousWorkflowMemory.activeWorkflowStep, 200);\n\tconst explicitCompletedSteps = cleanList(step.completedWorkflowSteps, 40, 240);\n\tconst completedWorkflowSteps = Array.from(new Set([\n\t\t...cleanList(previousWorkflowMemory.completedWorkflowSteps, 80, 240),\n\t\t...explicitCompletedSteps,\n\t\t...(step.outcome === 'pass' && activeWorkflowStep ? [activeWorkflowStep] : [])\n\t])).slice(-80);\n\tconst businessProofArtifacts = Array.from(new Set([\n\t\t...cleanList(previousWorkflowMemory.businessProofArtifacts, 80, 500),\n\t\t...cleanList(step.businessProofArtifacts, 40, 500),\n\t\t...(step.stepType === 'workflow_qa' ? cleanList(step.artifactPaths, 40, 500) : [])\n\t])).slice(-80);\n\tconst workflowQaRows = step.workflowQaRows !== undefined\n\t\t? cleanWorkflowQaRows(step.workflowQaRows, 80)\n\t\t: cleanWorkflowQaRows(previousWorkflowMemory.workflowQaRows, 80);\n\tconst blockedWorkflowStep = cleanText(\n\t\tstep.blockedWorkflowStep\n\t\t\t|| ((step.outcome === 'needs_repair' || step.outcome === 'park_manual') ? activeWorkflowStep : '')\n\t\t\t|| previousWorkflowMemory.blockedWorkflowStep,\n\t\t240\n\t);\n\tconst record: ResolveIOAICoderV6StepRecord = {\n\t\tstepType: step.stepType,\n\t\toutcome: step.outcome,\n\t\tlane: step.lane,\n\t\tmodel: cleanText(step.model, 80) || undefined,\n\t\tthreadKey: cleanText(step.threadKey, 240) || undefined,\n\t\tpromptVersion: cleanText(step.promptVersion, 120) || undefined,\n\t\tpromptTokenEstimate: promptTokens || undefined,\n\t\tinputTokens: inputTokens || undefined,\n\t\tcachedInputTokens: cachedInputTokens || undefined,\n\t\toutputTokens: outputTokens || undefined,\n\t\truntimeMs: runtimeMs || undefined,\n\t\tsummary: cleanText(step.summary || blocker || step.outcome, 1200),\n\t\tblocker: blocker || undefined,\n\t\tblockerFingerprint: blocker ? fingerprintResolveIOAICoderV6Blocker(blocker) : undefined,\n\t\tfailureClass,\n\t\tchangedFiles: cleanList(step.changedFiles, 80, 500),\n\t\tartifactPaths: cleanList(step.artifactPaths, 80, 500),\n\t\tnextAction: step.nextAction,\n\t\trecordedAt: now\n\t};\n\trecord.evidenceHash = cleanText(step.evidenceHash, 120)\n\t\t|| hashResolveIOAIManagerEvidence(record);\n\tconst previousRecord = bundle.aiCoderV6StepHistory[bundle.aiCoderV6StepHistory.length - 1];\n\tconst managerDecision = decideResolveIOAIManagerPolicy({\n\t\thistory: [...bundle.aiCoderV6StepHistory, record],\n\t\tcurrent: record,\n\t\tmaxSameFailureRepeats: buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget).maxRepeatedNoProgress + 1\n\t});\n\tconst nextLoopCount = managerDecision.loopBudgetShouldReset\n\t\t|| previousRecord?.failureClass !== record.failureClass\n\t\t|| previousRecord?.blockerFingerprint !== record.blockerFingerprint\n\t\t|| previousRecord?.evidenceHash !== record.evidenceHash\n\t\t? 1\n\t\t: bundle.aiCoderV6Budget.loopCount + 1;\n\tconst previousLane = bundle.aiCoderV6LaneMemory[step.lane];\n\tconst laneMemory = {\n\t\t...bundle.aiCoderV6LaneMemory,\n\t\t[step.lane]: {\n\t\t\t...previousLane,\n\t\t\tmodel: record.model || previousLane.model,\n\t\t\tthreadKey: record.threadKey || previousLane.threadKey,\n\t\t\tactiveStep: step.stepType,\n\t\t\tactiveBlocker: record.blocker || previousLane.activeBlocker || '',\n\t\t\tactiveQaRow: step.activeQaRow || previousLane.activeQaRow,\n\t\t\tchangedFiles: record.changedFiles?.length ? record.changedFiles : previousLane.changedFiles,\n\t\t\tartifactPaths: record.artifactPaths?.length ? record.artifactPaths : previousLane.artifactPaths,\n\t\t\tlatestPromptVersion: record.promptVersion || previousLane.latestPromptVersion,\n\t\t\tlatestPromptTokenEstimate: promptTokens || previousLane.latestPromptTokenEstimate,\n\t\t\tupdatedAt: now\n\t\t}\n\t};\n\tconst complete = step.outcome === 'published' || step.outcome === 'ready_to_publish';\n\tconst parked = step.outcome === 'park_manual' || step.outcome === 'budget_stop';\n\treturn {\n\t\t...bundle,\n\t\taiCoderV6SupervisorState: {\n\t\t\t...bundle.aiCoderV6SupervisorState,\n\t\t\tstatus: complete ? 'complete' : (parked ? 'parked' : 'active'),\n\t\t\tactiveLane: step.lane,\n\t\t\tactiveStep: step.stepType,\n\t\t\tactiveBlocker: record.blocker || '',\n\t\t\tlastGoodCheckpoint: step.outcome === 'pass' || complete ? step.stepType : bundle.aiCoderV6SupervisorState.lastGoodCheckpoint,\n\t\t\tartifactLinks: Array.from(new Set([\n\t\t\t\t...bundle.aiCoderV6SupervisorState.artifactLinks,\n\t\t\t\t...(record.artifactPaths || [])\n\t\t\t])).slice(-80),\n\t\t\tupdatedAt: now\n\t\t},\n\t\taiCoderV6LaneMemory: laneMemory,\n\t\taiCoderV6WorkflowMemory: {\n\t\t\tjourneyContractPath: cleanText(previousWorkflowMemory.journeyContractPath || 'docs/APP_JOURNEY_CONTRACT.md', 500),\n\t\t\tprimaryWorkflowId: cleanText(step.primaryWorkflowId || previousWorkflowMemory.primaryWorkflowId, 200),\n\t\t\tactiveWorkflowStep,\n\t\t\tworkflowQaRows,\n\t\t\tcompletedWorkflowSteps,\n\t\t\tblockedWorkflowStep,\n\t\t\tbusinessProofArtifacts,\n\t\t\tupdatedAt: now\n\t\t},\n\t\taiCoderV6StepHistory: [...bundle.aiCoderV6StepHistory, record].slice(-120),\n\t\taiCoderV6Budget: {\n\t\t\t...bundle.aiCoderV6Budget,\n\t\t\ttotalPromptTokenEstimate: bundle.aiCoderV6Budget.totalPromptTokenEstimate + promptTokens,\n\t\t\ttotalInputTokens: bundle.aiCoderV6Budget.totalInputTokens + inputTokens,\n\t\t\ttotalCachedInputTokens: bundle.aiCoderV6Budget.totalCachedInputTokens + cachedInputTokens,\n\t\t\ttotalOutputTokens: bundle.aiCoderV6Budget.totalOutputTokens + outputTokens,\n\t\t\ttotalRuntimeMs: bundle.aiCoderV6Budget.totalRuntimeMs + runtimeMs,\n\t\t\tloopCount: nextLoopCount\n\t\t}\n\t};\n}\n\nexport function decideResolveIOAICoderV6Continuation(bundle: ResolveIOAICoderV6StateBundle): ResolveIOAICoderV6ContinuationDecision {\n\tconst history = bundle.aiCoderV6StepHistory || [];\n\tconst budget = buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget);\n\tconst last = history[history.length - 1];\n\tconst lastFingerprint = fingerprintResolveIOAICoderV6Blocker(last?.blocker || last?.summary || '');\n\tlet repeatedNoProgressCount = 0;\n\tfor (let index = history.length - 1; index >= 0; index -= 1) {\n\t\tconst item = history[index];\n\t\tif (item.outcome === 'pass' || item.outcome === 'ready_to_publish' || item.outcome === 'published') {\n\t\t\tbreak;\n\t\t}\n\t\tif (item.stepType !== last?.stepType || item.lane !== last?.lane) {\n\t\t\tbreak;\n\t\t}\n\t\tif (fingerprintResolveIOAICoderV6Blocker(item.blocker || item.summary || '') === lastFingerprint) {\n\t\t\trepeatedNoProgressCount += 1;\n\t\t}\n\t}\n\tconst managerDecision = decideResolveIOAIManagerPolicy({\n\t\thistory,\n\t\tcurrent: last,\n\t\tmaxSameFailureRepeats: budget.maxRepeatedNoProgress + 1,\n\t\tmaxPingPongTransitions: 3,\n\t\tinfraFailureClasses: ['infra']\n\t});\n\tconst recoveryPlanFor = (\n\t\taction: ResolveIOAICoderV6ContinuationDecision['action'] | string,\n\t\treason: string,\n\t\textra: Partial<ResolveIOAIManagerRecoveryPlanInput> = {}\n\t): ResolveIOAIManagerRecoveryPlan => buildResolveIOAIManagerRecoveryPlan({\n\t\taction,\n\t\treason,\n\t\tfailureClass: last?.failureClass,\n\t\tlane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\tstepType: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\tblocker: last?.blocker || last?.summary,\n\t\tchangedFiles: last?.changedFiles,\n\t\tartifactPaths: last?.artifactPaths,\n\t\tmaxSameFailureRepeats: budget.maxRepeatedNoProgress + 1,\n\t\t...extra\n\t});\n\tconst recoveryCheckpointFor = (\n\t\trecoveryPlan: ResolveIOAIManagerRecoveryPlan\n\t): ResolveIOAIManagerRecoveryCheckpoint => buildResolveIOAIManagerRecoveryCheckpoint({\n\t\tplan: recoveryPlan,\n\t\tcurrent: last\n\t});\n\tconst recoveryFieldsFor = (\n\t\trecoveryPlan: ResolveIOAIManagerRecoveryPlan,\n\t\trecoveryCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint,\n\t\trecoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe\n\t): Pick<ResolveIOAICoderV6ContinuationDecision, 'recoveryPlan' | 'recoveryCheckpoint' | 'recoveryEvidenceProbe' | 'recoveryAction'> => {\n\t\tconst checkpoint = recoveryCheckpoint || recoveryCheckpointFor(recoveryPlan);\n\t\tconst probe = recoveryEvidenceProbe || buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\t\tcheckpoint,\n\t\t\tcurrent: last\n\t\t});\n\t\treturn {\n\t\t\trecoveryPlan,\n\t\t\trecoveryCheckpoint: checkpoint,\n\t\t\trecoveryEvidenceProbe: probe,\n\t\t\trecoveryAction: buildResolveIOAIManagerRecoveryActionPacket({\n\t\t\t\tplan: recoveryPlan,\n\t\t\t\tcheckpoint,\n\t\t\t\tprobe,\n\t\t\t\tcurrent: last\n\t\t\t})\n\t\t};\n\t};\n\tconst managerRecoveryFields = () => recoveryFieldsFor(\n\t\tmanagerDecision.recoveryPlan,\n\t\tmanagerDecision.recoveryCheckpoint,\n\t\tmanagerDecision.recoveryEvidenceProbe\n\t);\n\tconst budgetExceeded = (budget.loopCount >= budget.maxLoopsPerRun && !managerDecision.loopBudgetShouldReset)\n\t\t|| budget.totalPromptTokenEstimate >= budget.maxTotalPromptTokens\n\t\t|| (last?.promptTokenEstimate || 0) > budget.maxPromptTokensPerNonInitialStep * 2;\n\tif (budgetExceeded) {\n\t\tconst recoveryPlan = recoveryPlanFor('budget_stop', 'aicoder_v6_budget_guard', {\n\t\t\tproductRepairFailure: false\n\t\t});\n\t\treturn {\n\t\t\taction: 'budget_stop',\n\t\t\treason: 'aicoder_v6_budget_guard',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t};\n\t}\n\tif (managerDecision.action === 'park_ping_pong') {\n\t\treturn {\n\t\t\taction: 'park',\n\t\t\treason: 'aicoder_v6_ping_pong_no_progress',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount: managerDecision.pingPongCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t};\n\t}\n\tif (managerDecision.action === 'park_repeated_failure') {\n\t\treturn {\n\t\t\taction: 'park',\n\t\t\treason: 'aicoder_v6_repeated_no_progress',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount: managerDecision.sameFailureCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t};\n\t}\n\tif (managerDecision.action === 'retry_infra') {\n\t\treturn {\n\t\t\taction: 'infra_retry',\n\t\t\treason: 'aicoder_v6_infra_retry',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t};\n\t}\n\tif (repeatedNoProgressCount > budget.maxRepeatedNoProgress) {\n\t\tconst recoveryPlan = recoveryPlanFor('park', 'aicoder_v6_repeated_no_progress', {\n\t\t\taction: 'park_repeated_failure',\n\t\t\tproductRepairFailure: true\n\t\t});\n\t\treturn {\n\t\t\taction: 'park',\n\t\t\treason: 'aicoder_v6_repeated_no_progress',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t};\n\t}\n\tif (last?.outcome === 'needs_repair') {\n\t\tif (last.failureClass === 'journey') {\n\t\t\treturn {\n\t\t\t\taction: 'retry_same_step',\n\t\t\t\treason: 'aicoder_v6_journey_contract_repair_required',\n\t\t\t\tnextLane: 'plan',\n\t\t\t\tnextStep: last.stepType === 'journey_validation' ? 'journey_contract' : last.stepType,\n\t\t\t\trepeatedNoProgressCount,\n\t\t\t\tbudgetExceeded: false,\n\t\t\t\t...managerRecoveryFields()\n\t\t\t};\n\t\t}\n\t\tif (last.failureClass === 'release') {\n\t\t\treturn {\n\t\t\t\taction: 'retry_same_step',\n\t\t\t\treason: 'aicoder_v6_release_repair_required',\n\t\t\t\tnextLane: 'publish',\n\t\t\t\tnextStep: last.stepType,\n\t\t\t\trepeatedNoProgressCount,\n\t\t\t\tbudgetExceeded: false,\n\t\t\t\t...managerRecoveryFields()\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\taction: last.lane === 'repair' ? 'retry_same_step' : 'switch_to_repair',\n\t\t\treason: 'aicoder_v6_repair_required',\n\t\t\tnextLane: 'repair',\n\t\t\tnextStep: 'repair',\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t};\n\t}\n\tif (last?.outcome === 'infra_retry') {\n\t\tconst recoveryPlan = recoveryPlanFor('infra_retry', 'aicoder_v6_infra_retry', {\n\t\t\tfailureClass: 'infra',\n\t\t\tproductRepairFailure: false\n\t\t});\n\t\treturn {\n\t\t\taction: 'infra_retry',\n\t\t\treason: 'aicoder_v6_infra_retry',\n\t\t\tnextLane: last.lane,\n\t\t\tnextStep: last.stepType,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t};\n\t}\n\tif (last?.outcome === 'ready_to_publish') {\n\t\tconst recoveryPlan = recoveryPlanFor('ready_to_publish', 'aicoder_v6_ready_to_publish', {\n\t\t\tfailureClass: 'release',\n\t\t\tproductRepairFailure: false\n\t\t});\n\t\treturn {\n\t\t\taction: 'ready_to_publish',\n\t\t\treason: 'aicoder_v6_ready_to_publish',\n\t\t\tnextLane: 'publish',\n\t\t\tnextStep: 'publish',\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t};\n\t}\n\tconst recoveryPlan = managerDecision.recoveryPlan || recoveryPlanFor('continue', 'aicoder_v6_continue');\n\tconst fallbackCheckpoint = managerDecision.recoveryCheckpoint || recoveryCheckpointFor(recoveryPlan);\n\treturn {\n\t\taction: 'continue',\n\t\treason: 'aicoder_v6_continue',\n\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\trepeatedNoProgressCount,\n\t\tbudgetExceeded: false,\n\t\t...recoveryFieldsFor(recoveryPlan, fallbackCheckpoint, managerDecision.recoveryEvidenceProbe)\n\t};\n}\n\nexport function buildResolveIOAICoderV6DiagnoseFirstPrompt(lines: {\n\tgoal?: string;\n\tapprovedScope?: string[];\n\tactiveLane?: ResolveIOAICoderV6Lane;\n\tactiveStep?: ResolveIOAICoderV6StepType;\n\tactiveBlocker?: string;\n\tlaneSummary?: string;\n\tcurrentQaRow?: ResolveIOAICoderV6LaneMemory['activeQaRow'];\n\tjourneyContractPath?: string;\n\tactiveWorkflowStep?: string;\n\tartifactPaths?: string[];\n\tchangedFiles?: string[];\n}): string[] {\n\treturn [\n\t\t'AICoder Runner V6 contract: use compact lane memory, diagnose first, then make the smallest proven next move.',\n\t\t'Start with Diagnose First: observed evidence, likely cause, smallest next action, and expected proof.',\n\t\t'Use current artifacts, changed files, and lane memory before asking for broad context.',\n\t\t'Do not spawn duplicate build, QA, browser, server, Mongo, or Codex processes.',\n\t\t'If repairing, inspect logs/artifacts/source/diff first; retest the failed check before advancing.',\n\t\t'If the same blocker repeats without new proof, park with the exact blocker instead of burning more tokens.',\n\t\tlines.goal ? `Goal: ${cleanText(lines.goal, 500)}` : '',\n\t\tcleanList(lines.approvedScope, 12, 240).length ? `Approved scope: ${cleanList(lines.approvedScope, 12, 240).join(' | ')}` : '',\n\t\tlines.activeLane ? `Active lane: ${lines.activeLane}` : '',\n\t\tlines.activeStep ? `Active step: ${lines.activeStep}` : '',\n\t\tlines.laneSummary ? `Lane memory: ${cleanText(lines.laneSummary, 700)}` : '',\n\t\tlines.activeBlocker ? `Active blocker: ${cleanText(lines.activeBlocker, 800)}` : '',\n\t\tlines.currentQaRow?.workflow ? `Current QA row: ${cleanText(lines.currentQaRow.workflow, 300)}` : '',\n\t\tlines.currentQaRow?.route ? `Current QA route: ${cleanText(lines.currentQaRow.route, 300)}` : '',\n\t\tlines.journeyContractPath ? `Journey contract: ${cleanText(lines.journeyContractPath, 240)}` : '',\n\t\tlines.activeWorkflowStep ? `Active workflow step: ${cleanText(lines.activeWorkflowStep, 240)}` : '',\n\t\tcleanList(lines.changedFiles, 12, 200).length ? `Changed files: ${cleanList(lines.changedFiles, 12, 200).join(', ')}` : '',\n\t\tcleanList(lines.artifactPaths, 12, 240).length ? `Artifacts: ${cleanList(lines.artifactPaths, 12, 240).join(', ')}` : ''\n\t].filter(Boolean);\n}\n\nexport function buildResolveIOAICoderV6Incident(input: {\n\tincidentClass: string;\n\tsummary: string;\n\tstepType?: ResolveIOAICoderV6StepType;\n\tlane?: ResolveIOAICoderV6Lane;\n\tblocker?: string;\n\tartifactPaths?: string[];\n\tnow?: Date | string;\n}): ResolveIOAICoderV6RunnerIncident {\n\treturn {\n\t\tincidentClass: cleanText(input.incidentClass, 120) || 'aicoder_v6_runner_incident',\n\t\tsummary: cleanText(input.summary, 1200),\n\t\tstepType: input.stepType,\n\t\tlane: input.lane,\n\t\tblockerFingerprint: input.blocker ? fingerprintResolveIOAICoderV6Blocker(input.blocker) : undefined,\n\t\tartifactPaths: cleanList(input.artifactPaths, 40, 500),\n\t\trecordedAt: isoNow(input.now)\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/util/aicoder-runner-v6.ts"],"names":[],"mappings":"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","file":"aicoder-runner-v6.js","sourcesContent":["import {\n\tbuildResolveIOAIManagerRecoveryCheckpoint,\n\tbuildResolveIOAIManagerRecoveryActionPacket,\n\tbuildResolveIOAIManagerRecoveryEvidenceProbe,\n\tbuildResolveIOAIManagerRecoveryPlan,\n\tdecideResolveIOAIManagerPolicy,\n\thashResolveIOAIManagerEvidence,\n\tResolveIOAIManagerRecoveryCheckpoint,\n\tResolveIOAIManagerRecoveryActionPacket,\n\tResolveIOAIManagerRecoveryActionDispatchRecord,\n\tResolveIOAIManagerRecoveryExecutionDirective,\n\tResolveIOAIManagerRecoveryEvidenceProbe,\n\tResolveIOAIManagerRecoveryPlan,\n\tResolveIOAIManagerRecoveryPlanInput\n} from './ai-runner-manager-policy';\n\nexport type ResolveIOAICoderV6Lane =\n\t| 'intake'\n\t| 'plan'\n\t| 'build'\n\t| 'qa'\n\t| 'repair'\n\t| 'review'\n\t| 'publish';\n\nexport type ResolveIOAICoderV6StepType =\n\t| 'intake'\n\t| 'journey_contract'\n\t| 'journey_validation'\n\t| 'plan'\n\t| 'task'\n\t| 'workflow_build'\n\t| 'workflow_qa'\n\t| 'build'\n\t| 'qa'\n\t| 'repair'\n\t| 'review'\n\t| 'test_deploy'\n\t| 'live_deploy'\n\t| 'publish'\n\t| 'cleanup';\n\nexport type ResolveIOAICoderV6Outcome =\n\t| 'pass'\n\t| 'needs_repair'\n\t| 'retry_same_step'\n\t| 'park_manual'\n\t| 'budget_stop'\n\t| 'infra_retry'\n\t| 'ready_to_publish'\n\t| 'published';\n\nexport type ResolveIOAICoderV6RunKind = 'initial_builder' | 'terminal_helper';\n\nexport interface ResolveIOAICoderV6Budget {\n\tmaxPromptTokensPerNonInitialStep: number;\n\tmaxTotalPromptTokens: number;\n\tmaxLoopsPerRun: number;\n\tmaxRepeatedNoProgress: number;\n\tmaxRuntimeMinutesPerLane: number;\n\tsoftBudgetUsd: number;\n\thardBudgetUsd: number;\n\ttotalPromptTokenEstimate: number;\n\ttotalInputTokens: number;\n\ttotalCachedInputTokens: number;\n\ttotalOutputTokens: number;\n\ttotalRuntimeMs: number;\n\tloopCount: number;\n}\n\nexport interface ResolveIOAICoderV6LaneMemory {\n\tlane: ResolveIOAICoderV6Lane;\n\tmodel: string;\n\tthreadKey: string;\n\tscopeSummary: string;\n\tactiveStep: ResolveIOAICoderV6StepType;\n\tactiveBlocker: string;\n\tactiveQaRow?: {\n\t\tindex?: number;\n\t\tworkflow?: string;\n\t\troute?: string;\n\t\tassertion?: string;\n\t\tstatus?: string;\n\t};\n\tchangedFiles: string[];\n\tartifactPaths: string[];\n\tlatestPromptVersion?: string;\n\tlatestPromptTokenEstimate?: number;\n\tupdatedAt: string;\n}\n\nexport interface ResolveIOAICoderV6WorkflowQaRow {\n\tindex?: number;\n\tworkflowId?: string;\n\tstepId?: string;\n\troute?: string;\n\taction?: string;\n\tassertion?: string;\n\texpectedState?: string;\n\tstatus?: string;\n\tartifactPaths?: string[];\n}\n\nexport interface ResolveIOAICoderV6WorkflowMemory {\n\tjourneyContractPath: string;\n\tprimaryWorkflowId: string;\n\tactiveWorkflowStep: string;\n\tworkflowQaRows: ResolveIOAICoderV6WorkflowQaRow[];\n\tcompletedWorkflowSteps: string[];\n\tblockedWorkflowStep: string;\n\tbusinessProofArtifacts: string[];\n\tupdatedAt: string;\n}\n\nexport interface ResolveIOAICoderV6SupervisorState {\n\tversion: 'v6';\n\trunKind: ResolveIOAICoderV6RunKind;\n\tstatus: 'active' | 'parked' | 'complete';\n\tcurrentGoal: string;\n\tapprovedScope: string;\n\tbranchName: string;\n\tactiveLane: ResolveIOAICoderV6Lane;\n\tactiveStep: ResolveIOAICoderV6StepType;\n\tactiveBlocker: string;\n\tlastGoodCheckpoint: string;\n\tlastGoodCommit?: string;\n\ttestDeployStatus?: string;\n\tliveDeployStatus?: string;\n\tprocessLease?: {\n\t\trunId?: string;\n\t\ttoken?: string;\n\t\tgeneration?: number;\n\t\tworkspace?: string;\n\t\tlane?: string;\n\t};\n\tartifactLinks: string[];\n\tupdatedAt: string;\n}\n\nexport interface ResolveIOAICoderV6StepRecord {\n\tstepType: ResolveIOAICoderV6StepType;\n\toutcome: ResolveIOAICoderV6Outcome;\n\tlane: ResolveIOAICoderV6Lane;\n\tmodel?: string;\n\tthreadKey?: string;\n\tpromptVersion?: string;\n\tpromptTokenEstimate?: number;\n\tinputTokens?: number;\n\tcachedInputTokens?: number;\n\toutputTokens?: number;\n\truntimeMs?: number;\n\tsummary: string;\n\tblocker?: string;\n\tblockerFingerprint?: string;\n\tfailureClass?: string;\n\tevidenceHash?: string;\n\tchangedFiles?: string[];\n\tartifactPaths?: string[];\n\tnextAction?: ResolveIOAICoderV6ContinuationDecision['action'];\n\trecordedAt: string;\n}\n\nexport interface ResolveIOAICoderV6RunnerIncident {\n\tincidentClass: string;\n\tsummary: string;\n\tstepType?: ResolveIOAICoderV6StepType;\n\tlane?: ResolveIOAICoderV6Lane;\n\tblockerFingerprint?: string;\n\tartifactPaths?: string[];\n\trecordedAt: string;\n}\n\nexport interface ResolveIOAICoderV6StateBundle {\n\taiCoderRunnerVersion: 'v6';\n\taiCoderV6SupervisorState: ResolveIOAICoderV6SupervisorState;\n\taiCoderV6LaneMemory: Record<ResolveIOAICoderV6Lane, ResolveIOAICoderV6LaneMemory>;\n\taiCoderV6WorkflowMemory: ResolveIOAICoderV6WorkflowMemory;\n\taiCoderV6StepHistory: ResolveIOAICoderV6StepRecord[];\n\taiCoderV6Budget: ResolveIOAICoderV6Budget;\n\taiCoderV6RunnerIncidents: ResolveIOAICoderV6RunnerIncident[];\n\taiCoderV6RecoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe;\n\taiCoderV6RecoveryAction?: ResolveIOAIManagerRecoveryActionPacket;\n\taiCoderV6RecoveryDispatchHistory?: ResolveIOAIManagerRecoveryActionDispatchRecord[];\n\taiCoderV6RecoveryDirective?: ResolveIOAIManagerRecoveryExecutionDirective;\n}\n\nexport interface ResolveIOAICoderV6InitializeInput {\n\trunKind: ResolveIOAICoderV6RunKind;\n\tjobId: string;\n\tappId?: string;\n\tconversationId?: string;\n\ttitle?: string;\n\tdescription?: string;\n\tapprovedScopeRequirements?: string[];\n\tbranchName?: string;\n\tjourneyContractPath?: string;\n\tdefaultModel?: string;\n\tlaneThreadKeys?: Partial<Record<ResolveIOAICoderV6Lane, string>>;\n\tprocessLease?: ResolveIOAICoderV6SupervisorState['processLease'];\n\tnow?: Date | string;\n\texisting?: Partial<ResolveIOAICoderV6StateBundle>;\n}\n\nexport interface ResolveIOAICoderV6StepInput {\n\tstepType: ResolveIOAICoderV6StepType;\n\toutcome: ResolveIOAICoderV6Outcome;\n\tlane: ResolveIOAICoderV6Lane;\n\tmodel?: string;\n\tthreadKey?: string;\n\tpromptVersion?: string;\n\tpromptTokenEstimate?: number;\n\tinputTokens?: number;\n\tcachedInputTokens?: number;\n\toutputTokens?: number;\n\truntimeMs?: number;\n\tsummary?: string;\n\tblocker?: string;\n\tfailureClass?: string;\n\tevidenceHash?: string;\n\tprimaryWorkflowId?: string;\n\tactiveWorkflowStep?: string;\n\tworkflowQaRows?: ResolveIOAICoderV6WorkflowQaRow[];\n\tcompletedWorkflowSteps?: string[];\n\tblockedWorkflowStep?: string;\n\tbusinessProofArtifacts?: string[];\n\tchangedFiles?: string[];\n\tartifactPaths?: string[];\n\tactiveQaRow?: ResolveIOAICoderV6LaneMemory['activeQaRow'];\n\tnextAction?: ResolveIOAICoderV6ContinuationDecision['action'];\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAICoderV6ContinuationDecision {\n\taction: 'continue' | 'retry_same_step' | 'switch_to_repair' | 'park' | 'budget_stop' | 'infra_retry' | 'ready_to_publish';\n\treason: string;\n\tnextLane: ResolveIOAICoderV6Lane;\n\tnextStep: ResolveIOAICoderV6StepType;\n\trepeatedNoProgressCount: number;\n\tbudgetExceeded: boolean;\n\trecoveryPlan: ResolveIOAIManagerRecoveryPlan;\n\trecoveryCheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\trecoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;\n\trecoveryAction: ResolveIOAIManagerRecoveryActionPacket;\n}\n\nconst LANES: ResolveIOAICoderV6Lane[] = ['intake', 'plan', 'build', 'qa', 'repair', 'review', 'publish'];\n\nfunction isoNow(value?: Date | string): string {\n\tif (value instanceof Date) {\n\t\treturn value.toISOString();\n\t}\n\tconst parsed = value ? new Date(value) : new Date();\n\tif (Number.isFinite(parsed.getTime())) {\n\t\treturn parsed.toISOString();\n\t}\n\treturn new Date().toISOString();\n}\n\nfunction cleanText(value: any, max = 2000): string {\n\treturn String(value || '').replace(/\\s+/g, ' ').trim().slice(0, max);\n}\n\nfunction cleanList(values: any, limit = 20, max = 500): string[] {\n\tif (!Array.isArray(values)) {\n\t\treturn [];\n\t}\n\tconst result: string[] = [];\n\tfor (const value of values) {\n\t\tconst normalized = cleanText(value, max);\n\t\tif (normalized && !result.includes(normalized)) {\n\t\t\tresult.push(normalized);\n\t\t}\n\t\tif (result.length >= limit) {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn result;\n}\n\nfunction cleanNumber(value: any): number {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) && parsed > 0 ? Math.floor(parsed) : 0;\n}\n\nfunction cleanWorkflowQaRows(values: any, limit = 40): ResolveIOAICoderV6WorkflowQaRow[] {\n\tif (!Array.isArray(values)) {\n\t\treturn [];\n\t}\n\tconst rows: ResolveIOAICoderV6WorkflowQaRow[] = [];\n\tfor (const value of values) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\tcontinue;\n\t\t}\n\t\tconst row: ResolveIOAICoderV6WorkflowQaRow = {\n\t\t\tindex: cleanNumber((value as any).index) || undefined,\n\t\t\tworkflowId: cleanText((value as any).workflowId || (value as any).workflow_id, 160) || undefined,\n\t\t\tstepId: cleanText((value as any).stepId || (value as any).step_id, 160) || undefined,\n\t\t\troute: cleanText((value as any).route, 240) || undefined,\n\t\t\taction: cleanText((value as any).action, 500) || undefined,\n\t\t\tassertion: cleanText((value as any).assertion, 700) || undefined,\n\t\t\texpectedState: cleanText((value as any).expectedState || (value as any).expected_state, 500) || undefined,\n\t\t\tstatus: cleanText((value as any).status, 120) || undefined,\n\t\t\tartifactPaths: cleanList((value as any).artifactPaths || (value as any).artifact_paths, 20, 500)\n\t\t};\n\t\tif (row.workflowId || row.stepId || row.route || row.action || row.assertion) {\n\t\t\trows.push(row);\n\t\t}\n\t\tif (rows.length >= limit) {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn rows;\n}\n\nexport function fingerprintResolveIOAICoderV6Blocker(value: any): string {\n\tconst text = cleanText(value, 4000)\n\t\t.toLowerCase()\n\t\t.replace(/[a-f0-9]{16,}/g, '<id>')\n\t\t.replace(/\\b\\d{2,}\\b/g, '<n>')\n\t\t.replace(/\\bline\\s+<n>\\b/g, 'line <n>')\n\t\t.replace(/https?:\\/\\/\\S+/g, '<url>');\n\tlet hash = 0;\n\tfor (let index = 0; index < text.length; index += 1) {\n\t\thash = ((hash << 5) - hash + text.charCodeAt(index)) | 0;\n\t}\n\treturn `aicoder-v6-${Math.abs(hash).toString(36)}`;\n}\n\nfunction classifyResolveIOAICoderV6FailureClass(step: {\n\toutcome?: ResolveIOAICoderV6Outcome;\n\tlane?: ResolveIOAICoderV6Lane;\n\tstepType?: ResolveIOAICoderV6StepType;\n\tblocker?: string;\n\tsummary?: string;\n\tfailureClass?: string;\n}): string {\n\tconst explicit = cleanText(step.failureClass, 80).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\tif (step.outcome === 'infra_retry') {\n\t\treturn 'infra';\n\t}\n\tconst text = `${step.stepType || ''}\\n${step.lane || ''}\\n${step.blocker || ''}\\n${step.summary || ''}`.toLowerCase();\n\tif (/\\b(puppeteer|chrome|browser executable|mongo|port|startup|settings\\.json|node_modules|npm install|cache|lock)\\b/.test(text)) {\n\t\treturn 'infra';\n\t}\n\tif (/\\b(ts[0-9]{3,5}|typescript|compile|build failed|ng build|cannot find name|module not found|syntax error)\\b/.test(text)\n\t\t|| step.stepType === 'build') {\n\t\treturn 'compile';\n\t}\n\tif (step.stepType === 'journey_contract' || step.stepType === 'journey_validation') {\n\t\treturn 'journey';\n\t}\n\tif (step.stepType === 'workflow_qa' || step.lane === 'qa') {\n\t\treturn 'business';\n\t}\n\tif (step.stepType === 'publish' || step.stepType === 'test_deploy' || step.stepType === 'live_deploy' || step.lane === 'publish') {\n\t\treturn 'release';\n\t}\n\treturn 'product_code';\n}\n\nexport function buildResolveIOAICoderV6Budget(existing?: Partial<ResolveIOAICoderV6Budget>): ResolveIOAICoderV6Budget {\n\treturn {\n\t\tmaxPromptTokensPerNonInitialStep: Number(existing?.maxPromptTokensPerNonInitialStep || 4000),\n\t\tmaxTotalPromptTokens: Number(existing?.maxTotalPromptTokens || 120000),\n\t\tmaxLoopsPerRun: Number(existing?.maxLoopsPerRun || 24),\n\t\tmaxRepeatedNoProgress: Number(existing?.maxRepeatedNoProgress || 2),\n\t\tmaxRuntimeMinutesPerLane: Number(existing?.maxRuntimeMinutesPerLane || 30),\n\t\tsoftBudgetUsd: Number(existing?.softBudgetUsd || 30),\n\t\thardBudgetUsd: Number(existing?.hardBudgetUsd || 60),\n\t\ttotalPromptTokenEstimate: cleanNumber(existing?.totalPromptTokenEstimate),\n\t\ttotalInputTokens: cleanNumber(existing?.totalInputTokens),\n\t\ttotalCachedInputTokens: cleanNumber(existing?.totalCachedInputTokens),\n\t\ttotalOutputTokens: cleanNumber(existing?.totalOutputTokens),\n\t\ttotalRuntimeMs: cleanNumber(existing?.totalRuntimeMs),\n\t\tloopCount: cleanNumber(existing?.loopCount)\n\t};\n}\n\nexport function initializeResolveIOAICoderV6State(input: ResolveIOAICoderV6InitializeInput): ResolveIOAICoderV6StateBundle {\n\tconst now = isoNow(input.now);\n\tconst existing = input.existing || {};\n\tconst existingSupervisor = existing.aiCoderV6SupervisorState;\n\tconst existingLaneMemory = existing.aiCoderV6LaneMemory || {} as ResolveIOAICoderV6StateBundle['aiCoderV6LaneMemory'];\n\tconst existingWorkflowMemory = existing.aiCoderV6WorkflowMemory || {} as Partial<ResolveIOAICoderV6WorkflowMemory>;\n\tconst scope = cleanList(input.approvedScopeRequirements, 24, 240).join(' | ')\n\t\t|| cleanText(input.description, 1000)\n\t\t|| cleanText(input.title, 300);\n\tconst runId = cleanText(input.conversationId || input.jobId || input.appId, 120);\n\tconst defaultModel = cleanText(input.defaultModel || 'gpt-5.3-codex', 80);\n\tconst buildLaneMemory = (lane: ResolveIOAICoderV6Lane): ResolveIOAICoderV6LaneMemory => {\n\t\tconst previous = existingLaneMemory[lane] || {} as Partial<ResolveIOAICoderV6LaneMemory>;\n\t\treturn {\n\t\t\tlane,\n\t\t\tmodel: cleanText(previous.model || defaultModel, 80),\n\t\t\tthreadKey: cleanText(input.laneThreadKeys?.[lane] || previous.threadKey || `aicoder:${input.runKind}:${runId}:${lane}`, 240),\n\t\t\tscopeSummary: cleanText(previous.scopeSummary || scope, 1200),\n\t\t\tactiveStep: previous.activeStep || (lane === 'plan' ? 'plan' : lane === 'qa' ? 'qa' : lane === 'review' ? 'review' : lane === 'publish' ? 'publish' : 'task'),\n\t\t\tactiveBlocker: cleanText(previous.activeBlocker, 1200),\n\t\t\tactiveQaRow: previous.activeQaRow,\n\t\t\tchangedFiles: cleanList(previous.changedFiles, 80, 500),\n\t\t\tartifactPaths: cleanList(previous.artifactPaths, 80, 500),\n\t\t\tlatestPromptVersion: cleanText(previous.latestPromptVersion, 120) || undefined,\n\t\t\tlatestPromptTokenEstimate: cleanNumber(previous.latestPromptTokenEstimate) || undefined,\n\t\t\tupdatedAt: previous.updatedAt || now\n\t\t};\n\t};\n\tconst laneMemory = LANES.reduce((accumulator, lane) => {\n\t\taccumulator[lane] = buildLaneMemory(lane);\n\t\treturn accumulator;\n\t}, {} as Record<ResolveIOAICoderV6Lane, ResolveIOAICoderV6LaneMemory>);\n\tconst activeLane = existingSupervisor?.activeLane || (input.runKind === 'initial_builder' ? 'plan' : 'build');\n\treturn {\n\t\taiCoderRunnerVersion: 'v6',\n\t\taiCoderV6SupervisorState: {\n\t\t\tversion: 'v6',\n\t\t\trunKind: input.runKind,\n\t\t\tstatus: existingSupervisor?.status || 'active',\n\t\t\tcurrentGoal: cleanText(existingSupervisor?.currentGoal || `Run AICoder ${input.runKind} ${runId}`, 500),\n\t\t\tapprovedScope: cleanText(existingSupervisor?.approvedScope || scope, 1400),\n\t\t\tbranchName: cleanText(input.branchName || existingSupervisor?.branchName, 240),\n\t\t\tactiveLane,\n\t\t\tactiveStep: existingSupervisor?.activeStep || laneMemory[activeLane].activeStep,\n\t\t\tactiveBlocker: cleanText(existingSupervisor?.activeBlocker, 1200),\n\t\t\tlastGoodCheckpoint: existingSupervisor?.lastGoodCheckpoint || 'v6_initialized',\n\t\t\tlastGoodCommit: cleanText(existingSupervisor?.lastGoodCommit, 240) || undefined,\n\t\t\ttestDeployStatus: cleanText(existingSupervisor?.testDeployStatus, 120) || undefined,\n\t\t\tliveDeployStatus: cleanText(existingSupervisor?.liveDeployStatus, 120) || undefined,\n\t\t\tprocessLease: input.processLease || existingSupervisor?.processLease,\n\t\t\tartifactLinks: cleanList(existingSupervisor?.artifactLinks, 80, 500),\n\t\t\tupdatedAt: now\n\t\t},\n\t\taiCoderV6LaneMemory: laneMemory,\n\t\taiCoderV6WorkflowMemory: {\n\t\t\tjourneyContractPath: cleanText(input.journeyContractPath || existingWorkflowMemory.journeyContractPath || 'docs/APP_JOURNEY_CONTRACT.md', 500),\n\t\t\tprimaryWorkflowId: cleanText(existingWorkflowMemory.primaryWorkflowId, 200),\n\t\t\tactiveWorkflowStep: cleanText(existingWorkflowMemory.activeWorkflowStep, 200),\n\t\t\tworkflowQaRows: cleanWorkflowQaRows(existingWorkflowMemory.workflowQaRows, 80),\n\t\t\tcompletedWorkflowSteps: cleanList(existingWorkflowMemory.completedWorkflowSteps, 80, 240),\n\t\t\tblockedWorkflowStep: cleanText(existingWorkflowMemory.blockedWorkflowStep, 240),\n\t\t\tbusinessProofArtifacts: cleanList(existingWorkflowMemory.businessProofArtifacts, 80, 500),\n\t\t\tupdatedAt: existingWorkflowMemory.updatedAt || now\n\t\t},\n\t\taiCoderV6StepHistory: Array.isArray(existing.aiCoderV6StepHistory)\n\t\t\t? existing.aiCoderV6StepHistory.slice(-100)\n\t\t\t: [],\n\t\taiCoderV6Budget: buildResolveIOAICoderV6Budget(existing.aiCoderV6Budget),\n\t\taiCoderV6RunnerIncidents: Array.isArray(existing.aiCoderV6RunnerIncidents)\n\t\t\t? existing.aiCoderV6RunnerIncidents.slice(-100)\n\t\t\t: [],\n\t\taiCoderV6RecoveryEvidenceProbe: (existing as any).aiCoderV6RecoveryEvidenceProbe,\n\t\taiCoderV6RecoveryAction: (existing as any).aiCoderV6RecoveryAction,\n\t\taiCoderV6RecoveryDispatchHistory: Array.isArray((existing as any).aiCoderV6RecoveryDispatchHistory)\n\t\t\t? (existing as any).aiCoderV6RecoveryDispatchHistory.slice(-50)\n\t\t\t: [],\n\t\taiCoderV6RecoveryDirective: (existing as any).aiCoderV6RecoveryDirective\n\t};\n}\n\nexport function recordResolveIOAICoderV6Step(\n\tbundle: ResolveIOAICoderV6StateBundle,\n\tstep: ResolveIOAICoderV6StepInput\n): ResolveIOAICoderV6StateBundle {\n\tconst now = isoNow(step.now);\n\tconst promptTokens = cleanNumber(step.promptTokenEstimate);\n\tconst inputTokens = cleanNumber(step.inputTokens);\n\tconst cachedInputTokens = cleanNumber(step.cachedInputTokens);\n\tconst outputTokens = cleanNumber(step.outputTokens);\n\tconst runtimeMs = cleanNumber(step.runtimeMs);\n\tconst blocker = cleanText(step.blocker, 1200);\n\tconst failureClass = classifyResolveIOAICoderV6FailureClass({\n\t\toutcome: step.outcome,\n\t\tlane: step.lane,\n\t\tstepType: step.stepType,\n\t\tblocker,\n\t\tsummary: step.summary,\n\t\tfailureClass: step.failureClass\n\t});\n\tconst previousWorkflowMemory = bundle.aiCoderV6WorkflowMemory || {} as ResolveIOAICoderV6WorkflowMemory;\n\tconst activeWorkflowStep = cleanText(step.activeWorkflowStep || previousWorkflowMemory.activeWorkflowStep, 200);\n\tconst explicitCompletedSteps = cleanList(step.completedWorkflowSteps, 40, 240);\n\tconst completedWorkflowSteps = Array.from(new Set([\n\t\t...cleanList(previousWorkflowMemory.completedWorkflowSteps, 80, 240),\n\t\t...explicitCompletedSteps,\n\t\t...(step.outcome === 'pass' && activeWorkflowStep ? [activeWorkflowStep] : [])\n\t])).slice(-80);\n\tconst businessProofArtifacts = Array.from(new Set([\n\t\t...cleanList(previousWorkflowMemory.businessProofArtifacts, 80, 500),\n\t\t...cleanList(step.businessProofArtifacts, 40, 500),\n\t\t...(step.stepType === 'workflow_qa' ? cleanList(step.artifactPaths, 40, 500) : [])\n\t])).slice(-80);\n\tconst workflowQaRows = step.workflowQaRows !== undefined\n\t\t? cleanWorkflowQaRows(step.workflowQaRows, 80)\n\t\t: cleanWorkflowQaRows(previousWorkflowMemory.workflowQaRows, 80);\n\tconst blockedWorkflowStep = cleanText(\n\t\tstep.blockedWorkflowStep\n\t\t\t|| ((step.outcome === 'needs_repair' || step.outcome === 'park_manual') ? activeWorkflowStep : '')\n\t\t\t|| previousWorkflowMemory.blockedWorkflowStep,\n\t\t240\n\t);\n\tconst record: ResolveIOAICoderV6StepRecord = {\n\t\tstepType: step.stepType,\n\t\toutcome: step.outcome,\n\t\tlane: step.lane,\n\t\tmodel: cleanText(step.model, 80) || undefined,\n\t\tthreadKey: cleanText(step.threadKey, 240) || undefined,\n\t\tpromptVersion: cleanText(step.promptVersion, 120) || undefined,\n\t\tpromptTokenEstimate: promptTokens || undefined,\n\t\tinputTokens: inputTokens || undefined,\n\t\tcachedInputTokens: cachedInputTokens || undefined,\n\t\toutputTokens: outputTokens || undefined,\n\t\truntimeMs: runtimeMs || undefined,\n\t\tsummary: cleanText(step.summary || blocker || step.outcome, 1200),\n\t\tblocker: blocker || undefined,\n\t\tblockerFingerprint: blocker ? fingerprintResolveIOAICoderV6Blocker(blocker) : undefined,\n\t\tfailureClass,\n\t\tchangedFiles: cleanList(step.changedFiles, 80, 500),\n\t\tartifactPaths: cleanList(step.artifactPaths, 80, 500),\n\t\tnextAction: step.nextAction,\n\t\trecordedAt: now\n\t};\n\trecord.evidenceHash = cleanText(step.evidenceHash, 120)\n\t\t|| hashResolveIOAIManagerEvidence(record);\n\tconst previousRecord = bundle.aiCoderV6StepHistory[bundle.aiCoderV6StepHistory.length - 1];\n\tconst managerDecision = decideResolveIOAIManagerPolicy({\n\t\thistory: [...bundle.aiCoderV6StepHistory, record],\n\t\tcurrent: record,\n\t\tmaxSameFailureRepeats: buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget).maxRepeatedNoProgress + 1\n\t});\n\tconst nextLoopCount = managerDecision.loopBudgetShouldReset\n\t\t|| previousRecord?.failureClass !== record.failureClass\n\t\t|| previousRecord?.blockerFingerprint !== record.blockerFingerprint\n\t\t|| previousRecord?.evidenceHash !== record.evidenceHash\n\t\t? 1\n\t\t: bundle.aiCoderV6Budget.loopCount + 1;\n\tconst previousLane = bundle.aiCoderV6LaneMemory[step.lane];\n\tconst laneMemory = {\n\t\t...bundle.aiCoderV6LaneMemory,\n\t\t[step.lane]: {\n\t\t\t...previousLane,\n\t\t\tmodel: record.model || previousLane.model,\n\t\t\tthreadKey: record.threadKey || previousLane.threadKey,\n\t\t\tactiveStep: step.stepType,\n\t\t\tactiveBlocker: record.blocker || previousLane.activeBlocker || '',\n\t\t\tactiveQaRow: step.activeQaRow || previousLane.activeQaRow,\n\t\t\tchangedFiles: record.changedFiles?.length ? record.changedFiles : previousLane.changedFiles,\n\t\t\tartifactPaths: record.artifactPaths?.length ? record.artifactPaths : previousLane.artifactPaths,\n\t\t\tlatestPromptVersion: record.promptVersion || previousLane.latestPromptVersion,\n\t\t\tlatestPromptTokenEstimate: promptTokens || previousLane.latestPromptTokenEstimate,\n\t\t\tupdatedAt: now\n\t\t}\n\t};\n\tconst complete = step.outcome === 'published' || step.outcome === 'ready_to_publish';\n\tconst parked = step.outcome === 'park_manual' || step.outcome === 'budget_stop';\n\treturn {\n\t\t...bundle,\n\t\taiCoderV6SupervisorState: {\n\t\t\t...bundle.aiCoderV6SupervisorState,\n\t\t\tstatus: complete ? 'complete' : (parked ? 'parked' : 'active'),\n\t\t\tactiveLane: step.lane,\n\t\t\tactiveStep: step.stepType,\n\t\t\tactiveBlocker: record.blocker || '',\n\t\t\tlastGoodCheckpoint: step.outcome === 'pass' || complete ? step.stepType : bundle.aiCoderV6SupervisorState.lastGoodCheckpoint,\n\t\t\tartifactLinks: Array.from(new Set([\n\t\t\t\t...bundle.aiCoderV6SupervisorState.artifactLinks,\n\t\t\t\t...(record.artifactPaths || [])\n\t\t\t])).slice(-80),\n\t\t\tupdatedAt: now\n\t\t},\n\t\taiCoderV6LaneMemory: laneMemory,\n\t\taiCoderV6WorkflowMemory: {\n\t\t\tjourneyContractPath: cleanText(previousWorkflowMemory.journeyContractPath || 'docs/APP_JOURNEY_CONTRACT.md', 500),\n\t\t\tprimaryWorkflowId: cleanText(step.primaryWorkflowId || previousWorkflowMemory.primaryWorkflowId, 200),\n\t\t\tactiveWorkflowStep,\n\t\t\tworkflowQaRows,\n\t\t\tcompletedWorkflowSteps,\n\t\t\tblockedWorkflowStep,\n\t\t\tbusinessProofArtifacts,\n\t\t\tupdatedAt: now\n\t\t},\n\t\taiCoderV6StepHistory: [...bundle.aiCoderV6StepHistory, record].slice(-120),\n\t\taiCoderV6Budget: {\n\t\t\t...bundle.aiCoderV6Budget,\n\t\t\ttotalPromptTokenEstimate: bundle.aiCoderV6Budget.totalPromptTokenEstimate + promptTokens,\n\t\t\ttotalInputTokens: bundle.aiCoderV6Budget.totalInputTokens + inputTokens,\n\t\t\ttotalCachedInputTokens: bundle.aiCoderV6Budget.totalCachedInputTokens + cachedInputTokens,\n\t\t\ttotalOutputTokens: bundle.aiCoderV6Budget.totalOutputTokens + outputTokens,\n\t\t\ttotalRuntimeMs: bundle.aiCoderV6Budget.totalRuntimeMs + runtimeMs,\n\t\t\tloopCount: nextLoopCount\n\t\t}\n\t};\n}\n\nexport function decideResolveIOAICoderV6Continuation(bundle: ResolveIOAICoderV6StateBundle): ResolveIOAICoderV6ContinuationDecision {\n\tconst history = bundle.aiCoderV6StepHistory || [];\n\tconst budget = buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget);\n\tconst last = history[history.length - 1];\n\tconst lastFingerprint = fingerprintResolveIOAICoderV6Blocker(last?.blocker || last?.summary || '');\n\tlet repeatedNoProgressCount = 0;\n\tfor (let index = history.length - 1; index >= 0; index -= 1) {\n\t\tconst item = history[index];\n\t\tif (item.outcome === 'pass' || item.outcome === 'ready_to_publish' || item.outcome === 'published') {\n\t\t\tbreak;\n\t\t}\n\t\tif (item.stepType !== last?.stepType || item.lane !== last?.lane) {\n\t\t\tbreak;\n\t\t}\n\t\tif (fingerprintResolveIOAICoderV6Blocker(item.blocker || item.summary || '') === lastFingerprint) {\n\t\t\trepeatedNoProgressCount += 1;\n\t\t}\n\t}\n\tconst managerDecision = decideResolveIOAIManagerPolicy({\n\t\thistory,\n\t\tcurrent: last,\n\t\tmaxSameFailureRepeats: budget.maxRepeatedNoProgress + 1,\n\t\tmaxPingPongTransitions: 3,\n\t\tinfraFailureClasses: ['infra']\n\t});\n\tconst recoveryPlanFor = (\n\t\taction: ResolveIOAICoderV6ContinuationDecision['action'] | string,\n\t\treason: string,\n\t\textra: Partial<ResolveIOAIManagerRecoveryPlanInput> = {}\n\t): ResolveIOAIManagerRecoveryPlan => buildResolveIOAIManagerRecoveryPlan({\n\t\taction,\n\t\treason,\n\t\tfailureClass: last?.failureClass,\n\t\tlane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\tstepType: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\tblocker: last?.blocker || last?.summary,\n\t\tchangedFiles: last?.changedFiles,\n\t\tartifactPaths: last?.artifactPaths,\n\t\tmaxSameFailureRepeats: budget.maxRepeatedNoProgress + 1,\n\t\t...extra\n\t});\n\tconst recoveryCheckpointFor = (\n\t\trecoveryPlan: ResolveIOAIManagerRecoveryPlan\n\t): ResolveIOAIManagerRecoveryCheckpoint => buildResolveIOAIManagerRecoveryCheckpoint({\n\t\tplan: recoveryPlan,\n\t\tcurrent: last\n\t});\n\tconst recoveryFieldsFor = (\n\t\trecoveryPlan: ResolveIOAIManagerRecoveryPlan,\n\t\trecoveryCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint,\n\t\trecoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe\n\t): Pick<ResolveIOAICoderV6ContinuationDecision, 'recoveryPlan' | 'recoveryCheckpoint' | 'recoveryEvidenceProbe' | 'recoveryAction'> => {\n\t\tconst checkpoint = recoveryCheckpoint || recoveryCheckpointFor(recoveryPlan);\n\t\tconst probe = recoveryEvidenceProbe || buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\t\tcheckpoint,\n\t\t\tcurrent: last\n\t\t});\n\t\treturn {\n\t\t\trecoveryPlan,\n\t\t\trecoveryCheckpoint: checkpoint,\n\t\t\trecoveryEvidenceProbe: probe,\n\t\t\trecoveryAction: buildResolveIOAIManagerRecoveryActionPacket({\n\t\t\t\tplan: recoveryPlan,\n\t\t\t\tcheckpoint,\n\t\t\t\tprobe,\n\t\t\t\tcurrent: last\n\t\t\t})\n\t\t};\n\t};\n\tconst managerRecoveryFields = () => recoveryFieldsFor(\n\t\tmanagerDecision.recoveryPlan,\n\t\tmanagerDecision.recoveryCheckpoint,\n\t\tmanagerDecision.recoveryEvidenceProbe\n\t);\n\tconst budgetExceeded = (budget.loopCount >= budget.maxLoopsPerRun && !managerDecision.loopBudgetShouldReset)\n\t\t|| budget.totalPromptTokenEstimate >= budget.maxTotalPromptTokens\n\t\t|| (last?.promptTokenEstimate || 0) > budget.maxPromptTokensPerNonInitialStep * 2;\n\tif (budgetExceeded) {\n\t\tconst recoveryPlan = recoveryPlanFor('budget_stop', 'aicoder_v6_budget_guard', {\n\t\t\tproductRepairFailure: false\n\t\t});\n\t\treturn {\n\t\t\taction: 'budget_stop',\n\t\t\treason: 'aicoder_v6_budget_guard',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t};\n\t}\n\tif (managerDecision.action === 'park_ping_pong') {\n\t\treturn {\n\t\t\taction: 'park',\n\t\t\treason: 'aicoder_v6_ping_pong_no_progress',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount: managerDecision.pingPongCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t};\n\t}\n\tif (managerDecision.action === 'park_repeated_failure') {\n\t\treturn {\n\t\t\taction: 'park',\n\t\t\treason: 'aicoder_v6_repeated_no_progress',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount: managerDecision.sameFailureCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t};\n\t}\n\tif (managerDecision.action === 'retry_infra') {\n\t\treturn {\n\t\t\taction: 'infra_retry',\n\t\t\treason: 'aicoder_v6_infra_retry',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t};\n\t}\n\tif (repeatedNoProgressCount > budget.maxRepeatedNoProgress) {\n\t\tconst recoveryPlan = recoveryPlanFor('park', 'aicoder_v6_repeated_no_progress', {\n\t\t\taction: 'park_repeated_failure',\n\t\t\tproductRepairFailure: true\n\t\t});\n\t\treturn {\n\t\t\taction: 'park',\n\t\t\treason: 'aicoder_v6_repeated_no_progress',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t};\n\t}\n\tif (last?.outcome === 'needs_repair') {\n\t\tif (last.failureClass === 'journey') {\n\t\t\treturn {\n\t\t\t\taction: 'retry_same_step',\n\t\t\t\treason: 'aicoder_v6_journey_contract_repair_required',\n\t\t\t\tnextLane: 'plan',\n\t\t\t\tnextStep: last.stepType === 'journey_validation' ? 'journey_contract' : last.stepType,\n\t\t\t\trepeatedNoProgressCount,\n\t\t\t\tbudgetExceeded: false,\n\t\t\t\t...managerRecoveryFields()\n\t\t\t};\n\t\t}\n\t\tif (last.failureClass === 'release') {\n\t\t\treturn {\n\t\t\t\taction: 'retry_same_step',\n\t\t\t\treason: 'aicoder_v6_release_repair_required',\n\t\t\t\tnextLane: 'publish',\n\t\t\t\tnextStep: last.stepType,\n\t\t\t\trepeatedNoProgressCount,\n\t\t\t\tbudgetExceeded: false,\n\t\t\t\t...managerRecoveryFields()\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\taction: last.lane === 'repair' ? 'retry_same_step' : 'switch_to_repair',\n\t\t\treason: 'aicoder_v6_repair_required',\n\t\t\tnextLane: 'repair',\n\t\t\tnextStep: 'repair',\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t};\n\t}\n\tif (last?.outcome === 'infra_retry') {\n\t\tconst recoveryPlan = recoveryPlanFor('infra_retry', 'aicoder_v6_infra_retry', {\n\t\t\tfailureClass: 'infra',\n\t\t\tproductRepairFailure: false\n\t\t});\n\t\treturn {\n\t\t\taction: 'infra_retry',\n\t\t\treason: 'aicoder_v6_infra_retry',\n\t\t\tnextLane: last.lane,\n\t\t\tnextStep: last.stepType,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t};\n\t}\n\tif (last?.outcome === 'ready_to_publish') {\n\t\tconst recoveryPlan = recoveryPlanFor('ready_to_publish', 'aicoder_v6_ready_to_publish', {\n\t\t\tfailureClass: 'release',\n\t\t\tproductRepairFailure: false\n\t\t});\n\t\treturn {\n\t\t\taction: 'ready_to_publish',\n\t\t\treason: 'aicoder_v6_ready_to_publish',\n\t\t\tnextLane: 'publish',\n\t\t\tnextStep: 'publish',\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t};\n\t}\n\tconst recoveryPlan = managerDecision.recoveryPlan || recoveryPlanFor('continue', 'aicoder_v6_continue');\n\tconst fallbackCheckpoint = managerDecision.recoveryCheckpoint || recoveryCheckpointFor(recoveryPlan);\n\treturn {\n\t\taction: 'continue',\n\t\treason: 'aicoder_v6_continue',\n\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\trepeatedNoProgressCount,\n\t\tbudgetExceeded: false,\n\t\t...recoveryFieldsFor(recoveryPlan, fallbackCheckpoint, managerDecision.recoveryEvidenceProbe)\n\t};\n}\n\nexport function buildResolveIOAICoderV6DiagnoseFirstPrompt(lines: {\n\tgoal?: string;\n\tapprovedScope?: string[];\n\tactiveLane?: ResolveIOAICoderV6Lane;\n\tactiveStep?: ResolveIOAICoderV6StepType;\n\tactiveBlocker?: string;\n\tlaneSummary?: string;\n\tcurrentQaRow?: ResolveIOAICoderV6LaneMemory['activeQaRow'];\n\tjourneyContractPath?: string;\n\tactiveWorkflowStep?: string;\n\tartifactPaths?: string[];\n\tchangedFiles?: string[];\n}): string[] {\n\treturn [\n\t\t'AICoder Runner V6 contract: use compact lane memory, diagnose first, then make the smallest proven next move.',\n\t\t'Start with Diagnose First: observed evidence, likely cause, smallest next action, and expected proof.',\n\t\t'Use current artifacts, changed files, and lane memory before asking for broad context.',\n\t\t'Do not spawn duplicate build, QA, browser, server, Mongo, or Codex processes.',\n\t\t'If repairing, inspect logs/artifacts/source/diff first; retest the failed check before advancing.',\n\t\t'If the same blocker repeats without new proof, park with the exact blocker instead of burning more tokens.',\n\t\tlines.goal ? `Goal: ${cleanText(lines.goal, 500)}` : '',\n\t\tcleanList(lines.approvedScope, 12, 240).length ? `Approved scope: ${cleanList(lines.approvedScope, 12, 240).join(' | ')}` : '',\n\t\tlines.activeLane ? `Active lane: ${lines.activeLane}` : '',\n\t\tlines.activeStep ? `Active step: ${lines.activeStep}` : '',\n\t\tlines.laneSummary ? `Lane memory: ${cleanText(lines.laneSummary, 700)}` : '',\n\t\tlines.activeBlocker ? `Active blocker: ${cleanText(lines.activeBlocker, 800)}` : '',\n\t\tlines.currentQaRow?.workflow ? `Current QA row: ${cleanText(lines.currentQaRow.workflow, 300)}` : '',\n\t\tlines.currentQaRow?.route ? `Current QA route: ${cleanText(lines.currentQaRow.route, 300)}` : '',\n\t\tlines.journeyContractPath ? `Journey contract: ${cleanText(lines.journeyContractPath, 240)}` : '',\n\t\tlines.activeWorkflowStep ? `Active workflow step: ${cleanText(lines.activeWorkflowStep, 240)}` : '',\n\t\tcleanList(lines.changedFiles, 12, 200).length ? `Changed files: ${cleanList(lines.changedFiles, 12, 200).join(', ')}` : '',\n\t\tcleanList(lines.artifactPaths, 12, 240).length ? `Artifacts: ${cleanList(lines.artifactPaths, 12, 240).join(', ')}` : ''\n\t].filter(Boolean);\n}\n\nexport function buildResolveIOAICoderV6Incident(input: {\n\tincidentClass: string;\n\tsummary: string;\n\tstepType?: ResolveIOAICoderV6StepType;\n\tlane?: ResolveIOAICoderV6Lane;\n\tblocker?: string;\n\tartifactPaths?: string[];\n\tnow?: Date | string;\n}): ResolveIOAICoderV6RunnerIncident {\n\treturn {\n\t\tincidentClass: cleanText(input.incidentClass, 120) || 'aicoder_v6_runner_incident',\n\t\tsummary: cleanText(input.summary, 1200),\n\t\tstepType: input.stepType,\n\t\tlane: input.lane,\n\t\tblockerFingerprint: input.blocker ? fingerprintResolveIOAICoderV6Blocker(input.blocker) : undefined,\n\t\tartifactPaths: cleanList(input.artifactPaths, 40, 500),\n\t\trecordedAt: isoNow(input.now)\n\t};\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResolveIOAIManagerRecoveryCheckpoint, ResolveIOAIManagerRecoveryActionPacket, ResolveIOAIManagerRecoveryEvidenceProbe, ResolveIOAIManagerRecoveryPlan } from './ai-runner-manager-policy';
|
|
1
|
+
import { ResolveIOAIManagerRecoveryCheckpoint, ResolveIOAIManagerRecoveryActionPacket, ResolveIOAIManagerRecoveryActionDispatchRecord, ResolveIOAIManagerRecoveryExecutionDirective, ResolveIOAIManagerRecoveryEvidenceProbe, ResolveIOAIManagerRecoveryPlan } from './ai-runner-manager-policy';
|
|
2
2
|
export type ResolveIOSupportV5StepType = 'diagnosis_gate' | 'reproduction_probe' | 'issue_class_probe' | 'business_proof' | 'compile_check' | 'startup_check' | 'live_seed' | 'auth_bootstrap' | 'route_probe' | 'qa_row' | 'build_repair' | 'qa_retest' | 'pr_review' | 'artifact_package' | 'cleanup';
|
|
3
3
|
export type ResolveIOSupportV5Outcome = 'pass' | 'needs_repair' | 'retry_same_step' | 'park_manual' | 'budget_stop' | 'infra_retry' | 'ready_for_merge';
|
|
4
4
|
export type ResolveIOSupportV5Lane = 'build' | 'qa' | 'review' | 'supervisor';
|
|
@@ -277,6 +277,8 @@ export interface ResolveIOSupportV5StateBundle {
|
|
|
277
277
|
supportV5FailureFingerprints?: ResolveIOSupportV5FailureFingerprint[];
|
|
278
278
|
supportV5RecoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe;
|
|
279
279
|
supportV5RecoveryAction?: ResolveIOAIManagerRecoveryActionPacket;
|
|
280
|
+
supportV5RecoveryDispatchHistory?: ResolveIOAIManagerRecoveryActionDispatchRecord[];
|
|
281
|
+
supportV5RecoveryDirective?: ResolveIOAIManagerRecoveryExecutionDirective;
|
|
280
282
|
}
|
|
281
283
|
export interface ResolveIOSupportV5InitializeInput {
|
|
282
284
|
jobId: string;
|
|
@@ -1003,7 +1003,11 @@ function initializeResolveIOSupportV5State(input) {
|
|
|
1003
1003
|
? existing.supportV5FailureFingerprints.slice(-200)
|
|
1004
1004
|
: [],
|
|
1005
1005
|
supportV5RecoveryEvidenceProbe: existing.supportV5RecoveryEvidenceProbe,
|
|
1006
|
-
supportV5RecoveryAction: existing.supportV5RecoveryAction
|
|
1006
|
+
supportV5RecoveryAction: existing.supportV5RecoveryAction,
|
|
1007
|
+
supportV5RecoveryDispatchHistory: Array.isArray(existing.supportV5RecoveryDispatchHistory)
|
|
1008
|
+
? existing.supportV5RecoveryDispatchHistory.slice(-50)
|
|
1009
|
+
: [],
|
|
1010
|
+
supportV5RecoveryDirective: existing.supportV5RecoveryDirective
|
|
1007
1011
|
};
|
|
1008
1012
|
return diagnosisValidation.valid && diagnosisValidation.normalized
|
|
1009
1013
|
? applyResolveIOSupportDiagnosisGateToMicrotasks(initialized, diagnosisValidation.normalized)
|