@resolveio/server-lib 22.3.199 → 22.3.201

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +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\texpectedOutput?: string;\n\tproofKind?: string;\n\tcoverageTags?: 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 ResolveIOAICoderNextActionCostRisk =\n\t| 'free_or_deterministic'\n\t| 'small_model_or_qa'\n\t| 'expensive_model'\n\t| 'release_or_customer_send'\n\t| 'manual_blocked';\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 type ResolveIOAICoderWorkflowProofCheckpointStatus =\n\t| 'waiting_for_journey_contract'\n\t| 'waiting_for_workflow_proof'\n\t| 'waiting_for_new_evidence'\n\t| 'waiting_for_release_gate'\n\t| 'waiting_for_infra_or_compile'\n\t| 'ready_to_continue';\n\nexport interface ResolveIOAICoderWorkflowProofCheckpoint {\n\trequired: boolean;\n\tstatus: ResolveIOAICoderWorkflowProofCheckpointStatus;\n\treadinessStatus: ResolveIOAICoderWorkflowReadinessStatus;\n\tnextGate: ResolveIOAICoderWorkflowReadinessGate;\n\tstartingFailureClass: string;\n\tstartingBlockerFingerprint: string;\n\tstartingEvidenceHash: string;\n\tworkflowProofFingerprint: string;\n\tartifactFingerprint: string;\n\trequiredEvidence: string[];\n\trequiredResetEvidence: string[];\n\tsuccessRequiresWorkflowBusinessProof: boolean;\n\tblocksProductRepairUntilJourneyContract: boolean;\n\tblocksPublishUntilWorkflowProof: boolean;\n\tblocksPublishUntilReleaseGate: boolean;\n\tblocksWowUiUntilWorkflowProof: boolean;\n\tnextAction: string;\n}\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\tworkflowProofCheckpoint: ResolveIOAICoderWorkflowProofCheckpoint;\n}\n\nexport interface ResolveIOAICoderNextActionContract {\n\tcontractId: string;\n\taction: ResolveIOAICoderV6ContinuationAction;\n\tlabel: string;\n\tprimaryCommand: string;\n\tlane: ResolveIOAICoderV6Lane;\n\tstepType: ResolveIOAICoderV6StepType;\n\tsafeToAutoRun: boolean;\n\trequiresHumanApproval: boolean;\n\tcanRunWithoutCodexMonitor: boolean;\n\tcodexFallbackRequired: boolean;\n\tcodexFallbackReason: string;\n\tcostRisk: ResolveIOAICoderNextActionCostRisk;\n\tworkflowFirstSatisfied: boolean;\n\tdecisionBasis: {\n\t\tjourneyContractReady: boolean;\n\t\tworkflowProofReady: boolean;\n\t\tsampleDataReady: boolean;\n\t\treleaseBlocked: boolean;\n\t\trouteOnlyBlocked: boolean;\n\t\tinfraOnly: boolean;\n\t\tcompileOnly: boolean;\n\t\tsameFailureParked: boolean;\n\t\tcanPublish: boolean;\n\t\tcanPolishWowUi: boolean;\n\t\tworkflowReadinessStatus: string;\n\t\tworkflowProofCheckpointStatus: string;\n\t\tfailureClass: string;\n\t\tevidenceHash: string;\n\t\thotfixCommitRequired: boolean;\n\t\tliveHotfixBlockedUntilCommit: boolean;\n\t};\n\tpreconditions: string[];\n\texpectedStateTransition: string;\n\tsuccessEvidence: string[];\n\trequiredHotfixCommitProof: string[];\n\tstopConditions: string[];\n\tforbiddenActions: string[];\n\tnextCommands: string[];\n\tblockers: string[];\n\townerFiles?: string[];\n\tcreatedAt: 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\tworkflowProofCheckpoint: ResolveIOAICoderWorkflowProofCheckpoint;\n\tnextActionContract: ResolveIOAICoderNextActionContract;\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', 'qa_proof_kind', 'qaProofKind', '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 normalizeWorkflowQaCoverageTag(value: any): string {\n\tconst normalized = cleanText(value, 120).toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');\n\tif (!normalized) {\n\t\treturn '';\n\t}\n\tconst aliases: Record<string, string> = {\n\t\tauth: 'login',\n\t\tauthentication: 'login',\n\t\tauthenticated_session: 'login',\n\t\tsigned_in: 'login',\n\t\tdashboard: 'hub_action',\n\t\tdashboard_hub: 'hub_action',\n\t\thub: 'hub_action',\n\t\tprimary_hub_action: 'hub_action',\n\t\tcommand_center: 'hub_action',\n\t\tembedded_hub_action: 'hub_action',\n\t\tcompletion: 'workflow_completion',\n\t\tbusiness_completion: 'workflow_completion',\n\t\tfinal_result: 'workflow_completion',\n\t\tresult: 'workflow_completion',\n\t\tsaved_result: 'workflow_completion',\n\t\tsaved_output: 'workflow_completion',\n\t\tcalculated_result: 'workflow_completion',\n\t\texport: 'report_export',\n\t\treport: 'report_export',\n\t\tpdf_export: 'report_export',\n\t\treport_download: 'report_export',\n\t\tsample_data: 'non_empty_data',\n\t\tseed_data: 'non_empty_data',\n\t\tseeded_data: 'non_empty_data',\n\t\tnon_empty: 'non_empty_data',\n\t\tnonempty: 'non_empty_data',\n\t\tkpi_data: 'non_empty_data',\n\t\tresponsive: 'mobile',\n\t\tresponsive_mobile: 'mobile',\n\t\tmobile_viewport: 'mobile',\n\t\tphone: 'mobile',\n\t\tempty_state: 'recovery',\n\t\terror_state: 'recovery',\n\t\terror_recovery: 'recovery',\n\t\tempty_error_recovery: 'recovery',\n\t\tinvalid_input_recovery: 'recovery'\n\t};\n\treturn aliases[normalized] || normalized;\n}\n\nfunction appendWorkflowQaCoverageValues(target: string[], value: any): void {\n\tif (Array.isArray(value)) {\n\t\tvalue.forEach((entry) => appendWorkflowQaCoverageValues(target, entry));\n\t\treturn;\n\t}\n\tif (value && typeof value === 'object') {\n\t\tfor (const [key, entry] of Object.entries(value)) {\n\t\t\tif (entry === true) {\n\t\t\t\ttarget.push(normalizeWorkflowQaCoverageTag(key));\n\t\t\t}\n\t\t\telse if (typeof entry === 'string' || Array.isArray(entry) || (entry && typeof entry === 'object')) {\n\t\t\t\tappendWorkflowQaCoverageValues(target, entry);\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\tconst text = cleanText(value, 500);\n\tif (!text) {\n\t\treturn;\n\t}\n\tfor (const entry of text.split(/[|,;]/)) {\n\t\ttarget.push(normalizeWorkflowQaCoverageTag(entry));\n\t}\n}\n\nfunction normalizeWorkflowQaCoverageTags(source: any, options: { includeProofKind?: boolean } = {}): string[] {\n\tconst tags: string[] = [];\n\tfor (const key of [\n\t\t'coverage',\n\t\t'coverage_tags',\n\t\t'coverageTags',\n\t\t'qa_coverage',\n\t\t'qaCoverage',\n\t\t'required_coverage',\n\t\t'requiredCoverage',\n\t\t'business_coverage',\n\t\t'businessCoverage'\n\t]) {\n\t\tappendWorkflowQaCoverageValues(tags, readField(source, [key]));\n\t}\n\tif (options.includeProofKind !== false) {\n\t\tfor (const key of ['proof_kind', 'proofKind', 'proof_kinds', 'proofKinds']) {\n\t\t\tappendWorkflowQaCoverageValues(tags, readField(source, [key]));\n\t\t}\n\t}\n\treturn Array.from(new Set(tags.filter(Boolean))).slice(0, 20);\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\tlogin: ['authenticated session proof', 'post-login hub route proof'],\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 coverageTags = normalizeWorkflowQaCoverageTags(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\tcoverageTags,\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\tcoverageTags: Array.from(new Set([proofKind, normalizeWorkflowStepPosition(step, index, workflow.length)].map(normalizeWorkflowQaCoverageTag).filter(Boolean))),\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\tlet hasLoginQa = false;\n\tlet hasHubActionQa = 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 explicitCoverageTags = normalizeWorkflowQaCoverageTags(assertion, { includeProofKind: false });\n\t\tconst coverageTags = normalizeWorkflowQaCoverageTags(assertion);\n\t\tif (!explicitCoverageTags.length) {\n\t\t\taddJourneyIssue(issues, 'qa_assertion_missing_structured_coverage', `${qaPath}.coverage_tags`, `${pathLabel}: qa_assertions[${index}] must declare coverage_tags such as login, hub_action, workflow_completion, non_empty_data, mobile, or recovery; prose-only keyword detection is not accepted.`);\n\t\t}\n\t\thasLoginQa = hasLoginQa || coverageTags.includes('login');\n\t\thasHubActionQa = hasHubActionQa || coverageTags.includes('hub_action');\n\t\thasMobileQa = hasMobileQa || coverageTags.includes('mobile');\n\t\thasRecoveryQa = hasRecoveryQa || coverageTags.includes('recovery');\n\t\thasCompletionQa = hasCompletionQa || coverageTags.includes('workflow_completion');\n\t\thasNonEmptyQa = hasNonEmptyQa || coverageTags.includes('non_empty_data');\n\t});\n\tif (!hasLoginQa) {\n\t\taddJourneyIssue(issues, 'missing_login_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing structured login coverage.`);\n\t}\n\tif (!hasHubActionQa) {\n\t\taddJourneyIssue(issues, 'missing_hub_action_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing structured dashboard hub action coverage.`);\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\tcoverageTags: normalizeWorkflowQaCoverageTags(value),\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\tcoverageTags: Array.from(new Set([\n\t\t\t\t...cleanList(contractRow.coverageTags, 20, 120),\n\t\t\t\t...cleanList(recorded.coverageTags, 20, 120)\n\t\t\t])),\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 workflowAssertionHasObservedOutputProof(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}\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) && !workflowAssertionHasObservedOutputProof(assertion)) {\n\t\treturn `${workflowRowKey(row, 0)} missing observed DOM/data proof for the saved/calculated/report output.`;\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 buildResolveIOAICoderWorkflowProofCheckpoint(input: {\n\tstatus: ResolveIOAICoderWorkflowReadinessStatus;\n\tnextGate: ResolveIOAICoderWorkflowReadinessGate;\n\tnextAction?: any;\n\tlast?: Partial<ResolveIOAICoderV6StepRecord>;\n\tjourneyContractReady?: boolean;\n\tbusinessProofReady?: boolean;\n\trouteOnlyBlocked?: boolean;\n\treleaseBlocked?: boolean;\n\tinfraOnly?: boolean;\n\tcompileOnly?: boolean;\n\tsameFailureParked?: boolean;\n\tprimaryWorkflowId?: any;\n\tactiveWorkflowStep?: any;\n\tworkflowQaRows?: any;\n\tbusinessProofArtifacts?: any;\n\tcompletedWorkflowSteps?: any;\n}): ResolveIOAICoderWorkflowProofCheckpoint {\n\tconst status = input.status;\n\tconst nextGate = input.nextGate;\n\tconst proofArtifacts = cleanList(input.businessProofArtifacts, 80, 500);\n\tconst workflowRows = cleanWorkflowQaRows(input.workflowQaRows, 80);\n\tconst completedWorkflowSteps = cleanList(input.completedWorkflowSteps, 80, 240);\n\tconst workflowProofFingerprint = fingerprintResolveIOAICoderWorkflowProofPayload({\n\t\tprimaryWorkflowId: input.primaryWorkflowId,\n\t\tactiveWorkflowStep: input.activeWorkflowStep,\n\t\tworkflowRows: workflowRows.map((row) => ({\n\t\t\tworkflowId: row.workflowId,\n\t\t\tstepId: row.stepId,\n\t\t\tstatus: row.status,\n\t\t\tacceptanceGate: row.acceptanceGate,\n\t\t\tassertion: row.assertion\n\t\t})),\n\t\tcompletedWorkflowSteps,\n\t\tproofArtifacts\n\t}, 'aicoder-workflow-readiness');\n\tconst artifactFingerprint = fingerprintResolveIOAICoderWorkflowProofPayload({\n\t\tproofArtifacts,\n\t\trowArtifacts: workflowRows.flatMap((row) => cleanList(row.artifactPaths, 10, 500))\n\t}, 'aicoder-workflow-artifacts');\n\tconst requiredEvidenceByStatus: Record<ResolveIOAICoderWorkflowReadinessStatus, string[]> = {\n\t\tjourney_contract_required: [\n\t\t\t'docs/APP_JOURNEY_CONTRACT.md with validated journey_contract JSON',\n\t\t\t'first/next/last north_star_workflow steps',\n\t\t\t'workflow QA rows generated from journey_contract.qa_assertions'\n\t\t],\n\t\tjourney_contract_repair_required: [\n\t\t\t'repaired journey contract validation result',\n\t\t\t'command-center hub action mapped to workflow state transition'\n\t\t],\n\t\tworkflow_build_ready: [\n\t\t\t'implemented north-star workflow from the Journey Contract',\n\t\t\t'seeded data story available in the app'\n\t\t],\n\t\tworkflow_qa_required: [\n\t\t\t'AIQaBusinessAssertion for the north-star workflow',\n\t\t\t'non-empty data proof',\n\t\t\t'saved/calculated output proof',\n\t\t\t'report/export proof when promised'\n\t\t],\n\t\tworkflow_business_proof_ready: [\n\t\t\t'deterministic release gate before publish',\n\t\t\t'workflow proof artifact retained for acceptance'\n\t\t],\n\t\trelease_repair_required: [\n\t\t\t'publish/deploy/sample-data failure artifact',\n\t\t\t'hotfix or release-gate evidence before another full deploy'\n\t\t],\n\t\tinfra_repair_only: [\n\t\t\t'Puppeteer/Chrome/Mongo/startup/preflight evidence',\n\t\t\t'infra failure class changed or preflight passed'\n\t\t],\n\t\tcompile_repair_only: [\n\t\t\t'compile/build log evidence',\n\t\t\t'compile failure class changed or build passed'\n\t\t],\n\t\tcollect_new_evidence: [\n\t\t\t'changed blocker fingerprint or evidence hash',\n\t\t\t'fresh workflow QA artifact',\n\t\t\t'AIQaBusinessAssertion or precise workflow blocker artifact'\n\t\t],\n\t\tbudget_stopped: [\n\t\t\t'budget summary',\n\t\t\t'one human decision for next bounded action'\n\t\t],\n\t\tparked: [\n\t\t\t'operator decision',\n\t\t\t'new evidence before retry'\n\t\t]\n\t};\n\tconst waitingStatus: ResolveIOAICoderWorkflowProofCheckpointStatus = status === 'workflow_business_proof_ready'\n\t\t? 'ready_to_continue'\n\t\t: status === 'release_repair_required'\n\t\t\t? 'waiting_for_release_gate'\n\t\t\t: status === 'collect_new_evidence' || input.sameFailureParked === true\n\t\t\t\t? 'waiting_for_new_evidence'\n\t\t\t\t: status === 'infra_repair_only' || status === 'compile_repair_only'\n\t\t\t\t\t? 'waiting_for_infra_or_compile'\n\t\t\t\t\t: status === 'journey_contract_required' || status === 'journey_contract_repair_required'\n\t\t\t\t\t\t? 'waiting_for_journey_contract'\n\t\t\t\t\t\t: 'waiting_for_workflow_proof';\n\tconst blocksProductRepairUntilJourneyContract = input.journeyContractReady !== true\n\t\t|| status === 'journey_contract_required'\n\t\t|| status === 'journey_contract_repair_required';\n\tconst blocksPublishUntilWorkflowProof = input.businessProofReady !== true\n\t\t|| input.routeOnlyBlocked === true\n\t\t|| input.sameFailureParked === true\n\t\t|| blocksProductRepairUntilJourneyContract\n\t\t|| status === 'workflow_qa_required'\n\t\t|| status === 'workflow_build_ready'\n\t\t|| status === 'collect_new_evidence';\n\treturn {\n\t\trequired: true,\n\t\tstatus: waitingStatus,\n\t\treadinessStatus: status,\n\t\tnextGate,\n\t\tstartingFailureClass: cleanText(input.last?.failureClass, 120),\n\t\tstartingBlockerFingerprint: cleanText(input.last?.blockerFingerprint || fingerprintResolveIOAICoderV6Blocker(input.last?.blocker || input.last?.summary || ''), 160),\n\t\tstartingEvidenceHash: cleanText(input.last?.evidenceHash, 160),\n\t\tworkflowProofFingerprint,\n\t\tartifactFingerprint,\n\t\trequiredEvidence: (requiredEvidenceByStatus[status] || []).slice(0, 20),\n\t\trequiredResetEvidence: Array.from(new Set([\n\t\t\t...(requiredEvidenceByStatus[status] || []),\n\t\t\t...(input.sameFailureParked === true ? ['new workflow proof fingerprint', 'new artifact fingerprint'] : []),\n\t\t\t...(input.releaseBlocked === true ? ['changed release gate fingerprint'] : [])\n\t\t])).slice(0, 20),\n\t\tsuccessRequiresWorkflowBusinessProof: status !== 'infra_repair_only' && status !== 'compile_repair_only' && status !== 'budget_stopped',\n\t\tblocksProductRepairUntilJourneyContract,\n\t\tblocksPublishUntilWorkflowProof,\n\t\tblocksPublishUntilReleaseGate: input.releaseBlocked === true || status === 'release_repair_required',\n\t\tblocksWowUiUntilWorkflowProof: blocksPublishUntilWorkflowProof,\n\t\tnextAction: cleanText(input.nextAction, 500) || aicoderWorkflowReadinessNextCommand(status)\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 contextReason = cleanText(context.reason, 1000);\n\tconst observedBlocker = cleanText(last?.blocker || last?.summary, 1000);\n\tconst reason = contextReason || observedBlocker;\n\tconst combinedText = `${failureClass}\\n${contextReason}\\n${observedBlocker}\\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 businessProofReady = proofArtifacts.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\tconst nextGate = aicoderWorkflowReadinessGateFor(status);\n\tconst nextCommand = aicoderWorkflowReadinessNextCommand(status);\n\tconst workflowProofCheckpoint = buildResolveIOAICoderWorkflowProofCheckpoint({\n\t\tstatus,\n\t\tnextGate,\n\t\tnextAction: nextCommand,\n\t\tlast,\n\t\tjourneyContractReady,\n\t\tbusinessProofReady,\n\t\trouteOnlyBlocked,\n\t\treleaseBlocked,\n\t\tinfraOnly,\n\t\tcompileOnly,\n\t\tsameFailureParked,\n\t\tprimaryWorkflowId,\n\t\tactiveWorkflowStep,\n\t\tworkflowQaRows: rows,\n\t\tbusinessProofArtifacts: proofArtifacts,\n\t\tcompletedWorkflowSteps: completedSteps\n\t});\n\treturn {\n\t\tstatus,\n\t\tnextGate,\n\t\tnextLane: context.nextLane || last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\tnextStep: context.nextStep || last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\tnextCommand,\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\tworkflowProofCheckpoint\n\t};\n}\n\nfunction aicoderNextActionLabel(command: string): string {\n\tswitch (command) {\n\t\tcase 'repair_aicoder_journey_contract':\n\t\t\treturn 'Repair Journey Contract';\n\t\tcase 'run_aicoder_workflow_build':\n\t\t\treturn 'Build North-Star Workflow';\n\t\tcase 'run_aicoder_workflow_qa':\n\t\t\treturn 'Run Workflow QA';\n\t\tcase 'repair_aicoder_release_gate':\n\t\t\treturn 'Repair Release Gate';\n\t\tcase 'repair_aicoder_compile_gate':\n\t\t\treturn 'Repair Compile Gate';\n\t\tcase 'repair_aicoder_infra_gate':\n\t\t\treturn 'Repair Infra Gate';\n\t\tcase 'run_aicoder_owner_scoped_repair':\n\t\t\treturn 'Run Scoped Repair';\n\t\tcase 'publish_aicoder_after_workflow_proof':\n\t\t\treturn 'Publish After Workflow Proof';\n\t\tcase 'park_aicoder_until_new_evidence':\n\t\t\treturn 'Park Until New Evidence';\n\t\tcase 'park_aicoder_budget_stop':\n\t\t\treturn 'Park Budget Stop';\n\t\tdefault:\n\t\t\treturn 'Continue Workflow';\n\t}\n}\n\nfunction aicoderNextActionPrimaryCommand(\n\taction: ResolveIOAICoderV6ContinuationAction,\n\treadiness: ResolveIOAICoderWorkflowReadiness\n): string {\n\tif (action === 'budget_stop') {\n\t\treturn 'park_aicoder_budget_stop';\n\t}\n\tif (action === 'park') {\n\t\treturn 'park_aicoder_until_new_evidence';\n\t}\n\tif (action === 'infra_retry') {\n\t\treturn readiness.compileOnly ? 'repair_aicoder_compile_gate' : 'repair_aicoder_infra_gate';\n\t}\n\tif (readiness.status === 'journey_contract_required' || readiness.status === 'journey_contract_repair_required') {\n\t\treturn 'repair_aicoder_journey_contract';\n\t}\n\tif (readiness.status === 'workflow_build_ready') {\n\t\treturn 'run_aicoder_workflow_build';\n\t}\n\tif (readiness.status === 'workflow_qa_required') {\n\t\treturn 'run_aicoder_workflow_qa';\n\t}\n\tif (readiness.status === 'release_repair_required') {\n\t\treturn 'repair_aicoder_release_gate';\n\t}\n\tif (action === 'ready_to_publish') {\n\t\treturn 'publish_aicoder_after_workflow_proof';\n\t}\n\tif (action === 'switch_to_repair' || action === 'retry_same_step') {\n\t\treturn 'run_aicoder_owner_scoped_repair';\n\t}\n\treturn 'continue_aicoder_workflow';\n}\n\nfunction aicoderNextActionCostRisk(\n\taction: ResolveIOAICoderV6ContinuationAction,\n\tcommand: string,\n\treadiness: ResolveIOAICoderWorkflowReadiness\n): ResolveIOAICoderNextActionCostRisk {\n\tif (action === 'park' || action === 'budget_stop' || readiness.requiresHumanDecision) {\n\t\treturn 'manual_blocked';\n\t}\n\tif (action === 'ready_to_publish' || command === 'repair_aicoder_release_gate' || readiness.nextGate === 'release') {\n\t\treturn 'release_or_customer_send';\n\t}\n\tif (command === 'run_aicoder_workflow_qa' || command === 'repair_aicoder_compile_gate' || command === 'repair_aicoder_infra_gate') {\n\t\treturn 'small_model_or_qa';\n\t}\n\tif (command === 'continue_aicoder_workflow') {\n\t\treturn 'free_or_deterministic';\n\t}\n\treturn 'expensive_model';\n}\n\nfunction aicoderNextActionExpectedTransition(command: string): string {\n\tswitch (command) {\n\t\tcase 'repair_aicoder_journey_contract':\n\t\t\treturn 'Missing or invalid journey contract becomes a validated first/next/last workflow graph with QA rows.';\n\t\tcase 'run_aicoder_workflow_build':\n\t\t\treturn 'Journey contract becomes implemented workflow screens, hub action, data story, and reachable completion state.';\n\t\tcase 'run_aicoder_workflow_qa':\n\t\t\treturn 'Route/browser evidence becomes AIQaBusinessAssertion proof for the north-star workflow.';\n\t\tcase 'repair_aicoder_release_gate':\n\t\t\treturn 'Publish/deploy/sample-data blocker becomes hotfix evidence, release-gate evidence, or one explicit force-deploy decision.';\n\t\tcase 'repair_aicoder_compile_gate':\n\t\t\treturn 'Compile failure becomes a passing build or a new compile blocker fingerprint.';\n\t\tcase 'repair_aicoder_infra_gate':\n\t\t\treturn 'Infra/preflight failure becomes a passing startup/browser/Mongo gate or a new infra blocker fingerprint.';\n\t\tcase 'run_aicoder_owner_scoped_repair':\n\t\t\treturn 'Current blocker changes to passed, a new evidence hash, or a parked manual decision.';\n\t\tcase 'publish_aicoder_after_workflow_proof':\n\t\t\treturn 'Workflow-proven artifact moves through the release gate exactly once with publish/deploy evidence recorded.';\n\t\tcase 'park_aicoder_budget_stop':\n\t\tcase 'park_aicoder_until_new_evidence':\n\t\t\treturn 'Runner stops spending until an operator records new evidence or an explicit next action.';\n\t\tdefault:\n\t\t\treturn 'Runner advances to the next workflow-first gate with evidence recorded.';\n\t}\n}\n\nfunction buildResolveIOAICoderNextActionStopConditions(\n\treadiness: ResolveIOAICoderWorkflowReadiness,\n\tcommand: string\n): string[] {\n\tconst stopConditions = [\n\t\t'Do not accept scorecard, wow score, or route load as app success without AIQaBusinessAssertion workflow proof.'\n\t];\n\tif (!readiness.journeyContractReady || command === 'repair_aicoder_journey_contract') {\n\t\tstopConditions.push('Do not run build tasks until docs/APP_JOURNEY_CONTRACT.md validates with first/next/last workflow steps.');\n\t}\n\tif (!readiness.businessProofReady || readiness.routeOnlyBlocked || command === 'run_aicoder_workflow_qa') {\n\t\tstopConditions.push('Do not publish or run wow UI polish until workflow business proof passes.');\n\t\tstopConditions.push('Route-only proof must stay labeled as route evidence, not acceptance.');\n\t}\n\tif (readiness.releaseBlocked || command === 'repair_aicoder_release_gate') {\n\t\tstopConditions.push('Do not repeat a full publish/deploy until release blocker evidence changes or hotfix/force evidence is recorded.');\n\t}\n\tif (readiness.infraOnly || readiness.compileOnly) {\n\t\tstopConditions.push('Infra, startup, Puppeteer, Chrome, Mongo, and compile failures stay in infra/compile repair; do not charge them as product workflow failure.');\n\t}\n\tif (readiness.sameFailureParked) {\n\t\tstopConditions.push('Do not retry the same model/code repair until the blocker fingerprint, evidence hash, or workflow proof artifact changes.');\n\t}\n\tif (readiness.requiresHumanDecision) {\n\t\tstopConditions.push('Do not spend additional model or release budget until an operator records the next bounded action.');\n\t}\n\treturn Array.from(new Set(stopConditions)).slice(0, 12);\n}\n\nexport function buildResolveIOAICoderNextActionContract(input: {\n\tbundle: ResolveIOAICoderV6StateBundle;\n\taction: ResolveIOAICoderV6ContinuationAction;\n\treason: string;\n\tnextLane: ResolveIOAICoderV6Lane;\n\tnextStep: ResolveIOAICoderV6StepType;\n\tbudgetExceeded?: boolean;\n\tworkflowReadiness: ResolveIOAICoderWorkflowReadiness;\n\tworkflowProofCheckpoint: ResolveIOAICoderWorkflowProofCheckpoint;\n\tnow?: Date | string;\n}): ResolveIOAICoderNextActionContract {\n\tconst workflowReadiness = input.workflowReadiness;\n\tconst workflowProofCheckpoint = input.workflowProofCheckpoint;\n\tconst history = Array.isArray(input.bundle.aiCoderV6StepHistory) ? input.bundle.aiCoderV6StepHistory : [];\n\tconst last = history[history.length - 1];\n\tconst command = aicoderNextActionPrimaryCommand(input.action, workflowReadiness);\n\tconst costRisk = aicoderNextActionCostRisk(input.action, command, workflowReadiness);\n\tconst hotfixCommitRequired = command === 'repair_aicoder_release_gate'\n\t\t|| workflowReadiness.releaseBlocked\n\t\t|| workflowReadiness.nextGate === 'release';\n\tconst liveHotfixBlockedUntilCommit = hotfixCommitRequired;\n\tconst requiredHotfixCommitProof = hotfixCommitRequired\n\t\t? ['sourceCommitSha', 'githubCommitUrl', 'gitCommitStatus=passed', 'gitPushStatus=passed']\n\t\t: [];\n\tconst requiresHumanApproval = input.action === 'park'\n\t\t|| input.action === 'budget_stop'\n\t\t|| input.action === 'ready_to_publish'\n\t\t|| input.budgetExceeded === true\n\t\t|| workflowReadiness.requiresHumanDecision === true;\n\tconst workflowFirstSatisfied = workflowReadiness.journeyContractReady\n\t\t&& workflowReadiness.businessProofReady\n\t\t&& !workflowReadiness.releaseBlocked\n\t\t&& !workflowReadiness.routeOnlyBlocked\n\t\t&& !workflowReadiness.infraOnly\n\t\t&& !workflowReadiness.compileOnly\n\t\t&& !workflowReadiness.sameFailureParked;\n\tconst safeToAutoRun = !requiresHumanApproval && (\n\t\tcommand === 'repair_aicoder_journey_contract'\n\t\t|| command === 'run_aicoder_workflow_build'\n\t\t|| command === 'run_aicoder_workflow_qa'\n\t\t|| command === 'repair_aicoder_release_gate'\n\t\t|| command === 'repair_aicoder_compile_gate'\n\t\t|| command === 'repair_aicoder_infra_gate'\n\t\t|| (command === 'run_aicoder_owner_scoped_repair' && workflowReadiness.canRunProductRepair)\n\t\t|| (command === 'continue_aicoder_workflow' && !workflowReadiness.blockers.length)\n\t);\n\tconst canRunWithoutCodexMonitor = safeToAutoRun\n\t\t&& workflowProofCheckpoint.requiredEvidence.length > 0\n\t\t&& workflowProofCheckpoint.nextAction.length > 0;\n\tconst blockers = Array.from(new Set([\n\t\t...workflowReadiness.blockers,\n\t\t...(workflowProofCheckpoint.status === 'waiting_for_new_evidence' ? workflowProofCheckpoint.requiredResetEvidence : [])\n\t])).slice(0, 12);\n\tconst preconditions = Array.from(new Set([\n\t\tworkflowProofCheckpoint.nextAction,\n\t\t...workflowProofCheckpoint.requiredEvidence,\n\t\t...(workflowReadiness.journeyContractReady ? [] : ['validated APP_JOURNEY_CONTRACT.md journey_contract JSON']),\n\t\t...(workflowReadiness.canRunWorkflowQa ? ['workflow QA rows generated from the journey contract'] : []),\n\t\t...(workflowReadiness.releaseBlocked ? ['release blocker artifact or hotfix-first release evidence'] : []),\n\t\t...(hotfixCommitRequired ? ['sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus before live hotfix apply'] : [])\n\t].map((entry) => cleanText(entry, 300)).filter(Boolean))).slice(0, 12);\n\tconst successEvidence = Array.from(new Set([\n\t\t...workflowProofCheckpoint.requiredEvidence,\n\t\t...(workflowReadiness.businessProofReady ? ['retained AIQaBusinessAssertion artifact'] : []),\n\t\t...(workflowReadiness.canPublish ? ['release gate accepts the workflow-proven artifact'] : []),\n\t\t...(command === 'repair_aicoder_release_gate' ? ['hotfix evidence or explicit one-time force release decision'] : []),\n\t\t...(hotfixCommitRequired ? ['GitHub commit and push proof for any manager-applied hotfix'] : [])\n\t].map((entry) => cleanText(entry, 300)).filter(Boolean))).slice(0, 12);\n\tconst stopConditions = buildResolveIOAICoderNextActionStopConditions(workflowReadiness, command);\n\tif (hotfixCommitRequired) {\n\t\tstopConditions.push('Do not apply a live AICoder backend/static hotfix until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus are recorded.');\n\t}\n\tconst forbiddenActions = Array.from(new Set([\n\t\t'accepting route-only proof as app success',\n\t\t'accepting scorecard-only or wow-score-only proof as app success',\n\t\t...(workflowReadiness.journeyContractReady ? [] : ['building product routes before the journey contract validates']),\n\t\t...(workflowReadiness.businessProofReady ? [] : ['publishing before north-star workflow business proof passes']),\n\t\t...(workflowReadiness.releaseBlocked ? ['rerunning full deploy/publish without changed release evidence'] : []),\n\t\t...(hotfixCommitRequired ? ['applying live hotfix before pushed GitHub commit proof'] : []),\n\t\t...(workflowReadiness.sameFailureParked ? ['retrying the same repair loop without new evidence'] : [])\n\t])).slice(0, 12);\n\tconst nextCommands = Array.from(new Set([\n\t\tcommand,\n\t\t...(command === 'repair_aicoder_journey_contract' ? ['validate_aicoder_journey_contract', 'generate_workflow_qa_rows'] : []),\n\t\t...(command === 'run_aicoder_workflow_qa' ? ['execute_contract_qa_assertions', 'record_aiqa_business_assertion'] : []),\n\t\t...(command === 'repair_aicoder_release_gate' ? [\n\t\t\t'collect_release_blocker_evidence',\n\t\t\t'prefer_hotfix_before_full_deploy',\n\t\t\t'prepare_hotfix_patch_without_live_apply',\n\t\t\t'commit_and_push_hotfix_to_github',\n\t\t\t'record_github_commit_for_hotfix',\n\t\t\t'apply_live_hotfix_only_after_github_commit_proof'\n\t\t] : []),\n\t\t...(command === 'repair_aicoder_compile_gate' ? ['rerun_compile_gate_only', 'record_compile_evidence_hash'] : []),\n\t\t...(command === 'repair_aicoder_infra_gate' ? ['rerun_preflight_gate_only', 'record_infra_evidence_hash'] : []),\n\t\t'record_aicoder_next_action_result'\n\t])).slice(0, 12);\n\tconst contractBasis = {\n\t\taction: input.action,\n\t\treason: cleanText(input.reason, 500),\n\t\tcommand,\n\t\treadinessStatus: workflowReadiness.status,\n\t\tcheckpointStatus: workflowProofCheckpoint.status,\n\t\tfailureClass: cleanText(last?.failureClass, 120),\n\t\tevidenceHash: hashResolveIOAIManagerEvidence(last as any)\n\t};\n\treturn {\n\t\tcontractId: `aicoder-next-${hashResolveIOAIManagerEvidence({\n\t\t\tfailureClass: contractBasis.failureClass,\n\t\t\tsummary: `${contractBasis.reason}:${contractBasis.command}:${contractBasis.readinessStatus}:${contractBasis.checkpointStatus}`,\n\t\t\tevidenceHash: contractBasis.evidenceHash,\n\t\t\tchangedFiles: last?.changedFiles,\n\t\t\tartifactPaths: last?.artifactPaths\n\t\t} as any)}`,\n\t\taction: input.action,\n\t\tlabel: aicoderNextActionLabel(command),\n\t\tprimaryCommand: command,\n\t\tlane: input.nextLane,\n\t\tstepType: input.nextStep,\n\t\tsafeToAutoRun,\n\t\trequiresHumanApproval,\n\t\tcanRunWithoutCodexMonitor,\n\t\tcodexFallbackRequired: !canRunWithoutCodexMonitor && !requiresHumanApproval,\n\t\tcodexFallbackReason: canRunWithoutCodexMonitor\n\t\t\t? ''\n\t\t\t: requiresHumanApproval\n\t\t\t\t? 'Operator approval is required before the next action.'\n\t\t\t\t: 'Next action needs stronger deterministic evidence before it can run unattended.',\n\t\tcostRisk,\n\t\tworkflowFirstSatisfied,\n\t\tdecisionBasis: {\n\t\t\tjourneyContractReady: workflowReadiness.journeyContractReady,\n\t\t\tworkflowProofReady: workflowReadiness.businessProofReady,\n\t\t\tsampleDataReady: workflowReadiness.businessProofReady && !workflowReadiness.releaseBlocked,\n\t\t\treleaseBlocked: workflowReadiness.releaseBlocked,\n\t\t\trouteOnlyBlocked: workflowReadiness.routeOnlyBlocked,\n\t\t\tinfraOnly: workflowReadiness.infraOnly,\n\t\t\tcompileOnly: workflowReadiness.compileOnly,\n\t\t\tsameFailureParked: workflowReadiness.sameFailureParked,\n\t\t\tcanPublish: workflowReadiness.canPublish,\n\t\t\tcanPolishWowUi: workflowReadiness.canPolishWowUi,\n\t\t\tworkflowReadinessStatus: workflowReadiness.status,\n\t\t\tworkflowProofCheckpointStatus: workflowProofCheckpoint.status,\n\t\t\tfailureClass: contractBasis.failureClass,\n\t\t\tevidenceHash: cleanText(last?.evidenceHash || contractBasis.evidenceHash, 160),\n\t\t\thotfixCommitRequired,\n\t\t\tliveHotfixBlockedUntilCommit\n\t\t},\n\t\tpreconditions,\n\t\texpectedStateTransition: aicoderNextActionExpectedTransition(command),\n\t\tsuccessEvidence,\n\t\trequiredHotfixCommitProof,\n\t\tstopConditions,\n\t\tforbiddenActions,\n\t\tnextCommands,\n\t\tblockers,\n\t\townerFiles: cleanList(last?.changedFiles, 20, 500),\n\t\tcreatedAt: isoNow(input.now)\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])).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' | 'workflowProofCheckpoint' | 'nextActionContract'>\n\t): ResolveIOAICoderV6ContinuationDecision => {\n\t\tconst workflowReadiness = 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\tconst workflowProofCheckpoint = workflowReadiness.workflowProofCheckpoint;\n\t\treturn {\n\t\t\t...decision,\n\t\t\tworkflowReadiness,\n\t\t\tworkflowProofCheckpoint,\n\t\t\tnextActionContract: buildResolveIOAICoderNextActionContract({\n\t\t\t\tbundle,\n\t\t\t\taction: decision.action,\n\t\t\t\treason: decision.reason,\n\t\t\t\tnextLane: decision.nextLane,\n\t\t\t\tnextStep: decision.nextStep,\n\t\t\t\tbudgetExceeded: decision.budgetExceeded,\n\t\t\t\tworkflowReadiness,\n\t\t\t\tworkflowProofCheckpoint\n\t\t\t})\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"]}
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\tworkflowStepId?: string;\n\tworkflowStepIds?: string[];\n\tstepId?: string;\n\troute?: string;\n\taction?: string;\n\tassertion?: string;\n\texpectedState?: string;\n\texpectedOutput?: string;\n\tproofKind?: string;\n\tcoverageTags?: 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 ResolveIOAICoderNextActionCostRisk =\n\t| 'free_or_deterministic'\n\t| 'small_model_or_qa'\n\t| 'expensive_model'\n\t| 'release_or_customer_send'\n\t| 'manual_blocked';\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 type ResolveIOAICoderWorkflowProofCheckpointStatus =\n\t| 'waiting_for_journey_contract'\n\t| 'waiting_for_workflow_proof'\n\t| 'waiting_for_new_evidence'\n\t| 'waiting_for_release_gate'\n\t| 'waiting_for_infra_or_compile'\n\t| 'ready_to_continue';\n\nexport interface ResolveIOAICoderWorkflowProofCheckpoint {\n\trequired: boolean;\n\tstatus: ResolveIOAICoderWorkflowProofCheckpointStatus;\n\treadinessStatus: ResolveIOAICoderWorkflowReadinessStatus;\n\tnextGate: ResolveIOAICoderWorkflowReadinessGate;\n\tstartingFailureClass: string;\n\tstartingBlockerFingerprint: string;\n\tstartingEvidenceHash: string;\n\tworkflowProofFingerprint: string;\n\tartifactFingerprint: string;\n\trequiredEvidence: string[];\n\trequiredResetEvidence: string[];\n\tsuccessRequiresWorkflowBusinessProof: boolean;\n\tblocksProductRepairUntilJourneyContract: boolean;\n\tblocksPublishUntilWorkflowProof: boolean;\n\tblocksPublishUntilReleaseGate: boolean;\n\tblocksWowUiUntilWorkflowProof: boolean;\n\tnextAction: string;\n}\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\tworkflowProofCheckpoint: ResolveIOAICoderWorkflowProofCheckpoint;\n}\n\nexport interface ResolveIOAICoderNextActionContract {\n\tcontractId: string;\n\taction: ResolveIOAICoderV6ContinuationAction;\n\tlabel: string;\n\tprimaryCommand: string;\n\tlane: ResolveIOAICoderV6Lane;\n\tstepType: ResolveIOAICoderV6StepType;\n\tsafeToAutoRun: boolean;\n\trequiresHumanApproval: boolean;\n\tcanRunWithoutCodexMonitor: boolean;\n\tcodexFallbackRequired: boolean;\n\tcodexFallbackReason: string;\n\tcostRisk: ResolveIOAICoderNextActionCostRisk;\n\tworkflowFirstSatisfied: boolean;\n\tdecisionBasis: {\n\t\tjourneyContractReady: boolean;\n\t\tworkflowProofReady: boolean;\n\t\tsampleDataReady: boolean;\n\t\treleaseBlocked: boolean;\n\t\trouteOnlyBlocked: boolean;\n\t\tinfraOnly: boolean;\n\t\tcompileOnly: boolean;\n\t\tsameFailureParked: boolean;\n\t\tcanPublish: boolean;\n\t\tcanPolishWowUi: boolean;\n\t\tworkflowReadinessStatus: string;\n\t\tworkflowProofCheckpointStatus: string;\n\t\tfailureClass: string;\n\t\tevidenceHash: string;\n\t\thotfixCommitRequired: boolean;\n\t\tliveHotfixBlockedUntilCommit: boolean;\n\t};\n\tpreconditions: string[];\n\texpectedStateTransition: string;\n\tsuccessEvidence: string[];\n\trequiredHotfixCommitProof: string[];\n\tstopConditions: string[];\n\tforbiddenActions: string[];\n\tnextCommands: string[];\n\tblockers: string[];\n\townerFiles?: string[];\n\tcreatedAt: 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\tworkflowProofCheckpoint: ResolveIOAICoderWorkflowProofCheckpoint;\n\tnextActionContract: ResolveIOAICoderNextActionContract;\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 normalizeJourneyReferenceKey(value: any): string {\n\treturn cleanText(value, 160).toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');\n}\n\nfunction normalizeJourneyRouteKey(value: any): string {\n\tconst raw = cleanText(value, 240);\n\tif (!raw) {\n\t\treturn '';\n\t}\n\tconst route = raw.split(/[?#]/)[0].replace(/\\/+$/g, '') || '/';\n\treturn route.toLowerCase();\n}\n\nfunction normalizeJourneyActionText(value: any): string {\n\treturn cleanText(value, 1000).toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();\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 workflowStepVisibleAction(step: any): string {\n\treturn cleanField(step, ['visible_cta', 'cta', 'label', 'action', 'embedded_hub_action', 'hub_action'], 500);\n}\n\nfunction journeySourceVisibleAction(source: any): string {\n\treturn concatFields(source, [\n\t\t'visible_cta',\n\t\t'cta',\n\t\t'label',\n\t\t'action',\n\t\t'browser_steps',\n\t\t'expected_dom_or_data_proof',\n\t\t'proof',\n\t\t'assertion',\n\t\t'expected_result'\n\t], 700);\n}\n\nfunction actionTextReferencesLabel(actionText: string, label: string): boolean {\n\tconst action = normalizeJourneyActionText(actionText);\n\tconst expected = normalizeJourneyActionText(label);\n\tif (!action || !expected || expected.length < 4) {\n\t\treturn false;\n\t}\n\tif (action === expected || action.includes(expected) || expected.includes(action)) {\n\t\treturn true;\n\t}\n\tconst actionTokens = new Set(action.split(/\\s+/).filter((token) => token.length > 2));\n\tconst expectedTokens = expected.split(/\\s+/).filter((token) => token.length > 2);\n\tif (!expectedTokens.length) {\n\t\treturn false;\n\t}\n\tconst matched = expectedTokens.filter((token) => actionTokens.has(token)).length;\n\treturn matched >= Math.min(expectedTokens.length, Math.max(2, Math.ceil(expectedTokens.length * 0.67)));\n}\n\nfunction collectJourneyReferenceKeys(source: any): string[] {\n\tif (!source || typeof source !== 'object') {\n\t\treturn [];\n\t}\n\tconst values: any[] = [];\n\tfor (const key of [\n\t\t'workflow_step_id',\n\t\t'workflowStepId',\n\t\t'workflow_step_ids',\n\t\t'workflowStepIds',\n\t\t'covers_workflow_step_id',\n\t\t'coversWorkflowStepId',\n\t\t'covers_workflow_step_ids',\n\t\t'coversWorkflowStepIds',\n\t\t'north_star_step_id',\n\t\t'northStarStepId',\n\t\t'step_ref',\n\t\t'stepRef'\n\t]) {\n\t\tconst value = source[key];\n\t\tif (Array.isArray(value)) {\n\t\t\tvalues.push(...value);\n\t\t}\n\t\telse if (value !== undefined && value !== null) {\n\t\t\tvalues.push(value);\n\t\t}\n\t}\n\treturn Array.from(new Set(values.map(normalizeJourneyReferenceKey).filter(Boolean))).slice(0, 20);\n}\n\nfunction journeySourceMapsToWorkflowStep(source: any, step: any, index: number): boolean {\n\tconst stepId = normalizeJourneyReferenceKey(buildWorkflowStepId(step, index));\n\tconst refs = collectJourneyReferenceKeys(source);\n\tif (stepId && refs.includes(stepId)) {\n\t\treturn true;\n\t}\n\tconst sourceRoute = normalizeJourneyRouteKey(cleanField(source, ['route', 'screen_route', 'path'], 240));\n\tconst stepRoute = normalizeJourneyRouteKey(cleanField(step, ['route'], 240));\n\tif (!sourceRoute || !stepRoute || sourceRoute !== stepRoute) {\n\t\treturn false;\n\t}\n\treturn actionTextReferencesLabel(journeySourceVisibleAction(source), workflowStepVisibleAction(step));\n}\n\nfunction normalizeWorkflowProofKind(source: any, fallbackText = ''): string {\n\tconst explicit = cleanField(source, ['proof_kind', 'proofKind', 'qa_proof_kind', 'qaProofKind', '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 normalizeWorkflowQaCoverageTag(value: any): string {\n\tconst normalized = cleanText(value, 120).toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');\n\tif (!normalized) {\n\t\treturn '';\n\t}\n\tconst aliases: Record<string, string> = {\n\t\tauth: 'login',\n\t\tauthentication: 'login',\n\t\tauthenticated_session: 'login',\n\t\tsigned_in: 'login',\n\t\tdashboard: 'hub_action',\n\t\tdashboard_hub: 'hub_action',\n\t\thub: 'hub_action',\n\t\tprimary_hub_action: 'hub_action',\n\t\tcommand_center: 'hub_action',\n\t\tembedded_hub_action: 'hub_action',\n\t\tcompletion: 'workflow_completion',\n\t\tbusiness_completion: 'workflow_completion',\n\t\tfinal_result: 'workflow_completion',\n\t\tresult: 'workflow_completion',\n\t\tsaved_result: 'workflow_completion',\n\t\tsaved_output: 'workflow_completion',\n\t\tcalculated_result: 'workflow_completion',\n\t\texport: 'report_export',\n\t\treport: 'report_export',\n\t\tpdf_export: 'report_export',\n\t\treport_download: 'report_export',\n\t\tsample_data: 'non_empty_data',\n\t\tseed_data: 'non_empty_data',\n\t\tseeded_data: 'non_empty_data',\n\t\tnon_empty: 'non_empty_data',\n\t\tnonempty: 'non_empty_data',\n\t\tkpi_data: 'non_empty_data',\n\t\tresponsive: 'mobile',\n\t\tresponsive_mobile: 'mobile',\n\t\tmobile_viewport: 'mobile',\n\t\tphone: 'mobile',\n\t\tempty_state: 'recovery',\n\t\terror_state: 'recovery',\n\t\terror_recovery: 'recovery',\n\t\tempty_error_recovery: 'recovery',\n\t\tinvalid_input_recovery: 'recovery'\n\t};\n\treturn aliases[normalized] || normalized;\n}\n\nfunction appendWorkflowQaCoverageValues(target: string[], value: any): void {\n\tif (Array.isArray(value)) {\n\t\tvalue.forEach((entry) => appendWorkflowQaCoverageValues(target, entry));\n\t\treturn;\n\t}\n\tif (value && typeof value === 'object') {\n\t\tfor (const [key, entry] of Object.entries(value)) {\n\t\t\tif (entry === true) {\n\t\t\t\ttarget.push(normalizeWorkflowQaCoverageTag(key));\n\t\t\t}\n\t\t\telse if (typeof entry === 'string' || Array.isArray(entry) || (entry && typeof entry === 'object')) {\n\t\t\t\tappendWorkflowQaCoverageValues(target, entry);\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\tconst text = cleanText(value, 500);\n\tif (!text) {\n\t\treturn;\n\t}\n\tfor (const entry of text.split(/[|,;]/)) {\n\t\ttarget.push(normalizeWorkflowQaCoverageTag(entry));\n\t}\n}\n\nfunction normalizeWorkflowQaCoverageTags(source: any, options: { includeProofKind?: boolean } = {}): string[] {\n\tconst tags: string[] = [];\n\tfor (const key of [\n\t\t'coverage',\n\t\t'coverage_tags',\n\t\t'coverageTags',\n\t\t'qa_coverage',\n\t\t'qaCoverage',\n\t\t'required_coverage',\n\t\t'requiredCoverage',\n\t\t'business_coverage',\n\t\t'businessCoverage'\n\t]) {\n\t\tappendWorkflowQaCoverageValues(tags, readField(source, [key]));\n\t}\n\tif (options.includeProofKind !== false) {\n\t\tfor (const key of ['proof_kind', 'proofKind', 'proof_kinds', 'proofKinds']) {\n\t\t\tappendWorkflowQaCoverageValues(tags, readField(source, [key]));\n\t\t}\n\t}\n\treturn Array.from(new Set(tags.filter(Boolean))).slice(0, 20);\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\tlogin: ['authenticated session proof', 'post-login hub route proof'],\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 coverageTags = normalizeWorkflowQaCoverageTags(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\tworkflowStepId: cleanField(assertion, [\n\t\t\t\t'workflow_step_id',\n\t\t\t\t'workflowStepId',\n\t\t\t\t'covers_workflow_step_id',\n\t\t\t\t'coversWorkflowStepId',\n\t\t\t\t'north_star_step_id',\n\t\t\t\t'northStarStepId'\n\t\t\t], 160) || undefined,\n\t\t\tworkflowStepIds: collectJourneyReferenceKeys(assertion),\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\tcoverageTags,\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\tworkflowStepId: buildWorkflowStepId(step, index),\n\t\t\tworkflowStepIds: [buildWorkflowStepId(step, index)],\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\tcoverageTags: Array.from(new Set([proofKind, normalizeWorkflowStepPosition(step, index, workflow.length)].map(normalizeWorkflowQaCoverageTag).filter(Boolean))),\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\tif (workflow.length && !workflow.some((step: any, workflowIndex: number) => journeySourceMapsToWorkflowStep(screen, step, workflowIndex))) {\n\t\t\taddJourneyIssue(issues, 'screen_sequence_unmapped_to_workflow', screenPath, `${pathLabel}: screen_sequence[${index}] must reference a north_star_workflow step by workflow_step_id or match that step's route and CTA.`);\n\t\t}\n\t});\n\tworkflow.forEach((step: any, index: number) => {\n\t\tif (!step || typeof step !== 'object' || Array.isArray(step)) {\n\t\t\treturn;\n\t\t}\n\t\tconst stepPath = `${pathLabel}.journey_contract.north_star_workflow[${index}]`;\n\t\tconst matchingScreens = screenSequence.filter((screen: any) => journeySourceMapsToWorkflowStep(screen, step, index));\n\t\tif (!matchingScreens.length) {\n\t\t\taddJourneyIssue(issues, 'workflow_step_missing_screen_mapping', stepPath, `${pathLabel}: north_star_workflow[${index}] must have a matching screen_sequence row with the same step id or route/CTA mapping.`);\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\tconst workflowStepsWithQa = new Set<string>();\n\tlet hasMobileQa = false;\n\tlet hasRecoveryQa = false;\n\tlet hasCompletionQa = false;\n\tlet hasNonEmptyQa = false;\n\tlet hasLoginQa = false;\n\tlet hasHubActionQa = 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 explicitCoverageTags = normalizeWorkflowQaCoverageTags(assertion, { includeProofKind: false });\n\t\tconst coverageTags = normalizeWorkflowQaCoverageTags(assertion);\n\t\tif (!explicitCoverageTags.length) {\n\t\t\taddJourneyIssue(issues, 'qa_assertion_missing_structured_coverage', `${qaPath}.coverage_tags`, `${pathLabel}: qa_assertions[${index}] must declare coverage_tags such as login, hub_action, workflow_completion, non_empty_data, mobile, or recovery; prose-only keyword detection is not accepted.`);\n\t\t}\n\t\thasLoginQa = hasLoginQa || coverageTags.includes('login');\n\t\thasHubActionQa = hasHubActionQa || coverageTags.includes('hub_action');\n\t\thasMobileQa = hasMobileQa || coverageTags.includes('mobile');\n\t\thasRecoveryQa = hasRecoveryQa || coverageTags.includes('recovery');\n\t\thasCompletionQa = hasCompletionQa || coverageTags.includes('workflow_completion');\n\t\thasNonEmptyQa = hasNonEmptyQa || coverageTags.includes('non_empty_data');\n\t\tconst mappedWorkflowStepIds = workflow\n\t\t\t.map((step: any, workflowIndex: number) => journeySourceMapsToWorkflowStep(assertion, step, workflowIndex) ? buildWorkflowStepId(step, workflowIndex) : '')\n\t\t\t.filter(Boolean);\n\t\tmappedWorkflowStepIds.forEach((stepId: string) => workflowStepsWithQa.add(stepId));\n\t\tif (workflow.length && !mappedWorkflowStepIds.length) {\n\t\t\taddJourneyIssue(issues, 'qa_assertion_unmapped_to_workflow', qaPath, `${pathLabel}: qa_assertions[${index}] must reference a north_star_workflow step by workflow_step_id/covers_workflow_step_ids or match that step's route and CTA/action.`);\n\t\t}\n\t});\n\tif (!hasLoginQa) {\n\t\taddJourneyIssue(issues, 'missing_login_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing structured login coverage.`);\n\t}\n\tif (!hasHubActionQa) {\n\t\taddJourneyIssue(issues, 'missing_hub_action_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing structured dashboard hub action coverage.`);\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\tworkflow.forEach((step: any, index: number) => {\n\t\tif (!step || typeof step !== 'object' || Array.isArray(step)) {\n\t\t\treturn;\n\t\t}\n\t\tconst stepId = buildWorkflowStepId(step, index);\n\t\tif (!workflowStepsWithQa.has(stepId)) {\n\t\t\taddJourneyIssue(issues, 'workflow_step_missing_qa_assertion', `${pathLabel}.journey_contract.north_star_workflow[${index}]`, `${pathLabel}: north_star_workflow[${index}] must be covered by at least one qa_assertions row using workflow_step_id/covers_workflow_step_ids or matching route/CTA.`);\n\t\t}\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\tworkflowStepId: cleanText((value as any).workflowStepId || (value as any).workflow_step_id, 160) || undefined,\n\t\t\tworkflowStepIds: cleanList((value as any).workflowStepIds || (value as any).workflow_step_ids, 20, 160),\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\tcoverageTags: normalizeWorkflowQaCoverageTags(value),\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\tcoverageTags: Array.from(new Set([\n\t\t\t\t...cleanList(contractRow.coverageTags, 20, 120),\n\t\t\t\t...cleanList(recorded.coverageTags, 20, 120)\n\t\t\t])),\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 workflowAssertionHasObservedOutputProof(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}\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) && !workflowAssertionHasObservedOutputProof(assertion)) {\n\t\treturn `${workflowRowKey(row, 0)} missing observed DOM/data proof for the saved/calculated/report output.`;\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 buildResolveIOAICoderWorkflowProofCheckpoint(input: {\n\tstatus: ResolveIOAICoderWorkflowReadinessStatus;\n\tnextGate: ResolveIOAICoderWorkflowReadinessGate;\n\tnextAction?: any;\n\tlast?: Partial<ResolveIOAICoderV6StepRecord>;\n\tjourneyContractReady?: boolean;\n\tbusinessProofReady?: boolean;\n\trouteOnlyBlocked?: boolean;\n\treleaseBlocked?: boolean;\n\tinfraOnly?: boolean;\n\tcompileOnly?: boolean;\n\tsameFailureParked?: boolean;\n\tprimaryWorkflowId?: any;\n\tactiveWorkflowStep?: any;\n\tworkflowQaRows?: any;\n\tbusinessProofArtifacts?: any;\n\tcompletedWorkflowSteps?: any;\n}): ResolveIOAICoderWorkflowProofCheckpoint {\n\tconst status = input.status;\n\tconst nextGate = input.nextGate;\n\tconst proofArtifacts = cleanList(input.businessProofArtifacts, 80, 500);\n\tconst workflowRows = cleanWorkflowQaRows(input.workflowQaRows, 80);\n\tconst completedWorkflowSteps = cleanList(input.completedWorkflowSteps, 80, 240);\n\tconst workflowProofFingerprint = fingerprintResolveIOAICoderWorkflowProofPayload({\n\t\tprimaryWorkflowId: input.primaryWorkflowId,\n\t\tactiveWorkflowStep: input.activeWorkflowStep,\n\t\tworkflowRows: workflowRows.map((row) => ({\n\t\t\tworkflowId: row.workflowId,\n\t\t\tstepId: row.stepId,\n\t\t\tstatus: row.status,\n\t\t\tacceptanceGate: row.acceptanceGate,\n\t\t\tassertion: row.assertion\n\t\t})),\n\t\tcompletedWorkflowSteps,\n\t\tproofArtifacts\n\t}, 'aicoder-workflow-readiness');\n\tconst artifactFingerprint = fingerprintResolveIOAICoderWorkflowProofPayload({\n\t\tproofArtifacts,\n\t\trowArtifacts: workflowRows.flatMap((row) => cleanList(row.artifactPaths, 10, 500))\n\t}, 'aicoder-workflow-artifacts');\n\tconst requiredEvidenceByStatus: Record<ResolveIOAICoderWorkflowReadinessStatus, string[]> = {\n\t\tjourney_contract_required: [\n\t\t\t'docs/APP_JOURNEY_CONTRACT.md with validated journey_contract JSON',\n\t\t\t'first/next/last north_star_workflow steps',\n\t\t\t'workflow QA rows generated from journey_contract.qa_assertions'\n\t\t],\n\t\tjourney_contract_repair_required: [\n\t\t\t'repaired journey contract validation result',\n\t\t\t'command-center hub action mapped to workflow state transition'\n\t\t],\n\t\tworkflow_build_ready: [\n\t\t\t'implemented north-star workflow from the Journey Contract',\n\t\t\t'seeded data story available in the app'\n\t\t],\n\t\tworkflow_qa_required: [\n\t\t\t'AIQaBusinessAssertion for the north-star workflow',\n\t\t\t'non-empty data proof',\n\t\t\t'saved/calculated output proof',\n\t\t\t'report/export proof when promised'\n\t\t],\n\t\tworkflow_business_proof_ready: [\n\t\t\t'deterministic release gate before publish',\n\t\t\t'workflow proof artifact retained for acceptance'\n\t\t],\n\t\trelease_repair_required: [\n\t\t\t'publish/deploy/sample-data failure artifact',\n\t\t\t'hotfix or release-gate evidence before another full deploy'\n\t\t],\n\t\tinfra_repair_only: [\n\t\t\t'Puppeteer/Chrome/Mongo/startup/preflight evidence',\n\t\t\t'infra failure class changed or preflight passed'\n\t\t],\n\t\tcompile_repair_only: [\n\t\t\t'compile/build log evidence',\n\t\t\t'compile failure class changed or build passed'\n\t\t],\n\t\tcollect_new_evidence: [\n\t\t\t'changed blocker fingerprint or evidence hash',\n\t\t\t'fresh workflow QA artifact',\n\t\t\t'AIQaBusinessAssertion or precise workflow blocker artifact'\n\t\t],\n\t\tbudget_stopped: [\n\t\t\t'budget summary',\n\t\t\t'one human decision for next bounded action'\n\t\t],\n\t\tparked: [\n\t\t\t'operator decision',\n\t\t\t'new evidence before retry'\n\t\t]\n\t};\n\tconst waitingStatus: ResolveIOAICoderWorkflowProofCheckpointStatus = status === 'workflow_business_proof_ready'\n\t\t? 'ready_to_continue'\n\t\t: status === 'release_repair_required'\n\t\t\t? 'waiting_for_release_gate'\n\t\t\t: status === 'collect_new_evidence' || input.sameFailureParked === true\n\t\t\t\t? 'waiting_for_new_evidence'\n\t\t\t\t: status === 'infra_repair_only' || status === 'compile_repair_only'\n\t\t\t\t\t? 'waiting_for_infra_or_compile'\n\t\t\t\t\t: status === 'journey_contract_required' || status === 'journey_contract_repair_required'\n\t\t\t\t\t\t? 'waiting_for_journey_contract'\n\t\t\t\t\t\t: 'waiting_for_workflow_proof';\n\tconst blocksProductRepairUntilJourneyContract = input.journeyContractReady !== true\n\t\t|| status === 'journey_contract_required'\n\t\t|| status === 'journey_contract_repair_required';\n\tconst blocksPublishUntilWorkflowProof = input.businessProofReady !== true\n\t\t|| input.routeOnlyBlocked === true\n\t\t|| input.sameFailureParked === true\n\t\t|| blocksProductRepairUntilJourneyContract\n\t\t|| status === 'workflow_qa_required'\n\t\t|| status === 'workflow_build_ready'\n\t\t|| status === 'collect_new_evidence';\n\treturn {\n\t\trequired: true,\n\t\tstatus: waitingStatus,\n\t\treadinessStatus: status,\n\t\tnextGate,\n\t\tstartingFailureClass: cleanText(input.last?.failureClass, 120),\n\t\tstartingBlockerFingerprint: cleanText(input.last?.blockerFingerprint || fingerprintResolveIOAICoderV6Blocker(input.last?.blocker || input.last?.summary || ''), 160),\n\t\tstartingEvidenceHash: cleanText(input.last?.evidenceHash, 160),\n\t\tworkflowProofFingerprint,\n\t\tartifactFingerprint,\n\t\trequiredEvidence: (requiredEvidenceByStatus[status] || []).slice(0, 20),\n\t\trequiredResetEvidence: Array.from(new Set([\n\t\t\t...(requiredEvidenceByStatus[status] || []),\n\t\t\t...(input.sameFailureParked === true ? ['new workflow proof fingerprint', 'new artifact fingerprint'] : []),\n\t\t\t...(input.releaseBlocked === true ? ['changed release gate fingerprint'] : [])\n\t\t])).slice(0, 20),\n\t\tsuccessRequiresWorkflowBusinessProof: status !== 'infra_repair_only' && status !== 'compile_repair_only' && status !== 'budget_stopped',\n\t\tblocksProductRepairUntilJourneyContract,\n\t\tblocksPublishUntilWorkflowProof,\n\t\tblocksPublishUntilReleaseGate: input.releaseBlocked === true || status === 'release_repair_required',\n\t\tblocksWowUiUntilWorkflowProof: blocksPublishUntilWorkflowProof,\n\t\tnextAction: cleanText(input.nextAction, 500) || aicoderWorkflowReadinessNextCommand(status)\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 contextReason = cleanText(context.reason, 1000);\n\tconst observedBlocker = cleanText(last?.blocker || last?.summary, 1000);\n\tconst reason = contextReason || observedBlocker;\n\tconst combinedText = `${failureClass}\\n${contextReason}\\n${observedBlocker}\\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 businessProofReady = proofArtifacts.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\tconst nextGate = aicoderWorkflowReadinessGateFor(status);\n\tconst nextCommand = aicoderWorkflowReadinessNextCommand(status);\n\tconst workflowProofCheckpoint = buildResolveIOAICoderWorkflowProofCheckpoint({\n\t\tstatus,\n\t\tnextGate,\n\t\tnextAction: nextCommand,\n\t\tlast,\n\t\tjourneyContractReady,\n\t\tbusinessProofReady,\n\t\trouteOnlyBlocked,\n\t\treleaseBlocked,\n\t\tinfraOnly,\n\t\tcompileOnly,\n\t\tsameFailureParked,\n\t\tprimaryWorkflowId,\n\t\tactiveWorkflowStep,\n\t\tworkflowQaRows: rows,\n\t\tbusinessProofArtifacts: proofArtifacts,\n\t\tcompletedWorkflowSteps: completedSteps\n\t});\n\treturn {\n\t\tstatus,\n\t\tnextGate,\n\t\tnextLane: context.nextLane || last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\tnextStep: context.nextStep || last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\tnextCommand,\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\tworkflowProofCheckpoint\n\t};\n}\n\nfunction aicoderNextActionLabel(command: string): string {\n\tswitch (command) {\n\t\tcase 'repair_aicoder_journey_contract':\n\t\t\treturn 'Repair Journey Contract';\n\t\tcase 'run_aicoder_workflow_build':\n\t\t\treturn 'Build North-Star Workflow';\n\t\tcase 'run_aicoder_workflow_qa':\n\t\t\treturn 'Run Workflow QA';\n\t\tcase 'repair_aicoder_release_gate':\n\t\t\treturn 'Repair Release Gate';\n\t\tcase 'repair_aicoder_compile_gate':\n\t\t\treturn 'Repair Compile Gate';\n\t\tcase 'repair_aicoder_infra_gate':\n\t\t\treturn 'Repair Infra Gate';\n\t\tcase 'run_aicoder_owner_scoped_repair':\n\t\t\treturn 'Run Scoped Repair';\n\t\tcase 'publish_aicoder_after_workflow_proof':\n\t\t\treturn 'Publish After Workflow Proof';\n\t\tcase 'park_aicoder_until_new_evidence':\n\t\t\treturn 'Park Until New Evidence';\n\t\tcase 'park_aicoder_budget_stop':\n\t\t\treturn 'Park Budget Stop';\n\t\tdefault:\n\t\t\treturn 'Continue Workflow';\n\t}\n}\n\nfunction aicoderNextActionPrimaryCommand(\n\taction: ResolveIOAICoderV6ContinuationAction,\n\treadiness: ResolveIOAICoderWorkflowReadiness\n): string {\n\tif (action === 'budget_stop') {\n\t\treturn 'park_aicoder_budget_stop';\n\t}\n\tif (action === 'park') {\n\t\treturn 'park_aicoder_until_new_evidence';\n\t}\n\tif (action === 'infra_retry') {\n\t\treturn readiness.compileOnly ? 'repair_aicoder_compile_gate' : 'repair_aicoder_infra_gate';\n\t}\n\tif (readiness.status === 'journey_contract_required' || readiness.status === 'journey_contract_repair_required') {\n\t\treturn 'repair_aicoder_journey_contract';\n\t}\n\tif (readiness.status === 'workflow_build_ready') {\n\t\treturn 'run_aicoder_workflow_build';\n\t}\n\tif (readiness.status === 'workflow_qa_required') {\n\t\treturn 'run_aicoder_workflow_qa';\n\t}\n\tif (readiness.status === 'release_repair_required') {\n\t\treturn 'repair_aicoder_release_gate';\n\t}\n\tif (action === 'ready_to_publish') {\n\t\treturn 'publish_aicoder_after_workflow_proof';\n\t}\n\tif (action === 'switch_to_repair' || action === 'retry_same_step') {\n\t\treturn 'run_aicoder_owner_scoped_repair';\n\t}\n\treturn 'continue_aicoder_workflow';\n}\n\nfunction aicoderNextActionCostRisk(\n\taction: ResolveIOAICoderV6ContinuationAction,\n\tcommand: string,\n\treadiness: ResolveIOAICoderWorkflowReadiness\n): ResolveIOAICoderNextActionCostRisk {\n\tif (action === 'park' || action === 'budget_stop' || readiness.requiresHumanDecision) {\n\t\treturn 'manual_blocked';\n\t}\n\tif (action === 'ready_to_publish' || command === 'repair_aicoder_release_gate' || readiness.nextGate === 'release') {\n\t\treturn 'release_or_customer_send';\n\t}\n\tif (command === 'run_aicoder_workflow_qa' || command === 'repair_aicoder_compile_gate' || command === 'repair_aicoder_infra_gate') {\n\t\treturn 'small_model_or_qa';\n\t}\n\tif (command === 'continue_aicoder_workflow') {\n\t\treturn 'free_or_deterministic';\n\t}\n\treturn 'expensive_model';\n}\n\nfunction aicoderNextActionExpectedTransition(command: string): string {\n\tswitch (command) {\n\t\tcase 'repair_aicoder_journey_contract':\n\t\t\treturn 'Missing or invalid journey contract becomes a validated first/next/last workflow graph with QA rows.';\n\t\tcase 'run_aicoder_workflow_build':\n\t\t\treturn 'Journey contract becomes implemented workflow screens, hub action, data story, and reachable completion state.';\n\t\tcase 'run_aicoder_workflow_qa':\n\t\t\treturn 'Route/browser evidence becomes AIQaBusinessAssertion proof for the north-star workflow.';\n\t\tcase 'repair_aicoder_release_gate':\n\t\t\treturn 'Publish/deploy/sample-data blocker becomes hotfix evidence, release-gate evidence, or one explicit force-deploy decision.';\n\t\tcase 'repair_aicoder_compile_gate':\n\t\t\treturn 'Compile failure becomes a passing build or a new compile blocker fingerprint.';\n\t\tcase 'repair_aicoder_infra_gate':\n\t\t\treturn 'Infra/preflight failure becomes a passing startup/browser/Mongo gate or a new infra blocker fingerprint.';\n\t\tcase 'run_aicoder_owner_scoped_repair':\n\t\t\treturn 'Current blocker changes to passed, a new evidence hash, or a parked manual decision.';\n\t\tcase 'publish_aicoder_after_workflow_proof':\n\t\t\treturn 'Workflow-proven artifact moves through the release gate exactly once with publish/deploy evidence recorded.';\n\t\tcase 'park_aicoder_budget_stop':\n\t\tcase 'park_aicoder_until_new_evidence':\n\t\t\treturn 'Runner stops spending until an operator records new evidence or an explicit next action.';\n\t\tdefault:\n\t\t\treturn 'Runner advances to the next workflow-first gate with evidence recorded.';\n\t}\n}\n\nfunction buildResolveIOAICoderNextActionStopConditions(\n\treadiness: ResolveIOAICoderWorkflowReadiness,\n\tcommand: string\n): string[] {\n\tconst stopConditions = [\n\t\t'Do not accept scorecard, wow score, or route load as app success without AIQaBusinessAssertion workflow proof.'\n\t];\n\tif (!readiness.journeyContractReady || command === 'repair_aicoder_journey_contract') {\n\t\tstopConditions.push('Do not run build tasks until docs/APP_JOURNEY_CONTRACT.md validates with first/next/last workflow steps.');\n\t}\n\tif (!readiness.businessProofReady || readiness.routeOnlyBlocked || command === 'run_aicoder_workflow_qa') {\n\t\tstopConditions.push('Do not publish or run wow UI polish until workflow business proof passes.');\n\t\tstopConditions.push('Route-only proof must stay labeled as route evidence, not acceptance.');\n\t}\n\tif (readiness.releaseBlocked || command === 'repair_aicoder_release_gate') {\n\t\tstopConditions.push('Do not repeat a full publish/deploy until release blocker evidence changes or hotfix/force evidence is recorded.');\n\t}\n\tif (readiness.infraOnly || readiness.compileOnly) {\n\t\tstopConditions.push('Infra, startup, Puppeteer, Chrome, Mongo, and compile failures stay in infra/compile repair; do not charge them as product workflow failure.');\n\t}\n\tif (readiness.sameFailureParked) {\n\t\tstopConditions.push('Do not retry the same model/code repair until the blocker fingerprint, evidence hash, or workflow proof artifact changes.');\n\t}\n\tif (readiness.requiresHumanDecision) {\n\t\tstopConditions.push('Do not spend additional model or release budget until an operator records the next bounded action.');\n\t}\n\treturn Array.from(new Set(stopConditions)).slice(0, 12);\n}\n\nexport function buildResolveIOAICoderNextActionContract(input: {\n\tbundle: ResolveIOAICoderV6StateBundle;\n\taction: ResolveIOAICoderV6ContinuationAction;\n\treason: string;\n\tnextLane: ResolveIOAICoderV6Lane;\n\tnextStep: ResolveIOAICoderV6StepType;\n\tbudgetExceeded?: boolean;\n\tworkflowReadiness: ResolveIOAICoderWorkflowReadiness;\n\tworkflowProofCheckpoint: ResolveIOAICoderWorkflowProofCheckpoint;\n\tnow?: Date | string;\n}): ResolveIOAICoderNextActionContract {\n\tconst workflowReadiness = input.workflowReadiness;\n\tconst workflowProofCheckpoint = input.workflowProofCheckpoint;\n\tconst history = Array.isArray(input.bundle.aiCoderV6StepHistory) ? input.bundle.aiCoderV6StepHistory : [];\n\tconst last = history[history.length - 1];\n\tconst command = aicoderNextActionPrimaryCommand(input.action, workflowReadiness);\n\tconst costRisk = aicoderNextActionCostRisk(input.action, command, workflowReadiness);\n\tconst hotfixCommitRequired = command === 'repair_aicoder_release_gate'\n\t\t|| workflowReadiness.releaseBlocked\n\t\t|| workflowReadiness.nextGate === 'release';\n\tconst liveHotfixBlockedUntilCommit = hotfixCommitRequired;\n\tconst requiredHotfixCommitProof = hotfixCommitRequired\n\t\t? ['sourceCommitSha', 'githubCommitUrl', 'gitCommitStatus=passed', 'gitPushStatus=passed']\n\t\t: [];\n\tconst requiresHumanApproval = input.action === 'park'\n\t\t|| input.action === 'budget_stop'\n\t\t|| input.action === 'ready_to_publish'\n\t\t|| input.budgetExceeded === true\n\t\t|| workflowReadiness.requiresHumanDecision === true;\n\tconst workflowFirstSatisfied = workflowReadiness.journeyContractReady\n\t\t&& workflowReadiness.businessProofReady\n\t\t&& !workflowReadiness.releaseBlocked\n\t\t&& !workflowReadiness.routeOnlyBlocked\n\t\t&& !workflowReadiness.infraOnly\n\t\t&& !workflowReadiness.compileOnly\n\t\t&& !workflowReadiness.sameFailureParked;\n\tconst safeToAutoRun = !requiresHumanApproval && (\n\t\tcommand === 'repair_aicoder_journey_contract'\n\t\t|| command === 'run_aicoder_workflow_build'\n\t\t|| command === 'run_aicoder_workflow_qa'\n\t\t|| command === 'repair_aicoder_release_gate'\n\t\t|| command === 'repair_aicoder_compile_gate'\n\t\t|| command === 'repair_aicoder_infra_gate'\n\t\t|| (command === 'run_aicoder_owner_scoped_repair' && workflowReadiness.canRunProductRepair)\n\t\t|| (command === 'continue_aicoder_workflow' && !workflowReadiness.blockers.length)\n\t);\n\tconst canRunWithoutCodexMonitor = safeToAutoRun\n\t\t&& workflowProofCheckpoint.requiredEvidence.length > 0\n\t\t&& workflowProofCheckpoint.nextAction.length > 0;\n\tconst blockers = Array.from(new Set([\n\t\t...workflowReadiness.blockers,\n\t\t...(workflowProofCheckpoint.status === 'waiting_for_new_evidence' ? workflowProofCheckpoint.requiredResetEvidence : [])\n\t])).slice(0, 12);\n\tconst preconditions = Array.from(new Set([\n\t\tworkflowProofCheckpoint.nextAction,\n\t\t...workflowProofCheckpoint.requiredEvidence,\n\t\t...(workflowReadiness.journeyContractReady ? [] : ['validated APP_JOURNEY_CONTRACT.md journey_contract JSON']),\n\t\t...(workflowReadiness.canRunWorkflowQa ? ['workflow QA rows generated from the journey contract'] : []),\n\t\t...(workflowReadiness.releaseBlocked ? ['release blocker artifact or hotfix-first release evidence'] : []),\n\t\t...(hotfixCommitRequired ? ['sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus before live hotfix apply'] : [])\n\t].map((entry) => cleanText(entry, 300)).filter(Boolean))).slice(0, 12);\n\tconst successEvidence = Array.from(new Set([\n\t\t...workflowProofCheckpoint.requiredEvidence,\n\t\t...(workflowReadiness.businessProofReady ? ['retained AIQaBusinessAssertion artifact'] : []),\n\t\t...(workflowReadiness.canPublish ? ['release gate accepts the workflow-proven artifact'] : []),\n\t\t...(command === 'repair_aicoder_release_gate' ? ['hotfix evidence or explicit one-time force release decision'] : []),\n\t\t...(hotfixCommitRequired ? ['GitHub commit and push proof for any manager-applied hotfix'] : [])\n\t].map((entry) => cleanText(entry, 300)).filter(Boolean))).slice(0, 12);\n\tconst stopConditions = buildResolveIOAICoderNextActionStopConditions(workflowReadiness, command);\n\tif (hotfixCommitRequired) {\n\t\tstopConditions.push('Do not apply a live AICoder backend/static hotfix until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus are recorded.');\n\t}\n\tconst forbiddenActions = Array.from(new Set([\n\t\t'accepting route-only proof as app success',\n\t\t'accepting scorecard-only or wow-score-only proof as app success',\n\t\t...(workflowReadiness.journeyContractReady ? [] : ['building product routes before the journey contract validates']),\n\t\t...(workflowReadiness.businessProofReady ? [] : ['publishing before north-star workflow business proof passes']),\n\t\t...(workflowReadiness.releaseBlocked ? ['rerunning full deploy/publish without changed release evidence'] : []),\n\t\t...(hotfixCommitRequired ? ['applying live hotfix before pushed GitHub commit proof'] : []),\n\t\t...(workflowReadiness.sameFailureParked ? ['retrying the same repair loop without new evidence'] : [])\n\t])).slice(0, 12);\n\tconst nextCommands = Array.from(new Set([\n\t\tcommand,\n\t\t...(command === 'repair_aicoder_journey_contract' ? ['validate_aicoder_journey_contract', 'generate_workflow_qa_rows'] : []),\n\t\t...(command === 'run_aicoder_workflow_qa' ? ['execute_contract_qa_assertions', 'record_aiqa_business_assertion'] : []),\n\t\t...(command === 'repair_aicoder_release_gate' ? [\n\t\t\t'collect_release_blocker_evidence',\n\t\t\t'prefer_hotfix_before_full_deploy',\n\t\t\t'prepare_hotfix_patch_without_live_apply',\n\t\t\t'commit_and_push_hotfix_to_github',\n\t\t\t'record_github_commit_for_hotfix',\n\t\t\t'apply_live_hotfix_only_after_github_commit_proof'\n\t\t] : []),\n\t\t...(command === 'repair_aicoder_compile_gate' ? ['rerun_compile_gate_only', 'record_compile_evidence_hash'] : []),\n\t\t...(command === 'repair_aicoder_infra_gate' ? ['rerun_preflight_gate_only', 'record_infra_evidence_hash'] : []),\n\t\t'record_aicoder_next_action_result'\n\t])).slice(0, 12);\n\tconst contractBasis = {\n\t\taction: input.action,\n\t\treason: cleanText(input.reason, 500),\n\t\tcommand,\n\t\treadinessStatus: workflowReadiness.status,\n\t\tcheckpointStatus: workflowProofCheckpoint.status,\n\t\tfailureClass: cleanText(last?.failureClass, 120),\n\t\tevidenceHash: hashResolveIOAIManagerEvidence(last as any)\n\t};\n\treturn {\n\t\tcontractId: `aicoder-next-${hashResolveIOAIManagerEvidence({\n\t\t\tfailureClass: contractBasis.failureClass,\n\t\t\tsummary: `${contractBasis.reason}:${contractBasis.command}:${contractBasis.readinessStatus}:${contractBasis.checkpointStatus}`,\n\t\t\tevidenceHash: contractBasis.evidenceHash,\n\t\t\tchangedFiles: last?.changedFiles,\n\t\t\tartifactPaths: last?.artifactPaths\n\t\t} as any)}`,\n\t\taction: input.action,\n\t\tlabel: aicoderNextActionLabel(command),\n\t\tprimaryCommand: command,\n\t\tlane: input.nextLane,\n\t\tstepType: input.nextStep,\n\t\tsafeToAutoRun,\n\t\trequiresHumanApproval,\n\t\tcanRunWithoutCodexMonitor,\n\t\tcodexFallbackRequired: !canRunWithoutCodexMonitor && !requiresHumanApproval,\n\t\tcodexFallbackReason: canRunWithoutCodexMonitor\n\t\t\t? ''\n\t\t\t: requiresHumanApproval\n\t\t\t\t? 'Operator approval is required before the next action.'\n\t\t\t\t: 'Next action needs stronger deterministic evidence before it can run unattended.',\n\t\tcostRisk,\n\t\tworkflowFirstSatisfied,\n\t\tdecisionBasis: {\n\t\t\tjourneyContractReady: workflowReadiness.journeyContractReady,\n\t\t\tworkflowProofReady: workflowReadiness.businessProofReady,\n\t\t\tsampleDataReady: workflowReadiness.businessProofReady && !workflowReadiness.releaseBlocked,\n\t\t\treleaseBlocked: workflowReadiness.releaseBlocked,\n\t\t\trouteOnlyBlocked: workflowReadiness.routeOnlyBlocked,\n\t\t\tinfraOnly: workflowReadiness.infraOnly,\n\t\t\tcompileOnly: workflowReadiness.compileOnly,\n\t\t\tsameFailureParked: workflowReadiness.sameFailureParked,\n\t\t\tcanPublish: workflowReadiness.canPublish,\n\t\t\tcanPolishWowUi: workflowReadiness.canPolishWowUi,\n\t\t\tworkflowReadinessStatus: workflowReadiness.status,\n\t\t\tworkflowProofCheckpointStatus: workflowProofCheckpoint.status,\n\t\t\tfailureClass: contractBasis.failureClass,\n\t\t\tevidenceHash: cleanText(last?.evidenceHash || contractBasis.evidenceHash, 160),\n\t\t\thotfixCommitRequired,\n\t\t\tliveHotfixBlockedUntilCommit\n\t\t},\n\t\tpreconditions,\n\t\texpectedStateTransition: aicoderNextActionExpectedTransition(command),\n\t\tsuccessEvidence,\n\t\trequiredHotfixCommitProof,\n\t\tstopConditions,\n\t\tforbiddenActions,\n\t\tnextCommands,\n\t\tblockers,\n\t\townerFiles: cleanList(last?.changedFiles, 20, 500),\n\t\tcreatedAt: isoNow(input.now)\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])).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' | 'workflowProofCheckpoint' | 'nextActionContract'>\n\t): ResolveIOAICoderV6ContinuationDecision => {\n\t\tconst workflowReadiness = 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\tconst workflowProofCheckpoint = workflowReadiness.workflowProofCheckpoint;\n\t\treturn {\n\t\t\t...decision,\n\t\t\tworkflowReadiness,\n\t\t\tworkflowProofCheckpoint,\n\t\t\tnextActionContract: buildResolveIOAICoderNextActionContract({\n\t\t\t\tbundle,\n\t\t\t\taction: decision.action,\n\t\t\t\treason: decision.reason,\n\t\t\t\tnextLane: decision.nextLane,\n\t\t\t\tnextStep: decision.nextStep,\n\t\t\t\tbudgetExceeded: decision.budgetExceeded,\n\t\t\t\tworkflowReadiness,\n\t\t\t\tworkflowProofCheckpoint\n\t\t\t})\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"]}