@resolveio/server-lib 22.3.158 → 22.3.159
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/methods/ai-terminal.d.ts +1 -0
- package/methods/ai-terminal.js +133 -3
- package/methods/ai-terminal.js.map +1 -1
- package/package.json +1 -1
- package/util/ai-run-evidence-adapters.d.ts +37 -0
- package/util/ai-run-evidence-adapters.js +988 -79
- package/util/ai-run-evidence-adapters.js.map +1 -1
- package/util/ai-run-evidence.d.ts +1 -1
- package/util/ai-run-evidence.js.map +1 -1
- package/util/ai-runner-manager-autopilot.d.ts +99 -1
- package/util/ai-runner-manager-autopilot.js +370 -41
- package/util/ai-runner-manager-autopilot.js.map +1 -1
- package/util/ai-runner-manager-policy.d.ts +159 -0
- package/util/ai-runner-manager-policy.js +782 -30
- package/util/ai-runner-manager-policy.js.map +1 -1
- package/util/aicoder-runner-v6.d.ts +93 -3
- package/util/aicoder-runner-v6.js +699 -27
- package/util/aicoder-runner-v6.js.map +1 -1
- package/util/support-runner-v5.d.ts +190 -2
- package/util/support-runner-v5.js +1131 -74
- 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\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 ResolveIOAICoderJourneyContractValidationIssue {\n\tcode: string;\n\tpath: string;\n\tmessage: string;\n\tseverity: 'error' | 'warning';\n}\n\nexport interface ResolveIOAICoderJourneyContractValidationResult {\n\tvalid: boolean;\n\tcontract: Record<string, any> | null;\n\tissues: ResolveIOAICoderJourneyContractValidationIssue[];\n\tworkflowQaRows: ResolveIOAICoderV6WorkflowQaRow[];\n\tprimaryWorkflowId: 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\taiCoderV6RecoveryPlan?: ResolveIOAIManagerRecoveryPlan;\n\taiCoderV6RecoveryCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint;\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 readField(source: any, keys: string[]): any {\n\tif (!source || typeof source !== 'object') {\n\t\treturn undefined;\n\t}\n\tfor (const key of keys) {\n\t\tif (source[key] !== undefined && source[key] !== null) {\n\t\t\treturn source[key];\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction cleanField(source: any, keys: string[], max = 500): string {\n\treturn cleanText(readField(source, keys), max);\n}\n\nfunction concatFields(source: any, keys: string[], maxEach = 500): string {\n\tif (!source || typeof source !== 'object') {\n\t\treturn '';\n\t}\n\treturn keys\n\t\t.map((key) => cleanText(source[key], maxEach))\n\t\t.filter(Boolean)\n\t\t.join(' ');\n}\n\nfunction asArray(value: any): any[] {\n\tif (!Array.isArray(value)) {\n\t\treturn [];\n\t}\n\treturn value;\n}\n\nfunction stripJsonComments(value: string): string {\n\tlet output = '';\n\tlet inString = false;\n\tlet escaped = false;\n\tfor (let index = 0; index < value.length; index += 1) {\n\t\tconst char = value[index];\n\t\tconst next = value[index + 1];\n\t\tif (inString) {\n\t\t\toutput += char;\n\t\t\tif (escaped) {\n\t\t\t\tescaped = false;\n\t\t\t}\n\t\t\telse if (char === '\\\\') {\n\t\t\t\tescaped = true;\n\t\t\t}\n\t\t\telse if (char === '\"') {\n\t\t\t\tinString = false;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === '\"') {\n\t\t\tinString = true;\n\t\t\toutput += char;\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === '/' && next === '/') {\n\t\t\twhile (index < value.length && value[index] !== '\\n') {\n\t\t\t\tindex += 1;\n\t\t\t}\n\t\t\toutput += '\\n';\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === '/' && next === '*') {\n\t\t\tindex += 2;\n\t\t\twhile (index < value.length && !(value[index] === '*' && value[index + 1] === '/')) {\n\t\t\t\tindex += 1;\n\t\t\t}\n\t\t\tindex += 1;\n\t\t\tcontinue;\n\t\t}\n\t\toutput += char;\n\t}\n\treturn output;\n}\n\nfunction parseJsonObject(value: string): Record<string, any> | null {\n\ttry {\n\t\tconst parsed = JSON.parse(stripJsonComments(value));\n\t\treturn parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;\n\t}\n\tcatch {\n\t\treturn null;\n\t}\n}\n\nexport function extractResolveIOAICoderJourneyContractFromMarkdown(content: string | null | undefined): Record<string, any> | null {\n\tconst normalized = String(content || '').replace(/\\r\\n/g, '\\n');\n\tconst sectionMatch = normalized.match(/##\\s*journey_contract[\\s\\S]*?```json\\s*([\\s\\S]*?)```/i)\n\t\t|| normalized.match(/##\\s*journey_contract[\\s\\S]*?```\\s*([\\s\\S]*?)```/i);\n\tif (sectionMatch?.[1]) {\n\t\treturn parseJsonObject(sectionMatch[1].trim());\n\t}\n\tconst fencedMatch = normalized.match(/```json\\s*([\\s\\S]*?)```/i);\n\tif (fencedMatch?.[1]) {\n\t\treturn parseJsonObject(fencedMatch[1].trim());\n\t}\n\tconst objectMatch = normalized.match(/\\{\\s*\"app_archetype\"[\\s\\S]*\\}\\s*$/m);\n\tif (objectMatch?.[0]) {\n\t\treturn parseJsonObject(objectMatch[0].trim());\n\t}\n\treturn null;\n}\n\nfunction looksLikeAbsoluteRoute(value: string): boolean {\n\treturn value.startsWith('/') && !/\\s/.test(value);\n}\n\nfunction looksPlaceholder(value: string): boolean {\n\treturn /\\b(tbd|todo|placeholder|generic crud|crud-only|lorem ipsum|add details|fill in|coming soon)\\b/i.test(value || '');\n}\n\nfunction isNavigationOnlyAction(source: any): boolean {\n\tconst effect = cleanField(source, ['effect', 'outcome', 'state_change', 'expected_state_transition', 'expected_next_state'], 500).toLowerCase();\n\tconst implementation = cleanField(source, [\n\t\t'method_or_calculation',\n\t\t'server_method_or_publication',\n\t\t'local_calculation_path',\n\t\t'action_implementation',\n\t\t'calculation_path',\n\t\t'data_mutation',\n\t\t'mutation',\n\t\t'persisted_result'\n\t], 500);\n\tif (implementation) {\n\t\treturn false;\n\t}\n\tconst actionType = cleanField(source, ['action_type', 'type', 'kind'], 120).toLowerCase();\n\tconst actionText = [\n\t\tcleanField(source, ['action', 'visible_cta', 'cta', 'label'], 300),\n\t\tcleanField(source, ['next_step_destination', 'next_step', 'destination'], 300)\n\t].join(' ').toLowerCase();\n\tconst navigationSignals = /\\b(navigate|go to|open|view|link|route|page)\\b/.test(actionText)\n\t\t|| /^(?:link|nav|navigation|route)$/i.test(actionType);\n\tconst productiveEffect = /\\b(save|saved|create|created|update|updated|calculate|calculated|optimize|optimized|import|export|report|persist|queued|submitted|validated|generated|compare|recommendation|complete|completed)\\b/.test(effect);\n\treturn navigationSignals && !productiveEffect;\n}\n\nfunction addJourneyIssue(\n\tissues: ResolveIOAICoderJourneyContractValidationIssue[],\n\tcode: string,\n\tpath: string,\n\tmessage: string,\n\tseverity: 'error' | 'warning' = 'error'\n): void {\n\tissues.push({ code, path, message, severity });\n}\n\nfunction normalizeWorkflowStepPosition(step: any, index: number, total: number): string {\n\tconst explicit = cleanField(step, ['position', 'phase', 'order_role'], 60).toLowerCase();\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\tif (index === 0) {\n\t\treturn 'first';\n\t}\n\tif (index === total - 1) {\n\t\treturn 'last';\n\t}\n\treturn 'next';\n}\n\nfunction buildWorkflowStepId(step: any, index: number): string {\n\treturn cleanField(step, ['id', 'step_id', 'key'], 120)\n\t\t|| cleanField(step, ['label', 'title', 'visible_cta'], 120).toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '')\n\t\t|| `step-${index + 1}`;\n}\n\nexport function buildResolveIOAICoderWorkflowQaRowsFromJourneyContract(input: any): ResolveIOAICoderV6WorkflowQaRow[] {\n\tconst contract = typeof input === 'string'\n\t\t? extractResolveIOAICoderJourneyContractFromMarkdown(input)\n\t\t: (input && typeof input === 'object' && !Array.isArray(input) ? input : null);\n\tif (!contract) {\n\t\treturn [];\n\t}\n\tconst workflowId = cleanField(contract, ['primary_workflow_id', 'workflow_id', 'id'], 160) || 'north-star';\n\tconst rows: ResolveIOAICoderV6WorkflowQaRow[] = [];\n\tconst qaAssertions = asArray(contract.qa_assertions);\n\tqaAssertions.forEach((assertion, index) => {\n\t\tif (!assertion || typeof assertion !== 'object' || Array.isArray(assertion)) {\n\t\t\treturn;\n\t\t}\n\t\tconst route = cleanField(assertion, ['route', 'screen_route', 'path'], 240);\n\t\tconst action = cleanField(assertion, ['action', 'browser_steps', 'cta', 'visible_cta'], 500);\n\t\tconst expectedState = cleanField(assertion, ['expected_state', 'expected_result', 'expected_dom_or_data_proof', 'proof'], 500);\n\t\tconst assertionText = cleanField(assertion, ['assertion', 'expected_dom_or_data_proof', 'proof', 'expected_result'], 700);\n\t\tif (!route && !action && !assertionText) {\n\t\t\treturn;\n\t\t}\n\t\trows.push({\n\t\t\tindex: cleanNumber(readField(assertion, ['index', 'order'])) || index + 1,\n\t\t\tworkflowId: cleanField(assertion, ['workflow_id', 'workflowId'], 160) || workflowId,\n\t\t\tstepId: cleanField(assertion, ['step_id', 'stepId', 'id'], 160) || `qa-${index + 1}`,\n\t\t\troute: route || undefined,\n\t\t\taction: action || undefined,\n\t\t\tassertion: assertionText || undefined,\n\t\t\texpectedState: expectedState || undefined,\n\t\t\tstatus: cleanField(assertion, ['status'], 120) || undefined,\n\t\t\tartifactPaths: cleanList(readField(assertion, ['artifact_paths', 'artifactPaths']), 20, 500)\n\t\t});\n\t});\n\tif (rows.length) {\n\t\treturn rows.slice(0, 80);\n\t}\n\tasArray(contract.north_star_workflow).forEach((step, index, workflow) => {\n\t\tif (!step || typeof step !== 'object' || Array.isArray(step)) {\n\t\t\treturn;\n\t\t}\n\t\trows.push({\n\t\t\tindex: index + 1,\n\t\t\tworkflowId,\n\t\t\tstepId: buildWorkflowStepId(step, index),\n\t\t\troute: cleanField(step, ['route'], 240) || undefined,\n\t\t\taction: cleanField(step, ['visible_cta', 'action', 'cta'], 500) || undefined,\n\t\t\tassertion: cleanField(step, ['success_confirmation', 'expected_state_transition', 'final_result'], 700) || undefined,\n\t\t\texpectedState: cleanField(step, ['expected_state_transition', 'success_confirmation', 'final_result'], 500) || undefined,\n\t\t\tstatus: undefined,\n\t\t\tartifactPaths: []\n\t\t});\n\t\tvoid workflow;\n\t});\n\treturn rows.slice(0, 80);\n}\n\nexport function validateResolveIOAICoderJourneyContract(input: any, options: {\n\tpathLabel?: string;\n\trequireMarkdownEnvelope?: boolean;\n} = {}): ResolveIOAICoderJourneyContractValidationResult {\n\tconst pathLabel = cleanText(options.pathLabel || 'docs/APP_JOURNEY_CONTRACT.md', 240) || 'docs/APP_JOURNEY_CONTRACT.md';\n\tconst issues: ResolveIOAICoderJourneyContractValidationIssue[] = [];\n\tlet contract: Record<string, any> | null = null;\n\tif (typeof input === 'string') {\n\t\tconst normalized = input.replace(/\\r\\n/g, '\\n');\n\t\tif (!normalized.trim()) {\n\t\t\taddJourneyIssue(issues, 'missing_contract', pathLabel, `${pathLabel}: missing app journey contract.`);\n\t\t\treturn { valid: false, contract: null, issues, workflowQaRows: [], primaryWorkflowId: '' };\n\t\t}\n\t\tif (options.requireMarkdownEnvelope !== false && !/^\\s*#\\s+App Journey Contract/im.test(normalized)) {\n\t\t\taddJourneyIssue(issues, 'missing_heading', pathLabel, `${pathLabel}: missing \"# App Journey Contract\" heading.`);\n\t\t}\n\t\tif (options.requireMarkdownEnvelope !== false && !/##\\s*journey_contract/i.test(normalized)) {\n\t\t\taddJourneyIssue(issues, 'missing_json_section', pathLabel, `${pathLabel}: missing \"## journey_contract\" JSON section.`);\n\t\t}\n\t\tif (looksPlaceholder(normalized)) {\n\t\t\taddJourneyIssue(issues, 'placeholder_text', pathLabel, `${pathLabel}: contains placeholder or generic journey text.`);\n\t\t}\n\t\tcontract = extractResolveIOAICoderJourneyContractFromMarkdown(normalized);\n\t}\n\telse if (input && typeof input === 'object' && !Array.isArray(input)) {\n\t\tcontract = input;\n\t}\n\tif (!contract) {\n\t\taddJourneyIssue(issues, 'invalid_json', pathLabel, `${pathLabel}: journey_contract JSON is missing or invalid.`);\n\t\treturn { valid: false, contract: null, issues, workflowQaRows: [], primaryWorkflowId: '' };\n\t}\n\tconst requiredKeys = [\n\t\t'app_archetype',\n\t\t'primary_actor',\n\t\t'primary_goal',\n\t\t'first_screen',\n\t\t'north_star_workflow',\n\t\t'secondary_workflows',\n\t\t'screen_sequence',\n\t\t'data_story',\n\t\t'completion_states',\n\t\t'qa_assertions'\n\t];\n\tfor (const key of requiredKeys) {\n\t\tif (!(key in contract)) {\n\t\t\taddJourneyIssue(issues, 'missing_key', `${pathLabel}.journey_contract.${key}`, `${pathLabel}: journey_contract missing key \"${key}\".`);\n\t\t}\n\t}\n\tfor (const key of ['app_archetype', 'primary_actor', 'primary_goal']) {\n\t\tconst value = cleanText(contract[key], 500);\n\t\tif (value.length < 4) {\n\t\t\taddJourneyIssue(issues, 'empty_core_field', `${pathLabel}.journey_contract.${key}`, `${pathLabel}: journey_contract.${key} must be non-empty.`);\n\t\t}\n\t\tif (looksPlaceholder(value)) {\n\t\t\taddJourneyIssue(issues, 'placeholder_core_field', `${pathLabel}.journey_contract.${key}`, `${pathLabel}: journey_contract.${key} is placeholder text.`);\n\t\t}\n\t}\n\tconst firstScreen = contract.first_screen;\n\tif (!firstScreen || typeof firstScreen !== 'object' || Array.isArray(firstScreen)) {\n\t\taddJourneyIssue(issues, 'invalid_first_screen', `${pathLabel}.journey_contract.first_screen`, `${pathLabel}: first_screen must be an object.`);\n\t}\n\telse {\n\t\tconst route = cleanField(firstScreen, ['route'], 240);\n\t\tfor (const [label, keys] of [\n\t\t\t['route', ['route']],\n\t\t\t['purpose', ['purpose', 'screen_purpose']],\n\t\t\t['visible_cta', ['visible_cta', 'cta', 'primary_cta']],\n\t\t\t['next_step', ['next_step', 'next_step_destination', 'expected_next_state']]\n\t\t] as Array<[string, string[]]>) {\n\t\t\tif (cleanField(firstScreen, keys, 500).length < 4) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_first_screen', `${pathLabel}.journey_contract.first_screen.${label}`, `${pathLabel}: first_screen.${label} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_first_screen_route', `${pathLabel}.journey_contract.first_screen.route`, `${pathLabel}: first_screen.route must be an absolute app route.`);\n\t\t}\n\t}\n\tconst workflow = asArray(contract.north_star_workflow);\n\tif (workflow.length < 3) {\n\t\taddJourneyIssue(issues, 'workflow_too_short', `${pathLabel}.journey_contract.north_star_workflow`, `${pathLabel}: north_star_workflow must include at least first, next, and last steps.`);\n\t}\n\tconst positions = new Set(workflow.map((step: any, index: number) => normalizeWorkflowStepPosition(step, index, workflow.length)));\n\tfor (const requiredPosition of ['first', 'next', 'last']) {\n\t\tif (!positions.has(requiredPosition)) {\n\t\t\taddJourneyIssue(issues, 'missing_workflow_position', `${pathLabel}.journey_contract.north_star_workflow`, `${pathLabel}: north_star_workflow missing position \"${requiredPosition}\".`);\n\t\t}\n\t}\n\tworkflow.forEach((step: any, index: number) => {\n\t\tconst stepPath = `${pathLabel}.journey_contract.north_star_workflow[${index}]`;\n\t\tif (!step || typeof step !== 'object' || Array.isArray(step)) {\n\t\t\taddJourneyIssue(issues, 'invalid_workflow_step', stepPath, `${pathLabel}: north_star_workflow[${index}] must be an object.`);\n\t\t\treturn;\n\t\t}\n\t\tconst position = normalizeWorkflowStepPosition(step, index, workflow.length);\n\t\tconst route = cleanField(step, ['route'], 240);\n\t\tconst embeddedAction = cleanField(step, ['embedded_hub_action', 'hub_action'], 240);\n\t\tconst implementation = cleanField(step, [\n\t\t\t'method_or_calculation',\n\t\t\t'server_method_or_publication',\n\t\t\t'local_calculation_path',\n\t\t\t'action_implementation',\n\t\t\t'calculation_path',\n\t\t\t'data_mutation',\n\t\t\t'mutation',\n\t\t\t'persisted_result'\n\t\t], 500);\n\t\tconst requiredStepFields: Array<[string, string[]]> = [\n\t\t\t['position', ['position']],\n\t\t\t['visible_cta', ['visible_cta', 'cta', 'label']],\n\t\t\t['data_input_or_selection', ['data_input_or_selection', 'data_input', 'selection', 'input']],\n\t\t\t['expected_state_transition', ['expected_state_transition', 'expected_next_state', 'state_change']],\n\t\t\t['success_confirmation', ['success_confirmation', 'confirmation', 'success_message']],\n\t\t\t['next_step_destination', ['next_step_destination', 'next_step', 'destination']]\n\t\t];\n\t\tfor (const [fieldName, keys] of requiredStepFields) {\n\t\t\tif (fieldName === 'next_step_destination' && position === 'last') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (cleanField(step, keys, 500).length < 3) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_workflow_step', `${stepPath}.${fieldName}`, `${pathLabel}: north_star_workflow[${index}].${fieldName} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tif (!route && !embeddedAction) {\n\t\t\taddJourneyIssue(issues, 'workflow_step_missing_route_or_hub_action', stepPath, `${pathLabel}: north_star_workflow[${index}] must specify a route or embedded hub action.`);\n\t\t}\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_workflow_route', `${stepPath}.route`, `${pathLabel}: north_star_workflow[${index}].route must be an absolute app route.`);\n\t\t}\n\t\tif (!implementation) {\n\t\t\taddJourneyIssue(issues, 'workflow_step_missing_implementation', stepPath, `${pathLabel}: north_star_workflow[${index}] must map the CTA to a server method, publication, local calculation, persisted mutation, or export/report action.`);\n\t\t}\n\t\tif (isNavigationOnlyAction(step)) {\n\t\t\taddJourneyIssue(issues, 'navigation_only_workflow_step', stepPath, `${pathLabel}: north_star_workflow[${index}] appears to be navigation-only instead of advancing state.`);\n\t\t}\n\t\tif (position === 'last' && cleanField(step, ['final_result', 'saved_exported_reported_result', 'completion_result'], 700).length < 8) {\n\t\t\taddJourneyIssue(issues, 'last_step_missing_final_result', `${stepPath}.final_result`, `${pathLabel}: last workflow step must define the saved, exported, reported, or calculated final result.`);\n\t\t}\n\t});\n\tconst secondaryWorkflows = asArray(contract.secondary_workflows);\n\tif (secondaryWorkflows.length < 3) {\n\t\taddJourneyIssue(issues, 'missing_secondary_workflows', `${pathLabel}.journey_contract.secondary_workflows`, `${pathLabel}: secondary_workflows must include setup, manage, report/export, settings/secrets, or recovery coverage.`);\n\t}\n\tconst screenSequence = asArray(contract.screen_sequence);\n\tif (screenSequence.length < Math.min(3, Math.max(workflow.length, 3))) {\n\t\taddJourneyIssue(issues, 'screen_sequence_too_short', `${pathLabel}.journey_contract.screen_sequence`, `${pathLabel}: screen_sequence must map workflow steps to routes, CTAs, data, and next state.`);\n\t}\n\tscreenSequence.forEach((screen: any, index: number) => {\n\t\tconst screenPath = `${pathLabel}.journey_contract.screen_sequence[${index}]`;\n\t\tif (!screen || typeof screen !== 'object' || Array.isArray(screen)) {\n\t\t\taddJourneyIssue(issues, 'invalid_screen_sequence_row', screenPath, `${pathLabel}: screen_sequence[${index}] must be an object.`);\n\t\t\treturn;\n\t\t}\n\t\tfor (const [fieldName, keys] of [\n\t\t\t['route', ['route']],\n\t\t\t['screen_purpose', ['screen_purpose', 'purpose']],\n\t\t\t['visible_cta', ['visible_cta', 'cta']],\n\t\t\t['expected_next_state', ['expected_next_state', 'expected_state_transition']],\n\t\t\t['data_shown', ['data_shown', 'data', 'records_shown']]\n\t\t] as Array<[string, string[]]>) {\n\t\t\tif (cleanField(screen, keys, 500).length < 3) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_screen_sequence_row', `${screenPath}.${fieldName}`, `${pathLabel}: screen_sequence[${index}].${fieldName} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tconst route = cleanField(screen, ['route'], 240);\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_screen_route', `${screenPath}.route`, `${pathLabel}: screen_sequence[${index}].route must be an absolute app route.`);\n\t\t}\n\t\tif (isNavigationOnlyAction(screen)) {\n\t\t\taddJourneyIssue(issues, 'navigation_only_screen_action', screenPath, `${pathLabel}: screen_sequence[${index}] CTA appears to navigate without changing workflow state.`);\n\t\t}\n\t});\n\tconst firstScreenRoute = cleanField(firstScreen, ['route'], 240);\n\tconst hubScreens = screenSequence.filter((screen: any) => {\n\t\tconst route = cleanField(screen, ['route'], 240);\n\t\treturn route === firstScreenRoute || /hub|dashboard/i.test(route);\n\t});\n\tconst hubHasEmbeddedAction = hubScreens.some((screen: any) => {\n\t\tconst text = [\n\t\t\tcleanField(screen, ['embedded_action', 'hub_action', 'action'], 500),\n\t\t\tcleanField(screen, ['method_or_calculation', 'server_method_or_publication', 'local_calculation_path', 'action_implementation'], 500),\n\t\t\tcleanField(screen, ['expected_next_state', 'expected_state_transition'], 500)\n\t\t].join(' ');\n\t\treturn text.trim().length >= 8 && !isNavigationOnlyAction(screen);\n\t});\n\tif (!hubHasEmbeddedAction) {\n\t\taddJourneyIssue(issues, 'hub_missing_embedded_action', `${pathLabel}.journey_contract.screen_sequence`, `${pathLabel}: dashboard hub/first screen must embed at least one primary workflow action instead of acting as a link farm.`);\n\t}\n\tconst dataStory = contract.data_story;\n\tif (!dataStory || typeof dataStory !== 'object' || Array.isArray(dataStory)) {\n\t\taddJourneyIssue(issues, 'invalid_data_story', `${pathLabel}.journey_contract.data_story`, `${pathLabel}: data_story must be an object.`);\n\t}\n\telse {\n\t\tif (cleanField(dataStory, ['seeded_scenario', 'scenario'], 800).length < 12) {\n\t\t\taddJourneyIssue(issues, 'missing_seeded_scenario', `${pathLabel}.journey_contract.data_story.seeded_scenario`, `${pathLabel}: data_story.seeded_scenario must describe the launch sample scenario.`);\n\t\t}\n\t\tif (!asArray(readField(dataStory, ['records', 'seed_records'])).length) {\n\t\t\taddJourneyIssue(issues, 'missing_seed_records', `${pathLabel}.journey_contract.data_story.records`, `${pathLabel}: data_story.records must list seeded records.`);\n\t\t}\n\t\tif (!asArray(readField(dataStory, ['relationships', 'record_relationships'])).length) {\n\t\t\taddJourneyIssue(issues, 'missing_seed_relationships', `${pathLabel}.journey_contract.data_story.relationships`, `${pathLabel}: data_story.relationships must list seeded data relationships.`);\n\t\t}\n\t\tif (asArray(readField(dataStory, ['non_empty_states', 'non_empty_dashboard_states'])).length < 2) {\n\t\t\taddJourneyIssue(issues, 'missing_non_empty_states', `${pathLabel}.journey_contract.data_story.non_empty_states`, `${pathLabel}: data_story.non_empty_states must list non-empty dashboard, workflow, or report states.`);\n\t\t}\n\t}\n\tif (asArray(contract.completion_states).length < 2) {\n\t\taddJourneyIssue(issues, 'missing_completion_states', `${pathLabel}.journey_contract.completion_states`, `${pathLabel}: completion_states must define what done looks like to the user.`);\n\t}\n\tconst qaAssertions = asArray(contract.qa_assertions);\n\tif (qaAssertions.length < 5) {\n\t\taddJourneyIssue(issues, 'qa_assertions_too_short', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions must include login, hub action, workflow completion, sample data, and mobile proof.`);\n\t}\n\tlet hasMobileQa = false;\n\tlet hasRecoveryQa = false;\n\tlet hasCompletionQa = false;\n\tlet hasNonEmptyQa = false;\n\tqaAssertions.forEach((assertion: any, index: number) => {\n\t\tconst qaPath = `${pathLabel}.journey_contract.qa_assertions[${index}]`;\n\t\tif (!assertion || typeof assertion !== 'object' || Array.isArray(assertion)) {\n\t\t\taddJourneyIssue(issues, 'invalid_qa_assertion', qaPath, `${pathLabel}: qa_assertions[${index}] must be an object.`);\n\t\t\treturn;\n\t\t}\n\t\tfor (const [fieldName, keys] of [\n\t\t\t['route', ['route', 'screen_route', 'path']],\n\t\t\t['action', ['action', 'browser_steps', 'visible_cta']],\n\t\t\t['expected_dom_or_data_proof', ['expected_dom_or_data_proof', 'proof', 'expected_result']]\n\t\t] as Array<[string, string[]]>) {\n\t\t\tif (cleanField(assertion, keys, 700).length < 3) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_qa_assertion', `${qaPath}.${fieldName}`, `${pathLabel}: qa_assertions[${index}].${fieldName} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tconst route = cleanField(assertion, ['route', 'screen_route', 'path'], 240);\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_qa_route', `${qaPath}.route`, `${pathLabel}: qa_assertions[${index}].route must be an absolute app route.`);\n\t\t}\n\t\tconst text = [\n\t\t\tconcatFields(assertion, ['id', 'type', 'kind', 'coverage', 'viewport'], 300),\n\t\t\tconcatFields(assertion, ['action', 'browser_steps', 'expected_dom_or_data_proof', 'proof', 'expected_result'], 1000)\n\t\t].join(' ').toLowerCase();\n\t\thasMobileQa = hasMobileQa || /\\b(mobile|390x844|viewport)\\b/.test(text);\n\t\thasRecoveryQa = hasRecoveryQa || /\\b(empty|error|recovery|invalid)\\b/.test(text);\n\t\thasCompletionQa = hasCompletionQa || /\\b(complete|saved|export|report|result|recommendation|calculated|optimized)\\b/.test(text);\n\t\thasNonEmptyQa = hasNonEmptyQa || /\\b(sample|seeded|non[-\\s]?empty|kpi|table|chart|record|row)\\b/.test(text);\n\t});\n\tif (!hasCompletionQa) {\n\t\taddJourneyIssue(issues, 'missing_completion_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing business completion proof.`);\n\t}\n\tif (!hasNonEmptyQa) {\n\t\taddJourneyIssue(issues, 'missing_non_empty_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing non-empty seeded data proof.`);\n\t}\n\tif (!hasMobileQa) {\n\t\taddJourneyIssue(issues, 'missing_mobile_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing mobile viewport proof.`);\n\t}\n\tif (!hasRecoveryQa) {\n\t\taddJourneyIssue(issues, 'missing_recovery_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing empty/error recovery proof.`);\n\t}\n\tconst workflowQaRows = buildResolveIOAICoderWorkflowQaRowsFromJourneyContract(contract);\n\treturn {\n\t\tvalid: !issues.some((issue) => issue.severity === 'error'),\n\t\tcontract,\n\t\tissues,\n\t\tworkflowQaRows,\n\t\tprimaryWorkflowId: cleanField(contract, ['primary_workflow_id', 'workflow_id', 'id'], 160) || 'north-star'\n\t};\n}\n\nexport function collectResolveIOAICoderJourneyContractIssues(input: any, options: {\n\tpathLabel?: string;\n\trequireMarkdownEnvelope?: boolean;\n} = {}): string[] {\n\treturn validateResolveIOAICoderJourneyContract(input, options).issues.map((issue) => issue.message);\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\taiCoderV6RecoveryPlan: (existing as any).aiCoderV6RecoveryPlan,\n\t\taiCoderV6RecoveryCheckpoint: (existing as any).aiCoderV6RecoveryCheckpoint,\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 budget = buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget);\n\tconst shouldParkForRepeatedNoProgress = !managerDecision.loopBudgetShouldReset\n\t\t&& nextLoopCount > budget.maxRepeatedNoProgress\n\t\t&& step.outcome !== 'pass'\n\t\t&& step.outcome !== 'ready_to_publish'\n\t\t&& step.outcome !== 'published';\n\tconst recordedRecoveryPlan = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryPlan({\n\t\t\taction: 'park_repeated_failure',\n\t\t\treason: 'aicoder_v6_repeated_no_progress',\n\t\t\tfailureClass: record.failureClass,\n\t\t\tlane: record.lane,\n\t\t\tstepType: record.stepType,\n\t\t\tblocker: record.blocker || record.summary,\n\t\t\tchangedFiles: record.changedFiles,\n\t\t\tartifactPaths: record.artifactPaths,\n\t\t\tmaxSameFailureRepeats: budget.maxRepeatedNoProgress + 1\n\t\t})\n\t\t: managerDecision.recoveryPlan;\n\tconst recordedRecoveryCheckpoint = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryCheckpoint({\n\t\t\tplan: recordedRecoveryPlan,\n\t\t\tcurrent: record\n\t\t})\n\t\t: managerDecision.recoveryCheckpoint;\n\tconst recordedRecoveryEvidenceProbe = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\t\tcheckpoint: recordedRecoveryCheckpoint,\n\t\t\tcurrent: record\n\t\t})\n\t\t: managerDecision.recoveryEvidenceProbe;\n\tconst recordedRecoveryAction = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryActionPacket({\n\t\t\tplan: recordedRecoveryPlan,\n\t\t\tcheckpoint: recordedRecoveryCheckpoint,\n\t\t\tprobe: recordedRecoveryEvidenceProbe,\n\t\t\tcurrent: record\n\t\t})\n\t\t: managerDecision.recoveryAction;\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\taiCoderV6RecoveryPlan: recordedRecoveryPlan,\n\t\taiCoderV6RecoveryCheckpoint: recordedRecoveryCheckpoint,\n\t\taiCoderV6RecoveryEvidenceProbe: recordedRecoveryEvidenceProbe,\n\t\taiCoderV6RecoveryAction: recordedRecoveryAction\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', 'compile']\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 (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: !/^(?:infra|compile|release)$/i.test(String(last?.failureClass || ''))\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 (managerDecision.action === 'retry_infra') {\n\t\tconst compileRepair = managerDecision.recoveryPlan.recoveryClass === 'compile_repair'\n\t\t\t|| managerDecision.failureClass === 'compile'\n\t\t\t|| last?.failureClass === 'compile';\n\t\treturn {\n\t\t\taction: 'infra_retry',\n\t\t\treason: compileRepair ? 'aicoder_v6_compile_repair_required' : '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 (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\texpectedOutput?: string;\n\tproofKind?: string;\n\tacceptanceGate?: 'aiqa_business_assertion';\n\trequiredArtifacts?: string[];\n\tstateTransition?: {\n\t\tbefore?: string;\n\t\taction?: string;\n\t\tafter?: string;\n\t\tassertion?: string;\n\t};\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 ResolveIOAICoderJourneyContractValidationIssue {\n\tcode: string;\n\tpath: string;\n\tmessage: string;\n\tseverity: 'error' | 'warning';\n}\n\nexport interface ResolveIOAICoderJourneyContractValidationResult {\n\tvalid: boolean;\n\tcontract: Record<string, any> | null;\n\tissues: ResolveIOAICoderJourneyContractValidationIssue[];\n\tworkflowQaRows: ResolveIOAICoderV6WorkflowQaRow[];\n\tprimaryWorkflowId: string;\n}\n\nexport type ResolveIOAICoderWorkflowProofReadinessStatus =\n\t| 'ready'\n\t| 'missing_journey_contract'\n\t| 'journey_invalid'\n\t| 'route_only'\n\t| 'workflow_qa_missing'\n\t| 'workflow_qa_incomplete'\n\t| 'business_proof_missing'\n\t| 'business_proof_weak'\n\t| 'sample_data_missing'\n\t| 'release_blocked'\n\t| 'stale_workflow_proof'\n\t| 'blocked';\n\nexport interface ResolveIOAICoderWorkflowProofReadinessInput {\n\tjourneyContract?: any;\n\tjourneyContractMarkdown?: string;\n\tworkflowQaRows?: ResolveIOAICoderV6WorkflowQaRow[];\n\tbusinessAssertions?: Array<Record<string, any>>;\n\trouteProbes?: Array<Record<string, any>>;\n\tartifactPaths?: string[];\n\tscorecardPassed?: boolean;\n\tdeployStatus?: string;\n\tpublishStatus?: string;\n\tsampleDataStatus?: string;\n\tpreviousWorkflowProofFingerprint?: string;\n\tpreviousArtifactFingerprint?: string;\n\tpreviousWorkflowProofFingerprints?: string[];\n\tpreviousArtifactFingerprints?: string[];\n\tnow?: Date | string;\n}\n\nexport type ResolveIOAICoderWorkflowProofFreshness =\n\t| 'fresh'\n\t| 'same_as_previous'\n\t| 'stale_artifact'\n\t| 'missing'\n\t| 'unknown';\n\nexport interface ResolveIOAICoderWorkflowProofReadiness {\n\tready: boolean;\n\tstatus: ResolveIOAICoderWorkflowProofReadinessStatus;\n\treason: string;\n\tblockers: string[];\n\tjourneyContractValid: boolean;\n\tprimaryWorkflowId: string;\n\tpassedWorkflowRows: string[];\n\tmissingWorkflowRows: string[];\n\tfailedWorkflowRows: string[];\n\tpassedBusinessAssertions: string[];\n\trouteOnly: boolean;\n\tscorecardOnly: boolean;\n\tsampleDataReady: boolean;\n\treleaseBlockers: string[];\n\tartifactPaths: string[];\n\tworkflowProofFingerprint: string;\n\tartifactFingerprint: string;\n\tproofFreshness: ResolveIOAICoderWorkflowProofFreshness;\n\tnextAction: string;\n\tevaluatedAt: string;\n}\n\nexport type ResolveIOAICoderV6ContinuationAction =\n\t| 'continue'\n\t| 'retry_same_step'\n\t| 'switch_to_repair'\n\t| 'park'\n\t| 'budget_stop'\n\t| 'infra_retry'\n\t| 'ready_to_publish';\n\nexport type ResolveIOAICoderWorkflowReadinessStatus =\n\t| 'journey_contract_required'\n\t| 'journey_contract_repair_required'\n\t| 'workflow_build_ready'\n\t| 'workflow_qa_required'\n\t| 'workflow_business_proof_ready'\n\t| 'release_repair_required'\n\t| 'infra_repair_only'\n\t| 'compile_repair_only'\n\t| 'collect_new_evidence'\n\t| 'budget_stopped'\n\t| 'parked';\n\nexport type ResolveIOAICoderWorkflowReadinessGate =\n\t| 'journey_contract'\n\t| 'build'\n\t| 'workflow_qa'\n\t| 'release'\n\t| 'infra'\n\t| 'compile'\n\t| 'evidence'\n\t| 'manual';\n\nexport interface ResolveIOAICoderWorkflowReadiness {\n\tstatus: ResolveIOAICoderWorkflowReadinessStatus;\n\tnextGate: ResolveIOAICoderWorkflowReadinessGate;\n\tnextLane: ResolveIOAICoderV6Lane;\n\tnextStep: ResolveIOAICoderV6StepType;\n\tnextCommand: string;\n\tjourneyContractReady: boolean;\n\tworkflowQaRowsReady: boolean;\n\tbusinessProofReady: boolean;\n\trouteOnlyBlocked: boolean;\n\treleaseBlocked: boolean;\n\tinfraOnly: boolean;\n\tcompileOnly: boolean;\n\tsameFailureParked: boolean;\n\tcanRunProductRepair: boolean;\n\tcanRunWorkflowQa: boolean;\n\tcanPublish: boolean;\n\tcanPolishWowUi: boolean;\n\trequiresHumanDecision: boolean;\n\treason: string;\n\tblockers: string[];\n\tprimaryWorkflowId: string;\n\tactiveWorkflowStep: string;\n\tbusinessProofArtifacts: 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?: ResolveIOAICoderV6ContinuationAction;\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\taiCoderV6RecoveryPlan?: ResolveIOAIManagerRecoveryPlan;\n\taiCoderV6RecoveryCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint;\n\taiCoderV6RecoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe;\n\taiCoderV6RecoveryAction?: ResolveIOAIManagerRecoveryActionPacket;\n\taiCoderV6RecoveryDispatchHistory?: ResolveIOAIManagerRecoveryActionDispatchRecord[];\n\taiCoderV6RecoveryDirective?: ResolveIOAIManagerRecoveryExecutionDirective;\n\taiCoderV6WorkflowReadiness?: ResolveIOAICoderWorkflowReadiness;\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?: ResolveIOAICoderV6ContinuationAction;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAICoderV6ContinuationDecision {\n\taction: ResolveIOAICoderV6ContinuationAction;\n\treason: string;\n\tnextLane: ResolveIOAICoderV6Lane;\n\tnextStep: ResolveIOAICoderV6StepType;\n\trepeatedNoProgressCount: number;\n\tbudgetExceeded: boolean;\n\tworkflowReadiness: ResolveIOAICoderWorkflowReadiness;\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 readField(source: any, keys: string[]): any {\n\tif (!source || typeof source !== 'object') {\n\t\treturn undefined;\n\t}\n\tfor (const key of keys) {\n\t\tif (source[key] !== undefined && source[key] !== null) {\n\t\t\treturn source[key];\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction cleanField(source: any, keys: string[], max = 500): string {\n\treturn cleanText(readField(source, keys), max);\n}\n\nfunction concatFields(source: any, keys: string[], maxEach = 500): string {\n\tif (!source || typeof source !== 'object') {\n\t\treturn '';\n\t}\n\treturn keys\n\t\t.map((key) => cleanText(source[key], maxEach))\n\t\t.filter(Boolean)\n\t\t.join(' ');\n}\n\nfunction asArray(value: any): any[] {\n\tif (!Array.isArray(value)) {\n\t\treturn [];\n\t}\n\treturn value;\n}\n\nfunction stripJsonComments(value: string): string {\n\tlet output = '';\n\tlet inString = false;\n\tlet escaped = false;\n\tfor (let index = 0; index < value.length; index += 1) {\n\t\tconst char = value[index];\n\t\tconst next = value[index + 1];\n\t\tif (inString) {\n\t\t\toutput += char;\n\t\t\tif (escaped) {\n\t\t\t\tescaped = false;\n\t\t\t}\n\t\t\telse if (char === '\\\\') {\n\t\t\t\tescaped = true;\n\t\t\t}\n\t\t\telse if (char === '\"') {\n\t\t\t\tinString = false;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === '\"') {\n\t\t\tinString = true;\n\t\t\toutput += char;\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === '/' && next === '/') {\n\t\t\twhile (index < value.length && value[index] !== '\\n') {\n\t\t\t\tindex += 1;\n\t\t\t}\n\t\t\toutput += '\\n';\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === '/' && next === '*') {\n\t\t\tindex += 2;\n\t\t\twhile (index < value.length && !(value[index] === '*' && value[index + 1] === '/')) {\n\t\t\t\tindex += 1;\n\t\t\t}\n\t\t\tindex += 1;\n\t\t\tcontinue;\n\t\t}\n\t\toutput += char;\n\t}\n\treturn output;\n}\n\nfunction parseJsonObject(value: string): Record<string, any> | null {\n\ttry {\n\t\tconst parsed = JSON.parse(stripJsonComments(value));\n\t\treturn parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;\n\t}\n\tcatch {\n\t\treturn null;\n\t}\n}\n\nexport function extractResolveIOAICoderJourneyContractFromMarkdown(content: string | null | undefined): Record<string, any> | null {\n\tconst normalized = String(content || '').replace(/\\r\\n/g, '\\n');\n\tconst sectionMatch = normalized.match(/##\\s*journey_contract[\\s\\S]*?```json\\s*([\\s\\S]*?)```/i)\n\t\t|| normalized.match(/##\\s*journey_contract[\\s\\S]*?```\\s*([\\s\\S]*?)```/i);\n\tif (sectionMatch?.[1]) {\n\t\treturn parseJsonObject(sectionMatch[1].trim());\n\t}\n\tconst fencedMatch = normalized.match(/```json\\s*([\\s\\S]*?)```/i);\n\tif (fencedMatch?.[1]) {\n\t\treturn parseJsonObject(fencedMatch[1].trim());\n\t}\n\tconst objectMatch = normalized.match(/\\{\\s*\"app_archetype\"[\\s\\S]*\\}\\s*$/m);\n\tif (objectMatch?.[0]) {\n\t\treturn parseJsonObject(objectMatch[0].trim());\n\t}\n\treturn null;\n}\n\nfunction looksLikeAbsoluteRoute(value: string): boolean {\n\treturn value.startsWith('/') && !/\\s/.test(value);\n}\n\nfunction looksPlaceholder(value: string): boolean {\n\treturn /\\b(tbd|todo|placeholder|generic crud|crud-only|lorem ipsum|add details|fill in|coming soon)\\b/i.test(value || '');\n}\n\nfunction isNavigationOnlyAction(source: any): boolean {\n\tconst effect = cleanField(source, ['effect', 'outcome', 'state_change', 'expected_state_transition', 'expected_next_state'], 500).toLowerCase();\n\tconst implementation = cleanField(source, [\n\t\t'method_or_calculation',\n\t\t'server_method_or_publication',\n\t\t'local_calculation_path',\n\t\t'action_implementation',\n\t\t'calculation_path',\n\t\t'data_mutation',\n\t\t'mutation',\n\t\t'persisted_result'\n\t], 500);\n\tif (implementation) {\n\t\treturn false;\n\t}\n\tconst actionType = cleanField(source, ['action_type', 'type', 'kind'], 120).toLowerCase();\n\tconst actionText = [\n\t\tcleanField(source, ['action', 'visible_cta', 'cta', 'label'], 300),\n\t\tcleanField(source, ['next_step_destination', 'next_step', 'destination'], 300)\n\t].join(' ').toLowerCase();\n\tconst navigationSignals = /\\b(navigate|go to|open|view|link|route|page)\\b/.test(actionText)\n\t\t|| /^(?:link|nav|navigation|route)$/i.test(actionType);\n\tconst productiveEffect = /\\b(save|saved|create|created|update|updated|calculate|calculated|optimize|optimized|import|export|report|persist|queued|submitted|validated|generated|compare|recommendation|complete|completed)\\b/.test(effect);\n\treturn navigationSignals && !productiveEffect;\n}\n\nfunction addJourneyIssue(\n\tissues: ResolveIOAICoderJourneyContractValidationIssue[],\n\tcode: string,\n\tpath: string,\n\tmessage: string,\n\tseverity: 'error' | 'warning' = 'error'\n): void {\n\tissues.push({ code, path, message, severity });\n}\n\nfunction normalizeWorkflowStepPosition(step: any, index: number, total: number): string {\n\tconst explicit = cleanField(step, ['position', 'phase', 'order_role'], 60).toLowerCase();\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\tif (index === 0) {\n\t\treturn 'first';\n\t}\n\tif (index === total - 1) {\n\t\treturn 'last';\n\t}\n\treturn 'next';\n}\n\nfunction buildWorkflowStepId(step: any, index: number): string {\n\treturn cleanField(step, ['id', 'step_id', 'key'], 120)\n\t\t|| cleanField(step, ['label', 'title', 'visible_cta'], 120).toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '')\n\t\t|| `step-${index + 1}`;\n}\n\nfunction normalizeWorkflowProofKind(source: any, fallbackText = ''): string {\n\tconst explicit = cleanField(source, ['proof_kind', 'proofKind', 'coverage', 'type', 'kind'], 120).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\tconst text = cleanText([\n\t\tfallbackText,\n\t\tconcatFields(source, ['id', 'step_id', 'stepId', 'action', 'browser_steps', 'expected_dom_or_data_proof', 'proof', 'expected_result', 'viewport'], 700)\n\t].filter(Boolean).join(' '), 1800).toLowerCase();\n\tif (/\\b(mobile|390x844|viewport)\\b/.test(text)) {\n\t\treturn 'mobile';\n\t}\n\tif (/\\b(export|report|pdf|download)\\b/.test(text)) {\n\t\treturn 'report_export';\n\t}\n\tif (/\\b(complete|saved|save|result|recommendation|calculated|optimized|final)\\b/.test(text)) {\n\t\treturn 'workflow_completion';\n\t}\n\tif (/\\b(sample|seeded|non[-\\s]?empty|kpi|table|chart|record|row)\\b/.test(text)) {\n\t\treturn 'non_empty_data';\n\t}\n\tif (/\\b(empty|error|recovery|invalid)\\b/.test(text)) {\n\t\treturn 'recovery';\n\t}\n\tif (/\\b(hub|dashboard|command center|next up|queue)\\b/.test(text)) {\n\t\treturn 'hub_action';\n\t}\n\treturn 'business_workflow';\n}\n\nfunction buildWorkflowQaRequiredArtifacts(source: any, proofKind: string): string[] {\n\tconst explicit = cleanList(readField(source, ['required_artifacts', 'requiredArtifacts', 'proof_artifacts', 'artifact_expectation', 'artifacts_required']), 12, 180);\n\tconst defaultsByKind: Record<string, string[]> = {\n\t\thub_action: ['hub screenshot or DOM snapshot', 'next action state proof'],\n\t\tworkflow_completion: ['before/action/after trace', 'saved or calculated output proof', 'business assertion artifact'],\n\t\treport_export: ['generated report/export artifact', 'export control proof', 'saved output row proof'],\n\t\tnon_empty_data: ['seeded data snapshot', 'non-empty KPI/table/chart proof'],\n\t\tmobile: ['mobile viewport screenshot or trace', 'responsive workflow action proof'],\n\t\trecovery: ['empty/error state screenshot or trace', 'recovery action proof'],\n\t\tbusiness_workflow: ['browser trace or screenshot', 'DOM/data assertion artifact']\n\t};\n\treturn Array.from(new Set([\n\t\t...explicit,\n\t\t...(defaultsByKind[proofKind] || defaultsByKind.business_workflow)\n\t])).slice(0, 16);\n}\n\nfunction buildWorkflowQaStateTransition(source: any, fallback: Partial<ResolveIOAICoderV6WorkflowQaRow> = {}): ResolveIOAICoderV6WorkflowQaRow['stateTransition'] {\n\treturn {\n\t\tbefore: cleanField(source, ['before', 'setup_state', 'initial_state'], 700) || fallback.expectedState,\n\t\taction: cleanField(source, ['action', 'browser_steps', 'visible_cta', 'cta'], 700) || fallback.action,\n\t\tafter: cleanField(source, ['after', 'expected_state', 'expected_result', 'expected_dom_or_data_proof', 'proof'], 700) || fallback.assertion || fallback.expectedState,\n\t\tassertion: cleanField(source, ['assertion', 'expected_dom_or_data_proof', 'proof', 'expected_result'], 700) || fallback.assertion\n\t};\n}\n\nexport function buildResolveIOAICoderWorkflowQaRowsFromJourneyContract(input: any): ResolveIOAICoderV6WorkflowQaRow[] {\n\tconst contract = typeof input === 'string'\n\t\t? extractResolveIOAICoderJourneyContractFromMarkdown(input)\n\t\t: (input && typeof input === 'object' && !Array.isArray(input) ? input : null);\n\tif (!contract) {\n\t\treturn [];\n\t}\n\tconst workflowId = cleanField(contract, ['primary_workflow_id', 'workflow_id', 'id'], 160) || 'north-star';\n\tconst rows: ResolveIOAICoderV6WorkflowQaRow[] = [];\n\tconst qaAssertions = asArray(contract.qa_assertions);\n\tqaAssertions.forEach((assertion, index) => {\n\t\tif (!assertion || typeof assertion !== 'object' || Array.isArray(assertion)) {\n\t\t\treturn;\n\t\t}\n\t\tconst route = cleanField(assertion, ['route', 'screen_route', 'path'], 240);\n\t\tconst action = cleanField(assertion, ['action', 'browser_steps', 'cta', 'visible_cta'], 500);\n\t\tconst expectedState = cleanField(assertion, ['expected_state', 'expected_result', 'expected_dom_or_data_proof', 'proof'], 500);\n\t\tconst assertionText = cleanField(assertion, ['assertion', 'expected_dom_or_data_proof', 'proof', 'expected_result'], 700);\n\t\tif (!route && !action && !assertionText) {\n\t\t\treturn;\n\t\t}\n\t\tconst proofKind = normalizeWorkflowProofKind(assertion);\n\t\tconst rowBase = {\n\t\t\troute: route || undefined,\n\t\t\taction: action || undefined,\n\t\t\tassertion: assertionText || undefined,\n\t\t\texpectedState: expectedState || undefined\n\t\t};\n\t\trows.push({\n\t\t\tindex: cleanNumber(readField(assertion, ['index', 'order'])) || index + 1,\n\t\t\tworkflowId: cleanField(assertion, ['workflow_id', 'workflowId'], 160) || workflowId,\n\t\t\tstepId: cleanField(assertion, ['step_id', 'stepId', 'id'], 160) || `qa-${index + 1}`,\n\t\t\t...rowBase,\n\t\t\texpectedOutput: cleanField(assertion, ['expected_output', 'expectedOutput', 'saved_output', 'calculated_output', 'report_output'], 700) || expectedState || assertionText || undefined,\n\t\t\tproofKind,\n\t\t\tacceptanceGate: 'aiqa_business_assertion',\n\t\t\trequiredArtifacts: buildWorkflowQaRequiredArtifacts(assertion, proofKind),\n\t\t\tstateTransition: buildWorkflowQaStateTransition(assertion, rowBase),\n\t\t\tstatus: cleanField(assertion, ['status'], 120) || undefined,\n\t\t\tartifactPaths: cleanList(readField(assertion, ['artifact_paths', 'artifactPaths']), 20, 500)\n\t\t});\n\t});\n\tif (rows.length) {\n\t\treturn rows.slice(0, 80);\n\t}\n\tasArray(contract.north_star_workflow).forEach((step, index, workflow) => {\n\t\tif (!step || typeof step !== 'object' || Array.isArray(step)) {\n\t\t\treturn;\n\t\t}\n\t\tconst proofKind = normalizeWorkflowProofKind(step, normalizeWorkflowStepPosition(step, index, workflow.length));\n\t\tconst rowBase = {\n\t\t\troute: cleanField(step, ['route'], 240) || undefined,\n\t\t\taction: cleanField(step, ['visible_cta', 'action', 'cta'], 500) || undefined,\n\t\t\tassertion: cleanField(step, ['success_confirmation', 'expected_state_transition', 'final_result'], 700) || undefined,\n\t\t\texpectedState: cleanField(step, ['expected_state_transition', 'success_confirmation', 'final_result'], 500) || undefined\n\t\t};\n\t\trows.push({\n\t\t\tindex: index + 1,\n\t\t\tworkflowId,\n\t\t\tstepId: buildWorkflowStepId(step, index),\n\t\t\t...rowBase,\n\t\t\texpectedOutput: cleanField(step, ['final_result', 'saved_exported_reported_result', 'completion_result', 'expected_state_transition'], 700) || rowBase.expectedState || rowBase.assertion,\n\t\t\tproofKind,\n\t\t\tacceptanceGate: 'aiqa_business_assertion',\n\t\t\trequiredArtifacts: buildWorkflowQaRequiredArtifacts(step, proofKind),\n\t\t\tstateTransition: buildWorkflowQaStateTransition(step, rowBase),\n\t\t\tstatus: undefined,\n\t\t\tartifactPaths: []\n\t\t});\n\t\tvoid workflow;\n\t});\n\treturn rows.slice(0, 80);\n}\n\nexport function validateResolveIOAICoderJourneyContract(input: any, options: {\n\tpathLabel?: string;\n\trequireMarkdownEnvelope?: boolean;\n} = {}): ResolveIOAICoderJourneyContractValidationResult {\n\tconst pathLabel = cleanText(options.pathLabel || 'docs/APP_JOURNEY_CONTRACT.md', 240) || 'docs/APP_JOURNEY_CONTRACT.md';\n\tconst issues: ResolveIOAICoderJourneyContractValidationIssue[] = [];\n\tlet contract: Record<string, any> | null = null;\n\tif (typeof input === 'string') {\n\t\tconst normalized = input.replace(/\\r\\n/g, '\\n');\n\t\tif (!normalized.trim()) {\n\t\t\taddJourneyIssue(issues, 'missing_contract', pathLabel, `${pathLabel}: missing app journey contract.`);\n\t\t\treturn { valid: false, contract: null, issues, workflowQaRows: [], primaryWorkflowId: '' };\n\t\t}\n\t\tif (options.requireMarkdownEnvelope !== false && !/^\\s*#\\s+App Journey Contract/im.test(normalized)) {\n\t\t\taddJourneyIssue(issues, 'missing_heading', pathLabel, `${pathLabel}: missing \"# App Journey Contract\" heading.`);\n\t\t}\n\t\tif (options.requireMarkdownEnvelope !== false && !/##\\s*journey_contract/i.test(normalized)) {\n\t\t\taddJourneyIssue(issues, 'missing_json_section', pathLabel, `${pathLabel}: missing \"## journey_contract\" JSON section.`);\n\t\t}\n\t\tif (looksPlaceholder(normalized)) {\n\t\t\taddJourneyIssue(issues, 'placeholder_text', pathLabel, `${pathLabel}: contains placeholder or generic journey text.`);\n\t\t}\n\t\tcontract = extractResolveIOAICoderJourneyContractFromMarkdown(normalized);\n\t}\n\telse if (input && typeof input === 'object' && !Array.isArray(input)) {\n\t\tcontract = input;\n\t}\n\tif (!contract) {\n\t\taddJourneyIssue(issues, 'invalid_json', pathLabel, `${pathLabel}: journey_contract JSON is missing or invalid.`);\n\t\treturn { valid: false, contract: null, issues, workflowQaRows: [], primaryWorkflowId: '' };\n\t}\n\tconst requiredKeys = [\n\t\t'app_archetype',\n\t\t'primary_actor',\n\t\t'primary_goal',\n\t\t'first_screen',\n\t\t'north_star_workflow',\n\t\t'secondary_workflows',\n\t\t'screen_sequence',\n\t\t'data_story',\n\t\t'completion_states',\n\t\t'qa_assertions'\n\t];\n\tfor (const key of requiredKeys) {\n\t\tif (!(key in contract)) {\n\t\t\taddJourneyIssue(issues, 'missing_key', `${pathLabel}.journey_contract.${key}`, `${pathLabel}: journey_contract missing key \"${key}\".`);\n\t\t}\n\t}\n\tfor (const key of ['app_archetype', 'primary_actor', 'primary_goal']) {\n\t\tconst value = cleanText(contract[key], 500);\n\t\tif (value.length < 4) {\n\t\t\taddJourneyIssue(issues, 'empty_core_field', `${pathLabel}.journey_contract.${key}`, `${pathLabel}: journey_contract.${key} must be non-empty.`);\n\t\t}\n\t\tif (looksPlaceholder(value)) {\n\t\t\taddJourneyIssue(issues, 'placeholder_core_field', `${pathLabel}.journey_contract.${key}`, `${pathLabel}: journey_contract.${key} is placeholder text.`);\n\t\t}\n\t}\n\tconst firstScreen = contract.first_screen;\n\tif (!firstScreen || typeof firstScreen !== 'object' || Array.isArray(firstScreen)) {\n\t\taddJourneyIssue(issues, 'invalid_first_screen', `${pathLabel}.journey_contract.first_screen`, `${pathLabel}: first_screen must be an object.`);\n\t}\n\telse {\n\t\tconst route = cleanField(firstScreen, ['route'], 240);\n\t\tfor (const [label, keys] of [\n\t\t\t['route', ['route']],\n\t\t\t['purpose', ['purpose', 'screen_purpose']],\n\t\t\t['visible_cta', ['visible_cta', 'cta', 'primary_cta']],\n\t\t\t['next_step', ['next_step', 'next_step_destination', 'expected_next_state']]\n\t\t] as Array<[string, string[]]>) {\n\t\t\tif (cleanField(firstScreen, keys, 500).length < 4) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_first_screen', `${pathLabel}.journey_contract.first_screen.${label}`, `${pathLabel}: first_screen.${label} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_first_screen_route', `${pathLabel}.journey_contract.first_screen.route`, `${pathLabel}: first_screen.route must be an absolute app route.`);\n\t\t}\n\t}\n\tconst workflow = asArray(contract.north_star_workflow);\n\tif (workflow.length < 3) {\n\t\taddJourneyIssue(issues, 'workflow_too_short', `${pathLabel}.journey_contract.north_star_workflow`, `${pathLabel}: north_star_workflow must include at least first, next, and last steps.`);\n\t}\n\tconst positions = new Set(workflow.map((step: any, index: number) => normalizeWorkflowStepPosition(step, index, workflow.length)));\n\tfor (const requiredPosition of ['first', 'next', 'last']) {\n\t\tif (!positions.has(requiredPosition)) {\n\t\t\taddJourneyIssue(issues, 'missing_workflow_position', `${pathLabel}.journey_contract.north_star_workflow`, `${pathLabel}: north_star_workflow missing position \"${requiredPosition}\".`);\n\t\t}\n\t}\n\tworkflow.forEach((step: any, index: number) => {\n\t\tconst stepPath = `${pathLabel}.journey_contract.north_star_workflow[${index}]`;\n\t\tif (!step || typeof step !== 'object' || Array.isArray(step)) {\n\t\t\taddJourneyIssue(issues, 'invalid_workflow_step', stepPath, `${pathLabel}: north_star_workflow[${index}] must be an object.`);\n\t\t\treturn;\n\t\t}\n\t\tconst position = normalizeWorkflowStepPosition(step, index, workflow.length);\n\t\tconst route = cleanField(step, ['route'], 240);\n\t\tconst embeddedAction = cleanField(step, ['embedded_hub_action', 'hub_action'], 240);\n\t\tconst implementation = cleanField(step, [\n\t\t\t'method_or_calculation',\n\t\t\t'server_method_or_publication',\n\t\t\t'local_calculation_path',\n\t\t\t'action_implementation',\n\t\t\t'calculation_path',\n\t\t\t'data_mutation',\n\t\t\t'mutation',\n\t\t\t'persisted_result'\n\t\t], 500);\n\t\tconst requiredStepFields: Array<[string, string[]]> = [\n\t\t\t['position', ['position']],\n\t\t\t['visible_cta', ['visible_cta', 'cta', 'label']],\n\t\t\t['data_input_or_selection', ['data_input_or_selection', 'data_input', 'selection', 'input']],\n\t\t\t['expected_state_transition', ['expected_state_transition', 'expected_next_state', 'state_change']],\n\t\t\t['success_confirmation', ['success_confirmation', 'confirmation', 'success_message']],\n\t\t\t['next_step_destination', ['next_step_destination', 'next_step', 'destination']]\n\t\t];\n\t\tfor (const [fieldName, keys] of requiredStepFields) {\n\t\t\tif (fieldName === 'next_step_destination' && position === 'last') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (cleanField(step, keys, 500).length < 3) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_workflow_step', `${stepPath}.${fieldName}`, `${pathLabel}: north_star_workflow[${index}].${fieldName} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tif (!route && !embeddedAction) {\n\t\t\taddJourneyIssue(issues, 'workflow_step_missing_route_or_hub_action', stepPath, `${pathLabel}: north_star_workflow[${index}] must specify a route or embedded hub action.`);\n\t\t}\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_workflow_route', `${stepPath}.route`, `${pathLabel}: north_star_workflow[${index}].route must be an absolute app route.`);\n\t\t}\n\t\tif (!implementation) {\n\t\t\taddJourneyIssue(issues, 'workflow_step_missing_implementation', stepPath, `${pathLabel}: north_star_workflow[${index}] must map the CTA to a server method, publication, local calculation, persisted mutation, or export/report action.`);\n\t\t}\n\t\tif (isNavigationOnlyAction(step)) {\n\t\t\taddJourneyIssue(issues, 'navigation_only_workflow_step', stepPath, `${pathLabel}: north_star_workflow[${index}] appears to be navigation-only instead of advancing state.`);\n\t\t}\n\t\tif (position === 'last' && cleanField(step, ['final_result', 'saved_exported_reported_result', 'completion_result'], 700).length < 8) {\n\t\t\taddJourneyIssue(issues, 'last_step_missing_final_result', `${stepPath}.final_result`, `${pathLabel}: last workflow step must define the saved, exported, reported, or calculated final result.`);\n\t\t}\n\t});\n\tconst secondaryWorkflows = asArray(contract.secondary_workflows);\n\tif (secondaryWorkflows.length < 3) {\n\t\taddJourneyIssue(issues, 'missing_secondary_workflows', `${pathLabel}.journey_contract.secondary_workflows`, `${pathLabel}: secondary_workflows must include setup, manage, report/export, settings/secrets, or recovery coverage.`);\n\t}\n\tconst screenSequence = asArray(contract.screen_sequence);\n\tif (screenSequence.length < Math.min(3, Math.max(workflow.length, 3))) {\n\t\taddJourneyIssue(issues, 'screen_sequence_too_short', `${pathLabel}.journey_contract.screen_sequence`, `${pathLabel}: screen_sequence must map workflow steps to routes, CTAs, data, and next state.`);\n\t}\n\tscreenSequence.forEach((screen: any, index: number) => {\n\t\tconst screenPath = `${pathLabel}.journey_contract.screen_sequence[${index}]`;\n\t\tif (!screen || typeof screen !== 'object' || Array.isArray(screen)) {\n\t\t\taddJourneyIssue(issues, 'invalid_screen_sequence_row', screenPath, `${pathLabel}: screen_sequence[${index}] must be an object.`);\n\t\t\treturn;\n\t\t}\n\t\tfor (const [fieldName, keys] of [\n\t\t\t['route', ['route']],\n\t\t\t['screen_purpose', ['screen_purpose', 'purpose']],\n\t\t\t['visible_cta', ['visible_cta', 'cta']],\n\t\t\t['expected_next_state', ['expected_next_state', 'expected_state_transition']],\n\t\t\t['data_shown', ['data_shown', 'data', 'records_shown']]\n\t\t] as Array<[string, string[]]>) {\n\t\t\tif (cleanField(screen, keys, 500).length < 3) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_screen_sequence_row', `${screenPath}.${fieldName}`, `${pathLabel}: screen_sequence[${index}].${fieldName} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tconst route = cleanField(screen, ['route'], 240);\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_screen_route', `${screenPath}.route`, `${pathLabel}: screen_sequence[${index}].route must be an absolute app route.`);\n\t\t}\n\t\tif (isNavigationOnlyAction(screen)) {\n\t\t\taddJourneyIssue(issues, 'navigation_only_screen_action', screenPath, `${pathLabel}: screen_sequence[${index}] CTA appears to navigate without changing workflow state.`);\n\t\t}\n\t});\n\tconst firstScreenRoute = cleanField(firstScreen, ['route'], 240);\n\tconst hubScreens = screenSequence.filter((screen: any) => {\n\t\tconst route = cleanField(screen, ['route'], 240);\n\t\treturn route === firstScreenRoute || /hub|dashboard/i.test(route);\n\t});\n\tconst hubHasEmbeddedAction = hubScreens.some((screen: any) => {\n\t\tconst text = [\n\t\t\tcleanField(screen, ['embedded_action', 'hub_action', 'action'], 500),\n\t\t\tcleanField(screen, ['method_or_calculation', 'server_method_or_publication', 'local_calculation_path', 'action_implementation'], 500),\n\t\t\tcleanField(screen, ['expected_next_state', 'expected_state_transition'], 500)\n\t\t].join(' ');\n\t\treturn text.trim().length >= 8 && !isNavigationOnlyAction(screen);\n\t});\n\tif (!hubHasEmbeddedAction) {\n\t\taddJourneyIssue(issues, 'hub_missing_embedded_action', `${pathLabel}.journey_contract.screen_sequence`, `${pathLabel}: dashboard hub/first screen must embed at least one primary workflow action instead of acting as a link farm.`);\n\t}\n\tconst dataStory = contract.data_story;\n\tif (!dataStory || typeof dataStory !== 'object' || Array.isArray(dataStory)) {\n\t\taddJourneyIssue(issues, 'invalid_data_story', `${pathLabel}.journey_contract.data_story`, `${pathLabel}: data_story must be an object.`);\n\t}\n\telse {\n\t\tif (cleanField(dataStory, ['seeded_scenario', 'scenario'], 800).length < 12) {\n\t\t\taddJourneyIssue(issues, 'missing_seeded_scenario', `${pathLabel}.journey_contract.data_story.seeded_scenario`, `${pathLabel}: data_story.seeded_scenario must describe the launch sample scenario.`);\n\t\t}\n\t\tif (!asArray(readField(dataStory, ['records', 'seed_records'])).length) {\n\t\t\taddJourneyIssue(issues, 'missing_seed_records', `${pathLabel}.journey_contract.data_story.records`, `${pathLabel}: data_story.records must list seeded records.`);\n\t\t}\n\t\tif (!asArray(readField(dataStory, ['relationships', 'record_relationships'])).length) {\n\t\t\taddJourneyIssue(issues, 'missing_seed_relationships', `${pathLabel}.journey_contract.data_story.relationships`, `${pathLabel}: data_story.relationships must list seeded data relationships.`);\n\t\t}\n\t\tif (asArray(readField(dataStory, ['non_empty_states', 'non_empty_dashboard_states'])).length < 2) {\n\t\t\taddJourneyIssue(issues, 'missing_non_empty_states', `${pathLabel}.journey_contract.data_story.non_empty_states`, `${pathLabel}: data_story.non_empty_states must list non-empty dashboard, workflow, or report states.`);\n\t\t}\n\t}\n\tif (asArray(contract.completion_states).length < 2) {\n\t\taddJourneyIssue(issues, 'missing_completion_states', `${pathLabel}.journey_contract.completion_states`, `${pathLabel}: completion_states must define what done looks like to the user.`);\n\t}\n\tconst qaAssertions = asArray(contract.qa_assertions);\n\tif (qaAssertions.length < 5) {\n\t\taddJourneyIssue(issues, 'qa_assertions_too_short', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions must include login, hub action, workflow completion, sample data, and mobile proof.`);\n\t}\n\tlet hasMobileQa = false;\n\tlet hasRecoveryQa = false;\n\tlet hasCompletionQa = false;\n\tlet hasNonEmptyQa = false;\n\tqaAssertions.forEach((assertion: any, index: number) => {\n\t\tconst qaPath = `${pathLabel}.journey_contract.qa_assertions[${index}]`;\n\t\tif (!assertion || typeof assertion !== 'object' || Array.isArray(assertion)) {\n\t\t\taddJourneyIssue(issues, 'invalid_qa_assertion', qaPath, `${pathLabel}: qa_assertions[${index}] must be an object.`);\n\t\t\treturn;\n\t\t}\n\t\tfor (const [fieldName, keys] of [\n\t\t\t['route', ['route', 'screen_route', 'path']],\n\t\t\t['action', ['action', 'browser_steps', 'visible_cta']],\n\t\t\t['expected_dom_or_data_proof', ['expected_dom_or_data_proof', 'proof', 'expected_result']]\n\t\t] as Array<[string, string[]]>) {\n\t\t\tif (cleanField(assertion, keys, 700).length < 3) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_qa_assertion', `${qaPath}.${fieldName}`, `${pathLabel}: qa_assertions[${index}].${fieldName} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tconst route = cleanField(assertion, ['route', 'screen_route', 'path'], 240);\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_qa_route', `${qaPath}.route`, `${pathLabel}: qa_assertions[${index}].route must be an absolute app route.`);\n\t\t}\n\t\tconst text = [\n\t\t\tconcatFields(assertion, ['id', 'type', 'kind', 'coverage', 'viewport'], 300),\n\t\t\tconcatFields(assertion, ['action', 'browser_steps', 'expected_dom_or_data_proof', 'proof', 'expected_result'], 1000)\n\t\t].join(' ').toLowerCase();\n\t\thasMobileQa = hasMobileQa || /\\b(mobile|390x844|viewport)\\b/.test(text);\n\t\thasRecoveryQa = hasRecoveryQa || /\\b(empty|error|recovery|invalid)\\b/.test(text);\n\t\thasCompletionQa = hasCompletionQa || /\\b(complete|saved|export|report|result|recommendation|calculated|optimized)\\b/.test(text);\n\t\thasNonEmptyQa = hasNonEmptyQa || /\\b(sample|seeded|non[-\\s]?empty|kpi|table|chart|record|row)\\b/.test(text);\n\t});\n\tif (!hasCompletionQa) {\n\t\taddJourneyIssue(issues, 'missing_completion_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing business completion proof.`);\n\t}\n\tif (!hasNonEmptyQa) {\n\t\taddJourneyIssue(issues, 'missing_non_empty_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing non-empty seeded data proof.`);\n\t}\n\tif (!hasMobileQa) {\n\t\taddJourneyIssue(issues, 'missing_mobile_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing mobile viewport proof.`);\n\t}\n\tif (!hasRecoveryQa) {\n\t\taddJourneyIssue(issues, 'missing_recovery_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing empty/error recovery proof.`);\n\t}\n\tconst workflowQaRows = buildResolveIOAICoderWorkflowQaRowsFromJourneyContract(contract);\n\treturn {\n\t\tvalid: !issues.some((issue) => issue.severity === 'error'),\n\t\tcontract,\n\t\tissues,\n\t\tworkflowQaRows,\n\t\tprimaryWorkflowId: cleanField(contract, ['primary_workflow_id', 'workflow_id', 'id'], 160) || 'north-star'\n\t};\n}\n\nexport function collectResolveIOAICoderJourneyContractIssues(input: any, options: {\n\tpathLabel?: string;\n\trequireMarkdownEnvelope?: boolean;\n} = {}): string[] {\n\treturn validateResolveIOAICoderJourneyContract(input, options).issues.map((issue) => issue.message);\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\texpectedOutput: cleanText((value as any).expectedOutput || (value as any).expected_output, 700) || undefined,\n\t\t\tproofKind: cleanText((value as any).proofKind || (value as any).proof_kind, 120) || undefined,\n\t\t\tacceptanceGate: ((value as any).acceptanceGate || (value as any).acceptance_gate) === 'aiqa_business_assertion'\n\t\t\t\t? 'aiqa_business_assertion'\n\t\t\t\t: undefined,\n\t\t\trequiredArtifacts: cleanList((value as any).requiredArtifacts || (value as any).required_artifacts, 20, 180),\n\t\t\tstateTransition: (value as any).stateTransition || (value as any).state_transition\n\t\t\t\t? {\n\t\t\t\t\tbefore: cleanText(((value as any).stateTransition || (value as any).state_transition).before, 700) || undefined,\n\t\t\t\t\taction: cleanText(((value as any).stateTransition || (value as any).state_transition).action, 700) || undefined,\n\t\t\t\t\tafter: cleanText(((value as any).stateTransition || (value as any).state_transition).after, 700) || undefined,\n\t\t\t\t\tassertion: cleanText(((value as any).stateTransition || (value as any).state_transition).assertion, 700) || undefined\n\t\t\t\t}\n\t\t\t\t: 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\nfunction statusLooksPassed(value: any): boolean {\n\tconst normalized = cleanText(value, 120).toLowerCase();\n\treturn !!normalized && /\\b(pass|passed|success|succeeded|ok|done|complete|completed|ready|saved|published|deployed)\\b/i.test(normalized);\n}\n\nfunction statusLooksFailed(value: any): boolean {\n\tconst normalized = cleanText(value, 160).toLowerCase();\n\treturn !!normalized && /\\b(fail|failed|error|blocked|missing|empty|stale|skipped|not ready|not_ready|cannot|could not|invalid)\\b/i.test(normalized);\n}\n\nfunction normalizeProofKey(value: any): string {\n\treturn cleanText(value, 500).toLowerCase().replace(/[^a-z0-9]+/g, ' ').replace(/\\s+/g, ' ').trim();\n}\n\nfunction cleanAssertionArtifactPaths(value: Record<string, any>): string[] {\n\treturn cleanList(\n\t\tvalue.artifactPaths\n\t\t\t|| value.artifact_paths\n\t\t\t|| value.artifacts\n\t\t\t|| value.screenshots\n\t\t\t|| (value.screenshot ? [value.screenshot] : []),\n\t\t20,\n\t\t500\n\t);\n}\n\nfunction normalizeWorkflowProofAssertion(value: any): Record<string, any> {\n\tconst source = value && typeof value === 'object' && !Array.isArray(value) ? value : {};\n\treturn {\n\t\tassertion: cleanText(source.assertion || source.name || source.label || source.expected, 1000),\n\t\tstatus: cleanText(source.status || source.outcome || source.result || (source.passed === true ? 'pass' : source.passed === false ? 'fail' : ''), 120),\n\t\tworkflowId: cleanText(source.workflowId || source.workflow_id || source.workflow || source.workflowName || source.workflow_name, 200),\n\t\tstepId: cleanText(source.stepId || source.step_id || source.id || source.key, 200),\n\t\troute: cleanText(source.route || source.path || source.url, 500),\n\t\taction: cleanText(source.action || source.browser_steps || source.action_under_test || source.actionUnderTest, 800),\n\t\texpected: cleanText(source.expected || source.expected_state || source.expectedState || source.expected_business_state_change || source.expectedBusinessStateChange, 1000),\n\t\tobserved: cleanText(source.observed || source.actual || source.after || source.after_state || source.afterState, 1000),\n\t\tdataProof: cleanText(source.dataProof || source.data_proof || source.domProof || source.dom_proof || source.proof || source.summary, 1400),\n\t\tartifactPaths: cleanAssertionArtifactPaths(source),\n\t\tmetadata: source.metadata && typeof source.metadata === 'object' && !Array.isArray(source.metadata) ? source.metadata : {}\n\t};\n}\n\nfunction workflowRowKey(row: ResolveIOAICoderV6WorkflowQaRow, index: number): string {\n\treturn cleanText(row.stepId || row.assertion || row.action || row.route || `workflow-row-${index + 1}`, 200);\n}\n\nfunction sameWorkflowRow(left: ResolveIOAICoderV6WorkflowQaRow, right: ResolveIOAICoderV6WorkflowQaRow): boolean {\n\tconst leftStep = normalizeProofKey(left.stepId);\n\tconst rightStep = normalizeProofKey(right.stepId);\n\tif (leftStep && rightStep && leftStep === rightStep) {\n\t\treturn true;\n\t}\n\tconst leftRoute = normalizeProofKey(left.route);\n\tconst rightRoute = normalizeProofKey(right.route);\n\tconst leftAction = normalizeProofKey(left.action || left.assertion);\n\tconst rightAction = normalizeProofKey(right.action || right.assertion);\n\treturn !!leftRoute && !!rightRoute && leftRoute === rightRoute && !!leftAction && !!rightAction && (leftAction.includes(rightAction) || rightAction.includes(leftAction));\n}\n\nfunction mergeWorkflowQaRows(\n\tcontractRows: ResolveIOAICoderV6WorkflowQaRow[],\n\trecordedRows: ResolveIOAICoderV6WorkflowQaRow[]\n): ResolveIOAICoderV6WorkflowQaRow[] {\n\tif (!contractRows.length) {\n\t\treturn recordedRows;\n\t}\n\treturn contractRows.map((contractRow) => {\n\t\tconst recorded = recordedRows.find((row) => sameWorkflowRow(contractRow, row));\n\t\tif (!recorded) {\n\t\t\treturn contractRow;\n\t\t}\n\t\treturn {\n\t\t\t...contractRow,\n\t\t\t...recorded,\n\t\t\tworkflowId: recorded.workflowId || contractRow.workflowId,\n\t\t\tstepId: recorded.stepId || contractRow.stepId,\n\t\t\troute: recorded.route || contractRow.route,\n\t\t\taction: recorded.action || contractRow.action,\n\t\t\tassertion: recorded.assertion || contractRow.assertion,\n\t\t\texpectedState: recorded.expectedState || contractRow.expectedState,\n\t\t\texpectedOutput: recorded.expectedOutput || contractRow.expectedOutput,\n\t\t\tproofKind: recorded.proofKind || contractRow.proofKind,\n\t\t\tacceptanceGate: recorded.acceptanceGate || contractRow.acceptanceGate,\n\t\t\trequiredArtifacts: Array.from(new Set([\n\t\t\t\t...cleanList(contractRow.requiredArtifacts, 20, 180),\n\t\t\t\t...cleanList(recorded.requiredArtifacts, 20, 180)\n\t\t\t])),\n\t\t\tstateTransition: recorded.stateTransition || contractRow.stateTransition,\n\t\t\tartifactPaths: Array.from(new Set([\n\t\t\t\t...cleanList(contractRow.artifactPaths, 20, 500),\n\t\t\t\t...cleanList(recorded.artifactPaths, 20, 500)\n\t\t\t]))\n\t\t};\n\t});\n}\n\nfunction assertionMatchesWorkflowRow(assertion: Record<string, any>, row: ResolveIOAICoderV6WorkflowQaRow): boolean {\n\tconst metadata = assertion.metadata || {};\n\tif (metadata.workflowQaRowMatched === true || metadata.journeyContractMatched === true || metadata.aicoderWorkflowProof === true) {\n\t\treturn true;\n\t}\n\tconst rowStep = normalizeProofKey(row.stepId);\n\tconst assertionStep = normalizeProofKey(assertion.stepId || metadata.stepId || metadata.step_id);\n\tif (rowStep && assertionStep && rowStep === assertionStep) {\n\t\treturn true;\n\t}\n\tconst rowRoute = normalizeProofKey(row.route);\n\tconst assertionRoute = normalizeProofKey(assertion.route);\n\tconst rowAction = normalizeProofKey(row.action || row.assertion);\n\tconst assertionAction = normalizeProofKey([\n\t\tassertion.action,\n\t\tassertion.assertion,\n\t\tassertion.expected,\n\t\tassertion.observed,\n\t\tassertion.dataProof\n\t].filter(Boolean).join(' '));\n\treturn !!rowRoute\n\t\t&& !!assertionRoute\n\t\t&& rowRoute === assertionRoute\n\t\t&& !!rowAction\n\t\t&& !!assertionAction\n\t\t&& (assertionAction.includes(rowAction) || rowAction.includes(assertionAction));\n}\n\nfunction workflowRowPassingAssertion(row: ResolveIOAICoderV6WorkflowQaRow, assertions: Record<string, any>[]): Record<string, any> | undefined {\n\treturn assertions.find((assertion) => statusLooksPassed(assertion.status) && assertionMatchesWorkflowRow(assertion, row));\n}\n\nfunction workflowAssertionHasOutputProof(assertion: Record<string, any> | undefined): boolean {\n\tif (!assertion) {\n\t\treturn false;\n\t}\n\treturn cleanText(assertion.dataProof, 1000).length >= 8\n\t\t|| cleanText(assertion.observed, 1000).length >= 8\n\t\t|| cleanText(assertion.expected, 1000).length >= 8\n\t\t|| cleanList(assertion.artifactPaths, 20, 500).length > 0;\n}\n\nfunction workflowRowArtifactPaths(row: ResolveIOAICoderV6WorkflowQaRow, assertion?: Record<string, any>): string[] {\n\treturn Array.from(new Set([\n\t\t...cleanList(row.artifactPaths, 20, 500),\n\t\t...cleanList(assertion?.artifactPaths, 20, 500)\n\t]));\n}\n\nfunction workflowRowRequiresOutputProof(row: ResolveIOAICoderV6WorkflowQaRow): boolean {\n\tconst proofKind = cleanText(row.proofKind, 120).toLowerCase();\n\tif (/^(workflow_completion|report_export|non_empty_data|hub_action|business_workflow)$/.test(proofKind)) {\n\t\treturn true;\n\t}\n\tconst text = cleanText([\n\t\trow.expectedOutput,\n\t\trow.expectedState,\n\t\trow.assertion,\n\t\trow.stateTransition?.after,\n\t\trow.stateTransition?.assertion\n\t].filter(Boolean).join(' '), 1600).toLowerCase();\n\treturn /\\b(save|saved|persist|calculated|optimized|recommendation|report|export|result|non[-\\s]?empty|record|row|kpi|table|chart)\\b/.test(text);\n}\n\nfunction workflowRowRequiresMappedBusinessAssertion(row: ResolveIOAICoderV6WorkflowQaRow): boolean {\n\tconst proofKind = cleanText(row.proofKind, 120).toLowerCase();\n\tif (/^(workflow_completion|report_export)$/.test(proofKind)) {\n\t\treturn true;\n\t}\n\tif (/^(mobile|recovery|hub_action|non_empty_data)$/.test(proofKind)) {\n\t\treturn false;\n\t}\n\tconst text = cleanText([\n\t\trow.stepId,\n\t\trow.expectedOutput,\n\t\trow.expectedState,\n\t\trow.assertion,\n\t\trow.stateTransition?.after\n\t].filter(Boolean).join(' '), 1600).toLowerCase();\n\treturn /\\b(workflow[-_\\s]?completion|save|saved|persist|calculated|optimized|recommendation|report|export|final result)\\b/.test(text);\n}\n\nfunction workflowRowWeakProofReason(row: ResolveIOAICoderV6WorkflowQaRow, assertions: Record<string, any>[]): string {\n\tconst assertion = workflowRowPassingAssertion(row, assertions);\n\tconst rowPassed = statusLooksPassed(row.status);\n\tif (!rowPassed && !assertion) {\n\t\treturn '';\n\t}\n\tconst artifactPaths = workflowRowArtifactPaths(row, assertion);\n\tconst requiredArtifacts = cleanList(row.requiredArtifacts, 20, 180);\n\tif (requiredArtifacts.length && !artifactPaths.length) {\n\t\treturn `${workflowRowKey(row, 0)} missing required artifact proof: ${requiredArtifacts.slice(0, 3).join(', ')}`;\n\t}\n\tif (row.acceptanceGate === 'aiqa_business_assertion' && workflowRowRequiresMappedBusinessAssertion(row) && !assertion) {\n\t\treturn `${workflowRowKey(row, 0)} requires mapped AIQaBusinessAssertion proof.`;\n\t}\n\tif (workflowRowRequiresOutputProof(row) && !workflowAssertionHasOutputProof(assertion) && !cleanText(row.expectedOutput || row.expectedState, 700)) {\n\t\treturn `${workflowRowKey(row, 0)} missing saved/calculated/report output proof.`;\n\t}\n\treturn '';\n}\n\nfunction workflowRowHasProof(row: ResolveIOAICoderV6WorkflowQaRow, assertions: Record<string, any>[]): boolean {\n\tif (workflowRowWeakProofReason(row, assertions)) {\n\t\treturn false;\n\t}\n\tif (statusLooksPassed(row.status) && cleanList(row.artifactPaths, 20, 500).length) {\n\t\treturn true;\n\t}\n\treturn !!workflowRowPassingAssertion(row, assertions);\n}\n\nfunction workflowRowFailed(row: ResolveIOAICoderV6WorkflowQaRow, assertions: Record<string, any>[]): boolean {\n\tif (statusLooksFailed(row.status)) {\n\t\treturn true;\n\t}\n\treturn assertions.some((assertion) => statusLooksFailed(assertion.status) && assertionMatchesWorkflowRow(assertion, row));\n}\n\nfunction collectContractArtifactPaths(\n\trows: ResolveIOAICoderV6WorkflowQaRow[],\n\tassertions: Record<string, any>[],\n\textraPaths: any\n): string[] {\n\treturn Array.from(new Set([\n\t\t...cleanList(extraPaths, 40, 500),\n\t\t...rows.flatMap((row) => cleanList(row.artifactPaths, 20, 500)),\n\t\t...assertions.flatMap((assertion) => cleanList(assertion.artifactPaths, 20, 500))\n\t])).slice(0, 80);\n}\n\nfunction stableProofValue(value: any): any {\n\tif (Array.isArray(value)) {\n\t\treturn value.map(stableProofValue);\n\t}\n\tif (value && typeof value === 'object') {\n\t\treturn Object.keys(value)\n\t\t\t.sort()\n\t\t\t.reduce((accumulator, key) => {\n\t\t\t\tconst cleanKey = cleanText(key, 120);\n\t\t\t\tif (!cleanKey || /^(evaluatedAt|recordedAt|createdAt|updatedAt|timestamp|durationMs)$/i.test(cleanKey)) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\t\t\t\tconst nextValue = stableProofValue(value[key]);\n\t\t\t\tif (nextValue !== undefined && nextValue !== '' && !(Array.isArray(nextValue) && !nextValue.length)) {\n\t\t\t\t\taccumulator[cleanKey] = nextValue;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, {} as Record<string, any>);\n\t}\n\tif (typeof value === 'number') {\n\t\treturn Number.isFinite(value) ? value : undefined;\n\t}\n\tif (typeof value === 'boolean') {\n\t\treturn value;\n\t}\n\treturn cleanText(value, 2000);\n}\n\nfunction fingerprintResolveIOAICoderWorkflowProofPayload(value: any, prefix: string): string {\n\tconst text = JSON.stringify(stableProofValue(value));\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 `${prefix}-${Math.abs(hash).toString(36)}`;\n}\n\nfunction normalizeWorkflowProofFingerprintList(...values: any[]): string[] {\n\tconst fingerprints: string[] = [];\n\tfor (const value of values) {\n\t\tconst list = Array.isArray(value) ? value : value ? [value] : [];\n\t\tfor (const entry of list) {\n\t\t\tconst normalized = cleanText(entry, 200);\n\t\t\tif (normalized && !fingerprints.includes(normalized)) {\n\t\t\t\tfingerprints.push(normalized);\n\t\t\t}\n\t\t}\n\t}\n\treturn fingerprints.slice(0, 40);\n}\n\nexport function evaluateResolveIOAICoderWorkflowProofReadiness(\n\tinput: ResolveIOAICoderWorkflowProofReadinessInput = {}\n): ResolveIOAICoderWorkflowProofReadiness {\n\tconst now = isoNow(input.now);\n\tconst journeyInput = input.journeyContract !== undefined ? input.journeyContract : input.journeyContractMarkdown;\n\tconst hasJourneyInput = journeyInput !== undefined && journeyInput !== null && cleanText(journeyInput, 100).length > 0;\n\tconst journeyValidation = hasJourneyInput\n\t\t? validateResolveIOAICoderJourneyContract(journeyInput, {\n\t\t\trequireMarkdownEnvelope: typeof journeyInput === 'string'\n\t\t})\n\t\t: {\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: 'docs/APP_JOURNEY_CONTRACT.md',\n\t\t\t\tmessage: 'docs/APP_JOURNEY_CONTRACT.md is required before workflow proof can accept the app.',\n\t\t\t\tseverity: 'error' as const\n\t\t\t}],\n\t\t\tworkflowQaRows: [],\n\t\t\tprimaryWorkflowId: ''\n\t\t};\n\tconst recordedRows = cleanWorkflowQaRows(input.workflowQaRows, 120);\n\tconst rows = mergeWorkflowQaRows(journeyValidation.workflowQaRows, recordedRows);\n\tconst assertions = asArray(input.businessAssertions).map(normalizeWorkflowProofAssertion).filter((assertion) => {\n\t\treturn assertion.assertion || assertion.route || assertion.action || assertion.dataProof || assertion.status;\n\t});\n\tconst routeOnly = asArray(input.routeProbes).some((probe) => statusLooksPassed((probe as any)?.status || ((probe as any)?.passed === true ? 'pass' : '')))\n\t\t&& !assertions.some((assertion) => statusLooksPassed(assertion.status));\n\tconst weakProofReasons = rows.map((row) => workflowRowWeakProofReason(row, assertions)).filter(Boolean);\n\tconst failedRows = rows.filter((row) => workflowRowFailed(row, assertions));\n\tconst passedRows = rows.filter((row) => workflowRowHasProof(row, assertions));\n\tconst missingRows = rows.filter((row) => !workflowRowHasProof(row, assertions) && !workflowRowFailed(row, assertions));\n\tconst passedAssertions = assertions.filter((assertion) => statusLooksPassed(assertion.status));\n\tconst releaseBlockers = [\n\t\tstatusLooksFailed(input.deployStatus) ? `deploy=${cleanText(input.deployStatus, 160)}` : '',\n\t\tstatusLooksFailed(input.publishStatus) ? `publish=${cleanText(input.publishStatus, 160)}` : '',\n\t\tstatusLooksFailed(input.sampleDataStatus) ? `sample_data=${cleanText(input.sampleDataStatus, 160)}` : ''\n\t].filter(Boolean);\n\tconst hasDataProof = passedAssertions.some((assertion) => cleanText(assertion.dataProof, 1000).length >= 8);\n\tconst sampleDataReady = statusLooksPassed(input.sampleDataStatus)\n\t\t|| (!statusLooksFailed(input.sampleDataStatus) && hasDataProof);\n\tconst artifactPaths = collectContractArtifactPaths(rows, assertions, input.artifactPaths);\n\tconst workflowProofFingerprint = fingerprintResolveIOAICoderWorkflowProofPayload({\n\t\tprimaryWorkflowId: journeyValidation.primaryWorkflowId || cleanText(recordedRows[0]?.workflowId, 160),\n\t\tpassedWorkflowRows: passedRows.map(workflowRowKey),\n\t\tfailedWorkflowRows: failedRows.map(workflowRowKey),\n\t\tmissingWorkflowRows: missingRows.map(workflowRowKey),\n\t\tpassedBusinessAssertions: passedAssertions.map((assertion) => ({\n\t\t\tassertion: assertion.assertion,\n\t\t\tworkflowId: assertion.workflowId,\n\t\t\tstepId: assertion.stepId,\n\t\t\troute: assertion.route,\n\t\t\taction: assertion.action,\n\t\t\texpected: assertion.expected,\n\t\t\tobserved: assertion.observed,\n\t\t\tdataProof: assertion.dataProof,\n\t\t\tartifactPaths: assertion.artifactPaths\n\t\t})),\n\t\tsampleDataStatus: input.sampleDataStatus,\n\t\tsampleDataReady,\n\t\tartifactPaths\n\t}, 'aicoder-workflow-proof');\n\tconst artifactFingerprint = fingerprintResolveIOAICoderWorkflowProofPayload({\n\t\tartifactPaths,\n\t\tbusinessDataProof: passedAssertions.map((assertion) => ({\n\t\t\tstepId: assertion.stepId,\n\t\t\troute: assertion.route,\n\t\t\tdataProof: assertion.dataProof,\n\t\t\tobserved: assertion.observed,\n\t\t\tartifactPaths: assertion.artifactPaths\n\t\t}))\n\t}, 'aicoder-workflow-artifacts');\n\tconst previousWorkflowFingerprints = normalizeWorkflowProofFingerprintList(\n\t\tinput.previousWorkflowProofFingerprint,\n\t\tinput.previousWorkflowProofFingerprints\n\t);\n\tconst previousArtifactFingerprints = normalizeWorkflowProofFingerprintList(\n\t\tinput.previousArtifactFingerprint,\n\t\tinput.previousArtifactFingerprints\n\t);\n\tlet proofFreshness: ResolveIOAICoderWorkflowProofFreshness = 'unknown';\n\tif (!passedAssertions.length && !artifactPaths.length) {\n\t\tproofFreshness = 'missing';\n\t}\n\telse if (previousWorkflowFingerprints.includes(workflowProofFingerprint)) {\n\t\tproofFreshness = 'same_as_previous';\n\t}\n\telse if (previousArtifactFingerprints.includes(artifactFingerprint)) {\n\t\tproofFreshness = 'stale_artifact';\n\t}\n\telse {\n\t\tproofFreshness = 'fresh';\n\t}\n\tconst blockers: string[] = [];\n\tlet status: ResolveIOAICoderWorkflowProofReadinessStatus = 'ready';\n\tlet reason = 'Journey contract and workflow business proof are ready.';\n\tlet nextAction = 'Proceed to the smallest remaining release gate.';\n\tif (!hasJourneyInput) {\n\t\tstatus = 'missing_journey_contract';\n\t\tblockers.push('Generate and validate docs/APP_JOURNEY_CONTRACT.md before build/acceptance.');\n\t\treason = 'AICoder cannot accept an app without a journey contract.';\n\t\tnextAction = 'Run journey_contract generation and validation first.';\n\t}\n\telse if (!journeyValidation.valid) {\n\t\tstatus = 'journey_invalid';\n\t\tblockers.push(...journeyValidation.issues.filter((issue) => issue.severity === 'error').map((issue) => issue.message).slice(0, 8));\n\t\treason = 'Journey contract validation failed.';\n\t\tnextAction = 'Repair docs/APP_JOURNEY_CONTRACT.md before product-code repair.';\n\t}\n\telse if (routeOnly) {\n\t\tstatus = 'route_only';\n\t\tblockers.push('Route/browser proof passed, but no workflow business assertion passed.');\n\t\treason = 'Route-only proof cannot accept an AICoder app.';\n\t\tnextAction = 'Run workflow QA generated from the journey contract.';\n\t}\n\telse if (!rows.length) {\n\t\tstatus = 'workflow_qa_missing';\n\t\tblockers.push('No workflow QA rows were generated or recorded from the journey contract.');\n\t\treason = 'Workflow QA evidence is missing.';\n\t\tnextAction = 'Generate workflow QA rows from journey_contract.qa_assertions.';\n\t}\n\telse if (weakProofReasons.length) {\n\t\tstatus = 'business_proof_weak';\n\t\tblockers.push(...weakProofReasons.slice(0, 8));\n\t\treason = 'Workflow QA rows passed without the structured artifacts or mapped output proof required by the Journey Contract.';\n\t\tnextAction = 'Rerun the weak workflow QA rows and record AIQaBusinessAssertion plus required artifacts.';\n\t}\n\telse if (failedRows.length || missingRows.length) {\n\t\tstatus = 'workflow_qa_incomplete';\n\t\tblockers.push(\n\t\t\t...failedRows.map((row, index) => `failed:${workflowRowKey(row, index)}`).slice(0, 8),\n\t\t\t...missingRows.map((row, index) => `missing:${workflowRowKey(row, index)}`).slice(0, 8)\n\t\t);\n\t\treason = 'Not all journey contract workflow QA rows have passed business proof.';\n\t\tnextAction = 'Rerun or repair the incomplete workflow QA rows before publish.';\n\t}\n\telse if (!passedAssertions.length) {\n\t\tstatus = input.scorecardPassed === true ? 'business_proof_missing' : 'workflow_qa_incomplete';\n\t\tblockers.push('Workflow rows have no mapped AIQaBusinessAssertion business proof.');\n\t\treason = input.scorecardPassed === true\n\t\t\t? 'Scorecard-only proof is not acceptance.'\n\t\t\t: 'Workflow business proof is missing.';\n\t\tnextAction = 'Record AIQaBusinessAssertion rows tied to the journey contract.';\n\t}\n\telse if (releaseBlockers.length) {\n\t\tstatus = 'release_blocked';\n\t\tblockers.push(...releaseBlockers);\n\t\treason = 'Workflow proof passed, but release/deploy/sample-data gates block acceptance.';\n\t\tnextAction = 'Repair only the failed release gate or hotfix artifact before rerunning publish/deploy.';\n\t}\n\telse if (!sampleDataReady) {\n\t\tstatus = 'sample_data_missing';\n\t\tblockers.push('No non-empty seeded/sample data proof is available for the workflow.');\n\t\treason = 'AICoder app proof must include meaningful non-empty data.';\n\t\tnextAction = 'Seed meaningful records and rerun workflow QA against that data.';\n\t}\n\telse if (proofFreshness === 'same_as_previous' || proofFreshness === 'stale_artifact') {\n\t\tstatus = 'stale_workflow_proof';\n\t\tblockers.push(proofFreshness === 'same_as_previous'\n\t\t\t? 'Workflow business proof fingerprint is unchanged from a prior run.'\n\t\t\t: 'Workflow proof artifacts are unchanged from a prior run.');\n\t\treason = 'AICoder workflow proof is stale; repeated evidence cannot advance acceptance.';\n\t\tnextAction = 'Rerun workflow QA from journey_contract.qa_assertions and record fresh AIQaBusinessAssertion artifacts.';\n\t}\n\treturn {\n\t\tready: status === 'ready',\n\t\tstatus,\n\t\treason,\n\t\tblockers,\n\t\tjourneyContractValid: journeyValidation.valid,\n\t\tprimaryWorkflowId: journeyValidation.primaryWorkflowId || cleanText(recordedRows[0]?.workflowId, 160),\n\t\tpassedWorkflowRows: passedRows.map(workflowRowKey),\n\t\tmissingWorkflowRows: missingRows.map(workflowRowKey),\n\t\tfailedWorkflowRows: failedRows.map(workflowRowKey),\n\t\tpassedBusinessAssertions: passedAssertions.map((assertion) => cleanText(assertion.assertion || assertion.stepId || assertion.route, 300)).filter(Boolean).slice(0, 40),\n\t\trouteOnly,\n\t\tscorecardOnly: input.scorecardPassed === true && !passedAssertions.length,\n\t\tsampleDataReady,\n\t\treleaseBlockers,\n\t\tartifactPaths,\n\t\tworkflowProofFingerprint,\n\t\tartifactFingerprint,\n\t\tproofFreshness,\n\t\tnextAction,\n\t\tevaluatedAt: now\n\t};\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\nfunction aicoderWorkflowReadinessNextCommand(status: ResolveIOAICoderWorkflowReadinessStatus): string {\n\tswitch (status) {\n\t\tcase 'journey_contract_required':\n\t\t\treturn 'Generate and validate docs/APP_JOURNEY_CONTRACT.md before product-code build work.';\n\t\tcase 'journey_contract_repair_required':\n\t\t\treturn 'Repair the journey contract until first/next/last workflow QA rows validate.';\n\t\tcase 'workflow_build_ready':\n\t\t\treturn 'Build the north-star workflow from the journey contract and seeded data story.';\n\t\tcase 'workflow_qa_required':\n\t\t\treturn 'Run workflow QA from journey_contract.qa_assertions and record AIQaBusinessAssertion proof.';\n\t\tcase 'workflow_business_proof_ready':\n\t\t\treturn 'Proceed only to release/publish gates; wow UI polish is allowed after business proof.';\n\t\tcase 'release_repair_required':\n\t\t\treturn 'Repair the failed publish/deploy/sample-data gate without rebuilding the app shell.';\n\t\tcase 'infra_repair_only':\n\t\t\treturn 'Repair Puppeteer, Chrome, Mongo, startup, port, cache, or environment evidence only.';\n\t\tcase 'compile_repair_only':\n\t\t\treturn 'Repair compile/build evidence only and rerun the same deterministic build gate.';\n\t\tcase 'collect_new_evidence':\n\t\t\treturn 'Collect new evidence for the stuck blocker before another model/code loop.';\n\t\tcase 'budget_stopped':\n\t\t\treturn 'Stop autonomous spend and request a bounded human decision.';\n\t\tcase 'parked':\n\t\t\treturn 'Park the run until a human chooses the next bounded action.';\n\t\tdefault:\n\t\t\treturn 'Review workflow evidence before continuing.';\n\t}\n}\n\nfunction aicoderWorkflowReadinessGateFor(status: ResolveIOAICoderWorkflowReadinessStatus): ResolveIOAICoderWorkflowReadinessGate {\n\tswitch (status) {\n\t\tcase 'journey_contract_required':\n\t\tcase 'journey_contract_repair_required':\n\t\t\treturn 'journey_contract';\n\t\tcase 'workflow_build_ready':\n\t\t\treturn 'build';\n\t\tcase 'workflow_qa_required':\n\t\tcase 'workflow_business_proof_ready':\n\t\t\treturn 'workflow_qa';\n\t\tcase 'release_repair_required':\n\t\t\treturn 'release';\n\t\tcase 'infra_repair_only':\n\t\t\treturn 'infra';\n\t\tcase 'compile_repair_only':\n\t\t\treturn 'compile';\n\t\tcase 'collect_new_evidence':\n\t\t\treturn 'evidence';\n\t\tcase 'budget_stopped':\n\t\tcase 'parked':\n\t\t\treturn 'manual';\n\t\tdefault:\n\t\t\treturn 'manual';\n\t}\n}\n\nexport function buildResolveIOAICoderV6WorkflowReadiness(\n\tbundle: ResolveIOAICoderV6StateBundle,\n\tcontext: {\n\t\taction?: ResolveIOAICoderV6ContinuationAction;\n\t\treason?: string;\n\t\tnextLane?: ResolveIOAICoderV6Lane;\n\t\tnextStep?: ResolveIOAICoderV6StepType;\n\t\tbudgetExceeded?: boolean;\n\t\trepeatedNoProgressCount?: number;\n\t} = {}\n): ResolveIOAICoderWorkflowReadiness {\n\tconst history = Array.isArray(bundle.aiCoderV6StepHistory) ? bundle.aiCoderV6StepHistory : [];\n\tconst last = history[history.length - 1];\n\tconst workflowMemory = bundle.aiCoderV6WorkflowMemory || {} as ResolveIOAICoderV6WorkflowMemory;\n\tconst rows = cleanWorkflowQaRows(workflowMemory.workflowQaRows, 80);\n\tconst proofArtifacts = cleanList(workflowMemory.businessProofArtifacts, 80, 500);\n\tconst completedSteps = cleanList(workflowMemory.completedWorkflowSteps, 80, 240);\n\tconst primaryWorkflowId = cleanText(workflowMemory.primaryWorkflowId || rows[0]?.workflowId, 200);\n\tconst activeWorkflowStep = cleanText(workflowMemory.activeWorkflowStep || workflowMemory.blockedWorkflowStep || rows.find((row) => !statusLooksPassed(row.status))?.stepId, 200);\n\tconst failureClass = cleanText(last?.failureClass, 120).toLowerCase();\n\tconst reason = cleanText(context.reason || last?.blocker || last?.summary, 1000);\n\tconst combinedText = `${failureClass}\\n${reason}\\n${last?.stepType || ''}\\n${last?.lane || ''}`.toLowerCase();\n\tconst compileOnly = failureClass === 'compile'\n\t\t|| /\\b(compile|typescript|ts[0-9]{3,5}|ng build|cannot find name|module not found)\\b/i.test(combinedText);\n\tconst infraOnly = !compileOnly && (failureClass === 'infra'\n\t\t|| /\\b(puppeteer|chrome|browser executable|mongo|port|startup|settings\\.json|node_modules|cache|lock)\\b/i.test(combinedText));\n\tconst releaseBlocked = failureClass === 'release'\n\t\t|| context.nextLane === 'publish'\n\t\t|| /\\b(release|publish|deploy|cloudfront|artifact|sample data|sample_data)\\b/i.test(combinedText);\n\tconst routeOnlyBlocked = /\\b(route only|route-only|route loaded|route_probe|browser route|shell only|shell-only)\\b/i.test(combinedText);\n\tconst sameFailureParked = context.action === 'park'\n\t\t|| context.reason === 'aicoder_v6_repeated_no_progress'\n\t\t|| context.reason === 'aicoder_v6_ping_pong_no_progress';\n\tconst budgetStopped = context.action === 'budget_stop' || context.budgetExceeded === true;\n\tconst workflowQaRowsReady = rows.length > 0;\n\tconst journeyContractReady = !!cleanText(workflowMemory.journeyContractPath, 500)\n\t\t&& (!!primaryWorkflowId || workflowQaRowsReady || completedSteps.length > 0);\n\tconst passedWorkflowRows = rows.filter((row) => statusLooksPassed(row.status));\n\tconst businessProofReady = proofArtifacts.length > 0\n\t\t|| passedWorkflowRows.some((row) => cleanList(row.artifactPaths, 10, 500).length > 0)\n\t\t|| completedSteps.length > 0;\n\tlet status: ResolveIOAICoderWorkflowReadinessStatus = 'workflow_build_ready';\n\tconst blockers: string[] = [];\n\tif (budgetStopped) {\n\t\tstatus = 'budget_stopped';\n\t\tblockers.push('Budget guard stopped autonomous spend.');\n\t}\n\telse if (sameFailureParked) {\n\t\tstatus = 'collect_new_evidence';\n\t\tblockers.push('Same failure class repeated without enough new evidence.');\n\t}\n\telse if (compileOnly && context.action === 'infra_retry') {\n\t\tstatus = 'compile_repair_only';\n\t\tblockers.push('Compile/build gate failed; do not count this as product workflow failure.');\n\t}\n\telse if (infraOnly && context.action === 'infra_retry') {\n\t\tstatus = 'infra_repair_only';\n\t\tblockers.push('Infra gate failed; repair only environment/browser/startup dependencies.');\n\t}\n\telse if (failureClass === 'journey' || context.reason === 'aicoder_v6_journey_contract_repair_required') {\n\t\tstatus = 'journey_contract_repair_required';\n\t\tblockers.push('Journey contract failed validation.');\n\t}\n\telse if (!journeyContractReady) {\n\t\tstatus = 'journey_contract_required';\n\t\tblockers.push('Journey contract workflow memory is not ready.');\n\t}\n\telse if (releaseBlocked || context.reason === 'aicoder_v6_release_repair_required') {\n\t\tstatus = 'release_repair_required';\n\t\tblockers.push('Release/publish/deploy gate blocks acceptance.');\n\t}\n\telse if (!workflowQaRowsReady || !businessProofReady || routeOnlyBlocked) {\n\t\tstatus = 'workflow_qa_required';\n\t\tif (!workflowQaRowsReady) {\n\t\t\tblockers.push('Workflow QA rows are missing.');\n\t\t}\n\t\tif (!businessProofReady) {\n\t\t\tblockers.push('AIQaBusinessAssertion proof is missing.');\n\t\t}\n\t\tif (routeOnlyBlocked) {\n\t\t\tblockers.push('Route/browser proof is not workflow business proof.');\n\t\t}\n\t}\n\telse if (businessProofReady) {\n\t\tstatus = 'workflow_business_proof_ready';\n\t}\n\tconst canRunWorkflowQa = journeyContractReady\n\t\t&& workflowQaRowsReady\n\t\t&& !infraOnly\n\t\t&& !compileOnly\n\t\t&& !sameFailureParked\n\t\t&& !budgetStopped;\n\tconst canPublish = status === 'workflow_business_proof_ready'\n\t\t&& !releaseBlocked\n\t\t&& !infraOnly\n\t\t&& !compileOnly\n\t\t&& !sameFailureParked\n\t\t&& !budgetStopped;\n\tconst canRunProductRepair = journeyContractReady\n\t\t&& !infraOnly\n\t\t&& !compileOnly\n\t\t&& !sameFailureParked\n\t\t&& !budgetStopped\n\t\t&& status !== 'journey_contract_repair_required'\n\t\t&& status !== 'release_repair_required'\n\t\t&& status !== 'workflow_business_proof_ready';\n\treturn {\n\t\tstatus,\n\t\tnextGate: aicoderWorkflowReadinessGateFor(status),\n\t\tnextLane: context.nextLane || last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\tnextStep: context.nextStep || last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\tnextCommand: aicoderWorkflowReadinessNextCommand(status),\n\t\tjourneyContractReady,\n\t\tworkflowQaRowsReady,\n\t\tbusinessProofReady,\n\t\trouteOnlyBlocked,\n\t\treleaseBlocked,\n\t\tinfraOnly,\n\t\tcompileOnly,\n\t\tsameFailureParked,\n\t\tcanRunProductRepair,\n\t\tcanRunWorkflowQa,\n\t\tcanPublish,\n\t\tcanPolishWowUi: canPublish,\n\t\trequiresHumanDecision: budgetStopped || sameFailureParked,\n\t\treason: reason || aicoderWorkflowReadinessNextCommand(status),\n\t\tblockers: blockers.slice(0, 8),\n\t\tprimaryWorkflowId,\n\t\tactiveWorkflowStep,\n\t\tbusinessProofArtifacts: proofArtifacts\n\t};\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\taiCoderV6RecoveryPlan: (existing as any).aiCoderV6RecoveryPlan,\n\t\taiCoderV6RecoveryCheckpoint: (existing as any).aiCoderV6RecoveryCheckpoint,\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 budget = buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget);\n\tconst shouldParkForRepeatedNoProgress = !managerDecision.loopBudgetShouldReset\n\t\t&& nextLoopCount > budget.maxRepeatedNoProgress\n\t\t&& step.outcome !== 'pass'\n\t\t&& step.outcome !== 'ready_to_publish'\n\t\t&& step.outcome !== 'published';\n\tconst recordedRecoveryPlan = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryPlan({\n\t\t\taction: 'park_repeated_failure',\n\t\t\treason: 'aicoder_v6_repeated_no_progress',\n\t\t\tfailureClass: record.failureClass,\n\t\t\tlane: record.lane,\n\t\t\tstepType: record.stepType,\n\t\t\tblocker: record.blocker || record.summary,\n\t\t\tchangedFiles: record.changedFiles,\n\t\t\tartifactPaths: record.artifactPaths,\n\t\t\tmaxSameFailureRepeats: budget.maxRepeatedNoProgress + 1\n\t\t})\n\t\t: managerDecision.recoveryPlan;\n\tconst recordedRecoveryCheckpoint = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryCheckpoint({\n\t\t\tplan: recordedRecoveryPlan,\n\t\t\tcurrent: record\n\t\t})\n\t\t: managerDecision.recoveryCheckpoint;\n\tconst recordedRecoveryEvidenceProbe = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\t\tcheckpoint: recordedRecoveryCheckpoint,\n\t\t\tcurrent: record\n\t\t})\n\t\t: managerDecision.recoveryEvidenceProbe;\n\tconst recordedRecoveryAction = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryActionPacket({\n\t\t\tplan: recordedRecoveryPlan,\n\t\t\tcheckpoint: recordedRecoveryCheckpoint,\n\t\t\tprobe: recordedRecoveryEvidenceProbe,\n\t\t\tcurrent: record\n\t\t})\n\t\t: managerDecision.recoveryAction;\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\taiCoderV6RecoveryPlan: recordedRecoveryPlan,\n\t\taiCoderV6RecoveryCheckpoint: recordedRecoveryCheckpoint,\n\t\taiCoderV6RecoveryEvidenceProbe: recordedRecoveryEvidenceProbe,\n\t\taiCoderV6RecoveryAction: recordedRecoveryAction\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', 'compile']\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 withWorkflowReadiness = (\n\t\tdecision: Omit<ResolveIOAICoderV6ContinuationDecision, 'workflowReadiness'>\n\t): ResolveIOAICoderV6ContinuationDecision => ({\n\t\t...decision,\n\t\tworkflowReadiness: buildResolveIOAICoderV6WorkflowReadiness(bundle, {\n\t\t\taction: decision.action,\n\t\t\treason: decision.reason,\n\t\t\tnextLane: decision.nextLane,\n\t\t\tnextStep: decision.nextStep,\n\t\t\tbudgetExceeded: decision.budgetExceeded,\n\t\t\trepeatedNoProgressCount: decision.repeatedNoProgressCount\n\t\t})\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 withWorkflowReadiness({\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 withWorkflowReadiness({\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 withWorkflowReadiness({\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 (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: !/^(?:infra|compile|release)$/i.test(String(last?.failureClass || ''))\n\t\t});\n\t\treturn withWorkflowReadiness({\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 (managerDecision.action === 'retry_infra') {\n\t\tconst compileRepair = managerDecision.recoveryPlan.recoveryClass === 'compile_repair'\n\t\t\t|| managerDecision.failureClass === 'compile'\n\t\t\t|| last?.failureClass === 'compile';\n\t\treturn withWorkflowReadiness({\n\t\t\taction: 'infra_retry',\n\t\t\treason: compileRepair ? 'aicoder_v6_compile_repair_required' : '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 (last?.outcome === 'needs_repair') {\n\t\tif (last.failureClass === 'journey') {\n\t\t\treturn withWorkflowReadiness({\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 withWorkflowReadiness({\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 withWorkflowReadiness({\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 withWorkflowReadiness({\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 withWorkflowReadiness({\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 withWorkflowReadiness({\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"]}
|