{"data":[{"id":"a0fe231b-dce8-4c52-b696-9086af2f4c12","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"1439e172b10122b9be66f171d6a45efd29780eb8","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"1439e172b10122b9be66f171d6a45efd29780eb8","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"e358c885c9e1547df4e47e97926ccd253b245ca83c2b3051de704fa9635d5bdd","forgejoWorkflowProof":{"runId":12482,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T11:24:53.678966+00:00","proof_gate":"canonical_release_pending","source_sha":"1439e172b10122b9be66f171d6a45efd29780eb8","external_id":"forgejo-main-1439e172b101","receipt_type":"canonical_release_status","idempotency_key":"mission:83e4fbfd-9393-418c-abd7-d8ad1ec62908:forgejo-release-status:1439e172b10122b9be66f171d6a45efd29780eb8:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"bf82d461-69f0-4396-9b85-7b1760b0e30f","command_center_event_id":"83e4fbfd-9393-418c-abd7-d8ad1ec62908"},{"id":"a100c0ea-fda0-4b7f-acde-162656d87b6a","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-ead13e6b624e","writes":[],"patches":[],"version":1,"approved":true,"missionId":"ead13e6b-624e-4093-ae21-ed1dbe024324","objective":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/platform-sidekick-intelligence.js","edits":[{"new_content":"export const PLATFORM_SIDEKICK_INTELLIGENCE_VERSION=\"platform-sidekick-intelligence-v15-readonly-contract\";","old_content":"export const PLATFORM_SIDEKICK_INTELLIGENCE_VERSION=\"platform-sidekick-intelligence-v14-long-horizon-state\";"},{"new_content":"function latestUserMessage(messages=[]){for(let i=(Array.isArray(messages)?messages.length:0)-1;i>=0;i--){if(String(messages[i]?.role||\"\").toLowerCase()===\"user\"&&!/^\\[Tool result/i.test(String(messages[i]?.content||\"\")))return text(messages[i]?.content,12000)}return\"\"}\nfunction readOnlyContractDirective(input={}){const readOnly=input?.readOnly===true||input?.directAnswerRequired===true||input?.objectiveCompilationAllowed===false;const executionExplicit=input?.executionRequested===true;if(!readOnly||executionExplicit)return\"\";return\"Caller read-only contract is active. This turn is a direct-answer/read operation only. Do not compile an objective, create or continue a mutation mission, or propose mutating tools. Status, progress, recap, explanation, and where-are-we phrasing are questions unless the owner separately gives an explicit execution command. Read-only tools may be proposed only when needed to ground the answer. Answer directly from supplied context and live read evidence.\"}","old_content":"function latestUserMessage(messages=[]){for(let i=(Array.isArray(messages)?messages.length:0)-1;i>=0;i--){if(String(messages[i]?.role||\"\").toLowerCase()===\"user\"&&!/^\\[Tool result/i.test(String(messages[i]?.content||\"\")))return text(messages[i]?.content,12000)}return\"\"}"},{"new_content":"function continuationRecoveryDirective(messages){const list=Array.isArray(messages)?messages:[],latest=latestUserMessage(list),continuation=/^(?:continue|keep going|do it|fix it|make it happen|handle it|finish it|ship it)[?.!\\s]*$/i.test(latest);","old_content":"function continuationRecoveryDirective(messages){const list=Array.isArray(messages)?messages:[],latest=latestUserMessage(list),continuation=/^(?:continue|keep going|status|poll|progress|where are we|do it|fix it|make it happen|handle it|finish it|ship it)[?.!\\s]*$/i.test(latest);"},{"new_content":"  const bareContinuation=/^(?:continue|keep going|do it|fix it|make it happen|handle it|finish it|ship it)[?.!\\s]*$/i.test(prompt);","old_content":"  const bareContinuation=/^(?:continue|keep going|status|poll|progress|where are we|do it|fix it|make it happen|handle it|finish it|ship it)[?.!\\s]*$/i.test(prompt);"},{"new_content":"  const g=createInferenceGateway(env,fetchImpl);\n  if(!g.chatAvailable)throw Object.assign(new Error(\"platform_sidekick_intelligence_not_configured\"),{status:503,failureClass:\"prerequisite_required\"});\n  const started=Date.now(),catalog=normalizeTools(input.tools),scope=redact(input.scope||{}),schema=schemaOf(input.responseSchema),structured=input.mode===\"structured\"||Boolean(schema),reasoningProfile=reasoningProfileOf(input,catalog,input.messages,structured),normalized=normalizeMessages(input.messages,reasoningProfile===\"deep\"?96:48),readOnlyDirective=readOnlyContractDirective(input),correctionDirective=correctionRecoveryDirective(normalized),referentDirective=referentRecoveryDirective(normalized),continuationDirective=readOnlyDirective?\"\":continuationRecoveryDirective(normalized),conversationState=conversationStateDirective(normalized,scope),groundingDirectives=[readOnlyDirective,correctionDirective,referentDirective,continuationDirective,conversationState].filter(Boolean),groundedMessages=groundingDirectives.length?[...groundingDirectives.map(content=>({role:\"system\",content})),...normalized]:normalized,baseDecisionMessages=[{role:\"system\",content:system(catalog,scope,structured)},...groundedMessages],candidatePromise=g.decide({messages:baseDecisionMessages,responseSchema:structured?schema:envelope(),reasoningProfile}),plannerPromise=reasoningProfile===\"deep\"?buildDecisionBrief(g,catalog,scope,groundedMessages):Promise.resolve(null),parallel=reasoningProfile===\"deep\"?await Promise.all([plannerPromise,candidatePromise]):[null,await candidatePromise],planner=parallel[0],candidate=parallel[1],candidateIssues=structured?[]:toolArgIssues(catalog,candidate?.decision),groundedRepair=candidateIssues.length?repairGroundedToolDecision(catalog,groundedMessages,candidate?.decision):null,toolRepair=groundedRepair?{...candidate,decision:groundedRepair}:candidateIssues.length?await repairToolDecision(g,catalog,scope,groundedMessages,planner?.brief||null,candidate.decision,candidateIssues):null,selected=toolRepair||candidate,selectedCalls=Array.isArray(selected?.decision?.toolCalls)?selected.decision.toolCalls:[],selectedMessage=text(selected?.decision?.message,12000),criticalCompletionClaim=/\\b(?:done|complete|completed|fixed|merged|deployed|released|verified|live|production|resolved)\\b/i.test(selectedMessage),plannerRisk=Boolean(planner?.brief&&(planner.brief.contradictions?.length||planner.brief.unknowns?.length||Number(planner.brief.confidence)<0.72||/\\b(?:high|critical|material|unsafe|blocked)\\b/i.test(String(planner.brief.risk||\"\")))),referentHeavy=/\\b(?:the first one|the second one|that one|same one|earlier one|previous one|what i meant|what i asked|i already asked|you already know|as i said|as we said)\\b/i.test(latestUserMessage(groundedMessages)),criticRequired=reasoningProfile===\"deep\"&&!structured&&selectedCalls.length===0&&Boolean(planner?.brief)&&(criticalCompletionClaim||plannerRisk||Boolean(correctionDirective)||referentHeavy),critic=criticRequired?await critiqueDecision(g,catalog,scope,groundedMessages,planner.brief,selected.decision):null;","old_content":"  const g=createInferenceGateway(env,fetchImpl);\n  if(!g.chatAvailable)throw Object.assign(new Error(\"platform_sidekick_intelligence_not_configured\"),{status:503,failureClass:\"prerequisite_required\"});\n  const started=Date.now(),catalog=normalizeTools(input.tools),scope=redact(input.scope||{}),schema=schemaOf(input.responseSchema),structured=input.mode===\"structured\"||Boolean(schema),reasoningProfile=reasoningProfileOf(input,catalog,input.messages,structured),normalized=normalizeMessages(input.messages,reasoningProfile===\"deep\"?96:48),correctionDirective=correctionRecoveryDirective(normalized),referentDirective=referentRecoveryDirective(normalized),continuationDirective=continuationRecoveryDirective(normalized),conversationState=conversationStateDirective(normalized,scope),groundingDirectives=[correctionDirective,referentDirective,continuationDirective,conversationState].filter(Boolean),groundedMessages=groundingDirectives.length?[...groundingDirectives.map(content=>({role:\"system\",content})),...normalized]:normalized,baseDecisionMessages=[{role:\"system\",content:system(catalog,scope,structured)},...groundedMessages],candidatePromise=g.decide({messages:baseDecisionMessages,responseSchema:structured?schema:envelope(),reasoningProfile}),plannerPromise=reasoningProfile===\"deep\"?buildDecisionBrief(g,catalog,scope,groundedMessages):Promise.resolve(null),parallel=reasoningProfile===\"deep\"?await Promise.all([plannerPromise,candidatePromise]):[null,await candidatePromise],planner=parallel[0],candidate=parallel[1],candidateIssues=structured?[]:toolArgIssues(catalog,candidate?.decision),groundedRepair=candidateIssues.length?repairGroundedToolDecision(catalog,groundedMessages,candidate?.decision):null,toolRepair=groundedRepair?{...candidate,decision:groundedRepair}:candidateIssues.length?await repairToolDecision(g,catalog,scope,groundedMessages,planner?.brief||null,candidate.decision,candidateIssues):null,selected=toolRepair||candidate,selectedCalls=Array.isArray(selected?.decision?.toolCalls)?selected.decision.toolCalls:[],selectedMessage=text(selected?.decision?.message,12000),criticalCompletionClaim=/\\b(?:done|complete|completed|fixed|merged|deployed|released|verified|live|production|resolved)\\b/i.test(selectedMessage),plannerRisk=Boolean(planner?.brief&&(planner.brief.contradictions?.length||planner.brief.unknowns?.length||Number(planner.brief.confidence)<0.72||/\\b(?:high|critical|material|unsafe|blocked)\\b/i.test(String(planner.brief.risk||\"\")))),referentHeavy=/\\b(?:the first one|the second one|that one|same one|earlier one|previous one|what i meant|what i asked|i already asked|you already know|as i said|as we said)\\b/i.test(latestUserMessage(groundedMessages)),criticRequired=reasoningProfile===\"deep\"&&!structured&&selectedCalls.length===0&&Boolean(planner?.brief)&&(criticalCompletionClaim||plannerRisk||Boolean(correctionDirective)||referentHeavy),critic=criticRequired?await critiqueDecision(g,catalog,scope,groundedMessages,planner.brief,selected.decision):null;"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.64.61-paul-readonly-contract\";","old_content":"export const CC_EXECUTION_VERSION = \"1.64.60-paul-long-horizon-state\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","wordingChanged":false,"canonicalIntent":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"core-readonly","statement":"PAUL's intelligence core explicitly enforces caller read-only/direct-answer/no-objective-compilation semantics.","provenance":{"reason":"Frontend now sends this contract but core currently ignores it.","source":"implementation_evidence","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"status-nonexecution","statement":"status, poll, progress, and where-are-we are no longer treated as execution continuation commands in the intelligence core.","provenance":{"reason":"Current continuation matcher includes them.","source":"implementation_evidence","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"preserve-action","statement":"True continuation/action commands remain actionable.","provenance":{"reason":"Do not break owner shorthand execution.","source":"implementation_constraint","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"objective":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","constraints":[{"id":"mission-freedom","statement":"Preserve provider-neutral Mission Freedom and bounded latency.","provenance":{"reason":"Existing live capability must remain intact.","source":"platform_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"no-witness","statement":"Do not run Visual Witness.","provenance":{"reason":"Standing owner rule.","source":"owner_explicit_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"live","kind":"runtime","claim":"Updated cc-execution runtime and PAUL intelligence are live and production eval remains green.","required":true,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"ead13e6b-624e-4093-ae21-ed1dbe024324","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":{"intent":{"rawUtterance":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","wordingChanged":false,"canonicalIntent":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"core-readonly","statement":"PAUL's intelligence core explicitly enforces caller read-only/direct-answer/no-objective-compilation semantics.","provenance":{"reason":"Frontend now sends this contract but core currently ignores it.","source":"implementation_evidence","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"status-nonexecution","statement":"status, poll, progress, and where-are-we are no longer treated as execution continuation commands in the intelligence core.","provenance":{"reason":"Current continuation matcher includes them.","source":"implementation_evidence","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"preserve-action","statement":"True continuation/action commands remain actionable.","provenance":{"reason":"Do not break owner shorthand execution.","source":"implementation_constraint","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"objective":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","constraints":[{"id":"mission-freedom","statement":"Preserve provider-neutral Mission Freedom and bounded latency.","provenance":{"reason":"Existing live capability must remain intact.","source":"platform_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"no-witness","statement":"Do not run Visual Witness.","provenance":{"reason":"Standing owner rule.","source":"owner_explicit_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"live","kind":"runtime","claim":"Updated cc-execution runtime and PAUL intelligence are live and production eval remains green.","required":true,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"841bf5840655d52abf754720a4d5b6634d5607ed1fa40d6c6318cd91cb571222","replayCount":0,"serializedBytes":20243},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T00:34:11.423582+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:ead13e6b-624e-4093-ae21-ed1dbe024324:repository-mutation-intent:841bf5840655d52abf754720a4d5b6634d5607ed1fa40d6c6318cd91cb571222:0","mission_step_id":"49e716bc-5cac-4634-8bff-915a0266aa06","command_center_event_id":"ead13e6b-624e-4093-ae21-ed1dbe024324"},{"id":"a1022d53-64f1-4bd8-acab-ddbefe0019ca","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-980b9743e3e3","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":10920,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"executorlessWaitMs":430178,"firstUsefulResultAt":"2026-09-24T19:37:33.927Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3667,"terminal":false,"missionId":"980b9743-e3e3-4fa2-b582-487091d09a8b","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":632,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":494,"approvedPlanMs":0,"missionSetupMs":438,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":308,"ledgerReconcileMs":0,"lineageReconcileMs":130,"resolvePreflightMs":438,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":308,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"980b9743-e3e3-4fa2-b582-487091d09a8b"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1969,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T19:44:55.96088+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3667","receipt_type":"execute_mission","idempotency_key":"mission:980b9743-e3e3-4fa2-b582-487091d09a8b:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"a434d872-4c8a-4c59-81eb-30fdbbaa37dd","command_center_event_id":"980b9743-e3e3-4fa2-b582-487091d09a8b"},{"id":"a102ae89-4d44-447a-a14c-8f3cf0be99d8","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-ba126d4c670e","writes":[],"patches":[],"version":1,"approved":true,"missionId":"ba126d4c-670e-4670-8274-75acb5a6a0d1","objective":"Continue the same mission. Add adaptive transient Gate recovery that changes runner pool exactly once per head while preserving source identity, and bump cc-execution version. Do not create a second PR.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mission-control.js","edits":[{"new_content":"const TRANSIENT_GATE_STATES = new Set(QA_DECISION_POLICY.transientGateStates);\nconst OWNER_GATE_POOL_MARKER = \"<!-- knocklaunch:gate-runner-pool:owner -->\";\nconst CLOUD_GATE_POOL_MARKER = \"<!-- knocklaunch:gate-runner-pool:cloud -->\";\n\nexport function adaptiveGateRetryBody(currentBody = \"\", headSha = \"\") {\n  const source = String(currentBody || \"\");\n  const exactHead = String(headSha || \"\").trim();\n  const fromPool = source.includes(OWNER_GATE_POOL_MARKER) ? \"owner\" : \"cloud\";\n  const toPool = fromPool === \"owner\" ? \"cloud\" : \"owner\";\n  const nextPoolMarker = toPool === \"owner\" ? OWNER_GATE_POOL_MARKER : CLOUD_GATE_POOL_MARKER;\n  const retryMarker = `<!-- knocklaunch:transient-gate-rerun head=${exactHead} -->`;\n  const stripped = source.replaceAll(OWNER_GATE_POOL_MARKER, \"\").replaceAll(CLOUD_GATE_POOL_MARKER, \"\").replace(/\\n{3,}/g, \"\\n\\n\").trim();\n  const additions = [nextPoolMarker, retryMarker].filter((marker) => !stripped.includes(marker));\n  return { body: `${stripped}${stripped && additions.length ? \"\\n\\n\" : \"\"}${additions.join(\"\\n\")}`, fromPool, toPool, recoveryVariable: \"runner_pool\", retryMarker, poolMarker: nextPoolMarker };\n}\nlet localPerformanceState = Object.fromEntries(PERFORMANCE_METRIC_NAMES.map((name) => [name, []]));","old_content":"const TRANSIENT_GATE_STATES = new Set(QA_DECISION_POLICY.transientGateStates);\nlet localPerformanceState = Object.fromEntries(PERFORMANCE_METRIC_NAMES.map((name) => [name, []]));"},{"new_content":"      const currentBody = String(exactPull?.body || \"\");\n      if (currentBody.includes(marker)) {\n        receipts.push({ runId, prNumber, status: \"skipped\", reason: \"transient_gate_rerun_exhausted_for_exact_head\", headSha: runSha });\n        continue;\n      }\n      const adaptiveRetry = adaptiveGateRetryBody(currentBody, runSha);\n      const markerWrite = await fetch(`${apiBase}/pulls/${prNumber}`, {\n        method: \"PATCH\",\n        headers,\n        body: JSON.stringify({ body: adaptiveRetry.body }),\n        signal: AbortSignal.timeout(FORGEJO_WRITE_TIMEOUT_MS),\n      });","old_content":"      const currentBody = String(exactPull?.body || \"\");\n      if (currentBody.includes(marker)) {\n        receipts.push({ runId, prNumber, status: \"skipped\", reason: \"transient_gate_rerun_exhausted_for_exact_head\", headSha: runSha });\n        continue;\n      }\n      const markerWrite = await fetch(`${apiBase}/pulls/${prNumber}`, {\n        method: \"PATCH\",\n        headers,\n        body: JSON.stringify({ body: `${currentBody}${currentBody.trim() ? \"\\n\\n\" : \"\"}${marker}` }),\n        signal: AbortSignal.timeout(FORGEJO_WRITE_TIMEOUT_MS),\n      });"},{"new_content":"      const markerReadBackBody = String(markerReadBack?.body || \"\");\n      if (!markerReadBackResponse.ok || String(markerReadBack?.head?.sha || markerReadBack?.head?.id || \"\").trim() !== runSha || !markerReadBackBody.includes(adaptiveRetry.retryMarker) || !markerReadBackBody.includes(adaptiveRetry.poolMarker)) {","old_content":"      if (!markerReadBackResponse.ok || String(markerReadBack?.head?.sha || markerReadBack?.head?.id || \"\").trim() !== runSha || !String(markerReadBack?.body || \"\").includes(marker)) {"},{"new_content":"        sourceMutated: retrigger.sourceMutated,\n        ...(transientRecovery ? { recoveryVariable: \"runner_pool\" } : {}),\n      });","old_content":"        sourceMutated: retrigger.sourceMutated,\n      });"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.59.4-adaptive-gate-recovery\";","old_content":"export const CC_EXECUTION_VERSION = \"1.59.3-direct-commit-ancestry\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"ba126d4c-670e-4670-8274-75acb5a6a0d1","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"aa6bcb5fe141a7dc5fac1265b8384ff68f7a64685f49dff7e9a55b96bd50d7e2","replayCount":0,"serializedBytes":5151},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T00:32:22.939782+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:ba126d4c-670e-4670-8274-75acb5a6a0d1:repository-mutation-intent:aa6bcb5fe141a7dc5fac1265b8384ff68f7a64685f49dff7e9a55b96bd50d7e2:0","mission_step_id":"93be48c3-e067-4963-9197-590aeca6b42f","command_center_event_id":"ba126d4c-670e-4670-8274-75acb5a6a0d1"},{"id":"a10413b1-65b7-45dd-99c2-c841ef121c92","source":"forgejo","status":"waiting","payload":{"branch":"ai/visual-witness-cloudflare-entitlement-diagnostic-20260905","prNumber":1819,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"d9bfe9c1525f1ccab687941df79be03b7cf9d70c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T11:51:17.745396+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"d9bfe9c1525f1ccab687941df79be03b7cf9d70c","external_id":"1819","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:682fc898-0270-49ec-b3d4-ea18305c544a:merged-pr:1819:d9bfe9c1525f1ccab687941df79be03b7cf9d70c","mission_step_id":"047f6a8a-b97d-4b4f-95a7-9fd50927304e","command_center_event_id":"682fc898-0270-49ec-b3d4-ea18305c544a"},{"id":"a105ecef-995a-4aa6-9c2a-ca756cea1b05","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"05274c14d77b4729b1f8a5f3a28bd128bda68bb3","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"05274c14d77b4729b1f8a5f3a28bd128bda68bb3","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1333","runId":1333,"status":"success","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-18T23:57:41.23583+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"05274c14d77b4729b1f8a5f3a28bd128bda68bb3","external_id":"forgejo-main-05274c14d77b","receipt_type":"canonical_release_status","idempotency_key":"mission:2160a187-5b83-4e34-b43d-4e0539f21745:forgejo-release-status:05274c14d77b4729b1f8a5f3a28bd128bda68bb3:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"6acccbe2-f9fb-454b-aee4-a6bbb5f4f5e4","command_center_event_id":"2160a187-5b83-4e34-b43d-4e0539f21745"},{"id":"a108a5dc-5b65-4fd1-ad58-a0399e452ad6","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":1006,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.8-visual-objective-proof","prNumber":4300,"terminal":false,"missionId":"d2f06e2a-908d-4af6-825e-a5568d80f631","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"f6cbe6afb3acb63b835230fa07dc1097f6e88dbf","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"d2f06e2a-908d-4af6-825e-a5568d80f631"},"performance":null,"deploymentId":"canonical-release-f6cbe6afb3ac","workflowRunId":31257852352,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1112,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-08T12:42:31.569511+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"f6cbe6afb3acb63b835230fa07dc1097f6e88dbf","external_id":"canonical-release-f6cbe6afb3ac","receipt_type":"ship_and_prove","idempotency_key":"mission:d2f06e2a-908d-4af6-825e-a5568d80f631:ship_and_prove:ship_and_prove_release_pending","mission_step_id":"9ddf48ea-7652-4059-94d1-14d42046de43","command_center_event_id":"d2f06e2a-908d-4af6-825e-a5568d80f631"},{"id":"a10ab3d3-76b8-4182-ba95-e82320f37f55","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"efa8f20edb79c93b25e31c3d626898abca3a10be","priorProofGate":"canonical_release_terminal_verified","requestContractHash":"d005ea50a7d566398439886a72d603c2746f480c86d06aff3fb75439a32fe708","reconciliationReason":"durable_terminal_release_proof_reused","durableReleaseProofReused":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T19:11:50.688947+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"efa8f20edb79c93b25e31c3d626898abca3a10be","external_id":"forgejo-main-efa8f20edb79","receipt_type":"canonical_release_status","idempotency_key":"mission:5a4d3db8-2253-40d7-a305-336f6bc2832f:durable-terminal-release-proof:efa8f20edb79c93b25e31c3d626898abca3a10be:d005ea50a7d566398439886a72d603c2746f480c86d06aff3fb75439a32fe708","mission_step_id":"6a173ac7-c08f-41e6-82a9-21156c469c66","command_center_event_id":"5a4d3db8-2253-40d7-a305-336f6bc2832f"},{"id":"a10b253a-7d7a-4ea3-ab64-ee0cff99f86d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/redfish-application-route-integrity-20260901","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":23126,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":7,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1306,"terminal":false,"missionId":"c417b477-62c0-4014-a60a-054912f42257","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":12208,"prReadinessMs":12029,"approvedPlanMs":0,"missionSetupMs":559,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"c417b477-62c0-4014-a60a-054912f42257"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2197,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T21:33:51.04741+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1306","receipt_type":"execute_mission","idempotency_key":"mission:c417b477-62c0-4014-a60a-054912f42257:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"f75a115f-2b00-41a7-847d-87e46ea7ab6b","command_center_event_id":"c417b477-62c0-4014-a60a-054912f42257"},{"id":"a10b9261-6e93-4a8d-bbaf-f546c417d43a","source":"forgejo","status":"retryable","payload":{"branch":"ai/add-forgejo-host-control-mcp-r2-20260826","merged":false,"prNumber":780,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T17:04:11.378807+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":null,"external_id":"780","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:de473921-dbdb-41a7-a320-ebeb97eb2bf5:closed-pr:780:unmerged","mission_step_id":"d3487bff-4905-4e4e-ae07-eeedd7309d27","command_center_event_id":"de473921-dbdb-41a7-a320-ebeb97eb2bf5"},{"id":"a10c3f21-0643-412f-82ee-beee8b064fd4","source":"cc-execution","status":"authorized","payload":{"paths":["scripts/command-center-host-agent/install-owner-host-agent.ps1","scripts/command-center-host-agent/owner-host-agent.ps1","scripts/validate-recovery-plane-contracts.mjs","workers/recovery-plane/src/index.js"],"reason":"Owner explicitly requested first-party KnockLaunch physical host management without third-party remote-control software.","baseSha":"da4312bbad8835c5dacefb90004305a04f7a5632","issuedAt":1791255993471,"expiresAt":1791256173471,"missionId":"10b94cd1-90ad-46bd-a864-548ea1c53b2a","authorizationId":"ffaa03ff-814c-4d88-8d93-c8fb64a841bd","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T03:06:34.039322+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"da4312bbad8835c5dacefb90004305a04f7a5632","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:ffaa03ff-814c-4d88-8d93-c8fb64a841bd","mission_step_id":"a5873c0a-bc20-4cbf-9472-d702ff1539e7","command_center_event_id":"10b94cd1-90ad-46bd-a864-548ea1c53b2a"},{"id":"a10c78a2-73fc-4083-ac0c-10bcb6b51f7c","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_base_sha_mismatch","fingerprint":"193a0aa3b771d8d7941caf847974b4689e4a781ae1c0fd4f704f5ab3632edd26"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T10:24:30.268227+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:024e44a3-e05b-4b36-b233-40ae126f86b9:repository-mutation-intent-blocked:193a0aa3b771d8d7941caf847974b4689e4a781ae1c0fd4f704f5ab3632edd26","mission_step_id":"769e955e-0d24-4ec9-82a7-bc2274356436","command_center_event_id":"024e44a3-e05b-4b36-b233-40ae126f86b9"},{"id":"a10ccce8-4ec9-485b-b787-abad967e47b3","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-bd008151ac47","prNumber":4470,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"9d475dae0774228ab0415f1c57f664d94a96379a","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:47:42.772971+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9d475dae0774228ab0415f1c57f664d94a96379a","external_id":"4470","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:bd008151-ac47-4c79-9642-d7f60ce0d501:merged-pr:4470:9d475dae0774228ab0415f1c57f664d94a96379a","mission_step_id":"bed39d1e-5866-4ba8-a321-24b5c6b1bd69","command_center_event_id":"bd008151-ac47-4c79-9642-d7f60ce0d501"},{"id":"a10e0943-1cd2-46e6-bcb9-01f84cd10c95","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze control plane for this exact owner-approved continuation of the Aggressive Recovery repair on PR #3279. Fix the transient Gate recovery gap discovered during this mission: Forgejo can collapse a cancelled pull-request Gate job into a generic failure commit status with empty logs, and the rerun helper can lose the PR link when commit-to-pull returns 404. Recovery must read the exact action-run state, classify cancelled/canceled/timed_out/error/startup_failure as transient even with empty logs, and recover the PR number from Forgejo's #<number> run ref before falling back to commit-to-pull lookup. Keep the same mission, branch and PR, preserve exact head/source safety, and do not create replacement work.","wordingChanged":false,"canonicalIntent":"Unfreeze control plane for this exact owner-approved continuation of the Aggressive Recovery repair on PR #3279. Fix the transient Gate recovery gap discovered during this mission: Forgejo can collapse a cancelled pull-request Gate job into a generic failure commit status with empty logs, and the rerun helper can lose the PR link when commit-to-pull returns 404. Recovery must read the exact action-run state, classify cancelled/canceled/timed_out/error/startup_failure as transient even with empty logs, and recover the PR number from Forgejo's #<number> run ref before falling back to commit-to-pull lookup. Keep the same mission, branch and PR, preserve exact head/source safety, and do not create replacement work.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"automatic-rehydrate","statement":"The one-minute cc-execution supervisor automatically rehydrates nonterminal owner-active durable missions through the existing mission status reconciliation path.","proofConditionIds":["repo-contract","runtime-contract"]},{"id":"reuse-identities","statement":"Recovery preserves the same mission and existing branch, pull request, gate, merge, and release identities and never creates replacement work merely because a transient interruption occurred.","proofConditionIds":["repo-contract","runtime-contract"]},{"id":"cancelled-gate-recovery","statement":"Cancelled Forgejo Gate runs are recognized from exact run state even when combined commit status says failure and logs are empty; PR identity is recovered from the run ref before commit-to-pull fallback.","proofConditionIds":["repo-contract","runtime-contract"]},{"id":"main-advancement-refresh","statement":"Upstream main advancement continues through the existing same-PR refresh and exact-head regate behavior.","proofConditionIds":["repo-contract"]},{"id":"bounded-retry","statement":"Repeated identical retryable states are bounded and throttled within a recovery window while progress resets the retry count.","proofConditionIds":["repo-contract","runtime-contract"]}],"objective":"Unfreeze control plane for this exact owner-approved continuation of the Aggressive Recovery repair on PR #3279. Fix the transient Gate recovery gap discovered during this mission: Forgejo can collapse a cancelled pull-request Gate job into a generic failure commit status with empty logs, and the rerun helper can lose the PR link when commit-to-pull returns 404. Recovery must read the exact action-run state, classify cancelled/canceled/timed_out/error/startup_failure as transient even with empty logs, and recover the PR number from Forgejo's #<number> run ref before falling back to commit-to-pull lookup. Keep the same mission, branch and PR, preserve exact head/source safety, and do not create replacement work.","constraints":[{"id":"no-safety-weakening","statement":"Do not weaken authentication, protected-main, exact-head gate, merge, release, or production safety invariants.","proofConditionIds":["repo-contract","runtime-contract"]},{"id":"single-owner","statement":"Do not introduce a second mutation, merge, queue, or release owner.","proofConditionIds":["repo-contract"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo-contract","runtime-contract"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo-contract","runtime-contract"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-contract","kind":"repository","claim":"Current merged source and canonical control-plane regression tests encode the Aggressive Recovery primitive including cancelled Gate recovery.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"runtime-contract","kind":"runtime","claim":"Live cc-execution runs the merged Aggressive Recovery supervisor and cancelled-Gate recovery behavior.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Unfreeze-control-plane-for-this-exact-owner-approved-continuation-of-the-Aggressive-Recovery-repair-","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["ccExecution"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["repo-contract","runtime-contract"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"9d96bf28ae47527cc74dca951843b35425d945a529f2f7d21215e2f70975642d","requestContractRevision":4,"previousRequestContractHash":"2d6742da6370a30f067ff48ed72cf53a18a65394a634f8d2b52e17f0931d6f01"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T06:01:37.501245+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:90ef6d5b-28ec-455b-b304-41150b7128ca:request-contract:9d96bf28ae47527cc74dca951843b35425d945a529f2f7d21215e2f70975642d","mission_step_id":"da34ee0a-552a-47dd-8589-c2779b6502ae","command_center_event_id":"90ef6d5b-28ec-455b-b304-41150b7128ca"},{"id":"a1100393-9035-4acc-8996-c7301116ade2","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/proposal-editor-layer-lock","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":null,"terminal":false,"missionId":"6b10770a-4570-410b-a7b1-0fc89cdfafb8","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":613,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1615,"providerAuthMs":0,"ledgerPrepareMs":844,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1615,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":844,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"6b10770a-4570-410b-a7b1-0fc89cdfafb8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3195,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T19:31:50.445989+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:6b10770a-4570-410b-a7b1-0fc89cdfafb8:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"97de73c1-75e0-4ea8-9702-32ee5efa65c1","command_center_event_id":"6b10770a-4570-410b-a7b1-0fc89cdfafb8"},{"id":"a1106c05-a6ab-4890-a470-163b4b0b929b","source":"paul-scheduler:compiler-recovery-v1","status":"blocked","payload":{"reason":"compiler_model_generation_failed","attempt":2,"prNumber":null,"httpStatus":409},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-12T01:07:15.602984+00:00","proof_gate":"compiler_scheduler_resume_not_advanced","source_sha":null,"external_id":null,"receipt_type":"bounded_compiler_scheduler_recovery","idempotency_key":"mission:e96d28b9-f00d-4b33-85c9-7ef1b6107e52:compiler-scheduler-recovery:2:blocked","mission_step_id":null,"command_center_event_id":"e96d28b9-f00d-4b33-85c9-7ef1b6107e52"},{"id":"a110ee21-3272-4554-8cb4-9c17c79a7a91","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-54ccf6ba9119","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":29999,"releaseCount":0,"toolCallCount":16,"repeatedCallCount":6,"executorlessWaitMs":291697,"firstUsefulResultAt":"2026-09-25T21:50:10.299Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":3770,"terminal":false,"missionId":"54ccf6ba-9119-4e9b-9354-6786328e6f14","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5460,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"54ccf6ba-9119-4e9b-9354-6786328e6f14"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T21:53:20.064056+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3770","receipt_type":"automatic_mission_resume","idempotency_key":"mission:54ccf6ba-9119-4e9b-9354-6786328e6f14:automatic-mission-resume:3770:repair_mission_pr_ready_retryable","mission_step_id":"faa3f925-956e-41da-8db5-5ef1083b96b3","command_center_event_id":"54ccf6ba-9119-4e9b-9354-6786328e6f14"},{"id":"a1140be3-fa21-49c0-88b1-c4c665b7e0e4","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"d76879330126f640e6bec5cf1c69371462e3db44","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"d76879330126f640e6bec5cf1c69371462e3db44","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"d743b17225c17776b7949f2cfd41c61951bfd57cc0c8ed265d29cc08f6735407","forgejoWorkflowProof":{"runId":12446,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"93e76e9a318d6da0ba6ebb02695d6b5d36e7cb68","deploymentId":"forgejo-main-93e76e9a318d6da0ba6ebb02695d6b5d36e7cb68","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.300-queue-self-heal","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T02:49:51.850807+00:00","proof_gate":"canonical_release_pending","source_sha":"d76879330126f640e6bec5cf1c69371462e3db44","external_id":"forgejo-main-d76879330126","receipt_type":"canonical_release_status","idempotency_key":"mission:dd4014d5-4269-414e-b6bd-e2ddee737d4c:forgejo-release-status:d76879330126f640e6bec5cf1c69371462e3db44:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"abeefb6b-8c18-48f0-8b08-aa2804f27836","command_center_event_id":"dd4014d5-4269-414e-b6bd-e2ddee737d4c"},{"id":"a1144912-199a-49e5-9bb1-d550cfe2de24","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-f5d0dd500891","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":39370,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":557978,"firstUsefulResultAt":"2026-09-25T14:01:05.429Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.281-witness-lane-affinity","prNumber":3737,"terminal":false,"missionId":"f5d0dd50-0891-4b75-8b77-9cb2ec694962","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4098,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":572,"missionSetupMs":247,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":247,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":247,"repositoryMutationMs":3526,"repositoryProviderMs":3526,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2133,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":247,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1393},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"f5d0dd50-0891-4b75-8b77-9cb2ec694962"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4005,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T14:10:28.677407+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3737","receipt_type":"execute_mission","idempotency_key":"mission:f5d0dd50-0891-4b75-8b77-9cb2ec694962:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"c033ca51-685f-40ba-b506-7e4f48c77c62","command_center_event_id":"f5d0dd50-0891-4b75-8b77-9cb2ec694962"},{"id":"a114b0c3-73a3-46d0-8fca-0ed923ea2543","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-r202608070457-g2","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":7633,"releaseCount":1,"toolCallCount":8,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.31.1-corrective-generation-branch-bootstrap","prNumber":null,"terminal":false,"missionId":"9cff236d-b9f9-47fc-a667-d5ed3c318998","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"9cff236d-b9f9-47fc-a667-d5ed3c318998"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1941,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T04:52:59.786243+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9cff236d-b9f9-47fc-a667-d5ed3c318998:execute_mission:repair_mission_synthesis_ready","mission_step_id":"f698bace-be57-4f39-94ab-7cb21f081078","command_center_event_id":"9cff236d-b9f9-47fc-a667-d5ed3c318998"},{"id":"a115583b-6f65-41a6-b4b4-5a575e70b0b1","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"08f4bb1c8329c1c79d2f52246ba821d8bbf550cf","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"single-owner-signed-out-oauth","satisfied":false,"statement":"When the platform is signed out, PRIME authentication and OAuth approval complete inside /auth with the isolated primeAuth client and do not navigate to /auth/oauth/consent.","proofConditionIds":["repo-proof","production-proof"]},{"id":"signed-in-platform-path-preserved","satisfied":false,"statement":"When a normal platform session exists, the existing /auth/oauth/consent approval path remains available and uses the platform Supabase client.","proofConditionIds":["repo-proof","production-proof"]},{"id":"no-bidirectional-loop","satisfied":false,"statement":"/auth/oauth/consent may redirect one-way to /auth only when the platform session is absent; /auth never redirects an isolated PRIME session back to consent.","proofConditionIds":["repo-proof"]},{"id":"platform-login-unchanged","satisfied":false,"statement":"Normal platform Login, PublicRoute, tenant selection, app/workspace routing, backend, database, and provider configuration remain unchanged.","proofConditionIds":["repo-proof","production-proof"]}],"satisfied":false,"constraints":[{"id":"frontend-auth-only","satisfied":false,"statement":"Only frontend OAuth auth/consent code and focused contract tests may change.","proofConditionIds":["repo-proof","production-proof"]},{"id":"canonical-release","satisfied":true,"statement":"Pass KnockLaunch Gate, squash merge through Forgejo, release frontend only, and verify the exact production artifact.","proofConditionIds":["production-proof"]}],"contractHash":"bba5ea6913a86e5855883d1463fafa6ae768b54fc84d7b8e958ad625deaabf81","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-proof","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"bba5ea6913a86e5855883d1463fafa6ae768b54fc84d7b8e958ad625deaabf81","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"production-proof","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"bba5ea6913a86e5855883d1463fafa6ae768b54fc84d7b8e958ad625deaabf81"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T16:29:52.905258+00:00","proof_gate":"request_contract_pending","source_sha":"08f4bb1c8329c1c79d2f52246ba821d8bbf550cf","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:8ab5254f-1339-4a93-91b0-a269b76b7b84:request-contract:bba5ea6913a86e5855883d1463fafa6ae768b54fc84d7b8e958ad625deaabf81:08f4bb1c8329c1c79d2f52246ba821d8bbf550cf:pending:repository","mission_step_id":"cdc6262e-68a4-4bf2-815a-a4e3d58ca4f1","command_center_event_id":"8ab5254f-1339-4a93-91b0-a269b76b7b84"},{"id":"a11a9c33-fa59-4e85-a994-bb34e01df5be","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-98eb0573bb1e","prNumber":4013,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"6ba6b935d19dcd8af4bfc865e824bba7abc09dce","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T16:15:56.139235+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"6ba6b935d19dcd8af4bfc865e824bba7abc09dce","external_id":"4013","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:98eb0573-bb1e-466c-a75a-9f3cde9aeced:merged-pr:4013:6ba6b935d19dcd8af4bfc865e824bba7abc09dce","mission_step_id":"29b89114-8242-44fc-a1c7-5808cff270e9","command_center_event_id":"98eb0573-bb1e-466c-a75a-9f3cde9aeced"},{"id":"a11b0e62-36e8-4b72-92af-e54a73228c83","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/pcg-background-legibility-20260903","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":13410,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.5-merge-queue-operators","prNumber":1586,"terminal":false,"missionId":"aaf09ce0-7149-4784-8d7d-2727f524f7b8","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"handlerMs":10216,"prReadinessMs":0,"approvedPlanMs":10216,"missionSetupMs":2046,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"aaf09ce0-7149-4784-8d7d-2727f524f7b8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1094,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-03T17:52:39.93939+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":"1586","receipt_type":"execute_mission","idempotency_key":"mission:aaf09ce0-7149-4784-8d7d-2727f524f7b8:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"6282f61b-ccd5-4cce-9809-69cc35758456","command_center_event_id":"aaf09ce0-7149-4784-8d7d-2727f524f7b8"},{"id":"a11b2de3-29f8-44f1-87cb-fc0bf1070279","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-07T19:43:25.672504+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/restore-frontend-source-proof-marker-cc\",\"prNumber\":4217,\"sourceSha\":\"ddf9714987cabd9dccb38dcac71c5d8239a7001a\",\"deploymentId\":\"canonical-release-ddf9714987ca\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T20:18:25.104543+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:1fa1b2df-cab0-4d66-88fd-d98d4ce19055:owner-progress-heartbeat:119409673","mission_step_id":"0b22fb36-4d78-4a11-969a-c67e44b532cc","command_center_event_id":"1fa1b2df-cab0-4d66-88fd-d98d4ce19055"},{"id":"a11dc663-1e90-4092-acd9-8196cd07c364","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":2739252,"releaseCount":1,"toolCallCount":1788,"repeatedCallCount":1733,"executorlessWaitMs":24614730,"firstUsefulResultAt":"2026-10-06T04:33:14.606Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":"1.65.10-boundary-fix-release-retry","prNumber":5163,"terminal":false,"missionId":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"c9d9f4ec695ac716cf920bc12184d9855017412d","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2119,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":109,"approvedPlanMs":0,"missionSetupMs":833,"providerAuthMs":0,"shipAndProveMs":1379,"ledgerPrepareMs":833,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":833,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":833,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},"performance":null,"deploymentId":"forgejo-main-c9d9f4ec695a","releaseState":null,"workflowRunId":16277,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2725,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T04:46:40.846319+00:00","proof_gate":"canonical_release_dispatched","source_sha":"d059e784c8fb33ceeb0e36baec00e818ef3753e8","external_id":"forgejo-main-d059e784c8fb","receipt_type":"execute_mission","idempotency_key":"mission:6cd825d0-ddfe-4532-8e8e-5f72704f5be5:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"9a4ca218-e3f5-49f9-bf28-20eb11c17aff","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"a11defb2-a9ca-4b86-a3b3-97c8172edc25","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"98cb3ec8e8ef68dc080691fafd0e1cdf34e6750c","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"98cb3ec8e8ef68dc080691fafd0e1cdf34e6750c","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-photo-studio"]},"releaseTargetStates":{"supabaseEdge":"success"},"requestContractHash":"d9e1665b9343b55c0d73fef595ed9fab6290763fef4de25115eee2f85f893067","forgejoWorkflowProof":{"runId":14811,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T12:59:33.422748+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"98cb3ec8e8ef68dc080691fafd0e1cdf34e6750c","external_id":"forgejo-main-98cb3ec8e8ef","receipt_type":"canonical_release_status","idempotency_key":"mission:993714c5-4a87-4fd5-b700-f73c468a404b:forgejo-release-status:98cb3ec8e8ef68dc080691fafd0e1cdf34e6750c:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"fb76ce2e-1815-40c4-9fd3-7cafe85b141a","command_center_event_id":"993714c5-4a87-4fd5-b700-f73c468a404b"},{"id":"a11e4c42-f250-4f0c-aa16-12988d676d40","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4848,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":46515,"firstUsefulResultAt":"2026-10-05T20:50:01.643Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":null,"terminal":false,"missionId":"8ce3402a-b01f-4a83-9a44-f516ab8e210e","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3592,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":307,"providerAuthMs":0,"ledgerPrepareMs":307,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":307,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":307,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"8ce3402a-b01f-4a83-9a44-f516ab8e210e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3365,"likelyAffectedFiles":["scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:50:04.127984+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8ce3402a-b01f-4a83-9a44-f516ab8e210e:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"d3ec5d57-7110-480c-8327-fa3d72fa781c","command_center_event_id":"8ce3402a-b01f-4a83-9a44-f516ab8e210e"},{"id":"a11ea1a0-3540-42ba-b168-370fcd9a6580","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-8ce3402ab01f","reason":"file_write_content_or_explicit_delete_required","status":"blocked","metrics":{"receiptBytes":14248,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":2,"executorlessWaitMs":129444,"firstUsefulResultAt":"2026-10-05T20:50:01.643Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":null,"terminal":false,"missionId":"8ce3402a-b01f-4a83-9a44-f516ab8e210e","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":359,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":359,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":359,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":359,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8ce3402a-b01f-4a83-9a44-f516ab8e210e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1575,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:51:40.540696+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8ce3402a-b01f-4a83-9a44-f516ab8e210e:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"667402ce-7a1a-4c50-bef7-e223f347c0ef","command_center_event_id":"8ce3402a-b01f-4a83-9a44-f516ab8e210e"},{"id":"a11eb310-78a7-4693-80aa-a1af480c00a5","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"96a2cd5b-f96d-4edf-a9e4-b3b3a0a36e24","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-e020b5c6b3f8","reason":null,"status":"pending","metrics":{"receiptBytes":106721,"releaseCount":0,"toolCallCount":47,"repeatedCallCount":26,"executorlessWaitMs":690414,"firstUsefulResultAt":"2026-09-30T18:24:46.764Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":4255,"terminal":false,"missionId":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"70b87aebe0d97e2f1ffb74f0d79070d90ab52d68","timingsMs":{"queue":285,"total":415,"execution":130},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237"},"performance":null,"deploymentId":"forgejo-main-70b87aebe0d9","releaseState":"verified","visualWitness":{"role":"Tenant Owner","jobId":"96a2cd5b-f96d-4edf-a9e4-b3b3a0a36e24","tenant":"pcg","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"96a2cd5b-f96d-4edf-a9e4-b3b3a0a36e24","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/pcg/calendar","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":1,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":"completed_with_findings","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1770,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T18:36:19.968462+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"70b87aebe0d97e2f1ffb74f0d79070d90ab52d68","external_id":"96a2cd5b-f96d-4edf-a9e4-b3b3a0a36e24","receipt_type":"visual_proof_started","idempotency_key":"mission:e020b5c6-b3f8-4d93-9c5c-0d62cb75b237:visual-start:96a2cd5b-f96d-4edf-a9e4-b3b3a0a36e24","mission_step_id":"5247730a-b455-4cb4-a769-9fbdbd16697c","command_center_event_id":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237"},{"id":"a11f8c7f-4491-461d-a0f2-cabc5e9d5d65","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":4096,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":4059,"terminal":false,"missionId":"372ac4cb-6812-4656-bfb0-e5ae8e978019","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"fad7c9821492bfab38120578e85ff0cc4549cd55","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"372ac4cb-6812-4656-bfb0-e5ae8e978019"},"performance":null,"deploymentId":"canonical-release-fad7c9821492","workflowRunId":31020568596,"releaseTargets":{"frontend":false,"onrunner":true,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1257,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-05T15:29:44.386377+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"fad7c9821492bfab38120578e85ff0cc4549cd55","external_id":"canonical-release-fad7c9821492","receipt_type":"ship_and_prove","idempotency_key":"mission:372ac4cb-6812-4656-bfb0-e5ae8e978019:ship_and_prove:ship_and_prove_release_pending","mission_step_id":"14c39b6f-d365-4e6c-8bb5-aa07081b67f9","command_center_event_id":"372ac4cb-6812-4656-bfb0-e5ae8e978019"},{"id":"a1202a77-e73e-4a0f-901b-671774ff67b2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-9d088d7955f2","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":89006,"releaseCount":0,"toolCallCount":28,"repeatedCallCount":21,"executorlessWaitMs":764182,"firstUsefulResultAt":"2026-09-27T15:11:29.867Z","recoveryAttemptCount":21,"ownerInterruptionCount":0},"version":null,"prNumber":3880,"terminal":false,"missionId":"9d088d79-55f2-4991-b7db-999b3335bec5","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5473,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"9d088d79-55f2-4991-b7db-999b3335bec5"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T15:16:27.033269+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3880","receipt_type":"automatic_mission_resume","idempotency_key":"mission:9d088d79-55f2-4991-b7db-999b3335bec5:automatic-mission-resume:3880:repair_mission_pr_ready_retryable","mission_step_id":"30ceb463-6087-4c64-872e-ee2c32df295b","command_center_event_id":"9d088d79-55f2-4991-b7db-999b3335bec5"},{"id":"a1226098-0c51-4052-b4ae-c772a30fb6d9","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-951a12eff015","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1943,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-28T13:12:36.453Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.301-premium-visual-system","prNumber":null,"terminal":false,"missionId":"951a12ef-f015-420b-8899-69e7222738ee","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1177,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":264,"providerAuthMs":0,"ledgerPrepareMs":264,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":264,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":264,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"951a12ef-f015-420b-8899-69e7222738ee"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3773,"likelyAffectedFiles":["src/PrivateAppShell.tsx","src/__tests__/contracts/generatedTenantRouteFamily.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:12:36.517128+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:951a12ef-f015-420b-8899-69e7222738ee:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"163ee196-4fb4-46af-93ad-c20c97a2167f","command_center_event_id":"951a12ef-f015-420b-8899-69e7222738ee"},{"id":"a125adb2-252a-4c65-b1f1-1c1a3e0612d1","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"24dd4bcecc44809e987192289c5bfbca39b30b73","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"o1","satisfied":true,"statement":"Ordinary/light-to-medium PR Gate work routes to msi-local under a 2-CPU thermal envelope; heavy/cross-cutting work routes to docker-8g; production release routing remains unchanged.","proofConditionIds":["p1"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["p1"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["p1"]}],"contractHash":"33fa1d199ffec5cb327f40aa8777eb229a96d6992ebede3eb9f0baa14f1f99db","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"p1","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{},"unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"33fa1d199ffec5cb327f40aa8777eb229a96d6992ebede3eb9f0baa14f1f99db"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T18:06:18.359796+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"24dd4bcecc44809e987192289c5bfbca39b30b73","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:275e9d88-1cfc-403f-899a-6ae4fd410ca9:request-contract:33fa1d199ffec5cb327f40aa8777eb229a96d6992ebede3eb9f0baa14f1f99db:24dd4bcecc44809e987192289c5bfbca39b30b73:verified:","mission_step_id":"99cb29bf-935e-44fc-ae5d-f630b64453e8","command_center_event_id":"275e9d88-1cfc-403f-899a-6ae4fd410ca9"},{"id":"a128ff9e-597d-4981-a321-ad4b5be7e0b3","source":"github-status","status":"verified","payload":{"failed":[],"states":{"canonical-production-release/verified":"success"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"37fbd77c59fd2af2366bd1272db37efef2ddbd1d","releaseState":"verified","exactConductorRun":{"id":31236048695,"status":"completed","headSha":"37fbd77c59fd2af2366bd1272db37efef2ddbd1d","conclusion":"success","sourceMatches":true},"ccExecutionRuntimeProof":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-08T02:59:11.909512+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"37fbd77c59fd2af2366bd1272db37efef2ddbd1d","external_id":"canonical-release-37fbd77c59fd","receipt_type":"canonical_release_status","idempotency_key":"mission:0f4860b2-110b-4730-895c-9ad26db09315:release-status:37fbd77c59fd2af2366bd1272db37efef2ddbd1d:verified:canonical-production-release/verified=success","mission_step_id":"61582d10-7df3-4f17-af56-354d559bf2c2","command_center_event_id":"0f4860b2-110b-4730-895c-9ad26db09315"},{"id":"a12939c2-e452-4752-8b0a-ff7cb5fcc700","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"branch_must_start_with_ai","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.38-atomic-new-branch-refreeze","prNumber":null,"terminal":false,"missionId":"aad490c1-79e9-4ff6-980d-4e070a5dbfa6","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1072,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":313,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":313,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":313,"repositoryMutationMs":1072,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":313,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"aad490c1-79e9-4ff6-980d-4e070a5dbfa6"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1301,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:31:21.568673+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:aad490c1-79e9-4ff6-980d-4e070a5dbfa6:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"02e5af33-bef4-4302-97ec-cb9d13069c44","command_center_event_id":"aad490c1-79e9-4ff6-980d-4e070a5dbfa6"},{"id":"a1296145-945b-407f-b028-ce512a07301c","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/lib/design/experienceStudioSurfaceResolver.ts"],"continuationObjective":"Frontend-only exact edit. In src/lib/design/experienceStudioSurfaceResolver.ts on current main, make unknown canonical tenant types safely preserve the requested route instead of dereferencing a missing specialized adapter. Replace `tenantType: ExperienceStudioBusinessType;` in SurfaceRouteContext with `tenantType: string;`. Then replace `const adapter = SURFACE_ADAPTERS[context.tenantType];` with `const adapter = SURFACE_ADAPTERS[context.tenantType as ExperienceStudioBusinessType];` followed immediately by `if (!adapter) return `${url.pathname}${url.search}${url.hash}`;`. Preserve every specialized adapter behavior and all other source unchanged. Create one ai/* PR, canonical Gate, squash merge, frontend deploy, and runtime proof. This is shared platform behavior, not a PCG special case."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:46:19.196135+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:1640998d-5d81-4ba8-b368-2c9f91cab6ee:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"9c9f3a20-dcf3-4f7b-b28b-cf818881a935","command_center_event_id":"1640998d-5d81-4ba8-b368-2c9f91cab6ee"},{"id":"a12b904c-5446-45ce-8720-b2bf1c5a615e","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/PrivateAppShell.tsx","config/canonical-platform-primitives.json","scripts/generate-platform-cohesion-auth-proof-requirements.mjs","scripts/validate-canonical-platform-primitives.mjs"],"continuationObjective":"MUTATE AND SHIP NOW. PCG P0 intake throughput requirement for Anthony's backlog. On current main, make WMP tracking automatic and idempotent for PCG intake: whenever a PCG order/submission is successfully created OR a PCG batch upload is successfully persisted, the canonical WhatsMyProgress primitive must automatically create or reuse exactly one WMP tracking number and public WMP link for that submission/batch before the operation is considered complete. Cards uploaded in the batch must attach to that same submission/WMP identity. Retries must not create duplicate WMP numbers. Surface the WMP number/link immediately in the PCG intake/receipt success state so staff can give it to the customer and continue processing. Preserve tenant isolation and existing PCG certification numbering rules. Prioritize the existing PCG intake/submission implementation; do not broaden into marketplace/forum work. Run the relevant Gate, squash merge, release affected targets, and verify the production PCG intake path is live."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T20:10:54.559291+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:3865a0ff-d47d-44c7-9ecc-9580bf37be50:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"a36e1605-0286-4c40-9054-87a7f8e1d780","command_center_event_id":"3865a0ff-d47d-44c7-9ecc-9580bf37be50"},{"id":"a12c089c-a7ee-4c02-83f7-11d84e3d549c","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success","supabase-edge-production/live":"success"},"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"sourceSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["command-center-autopilot"]},"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"requestContractHash":"b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978","forgejoWorkflowProof":{"runId":10336,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-0646720cad3dc88b10532a280fd98ff47c311f3e","compareStatus":"target_job_success_runtime_verified","workflowRunId":10336,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.195-split-brain-safe-supervisor","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:56:40.292529+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"0646720cad3dc88b10532a280fd98ff47c311f3e","external_id":"forgejo-main-0646720cad3d","receipt_type":"canonical_release_status","idempotency_key":"mission:392e0099-9a83-4bf8-ab58-c4fb841420be:forgejo-release-status:0646720cad3dc88b10532a280fd98ff47c311f3e:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success|supabase-edge-production/live=success","mission_step_id":"e5619154-b747-46d0-b291-8828ef58e252","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"a12e934e-6dc4-4366-944b-818a01ea911f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"automatic_mission_resume\",\"status\":\"release_freshness_reconciliation_pending\",\"proofGate\":\"canonical_release_freshness_reconciliation_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-06T00:38:57.523265+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-61d68e1e9cf1\",\"prNumber\":5067,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T21:15:14.109779+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:61d68e1e-9cf1-4260-b4ba-e286fab9894a:owner-progress-heartbeat:119415660","mission_step_id":"e9ecd7ca-4b18-45da-b70d-0511ec4d7eaa","command_center_event_id":"61d68e1e-9cf1-4260-b4ba-e286fab9894a"},{"id":"a12fc4bd-efa9-4c4c-a9fe-d632618345ec","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/release-plan-no-checkout-action-20260904","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.38-atomic-new-branch-refreeze","prNumber":1680,"terminal":false,"missionId":"553eb4db-0d17-4ea5-a231-c4b088ebbc89","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"03c428ea1b6c86483bb369d66c90c339eced09f4","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":16949,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2205,"approvedPlanMs":0,"missionSetupMs":5808,"providerAuthMs":0,"shipAndProveMs":12806,"ledgerPrepareMs":808,"ledgerReconcileMs":0,"lineageReconcileMs":5000,"resolvePreflightMs":5808,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":808,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"553eb4db-0d17-4ea5-a231-c4b088ebbc89"},"performance":null,"deploymentId":"forgejo-main-03c428ea1b6c","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2733,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:29:36.46121+00:00","proof_gate":"canonical_release_dispatched","source_sha":"03c428ea1b6c86483bb369d66c90c339eced09f4","external_id":"forgejo-main-03c428ea1b6c","receipt_type":"execute_mission","idempotency_key":"mission:553eb4db-0d17-4ea5-a231-c4b088ebbc89:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"99fb9dfc-a461-4007-ad00-aca789331eb8","command_center_event_id":"553eb4db-0d17-4ea5-a231-c4b088ebbc89"},{"id":"a131606d-8507-4f99-9d2d-90a772e0e1c7","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"c4fa3bd4-a214-4085-8049-946a709c2dff"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T15:45:17.326416+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:c4fa3bd4-a214-4085-8049-946a709c2dff:mission-cancel:c4fa3bd4-a214-4085-8049-946a709c2dff","mission_step_id":"fbe0182b-5eb9-47f3-be48-789708c8bcc7","command_center_event_id":"c4fa3bd4-a214-4085-8049-946a709c2dff"},{"id":"a1320034-8dcc-4fa5-a750-61d8ec9ec208","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"other_product_work","disposition":"superseded_execution_attempt","previousStatus":"retryable","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"1a208a97-7a93-52a9-bc0f-b80fe445c55b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:a8159ede-8a77-43b3-95a9-a32235cead76","mission_step_id":null,"command_center_event_id":"a8159ede-8a77-43b3-95a9-a32235cead76"},{"id":"a133bc85-bda8-4320-9a51-278d50f3348a","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml"],"reason":"Owner explicitly authorized temporary control-plane unfreeze to fix the primary and virtual Visual Witness runner system and refreeze after live proof; this corrective generation removes the stale fallback-null release invariant that blocked the authorized repair.","baseSha":"54bf8b4bc731f05f568256c7fb805e2da79daac9","issuedAt":1788548875492,"expiresAt":1788549055492,"missionId":"b16d69ed-3a11-430b-846b-d0828c9b20b9","authorizationId":"92902f97-f1e2-480b-b5fb-8dcbeed83df9","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T19:07:56.025225+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"54bf8b4bc731f05f568256c7fb805e2da79daac9","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:92902f97-f1e2-480b-b5fb-8dcbeed83df9","mission_step_id":"43a44408-c092-4622-a466-97d012fab243","command_center_event_id":"b16d69ed-3a11-430b-846b-d0828c9b20b9"},{"id":"a1357ccd-91c0-44b6-b50a-53a87b097fba","source":"cc-execution","status":"recorded","payload":{"objective":"Continue the existing Big Papi owner-unification workstream and PR #730. Push one exact source repair: public event intake must reuse a canonical existing unified contact by email or normalized phone before creating a new contact, preserving loyalty/customer history and allowing one person to also become a booking client.","tenantRef":"766cfaa7-ac42-46c8-bbef-69d13268a29d","receivedAt":"2026-08-25T05:31:59.298Z","fingerprint":"85f0dd014543dd53e79cde933dae10a2da7b09aecaabf2c1dac826384ccd4865","workstreamRef":"766cfaa7ac4246c8bbef69d13268a29d","conversationId":null,"canonicalBranch":"ai/big-papis-unified-owner-os-20260825","requestedBranch":"ai/big-papis-unified-owner-os-20260825","conversationContext":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-25T05:31:59.744588+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:260f19f5-c09a-4b03-bc3d-87bbf19aa93f:tenant-workstream-contribution:85f0dd014543dd53e79cde933dae10a2da7b09aecaabf2c1dac826384ccd4865","mission_step_id":"bf29384d-6744-4644-af1f-0c6a98af771f","command_center_event_id":"260f19f5-c09a-4b03-bc3d-87bbf19aa93f"},{"id":"a1370f6a-fc3e-4693-ae9f-99bfadc32fcf","source":"owner_authorized_backlog_reconciliation","status":"blocked","payload":{"disposition":"recoverable_blocked","auditPreserved":true,"releaseVerified":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T15:48:29.147163+00:00","proof_gate":"expired_mission_missing_implementation_evidence","source_sha":null,"external_id":null,"receipt_type":"historical_mission_triage","idempotency_key":"historical-triage-20261011:24c24bb2-3c47-4e97-84ae-1fe2531b7e42","mission_step_id":null,"command_center_event_id":"24c24bb2-3c47-4e97-84ae-1fe2531b7e42"},{"id":"a13d2705-23dc-4a36-9a01-6564ff057c9f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b2470149d0a7","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":3690,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":18639,"firstUsefulResultAt":"2026-09-29T02:34:21.970Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.63.0-mission-freedom-web-research","prNumber":4086,"terminal":false,"missionId":"b2470149-d0a7-41f7-9bcd-223d1976693a","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3604,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":554,"missionSetupMs":268,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":268,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":268,"repositoryMutationMs":3050,"repositoryProviderMs":3050,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1867,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":268,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1183},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"b2470149-d0a7-41f7-9bcd-223d1976693a"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3282,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:34:45.164506+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4086","receipt_type":"execute_mission","idempotency_key":"mission:b2470149-d0a7-41f7-9bcd-223d1976693a:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"3900b672-4125-495b-90d5-f1c1c18cd1e0","command_center_event_id":"b2470149-d0a7-41f7-9bcd-223d1976693a"},{"id":"a1401471-1b6b-4b7c-af31-d108680e408f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-07T01:42:42.941337+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":4165,\"sourceSha\":\"0a41665f9ab0bdd70a2e012fe7581fcc23ac78da\",\"deploymentId\":\"canonical-release-0a41665f9ab0\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T13:32:54.560222+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:47a989af-5c6c-4b7d-8502-d015d1fd1841:owner-progress-heartbeat:119408051","mission_step_id":"3f45c782-8890-420f-ad00-4be773f8cf59","command_center_event_id":"47a989af-5c6c-4b7d-8502-d015d1fd1841"},{"id":"a141c30d-6ee4-439f-a127-3589360df273","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":39299,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.5-merge-queue-operators","prNumber":1557,"terminal":false,"missionId":"a2bf6791-5eab-4c5b-8c92-44a9a4ad7b49","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":7890,"prReadinessMs":3683,"approvedPlanMs":3282,"missionSetupMs":2754,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"a2bf6791-5eab-4c5b-8c92-44a9a4ad7b49"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1034,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-03T14:09:52.559818+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1557","receipt_type":"execute_mission","idempotency_key":"mission:a2bf6791-5eab-4c5b-8c92-44a9a4ad7b49:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"b0ac68e9-8918-4195-9d48-80545f86cf32","command_center_event_id":"a2bf6791-5eab-4c5b-8c92-44a9a4ad7b49"},{"id":"a1435e3b-e9e9-49e5-8ea7-a6ba58c64799","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-e6a9f106c0ab","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e6a9f106-c0ab-4d13-9da3-8c67bf171dfc","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"wrangler.toml","edits":[{"new_content":"[[services]]\nbinding = \"CC_EXECUTION\"\nservice = \"cc-execution\"\n\n[assets]\ndirectory = \"./dist\"\nbinding = \"ASSETS\"","old_content":"[assets]\ndirectory = \"./dist\"\nbinding = \"ASSETS\""}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.58.287-console-service-binding\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.286-cursor-readonly-mcp-bootstrap\";"}]},{"path":"workers/cc-execution/src/entrypoint-owner-status.js","edits":[{"new_content":"async function consoleForgejoInventory(env) {\n  const [repoRunners, userRunners] = await Promise.all([\n    forgejo(env, `/repos/${DEFAULT_REPOSITORY}/actions/runners?limit=50`),\n    forgejo(env, \"/user/actions/runners?limit=50\"),\n  ]);\n  if (!repoRunners.ok) return json({ ok: false, error: repoRunners.body?.reason || 'Forgejo runner inventory unavailable' }, repoRunners.status || 502);\n  const rows = (result) => result?.ok ? (Array.isArray(result.body?.runners) ? result.body.runners : Array.isArray(result.body) ? result.body : []) : [];\n  const combined = [...rows(repoRunners), ...rows(userRunners)];\n  const seen = new Set();\n  const runners = combined.filter((runner) => { const key = String(runner?.id ?? runner?.name ?? ''); if (!key || seen.has(key)) return false; seen.add(key); return true; }).map((runner) => ({\n    id: runner?.id ?? null,\n    name: String(runner?.name || ''),\n    status: String(runner?.status || ''),\n    busy: Boolean(runner?.busy),\n    version: String(runner?.version || ''),\n    labels: (Array.isArray(runner?.labels) ? runner.labels : []).map((label) => typeof label === 'string' ? label : String(label?.name || '')).filter(Boolean),\n  }));\n  return json({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runners: runners.length }, sections: { Runners: { status: 'observed', data: { total_count: runners.length, runners } } } });\n}\n\nasync function consoleRunnerProof(env) {\n  const result = await forgejoWrite(env, 'POST', `/repos/${DEFAULT_REPOSITORY}/actions/workflows/msi-runner-proof.yml/dispatches`, { ref: 'main' });\n  if (!result.ok) return json({ ok: false, error: result.body?.reason || `MSI proof dispatch failed (${result.status || 502})` }, result.status || 502);\n  return json({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runner: 'msi-local', Workflow: 'MSI Runner Proof', Ref: 'main', Dispatch: 'accepted' }, sections: { Dispatch: { status: 'observed', data: { workflow: 'msi-runner-proof.yml', ref: 'main' } } } });\n}\n\nasync function forgejoWrite(env, method, path, payload = null) {","old_content":"async function forgejoWrite(env, method, path, payload = null) {"},{"new_content":"    if (path === \"/internal/console/forgejo\" && request.method === \"GET\") return consoleForgejoInventory(env);\n    if (path === \"/internal/console/forgejo\" && request.method === \"POST\") {\n      const body = await request.json().catch(() => ({}));\n      if (body?.action !== 'runner-proof') return json({ ok: false, error: 'Action not allowed' }, 400);\n      return consoleRunnerProof(env);\n    }\n    if (path === \"/forgejo/event\" && request.method === \"POST\") return forgejoEvent(request, env, ctx);","old_content":"    if (path === \"/forgejo/event\" && request.method === \"POST\") return forgejoEvent(request, env, ctx);"}]},{"path":"scripts/cloudflare-native-owner-worker.mjs","edits":[{"new_content":"async function handleConsoleForgejoRequest(request, env) {\n  if (!['GET','POST'].includes(request.method)) return workspaceJson({ ok: false, error: 'Method not allowed' }, 405, { allow: 'GET, POST' });\n  const auth = await requireSystemAdmin(request); if (!auth.ok) return auth.response;\n  if (!env.CC_EXECUTION?.fetch) return workspaceJson({ ok: false, error: 'Console control-plane binding is unavailable' }, 503);\n  const body = request.method === 'POST' ? await request.clone().json().catch(() => ({})) : null;\n  if (request.method === 'POST' && body?.action !== 'runner-proof') return workspaceJson({ ok: false, error: 'Action not allowed' }, 400);\n  let upstream;\n  try {\n    upstream = await env.CC_EXECUTION.fetch('https://cc-execution.internal/internal/console/forgejo', {\n      method: request.method,\n      headers: { 'Content-Type': 'application/json', 'X-Knocklaunch-Console-Proxy': 'owner-production' },\n      ...(request.method === 'POST' ? { body: JSON.stringify({ action: 'runner-proof' }) } : {}),\n    });\n  } catch (error) {\n    return workspaceJson({ ok: false, error: `Console control plane unavailable: ${error instanceof Error ? error.message : String(error)}` }, 502);\n  }\n  const payload = await upstream.json().catch(() => ({ error: 'Console control plane returned invalid JSON' }));\n  return workspaceJson(payload, upstream.status);\n}","old_content":"async function handleConsoleForgejoRequest(request, env) {\n  if (!['GET','POST'].includes(request.method)) return workspaceJson({ ok: false, error: 'Method not allowed' }, 405, { allow: 'GET, POST' });\n  const auth = await requireSystemAdmin(request); if (!auth.ok) return auth.response;\n  const token = String(env.FGJ_CONTROL_TOKEN || env.FORGEJO_TOKEN || '').trim();\n  if (!token) return workspaceJson({ ok: false, error: 'Forgejo control credential is not configured' }, 503);\n  const headers = { Authorization: `token ${token}`, Accept: 'application/json', 'Content-Type': 'application/json' };\n  if (request.method === 'POST') {\n    const body = await request.json().catch(() => ({}));\n    if (body?.action !== 'runner-proof') return workspaceJson({ ok: false, error: 'Action not allowed' }, 400);\n    const dispatched = await fetch('https://git.knocklaunch.app/api/v1/repos/noel/KnockLaunchOS/actions/workflows/msi-runner-proof.yml/dispatches', { method: 'POST', headers, body: JSON.stringify({ ref: 'main' }), signal: AbortSignal.timeout(10000) }).catch(() => null);\n    if (!dispatched?.ok) return workspaceJson({ ok: false, error: `MSI proof dispatch failed${dispatched ? ` (${dispatched.status})` : ''}` }, 502);\n    return workspaceJson({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runner: 'msi-local', Workflow: 'MSI Runner Proof', Ref: 'main', Dispatch: 'accepted' }, sections: { Dispatch: { status: 'observed', data: { workflow: 'msi-runner-proof.yml', ref: 'main' } } } });\n  }\n  const runnersResponse = await fetch('https://git.knocklaunch.app/api/v1/repos/noel/KnockLaunchOS/actions/runners?limit=50', { headers, signal: AbortSignal.timeout(10000) }).catch(() => null);\n  if (!runnersResponse?.ok) return workspaceJson({ ok: false, error: `Forgejo runner inventory unavailable${runnersResponse ? ` (${runnersResponse.status})` : ''}` }, 502);\n  const payload = await runnersResponse.json().catch(() => null);\n  const runners = (Array.isArray(payload?.runners) ? payload.runners : []).map((runner) => ({ id: runner?.id ?? null, name: String(runner?.name || ''), status: String(runner?.status || ''), busy: Boolean(runner?.busy), version: String(runner?.version || ''), labels: (Array.isArray(runner?.labels) ? runner.labels : []).map((label) => typeof label === 'string' ? label : String(label?.name || '')).filter(Boolean) }));\n  return workspaceJson({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runners: runners.length }, sections: { Runners: { status: 'observed', data: { total_count: runners.length, runners } } } });\n}"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"e6a9f106-c0ab-4d13-9da3-8c67bf171dfc","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"1d3c9e389cec96bd72a8b92057ca23fe6fc1d09b9d4823f443a057483a5f59e1","replayCount":0,"serializedBytes":8473},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T17:35:38.67926+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e6a9f106-c0ab-4d13-9da3-8c67bf171dfc:repository-mutation-intent:1d3c9e389cec96bd72a8b92057ca23fe6fc1d09b9d4823f443a057483a5f59e1:0","mission_step_id":"24b92250-0e13-44fb-9f19-c926932f43f9","command_center_event_id":"e6a9f106-c0ab-4d13-9da3-8c67bf171dfc"},{"id":"a14706e3-92e8-42fd-9a41-ed7758a54fbb","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success","supabase-edge-production/live":"success"},"mainSha":"5d0bc98900d03abf693cd7cba5e71b29f325b9c7","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"5d0bc98900d03abf693cd7cba5e71b29f325b9c7","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["roof-measurement-job"]},"requestContractHash":"7052d37fc1d7dcd88f0a277ae962b95e0886f0a49f80c848f9cea4fc238825a2","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/4583","runId":4583,"status":"success","sourceSha":"5d0bc98900d03abf693cd7cba5e71b29f325b9c7","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T19:47:26.087751+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"5d0bc98900d03abf693cd7cba5e71b29f325b9c7","external_id":"forgejo-main-5d0bc98900d0","receipt_type":"canonical_release_status","idempotency_key":"mission:1c75872a-a97f-4a1e-afa3-5c55a44fe46c:forgejo-release-status:5d0bc98900d03abf693cd7cba5e71b29f325b9c7:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"5c0671bc-76a8-4606-b832-0f64ce3b7c99","command_center_event_id":"1c75872a-a97f-4a1e-afa3-5c55a44fe46c"},{"id":"a1476619-da79-4af0-8c49-0f651a60ce4a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":"f79e4a52-6a25-4e42-96bb-333fb0ffb785","phase":"runtime_proof","branch":"ai/objective-first-repair-4eb6c2d1c42a","reason":"retryable_provider_transport:POST:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.98-owner-handoff-overlap","prNumber":2385,"terminal":false,"missionId":"4eb6c2d1-c42a-4755-af4a-52d9201cad84","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":"300c756053700eed702b7314f80a1ec8880617e5","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":26244,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":312,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":312,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":312,"repositoryMutationMs":26244,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":312,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"4eb6c2d1-c42a-4755-af4a-52d9201cad84"},"performance":null,"deploymentId":"forgejo-main-300c75605370","workflowRunId":7043,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1553,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-11T05:52:37.626102+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:4eb6c2d1-c42a-4755-af4a-52d9201cad84:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"dccdaccf-3656-4e74-8194-60ed004fc9c4","command_center_event_id":"4eb6c2d1-c42a-4755-af4a-52d9201cad84"},{"id":"a14aa4bf-5801-4229-9560-dd9661265799","source":"forgejo-runtime","status":"verified","payload":{"headSha":"e34af2e3f9e87a6df4c49b01c755b92b3e84d8d7","prNumber":6449,"sourceSha":"2e0621773f975d1f1ab04151b17696d377bb1028","headRefreshed":false,"mergedPrVerified":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T16:23:22.647933+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"2e0621773f975d1f1ab04151b17696d377bb1028","external_id":"6449","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:3dc02f26-ea7d-4a46-bd1a-f9f8e8f64112:merged-pr:6449:2e0621773f975d1f1ab04151b17696d377bb1028","mission_step_id":"fb80a2af-f7ae-4950-ace6-c570f25ed989","command_center_event_id":"3dc02f26-ea7d-4a46-bd1a-f9f8e8f64112"},{"id":"a14bc62d-195f-479e-9e53-958411a01a3a","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/system-stability-queue-reconcile-dispatch-20260904","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1737,"terminal":false,"missionId":"79f65b0c-4fb3-43b0-9b1c-188e305f15f0","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"3255653f277dd36e29a8a7d1a85c32c9ca9c5fa2","timingsMs":{"prReadinessMs":712,"approvedPlanMs":0,"shipAndProveMs":4406,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"79f65b0c-4fb3-43b0-9b1c-188e305f15f0"},"performance":null,"deploymentId":"forgejo-main-3255653f277d","workflowRunId":5281,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":793,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T18:33:25.787102+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1737","receipt_type":"automatic_mission_resume","idempotency_key":"mission:79f65b0c-4fb3-43b0-9b1c-188e305f15f0:automatic-mission-resume:1737:canonical_release_reconciliation_pending","mission_step_id":"de6d143e-6e91-4b39-936d-4c150fb5c8b4","command_center_event_id":"79f65b0c-4fb3-43b0-9b1c-188e305f15f0"},{"id":"a14fc890-d5e4-4215-8ea9-77156b509798","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js"],"continuationObjective":"Fix existing-PR adoption so durable missions persist the adopted Forgejo PR head branch and head SHA instead of storing only prNumber. Add regression coverage, deploy cc-execution, then re-adopt and ship #5210 followed by #5203."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T18:14:54.177793+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:0d8a5e39-469a-4222-b923-4f4ddf41657f:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"d70ce061-c8d1-46da-9f20-b40ccc189ca7","command_center_event_id":"0d8a5e39-469a-4222-b923-4f4ddf41657f"},{"id":"a1515c63-2cc5-482c-a210-c4e7460ae161","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"701aac8a947f82899beeb865702ee748a3b675f9","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"701aac8a947f82899beeb865702ee748a3b675f9","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"d00997cbdbe4b915d23eb310995faa9e26c5c7070ec52e652ac107ea362b2d5b","forgejoWorkflowProof":{"runId":29110,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success"},"targetJobCount":8,"observedTargetStates":{"ccExecution":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"701aac8a947f82899beeb865702ee748a3b675f9","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-701aac8a947f82899beeb865702ee748a3b675f9","compareStatus":"target_job_success_runtime_verified","workflowRunId":29110,"identitySource":"canonical_release_target_job","runtimeVersion":"1.67.20-three-way-current-anchor-proof","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-18T02:53:26.222712+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"701aac8a947f82899beeb865702ee748a3b675f9","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:10575271-65b5-4f0b-946d-120e78c175d8:forgejo-release-status:701aac8a947f82899beeb865702ee748a3b675f9:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"d179760f-2e6f-42f2-a9b4-9f3fe2c2f6fc","command_center_event_id":"10575271-65b5-4f0b-946d-120e78c175d8"},{"id":"a153e0e0-eaa7-42f9-a514-eaf60b0bb1a1","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in reasoning required.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"synthesis_required","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"reasoning_required\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"synthesis_required\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-10-06T14:15:50.391675+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T11:46:13.603188+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:9e6a4771-814a-4d3a-8559-fbc6788ac894:owner-progress-heartbeat:119419144","mission_step_id":"c1c54602-88f7-4e2f-9950-5c46185699e7","command_center_event_id":"9e6a4771-814a-4d3a-8559-fbc6788ac894"},{"id":"a155f1c3-17dd-45e4-b200-875382974ede","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-88a0e4334b18","writes":[],"patches":[],"version":1,"approved":true,"missionId":"88a0e433-4b18-4619-a540-7e2425bb5424","objective":"Continue the same user-first Connections mission. Apply the bounded canonical UI changes: add advancedSetup state; reset it on provider selection and dialog close; mark unavailable broker providers as Not ready; use Sign in with provider language for OAuth; explain unavailable platform authorization without blaming the tenant; and hide secret-provider credential fields until Advanced manual setup is explicitly opened. Preserve all existing backend behavior.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/pages/connections/TenantConnections.tsx","edits":[{"new_content":"const[selected,setSelected]=useState<ProviderDefinition|null>(null);const[connecting,setConnecting]=useState(false);const[disconnectArmed,setDisconnectArmed]=useState(false);const[advancedSetup,setAdvancedSetup]=useState(false);const[tab,setTab]=useState<ConnectionsTab>('find');","old_content":"const[selected,setSelected]=useState<ProviderDefinition|null>(null);const[connecting,setConnecting]=useState(false);const[disconnectArmed,setDisconnectArmed]=useState(false);const[tab,setTab]=useState<ConnectionsTab>('find');"},{"new_content":"setDisconnectArmed(false);setAdvancedSetup(false);setSelected(p)};","old_content":"setDisconnectArmed(false);setSelected(p)};"},{"new_content":"{results.map(p=>{const Icon=p.icon,row=connectionMap.get(p.key),connected=providerReady(row),configured=providerConfigured(p),setupPending=p.driver==='broker'&&!configured&&!connected;return <div key={p.key}","old_content":"{results.map(p=>{const Icon=p.icon,row=connectionMap.get(p.key),connected=providerReady(row);return <div key={p.key}"},{"new_content":"<Button size=\"sm\" className=\"shrink-0\" variant={setupPending?'outline':'default'} onClick={()=>chooseProvider(p)} data-connector-action={p.key}>{connected?'Manage':setupPending?'Not ready':'Connect'}</Button>","old_content":"<Button size=\"sm\" className=\"shrink-0\" onClick={()=>chooseProvider(p)} data-connector-action={p.key}>{connected?'Manage':'Connect'}</Button>"},{"new_content":"<Dialog open={Boolean(selected)} onOpenChange={open=>{if(!open&&!connecting){setSelected(null);setDisconnectArmed(false);setAdvancedSetup(false)}}}>","old_content":"<Dialog open={Boolean(selected)} onOpenChange={open=>{if(!open&&!connecting){setSelected(null);setDisconnectArmed(false)}}}>"},{"new_content":"<DialogTitle className=\"flex items-center gap-2\"><selected.icon className=\"h-5 w-5 text-primary\"/>{selectedConnected?`Manage ${selected.label}`:selected.kind==='oauth'?`Sign in with ${selected.label}`:`Connect ${selected.label}`}</DialogTitle>","old_content":"<DialogTitle className=\"flex items-center gap-2\"><selected.icon className=\"h-5 w-5 text-primary\"/>{selectedConnected?`Manage ${selected.label}`:`Connect ${selected.label}`}</DialogTitle>"},{"new_content":"What this unlocks","old_content":"KnockLaunch can use"},{"new_content":"What KnockLaunch needs","old_content":"Permission boundary"},{"new_content":"<p>{brokerAvailability[selected.key]?.setup_message||`${selected.label} sign-in is not ready yet. There is nothing you need to configure. KnockLaunch is finishing the platform connection; once it is enabled, this will be a single Sign in with ${selected.label} button.`}</p>","old_content":"<p>{brokerAvailability[selected.key]?.setup_message||'This provider is in the approved catalog, but platform authorization is not activated yet. No authorization request can start and no provider token can be stored until setup is complete.'}</p>"},{"new_content":"<p>Click Sign in with {selected.label}. {selected.label} handles the sign-in and permission screen. You never give KnockLaunch your {selected.label} password.</p>","old_content":"<p>You’ll sign in directly with {selected.label}. KnockLaunch stores only the provider authorization encrypted on the server; your provider password is never entered here.</p>"},{"new_content":":<div className=\"space-y-4\"><div className=\"rounded-2xl border bg-muted/30 p-4 text-sm text-muted-foreground\"><div className=\"flex gap-3\"><KeyRound className=\"mt-0.5 h-5 w-5 shrink-0 text-primary\"/><div className=\"min-w-0\"><p className=\"font-semibold text-foreground\">{selected.key==='stripe'?'Easy Stripe setup is being prepared':'Advanced connection setup'}</p><p className=\"mt-1\">Most users should not need to enter API credentials. {selected.key==='stripe'?'For now, manual Stripe keys are available only as an advanced fallback.':'Use manual setup only if your provider requires credentials instead of a normal sign-in.'}</p></div></div><Button type=\"button\" variant=\"outline\" size=\"sm\" className=\"mt-3\" onClick={()=>setAdvancedSetup(v=>!v)}>{advancedSetup?'Hide advanced setup':'Advanced manual setup'}</Button></div><div className={advancedSetup?'space-y-4':'hidden'}>{selected.key==='twilio'?","old_content":":<div className=\"space-y-4\"><div className=\"flex gap-3 rounded-2xl border bg-muted/30 p-4 text-sm text-muted-foreground\"><KeyRound className=\"mt-0.5 h-5 w-5 shrink-0 text-primary\"/><p>The credential is encrypted server-side and verified live with {selected.label} before the connection becomes active.</p></div>{selected.key==='twilio'?"},{"new_content":"Connect verifies the credentials immediately with a read-only IRSLogiqs request before the connection becomes active.</p></>:null}</div></div>}","old_content":"Connect verifies the credentials immediately with a read-only IRSLogiqs request before the connection becomes active.</p></>:null}</div>}"},{"new_content":"{(!selectedConnected||selectedConfigured)&&(selected.driver!=='broker'||selectedConfigured)&&(selected.kind==='oauth'||advancedSetup)?<Button onClick={()=>selected.kind==='oauth'?void connectOauth(selected):void connectSecretProvider(selected)} disabled={connecting} data-activate-connection={selected.key}>{connecting?<Loader2 className=\"mr-2 h-4 w-4 animate-spin\"/>:<PlugZap className=\"mr-2 h-4 w-4\"/>}{selectedConnected?`Reconnect ${selected.label}`:selected.kind==='oauth'?`Sign in with ${selected.label}`:`Connect ${selected.label}`}</Button>:null}","old_content":"{(!selectedConnected||selectedConfigured)&&(selected.driver!=='broker'||selectedConfigured)?<Button onClick={()=>selected.kind==='oauth'?void connectOauth(selected):void connectSecretProvider(selected)} disabled={connecting} data-activate-connection={selected.key}>{connecting?<Loader2 className=\"mr-2 h-4 w-4 animate-spin\"/>:<PlugZap className=\"mr-2 h-4 w-4\"/>}{selectedConnected?`Reconnect ${selected.label}`:`Connect ${selected.label}`}</Button>:null}"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"88a0e433-4b18-4619-a540-7e2425bb5424","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"33821a58eb4a57e4f6105283ffcf6c58d782c0237e329dcd3360caf9ccaddac1","replayCount":0,"serializedBytes":7449},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T19:03:20.73886+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:88a0e433-4b18-4619-a540-7e2425bb5424:repository-mutation-intent:33821a58eb4a57e4f6105283ffcf6c58d782c0237e329dcd3360caf9ccaddac1:0","mission_step_id":"b0f93140-fc0b-40e8-bc54-d699a54898ee","command_center_event_id":"88a0e433-4b18-4619-a540-7e2425bb5424"},{"id":"a156617a-9daa-45cf-87cb-e2c44998f30c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/communications-lazy-boundary-20260825","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":8457,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.50.35-defer-existing-pr-refresh","prNumber":736,"terminal":false,"missionId":"5c0cbd26-9e83-446c-a629-cc4954aa8da2","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"5c0cbd26-9e83-446c-a629-cc4954aa8da2"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4634,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T08:31:19.850299+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"736","receipt_type":"execute_mission","idempotency_key":"mission:5c0cbd26-9e83-446c-a629-cc4954aa8da2:execute_mission:canonical_release_transport_retryable","mission_step_id":"581d1cc9-515c-42c0-b961-6c5ec2a41abc","command_center_event_id":"5c0cbd26-9e83-446c-a629-cc4954aa8da2"},{"id":"a157b3c6-1359-481f-b3c9-0043662f7053","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"ebe6b5df-7f2a-1b6c-69a8-1ad811c9e759"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:208239bc-4896-4412-8b3b-d69d190ecd54","mission_step_id":null,"command_center_event_id":"208239bc-4896-4412-8b3b-d69d190ecd54"},{"id":"a1593710-ff6d-4c16-925a-e89fb6c43ef5","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-65384a457f8b","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":65777,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":14949,"firstUsefulResultAt":"2026-10-03T02:47:43.213Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4599,"terminal":false,"missionId":"65384a45-7f8b-40fe-ad3d-fa6cd51bbd1f","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"b283ce3a2ffadc9402abc8b29cce7ebf39d1b81c","timingsMs":{"prReadinessMs":724,"approvedPlanMs":0,"shipAndProveMs":2340,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"65384a45-7f8b-40fe-ad3d-fa6cd51bbd1f"},"performance":null,"deploymentId":"forgejo-main-b283ce3a2ffa","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["irslogiqs-sync"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1841,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:48:05.399547+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4599","receipt_type":"automatic_mission_resume","idempotency_key":"mission:65384a45-7f8b-40fe-ad3d-fa6cd51bbd1f:automatic-mission-resume:4599:canonical_release_reconciliation_pending","mission_step_id":"a0097737-26c7-4248-8eae-141a259bec47","command_center_event_id":"65384a45-7f8b-40fe-ad3d-fa6cd51bbd1f"},{"id":"a1594797-c2a3-41ce-a45a-572c2f91bda0","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"f1596214-e8d1-efb1-e3be-37f0bc9e75ee"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:898aab7f-110a-465c-a8de-27a572b974aa","mission_step_id":null,"command_center_event_id":"898aab7f-110a-465c-a8de-27a572b974aa"},{"id":"a159a440-5173-40a7-9061-17c965c2f8ee","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","nextAction":"inspect_exact_source_then_submit_anchored_edits_via_execute_objective","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGCardCustomerOrderAssignment.tsx","src/pages/card-grading/PCGCardVaultOperationsPanels.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"continuationOwner":"calling_assistant","requiresExactSourceEdits":false,"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-17T00:18:24.245811+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"c7bfaf7fdbec0f67c6379265d638c5e391a3f38f","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:d49fccf6-afa1-4213-9029-88fc886d7c1f:compiler:c7bfaf7fdbec0f67c6379265d638c5e391a3f38f:src/pages/card-grading/PCGCardCustomerOrderAssignment.tsx,src/pages/card-grading/PCGCardVaultOperationsPanels.tsx","mission_step_id":"2812550e-19b1-4d9a-9b54-c329635d4615","command_center_event_id":"d49fccf6-afa1-4213-9029-88fc886d7c1f"},{"id":"a15a8e65-4a01-4e15-a3bf-35acbd7ca266","source":"forgejo-exact-head-gate","status":"verified","payload":{"sourceSha":"4f9e4f32477e7375a05b64bb392109d51e424d24","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"gate","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"2c46d270ea218d5024dc501469c1c560eb1c4dc2","prNumber":7421,"gateRunId":28575,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/28575/jobs/1","mergeCommitSha":"4f9e4f32477e7375a05b64bb392109d51e424d24"}],"requestContractHash":"c97eba51c617d5d08011fcd713fff71610a611da74fb1a52e095c6d9a99999de"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-18T02:58:40.500343+00:00","proof_gate":"request_contract_repository_verified","source_sha":"4f9e4f32477e7375a05b64bb392109d51e424d24","external_id":"28575","receipt_type":"request_contract_repository_status","idempotency_key":"mission:878093cf-7af6-4d17-8af0-f83923337442:repository-gate:7421:4f9e4f32477e7375a05b64bb392109d51e424d24:c97eba51c617d5d08011fcd713fff71610a611da74fb1a52e095c6d9a99999de","mission_step_id":"533b85a0-dd06-4312-b45f-2dd1630a688c","command_center_event_id":"878093cf-7af6-4d17-8af0-f83923337442"},{"id":"a15ad45d-7319-4e4b-96f3-67402cc4cace","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-358e24ae4f67","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":52833,"releaseCount":0,"toolCallCount":29,"repeatedCallCount":21,"executorlessWaitMs":264096,"firstUsefulResultAt":"2026-10-05T12:31:50.640Z","recoveryAttemptCount":16,"ownerInterruptionCount":0},"version":null,"prNumber":4902,"terminal":false,"missionId":"358e24ae-4f67-487a-8654-8e9ea25e1c7f","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2230,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"358e24ae-4f67-487a-8654-8e9ea25e1c7f"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T12:34:47.091121+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4902","receipt_type":"automatic_mission_resume","idempotency_key":"mission:358e24ae-4f67-487a-8654-8e9ea25e1c7f:automatic-mission-resume:4902:repair_mission_pr_ready_retryable","mission_step_id":"ebb19e15-faad-403c-b5eb-9b4ce06f8cf5","command_center_event_id":"358e24ae-4f67-487a-8654-8e9ea25e1c7f"},{"id":"a15df849-98de-46a4-889e-434eed23d0cc","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-43feefa098cc","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"43feefa0-98cc-4464-b8f7-d463532417ea","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":89,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":892,"providerAuthMs":0,"ledgerPrepareMs":892,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":892,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":892,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"43feefa0-98cc-4464-b8f7-d463532417ea"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3537,"likelyAffectedFiles":["src/components/maps/UnifiedIntelMap/components/quick-panel/PropertyNotesEditor.tsx","src/__tests__/offlineCanvassingExperience.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:44:54.98439+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:43feefa0-98cc-4464-b8f7-d463532417ea:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"5f716bc5-4b59-47e8-bb38-7b6ae5c4c7fb","command_center_event_id":"43feefa0-98cc-4464-b8f7-d463532417ea"},{"id":"a15fafc4-7b54-45de-82ba-012d68eebe8a","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/fix-mobile-permission-bootstrap","reason":"canonical_release_run_not_observed_after_dispatch","status":"blocked","metrics":{"receiptBytes":2273,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.30.18-repair-continuation-release","prNumber":4128,"terminal":false,"missionId":"c8546b1a-8078-4119-abe3-622661c6ec7e","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"c8546b1a-8078-4119-abe3-622661c6ec7e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":786,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-06T10:59:11.320385+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4128","receipt_type":"execute_mission","idempotency_key":"mission:c8546b1a-8078-4119-abe3-622661c6ec7e:execute_mission:canonical_release_blocked","mission_step_id":"1f174ab1-d174-4540-aced-a17bac0268ae","command_center_event_id":"c8546b1a-8078-4119-abe3-622661c6ec7e"},{"id":"a1619799-8186-4ef6-a3ed-9e3b342436ae","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"dd8d44aab4dd84a2e742bbc6eb9306d1421a03ec","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"dd8d44aab4dd84a2e742bbc6eb9306d1421a03ec","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"064dd1ae200b9145453b475e5396852edf380d711f5a63e342679efeb83fe4ca","forgejoWorkflowProof":{"runId":15046,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T09:15:05.566951+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"dd8d44aab4dd84a2e742bbc6eb9306d1421a03ec","external_id":"forgejo-main-dd8d44aab4dd","receipt_type":"canonical_release_status","idempotency_key":"mission:74c46090-7b95-411f-9dee-e4820e295fc4:forgejo-release-status:dd8d44aab4dd84a2e742bbc6eb9306d1421a03ec:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"dfd0fd7f-8760-4d24-be8d-9fba5e7f1e80","command_center_event_id":"74c46090-7b95-411f-9dee-e4820e295fc4"},{"id":"a161f9f9-3967-4751-b99d-a3d87df22ec5","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":".forgejo/workflows/frontend-startup-watchdog.yml","content":"name: Frontend Startup Watchdog\nrun-name: Frontend Startup Watchdog\n\non:\n  schedule:\n    - cron: \"*/30 * * * *\"\n  workflow_dispatch:\n\njobs:\n  startup-watchdog:\n    name: Browser startup watchdog\n    concurrency:\n      group: knocklaunch-production-frontend\n      cancel-in-progress: true\n    runs-on: docker-8g\n    container:\n      image: mcr.microsoft.com/playwright:v1.53.1-noble\n      options: --memory=2048m\n    timeout-minutes: 8\n    env:\n      CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}\n      CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}\n      KNOCKLAUNCH_WRANGLER_HOME: /tmp/knocklaunch-wrangler-4.112.0\n      NPM_CONFIG_CACHE: /tmp/knocklaunch-npm-cache\n    steps:\n      - uses: https://data.forgejo.org/actions/checkout@v4\n        with:\n          ref: main\n          fetch-depth: 1\n          sparse-checkout: |\n            scripts/frontend-startup-watchdog.mjs\n            scripts/cloudflare-native-version-deploy.mjs\n            wrangler.toml\n          sparse-checkout-cone-mode: false\n\n      - name: Prove startup and self-heal confirmed application failure\n        shell: bash\n        run: |\n          set -euo pipefail\n          browser=\"$(find /ms-playwright -type f \\( -name chrome -o -name headless_shell \\) | head -n 1)\"\n          [ -n \"$browser\" ] && [ -x \"$browser\" ] || { echo \"::error::startup watchdog browser unavailable\"; exit 1; }\n          export KNOCKLAUNCH_CHROMIUM_BIN=\"$browser\"\n\n          set +e\n          node scripts/frontend-startup-watchdog.mjs\n          proof_status=$?\n          set -e\n\n          if [ \"$proof_status\" -eq 0 ]; then\n            echo '{\"ok\":true,\"proofGate\":\"frontend_startup_watchdog_healthy\",\"mutation\":false}'\n            exit 0\n          fi\n\n          if [ \"$proof_status\" -ne 10 ]; then\n            echo \"::error::startup watchdog could not confirm a canonical application boot failure; automatic rollback refused status=$proof_status\"\n            exit 1\n          fi\n\n          echo \"::warning::confirmed canonical frontend startup failure; restoring previous stable frontend only\"\n          KNOCKLAUNCH_RELEASE_ACTION=rollback-previous-stable           KNOCKLAUNCH_ROLLBACK_REASON=scheduled_frontend_startup_watchdog           node scripts/cloudflare-native-version-deploy.mjs\n\n          set +e\n          REQUESTED_SOURCE_SHA=           KNOCKLAUNCH_WATCHDOG_SKIP_APEX_HANDOFF=1           node scripts/frontend-startup-watchdog.mjs\n          recovery_status=$?\n          set -e\n          if [ \"$recovery_status\" -ne 0 ]; then\n            echo \"::error::frontend startup watchdog rollback did not restore canonical application boot status=$recovery_status\"\n            exit 1\n          fi\n\n          echo '{\"ok\":true,\"proofGate\":\"frontend_startup_watchdog_self_healed\",\"scope\":\"frontend_only\",\"boundedRollbackCount\":1}'\n","expectedSha":"301ed6535579789aa483c538d26ebcb0e08fa2c8"}],"branch":"ai/objective-first-repair-e0106e23d39c","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e0106e23-d39c-468c-9e44-8cf6852cce56","objective":"Continue the existing Frontend Startup Watchdog optimization mission. Apply the exact watchdog workflow change only: scheduled full Playwright backstop every 30 minutes instead of every 5 minutes, and cancel stale overlapping watchdog runs. Preserve all existing browser proof and confirmed-failure recovery behavior. Ship through the normal PR, Gate, merge, release and verification path.","sourceSha":"9f904da224e64a57d9e8fa6fcdfabedd664a09ce","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"e0106e23-d39c-468c-9e44-8cf6852cce56","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"8f0839ce0867b5d430f274308d738594797469584e74a5f65947fbcc8032ee33","replayCount":0,"serializedBytes":4438},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:19:24.291011+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e0106e23-d39c-468c-9e44-8cf6852cce56:repository-mutation-intent:8f0839ce0867b5d430f274308d738594797469584e74a5f65947fbcc8032ee33:0","mission_step_id":"dfd577c1-9b6d-4c8a-ac8e-a6690f59e984","command_center_event_id":"e0106e23-d39c-468c-9e44-8cf6852cce56"},{"id":"a1624e18-c2f9-46b4-b01f-b2323217e321","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":1010,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.31-resumable-backup-failover","prNumber":4568,"terminal":false,"missionId":"c9678d76-d847-4867-a809-1f0ddc7e3ede","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"2a0f6b180c67d7597159c5447cd488d0a89c02e9","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"c9678d76-d847-4867-a809-1f0ddc7e3ede"},"performance":null,"deploymentId":"canonical-release-2a0f6b180c67","workflowRunId":31437475528,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1442,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T22:14:49.992611+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"2a0f6b180c67d7597159c5447cd488d0a89c02e9","external_id":"canonical-release-2a0f6b180c67","receipt_type":"ship_and_prove","idempotency_key":"mission:c9678d76-d847-4867-a809-1f0ddc7e3ede:ship_and_prove:ship_and_prove_release_pending:2a0f6b180c67d7597159c5447cd488d0a89c02e9:31437475528","mission_step_id":"acce2e1b-dd33-4c4a-9184-ced7a241b871","command_center_event_id":"c9678d76-d847-4867-a809-1f0ddc7e3ede"},{"id":"a1669431-7161-4ef3-a17a-d313d435a618","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-54768a670c93","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.94-mission-generation-terminality","prNumber":null,"terminal":false,"missionId":"54768a67-0c93-4153-a65a-f0b95d7e3b4c","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":147,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1399,"providerAuthMs":0,"ledgerPrepareMs":1399,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1399,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1399,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"54768a67-0c93-4153-a65a-f0b95d7e3b4c"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4379,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T17:09:52.926751+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:54768a67-0c93-4153-a65a-f0b95d7e3b4c:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"b7229ade-cce5-44d2-9ee7-5da01b47b096","command_center_event_id":"54768a67-0c93-4153-a65a-f0b95d7e3b4c"},{"id":"a167681c-faae-4d78-98f1-3f8000d0b7e6","source":"cc-execution","status":"implementation_payload_required","payload":{"reason":"compiler_model_generation_failed","failureClass":"retryable","sourceTargets":["src/pages/crm/PcgWorkspace.tsx"],"dependencyReason":"model_provider_http_429","dependencyStatus":429,"providerAttempts":[{"role":"deep","reason":"model_provider_attempt_timeout","status":504,"provider":"cloudflare-workers-ai","formatRepair":false},{"role":"primary","reason":"model_provider_attempt_timeout","status":504,"provider":"cloudflare-workers-ai","formatRepair":false},{"role":"fallback","reason":"model_provider_http_429","status":429,"provider":"openai","formatRepair":false}],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-15T15:38:25.555906+00:00","proof_gate":"first_party_exact_source_edit_continuation_persisted","source_sha":"873cfb1eb6e24246ee4945f2bc1f1a8eb4aae85f","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:b2c2486b-0317-40ad-9328-a9418153f502:compiler:873cfb1eb6e24246ee4945f2bc1f1a8eb4aae85f:src/pages/crm/PcgWorkspace.tsx","mission_step_id":"42dd5ecd-7fba-4679-9102-f8525d66ff30","command_center_event_id":"b2c2486b-0317-40ad-9328-a9418153f502"},{"id":"a1698b43-2162-4bba-bc84-dbb0ca3a4a72","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-edge-production/live":"pending"},"mainSha":"083d786f5da7ef3c73682053985bd2d04e9a7ea5","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"083d786f5da7ef3c73682053985bd2d04e9a7ea5","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-photo-studio"]},"requestContractHash":"88534d2c145b8b6dadebcaa07b2646dcda5eb9951f0c811e1aba6cfe614c0c97","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T03:54:36.104313+00:00","proof_gate":"canonical_release_pending","source_sha":"083d786f5da7ef3c73682053985bd2d04e9a7ea5","external_id":"forgejo-main-083d786f5da7","receipt_type":"canonical_release_status","idempotency_key":"mission:bfc9bcb1-fa86-42a3-8784-6eb2f1c070f4:forgejo-release-status:083d786f5da7ef3c73682053985bd2d04e9a7ea5:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending","mission_step_id":"ae70b8a1-7a56-491d-804e-2461f8b9a624","command_center_event_id":"bfc9bcb1-fa86-42a3-8784-6eb2f1c070f4"},{"id":"a169f1f1-24e7-4bc3-9636-d31911cc3c2d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1224255f9ecf","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":6758,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":111616,"firstUsefulResultAt":"2026-09-27T17:41:51.669Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3890,"terminal":false,"missionId":"1224255f-9ecf-4407-83a9-dc7711ccd2c1","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5421,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:42:05.802104+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3890","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1224255f-9ecf-4407-83a9-dc7711ccd2c1:automatic-mission-resume:3890:repair_mission_pr_ready_retryable","mission_step_id":"27fd1a9f-2834-4a73-b1c5-13e9940fc10f","command_center_event_id":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},{"id":"a16a8518-9982-4d37-be66-7b51372a3407","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.9-finance-report-heartbeat","prNumber":273,"terminal":false,"missionId":"6edeedc2-1979-421e-a3f3-967e122841b6","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"0629e779004766e554ab030478198cd0d86e4edb","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"6edeedc2-1979-421e-a3f3-967e122841b6"},"performance":null,"deploymentId":"forgejo-main-0629e7790047","workflowRunId":886,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["finance-reports"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6876,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"6f522f13-31f4-41af-a806-bcdfbc927a9e","created_at":"2026-08-16T18:04:38.79628+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"0629e779004766e554ab030478198cd0d86e4edb","external_id":"forgejo-main-0629e7790047","receipt_type":"ship_and_prove","idempotency_key":"mission:6edeedc2-1979-421e-a3f3-967e122841b6:ship_and_prove:ship_and_prove_release_pending:0629e779004766e554ab030478198cd0d86e4edb:886","mission_step_id":"49773bf6-c3a9-4708-bc58-f1a740a6e733","command_center_event_id":"6edeedc2-1979-421e-a3f3-967e122841b6"},{"id":"a16b0c5a-c86b-493f-b43e-6b3cb5b85e83","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-e1ea24fd915e","reason":"canonical_release_queue_busy:13483","status":"blocked","metrics":{"receiptBytes":29371,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":4,"executorlessWaitMs":95048,"firstUsefulResultAt":"2026-09-30T21:15:37.242Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.64.27-paul-operational-awareness","prNumber":4277,"terminal":false,"missionId":"e1ea24fd-915e-417f-9164-27900289f7e2","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"da9f93cb926f1310c90576e046d2c08bdbf26bc5","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1169,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":93,"approvedPlanMs":0,"missionSetupMs":1458,"providerAuthMs":0,"shipAndProveMs":548,"ledgerPrepareMs":306,"ledgerReconcileMs":0,"lineageReconcileMs":1152,"resolvePreflightMs":1458,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":306,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"e1ea24fd-915e-417f-9164-27900289f7e2"},"performance":null,"deploymentId":"forgejo-main-da9f93cb926f","releaseState":"pending","workflowRunId":13483,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1409,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T21:17:14.29351+00:00","proof_gate":"canonical_release_blocked","source_sha":"da9f93cb926f1310c90576e046d2c08bdbf26bc5","external_id":"forgejo-main-da9f93cb926f","receipt_type":"execute_mission","idempotency_key":"mission:e1ea24fd-915e-417f-9164-27900289f7e2:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"ebdee018-6fe5-4d29-8da9-2acb909be4bd","command_center_event_id":"e1ea24fd-915e-417f-9164-27900289f7e2"},{"id":"a16b9559-95a2-492b-8bef-0500657b9262","source":"forgejo","status":"retryable","payload":{"branch":"ai/frontend-build-memory-envelope","merged":false,"prNumber":3137,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T17:53:24.312244+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":null,"external_id":"3137","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:dcb3a0f6-90f6-4a6b-9064-4b5b459f975d:closed-pr:3137:unmerged","mission_step_id":"2136042c-81b1-4234-b30b-3238b845788c","command_center_event_id":"dcb3a0f6-90f6-4a6b-9064-4b5b459f975d"},{"id":"a16c1c83-8f12-48f2-b550-87430d4735ff","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze control plane only for the bounded canonical Forgejo workflow edit required to ship the already-authorized Sentry frontend observability integration, then continue the same mission through Gate, squash merge, frontend-only release, and live proof. No other control-plane, auth, tenancy, mail, Supabase, or UI changes.","wordingChanged":false,"canonicalIntent":"Unfreeze control plane only for the bounded canonical Forgejo workflow edit required to ship the already-authorized Sentry frontend observability integration, then continue the same mission through Gate, squash merge, frontend-only release, and live proof. No other control-plane, auth, tenancy, mail, Supabase, or UI changes.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Production KnockLaunch frontend has Sentry error monitoring plus 10% browser tracing, private source maps uploaded during release, and no public source-map files.","proofConditionIds":["proof-repository","proof-production"]}],"objective":"Unfreeze control plane only for the bounded canonical Forgejo workflow edit required to ship the already-authorized Sentry frontend observability integration, then continue the same mission through Gate, squash merge, frontend-only release, and live proof. No other control-plane, auth, tenancy, mail, Supabase, or UI changes.","constraints":[{"id":"bounded-control-plane","statement":"Control plane unfreeze is limited to the one canonical workflow file needed for Sentry frontend build/release wiring; do not alter Command Center runtime or unrelated release architecture.","proofConditionIds":["proof-repository"]},{"id":"privacy","statement":"Default PII collection remains disabled; Session Replay, Sentry Logs, and application metrics remain disabled; telemetry is defensively scrubbed.","proofConditionIds":["proof-repository","proof-production"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-repository","proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-repository","proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Protected main contains the bounded Sentry bootstrap, hidden-source-map build, release-only upload wiring, public-map guard, and regression test.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-production","kind":"runtime","claim":"https://app.knocklaunch.app serves the merged Sentry-enabled frontend artifact after the canonical frontend release.","route":"https://app.knocklaunch.app","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Unfreeze-control-plane-only-for-the-bounded-canonical-Forgejo-workflow-edit-required-to-ship-the-alr","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-repository","proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"10e900ba80195febcb8c10daf9f21ad9200dd9bb20c5dd0f60aa6f2fb2d25fac","requestContractRevision":2,"previousRequestContractHash":"4cf2748231801c912d862913b12c37426f4edd76eb0569d8c92ca2291a1c90b8"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T14:26:29.560062+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:2ca7331f-f6a6-4f56-99a4-8284982cf1ba:request-contract:10e900ba80195febcb8c10daf9f21ad9200dd9bb20c5dd0f60aa6f2fb2d25fac","mission_step_id":"22a73f70-572a-46e7-85f9-9b08bd5a82e0","command_center_event_id":"2ca7331f-f6a6-4f56-99a4-8284982cf1ba"},{"id":"a16d612d-3a79-4e82-8495-dd640ba7e2c4","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-67816ed70ead","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":2,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2677,"terminal":false,"missionId":"67816ed7-0ead-4d40-a967-ab15be1b59a5","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"5067604272ff7f9cd733dddd3b7b99d8edfe3d21","timingsMs":{"prReadinessMs":531,"approvedPlanMs":0,"shipAndProveMs":16989,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"67816ed7-0ead-4d40-a967-ab15be1b59a5"},"performance":null,"deploymentId":"forgejo-main-5067604272ff","workflowRunId":7897,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":794,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T20:01:12.816875+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"2677","receipt_type":"automatic_mission_resume","idempotency_key":"mission:67816ed7-0ead-4d40-a967-ab15be1b59a5:automatic-mission-resume:2677:canonical_release_reconciliation_pending","mission_step_id":"a5a43c37-e883-4e45-a240-810a30f6ea1b","command_center_event_id":"67816ed7-0ead-4d40-a967-ab15be1b59a5"},{"id":"a16dad53-db30-4e83-a977-87d62b386465","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-015dda5fc091","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":null,"terminal":false,"missionId":"015dda5f-c091-4ea4-a947-68674020caf2","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":316,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":244,"ledgerReconcileMs":0,"lineageReconcileMs":72,"resolvePreflightMs":316,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":244,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"015dda5f-c091-4ea4-a947-68674020caf2"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1537,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T17:54:02.348596+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:015dda5f-c091-4ea4-a947-68674020caf2:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"6abd51bc-6ffa-458a-810f-24b0fa08ed5e","command_center_event_id":"015dda5f-c091-4ea4-a947-68674020caf2"},{"id":"a16ddead-f418-4515-89e2-57f653308a91","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","handoff":{"reason":"merged_source_requires_release_proof","toLane":"production-release-conductor","fromLane":"cc-execution","resumeFromCheckpoint":null},"capability":"production-release","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":null},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"production-release\",\"resumeFromCheckpoint\":null,\"handoff\":{\"fromLane\":\"cc-execution\",\"toLane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"resumeFromCheckpoint\":null}},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\",\"capability\":\"production-release\",\"resumeFromCheckpoint\":null,\"handoff\":{\"fromLane\":\"cc-execution\",\"toLane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"resumeFromCheckpoint\":null}},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-06T20:52:31.555253+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-c0df4bef6af3\",\"prNumber\":5210,\"sourceSha\":\"c07f56b114f616243e10ed120da76f7cf1cfbd98\",\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T18:20:48.673345+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:d8e6d6c6-4283-4f2d-b6b6-3aab64a3c342:owner-progress-heartbeat:119420723","mission_step_id":"c37f07a5-e706-41c1-9334-3f932a50cf40","command_center_event_id":"d8e6d6c6-4283-4f2d-b6b6-3aab64a3c342"},{"id":"a16e3583-b104-4bc4-87ba-2c3c167c17ad","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-673b4b6f4d63","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.220-terminal-step-projection","prNumber":3487,"terminal":false,"missionId":"673b4b6f-4d63-4034-9d88-4f590824c437","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8088,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1858,"missionSetupMs":296,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":296,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":296,"repositoryMutationMs":6230,"repositoryProviderMs":6230,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3902,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":296,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2328},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"673b4b6f-4d63-4034-9d88-4f590824c437"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3183,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-23T03:28:15.152964+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3487","receipt_type":"execute_mission","idempotency_key":"mission:673b4b6f-4d63-4034-9d88-4f590824c437:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"ec6c12ea-49b5-4e3e-abf0-9cede08344f8","command_center_event_id":"673b4b6f-4d63-4034-9d88-4f590824c437"},{"id":"a16e48bb-3484-4645-a445-208f3c9ef0b7","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b0f8cc6896a4","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.218-durable-async-repository-mutation","prNumber":3474,"terminal":false,"missionId":"6835a574-b9f1-4152-bbfd-cd6a4940045e","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5919,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3174,"approvedPlanMs":2614,"missionSetupMs":584,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":584,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":584,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":584,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"6835a574-b9f1-4152-bbfd-cd6a4940045e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2371,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:17:06.949225+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3474","receipt_type":"execute_mission","idempotency_key":"mission:6835a574-b9f1-4152-bbfd-cd6a4940045e:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"ee4a7978-af66-47bb-b604-7d14c7ff8cf2","command_center_event_id":"6835a574-b9f1-4152-bbfd-cd6a4940045e"},{"id":"a16f6bef-a73b-4211-bde4-a21a1cadacf6","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"8c54603e70aa09d5b2b09f160d4ee51cf25361b8","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"proof-repository","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"76fb7f34ee831f24b2b1a534d5ebe8be75cdff23","prNumber":2724,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/8048/jobs/1","mergeCommitSha":"8c54603e70aa09d5b2b09f160d4ee51cf25361b8"}],"requestContractHash":"61f80be9484b906b3d8269b689e52898d39d4039123b0de46d1c85caabb9de0d"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T04:48:19.398453+00:00","proof_gate":"request_contract_repository_verified","source_sha":"8c54603e70aa09d5b2b09f160d4ee51cf25361b8","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:ec053e76-e597-4a74-8316-056295e1047e:request-contract-repository:61f80be9484b906b3d8269b689e52898d39d4039123b0de46d1c85caabb9de0d:8c54603e70aa09d5b2b09f160d4ee51cf25361b8","mission_step_id":"ebe6c1ae-ddb3-49f0-8b6d-ce0292121d27","command_center_event_id":"ec053e76-e597-4a74-8316-056295e1047e"},{"id":"a171b0c5-e2c2-4a54-b4e8-6dd570ad488a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/redfish-multiservice-prospecting-corrective-20260902","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":5347,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":null,"terminal":false,"missionId":"a0f64142-3a76-47a4-856e-e72e1326619e","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":233,"missionSetupMs":3262},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"a0f64142-3a76-47a4-856e-e72e1326619e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5835,"likelyAffectedFiles":["src/components/CallFlow/hooks/useLeadQueue.ts","src/components/TenantRouter.tsx","src/components/CallFlow/hooks/usePerformanceMonitoring.ts","src/components/CRMUserMenu.tsx","src/components/GlobalCommandPalette.tsx","src/components/NewLeadIntakeForm.tsx","src/components/SignupForm.tsx","src/components/AdaptiveBusinessDashboard.tsx","src/components/admin/AdminPage.tsx","src/components/admin/AdminPageContext.tsx","src/components/admin/EdgeFunctionControlPlanePanel.tsx","src/components/admin/EnhancedTenantManagement.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T17:49:42.150227+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a0f64142-3a76-47a4-856e-e72e1326619e:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"f0a4a228-8204-400b-bd53-96319a583d21","command_center_event_id":"a0f64142-3a76-47a4-856e-e72e1326619e"},{"id":"a173ebf5-0b47-4696-b846-2e0a47258285","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextStep\":{\"key\":\"runtime_proof\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"production-release-conductor\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"runtime-proof\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-29T02:22:12.469944+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-f303b5fb9508\",\"prNumber\":4054,\"sourceSha\":\"dce6cc3bc350efc8cc03f0b6e443c4c31f987afb\",\"deploymentId\":\"forgejo-main-dce6cc3bc350\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T23:26:30.024044+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:f303b5fb-9508-4235-b99c-b8743624c850:owner-progress-heartbeat:119375865","mission_step_id":"b15db327-ad81-4517-a7ad-ece7bc1cdaf5","command_center_event_id":"f303b5fb-9508-4235-b99c-b8743624c850"},{"id":"a175ab29-759d-4fcc-99f6-3d2f196cbe5b","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Apply the same exact Buildx dependency repair using the unique cc-execution provisioning step anchor. Install and verify docker-buildx-plugin for release-cc-execution, align the release invariant and authoritative ccExecutionReleaseToolingPolicy, then ship through Gate, squash merge, cc-execution-only release, refreeze, and live Witness health proof.","wordingChanged":false,"canonicalIntent":"Apply the same exact Buildx dependency repair using the unique cc-execution provisioning step anchor. Install and verify docker-buildx-plugin for release-cc-execution, align the release invariant and authoritative ccExecutionReleaseToolingPolicy, then ship through Gate, squash merge, cc-execution-only release, refreeze, and live Witness health proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"cc-execution successfully builds and deploys the Visual Witness Cloudflare Container and canonical Witness health is live through virtual failover.","proofConditionIds":["proof-release","proof-health"]}],"objective":"Apply the same exact Buildx dependency repair using the unique cc-execution provisioning step anchor. Install and verify docker-buildx-plugin for release-cc-execution, align the release invariant and authoritative ccExecutionReleaseToolingPolicy, then ship through Gate, squash merge, cc-execution-only release, refreeze, and live Witness health proof.","constraints":[{"id":"constraint-1","statement":"Mutation scope is limited to the cc-execution release workflow, its invariant, and authoritative release tooling policy; release only cc-execution.","proofConditionIds":["proof-release"]},{"id":"constraint-2","statement":"No GitHub dependency is created or restored.","proofConditionIds":["proof-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-release","kind":"release","claim":"The Buildx corrective source passes KnockLaunch Gate, squash merges, and protected-main release successfully deploys cc-execution only.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]},{"id":"proof-health","kind":"runtime","claim":"Canonical inspect_route_health returns 200/live via the virtual runner instead of 502 while Render primary remains unavailable.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"d611c0999983c0eea5814ec6e729eb940c0095eb8c61fafc667d22692683a699","requestContractRevision":3,"previousRequestContractHash":"bae6406896ada19cbc7a03e0195878343555718dfaaeee2f734888224b65184e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T11:32:46.51378+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:53ff7441-ff8f-4fd3-90ef-5b7e5b43ebd7:request-contract:d611c0999983c0eea5814ec6e729eb940c0095eb8c61fafc667d22692683a699","mission_step_id":"d2aa9a83-6d2a-4311-b101-b504eae69c1c","command_center_event_id":"53ff7441-ff8f-4fd3-90ef-5b7e5b43ebd7"},{"id":"a175f7fc-d603-4bde-9f7e-0662280d8162","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/mission-ledger.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner previously authorized temporarily unfreezing the control plane for necessary reliability improvements and refreezing it afterward. This exact scope repairs the release-orchestration bottleneck without changing tenant or product behavior.","baseSha":"ac663fcf7052e314fac920ee8da3394da760012a","issuedAt":1789157200471,"expiresAt":1789157380471,"missionId":"adc9f8a7-dc29-4724-9df0-afc076604415","authorizationId":"b5019277-3f81-4380-8c02-b9601a7a9d4b","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:06:41.164309+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ac663fcf7052e314fac920ee8da3394da760012a","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:b5019277-3f81-4380-8c02-b9601a7a9d4b","mission_step_id":"bfc99602-22a4-4f94-b129-c981a9136413","command_center_event_id":"adc9f8a7-dc29-4724-9df0-afc076604415"},{"id":"a1788575-db7b-4cb3-b980-b03dd168b234","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_current_window_limit","nextAction":"inspect_exact_source_then_submit_anchored_edits_via_execute_objective","failureClass":null,"sourceTargets":["src/__tests__/contracts/pcg-photo-pairing-date.test.ts","src/__tests__/contracts/pcg-real-uploader-26-batch.integration.test.tsx","src/pages/card-grading/PCGSlabUpload.tsx","src/pages/card-grading/pcgPhotoPairing.ts"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"continuationOwner":"calling_assistant","requiresExactSourceEdits":false,"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-17T04:25:59.597641+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"f197357e05396a0e84c61058c8396f6a188f1312","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:9890a3b6-00da-459b-89d4-3ac97913e5eb:compiler:f197357e05396a0e84c61058c8396f6a188f1312:src/__tests__/contracts/pcg-photo-pairing-date.test.ts,src/__tests__/contracts/pcg-real-uploader-26-batch.integration.test.tsx,src/pages/card-grading/PCGSlabUpload.tsx,src/pages/card-grading/pcgPhotoPairing.ts","mission_step_id":"3487f459-1ab7-4a84-91e3-83272e2cce35","command_center_event_id":"9890a3b6-00da-459b-89d4-3ac97913e5eb"},{"id":"a17a89af-58e2-444b-8761-20fc3323a050","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_frozen_explicit_unfreeze_required","fingerprint":"e7c1f7f2cbafb00017549e9032634a6898a8004cd0bc058f6dc2229e6b0a2812"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:48:08.289668+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:f8eb11fb-f40c-4322-b916-0fe03efe99e4:repository-mutation-intent-blocked:e7c1f7f2cbafb00017549e9032634a6898a8004cd0bc058f6dc2229e6b0a2812","mission_step_id":"8356d12c-9b57-4c0f-9ab8-e9a04f6915f0","command_center_event_id":"f8eb11fb-f40c-4322-b916-0fe03efe99e4"},{"id":"a17af66b-d805-4a96-84d2-05c6667baa90","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":"a514a569-14ed-43fa-adb4-adf69ad41666","phase":"pull_request","branch":"ai/objective-first-repair-b12435dbf7ef","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.223-durable-witness-lane-affinity","prNumber":3516,"terminal":false,"missionId":"b12435db-f7ef-405e-be18-a1925c9a62a4","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"4133e79cd5944de7a04f6ca807d3b7993d0dedcb","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5225,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":626,"approvedPlanMs":0,"missionSetupMs":599,"providerAuthMs":0,"shipAndProveMs":4059,"ledgerPrepareMs":372,"ledgerReconcileMs":0,"lineageReconcileMs":227,"resolvePreflightMs":599,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":372,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"b12435db-f7ef-405e-be18-a1925c9a62a4"},"performance":null,"deploymentId":"forgejo-main-4133e79cd594","releaseState":null,"visualWitness":{"role":null,"jobId":"a514a569-14ed-43fa-adb4-adf69ad41666","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":1,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2543,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T12:07:22.423757+00:00","proof_gate":"canonical_release_dispatched","source_sha":"4a37a6c69f0df2e451f90b77ee5775cc991fe387","external_id":"forgejo-main-4a37a6c69f0d","receipt_type":"execute_mission","idempotency_key":"mission:b12435db-f7ef-405e-be18-a1925c9a62a4:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"2312e761-dd20-4459-a05c-c598c95f7695","command_center_event_id":"b12435db-f7ef-405e-be18-a1925c9a62a4"},{"id":"a17c0372-8458-4446-83cd-2e576ea069b3","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"implementation\"],\"pendingIds\":[\"preflight\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-04T02:50:52.343382+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/fix-existing-tenant-entry-selector-r202608040240\",\"prNumber\":3945,\"sourceSha\":\"f68ed6a572c32ab306398e169bd6984b0068301f\",\"deploymentId\":\"canonical-release-f68ed6a572c3\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T22:14:21.13605+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:722cd1dd-df42-4598-83b5-55651c8ab3a1:owner-progress-heartbeat:119329497","mission_step_id":"52da8ee0-b250-440c-93c3-c27ee9352bbe","command_center_event_id":"722cd1dd-df42-4598-83b5-55651c8ab3a1"},{"id":"a17d0d5f-b713-461e-a502-1b79669a0a40","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"5250b603-7869-43e8-b3cb-1f078dbc8700"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:36:31.073832+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:5250b603-7869-43e8-b3cb-1f078dbc8700:mission-cancel:5250b603-7869-43e8-b3cb-1f078dbc8700","mission_step_id":"84e78645-1166-46c1-aa29-2f4b1187a9e0","command_center_event_id":"5250b603-7869-43e8-b3cb-1f078dbc8700"},{"id":"a181d98e-7251-489f-9dc3-54fb6f287c2c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5f0e6213d597","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":12093,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-24T19:23:05.292Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3664,"terminal":false,"missionId":"5f0e6213-d597-45e3-80d8-68cfd935282f","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4317,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":737,"missionSetupMs":286,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":286,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":286,"repositoryMutationMs":3580,"repositoryProviderMs":3580,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2140,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":286,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1440},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"5f0e6213-d597-45e3-80d8-68cfd935282f"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3359,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T19:23:10.785438+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3664","receipt_type":"execute_mission","idempotency_key":"mission:5f0e6213-d597-45e3-80d8-68cfd935282f:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"ccc2ac72-d1ae-4ec4-afdc-c3ebd52164a9","command_center_event_id":"5f0e6213-d597-45e3-80d8-68cfd935282f"},{"id":"a182c239-8a75-418b-8257-985fe9930e76","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"2214e4757ba2b50a13a787ffb751053c9c7e2a9e","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"universal-settings","satisfied":false,"statement":"Every existing tenant/business type opens the same shared tenant-aware Settings hub, preserving the current card-based Settings architecture.","proofConditionIds":["repo-universal","live-settings"]},{"id":"profile-card","satisfied":false,"statement":"Profile is a first-class card in the Settings hub and opens the shared tenant-aware profile experience without escaping or changing the active tenant.","proofConditionIds":["repo-universal","live-settings-profile"]},{"id":"shared-navigation","satisfied":false,"statement":"Shared shell/header/avatar Profile and Settings links resolve to the canonical shared implementation, and legacy divergent entry points are normalized without breaking working deep links.","proofConditionIds":["repo-navigation","live-settings-profile"]},{"id":"future-inheritance","satisfied":false,"statement":"Future tenants inherit Settings and Profile automatically from shared routing/default registry behavior with no tenant-specific code, configuration, or business-type allowlist.","proofConditionIds":["repo-future-regression"]},{"id":"release-live","satisfied":false,"statement":"The exact change passes the canonical gate, squash-merges, releases only the affected frontend target, and is proven in production.","proofConditionIds":["gate-merge-release","live-settings","live-settings-profile"]}],"satisfied":false,"constraints":[{"id":"no-per-tenant","satisfied":false,"statement":"Do not create tenant-specific Settings/Profile implementations when they can resolve through the shared primitive.","proofConditionIds":["repo-universal","repo-future-regression"]},{"id":"no-allowlist","satisfied":false,"statement":"Do not use a business-type or tenant allowlist to provide Settings/Profile.","proofConditionIds":["repo-future-regression"]},{"id":"preserve-settings-ui","satisfied":false,"statement":"Preserve the newly standardized card-based Settings implementation and existing working settings cards.","proofConditionIds":["repo-universal","live-settings"]},{"id":"tenant-isolation","satisfied":false,"statement":"Settings/Profile navigation must preserve active tenant context and tenant isolation.","proofConditionIds":["repo-navigation","live-settings-profile"]},{"id":"minimal-scope","satisfied":false,"statement":"Prefer shared frontend routing/default-registry primitives; do not add backend, schema, auth, or data changes unless current source proves they are required.","proofConditionIds":["repo-universal"]},{"id":"canonical-release","satisfied":true,"statement":"Use Forgejo only: one fresh ai/* branch, one PR, KnockLaunch Gate, squash merge, deploy only affected production targets, no GitHub.","proofConditionIds":["gate-merge-release"]},{"id":"capability-completeness","satisfied":false,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo-universal","repo-navigation","repo-future-regression","gate-merge-release","live-settings"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo-universal","repo-navigation","repo-future-regression","gate-merge-release","live-settings"]}],"contractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-universal","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"repo-navigation","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"repo-future-regression","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"gate-merge-release","kind":"release","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e"},"required":true,"satisfied":true},{"id":"live-settings","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e"},"required":true,"satisfied":true},{"id":"live-settings-profile","kind":"interaction","evidence":{"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository","interaction"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T17:15:58.213301+00:00","proof_gate":"request_contract_pending","source_sha":"2214e4757ba2b50a13a787ffb751053c9c7e2a9e","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:f672ddee-76c6-42ec-8f55-cbdc0c4ba367:request-contract:9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e:2214e4757ba2b50a13a787ffb751053c9c7e2a9e:pending:repository,interaction","mission_step_id":"45653f14-e2c2-4505-a435-2c6f37187db3","command_center_event_id":"f672ddee-76c6-42ec-8f55-cbdc0c4ba367"},{"id":"a1847839-788f-406e-a858-8244e2264346","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"bf1001f2166a3aae411cc592e8509a4cf575e56f","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"MUTATE AND SHIP the platform-wide Connections hardening using ONLY the verified current owners unless machine-readable dependency evidence requires a companion: src/pages/connections/TenantConnections.tsx, supabase/functions/tenant-provider-connections/index.ts, and src/__tests__/contracts/tenant-provider-connections-source-completeness.contract.test.ts. Preserve existing working Google multi-account behavior. Close the remaining contract gaps so every broker connection is explicitly bound to tenant_id + authenticated user/owner + provider account identity + granted scopes, Google supports multiple accounts with Primary/Secondary/Legacy/Import roles, deliberate primary switching, per-account disconnect, tenant-scoped state/cache reads, and no cross-tenant fallback. The UI must clearly show connected account identity, role, services/scopes, and which account is primary. Add/strengthen contract tests for these invariants. Do not touch unrelated shell, witness, or generic routing files. Use one focused PR, canonical Gate, squash merge, release only frontend + tenant-provider-connections edge function if changed, then prove production.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"6900196588f110031a6f4ba273253c8e829284bbd4e6d4c899f9f34dc837e685","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"6900196588f110031a6f4ba273253c8e829284bbd4e6d4c899f9f34dc837e685"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:44:41.001403+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"bf1001f2166a3aae411cc592e8509a4cf575e56f","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:c57271a2-40ac-4ba4-8938-54b7d36abed6:request-contract:6900196588f110031a6f4ba273253c8e829284bbd4e6d4c899f9f34dc837e685:bf1001f2166a3aae411cc592e8509a4cf575e56f:verified:","mission_step_id":"dd581724-9b5d-48e2-9e76-def01717e90a","command_center_event_id":"c57271a2-40ac-4ba4-8938-54b7d36abed6"},{"id":"a1850035-bf28-4209-9f81-efa92bfc8f7d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-06d350f3111a","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2851,"terminal":false,"missionId":"06d350f3-111a-4413-9e3a-514669ccfc30","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1046,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"06d350f3-111a-4413-9e3a-514669ccfc30"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1284,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T19:14:28.72654+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2851","receipt_type":"automatic_mission_resume","idempotency_key":"mission:06d350f3-111a-4413-9e3a-514669ccfc30:automatic-mission-resume:2851:repair_mission_waiting_for_gate","mission_step_id":"5bb8d25e-e895-4af9-9979-ff46685ca7f5","command_center_event_id":"06d350f3-111a-4413-9e3a-514669ccfc30"},{"id":"a1854b2f-7269-49cd-8fee-c745323278bd","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-9e413d0ddf3f","prNumber":3270,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"1c858a705b52ec711b8448e238a05c926d7e9175","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T05:21:38.64075+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"1c858a705b52ec711b8448e238a05c926d7e9175","external_id":"3270","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:9e413d0d-df3f-4196-bd1a-c29651b693f8:merged-pr:3270:1c858a705b52ec711b8448e238a05c926d7e9175","mission_step_id":"28ff00fe-58dd-48b8-925b-5c4f1f749d14","command_center_event_id":"9e413d0d-df3f-4196-bd1a-c29651b693f8"},{"id":"a18578c8-42d3-482a-b8ea-8001675e43c0","source":"forgejo","status":"waiting","payload":{"branch":"ai/fix-core-edge-config-duplicate","prNumber":4164,"nextAction":null,"mergeCommitSha":"1e7b7a6018d51da08b268dcb42992fa14b3efd6e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T13:29:31.329817+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"1e7b7a6018d51da08b268dcb42992fa14b3efd6e","external_id":"4164","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:f9ebd1a5-5de1-4e1b-a201-6dfc8e5dd4cb:merged-pr:4164:1e7b7a6018d51da08b268dcb42992fa14b3efd6e","mission_step_id":"e74d25e4-fff7-4c6b-925b-3349148dc09c","command_center_event_id":"f9ebd1a5-5de1-4e1b-a201-6dfc8e5dd4cb"},{"id":"a185fc29-1250-4331-8410-edd5aa6ba949","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Ship and prove the current exact Big Papi dependency-pass PR #2899 with no additional source changes. The branch now contains the bounded operating-loop work: Pop-Up Money exposes New Order while preserving non-payable order_request behavior; Pop-Up launch checks selected flavor tubs against existing usable tub-equivalent inventory; active Pop-Up shows New Order, Sales & Payments, Review Inventory, and End Pop-Up; closeMobileVendorPopupSession closes the exact tenant/user popup row idempotently without deleting schedule history; the Pop-Up MODES card switches to Run Pop-Up when live and exposes New Order; Event Day visibly shows balance due in the event summary, closeout Money step, and Money today line. Preserve all existing pricing, customer-specific rates, inventory persistence, event workflow, routes, and tenant isolation. Run KnockLaunch Gate, squash merge this same PR, deploy only the affected frontend production target, and verify the live frontend source identity. Visual Witness is not requested.","wordingChanged":false,"canonicalIntent":"Ship and prove the current exact Big Papi dependency-pass PR #2899 with no additional source changes. The branch now contains the bounded operating-loop work: Pop-Up Money exposes New Order while preserving non-payable order_request behavior; Pop-Up launch checks selected flavor tubs against existing usable tub-equivalent inventory; active Pop-Up shows New Order, Sales & Payments, Review Inventory, and End Pop-Up; closeMobileVendorPopupSession closes the exact tenant/user popup row idempotently without deleting schedule history; the Pop-Up MODES card switches to Run Pop-Up when live and exposes New Order; Event Day visibly shows balance due in the event summary, closeout Money step, and Money today line. Preserve all existing pricing, customer-specific rates, inventory persistence, event workflow, routes, and tenant isolation. Run KnockLaunch Gate, squash merge this same PR, deploy only the affected frontend production target, and verify the live frontend source identity. Visual Witness is not requested.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"popup-loop","statement":"Pop-Up launch blocks impossible usable-tub loadouts, live Pop-Ups can be ended deterministically, and active Pop-Up surfaces order, money, and inventory next actions.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"order-loop","statement":"Pop-Up Money exposes New Order and preserves order_request as non-payable.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"event-money","statement":"Event Day visibly exposes remaining balance due in summary and closeout money context.","proofConditionIds":["repository-proof","runtime-proof"]}],"objective":"Ship and prove the current exact Big Papi dependency-pass PR #2899 with no additional source changes. The branch now contains the bounded operating-loop work: Pop-Up Money exposes New Order while preserving non-payable order_request behavior; Pop-Up launch checks selected flavor tubs against existing usable tub-equivalent inventory; active Pop-Up shows New Order, Sales & Payments, Review Inventory, and End Pop-Up; closeMobileVendorPopupSession closes the exact tenant/user popup row idempotently without deleting schedule history; the Pop-Up MODES card switches to Run Pop-Up when live and exposes New Order; Event Day visibly shows balance due in the event summary, closeout Money step, and Money today line. Preserve all existing pricing, customer-specific rates, inventory persistence, event workflow, routes, and tenant isolation. Run KnockLaunch Gate, squash merge this same PR, deploy only the affected frontend production target, and verify the live frontend source identity. Visual Witness is not requested.","constraints":[{"id":"scope","statement":"No migrations, duplicate pricing/inventory systems, unrelated tenant changes, or Visual Witness. Release frontend only.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repository-proof","runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repository-proof","kind":"repository","claim":"PR #2899 exact source contains the bounded Big Papi dependency wiring and passes KnockLaunch Gate before squash merge.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"runtime-proof","kind":"runtime","claim":"Production frontend is live on the merged Big Papi dependency-pass source identity.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Ship-and-prove-the-current-exact-Big-Papi-dependency-pass-PR-2899-with-no-additional-source-changes.","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["repository-proof","runtime-proof"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"7d84ec027a395e95940e6d2c3dc54ba85629af255ff311f46e878a6e36a5bc22","requestContractRevision":2,"previousRequestContractHash":"d1562910f2f15ba9aa1c3125dc00f481fa76f91fcaf375b0c2f746f70ba60814"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T13:43:02.104944+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:65f9c078-7455-4320-a65f-993b85d1ae16:request-contract:7d84ec027a395e95940e6d2c3dc54ba85629af255ff311f46e878a6e36a5bc22","mission_step_id":"5f41ae3a-9c72-485e-af90-62e94154209e","command_center_event_id":"65f9c078-7455-4320-a65f-993b85d1ae16"},{"id":"a1864f70-584a-489d-b4f0-7300c06a7061","source":"visual-sandbox","status":"failed","payload":{"ok":false,"jobId":"16cf25e7-a12b-43b1-abaf-6ccae1991c58","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-14a884b49a8b","reason":null,"status":"completed_unverified","metrics":{"receiptBytes":82017,"releaseCount":0,"toolCallCount":41,"repeatedCallCount":23,"executorlessWaitMs":689349,"firstUsefulResultAt":"2026-10-01T03:04:21.716Z","recoveryAttemptCount":16,"ownerInterruptionCount":0},"version":null,"prNumber":4314,"terminal":true,"missionId":"14a884b4-9a8b-411a-a44b-ff2035a0069f","operation":"visual_proof_status","proofGate":"visual_witness_objective_acceptance_unproven","sourceSha":"41b09beee4d98673ef680a90813291c548097c23","timingsMs":{"queue":1051,"total":63695,"execution":62644},"nextAction":null,"receiptRef":{"mode":"full","missionId":"14a884b4-9a8b-411a-a44b-ff2035a0069f"},"performance":null,"deploymentId":"forgejo-main-41b09beee4d9","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"16cf25e7-a12b-43b1-abaf-6ccae1991c58","tenant":"669daee1-57e8-4960-937c-ce397106f32e","runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":1,"supervisorId":"16cf25e7-a12b-43b1-abaf-6ccae1991c58","failureReason":null,"observedRoute":"/tennex-tax-solutions/dashboard","runnerVersion":"paul-9dc4fd1c93c0","attemptLineage":[{"jobId":"ef4c571a-1405-4654-a784-cc11634ed68f","attempt":1,"category":"completed_with_findings","sourceSha":"9dc4fd1c93c0834eec199a0147375ceaaaba8457","startedAt":"2026-10-01T03:13:35.571Z","completedAt":"2026-10-01T03:14:38.713Z","runtimeLane":"cc-execution -> DigitalOcean PAUL -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"paul-9dc4fd1c93c0","browserLaunchReason":"virtual_runtime_headless","checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":4,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":4}}],"missionOutcome":"completed_with_findings","requestedRoute":"/tennex-tax-solutions/dashboard","runnerSourceSha":"9dc4fd1c93c0834eec199a0147375ceaaaba8457","selectedViewports":["desktop","mobile"],"checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":4,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":4},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":13608,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"ENDED","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":47099,"ownerActionRequired":false,"ownerFacingTerminal":true,"requestContractHash":"bcf6b50307c232d1fa2e99147ed0978a32a3cebeab742575ae28d91471d6cd5d","continuationRequired":false,"requestContractState":"pending"},"tenant_id":"669daee1-57e8-4960-937c-ce397106f32e","created_at":"2026-10-01T03:15:53.004278+00:00","proof_gate":"visual_witness_infrastructure_retry_exhausted","source_sha":"paul-9dc4fd1c93c0","external_id":"16cf25e7-a12b-43b1-abaf-6ccae1991c58","receipt_type":"visual_proof_status","idempotency_key":"mission:14a884b4-9a8b-411a-a44b-ff2035a0069f:visual:16cf25e7-a12b-43b1-abaf-6ccae1991c58:failed","mission_step_id":"f9ae82db-3fe9-4d33-96ff-3515e8bc44a6","command_center_event_id":"14a884b4-9a8b-411a-a44b-ff2035a0069f"},{"id":"a187267d-0bbb-48ad-8779-ff84b1446b74","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-d15fc5e188e8","prNumber":3898,"nextAction":null,"mergeCommitSha":"a67ad570316a0c26f1e29a15a07317637b22d622","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:32:32.744434+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"a67ad570316a0c26f1e29a15a07317637b22d622","external_id":"3898","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:merged-pr:3898:a67ad570316a0c26f1e29a15a07317637b22d622","mission_step_id":"2307069e-bd3b-4c00-87ca-dbea4994d043","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"a1881fb6-8fab-40a4-b37d-39e53b1e667b","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"forgejo_same_source_release_failed_no_redispatch:406","status":"blocked","metrics":{"receiptBytes":13427,"releaseCount":0,"toolCallCount":18,"repeatedCallCount":14,"ownerInterruptionCount":0},"version":null,"prNumber":139,"terminal":false,"missionId":"150544c5-a88e-4b11-9aee-0cc667df84e5","operation":"automatic_mission_resume","proofGate":"canonical_release_blocked","sourceSha":"d8f55e75a532af77a098246934d1df30b442be5e","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"150544c5-a88e-4b11-9aee-0cc667df84e5"},"performance":null,"deploymentId":"forgejo-main-d8f55e75a532","workflowRunId":406,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":331,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T16:59:53.36789+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"139","receipt_type":"automatic_mission_resume","idempotency_key":"mission:150544c5-a88e-4b11-9aee-0cc667df84e5:automatic-mission-resume:139:canonical_release_blocked","mission_step_id":"15a1111a-56bc-40e4-a89e-3bd56dad63be","command_center_event_id":"150544c5-a88e-4b11-9aee-0cc667df84e5"},{"id":"a188d2d5-d652-42c8-ac73-c99f2b03c76e","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T08:33:13.056202+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5163,\"sourceSha\":\"d059e784c8fb33ceeb0e36baec00e818ef3753e8\",\"deploymentId\":\"forgejo-main-d059e784c8fb\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T08:03:36.944853+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6cd825d0-ddfe-4532-8e8e-5f72704f5be5:owner-progress-heartbeat:119418254","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"a1890cd9-16a3-493d-8869-49bb7ccc9034","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_editor_brand","disposition":"superseded_execution_attempt","previousStatus":"retryable","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"f5ac0529-8647-57d7-d698-8cbb7f61212a"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:fa15585b-2bbc-40fa-9a1a-04e608e38761","mission_step_id":null,"command_center_event_id":"fa15585b-2bbc-40fa-9a1a-04e608e38761"},{"id":"a18b1429-b5b0-41dd-a8d1-c38c3f2bae05","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"301e9d09074b843ad7cca8a7f1532232cf9c57be","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"route-family-resolution","satisfied":true,"statement":"Explicit route-family inspection language resolves as one multi-route family Witness request instead of a single-page ambiguity.","proofConditionIds":["production"]}],"satisfied":true,"constraints":[{"id":"preserve-real-ambiguity","satisfied":true,"statement":"Genuinely ambiguous tenant identity must still fail closed or clarify; route-family scope alone must not authorize guessing the tenant.","proofConditionIds":["production"]},{"id":"reuse-witness","satisfied":true,"statement":"Use canonical linked-route Witness traversal rather than a second crawler.","proofConditionIds":["production"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["production"]}],"contractHash":"bf33ab23812776ed03b9acd7e8894c1104cd7073d852d4b8b6159e992e76fb70","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"bf33ab23812776ed03b9acd7e8894c1104cd7073d852d4b8b6159e992e76fb70"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution","frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T22:33:40.589635+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"301e9d09074b843ad7cca8a7f1532232cf9c57be","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:c5c5938e-33e7-4744-ba9a-5a339bfa91d2:request-contract:bf33ab23812776ed03b9acd7e8894c1104cd7073d852d4b8b6159e992e76fb70:301e9d09074b843ad7cca8a7f1532232cf9c57be:verified:","mission_step_id":"983951f4-6cf5-4d22-9fd6-9d7af81ba700","command_center_event_id":"c5c5938e-33e7-4744-ba9a-5a339bfa91d2"},{"id":"a18b237e-ae06-4ce3-9b67-239333366590","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/visual-witness-customer-domain-trust-20260828","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":6667,"releaseCount":1,"toolCallCount":6,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":950,"terminal":false,"missionId":"f36f22f7-6bae-4298-84f4-6b6fe8a14ccf","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"926f9ae16ab3f6c4b61f229d751ff5502f323b30","timingsMs":{"prReadinessMs":270,"approvedPlanMs":0,"shipAndProveMs":11370},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f36f22f7-6bae-4298-84f4-6b6fe8a14ccf"},"performance":null,"deploymentId":"forgejo-main-926f9ae16ab3","workflowRunId":3179,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2041,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T19:14:52.104992+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"950","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f36f22f7-6bae-4298-84f4-6b6fe8a14ccf:automatic-mission-resume:950:canonical_release_dispatched","mission_step_id":"b3e0fb67-cf27-4fe5-bc38-5fb37333b28c","command_center_event_id":"f36f22f7-6bae-4298-84f4-6b6fe8a14ccf"},{"id":"a18c0cce-e160-45ca-bd7f-e8d6b96d9bb5","source":"cc-execution","status":"waiting","payload":{"body":{"body":"Customer-first phone gallery intake, customer-scoped Drive masters, multi-select bulk actions, automatic metadata review, preliminary Auto Grader, grading handoff, reassignment and safe removal.","ship":true,"files":[{"path":"src/pages/card-grading/PCGReceiveCardsGallery.tsx","content":"import {useEffect,useMemo,useState} from 'react';\nimport {Archive,CheckCircle2,CheckSquare,ImagePlus,Loader2,Pencil,RefreshCw,ScanLine,Square,Trash2,UploadCloud,UserRoundCheck,WandSparkles,XCircle} from 'lucide-react';\nimport {supabase} from '@/integrations/supabase/client';\nimport {useToast} from '@/hooks/use-toast';\nimport {cn} from '@/lib/utils';\n\nconst DRIVE_MEDIA_FN=\\`${import.meta.env.VITE_SUPABASE_URL}/functions/v1/pcg-google-drive-media\\`;\nconst previewMediaUrl=(value:string|null|undefined)=>{const url=String(value||'').trim();if(!url||!url.includes('/pcg-google-drive-media/media?')||url.includes('variant='))return url;return url+'&variant=preview'};\n\ntype Submission={id:string;submission_number:string;customer_contact_id:string|null;customer_name:string|null;customer_email:string|null;expected_card_count:number;status:string};\ntype Card={id:string;submission_id:string;sequence_number:number;player_character:string|null;year:string|null;brand_set:string|null;card_number:string|null;category:string|null;card_description:string|null;variation:string|null;autograph_present:boolean|null;front_image_url:string|null;back_image_url:string|null;status:string;grade:number|null;grade_label:string|null;cert_number:string|null;metadata:Record<string,any>|null};\ntype IntakeDraft={id:string;front?:File;back?:File;status:'queued'|'uploading'|'done'|'failed';error?:string};\ntype EditDraft={player:string;year:string;set:string;number:string;category:string;description:string;autograph:''|'yes'|'no';tags:string};\ntype MediaResult={url:string;fileId:string};\n\nfunction DraftCard({item,index}:{item:IntakeDraft;index:number}){const[src,setSrc]=useState('');useEffect(()=>{const file=item.front||item.back;if(!file){setSrc('');return}const url=URL.createObjectURL(file);setSrc(url);return()=>URL.revokeObjectURL(url)},[item.front,item.back]);return <article className=\"overflow-hidden rounded-2xl border border-white/[0.09] bg-black/35\"><div className=\"relative aspect-[3/4] bg-[#070708]\">{src?<img src={src} alt=\"\" className=\"h-full w-full object-contain p-2\"/>:<div className=\"grid h-full place-items-center\"><ImagePlus className=\"h-7 w-7 text-white/15\"/></div>}<span className=\"absolute left-2 top-2 rounded-full bg-black/75 px-2 py-1 text-[9px] font-black text-white/70\">#{index+1}</span>{item.status==='done'?<CheckCircle2 className=\"absolute right-2 top-2 h-5 w-5 text-emerald-400\"/>:item.status==='failed'?<XCircle className=\"absolute right-2 top-2 h-5 w-5 text-rose-400\"/>:item.status==='uploading'?<Loader2 className=\"absolute right-2 top-2 h-5 w-5 animate-spin text-[#d8bb78]\"/>:null}</div><div className=\"p-2.5\"><div className=\"text-[10px] font-black uppercase tracking-[.08em] text-white/48\">{item.front?'Front ready':'Front missing'} · {item.back?'Back ready':'Back missing'}</div>{item.error?<div className=\"mt-1 line-clamp-2 text-[10px] text-rose-300\">{item.error}</div>:null}</div></article>}\n\nfunction Field({label,value,onChange,placeholder=''}:{label:string;value:string;onChange:(value:string)=>void;placeholder?:string}){return <label className=\"block\"><span className=\"text-[9px] font-black uppercase tracking-[.14em] text-white/45\">{label}</span><input value={value} onChange={event=>onChange(event.target.value)} placeholder={placeholder} className=\"mt-1.5 h-11 w-full rounded-xl border border-white/[0.10] bg-black/30 px-3 text-sm text-white outline-none placeholder:text-white/25 focus:border-[#d8bb78]/55\"/></label>}\n\nexport default function PCGReceiveCardsGallery({tenantId,initialSubmissionId='',onRequestCreateOrder}:{tenantId:string;initialSubmissionId?:string;onRequestCreateOrder?:()=>void}){\n  const{toast}=useToast();\n  const[submissions,setSubmissions]=useState<Submission[]>([]);\n  const[cards,setCards]=useState<Card[]>([]);\n  const[selectedSubmissionId,setSelectedSubmissionId]=useState(initialSubmissionId);\n  const[drafts,setDrafts]=useState<IntakeDraft[]>([]);\n  const[selectedIds,setSelectedIds]=useState<Set<string>>(()=>new Set());\n  const[moveTarget,setMoveTarget]=useState('');\n  const[busy,setBusy]=useState(false);\n  const[loading,setLoading]=useState(true);\n  const[editingId,setEditingId]=useState<string|null>(null);\n  const[edit,setEdit]=useState<EditDraft>({player:'',year:'',set:'',number:'',category:'',description:'',autograph:'',tags:''});\n\n  const selectedSubmission=submissions.find(item=>item.id===selectedSubmissionId)||null;\n  const gallery=useMemo(()=>selectedSubmissionId?cards.filter(card=>card.submission_id===selectedSubmissionId):[],[cards,selectedSubmissionId]);\n  const selectedCards=useMemo(()=>gallery.filter(card=>selectedIds.has(card.id)),[gallery,selectedIds]);\n  const editingCard=editingId?cards.find(card=>card.id===editingId)||null:null;\n\n  async function load(){\n    if(!tenantId)return;\n    setLoading(true);\n    const[s,c]=await Promise.all([\n      (supabase as any).from('card_grading_submissions').select('id,submission_number,customer_contact_id,customer_name,customer_email,expected_card_count,status').eq('tenant_id',tenantId).order('created_at',{ascending:false}).limit(150),\n      (supabase as any).from('card_grading_cards').select('id,submission_id,sequence_number,player_character,year,brand_set,card_number,category,card_description,variation,autograph_present,front_image_url,back_image_url,status,grade,grade_label,cert_number,metadata').eq('tenant_id',tenantId).order('created_at',{ascending:false}).limit(600)\n    ]);\n    if(s.error)toast({title:'Could not load PCG customer orders',description:s.error.message,variant:'destructive'});\n    if(c.error)toast({title:'Could not load PCG cards',description:c.error.message,variant:'destructive'});\n    const open=((s.data||[]) as Submission[]).filter(row=>!['shipped','picked_up','delivered','closed'].includes(String(row.status||'')));\n    setSubmissions(open);setCards((c.data||[]) as Card[]);\n    setSelectedSubmissionId(current=>open.some(row=>row.id===initialSubmissionId)?initialSubmissionId:(open.some(row=>row.id===current)?current:''));\n    setLoading(false);\n  }\n  useEffect(()=>{void load()},[tenantId,initialSubmissionId]);\n  useEffect(()=>{setSelectedIds(new Set());setDrafts([]);setEditingId(null)},[selectedSubmissionId]);\n\n  async function post(path:string,body:Record<string,unknown>){\n    const{data}=await supabase.auth.getSession();if(!data.session?.access_token)throw new Error('Please sign in again.');\n    const response=await fetch(DRIVE_MEDIA_FN+path,{method:'POST',headers:{Authorization:'Bearer '+data.session.access_token,'Content-Type':'application/json'},body:JSON.stringify({tenant_id:tenantId,...body})});\n    const payload=await response.json().catch(()=>null);\n    if(!response.ok||payload?.ok!==true){const error=new Error(payload?.error||'PCG action failed') as Error&{code?:string};error.code=payload?.code;throw error}\n    return payload;\n  }\n  async function analyze(ids:string[],purpose:'metadata'|'grade',silent=false){\n    if(!ids.length)return;\n    try{await post('/analyze-card',{card_ids:ids,purpose});if(!silent)toast({title:purpose==='grade'?'Preliminary Auto Grader complete':'Card details analyzed',description:purpose==='grade'?'Suggestions were saved for review. No official PCG grade was applied.':'High-confidence blanks were filled; uncertain fields stay flagged for Anthony.'})}\n    catch(error){const coded=error as Error&{code?:string};if(coded.code==='vision_provider_unconfigured'){if(!silent)toast({title:'Auto analysis needs the vision provider',description:'The workflow is wired and failed closed. Nothing was guessed or silently graded.',variant:'destructive'});return}if(!silent)toast({title:'Analysis could not finish',description:coded.message,variant:'destructive'})}\n  }\n  function addFronts(files:File[]){setDrafts(current=>{const next=[...current];for(const file of files){const empty=next.findIndex(item=>!item.front);if(empty>=0)next[empty]={...next[empty],front:file,status:'queued',error:undefined};else next.push({id:crypto.randomUUID(),front:file,status:'queued'})}return next})}\n  function addBacks(files:File[]){setDrafts(current=>{const next=[...current];for(const file of files){const empty=next.findIndex(item=>!item.back);if(empty>=0)next[empty]={...next[empty],back:file,status:'queued',error:undefined};else next.push({id:crypto.randomUUID(),back:file,status:'queued'})}return next})}\n  async function uploadMedia(file:File,draft:IntakeDraft,side:'front'|'back',importKey:string):Promise<MediaResult>{\n    if(!selectedSubmissionId)throw new Error('Choose the customer/order first.');\n    const{data}=await supabase.auth.getSession();if(!data.session?.access_token)throw new Error('Please sign in again.');\n    const params=new URLSearchParams({tenant_id:tenantId,submission_id:selectedSubmissionId,session_key:'pcg-receive-'+selectedSubmissionId,import_key:importKey,key:draft.id,side,name:file.name,content_type:file.type||'application/octet-stream'});\n    const response=await fetch(DRIVE_MEDIA_FN+'/upload?'+params.toString(),{method:'POST',headers:{Authorization:'Bearer '+data.session.access_token,'Content-Type':file.type||'application/octet-stream'},body:file});\n    const payload=await response.json().catch(()=>null);if(!response.ok||!payload?.ok)throw new Error(payload?.error||'Google Drive upload failed');\n    return{url:String(payload.url||''),fileId:String(payload.file_id||'')};\n  }\n  async function uploadBatch(){\n    if(!selectedSubmission)return toast({title:'Choose the customer first',description:'Every card must belong to a customer/order before PCG accepts images.',variant:'destructive'});\n    const ready=drafts.filter(item=>item.front||item.back);if(!ready.length)return toast({title:'Add card photos first'});\n    setBusy(true);\n    const existing=cards.filter(card=>card.submission_id===selectedSubmission.id);let nextSequence=Math.max(0,...existing.map(card=>Number(card.sequence_number)||0))+1;const storedIds:string[]=[];\n    for(const item of ready){\n      const sequence=nextSequence++,importKey=('pcg:'+selectedSubmission.id+':'+item.id).toLowerCase();\n      try{\n        setDrafts(current=>current.map(row=>row.id===item.id?{...row,status:'uploading',error:undefined}:row));\n        const front=item.front?await uploadMedia(item.front,item,'front',importKey):null,back=item.back?await uploadMedia(item.back,item,'back',importKey):null;\n        const metadata={pcg_ai:{status:'pending',requested_purpose:'metadata',field_confidence:{},human_review_required:true},image_storage:'google_workspace_drive',drive_media:{provider:'google_workspace',front_file_id:front?.fileId||null,back_file_id:back?.fileId||null}};\n        const{data,error}=await(supabase as any).from('card_grading_cards').upsert({tenant_id:tenantId,submission_id:selectedSubmission.id,sequence_number:sequence,status:'received',import_key:importKey,front_image_url:front?.url||null,back_image_url:back?.url||null,metadata},{onConflict:'tenant_id,import_key'}).select('id').single();\n        if(error)throw error;storedIds.push(String(data.id));setDrafts(current=>current.map(row=>row.id===item.id?{...row,status:'done'}:row));\n      }catch(error){setDrafts(current=>current.map(row=>row.id===item.id?{...row,status:'failed',error:error instanceof Error?error.message:String(error)}:row))}\n    }\n    if(storedIds.length)await analyze(storedIds,'metadata',true);await load();setBusy(false);\n    toast({title:storedIds.length+' card'+(storedIds.length===1?'':'s')+' added to '+(selectedSubmission.customer_name||selectedSubmission.submission_number),description:'PCG stored the master images in that customer’s Drive folder and queued automatic detail review.'});\n  }\n  function toggle(id:string){setSelectedIds(current=>{const next=new Set(current);next.has(id)?next.delete(id):next.add(id);return next})}\n  function selectAll(){setSelectedIds(current=>current.size===gallery.length?new Set():new Set(gallery.map(card=>card.id)))}\n  function startEdit(){if(selectedCards.length!==1)return toast({title:'Select exactly one card to edit'});const card=selectedCards[0],meta=card.metadata||{};setEditingId(card.id);setEdit({player:card.player_character||'',year:card.year||'',set:card.brand_set||'',number:card.card_number||'',category:card.category||'',description:card.card_description||card.variation||'',autograph:card.autograph_present==null?'':card.autograph_present?'yes':'no',tags:Array.isArray(meta.tags)?meta.tags.join(', '):''})}\n  async function saveEdit(){if(!editingCard)return;setBusy(true);const meta=editingCard.metadata||{};const{error}=await(supabase as any).from('card_grading_cards').update({player_character:edit.player.trim()||null,year:edit.year.trim()||null,brand_set:edit.set.trim()||null,card_number:edit.number.trim()||null,category:edit.category.trim()||null,card_description:edit.description.trim()||null,variation:edit.description.trim()||null,autograph_present:edit.autograph===''?null:edit.autograph==='yes',metadata:{...meta,tags:edit.tags.split(/[;,]/).map(v=>v.trim()).filter(Boolean),manual_reviewed_at:new Date().toISOString()},updated_at:new Date().toISOString()}).eq('tenant_id',tenantId).eq('id',editingCard.id);setBusy(false);if(error)return toast({title:'Could not save card details',description:error.message,variant:'destructive'});toast({title:'Card details saved'});setEditingId(null);await load()}\n  async function moveToGrade(){if(!selectedSubmission||!selectedCards.length)return;setBusy(true);try{const order=['received','intake_imaging','authentication','grading'];let index=order.indexOf(selectedSubmission.status);if(index<0)throw new Error('This customer order is not in an intake stage.');for(let next=index+1;next<order.length;next++){const{error}=await(supabase as any).rpc('advance_pcg_grading_submission',{p_tenant_id:tenantId,p_submission_id:selectedSubmission.id,p_status:order[next]});if(error)throw error}toast({title:'Moved to Grade Cards',description:selectedSubmission.submission_number+' is ready in the grading workflow.'});setSelectedIds(new Set());await load()}catch(error){toast({title:'Could not move to Grade Cards',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setBusy(false)}}\n  async function rehome(){if(!selectedCards.length||!moveTarget)return;const target=submissions.find(row=>row.id===moveTarget);if(!target)return;if(!window.confirm('Move '+selectedCards.length+' selected card'+(selectedCards.length===1?'':'s')+' to '+(target.customer_name||target.submission_number)+'?'))return;setBusy(true);try{await post('/rehome-cards',{card_ids:selectedCards.map(card=>card.id),target_submission_id:moveTarget});toast({title:'Customer assignment updated',description:'The card records and managed Drive masters moved together.'});setSelectedIds(new Set());await load()}catch(error){toast({title:'Could not move cards',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setBusy(false)}}\n  async function removeSelected(){if(!selectedCards.length)return;if(!window.confirm('Remove '+selectedCards.length+' selected card'+(selectedCards.length===1?'':'s')+' and their managed PCG Drive images? This cannot be undone.'))return;setBusy(true);try{await post('/delete-cards',{card_ids:selectedCards.map(card=>card.id)});toast({title:'Selected cards removed'});setSelectedIds(new Set());await load()}catch(error){toast({title:'Could not remove cards',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setBusy(false)}}\n\n  return <div data-pcg-receive-cards-gallery=\"true\" className=\"w-full text-white\">\n    <section className=\"border-b border-white/[0.08] pb-5\"><div className=\"flex flex-wrap items-end gap-3\"><div className=\"mr-auto\"><div className=\"flex items-center gap-2 text-[10px] font-black uppercase tracking-[.18em] text-[#d8bb78]\"><ScanLine className=\"h-4 w-4\"/>Receive Cards</div><h1 className=\"mt-2 text-3xl font-black tracking-[-.04em] sm:text-4xl\">Customer-first card intake</h1><p className=\"mt-2 max-w-3xl text-sm leading-6 text-white/52\">Pick the customer once. Photograph the stack. PCG keeps every card, image, automatic detail suggestion and grading handoff attached to that customer.</p></div><button onClick={()=>void load()} className=\"grid h-11 w-11 place-items-center rounded-xl border border-white/[0.10]\"><RefreshCw className={cn('h-4 w-4',loading&&'animate-spin')}/></button></div></section>\n    <section className=\"mt-5 rounded-2xl border border-white/[0.09] bg-black/28 p-4\"><div className=\"flex flex-col gap-3 lg:flex-row lg:items-end\"><label className=\"min-w-0 flex-1\"><span className=\"text-[10px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">1 · Customer / grading order</span><select value={selectedSubmissionId} onChange={event=>setSelectedSubmissionId(event.target.value)} disabled={busy} className=\"mt-2 h-12 w-full rounded-xl border border-white/[0.10] bg-[#09090a] px-3 text-sm font-bold text-white outline-none\"><option value=\"\">Choose customer/order first</option>{submissions.map(row=><option key={row.id} value={row.id}>{row.customer_name||'Customer'} · {row.submission_number} · {row.status.replaceAll('_',' ')}</option>)}</select></label><button onClick={onRequestCreateOrder} className=\"h-12 rounded-xl border border-[#d8bb78]/30 px-4 text-xs font-black text-[#e8cc8d]\">+ New customer / order</button></div>{selectedSubmission?<div className=\"mt-3 flex flex-wrap gap-2 text-[10px] font-bold text-white/55\"><span className=\"rounded-full border border-white/[0.08] px-2.5 py-1\">{selectedSubmission.customer_name||'Customer'}</span><span className=\"rounded-full border border-white/[0.08] px-2.5 py-1\">{gallery.length} cards on file</span><span className=\"rounded-full border border-white/[0.08] px-2.5 py-1\">Expected {Number(selectedSubmission.expected_card_count||0)}</span></div>:<p className=\"mt-3 text-xs text-amber-100/75\">PCG will not create orphan card records. Choose or create the customer before adding photos.</p>}</section>\n    <section className={cn('mt-5 rounded-2xl border border-white/[0.09] bg-black/22 p-4',!selectedSubmission&&'pointer-events-none opacity-40')}><div className=\"flex flex-wrap items-center gap-3\"><div className=\"mr-auto\"><div className=\"text-[10px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">2 · Photograph the stack</div><h2 className=\"mt-1 text-lg font-black\">Phone batch capture</h2><p className=\"mt-1 text-xs text-white/48\">Shoot or choose all fronts, then all backs. PCG pairs them by position so Anthony can keep moving.</p></div><label className=\"inline-flex h-11 cursor-pointer items-center gap-2 rounded-xl bg-[#d8bb78] px-4 text-xs font-black text-black\"><UploadCloud className=\"h-4 w-4\"/>Add fronts<input type=\"file\" multiple accept=\"image/*\" capture=\"environment\" className=\"hidden\" onChange={event=>{addFronts(Array.from(event.target.files||[]));event.currentTarget.value=''}}/></label><label className=\"inline-flex h-11 cursor-pointer items-center gap-2 rounded-xl border border-white/[0.12] px-4 text-xs font-black\"><UploadCloud className=\"h-4 w-4\"/>Add backs<input type=\"file\" multiple accept=\"image/*\" capture=\"environment\" className=\"hidden\" onChange={event=>{addBacks(Array.from(event.target.files||[]));event.currentTarget.value=''}}/></label></div>{drafts.length?<><div className=\"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 xl:grid-cols-8\">{drafts.map((item,index)=><DraftCard key={item.id} item={item} index={index}/>)}</div><div className=\"mt-4 flex flex-wrap gap-2\"><button disabled={busy} onClick={()=>void uploadBatch()} className=\"h-11 rounded-xl bg-[#d8bb78] px-5 text-xs font-black text-black disabled:opacity-50\">{busy?'Working…':'Store '+drafts.filter(item=>item.front||item.back).length+' cards'}</button><button disabled={busy} onClick={()=>setDrafts([])} className=\"h-11 rounded-xl border border-white/[0.10] px-4 text-xs font-black text-white/65\">Clear batch</button></div></>:<div className=\"mt-4 grid min-h-32 place-items-center rounded-2xl border border-dashed border-white/[0.08] text-center\"><div><ImagePlus className=\"mx-auto h-7 w-7 text-white/16\"/><div className=\"mt-2 text-sm font-black text-white/48\">No photos loaded yet</div></div></div>}</section>\n    <section className=\"mt-6 border-t border-white/[0.08] pt-5\"><div className=\"flex flex-wrap items-end gap-3\"><div className=\"mr-auto\"><div className=\"text-[10px] font-black uppercase tracking-[.15em] text-white/40\">3 · Review only what needs attention</div><h2 className=\"mt-1 text-xl font-black\">Card gallery</h2><p className=\"mt-1 text-xs text-white/48\">Tap cards to multi-select. Automatic detail extraction and the Auto Grader are review tools — final PCG grading stays human-approved.</p></div>{gallery.length?<button onClick={selectAll} className=\"inline-flex h-10 items-center gap-2 rounded-xl border border-white/[0.10] px-3 text-xs font-black\">{selectedIds.size===gallery.length?<CheckSquare className=\"h-4 w-4\"/>:<Square className=\"h-4 w-4\"/>}{selectedIds.size===gallery.length?'Clear all':'Select all'}</button>:null}</div>\n      {selectedCards.length?<div className=\"sticky bottom-24 z-30 mt-4 rounded-2xl border border-[#d8bb78]/25 bg-[#080809]/95 p-3 shadow-2xl backdrop-blur-xl\"><div className=\"mb-3 flex items-center gap-3\"><span className=\"mr-auto text-xs font-black text-[#e8cc8d]\">{selectedCards.length} selected</span><button onClick={()=>setSelectedIds(new Set())} className=\"text-[10px] font-black uppercase tracking-[.12em] text-white/50\">Clear</button></div><div className=\"grid gap-2 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5\"><button disabled={busy} onClick={()=>void moveToGrade()} className=\"h-11 rounded-xl bg-[#d8bb78] px-3 text-xs font-black text-black disabled:opacity-50\">Move to Grade Cards</button><button disabled={busy} onClick={async()=>{setBusy(true);await analyze(selectedCards.map(card=>card.id),'grade');await load();setBusy(false)}} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-violet-300/25 bg-violet-300/[.08] px-3 text-xs font-black text-violet-100 disabled:opacity-50\"><WandSparkles className=\"h-4 w-4\"/>Auto Grade Selected</button><button disabled={busy} onClick={startEdit} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-white/[0.10] px-3 text-xs font-black\"><Pencil className=\"h-4 w-4\"/>Edit/Add Details</button><button disabled={busy} onClick={async()=>{setBusy(true);await analyze(selectedCards.map(card=>card.id),'metadata');await load();setBusy(false)}} className=\"h-11 rounded-xl border border-white/[0.10] px-3 text-xs font-black\">Analyze Details</button><button disabled={busy} onClick={()=>void removeSelected()} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-rose-300/20 bg-rose-400/[.06] px-3 text-xs font-black text-rose-200\"><Trash2 className=\"h-4 w-4\"/>Delete / Remove</button></div><div className=\"mt-2 grid gap-2 sm:grid-cols-[1fr_auto]\"><select value={moveTarget} onChange={event=>setMoveTarget(event.target.value)} className=\"h-11 rounded-xl border border-white/[0.10] bg-black/40 px-3 text-xs font-bold text-white\"><option value=\"\">Move/assign to another customer order</option>{submissions.filter(row=>row.id!==selectedSubmissionId).map(row=><option key={row.id} value={row.id}>{row.customer_name||'Customer'} · {row.submission_number}</option>)}</select><button disabled={busy||!moveTarget} onClick={()=>void rehome()} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-[#d8bb78]/25 px-4 text-xs font-black text-[#e8cc8d] disabled:opacity-40\"><UserRoundCheck className=\"h-4 w-4\"/>Move/Assign Customer</button></div></div>:null}\n      {editingCard?<div className=\"mt-4 rounded-2xl border border-white/[0.10] bg-black/35 p-4\"><div className=\"flex items-center gap-3\"><div className=\"mr-auto\"><div className=\"text-[10px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">Detailed editor</div><div className=\"mt-1 text-sm font-black\">{editingCard.player_character||editingCard.brand_set||'Selected card'}</div></div><button onClick={()=>setEditingId(null)} className=\"text-xs font-black text-white/50\">Close</button></div><div className=\"mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-4\"><Field label=\"Player\" value={edit.player} onChange={player=>setEdit(v=>({...v,player}))}/><Field label=\"Year\" value={edit.year} onChange={year=>setEdit(v=>({...v,year}))}/><Field label=\"Brand / set\" value={edit.set} onChange={set=>setEdit(v=>({...v,set}))}/><Field label=\"Card #\" value={edit.number} onChange={number=>setEdit(v=>({...v,number}))}/><Field label=\"Sport / category\" value={edit.category} onChange={category=>setEdit(v=>({...v,category}))}/><Field label=\"Variation / parallel\" value={edit.description} onChange={description=>setEdit(v=>({...v,description}))}/><Field label=\"Tags\" value={edit.tags} onChange={tags=>setEdit(v=>({...v,tags}))}/><Field label=\"Autograph\" value={edit.autograph} onChange={value=>setEdit(v=>({...v,autograph:value==='yes'?'yes':value==='no'?'no':''}))} placeholder=\"yes / no\"/></div><button disabled={busy} onClick={()=>void saveEdit()} className=\"mt-4 h-11 rounded-xl bg-[#d8bb78] px-5 text-xs font-black text-black\">Save reviewed details</button></div>:null}\n      {!selectedSubmission?<div className=\"mt-4 grid min-h-40 place-items-center rounded-2xl border border-dashed border-white/[0.08] bg-black/15 text-center\"><div><Archive className=\"mx-auto h-7 w-7 text-white/15\"/><div className=\"mt-2 text-sm font-black text-white/52\">Choose a customer to open their card folder.</div></div></div>:gallery.length?<div className=\"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 xl:grid-cols-8\">{gallery.map(card=>{const ai=card.metadata?.pcg_ai||{},auto=card.metadata?.auto_grader||{},selected=selectedIds.has(card.id);const review=ai.status==='ready'?'Details ready':ai.status==='review_needed'?'Review needed':ai.status==='pending'?'Analyzing':'Not analyzed';return <button type=\"button\" key={card.id} onClick={()=>toggle(card.id)} className={cn('overflow-hidden rounded-2xl border bg-black/45 text-left transition',selected?'border-[#d8bb78]/70 ring-2 ring-[#d8bb78]/20':'border-white/[0.08] hover:border-white/[0.18]')}><div className=\"relative aspect-[3/4] overflow-hidden bg-[#080809]\">{card.front_image_url?<img src={previewMediaUrl(card.front_image_url)} alt=\"\" loading=\"lazy\" decoding=\"async\" className=\"h-full w-full object-contain p-2\"/>:<div className=\"grid h-full place-items-center\"><Archive className=\"h-7 w-7 text-white/12\"/></div>}<span className=\"absolute left-2 top-2 rounded-full bg-black/75 p-1.5\">{selected?<CheckSquare className=\"h-4 w-4 text-[#e8cc8d]\"/>:<Square className=\"h-4 w-4 text-white/55\"/>}</span>{auto.suggested_grade!=null?<div className=\"absolute bottom-2 right-2 rounded-lg bg-violet-950/90 px-2 py-1 text-[9px] font-black text-violet-100\">AI {String(auto.suggested_grade)}</div>:null}</div><div className=\"p-2.5\"><div className=\"truncate text-xs font-black\">{card.player_character||card.brand_set||('Card #'+card.sequence_number)}</div><div className=\"mt-1 truncate text-[10px] text-white/42\">{[card.year,card.brand_set,card.card_number&&('#'+card.card_number)].filter(Boolean).join(' · ')||'Details pending'}</div><div className={cn('mt-2 text-[9px] font-black uppercase tracking-[.08em]',review==='Review needed'?'text-amber-200':review==='Details ready'?'text-emerald-300':'text-white/35')}>{review}</div></div></button>})}</div>:<div className=\"mt-4 grid min-h-40 place-items-center rounded-2xl border border-dashed border-white/[0.08] bg-black/15 text-center\"><div><Archive className=\"mx-auto h-7 w-7 text-white/15\"/><div className=\"mt-2 text-sm font-black text-white/52\">This customer folder is ready for its first card.</div></div></div>}\n    </section>\n  </div>\n}\n"},{"path":"src/pages/crm/PcgWorkspace.tsx","content":"import {useEffect,useMemo,useState,type ComponentType} from 'react';\nimport {useLocation} from 'react-router-dom';\nimport {useMultiTenant} from '@/contexts/MultiTenantContext';import {supabase} from '@/integrations/supabase/client';import {toast} from '@/lib/notify';import {resolveTenantMediaBranding} from '@/lib/tenants/tenantMediaBranding';import {PCGCardVaultContent} from '@/pages/card-grading/PCGWorkspace';import PCGReceiveCardsGallery from '@/pages/card-grading/PCGReceiveCardsGallery';import PCGLegacyMigrationCenter from '@/pages/card-grading/PCGLegacyMigrationCenter';import PCGOnboardingReadiness from '@/pages/card-grading/PCGOnboardingReadiness';\nimport {Award,BadgeDollarSign,Boxes,Check,ChevronRight,CircleDollarSign,ClipboardCheck,CreditCard,Database,ExternalLink,FileCheck2,Menu,PackageCheck,Plus,Search,Settings,ShieldCheck,Truck,UploadCloud,Users,X} from 'lucide-react';\nimport {PCG_GRADING_SCALE,findPCGGrade,formatPCGGrade} from '@/pages/card-grading/pcgGradingScale';\nimport PCGQualityControlPanel from '@/pages/card-grading/PCGQualityControlPanel';\nimport TenantSettingsPage from '@/pages/settings/TenantSettingsPage';\nimport PCGBatchPublishingCenter from '@/pages/card-grading/PCGBatchPublishingCenter';\ntype Submission={id:string;submission_number:string;customer_name:string|null;customer_email:string|null;customer_phone:string|null;service_tier:string;service_price:number;expected_card_count:number;status:string;delivery_method:string|null;received_at:string;due_at:string|null;tracking_in:string|null;tracking_out:string|null;notes:string|null;payment_status:string|null;payment_reference:string|null;paid_at:string|null;customer_contact_id:string|null;return_shipping_method:string|null;return_shipping_cost:number|null;return_insurance_amount:number|null};type Card={id:string;submission_id:string;sequence_number:number;cert_number:string|null;category:string|null;year:string|null;brand_set:string|null;player_character:string|null;card_number:string|null;card_description:string|null;autograph_present:boolean|null;variation:string|null;declared_value:number|null;grade:number|null;grade_label:string|null;status:string;front_image_url:string|null;back_image_url:string|null;slab_image_url:string|null;grader_notes:string|null;population_count:number|null};type CardDraft={category:string;year:string;brand_set:string;player_character:string;card_number:string;card_description:string;autograph_present:''|'yes'|'no';declared_value:string;grade:string;grade_label:string;cert_number:string;grader_notes:string};type DetailDraft={tracking_in:string;tracking_out:string;notes:string;payment_status:string;payment_reference:string;return_shipping_method:string;return_shipping_cost:string;return_insurance_amount:string};type Tab='today'|'vault'|'queue'|'submissions'|'certs'|'collectors'|'inventory'|'shipping'|'money'|'migration'|'readiness'|'settings';type IconType=ComponentType<{className?:string}>;\nconst tabs:[Tab,string,IconType][]=[['today','Work Queue',Award],['vault','Capture Cards',UploadCloud],['queue','Grade Cards',Award],['submissions','Receive Cards',Boxes],['certs','Certificates',ShieldCheck],['collectors','Customers',Users],['shipping','Fulfill & Ship',Truck],['inventory','Publish & Sell',PackageCheck],['money','Payments',CircleDollarSign],['migration','Migration',Database],['readiness','Readiness',ClipboardCheck],['settings','Settings',Settings]];const mobilePrimary:[Tab,string,IconType][]=[['today','Queue',Award],['vault','Capture',UploadCloud],['queue','Grade',Award],['certs','Certs',ShieldCheck]];\nconst tiers={two_weeks:{label:'2 Weeks',price:12,days:14},one_week:{label:'1 Week',price:15,days:7},three_days:{label:'3 Days',price:20,days:3},same_day:{label:'Same Day',price:25,days:0}} as const;const statuses=['received','intake_imaging','authentication','grading','encapsulation','qa','ready','shipped','picked_up'] as const;const terminalStatuses=new Set(['shipped','picked_up']);const PCG_STRIPE_FALLBACK='https://buy.stripe.com/3clbJ05UQc3w9KLcBR5Ne00';const PCG_LOGO='https://images.squarespace-cdn.com/content/v1/6853034cd711cc2240276cf3/2c2615b1-2fab-4ba1-8cff-8d8e49b6b184/diamond%2Blogo.png';const PCG_STORE_IMAGE='https://images.squarespace-cdn.com/content/v1/6853034cd711cc2240276cf3/83d3ec70-169f-4d22-8916-15e422fb0e52/IMG_8156%2B%281%29.jpeg';const previewMediaUrl=(value:string|null|undefined)=>{const url=String(value||'').trim();if(!url||!url.includes('/pcg-google-drive-media/media?')||url.includes('variant='))return url;return url+'&variant=preview'};const pretty=(value:string)=>value.replaceAll('_',' ').replace(/\\b\\w/g,char=>char.toUpperCase());const inputClass='w-full border border-white/[0.10] bg-black/30 px-3.5 py-3 text-sm text-white outline-none transition placeholder:text-white/28 focus:border-[#d8bb78]/55';const panelClass='border border-white/[0.08] bg-[#09090a]/88';\nconst hasCanonicalGrade=(card:Pick<Card,'grade_label'>)=>Boolean(findPCGGrade(card.grade_label));\nfunction PCGGradeSelect({draft,onChange}:{draft:CardDraft;onChange:(next:CardDraft)=>void}){const selected=findPCGGrade(draft.grade_label);const legacyLabel=String(draft.grade_label||'').trim();const legacyNumeric=!legacyLabel&&draft.grade.trim()?draft.grade.trim():'';return <div className=\"sm:col-span-2\"><label className=\"block\"><span className=\"text-[9px] font-black uppercase tracking-[.14em] text-[#d8bb78]\">Official PCG grade</span><select value={draft.grade_label} onChange={event=>{const option=findPCGGrade(event.target.value);onChange({...draft,grade:option?.numeric==null?'':String(option.numeric),grade_label:option?.designation||event.target.value})}} className={inputClass}><option value=\"\">Select official PCG designation</option>{legacyLabel&&!selected?<option value={legacyLabel}>Legacy · {legacyLabel}</option>:null}{PCG_GRADING_SCALE.map(option=><option key={option.id} value={option.designation}>{option.designation}</option>)}</select></label>{selected?<div className=\"mt-2 border border-white/[0.08] bg-black/28 px-3 py-2\"><div className=\"text-[10px] font-black text-[#e8cc8d]\">{selected.designation}</div><div className=\"mt-1 text-[11px] leading-5 text-white/45\">{selected.criteria||'PCG’s published page does not currently provide usable criteria text for this designation.'}</div></div>:legacyLabel?<div className=\"mt-2 text-[11px] leading-5 text-amber-200/75\">Legacy grade label. Choose an official PCG designation before advancing this card.</div>:legacyNumeric?<div className=\"mt-2 text-[11px] leading-5 text-amber-200/75\">Legacy numeric grade {legacyNumeric}. Choose the exact official PCG designation before advancing this card.</div>:null}</div>}\nfunction cardToDraft(card:Card):CardDraft{return{category:card.category||'',year:card.year||'',brand_set:card.brand_set||'',player_character:card.player_character||'',card_number:card.card_number||'',card_description:card.card_description||card.variation||'',autograph_present:card.autograph_present==null?'':card.autograph_present?'yes':'no',declared_value:card.declared_value==null?'':String(card.declared_value),grade:card.grade==null?'':String(card.grade),grade_label:card.grade_label||'',cert_number:card.cert_number||'',grader_notes:card.grader_notes||''}}function slaMeta(sub:Submission){if(!sub.due_at||terminalStatuses.has(sub.status))return{label:terminalStatuses.has(sub.status)?pretty(sub.status):'No due date',tone:'text-white/42 border-white/10'};const diff=new Date(sub.due_at).getTime()-Date.now();const days=Math.ceil(diff/86400000);if(diff<0)return{label:`${Math.abs(days)}d overdue`,tone:'text-rose-300 border-rose-400/25'};if(days===0)return{label:'Due today',tone:'text-amber-200 border-amber-300/25'};if(days<=2)return{label:`Due in ${days}d`,tone:'text-amber-200 border-amber-300/25'};return{label:`Due ${new Date(sub.due_at).toLocaleDateString()}`,tone:'text-white/46 border-white/10'}}\nexport default function PcgWorkspace({initialTab='today',embedded=false,initialVaultMode='overview',initialVaultSubmissionId='',onSubmissionCreated,navigationScope}:{initialTab?:Tab;embedded?:boolean;initialVaultMode?:'overview'|'single'|'batch'|'growth';initialVaultSubmissionId?:string;onSubmissionCreated?:(submission:{id:string;submission_number:string;expected_card_count:number})=>void;navigationScope?:Tab[]}={}){const location=useLocation();const{activeTenant}=useMultiTenant();const tenantId=activeTenant?.id;const settings=((activeTenant as any)?.settings||{}) as Record<string,unknown>;const mediaBranding=useMemo(()=>resolveTenantMediaBranding(activeTenant as any),[activeTenant]);const workspaceBackground=mediaBranding.backgroundUrl||String(settings.background_image_url||settings.backgroundImageUrl||'').trim();const stripePaymentLink=String(settings.stripe_payment_link||PCG_STRIPE_FALLBACK);const stripeSyncConnected=String(settings.stripe_sync_status||'not_connected')==='connected';const[tab,setTab]=useState<Tab>(initialTab);const visibleTabs=useMemo(()=>navigationScope?.length?tabs.filter(([id])=>navigationScope.includes(id)):tabs,[navigationScope]);useEffect(()=>{setTab(initialTab)},[initialTab]);useEffect(()=>{if(navigationScope?.length&&!navigationScope.includes(tab))setTab(navigationScope.includes(initialTab)?initialTab:navigationScope[0])},[initialTab,navigationScope,tab]);const[subs,setSubs]=useState<Submission[]>([]);const[cards,setCards]=useState<Card[]>([]);const[loading,setLoading]=useState(true);const[showNew,setShowNew]=useState(false);const[showMore,setShowMore]=useState(false);const[selectedId,setSelectedId]=useState<string|null>(null);const[query,setQuery]=useState('');const[statusFilter,setStatusFilter]=useState('all');const[certQuery,setCertQuery]=useState('');const[busy,setBusy]=useState(false);const[cardDrafts,setCardDrafts]=useState<Record<string,CardDraft>>({});const[detailDraft,setDetailDraft]=useState<DetailDraft>({tracking_in:'',tracking_out:'',notes:'',payment_status:'unverified',payment_reference:'',return_shipping_method:'pickup',return_shipping_cost:'',return_insurance_amount:''});const[form,setForm]=useState({name:'',email:'',phone:'',tier:'two_weeks',cardCount:'1',delivery:'walk_in',trackingIn:'',returnShipping:'pickup',returnShippingCost:'',returnInsurance:'',address:'',address2:'',city:'',state:'',zip:'',notes:''});const settingsSection=String(new URLSearchParams(location.search).get('section')||'').trim().toLowerCase();const selectedTier=tiers[form.tier as keyof typeof tiers]||tiers.two_weeks;const selectedCardCount=Math.max(1,Math.min(100000,Number(form.cardCount)||1));const expectedTotal=selectedCardCount*selectedTier.price;const openStripe=()=>window.open(stripePaymentLink,'_blank','noopener,noreferrer');\nconst normalizeEmail=(value:string)=>value.trim().toLowerCase();const normalizePhone=(value:string)=>value.replace(/\\D/g,'');const normalizeAddress=(address:string,city:string,state:string,zip:string)=>[address,city,state,zip].map(value=>value.trim().toLowerCase()).filter(Boolean).join('|');\nasync function ensureCustomerContact(input:{name:string;email:string;phone:string;address:string;address2:string;city:string;state:string;zip:string}){if(!tenantId)throw new Error('PCG tenant is not available.');const email=normalizeEmail(input.email),phone=normalizePhone(input.phone);const find=async(filters:Array<[string,string]>)=>{let query=(supabase as any).from('unified_contacts').select('id').eq('tenant_org_id',tenantId).is('deleted_at',null);for(const[field,value]of filters)query=query.eq(field,value);const{data,error}=await query.limit(2);if(error)throw error;if((data||[]).length>1)throw new Error('Multiple customer records match this collector. Resolve the duplicate customer before receiving this submission.');return data?.[0]?.id?String(data[0].id):''};let id='';if(email&&phone)id=await find([['normalized_email',email],['normalized_phone',phone]]);if(!id&&email)id=await find([['normalized_email',email]]);if(!id&&phone)id=await find([['normalized_phone',phone]]);const addressProvided=Boolean(input.address.trim()||input.address2.trim()||input.city.trim()||input.state.trim()||input.zip.trim());const payload:any={tenant_org_id:String(tenantId),name:input.name.trim(),email:email||null,phone:input.phone.trim()||null,normalized_email:email||null,normalized_phone:phone||null,source:'pcg_submission',contact_role:'collector',updated_at:new Date().toISOString()};if(addressProvided)Object.assign(payload,{address:input.address.trim()||null,address2:input.address2.trim()||null,city:input.city.trim()||null,state:input.state.trim().toUpperCase()||null,zip:input.zip.trim()||null,normalized_address:normalizeAddress(input.address,input.city,input.state,input.zip)||null});if(id){const{data,error}=await(supabase as any).from('unified_contacts').update(payload).eq('tenant_org_id',tenantId).eq('id',id).select('id').single();if(error)throw error;return String(data.id)}const{data,error}=await(supabase as any).from('unified_contacts').insert({...payload,created_at:new Date().toISOString()}).select('id').single();if(error)throw error;return String(data.id)}\nasync function load(){if(!tenantId)return;setLoading(true);const[s,c]=await Promise.all([(supabase as any).from('card_grading_submissions').select('*').eq('tenant_id',tenantId).order('created_at',{ascending:false}),(supabase as any).from('card_grading_cards').select('*').eq('tenant_id',tenantId).order('sequence_number',{ascending:true})]);if(s.error)toast.error(s.error.message);if(c.error)toast.error(c.error.message);setSubs((s.data||[]) as Submission[]);setCards((c.data||[]) as Card[]);setLoading(false)}useEffect(()=>{void load()},[tenantId]);\nconst orderCardCount=(sub:Submission)=>Math.max(Number(sub.expected_card_count||0),cards.filter(card=>card.submission_id===sub.id).length);const counts=useMemo(()=>Object.fromEntries(statuses.map(status=>[status,subs.filter(item=>item.status===status).length])),[subs]);const openSubs=subs.filter(item=>!terminalStatuses.has(item.status));const overdue=openSubs.filter(item=>item.due_at&&new Date(item.due_at)<new Date()).length;const dueSoon=openSubs.filter(item=>item.due_at&&new Date(item.due_at)>=new Date()&&new Date(item.due_at).getTime()-Date.now()<=2*86400000).length;const serviceValue=subs.reduce((sum,item)=>sum+Number(item.service_price||0)*orderCardCount(item),0);const prioritySubs=[...openSubs].sort((a,b)=>(a.due_at?new Date(a.due_at).getTime():Number.MAX_SAFE_INTEGER)-(b.due_at?new Date(b.due_at).getTime():Number.MAX_SAFE_INTEGER)).slice(0,6);const filteredSubs=subs.filter(item=>{const hay=`${item.submission_number} ${item.customer_name||''} ${item.customer_email||''} ${item.customer_phone||''}`.toLowerCase();return(!query||hay.includes(query.toLowerCase()))&&(statusFilter==='all'||item.status===statusFilter)});const filteredCards=cards.filter(card=>!certQuery||`${card.cert_number||''} ${card.year||''} ${card.brand_set||''} ${card.player_character||''} ${card.card_description||card.variation||''} ${card.card_number||''}`.toLowerCase().includes(certQuery.toLowerCase()));const selected=subs.find(item=>item.id===selectedId)||null;const selectedCards=selected?cards.filter(card=>card.submission_id===selected.id):[];const selectedTotal=selected?orderCardCount(selected)*Number(selected.service_price||0):0;\nfunction openSubmission(sub:Submission){setSelectedId(sub.id);setDetailDraft({tracking_in:sub.tracking_in||'',tracking_out:sub.tracking_out||'',notes:sub.notes||'',payment_status:sub.payment_status||'unverified',payment_reference:sub.payment_reference||'',return_shipping_method:sub.return_shipping_method||'pickup',return_shipping_cost:sub.return_shipping_cost==null?'':String(sub.return_shipping_cost),return_insurance_amount:sub.return_insurance_amount==null?'':String(sub.return_insurance_amount)});const next:Record<string,CardDraft>={};cards.filter(card=>card.submission_id===sub.id).forEach(card=>{next[card.id]=cardToDraft(card)});setCardDrafts(next)}\nasync function createSubmission(){if(!tenantId)return;if(!form.name.trim()){toast.error('Customer name is required.');return}const needsAddress=form.returnShipping!=='pickup';if(needsAddress&&(!form.address.trim()||!form.city.trim()||!form.state.trim()||!form.zip.trim())){toast.error('Return address, city, state, and ZIP are required for FedEx return shipping.');return}const returnCost=form.returnShippingCost.trim()===''?null:Number(form.returnShippingCost),insurance=form.returnInsurance.trim()===''?null:Number(form.returnInsurance);if(returnCost!=null&&(!Number.isFinite(returnCost)||returnCost<0)){toast.error('Return shipping cost must be a valid non-negative amount.');return}if(insurance!=null&&(!Number.isFinite(insurance)||insurance<0)){toast.error('Return insurance / declared coverage must be a valid non-negative amount.');return}const count=selectedCardCount,tier=selectedTier,now=new Date(),due=new Date(now);due.setDate(due.getDate()+tier.days);const submissionNumber=`PCG-${now.getFullYear()}-${String(Date.now()).slice(-7)}`;setBusy(true);try{const contactId=await ensureCustomerContact({name:form.name,email:form.email,phone:form.phone,address:form.address,address2:form.address2,city:form.city,state:form.state,zip:form.zip});const{data,error}=await(supabase as any).from('card_grading_submissions').insert({tenant_id:tenantId,submission_number:submissionNumber,customer_contact_id:contactId,customer_name:form.name.trim(),customer_email:form.email.trim()||null,customer_phone:form.phone.trim()||null,service_tier:form.tier,service_price:tier.price,expected_card_count:count,status:'received',payment_status:'unverified',delivery_method:form.delivery,tracking_in:form.trackingIn.trim()||null,return_shipping_method:form.returnShipping,return_shipping_cost:returnCost,return_insurance_amount:insurance,notes:form.notes.trim()||null,received_at:now.toISOString(),due_at:due.toISOString()}).select('*').single();if(error||!data)throw new Error(error?.message||'Unable to create submission');toast.success(`${submissionNumber} created for ${count.toLocaleString()} card${count===1?'':'s'}. Opening Capture Cards for this order.`);setShowNew(false);setForm({name:'',email:'',phone:'',tier:'two_weeks',cardCount:'1',delivery:'walk_in',trackingIn:'',returnShipping:'pickup',returnShippingCost:'',returnInsurance:'',address:'',address2:'',city:'',state:'',zip:'',notes:''});await load();onSubmissionCreated?.({id:String(data.id),submission_number:String(data.submission_number||submissionNumber),expected_card_count:count})}catch(error){toast.error(error instanceof Error?error.message:'Unable to create submission')}finally{setBusy(false)}}\nfunction transitionIssue(sub:Submission,nextStatus:string,ownCards:Card[]){if(nextStatus==='authentication'){if(!ownCards.length)return 'Add cards before authentication.';const missing=ownCards.filter(card=>!card.front_image_url||!card.back_image_url).length;return missing?(missing+' card'+(missing===1?' needs':'s need')+' a saved intake image before authentication.'):''}if(nextStatus==='encapsulation'){const missing=ownCards.filter(card=>!hasCanonicalGrade(card)).length;return missing?(missing+' card'+(missing===1?' needs':'s need')+' an official PCG grade before encapsulation.'):''}if(nextStatus==='qa'){const missingGrade=ownCards.filter(card=>!hasCanonicalGrade(card)).length,missingCert=ownCards.filter(card=>!String(card.cert_number||'').trim()).length;return missingGrade||missingCert?('Save '+(missingGrade?(missingGrade+' missing official PCG grade'+(missingGrade===1?'':'s')):'')+(missingGrade&&missingCert?' and ':'')+(missingCert?(missingCert+' missing cert number'+(missingCert===1?'':'s')):'')+' before QA.'):''}if(nextStatus==='ready'){const missing=ownCards.filter(card=>!hasCanonicalGrade(card)||!String(card.cert_number||'').trim()||!card.slab_image_url).length;if(missing)return missing+' card'+(missing===1?' is':'s are')+' missing official PCG grade, cert, or customer-visible imagery.';if(!sub.return_shipping_method)return 'Choose the customer return method before marking this order ready.';return ''}if(nextStatus==='shipped'){if(sub.return_shipping_method==='pickup')return 'This order is marked for pickup. Use Mark picked up instead.';if(!String(sub.tracking_out||'').trim())return 'Save outbound tracking before marking this order shipped.'}return ''}async function advanceBatch(nextStatus:string){if(!tenantId||!selected)return;const issue=transitionIssue(selected,nextStatus,selectedCards);if(issue){toast.error(issue);return}setBusy(true);const{error}=await(supabase as any).rpc('advance_pcg_grading_submission',{p_tenant_id:tenantId,p_submission_id:selected.id,p_status:nextStatus});if(error)toast.error(error.message||'Unable to advance submission');else{toast.success(`${selected.submission_number} moved to ${pretty(nextStatus)}.`);await load()}setBusy(false)}\nasync function saveSubmissionDetails(){if(!tenantId||!selected)return;const returnCost=detailDraft.return_shipping_cost.trim()===''?null:Number(detailDraft.return_shipping_cost),insurance=detailDraft.return_insurance_amount.trim()===''?null:Number(detailDraft.return_insurance_amount);if(returnCost!=null&&(!Number.isFinite(returnCost)||returnCost<0)){toast.error('Return shipping cost must be a valid non-negative amount.');return}if(insurance!=null&&(!Number.isFinite(insurance)||insurance<0)){toast.error('Return insurance / declared coverage must be a valid non-negative amount.');return}setBusy(true);const manual=detailDraft.payment_status==='manually_verified';const{error}=await(supabase as any).from('card_grading_submissions').update({tracking_in:detailDraft.tracking_in.trim()||null,tracking_out:detailDraft.tracking_out.trim()||null,return_shipping_method:detailDraft.return_shipping_method||null,return_shipping_cost:returnCost,return_insurance_amount:insurance,notes:detailDraft.notes.trim()||null,payment_status:detailDraft.payment_status,payment_reference:detailDraft.payment_reference.trim()||null,paid_at:manual?(selected.paid_at||new Date().toISOString()):null,updated_at:new Date().toISOString()}).eq('tenant_id',tenantId).eq('id',selected.id);if(error)toast.error(error.message);else{toast.success('Submission details saved.');await load()}setBusy(false)}\nasync function saveCard(card:Card){if(!tenantId)return;const draft=cardDrafts[card.id];if(!draft)return;setBusy(true);const gradeDefinition=findPCGGrade(draft.grade_label);const grade=gradeDefinition?gradeDefinition.numeric:(draft.grade.trim()===''?null:Number(draft.grade));const gradeLabel=gradeDefinition?.designation||draft.grade_label.trim()||null;const declared=draft.declared_value.trim()===''?null:Number(draft.declared_value);if(grade!=null&&(Number.isNaN(grade)||grade<0||grade>10)){toast.error('Legacy numeric grade is invalid. Choose an official PCG grade.');setBusy(false);return}const{error}=await(supabase as any).from('card_grading_cards').update({category:draft.category.trim()||null,year:draft.year.trim()||null,brand_set:draft.brand_set.trim()||null,player_character:draft.player_character.trim()||null,card_number:draft.card_number.trim()||null,card_description:draft.card_description.trim()||null,autograph_present:draft.autograph_present===''?null:draft.autograph_present==='yes',variation:draft.card_description.trim()||null,declared_value:declared,grade,grade_label:gradeLabel,cert_number:draft.cert_number.trim()||null,grader_notes:draft.grader_notes.trim()||null,updated_at:new Date().toISOString()}).eq('tenant_id',tenantId).eq('id',card.id);if(error)toast.error(error.message);else{toast.success(`Card #${card.sequence_number} saved.`);await load()}setBusy(false)}\nconst metric=(label:string,value:string|number,sub:string)=><div className=\"py-3 sm:border-l sm:border-white/[0.08] sm:px-5 first:sm:border-l-0 first:sm:pl-0\"><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">{label}</div><div className=\"mt-1 text-3xl font-black tracking-[-.04em]\">{value}</div><div className=\"mt-1 text-[11px] text-white/36\">{sub}</div></div>;\nconst empty=(title:string,copy:string,action?:()=>void,actionLabel?:string)=><div className=\"border border-dashed border-white/[0.10] bg-[#09090a]/94 p-9 text-center\"><FileCheck2 className=\"mx-auto h-6 w-6 text-[#d8bb78]\"/><div className=\"mt-4 text-lg font-black\">{title}</div><p className=\"mx-auto mt-2 max-w-md text-sm leading-6 text-white/38\">{copy}</p>{action&&<button onClick={action} className=\"mt-5 bg-[#d8bb78] px-5 py-2.5 text-sm font-black text-black\">{actionLabel}</button>}</div>;\nconst row=(sub:Submission)=>{const cardCount=cards.filter(card=>card.submission_id===sub.id).length;const expected=Math.max(Number(sub.expected_card_count||0),cardCount);const payment=sub.payment_status==='manually_verified'?'Paid':sub.payment_status==='waived'?'Waived':'Unverified';return <button key={sub.id} onClick={()=>openSubmission(sub)} className=\"group grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-b border-white/[0.07] px-2 py-2.5 text-left transition last:border-b-0 hover:bg-white/[0.025]\"><div className=\"min-w-0\"><div className=\"flex flex-wrap items-center gap-2\"><span className=\"text-xs font-black tracking-wide text-[#e4c47b]\">{sub.submission_number}</span><span className=\"text-[9px] font-black uppercase tracking-[.12em] text-white/32\">{pretty(sub.status)}</span></div><div className=\"mt-1 truncate text-sm font-black sm:text-[15px]\">{sub.customer_name||'Collector not named'}</div><div className=\"mt-0.5 flex flex-wrap gap-x-3 text-[10px] text-white/34 sm:text-[11px]\"><span>{expected>cardCount?`${cardCount.toLocaleString()} / ${expected.toLocaleString()} cards ingested`:`${cardCount.toLocaleString()} card${cardCount===1?'':'s'}`}</span><span>{tiers[sub.service_tier as keyof typeof tiers]?.label||pretty(sub.service_tier)}</span><span>{payment}</span></div></div><div className=\"flex items-center gap-2\"><span className={`border px-2.5 py-1 text-[10px] font-black ${slaMeta(sub).tone}`}>{slaMeta(sub).label}</span><ChevronRight className=\"h-4 w-4 text-white/18\"/></div></button>};\nconst renderList=(heading:string,eyebrow:string,source:Submission[])=><section><div className=\"mb-6 flex flex-col gap-4 border-b border-white/[0.08] pb-5 xl:flex-row xl:items-end xl:justify-between\"><div><div className=\"text-[10px] font-black uppercase tracking-[.20em] text-[#d8bb78]\">{eyebrow}</div><h1 className=\"mt-1.5 text-2xl font-black tracking-[-.035em] sm:text-3xl\">{heading}</h1><p className=\"mt-2 text-sm text-white/38\">Open a batch to grade cards, verify payment, update tracking or move it forward.</p></div><button onClick={()=>setShowNew(true)} className=\"inline-flex items-center justify-center gap-2 bg-[#d8bb78] px-5 py-3 text-sm font-black text-black\"><Plus className=\"h-4 w-4\"/>Receive cards</button></div><div className=\"mb-5 grid gap-2 sm:grid-cols-[1fr_220px]\"><div className=\"relative\"><Search className=\"absolute left-4 top-3.5 h-4 w-4 text-white/28\"/><input value={query} onChange={event=>setQuery(event.target.value)} placeholder=\"Search submission or collector\" className={`${inputClass} pl-11`}/></div><select value={statusFilter} onChange={event=>setStatusFilter(event.target.value)} className={inputClass}><option value=\"all\">Every grading stage</option>{statuses.map(status=><option key={status} value={status}>{pretty(status)}</option>)}</select></div>{source.length?<div className=\"border-y border-white/[0.08]\">{source.map(row)}</div>:empty('Nothing needs attention','Receive a new card submission when work arrives.',()=>setShowNew(true),'Receive cards')}</section>;\nconst brandName=activeTenant?.company_dba_name||activeTenant?.company_legal_name||activeTenant?.name||'Prestigious Card Grading';\nreturn <div data-pcg-mode-workspace-background={workspaceBackground||'solid'} className=\"relative min-h-screen overflow-x-hidden bg-[#050506] text-white\" style={{backgroundImage:workspaceBackground?`linear-gradient(108deg,rgba(4,4,5,.98) 0%,rgba(4,4,5,.91) 35%,rgba(4,4,5,.68) 70%,rgba(4,4,5,.88) 100%),url(\"${workspaceBackground}\")`:undefined,backgroundSize:'cover',backgroundPosition:mediaBranding.backgroundPosition||'center',backgroundRepeat:'no-repeat',backgroundAttachment:'fixed'}}><div className=\"pointer-events-none fixed inset-0 bg-[radial-gradient(circle_at_78%_15%,rgba(216,187,120,.10),transparent_28rem)]\"/>\n{!embedded?<header className=\"fixed inset-x-0 top-0 z-50 h-16 border-b border-white/[0.07] bg-[#09090a]/95 backdrop-blur-xl\"><div className=\"flex h-full items-center gap-3 px-4 sm:px-6\"><div className=\"grid h-9 w-9 place-items-center border border-[#d8bb78]/20 bg-[#d8bb78]/[0.06]\"><img src={PCG_LOGO} alt=\"PCG\" className=\"h-full w-full object-contain p-1\"/></div><div className=\"min-w-0\"><div className=\"truncate text-sm font-black tracking-tight\">{brandName}</div><div className=\"hidden text-[9px] font-bold uppercase tracking-[.17em] text-white/30 sm:block\">PCG daily work</div></div><div className=\"ml-auto flex items-center gap-3\"><span className=\"hidden text-xs font-semibold text-white/32 md:inline\">{openSubs.length} active batches</span><button onClick={()=>setShowNew(true)} className=\"inline-flex h-9 items-center gap-2 bg-[#d8bb78] px-3.5 text-xs font-black text-black\"><Plus className=\"h-4 w-4\"/>Receive cards</button></div></div></header>:null}\n{!embedded?<aside className=\"fixed bottom-0 left-0 top-16 z-40 hidden w-[230px] border-r border-white/[0.07] bg-[#09090a]/95 px-4 py-5 backdrop-blur-xl lg:flex lg:flex-col\"><div className=\"px-2\"><div className=\"text-[9px] font-black uppercase tracking-[.20em] text-[#d8bb78]\">PCG Work Queue</div><div className=\"mt-2 text-sm leading-5 text-white/40\">Receive, grade, publish, and fulfill cards.</div></div><nav className=\"mt-7 space-y-1\">{visibleTabs.map(([id,label,Icon])=><button key={id} onClick={()=>setTab(id)} className={`flex h-11 w-full items-center gap-3 px-3 text-left text-sm font-bold transition ${tab===id?'bg-white/[0.07] text-white shadow-[inset_2px_0_0_#d8bb78]':'text-white/40 hover:bg-white/[0.035] hover:text-white/80'}`}><Icon className={`h-[17px] w-[17px] ${tab===id?'text-[#d8bb78]':'text-white/30'}`}/><span className=\"flex-1\">{label}</span>{id==='queue'&&openSubs.length?<span className=\"text-[10px] font-black text-[#d8bb78]\">{openSubs.length}</span>:null}</button>)}</nav><div className=\"mt-auto border-t border-white/[0.07] px-2 pt-4\"><div className=\"text-[9px] font-black uppercase tracking-[.17em] text-white/25\">Prestigious Card Grading</div><div className=\"mt-2 text-xs leading-5 text-white/36\">14170 US Highway 1<br/>Sebastian, FL 32958</div></div></aside>:null}\n<main className={`relative z-10 min-h-screen px-4 pb-24 sm:px-6 lg:px-8 lg:pb-10 xl:px-10 ${embedded?'pt-4 sm:pt-6':'pt-20 lg:ml-[230px]'}`}>{loading?<div className=\"grid min-h-[70vh] place-items-center\"><div className=\"text-center\"><img src={PCG_LOGO} alt=\"PCG\" className=\"mx-auto h-16 w-16 object-contain opacity-70\"/><div className=\"mt-4 text-[10px] font-black uppercase tracking-[.22em] text-[#d8bb78]\">Opening PCG…</div></div></div>:<>\n{tab==='today'?<><section className=\"border-b border-white/[0.08] pb-7 pt-3\"><div className=\"flex flex-col gap-7 xl:flex-row xl:items-end xl:justify-between\"><div className=\"max-w-3xl\"><div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#d8bb78]\">Daily work</div><h1 className=\"mt-2 text-3xl font-black leading-none tracking-[-.045em] sm:text-4xl\">PCG Work Queue</h1><p className=\"mt-2 max-w-2xl text-sm leading-5 text-white/42\">See what needs attention and move each submission through the next clear step.</p></div><div className=\"grid w-full max-w-xl grid-cols-2 gap-px border border-white/[0.08] bg-white/[0.08] sm:grid-cols-3\"><button onClick={()=>setShowNew(true)} className=\"bg-[#09090a]/94 p-4 text-left\"><Plus className=\"h-5 w-5 text-[#d8bb78]\"/><div className=\"mt-3 text-sm font-black\">Receive Cards</div><div className=\"mt-1 text-[11px] text-white/30\">Start a submission</div></button><button onClick={()=>setTab('vault')} className=\"bg-[#09090a]/94 p-4 text-left\"><UploadCloud className=\"h-5 w-5 text-[#d8bb78]\"/><div className=\"mt-3 text-sm font-black\">Capture Cards</div><div className=\"mt-1 text-[11px] text-white/30\">Single or batch intake</div></button><button onClick={()=>setTab('queue')} className=\"col-span-2 bg-[#09090a]/94 p-4 text-left sm:col-span-1\"><Award className=\"h-5 w-5 text-[#d8bb78]\"/><div className=\"mt-3 text-sm font-black\">Grade Cards</div><div className=\"mt-1 text-[11px] text-white/30\">Work the grading queue</div></button></div></div><div className=\"mt-8 grid sm:grid-cols-2 xl:grid-cols-4\">{metric('Batches on floor',openSubs.length,'Active submissions')}{metric('Cards in house',cards.filter(card=>!terminalStatuses.has(card.status)).length,'Individual cards')}{metric('SLA attention',overdue+dueSoon,overdue?`${overdue} overdue · ${dueSoon} due soon`:`${dueSoon} due within 48 hours`)}{metric('Recorded work',`$${serviceValue.toFixed(0)}`,stripeSyncConnected?'Stripe sync connected':'Stripe sync not connected')}</div></section><div className=\"mt-8 grid gap-8 xl:grid-cols-[minmax(0,1.2fr)_minmax(320px,.8fr)]\"><section><div className=\"mb-3 flex items-end justify-between\"><div><div className=\"text-[9px] font-black uppercase tracking-[.19em] text-[#d8bb78]\">Priority work</div><h2 className=\"mt-1 text-2xl font-black\">Next on the grading bench</h2></div><button onClick={()=>setTab('queue')} className=\"text-xs font-black text-[#d8bb78]\">Grade cards →</button></div><div className=\"border-y border-white/[0.08]\">{prioritySubs.length?prioritySubs.map(row):empty('Nothing needs grading','No grading batches need attention right now.',()=>setShowNew(true),'Receive cards')}</div></section><section className=\"border-l border-white/[0.08] xl:pl-7\"><div className=\"text-[9px] font-black uppercase tracking-[.19em] text-[#d8bb78]\">Stage pressure</div><h2 className=\"mt-1 text-2xl font-black\">Where the cards are</h2><div className=\"mt-5 divide-y divide-white/[0.07]\">{statuses.map((status,index)=><button key={status} onClick={()=>{setStatusFilter(status);setTab('queue')}} className=\"grid w-full grid-cols-[28px_1fr_auto] items-center gap-3 py-3 text-left\"><span className=\"text-[9px] font-black text-white/18\">{String(index+1).padStart(2,'0')}</span><span className=\"text-xs font-bold text-white/48\">{pretty(status)}</span><span className=\"text-base font-black\">{counts[status]||0}</span></button>)}</div></section></div></>:null}\n{tab==='vault'?<PCGCardVaultContent initialMode={initialVaultMode} initialSubmissionId={initialVaultSubmissionId}/>:null}{tab==='queue'?renderList('Grade Cards','Active grading work',filteredSubs.filter(item=>!terminalStatuses.has(item.status))):null}{tab==='submissions'?<PCGReceiveCardsGallery tenantId={tenantId||''} initialSubmissionId={initialVaultSubmissionId} onRequestCreateOrder={()=>setShowNew(true)}/>:null}{tab==='shipping'?renderList('Fulfill & Ship','Ready · shipped · pickup',filteredSubs.filter(item=>['ready','shipped','picked_up'].includes(item.status)||Boolean(item.tracking_in)||Boolean(item.tracking_out))):null}\n{tab==='certs'?<section><div className=\"border-b border-white/[0.08] pb-3\"><div className=\"text-[10px] font-black uppercase tracking-[.20em] text-[#d8bb78]\">Card lookup</div><h1 className=\"mt-1 text-2xl font-black sm:text-3xl\">Certificates</h1></div><div className=\"relative mt-3 max-w-2xl\"><Search className=\"absolute left-4 top-3.5 h-4 w-4 text-white/28\"/><input value={certQuery} onChange={event=>setCertQuery(event.target.value)} placeholder=\"Search certificate, card, player, or set\" className={`${inputClass} pl-11`}/></div>{filteredCards.length?<div className=\"mt-3 overflow-hidden border border-white/[0.08] bg-black/20\">{filteredCards.map(card=>{const image=card.slab_image_url||card.front_image_url;const title=[card.year,card.brand_set,card.player_character,card.card_description||card.variation,card.card_number?`#${card.card_number}`:null].filter(Boolean).join(' · ')||`Card #${card.sequence_number}`;const grade=hasCanonicalGrade(card)?formatPCGGrade(card.grade,card.grade_label):'';return <button key={card.id} onClick={()=>{const sub=subs.find(item=>item.id===card.submission_id);if(sub)openSubmission(sub)}} className=\"grid min-h-[68px] w-full grid-cols-[44px_minmax(0,1fr)_auto] items-center gap-3 border-b border-white/[0.07] px-3 py-2 text-left transition last:border-b-0 hover:bg-white/[0.025]\"><div className=\"grid h-14 w-11 shrink-0 place-items-center overflow-hidden border border-white/[0.08] bg-[#09090a]/94\">{image?<img src={previewMediaUrl(image)} alt=\"Graded card\" loading=\"lazy\" decoding=\"async\" className=\"h-full w-full object-cover\"/>:<ShieldCheck className=\"h-5 w-5 text-[#d8bb78]/55\"/>}</div><div className=\"min-w-0\"><div className=\"truncate text-sm font-black leading-tight\">{title}</div><div className=\"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] text-white/35\"><span>{card.cert_number||'Cert pending'}</span>{grade?<span className=\"font-black text-[#e8cc8d]/75\">{grade}</span>:null}</div></div><ChevronRight className=\"h-4 w-4 shrink-0 text-white/20\"/></button>})}</div>:<div className=\"mt-4\">{empty('No certificates yet','Certificate records appear here as grading is completed.')}</div>}</section>:null}\n{tab==='collectors'?<section><div className=\"border-b border-white/[0.08] pb-5\"><div className=\"text-[10px] font-black uppercase tracking-[.20em] text-[#d8bb78]\">Customer records</div><h1 className=\"mt-1.5 text-2xl font-black sm:text-3xl\">Customers</h1></div>{subs.some(item=>item.customer_name)?<div className=\"mt-6 border-y border-white/[0.08]\">{Array.from(new Map(subs.filter(item=>item.customer_name).map(item=>[item.customer_name,item])).values()).map(sub=>{const related=subs.filter(item=>item.customer_name===sub.customer_name);const relatedCards=cards.filter(card=>related.some(item=>item.id===card.submission_id));return <button key={sub.customer_name!} onClick={()=>openSubmission(related[0])} className=\"grid w-full grid-cols-[1fr_auto_auto] items-center gap-4 border-b border-white/[0.07] px-1 py-4 text-left\"><div><div className=\"font-black\">{sub.customer_name}</div><div className=\"mt-1 text-xs text-white/32\">{sub.customer_email||sub.customer_phone||'Contact info not captured'}</div></div><div className=\"text-right\"><div className=\"text-lg font-black\">{related.length}</div><div className=\"text-[9px] text-white/25\">SUBMISSIONS</div></div><div className=\"text-right\"><div className=\"text-lg font-black text-[#d8bb78]\">{relatedCards.length}</div><div className=\"text-[9px] text-white/25\">CARDS</div></div></button>})}</div>:empty('No customers yet','Customers appear automatically when a card submission is received.',()=>setShowNew(true),'Receive cards')}</section>:null}\n{tab==='inventory'?<PCGBatchPublishingCenter tenantId={tenantId||''}/>:null}\n{tab==='migration'?<PCGLegacyMigrationCenter/>:null}\n{tab==='readiness'?<PCGOnboardingReadiness/>:null}\n{tab==='settings'?<section>\n    <div className=\"border-b border-white/[0.08] pb-4\"><div className=\"text-[10px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">PCG setup</div><h1 className=\"mt-1 text-2xl font-black sm:text-3xl\">Settings</h1><p className=\"mt-1.5 max-w-2xl text-sm leading-6 text-white/45\">Only the controls Anthony needs to run PCG. Pick a category instead of digging through platform settings.</p></div>\n    {!settingsSection?<div className=\"mt-4 grid gap-2 sm:grid-cols-2 xl:grid-cols-3\">\n      {[\n        ['business','Brand & workspace','Logo, backgrounds, public-facing identity and workspace presentation.'],\n        ['connections','Google & connections','Google Drive, eBay and other connected services.'],\n        ['mail','Email & customers','Business email continuity and customer-facing channels.'],\n        ['notifications','Notifications','What PCG alerts you about and where they go.'],\n        ['profile','Profile & staff','Owner profile and people using this workspace.'],\n        ['workspace','Workspace behavior','Layout, experience and workspace health.']\n      ].map(([section,title,copy])=><a key={section} href={'?tool=settings&section='+section} className=\"group flex min-h-[112px] items-start justify-between gap-4 rounded-2xl border border-white/[0.08] bg-[#09090a]/94 p-4 shadow-sm transition hover:border-white/[0.16] hover:bg-white/[.025]\"><span><span className=\"block text-sm font-black\">{title}</span><span className=\"mt-1 block text-xs leading-5 text-white/42\">{copy}</span></span><ChevronRight className=\"mt-1 h-4 w-4 shrink-0 text-white/28 transition group-hover:translate-x-0.5\"/></a>)}\n    </div>:<div className=\"pcg-settings-dark mt-4\"><style>{`.pcg-settings-dark{color:#fff}.pcg-settings-dark .bg-card,.pcg-settings-dark [class*=\"bg-card\"],.pcg-settings-dark .bg-background,.pcg-settings-dark [class*=\"bg-background\"]{background:#09090a!important}.pcg-settings-dark .text-foreground{color:#fff!important}.pcg-settings-dark .text-muted-foreground{color:rgba(255,255,255,.55)!important}.pcg-settings-dark [class*=\"border\"]{border-color:rgba(255,255,255,.12)!important}.pcg-settings-dark button:not([role=\"switch\"]){background:#111214!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important}.pcg-settings-dark button:not([role=\"switch\"]):hover{background:#191b1e!important}.pcg-settings-dark input,.pcg-settings-dark select,.pcg-settings-dark textarea{background:#090a0b!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important}.pcg-settings-dark input::placeholder,.pcg-settings-dark textarea::placeholder{color:rgba(255,255,255,.35)!important}`}</style><a href=\"?tool=settings\" className=\"mb-3 inline-flex min-h-10 items-center gap-2 rounded-lg border border-white/[0.08] bg-[#09090a]/94 px-3 text-xs font-black text-white/55\">← All PCG settings</a><TenantSettingsPage/></div>}\n  </section>:null}\n{tab==='money'?<section><div className=\"border-b border-white/[0.08] pb-5\"><div className=\"text-[10px] font-black uppercase tracking-[.20em] text-[#d8bb78]\">Admin · payments</div><h1 className=\"mt-1.5 text-2xl font-black sm:text-3xl\">Payments</h1></div><div className=\"mt-6 grid gap-8 xl:grid-cols-[1.15fr_.85fr]\"><section><div className=\"flex items-center justify-between border-b border-white/[0.08] pb-4\"><div className=\"flex items-center gap-3\"><CreditCard className=\"h-5 w-5 text-[#635bff]\"/><div><div className=\"text-sm font-black\">Stripe hosted checkout</div><div className=\"text-xs text-white/30\">PCG grading payments</div></div></div><span className={stripeSyncConnected?'text-xs font-black text-emerald-300':'text-xs font-black text-amber-200'}>{stripeSyncConnected?'Data sync connected':'Data sync not connected'}</span></div><div className=\"mt-6 text-[10px] font-black uppercase tracking-[.18em] text-white/30\">Recorded grading service value</div><div className=\"mt-2 text-3xl font-black sm:text-4xl\">${serviceValue.toFixed(2)}</div><p className=\"mt-3 text-sm leading-6 text-white/38\">This is grading work recorded in KnockLaunch, not a claimed Stripe balance unless sync is authenticated.</p><button onClick={openStripe} className=\"mt-7 inline-flex items-center gap-2 bg-[#d8bb78] px-5 py-3 text-sm font-black text-black\">Open PCG Stripe checkout <ExternalLink className=\"h-4 w-4\"/></button></section><section className=\"border-l border-white/[0.08] xl:pl-7\"><div className=\"text-[10px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">Grading menu</div><div className=\"mt-5 divide-y divide-white/[0.07]\">{Object.entries(tiers).map(([id,tier])=><div key={id} className=\"flex items-center justify-between py-4\"><div><div className=\"font-black\">{tier.label}</div><div className=\"text-xs text-white/28\">Per card · no up-charges</div></div><div className=\"text-2xl font-black text-[#d8bb78]\">${tier.price}</div></div>)}</div></section></div></section>:null}</>}</main>\n{!embedded?<nav className=\"fixed inset-x-3 bottom-3 z-50 grid grid-cols-5 border border-white/[0.09] bg-[#09090a]/95 p-1.5 shadow-2xl backdrop-blur-xl lg:hidden\">{mobilePrimary.map(([id,label,Icon])=><button key={id} onClick={()=>{setTab(id);setShowMore(false)}} className={`flex flex-col items-center gap-1 px-1 py-2 text-[9px] font-black ${tab===id?'bg-white/[0.07] text-white':'text-white/38'}`}><Icon className={`h-[18px] w-[18px] ${tab===id?'text-[#d8bb78]':'text-white/28'}`}/><span>{label}</span></button>)}<button onClick={()=>setShowMore(true)} className=\"flex flex-col items-center gap-1 px-1 py-2 text-[9px] font-black text-white/38\"><Menu className=\"h-[18px] w-[18px] text-white/28\"/>More</button></nav>:null}\n{!embedded&&showMore?<div className=\"fixed inset-0 z-[70] bg-black/74 lg:hidden\" onMouseDown={event=>{if(event.currentTarget===event.target)setShowMore(false)}}><div className=\"absolute inset-x-0 bottom-0 border-t border-white/[0.10] bg-[#09090a]/94 p-4\"><div className=\"mb-4 text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">More PCG tools</div><div className=\"grid grid-cols-2 gap-px border border-white/[0.08] bg-white/[0.08]\">{visibleTabs.filter(([id])=>!mobilePrimary.some(([primary])=>primary===id)).map(([id,label,Icon])=><button key={id} onClick={()=>{setTab(id);setShowMore(false)}} className=\"flex items-center gap-3 bg-[#09090a]/94 px-4 py-3 text-sm font-bold\"><Icon className=\"h-4 w-4 text-[#d8bb78]\"/>{label}</button>)}</div><button onClick={()=>setShowMore(false)} className=\"mt-3 w-full border border-white/[0.08] py-3 text-sm font-bold text-white/45\">Close</button></div></div>:null}\n{showNew?<div className=\"fixed inset-0 z-[80] grid place-items-center overflow-y-auto bg-black/82 p-4 backdrop-blur-md\" onMouseDown={event=>{if(event.currentTarget===event.target)setShowNew(false)}}><div className=\"w-full max-w-2xl border border-white/[0.10] bg-[#09090a]/94\"><div className=\"flex items-center justify-between border-b border-white/[0.08] p-5\"><div><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">Grading intake</div><h2 className=\"mt-1 text-2xl font-black\">Receive cards into PCG</h2></div><button onClick={()=>setShowNew(false)} className=\"border border-white/10 p-2 text-white/35\"><X className=\"h-5 w-5\"/></button></div><div className=\"p-5\"><div className=\"grid gap-3 sm:grid-cols-2\"><input value={form.name} onChange={event=>setForm({...form,name:event.target.value})} placeholder=\"Collector name\" className={inputClass}/><input value={form.email} onChange={event=>setForm({...form,email:event.target.value})} placeholder=\"Email\" className={inputClass}/><input value={form.phone} onChange={event=>setForm({...form,phone:event.target.value})} placeholder=\"Phone\" className={inputClass}/><input value={form.cardCount} onChange={event=>setForm({...form,cardCount:event.target.value})} type=\"number\" min=\"1\" max=\"100000\" placeholder=\"Expected card count\" className={inputClass}/><select value={form.tier} onChange={event=>setForm({...form,tier:event.target.value})} className={inputClass}>{Object.entries(tiers).map(([id,tier])=><option key={id} value={id}>{tier.label} · ${tier.price}/card</option>)}</select><select value={form.delivery} onChange={event=>setForm({...form,delivery:event.target.value})} className={inputClass}><option value=\"walk_in\">Walk-in</option><option value=\"mail_in\">Mail-in</option><option value=\"ship_back\">Ship back</option><option value=\"pickup\">Pickup</option></select><input value={form.trackingIn} onChange={event=>setForm({...form,trackingIn:event.target.value})} placeholder=\"Inbound tracking (optional)\" className={inputClass}/><select value={form.returnShipping} onChange={event=>setForm({...form,returnShipping:event.target.value})} className={inputClass}><option value=\"pickup\">Customer pickup</option><option value=\"fedex_2_day\">FedEx 2 Day</option><option value=\"fedex_saver\">FedEx Saver</option></select><input value={form.returnShippingCost} onChange={event=>setForm({...form,returnShippingCost:event.target.value})} type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Return shipping cost (optional)\" className={inputClass}/><input value={form.returnInsurance} onChange={event=>setForm({...form,returnInsurance:event.target.value})} type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Return insurance / declared coverage\" className={inputClass}/><input value={form.address} onChange={event=>setForm({...form,address:event.target.value})} placeholder=\"Return address\" className={inputClass}/><input value={form.address2} onChange={event=>setForm({...form,address2:event.target.value})} placeholder=\"Apt / Suite (optional)\" className={inputClass}/><input value={form.city} onChange={event=>setForm({...form,city:event.target.value})} placeholder=\"Return city\" className={inputClass}/><input value={form.state} onChange={event=>setForm({...form,state:event.target.value})} placeholder=\"State\" className={inputClass}/><input value={form.zip} onChange={event=>setForm({...form,zip:event.target.value})} placeholder=\"ZIP\" className={inputClass}/><textarea value={form.notes} onChange={event=>setForm({...form,notes:event.target.value})} placeholder=\"Submission notes\" className={`${inputClass} min-h-24 sm:col-span-2`}/></div><div className=\"mt-4 flex items-end justify-between border-t border-white/[0.08] pt-4\"><div><div className=\"text-[9px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">Expected grading total</div><div className=\"mt-1 text-3xl font-black\">${expectedTotal.toFixed(2)}</div></div><div className=\"text-right text-xs text-white/30\">{selectedCardCount} card{selectedCardCount===1?'':'s'} × ${selectedTier.price}</div></div><div className=\"mt-5 grid gap-2 sm:grid-cols-2\"><button onClick={openStripe} className=\"inline-flex items-center justify-center gap-2 border border-white/10 px-4 py-3 font-black\"><CreditCard className=\"h-4 w-4\"/>Collect in Stripe</button><button disabled={busy} onClick={()=>void createSubmission()} className=\"bg-[#d8bb78] px-4 py-3 font-black text-black disabled:opacity-50\">{busy?'Creating…':'Create submission'}</button></div><p className=\"mt-3 text-center text-xs text-white/28\">Creating the submission never marks it paid.</p></div></div></div>:null}\n{selected?<div className=\"fixed inset-0 z-[80] bg-black/72\" onMouseDown={event=>{if(event.currentTarget===event.target)setSelectedId(null)}}><aside className=\"absolute inset-y-0 left-1/2 w-full max-w-6xl -translate-x-1/2 overflow-y-auto border-x border-white/10 bg-[#09090a]/94 p-4 pb-24 shadow-2xl sm:p-6\"><div className=\"flex items-start justify-between gap-4 border-b border-white/[0.08] pb-4\"><div><div className=\"text-[9px] font-black uppercase tracking-[.17em] text-[#d8bb78]\">Submission workbench</div><h2 className=\"mt-1 text-2xl font-black\">{selected.submission_number}</h2><div className=\"mt-1 text-sm text-white/34\">{selected.customer_name||'Collector not named'} · {selectedCards.length.toLocaleString()} ingested / {orderCardCount(selected).toLocaleString()} expected · ${selectedTotal.toFixed(2)}</div></div><button onClick={()=>setSelectedId(null)} className=\"border border-white/10 p-2 text-white/35\"><X className=\"h-5 w-5\"/></button></div><section className={`${panelClass} mt-4 p-4`}><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Grading stage</div><div className=\"mt-4 flex flex-wrap gap-2\">{statuses.map(status=><div key={status} className={`border px-2.5 py-1 text-[9px] font-black ${selected.status===status?'border-[#d8bb78]/45 text-[#e8cc8d]':'border-white/10 text-white/28'}`}>{pretty(status)}</div>)}</div><div className=\"mt-4\">{(()=>{const index=statuses.indexOf(selected.status as any);const next=index>=0&&index<statuses.length-1?statuses[index+1]:null;const issue=next?transitionIssue(selected,next,selectedCards):'';return <>{terminalStatuses.has(selected.status)?<div className=\"mb-3 text-xs font-black text-emerald-300\"><Check className=\"mr-1 inline h-3.5 w-3.5\"/>Lifecycle complete</div>:next?<div className={'mb-3 text-xs leading-5 '+(issue?'text-amber-200':'text-emerald-300')}>{issue||<>Ready to advance to {pretty(next)}.</>}</div>:null}{next&&!terminalStatuses.has(selected.status)&&selected.status!=='ready'?<button disabled={busy||Boolean(issue)} onClick={()=>void advanceBatch(next)} className=\"inline-flex items-center gap-2 bg-[#d8bb78] px-4 py-2.5 text-sm font-black text-black\">Advance to {pretty(next)} <ChevronRight className=\"h-4 w-4\"/></button>:null}{selected.status==='ready'?<><button disabled={busy||Boolean(transitionIssue(selected,'shipped',selectedCards))} onClick={()=>void advanceBatch('shipped')} className=\"bg-[#d8bb78] px-4 py-2.5 text-sm font-black text-black disabled:cursor-not-allowed disabled:opacity-35\">Mark shipped</button><button disabled={busy} onClick={()=>void advanceBatch('picked_up')} className=\"ml-2 border border-white/10 px-4 py-2.5 text-sm font-black\">Mark picked up</button></>:null}</>})()}</div></section><PCGQualityControlPanel tenantId={tenantId||''} submissionId={selected.id} cards={selectedCards} active={selected.status==='qa'} onChanged={load}/><section className={`${panelClass} mt-4 p-4`}><div className=\"flex items-center justify-between\"><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Collector & payment</div><BadgeDollarSign className=\"h-5 w-5 text-[#d8bb78]\"/></div><div className=\"mt-4 grid gap-3 sm:grid-cols-2\"><select value={detailDraft.payment_status} onChange={event=>setDetailDraft({...detailDraft,payment_status:event.target.value})} className={inputClass}><option value=\"unverified\">Payment not verified</option><option value=\"manually_verified\">Manually verified paid</option><option value=\"waived\">Waived</option><option value=\"refunded\">Refunded</option></select><input value={detailDraft.payment_reference} onChange={event=>setDetailDraft({...detailDraft,payment_reference:event.target.value})} placeholder=\"Reference / Stripe receipt ID\" className={inputClass}/></div><button onClick={openStripe} className=\"mt-3 inline-flex items-center gap-2 text-sm font-black text-[#d8bb78]\"><ExternalLink className=\"h-4 w-4\"/>Open PCG Stripe checkout</button></section><section className={`${panelClass} mt-4 p-4`}><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Shipping & notes</div><div className=\"mt-4 grid gap-3 sm:grid-cols-2\"><select value={detailDraft.return_shipping_method} onChange={event=>setDetailDraft({...detailDraft,return_shipping_method:event.target.value})} className={inputClass}><option value=\"pickup\">Customer pickup</option><option value=\"fedex_2_day\">FedEx 2 Day</option><option value=\"fedex_saver\">FedEx Saver</option></select><input value={detailDraft.return_shipping_cost} onChange={event=>setDetailDraft({...detailDraft,return_shipping_cost:event.target.value})} type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Return shipping cost\" className={inputClass}/><input value={detailDraft.return_insurance_amount} onChange={event=>setDetailDraft({...detailDraft,return_insurance_amount:event.target.value})} type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Return insurance / declared coverage\" className={inputClass}/><input value={detailDraft.tracking_in} onChange={event=>setDetailDraft({...detailDraft,tracking_in:event.target.value})} placeholder=\"Inbound tracking\" className={inputClass}/><input value={detailDraft.tracking_out} onChange={event=>setDetailDraft({...detailDraft,tracking_out:event.target.value})} placeholder=\"Outbound tracking\" className={inputClass}/><textarea value={detailDraft.notes} onChange={event=>setDetailDraft({...detailDraft,notes:event.target.value})} placeholder=\"Submission notes\" className={`${inputClass} min-h-24 sm:col-span-2`}/></div><button disabled={busy} onClick={()=>void saveSubmissionDetails()} className=\"mt-3 bg-[#d8bb78] px-4 py-2.5 text-sm font-black text-black transition hover:bg-[#e6ca8d]\">Save submission details</button></section><section className=\"mt-6\"><div className=\"border-b border-white/[0.08] pb-3\"><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Cards in batch</div><h3 className=\"mt-1 text-xl font-black\">Card workbench</h3></div>{selectedCards.map(card=>{const draft=cardDrafts[card.id]||cardToDraft(card);return <div key={card.id} className=\"border-b border-white/[0.07] py-5\"><div className=\"flex items-center justify-between\"><div><div className=\"text-sm font-black\">Card #{card.sequence_number}</div><div className=\"mt-1 text-xs text-white/28\">{draft.cert_number||'Cert not assigned'} · {pretty(card.status)}</div></div>{draft.cert_number&&findPCGGrade(draft.grade_label)?<span className=\"inline-flex items-center gap-1 text-[10px] font-black text-emerald-300\"><Check className=\"h-3 w-3\"/>Graded</span>:null}</div><div className=\"mt-4 grid gap-2 sm:grid-cols-2\"><input value={draft.category} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,category:event.target.value}})} placeholder=\"Category\" className={inputClass}/><input value={draft.year} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,year:event.target.value}})} placeholder=\"Year\" className={inputClass}/><input value={draft.brand_set} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,brand_set:event.target.value}})} placeholder=\"Set Name\" className={inputClass}/><input value={draft.player_character} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,player_character:event.target.value}})} placeholder=\"Player Name(s)\" className={inputClass}/><input value={draft.card_number} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,card_number:event.target.value}})} placeholder=\"Card #\" className={inputClass}/><input value={draft.card_description} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,card_description:event.target.value}})} placeholder=\"Card Description\" className={inputClass}/><select value={draft.autograph_present} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,autograph_present:event.target.value as CardDraft['autograph_present']}})} className={inputClass}><option value=\"\">Auto Y/N</option><option value=\"yes\">Auto Yes</option><option value=\"no\">Auto No</option></select><input value={draft.declared_value} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,declared_value:event.target.value}})} type=\"number\" placeholder=\"Declared Value\" className={inputClass}/><input value={draft.cert_number} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,cert_number:event.target.value}})} placeholder=\"PCG#/CERT#\" className={inputClass}/><PCGGradeSelect draft={draft} onChange={next=>setCardDrafts({...cardDrafts,[card.id]:next})}/><textarea value={draft.grader_notes} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,grader_notes:event.target.value}})} placeholder=\"Grader notes\" className={`${inputClass} min-h-20 sm:col-span-2`}/></div><button disabled={busy} onClick={()=>void saveCard(card)} className=\"mt-3 bg-[#d8bb78] px-4 py-2.5 text-sm font-black text-black\">Save card</button></div>})}</section></aside></div>:null}</div>}"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","content":"import React from 'react';\n// PCG owner-requested MODES restore anchor: preserves the known-good pre-redesign presentation.\nimport {ArrowLeft,ArrowRight,BarChart3,Boxes,CheckCircle2,ClipboardCheck,Clock3,CreditCard,Database,Images,Settings,Truck,Users} from 'lucide-react';\nimport {useLocation,useNavigate} from 'react-router-dom';\nimport PcgWorkspace from '@/pages/crm/PcgWorkspace';\nimport {useMultiTenant} from '@/contexts/MultiTenantContext';\nimport PCGCompletionCenter from '@/pages/card-grading/PCGCompletionCenter';\nimport CardGradingPopulationReport from '@/pages/card-grading/CardGradingPopulationReport';\nimport TenantLogo from '@/components/branding/TenantLogo';\nimport MiscAwareAccountMenu from '@/components/MiscAwareAccountMenu';\nimport {CanonicalWorkspaceSidebarTrigger} from '@/components/layout/TenantLayoutControl';\nimport {supabase} from '@/integrations/supabase/client';\nimport {PCG_WORKSPACE_BACKGROUND} from '@/assets/pcgWorkspaceBackground';\nimport {resolveTenantMediaBranding} from '@/lib/tenants/tenantMediaBranding';\nimport {tenantMediaAssetUrl} from '@/lib/tenantMedia';\nimport {getTenantModeCards} from '@/shells/modesTenantShell';\n\ntype ModeId='submissions'|'grading'|'listings'|'orders';\ntype WorkspaceTab='today'|'vault'|'queue'|'submissions'|'certs'|'collectors'|'inventory'|'shipping'|'money'|'migration'|'readiness'|'population'|'settings';\ntype OperationalWorkspaceTab=Exclude<WorkspaceTab,'population'>;\ntype VaultMode='overview'|'single'|'batch'|'growth';\ntype ModeCounts={submissions:number;grading:number;listings:number;orders:number};\ntype UnknownRecord=Record<string,any>;\n\nfunction record(value:unknown):UnknownRecord{return value&&typeof value==='object'&&!Array.isArray(value)?value as UnknownRecord:{}}\nfunction resolvePcgHeroImage(tenant:any):string{\n  const settings=record(tenant?.settings);\n  const media=record(settings.media_branding);\n  const direct=String(media.hero_background_url||'').trim();\n  const assetId=String(media.resolved_hero_asset_id||media.hero_background_asset_id||'').trim();\n  const version=String(media.resolved_hero_version||media.hero_background_version||media.updated_at||'').trim();\n  return assetId?tenantMediaAssetUrl(assetId,version||null):direct;\n}\n\nconst MODE_TAB:Record<ModeId,WorkspaceTab>={submissions:'submissions',grading:'queue',listings:'inventory',orders:'shipping'};\nconst MODE_TOOLS:Record<ModeId,readonly {id:WorkspaceTab;label:string;vault?:VaultMode}[]>={\n  submissions:[{id:'submissions',label:'Receive Cards'},{id:'collectors',label:'Customers'}],\n  grading:[{id:'queue',label:'Grade Cards'},{id:'certs',label:'Certificates'}],\n  listings:[],\n  orders:[{id:'shipping',label:'Fulfill & Ship'}]\n};\nconst ADMIN_TOOLS=[{id:'settings' as WorkspaceTab,label:'Settings',icon:Settings},{id:'money' as WorkspaceTab,label:'Payments',icon:CreditCard},{id:'readiness' as WorkspaceTab,label:'Readiness',icon:ClipboardCheck},{id:'migration' as WorkspaceTab,label:'Migration',icon:Database},{id:'population' as WorkspaceTab,label:'Pop Report',icon:BarChart3}] as const;\nconst ADMIN_TOOL_IDS=new Set<WorkspaceTab>(ADMIN_TOOLS.map(item=>item.id));\nconst TOOL_LABEL:Record<WorkspaceTab,string>={today:'Work Queue',vault:'Capture Cards',queue:'Grade Cards',submissions:'Receive Cards',certs:'Certificates',collectors:'Customers',inventory:'Publish & Sell',shipping:'Fulfill & Ship',money:'Payments',migration:'Migration',readiness:'Readiness',population:'Pop Report',settings:'Settings'};\nconst PCG_CARD_IMAGE='https://images.squarespace-cdn.com/content/v1/6853034cd711cc2240276cf3/7fd5d898-1ff3-4bc2-9f7d-c7f2f2d6ee07/IMG_8111.jpg';\nconst PCG_STORE_IMAGE='https://images.squarespace-cdn.com/content/v1/6853034cd711cc2240276cf3/83d3ec70-169f-4d22-8916-15e422fb0e52/IMG_8156%2B%281%29.jpeg';\nconst MODES=[\n  {id:'submissions' as ModeId,assetKey:'received',title:'Receive Cards',short:'To Receive',copy:'Start here when cards arrive. Add the customer, capture the cards and begin the submission.',icon:Images,accent:'#168cff',image:PCG_CARD_IMAGE,position:'38% 45%'},\n  {id:'grading' as ModeId,assetKey:'grading',title:'Grade Cards',short:'To Grade',copy:'Open the grading queue, score cards, assign certificates and clear QA.',icon:Clock3,accent:'#a83cff',image:PCG_WORKSPACE_BACKGROUND,position:'68% 52%'},\n  {id:'listings' as ModeId,assetKey:'completed',title:'Publish & Sell',short:'Ready to Publish',copy:'Finish completed cards, approve sale pricing and publish to the PCG website and eBay.',icon:CheckCircle2,accent:'#00e676',image:PCG_CARD_IMAGE,position:'62% 48%'},\n  {id:'orders' as ModeId,assetKey:'mailed',title:'Fulfill & Ship',short:'To Fulfill',copy:'Handle completed returns, pickups, tracking and customer shipment updates.',icon:Truck,accent:'#ffd740',image:PCG_STORE_IMAGE,position:'76% 58%'},\n] as const;\n\nconst PCGBatchPublishingCenter=React.lazy(()=>import('@/pages/card-grading/PCGBatchPublishingCenter'));\n\nfunction isModeId(value:string|null):value is ModeId{return MODES.some(item=>item.id===value)}\nfunction isWorkspaceTab(value:string|null):value is WorkspaceTab{return Boolean(value)&&['today','vault','queue','submissions','certs','collectors','inventory','shipping','money','migration','readiness','population','settings'].includes(value as WorkspaceTab)}\nfunction bucket(status:string):ModeId|null{\n  if(['received','intake_imaging','authentication'].includes(status))return'submissions';\n  if(['grading','encapsulation','qa'].includes(status))return'grading';\n  if(status==='ready')return'listings';\n  if(['shipped','picked_up','delivered','closed'].includes(status))return'orders';\n  return null;\n}\n\nexport default function PCGModesWorkspace(){\n  const{activeTenant}=useMultiTenant();\n  const location=useLocation();\n  const navigate=useNavigate();\n  const tenantId=activeTenant?.id||'';\n  const slug=String(activeTenant?.company_slug||'pcg').trim().toLowerCase()||'pcg';\n  const wmpUrl='https://whatsmyprogress.com/'+encodeURIComponent(slug)+'/';\n  const branding=React.useMemo(()=>resolveTenantMediaBranding(activeTenant as any),[activeTenant]);\n  const workspaceBackground=branding.backgroundUrl||PCG_WORKSPACE_BACKGROUND;\n  const mediaBranding=(activeTenant?.settings?.media_branding&&typeof activeTenant.settings.media_branding==='object'&&!Array.isArray(activeTenant.settings.media_branding)?activeTenant.settings.media_branding:{}) as Record<string,any>;\n  const heroImage=React.useMemo(()=>resolvePcgHeroImage(activeTenant)||workspaceBackground,[activeTenant,workspaceBackground]);\n  const heroOpacityRaw=Number(mediaBranding.hero_background_opacity??1);\n  const heroZoomRaw=Number(mediaBranding.hero_background_zoom??1);\n  const heroBlurRaw=Number(mediaBranding.hero_background_blur_px??0);\n  const heroXRaw=Number(mediaBranding.hero_background_position_x??50);\n  const heroYRaw=Number(mediaBranding.hero_background_position_y??50);\n  const heroOpacity=Number.isFinite(heroOpacityRaw)?Math.max(0,Math.min(1,heroOpacityRaw)):1;\n  const heroZoom=Number.isFinite(heroZoomRaw)?Math.max(1,Math.min(2.5,heroZoomRaw)):1;\n  const heroBlur=Number.isFinite(heroBlurRaw)?Math.max(0,Math.min(20,heroBlurRaw)):0;\n  const heroX=Number.isFinite(heroXRaw)?Math.max(0,Math.min(100,heroXRaw)):50;\n  const heroY=Number.isFinite(heroYRaw)?Math.max(0,Math.min(100,heroYRaw)):50;\n  const configuredModeCards=React.useMemo(()=>getTenantModeCards(activeTenant as any),[activeTenant]);\n  const modes=React.useMemo(()=>MODES.map((entry)=>{\n    const configured=configuredModeCards.find((card)=>card.key===entry.assetKey);\n    const x=configured?.image_position_x;\n    const y=configured?.image_position_y;\n    const assetId=String(configured?.image_asset_id||'').trim();\n    const image=assetId?tenantMediaAssetUrl(assetId):String(configured?.image_url||configured?.fallback_image_url||entry.image);\n    const zoom=Number(configured?.image_zoom??1);\n    const opacity=Number(configured?.image_opacity??1);\n    const blur=Number(configured?.image_blur_px??0);\n    return {...entry,image,position:typeof x==='number'&&typeof y==='number'?`${x}% ${y}%`:entry.position,zoom:Number.isFinite(zoom)?Math.max(1,Math.min(2.5,zoom)):1,opacity:Number.isFinite(opacity)?Math.max(0,Math.min(1,opacity)):1,blur:Number.isFinite(blur)?Math.max(0,Math.min(20,blur)):0};\n  }),[configuredModeCards]);\n  const searchParams=new URLSearchParams(location.search);\n  const requestedMode=searchParams.get('mode');\n  const requestedTool=searchParams.get('tool');\n  const requestedVault=searchParams.get('vault');\n  const requestedSubmissionId=searchParams.get('submissionId')||'';\n  const mode=isModeId(requestedMode)?requestedMode:null;\n  const tool=isWorkspaceTab(requestedTool)?requestedTool:null;\n  const adminTool=!mode&&tool&&ADMIN_TOOL_IDS.has(tool)?tool:null;\n  const vaultMode:VaultMode=requestedVault==='batch'?'batch':requestedVault==='single'?'single':requestedVault==='growth'?'growth':'overview';\n  const[counts,setCounts]=React.useState<ModeCounts>({submissions:0,grading:0,listings:0,orders:0});\n\n  React.useEffect(()=>{\n    let cancelled=false;\n    if(!tenantId)return;\n    void (supabase as any).from('card_grading_submissions').select('status').eq('tenant_id',tenantId).then(({data}:any)=>{\n      if(cancelled)return;\n      const next:ModeCounts={submissions:0,grading:0,listings:0,orders:0};\n      for(const row of data||[]){const id=bucket(String(row?.status||''));if(id)next[id]+=1}\n      setCounts(next);\n    }).catch(()=>{});\n    return()=>{cancelled=true};\n  },[tenantId]);\n\n  const setMode=React.useCallback((next:ModeId|null)=>{\n    const params=new URLSearchParams(location.search);\n    if(next){params.set('mode',next);params.delete('tool');params.delete('vault');params.delete('submissionId');params.delete('cardId')}else{params.delete('mode');params.delete('tool');params.delete('vault');params.delete('submissionId');params.delete('cardId')}\n    const search=params.toString();\n    navigate({pathname:location.pathname,search:search?'?'+search:'',hash:location.hash},{replace:false});\n  },[location.hash,location.pathname,location.search,navigate]);\n  const openTool=React.useCallback((nextMode:ModeId,nextTool:WorkspaceTab,nextVault?:VaultMode)=>{\n    const params=new URLSearchParams(location.search);\n    params.set('mode',nextMode);params.set('tool',nextTool);\n    if(nextVault)params.set('vault',nextVault);else params.delete('vault');\n    params.delete('submissionId');params.delete('cardId');\n    const search=params.toString();\n    navigate({pathname:location.pathname,search:search?'?'+search:'',hash:location.hash},{replace:false});\n  },[location.hash,location.pathname,location.search,navigate]);\n  const openCaptureForSubmission=React.useCallback((submissionId:string,expectedCardCount:number)=>{\n    const params=new URLSearchParams(location.search);\n    params.set('mode','submissions');params.set('tool','submissions');params.delete('vault');params.set('submissionId',submissionId);params.delete('cardId');\n    const search=params.toString();\n    navigate({pathname:location.pathname,search:search?'?'+search:'',hash:location.hash},{replace:false});\n  },[location.hash,location.pathname,location.search,navigate]);\n  const openAdminTool=React.useCallback((nextTool:WorkspaceTab)=>{\n    const params=new URLSearchParams(location.search);\n    params.delete('mode');params.delete('vault');params.set('tool',nextTool);params.delete('submissionId');params.delete('cardId');\n    const search=params.toString();\n    navigate({pathname:location.pathname,search:search?'?'+search:'',hash:location.hash},{replace:false});\n  },[location.hash,location.pathname,location.search,navigate]);\n  const closeAdminTool=React.useCallback(()=>{const params=new URLSearchParams(location.search);params.delete('tool');params.delete('vault');params.delete('submissionId');params.delete('cardId');const search=params.toString();navigate({pathname:location.pathname,search:search?'?'+search:'',hash:location.hash},{replace:false})},[location.hash,location.pathname,location.search,navigate]);\n\n  if(mode){\n    const current=modes.find(item=>item.id===mode)!;\n    const modeTools=MODE_TOOLS[mode];\n    const allowedTabs=modeTools.map(item=>item.id);\n    const scopedTool=tool&&allowedTabs.includes(tool)?tool:null;\n    const activeTab=scopedTool||MODE_TAB[mode];\n    const headerLabel=scopedTool?TOOL_LABEL[scopedTool]:current.title;\n    return <div data-tenant-modes-shell=\"true\" data-tenant-id={tenantId||undefined} data-tenant-experience-family=\"modes\" data-pcg-active-mode={mode} data-pcg-mode-target={activeTab} className=\"relative min-h-screen bg-transparent text-white\">\n      <div data-pcg-mode-header=\"true\" className=\"sticky left-0 right-0 top-0 z-[65] box-border w-screen max-w-none border-b border-white/[.08] bg-[#050607]/92 px-3 py-2.5 backdrop-blur-xl sm:px-5 lg:px-7\">\n        <div className=\"flex w-full items-center gap-3\">\n          <button type=\"button\" onClick={()=>setMode(null)} aria-label=\"Back to PCG work queue\" className=\"grid h-11 w-11 shrink-0 place-items-center rounded-xl border border-white/[.10] bg-white/[.04] text-white/72\"><ArrowLeft className=\"h-4 w-4\"/></button>\n          <div className=\"grid h-10 w-10 shrink-0 place-items-center overflow-hidden rounded-xl border border-[#d8bb78]/25 bg-black/45\"><TenantLogo tenant={activeTenant as any} size={40} rounded=\"lg\" fallbackVariant=\"initial\" className=\"border-0 bg-transparent\"/></div>\n          <div className=\"min-w-0\"><div className=\"truncate text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">PCG Workflow</div><div className=\"truncate text-sm font-black\">{headerLabel}</div></div>\n          <div className=\"ml-auto hidden min-w-0 items-center gap-2 lg:flex\"><CanonicalWorkspaceSidebarTrigger className=\"h-10 w-[clamp(14rem,28vw,24rem)] border-white/[.10] bg-black/35 text-white/50 hover:bg-white/[.06] hover:text-white/80\"/></div><div className=\"ml-auto lg:ml-0\"><MiscAwareAccountMenu placement=\"inline\" avatarMode=\"tenant\" singletonKey={`pcg-mode-avatar:${tenantId||'workspace'}`} tenantShellOwner/></div>\n        </div>\n        {modeTools.length>1?<div className=\"mt-2 flex flex-wrap gap-1 pb-0.5\">{modeTools.map(item=><button key={item.id} type=\"button\" onClick={()=>openTool(mode,item.id,item.vault)} className={`whitespace-nowrap rounded-xl border px-3 py-2 text-[10px] font-black uppercase tracking-[.08em] transition ${activeTab===item.id?'border-[#d8bb78]/40 bg-[#d8bb78]/[.12] text-[#f2d99f]':'border-white/[.09] bg-white/[.035] text-white/52 hover:bg-white/[.08] hover:text-white/82'}`}>{item.label}</button>)}</div>:null}\n      </div>\n      {mode==='listings'?<><PCGCompletionCenter mode=\"completed\"/><React.Suspense fallback={null}><PCGBatchPublishingCenter tenantId={tenantId}/></React.Suspense></>:null}\n      {mode==='orders'?<><PCGCompletionCenter mode=\"mailed\"/><PcgWorkspace initialTab=\"shipping\" embedded navigationScope={['shipping']}/></>:null}\n      {mode==='submissions'||mode==='grading'?<PcgWorkspace initialTab={activeTab as OperationalWorkspaceTab} initialVaultMode={vaultMode} initialVaultSubmissionId={requestedSubmissionId} onSubmissionCreated={mode==='submissions'?({id,expected_card_count})=>openCaptureForSubmission(id,expected_card_count):undefined} embedded navigationScope={allowedTabs as OperationalWorkspaceTab[]}/>:null}\n    </div>\n  }\n\n  if(adminTool){\n    return <div data-tenant-modes-shell=\"true\" data-tenant-id={tenantId||undefined} data-tenant-experience-family=\"modes\" data-pcg-admin-tool={adminTool} className=\"relative min-h-screen bg-transparent text-white\">\n      <div className=\"sticky left-0 right-0 top-0 z-[65] border-b border-white/[.08] bg-[#050607]/92 px-3 py-2.5 backdrop-blur-xl sm:px-5 lg:px-7\"><div className=\"flex items-center gap-3\"><button type=\"button\" onClick={closeAdminTool} aria-label=\"Back to PCG work queue\" className=\"grid h-11 w-11 place-items-center rounded-xl border border-white/[.10] bg-white/[.04] text-white/72\"><ArrowLeft className=\"h-4 w-4\"/></button><div className=\"grid h-10 w-10 place-items-center overflow-hidden rounded-xl border border-[#d8bb78]/25 bg-black/45\"><TenantLogo tenant={activeTenant as any} size={40} rounded=\"lg\" fallbackVariant=\"initial\" className=\"border-0 bg-transparent\"/></div><div><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">PCG Admin</div><div className=\"text-sm font-black\">{TOOL_LABEL[adminTool]}</div></div><div className=\"ml-auto\"><MiscAwareAccountMenu placement=\"inline\" avatarMode=\"tenant\" singletonKey={`pcg-admin-avatar:${tenantId||'workspace'}`} tenantShellOwner/></div></div></div>\n      {adminTool==='population'?<CardGradingPopulationReport tenantId={tenantId}/>:<PcgWorkspace initialTab={adminTool as any} embedded navigationScope={[adminTool as any]}/>}\n    </div>\n  }\n\n\n\n\n  return <main data-tenant-modes-shell=\"true\" data-tenant-id={tenantId||undefined} data-tenant-experience-family=\"modes\" data-pcg-modes-workspace=\"true\" data-pcg-media-contract=\"tenant-configured\" className=\"relative min-h-dvh overflow-x-hidden bg-transparent pb-8 text-white\">\n    <header className=\"sticky left-0 right-0 top-0 z-[70] border-b border-white/[.08] bg-[#050607]/92 backdrop-blur-xl\">\n      <div className=\"flex min-h-[64px] items-center gap-3 px-3 sm:px-5 lg:px-7\">\n        <CanonicalWorkspaceSidebarTrigger className=\"h-11 w-[clamp(13rem,34vw,28rem)] border-white/[.10] bg-black/35 text-white/55 hover:bg-white/[.06] hover:text-white/85 max-sm:w-11 max-sm:px-0 max-sm:[&>span]:hidden\"/>\n        <div className=\"flex min-w-0 items-center gap-2.5\">\n          <div className=\"grid h-10 w-10 shrink-0 place-items-center overflow-hidden rounded-xl border border-[#d8bb78]/25 bg-black/45\"><TenantLogo tenant={activeTenant as any} size={38} rounded=\"lg\" fallbackVariant=\"initial\" className=\"border-0 bg-transparent\"/></div>\n          <div className=\"min-w-0\"><div className=\"truncate text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">Prestigious Card Grading</div><div className=\"truncate text-sm font-black text-white\">Work Queue</div></div>\n        </div>\n        <div className=\"ml-auto\"><MiscAwareAccountMenu placement=\"inline\" avatarMode=\"tenant\" singletonKey={'pcg-dashboard-avatar:'+(tenantId||'workspace')} tenantShellOwner/></div>\n      </div>\n    </header>\n\n    <div className=\"relative z-10 mx-auto max-w-[1560px] px-3 pb-7 pt-4 sm:px-5 sm:pt-5 lg:px-7 lg:pt-6\">\n      <section className=\"relative overflow-hidden rounded-[24px] border border-white/[.10] bg-black/45 shadow-2xl\">\n        <div className=\"absolute inset-0\" style={{backgroundImage:'url(\"'+heroImage+'\")',backgroundSize:'cover',backgroundPosition:`${heroX}% ${heroY}%`,opacity:heroOpacity,filter:`blur(${heroBlur}px)`,transform:`scale(${heroZoom})`,transformOrigin:`${heroX}% ${heroY}%`}}/>\n        <div className=\"absolute inset-0 bg-gradient-to-r from-black/95 via-black/72 to-black/40\"/>\n        <div className=\"relative flex min-h-[158px] flex-col justify-end p-5 sm:min-h-[190px] sm:p-7 lg:p-8\">\n          <div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#d8bb78]\">PCG MODES</div>\n          <h1 className=\"mt-2 text-[clamp(2rem,4vw,3.8rem)] font-black leading-[.92] tracking-[-.05em] text-white\">Your grading command center.</h1>\n          <p className=\"mt-3 max-w-2xl text-sm leading-6 text-white/58\">Pick the part of the shop you are working in. Each mode keeps only the tools for that job in front of you.</p>\n        </div>\n      </section>\n\n      <section className=\"mt-4\">\n        <div className=\"mb-2.5 flex items-end justify-between gap-4 px-1\">\n          <div><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">Work Queue</div><h2 className=\"mt-1 text-xl font-black tracking-[-.025em] text-white sm:text-2xl\">Choose a mode</h2></div>\n          <div className=\"hidden text-xs font-semibold text-white/32 sm:block\">Receive → Grade → Publish → Fulfill</div>\n        </div>\n        <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-4\">{modes.map(({id,title,short,copy,icon:Icon,accent,image,position,zoom,opacity,blur})=><button key={id} type=\"button\" data-pcg-mode-id={id} aria-label={'Open '+title} onClick={()=>setMode(id)} className=\"group relative min-h-[230px] overflow-hidden rounded-[22px] border border-white/[.10] bg-[#090a0b] text-left shadow-2xl transition duration-200 hover:-translate-y-0.5 hover:border-white/[.18]\">\n          <div className=\"absolute inset-0 transition duration-300\" style={{backgroundImage:'url(\"'+image+'\")',backgroundSize:'cover',backgroundPosition:position,opacity,filter:`blur(${blur}px)`,transform:`scale(${zoom})`,transformOrigin:position}}/>\n          <div className=\"absolute inset-0 bg-gradient-to-t from-black via-black/78 to-black/22\"/>\n          <div className=\"absolute inset-x-0 top-0 h-[3px]\" style={{backgroundColor:accent}}/>\n          <div className=\"relative flex h-full min-h-[230px] flex-col justify-end p-4 sm:p-5\">\n            <div className=\"mb-auto flex items-start justify-between gap-3\">\n              <span className=\"grid h-10 w-10 place-items-center rounded-xl border border-white/[.12] bg-black/45 backdrop-blur\"><Icon className=\"h-5 w-5\" style={{color:accent}}/></span>\n              <div className=\"text-right\"><div className=\"text-3xl font-black leading-none text-white\">{counts[id]}</div><div className=\"mt-1 text-[8px] font-black uppercase tracking-[.12em] text-white/38\">{short}</div></div>\n            </div>\n            <h3 className=\"text-xl font-black tracking-[-.025em] text-white\">{title}</h3>\n            <p className=\"mt-1.5 line-clamp-2 text-[11px] leading-5 text-white/46\">{copy}</p>\n            <div className=\"mt-3 flex items-center gap-1 text-[9px] font-black uppercase tracking-[.12em]\" style={{color:accent}}>Open mode <ArrowRight className=\"h-3.5 w-3.5 transition group-hover:translate-x-0.5\"/></div>\n          </div>\n        </button>)}</div>\n      </section>\n\n      <section className=\"mt-4 rounded-[18px] border border-white/[.08] bg-black/28 p-3 backdrop-blur-sm\">\n        <div className=\"flex flex-wrap items-center gap-2\">\n          <span className=\"mr-1 text-[9px] font-black uppercase tracking-[.16em] text-white/28\">Admin</span>\n          {ADMIN_TOOLS.map(({id,label,icon:Icon})=><button key={id} type=\"button\" onClick={()=>openAdminTool(id)} className=\"inline-flex min-h-10 items-center gap-2 rounded-lg border border-white/[.09] bg-white/[.04] px-3 text-[10px] font-black text-white/48 transition hover:bg-white/[.08] hover:text-white/78\"><Icon className=\"h-3.5 w-3.5 text-[#d8bb78]\"/>{label}</button>)}\n        </div>\n      </section>\n    </div>\n  </main>\n}\n"},{"path":"supabase/functions/pcg-google-drive-media/index.ts","content":"import {serve} from \"https://deno.land/std@0.190.0/http/server.ts\";\nimport {createClient} from \"https://esm.sh/@supabase/supabase-js@2.45.0\";\nimport {decryptSecret,encryptSecret} from \"../_shared/tenantCrypto.ts\";\n\nexport const FUNCTION_VERSION=\"1.4.0-customer-gallery-analysis\";\nconst SUPABASE_URL=Deno.env.get(\"SUPABASE_URL\")||\"\";\nconst SERVICE_ROLE=Deno.env.get(\"SUPABASE_SERVICE_ROLE_KEY\")||\"\";\nconst VISION_ENDPOINT=Deno.env.get(\"KNOCKLAUNCH_VISION_ENDPOINT\")||\"\";\nconst VISION_TOKEN=Deno.env.get(\"KNOCKLAUNCH_VISION_BEARER_TOKEN\")||\"\";\nconst DRIVE_SCOPE=\"https://www.googleapis.com/auth/drive.file\";\nconst GOOGLE_FILES=\"https://www.googleapis.com/drive/v3/files\";\nconst GOOGLE_UPLOAD=\"https://www.googleapis.com/upload/drive/v3/files\";\nconst LEGACY_IMAGE_HOSTS=new Set([\"pcgslab.com\",\"www.pcgslab.com\",\"images.squarespace-cdn.com\",\"static1.squarespace.com\"]);\nconst MAX_LEGACY_IMAGE_BYTES=25*1024*1024;\ntype StoredToken={access_token?:string;refresh_token?:string|null;expires_at?:string|null;token_type?:string|null;scope?:string|null;metadata?:Record<string,unknown>};\n\nconst cors={\"Access-Control-Allow-Origin\":\"*\",\"Access-Control-Allow-Headers\":\"authorization, content-type, range, x-client-info, apikey\",\"Access-Control-Allow-Methods\":\"GET, HEAD, POST, OPTIONS\"};\nconst json=(body:unknown,status=200)=>new Response(JSON.stringify(body),{status,headers:{...cors,\"Content-Type\":\"application/json\",\"Cache-Control\":\"no-store\"}});\nconst clean=(value:unknown)=>String(value??\"\").trim();\nconst safeName=(value:string)=>value.replace(/[\\\\/]+/g,\"-\").replace(/[\\u0000-\\u001f]+/g,\" \").trim().slice(0,180)||\"pcg-card-image\";\nconst bytesToHex=(bytes:Uint8Array)=>Array.from(bytes).map(value=>value.toString(16).padStart(2,\"0\")).join(\"\");\nasync function sha256(value:string){return bytesToHex(new Uint8Array(await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(value))))}\nfunction base64Url(bytes:Uint8Array){let binary=\"\";for(const value of bytes)binary+=String.fromCharCode(value);return btoa(binary).replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=+$/,\"\")}\nasync function signingKey(){const digest=await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(SERVICE_ROLE+\":pcg-google-drive-media:v1\"));return crypto.subtle.importKey(\"raw\",digest,{name:\"HMAC\",hash:\"SHA-256\"},false,[\"sign\"])}\nasync function signature(tenantId:string,fileId:string){const key=await signingKey();return base64Url(new Uint8Array(await crypto.subtle.sign(\"HMAC\",key,new TextEncoder().encode(tenantId+\":\"+fileId))))}\nfunction sameSignature(a:string,b:string){if(a.length!==b.length)return false;let mismatch=0;for(let i=0;i<a.length;i++)mismatch|=a.charCodeAt(i)^b.charCodeAt(i);return mismatch===0}\nasync function publicUrl(tenantId:string,fileId:string){return SUPABASE_URL+\"/functions/v1/pcg-google-drive-media/media?tenant=\"+encodeURIComponent(tenantId)+\"&file=\"+encodeURIComponent(fileId)+\"&sig=\"+encodeURIComponent(await signature(tenantId,fileId))}\n\nasync function refreshGoogleToken(admin:any,tenantId:string,credential:any){\n  const granted=Array.isArray(credential?.metadata?.granted_scopes)?credential.metadata.granted_scopes.map((value:unknown)=>String(value)):[];\n  if(credential?.credential_status!==\"active\")return{ok:false as const,code:\"provider_prerequisite_required\",error:\"Connect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  if(!granted.includes(DRIVE_SCOPE))return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections to add Google Drive permission.\"};\n  const{data:secret,error:secretError}=await admin.from(\"tenant_provider_secrets\").select(\"ciphertext,iv\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\").maybeSingle();\n  if(secretError)throw secretError;\n  if(!secret?.ciphertext||!secret?.iv)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  let token=JSON.parse(await decryptSecret(secret.ciphertext,secret.iv)) as StoredToken;\n  const expiresAt=token.expires_at?new Date(token.expires_at).getTime():0;\n  if(expiresAt&&expiresAt<=Date.now()+5*60*1000){\n    if(!token.refresh_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n    const clientId=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_ID\")||\"\",clientSecret=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_SECRET\")||\"\";\n    if(!clientId||!clientSecret)return{ok:false as const,code:\"provider_platform_not_configured\",error:\"Google Workspace is not enabled on KnockLaunch yet.\"};\n    const response=await fetch(\"https://oauth2.googleapis.com/token\",{method:\"POST\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:new URLSearchParams({grant_type:\"refresh_token\",refresh_token:token.refresh_token,client_id:clientId,client_secret:clientSecret})});\n    const payload=await response.json().catch(()=>({}));\n    if(!response.ok||!payload?.access_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n    token={...token,access_token:String(payload.access_token),expires_at:payload.expires_in?new Date(Date.now()+Number(payload.expires_in)*1000).toISOString():token.expires_at,scope:payload.scope?String(payload.scope):token.scope,token_type:payload.token_type?String(payload.token_type):token.token_type};\n    const encrypted=await encryptSecret(JSON.stringify(token));\n    await admin.from(\"tenant_provider_secrets\").update({ciphertext:encrypted.ciphertext,iv:encrypted.iv,verified_at:new Date().toISOString(),verification_error:null}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n    await admin.from(\"tenant_provider_credentials\").update({last_verified_at:new Date().toISOString(),verification_notes:\"Google Workspace token refreshed for PCG Drive media.\"}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n  }\n  if(!token.access_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  return{ok:true as const,accessToken:token.access_token,metadata:(credential?.metadata||{}) as Record<string,unknown>};\n}\nasync function googleWorkspace(admin:any,tenantId:string){\n  const{data:credential,error}=await admin.from(\"tenant_provider_credentials\").select(\"credential_status,metadata\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\").maybeSingle();\n  if(error)throw error;\n  return refreshGoogleToken(admin,tenantId,credential);\n}\nasync function requirePcgMember(req:Request,admin:any,tenantId:string){\n  const auth=clean(req.headers.get(\"Authorization\"));\n  if(!auth.startsWith(\"Bearer \"))return{ok:false as const,status:401,error:\"Please sign in again.\"};\n  const{data,error}=await admin.auth.getUser(auth.slice(7));\n  if(error||!data.user?.id)return{ok:false as const,status:401,error:\"Please sign in again.\"};\n  const{data:isMember,error:memberError}=await admin.rpc(\"is_tenant_member\",{_user_id:data.user.id,_tenant_id:tenantId});\n  if(memberError)throw memberError;\n  if(!isMember)return{ok:false as const,status:403,error:\"This PCG workspace is not available to your account.\"};\n  const{data:tenant,error:tenantError}=await admin.from(\"tenants\").select(\"company_slug,name,settings\").eq(\"id\",tenantId).maybeSingle();\n  if(tenantError)throw tenantError;\n  const slug=clean(tenant?.company_slug).toLowerCase(),settings=(tenant?.settings||{}) as Record<string,unknown>;\n  const isPcg=slug===\"pcg\"||slug===\"prestigious-card-grading\"||clean(settings.routing_family).toUpperCase()===\"CARD_GRADING_OPS\"||clean(settings.workspace_type).toLowerCase()===\"card_grading\"||clean(tenant?.name).toLowerCase().includes(\"prestigious card grading\");\n  if(!isPcg)return{ok:false as const,status:403,error:\"This storage adapter is reserved for the PCG workspace.\"};\n  return{ok:true as const,userId:data.user.id};\n}\nasync function requirePcgOwner(req:Request,admin:any,tenantId:string){\n  const member=await requirePcgMember(req,admin,tenantId);if(!member.ok)return member;\n  const[{data:systemAdmin},{data:membership,error:membershipError}]=await Promise.all([\n    admin.rpc(\"is_system_admin\",{_user_id:member.userId}),\n    admin.from(\"security_active_user_tenant_memberships\").select(\"status,is_owner\").eq(\"user_id\",member.userId).eq(\"tenant_id\",tenantId).maybeSingle()\n  ]);\n  if(membershipError)throw membershipError;\n  if(systemAdmin===true||membership?.status===\"active\"&&membership?.is_owner===true)return member;\n  return{ok:false as const,status:403,error:\"This PCG owner operation requires the tenant owner or a platform administrator.\"};\n}\nfunction allowedLegacyUrl(raw:string,base?:string){\n  let parsed:URL;try{parsed=base?new URL(raw,base):new URL(raw)}catch{throw new Error(\"Legacy image URL is invalid.\")}\n  const host=parsed.hostname.toLowerCase();\n  if(parsed.protocol!==\"https:\"||!LEGACY_IMAGE_HOSTS.has(host))throw new Error(\"Legacy image host is not approved for PCG migration.\");\n  if(parsed.username||parsed.password)throw new Error(\"Legacy image URLs may not include credentials.\");\n  return parsed;\n}\nasync function fetchLegacyImage(sourceUrl:string){\n  let current=allowedLegacyUrl(sourceUrl);\n  for(let hop=0;hop<6;hop++){\n    const controller=new AbortController();const timeout=setTimeout(()=>controller.abort(),20000);\n    let response:Response;\n    try{response=await fetch(current,{redirect:\"manual\",signal:controller.signal,headers:{\"User-Agent\":\"KNOCKLAUNCH-PCG-Migration/1.0\",\"Accept\":\"image/*\"}})}\n    finally{clearTimeout(timeout)}\n    if(response.status>=300&&response.status<400){\n      const location=response.headers.get(\"location\");if(!location)throw new Error(\"Legacy image redirect was missing a destination.\");\n      current=allowedLegacyUrl(location,current.toString());continue\n    }\n    if(!response.ok)throw new Error(\"Legacy image fetch failed (\"+response.status+\").\");\n    const contentType=clean(response.headers.get(\"content-type\")).split(\";\")[0].toLowerCase();\n    if(!contentType.startsWith(\"image/\"))throw new Error(\"Legacy source did not return an image.\");\n    const length=Number(response.headers.get(\"content-length\")||0);if(length>MAX_LEGACY_IMAGE_BYTES)throw new Error(\"Legacy image exceeds the 25 MB migration limit.\");\n    const bytes=new Uint8Array(await response.arrayBuffer());if(bytes.byteLength>MAX_LEGACY_IMAGE_BYTES)throw new Error(\"Legacy image exceeds the 25 MB migration limit.\");\n    return{bytes,contentType,finalUrl:current.toString()};\n  }\n  throw new Error(\"Legacy image exceeded the approved redirect limit.\");\n}\nasync function uploadLegacyBytes(admin:any,tenantId:string,google:any,importKey:string,key:string,side:string,sourceUrl:string,name:string){\n  const folderId=await ensureFolder(admin,tenantId,google.accessToken,google.metadata);\n  const importHash=await sha256(importKey),sessionHash=await sha256(\"legacy:\"+importKey);\n  const existing=await findExisting(google.accessToken,folderId,importHash,side);\n  if(existing?.id)return{ok:true,deduped:true,file_id:String(existing.id),url:await publicUrl(tenantId,String(existing.id)),source_url:sourceUrl};\n  const remote=await fetchLegacyImage(sourceUrl);\n  const parsed=new URL(remote.finalUrl),remoteName=safeName(name||parsed.pathname.split(\"/\").filter(Boolean).pop()||\"legacy-card-image\");\n  const fileName=safeName(key+\"-\"+side+\"-\"+remoteName);\n  const created=await driveJson(google.accessToken,GOOGLE_FILES+\"?fields=id,name,mimeType\",{method:\"POST\",body:JSON.stringify({name:fileName,mimeType:remote.contentType,parents:[folderId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_import_hash:importHash,knocklaunch_session_hash:sessionHash,knocklaunch_side:side,knocklaunch_legacy_source_hash:await sha256(sourceUrl)}})});\n  const fileId=clean(created.id);if(!fileId)throw new Error(\"Google Drive did not create the migrated PCG image record.\");\n  try{\n    const uploaded=await fetch(GOOGLE_UPLOAD+\"/\"+encodeURIComponent(fileId)+\"?uploadType=media&fields=id,name,mimeType,size\",{method:\"PATCH\",headers:{Authorization:\"Bearer \"+google.accessToken,\"Content-Type\":remote.contentType,\"Content-Length\":String(remote.bytes.byteLength)},body:remote.bytes});\n    const payload=await uploaded.json().catch(()=>({}));if(!uploaded.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive legacy-image upload failed (\"+uploaded.status+\").\");\n    return{ok:true,deduped:false,file_id:fileId,url:await publicUrl(tenantId,fileId),source_url:sourceUrl,final_source_url:remote.finalUrl,storage_owner:\"google_workspace\",master_copy:true};\n  }catch(error){\n    await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+google.accessToken}}).catch(()=>null);throw error\n  }\n}\nasync function importLegacyUrl(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),importKey=clean(body.import_key),key=clean(body.key),side=clean(body.side).toLowerCase(),sourceUrl=clean(body.source_url),name=safeName(clean(body.name));\n  if(!tenantId||!importKey||!key||!sourceUrl||![\"front\",\"back\",\"slab\"].includes(side))return json({ok:false,error:\"Legacy image migration metadata is incomplete.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  allowedLegacyUrl(sourceUrl);\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:google.error},409);\n  const result=await uploadLegacyBytes(admin,tenantId,google,importKey,key,side,sourceUrl,name);\n  return json(result);\n}\n\nconst CANARY_PNG_BASE64=\"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=\";\nfunction canaryPngBytes(){const binary=atob(CANARY_PNG_BASE64),bytes=new Uint8Array(binary.length);for(let index=0;index<binary.length;index+=1)bytes[index]=binary.charCodeAt(index);return bytes}\nasync function uploadCanaryBytes(admin:any,tenantId:string,google:any,sessionKey:string,importKey:string,key:string,side:string){\n  const folderId=await ensureFolder(admin,tenantId,google.accessToken,google.metadata);\n  const importHash=await sha256(importKey),sessionHash=await sha256(sessionKey);\n  const existing=await findExisting(google.accessToken,folderId,importHash,side);\n  if(existing?.id)return{ok:true,deduped:true,file_id:String(existing.id),url:await publicUrl(tenantId,String(existing.id))};\n  const bytes=canaryPngBytes(),contentType=\"image/png\",fileName=safeName(key+\"-\"+side+\"-pipeline-canary.png\");\n  const created=await driveJson(google.accessToken,GOOGLE_FILES+\"?fields=id,name,mimeType\",{method:\"POST\",body:JSON.stringify({name:fileName,mimeType:contentType,parents:[folderId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_import_hash:importHash,knocklaunch_session_hash:sessionHash,knocklaunch_side:side,knocklaunch_canary:\"true\"}})});\n  const fileId=clean(created.id);if(!fileId)throw new Error(\"Google Drive did not create the PCG canary image record.\");\n  try{\n    const uploaded=await fetch(GOOGLE_UPLOAD+\"/\"+encodeURIComponent(fileId)+\"?uploadType=media&fields=id,name,mimeType,size\",{method:\"PATCH\",headers:{Authorization:\"Bearer \"+google.accessToken,\"Content-Type\":contentType,\"Content-Length\":String(bytes.byteLength)},body:bytes});\n    const payload=await uploaded.json().catch(()=>({}));if(!uploaded.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive canary image upload failed (\"+uploaded.status+\").\");\n    return{ok:true,deduped:false,file_id:fileId,url:await publicUrl(tenantId,fileId)};\n  }catch(error){await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+google.accessToken}}).catch(()=>null);throw error}\n}\nasync function deleteDriveFile(accessToken:string,fileId:string){\n  const response=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+accessToken}});\n  if(response.ok||response.status===404)return true;\n  return false\n}\nasync function advanceCanary(admin:any,tenantId:string,submissionId:string,status:string){\n  const{error}=await admin.rpc(\"advance_pcg_grading_submission\",{p_tenant_id:tenantId,p_submission_id:submissionId,p_status:status});\n  if(error)throw new Error(\"PCG \"+status+\" transition failed: \"+clean(error.message));\n}\nasync function expectAdvanceBlocked(admin:any,tenantId:string,submissionId:string,status:string){\n  const{error}=await admin.rpc(\"advance_pcg_grading_submission\",{p_tenant_id:tenantId,p_submission_id:submissionId,p_status:status});\n  if(!error)throw new Error(\"PCG \"+status+\" guard did not block the intentionally incomplete canary.\");\n  return true\n}\nasync function verifySignedMedia(url:string){\n  const response=await fetch(url,{method:\"HEAD\"});\n  if(!response.ok)throw new Error(\"Signed PCG media delivery failed (\"+response.status+\").\");\n  return true\n}\nasync function lookupCanaryProgress(submissionNumber:string,email:string){\n  const response=await fetch(SUPABASE_URL+\"/functions/v1/pcg-customer-progress\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:\"Bearer \"+SERVICE_ROLE,apikey:SERVICE_ROLE},body:JSON.stringify({tenant_slug:\"pcg\",submission_number:submissionNumber,email})});\n  const payload=await response.json().catch(()=>null);\n  if(!response.ok||payload?.ok!==true)throw new Error(\"PCG customer-progress canary lookup failed.\");\n  return payload\n}\nasync function persistCanaryReceipt(admin:any,tenantId:string,status:\"ready\"|\"blocked\",detail:Record<string,unknown>){\n  const{error}=await admin.from(\"tenant_readiness_checks\").upsert({tenant_id:tenantId,check_key:\"pcg_pipeline_canary\",status,detail,updated_at:new Date().toISOString()},{onConflict:\"tenant_id,check_key\"});\n  if(error)console.error(\"[pcg-pipeline-canary] readiness receipt\",error)\n}\nasync function runPipelineCanary(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id);\n  if(!tenantId)return json({ok:false,error:\"PCG tenant is required.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const startedAt=new Date().toISOString(),runId=Date.now().toString(36)+\"-\"+crypto.randomUUID().slice(0,8);\n  const email=(\"pcg-canary-\"+runId+\"@knocklaunch.invalid\").toLowerCase();\n  const submissionIds:string[]=[],contactIds:string[]=[],driveFileIds:string[]=[];\n  let google:any=null,single:any=null,batch:any=null,failure=\"\";\n  const cleanup={database:false,drive:false,submission_rows_removed:0,contact_rows_removed:0,drive_files_deleted:0,drive_files_expected:0};\n  try{\n    google=await googleWorkspace(admin,tenantId);\n    if(!google.ok){\n      const detail={ok:false,ran_at:startedAt,version:FUNCTION_VERSION,error:google.error,code:google.code,single:null,batch:null,cleanup};\n      await persistCanaryReceipt(admin,tenantId,\"blocked\",detail);\n      return json(detail,409)\n    }\n    const{data:contact,error:contactError}=await admin.from(\"unified_contacts\").insert({tenant_org_id:tenantId,name:\"PCG PIPELINE CANARY\",email,phone:\"+10000000000\",normalized_email:email,normalized_phone:\"10000000000\",source:\"pcg_pipeline_canary\",contact_role:\"collector\",address:\"1 Canary Way\",city:\"Testville\",state:\"FL\",zip:\"00000\",normalized_address:\"1 canary way|testville|fl|00000\"}).select(\"id\").single();\n    if(contactError||!contact?.id)throw new Error(\"Canary customer record could not be created: \"+clean(contactError?.message));\n    contactIds.push(String(contact.id));\n    const runScenario=async(kind:\"single\"|\"batch\",expected:number)=>{\n      const submissionNumber=(\"CANARY-\"+runId+\"-\"+kind).toUpperCase(),now=new Date(),due=new Date(Date.now()+14*86400000);\n      const{data:submission,error:submissionError}=await admin.from(\"card_grading_submissions\").insert({tenant_id:tenantId,submission_number:submissionNumber,customer_contact_id:contact.id,customer_name:\"PCG PIPELINE CANARY\",customer_email:email,customer_phone:\"+10000000000\",service_tier:\"two_weeks\",service_price:20,expected_card_count:expected,status:\"received\",payment_status:\"waived\",delivery_method:\"mail_in\",tracking_in:\"CANARY-IN-\"+runId,return_shipping_method:\"fedex_saver\",return_shipping_cost:12.34,return_insurance_amount:100,notes:\"[PCG PIPELINE CANARY] synthetic auto-clean record\",received_at:now.toISOString(),due_at:due.toISOString()}).select(\"id,submission_number\").single();\n      if(submissionError||!submission?.id)throw new Error(kind+\" canary submission could not be created: \"+clean(submissionError?.message));\n      const submissionId=String(submission.id);submissionIds.push(submissionId);\n      let dedupeVerified=false,signedDeliveryVerified=true;\n      const certs:string[]=[];\n      for(let index=1;index<=expected;index+=1){\n        const importKey=\"pcg-canary:\"+runId+\":\"+kind+\":\"+index,sessionKey=\"pcg-canary-session:\"+runId+\":\"+kind,key=kind+\"-\"+index;\n        const front=await uploadCanaryBytes(admin,tenantId,google,sessionKey,importKey,key,\"front\");\n        const back=await uploadCanaryBytes(admin,tenantId,google,sessionKey,importKey,key,\"back\");\n        for(const media of [front,back])if(!driveFileIds.includes(String(media.file_id)))driveFileIds.push(String(media.file_id));\n        if(index===1){\n          const retry=await uploadCanaryBytes(admin,tenantId,google,sessionKey,importKey,key,\"front\");\n          dedupeVerified=retry.deduped===true&&String(retry.file_id)===String(front.file_id);\n          if(!dedupeVerified)throw new Error(kind+\" canary Drive retry identity did not dedupe.\");\n        }\n        signedDeliveryVerified=await verifySignedMedia(String(front.url))&&await verifySignedMedia(String(back.url))&&signedDeliveryVerified;\n        const{error:cardError}=await admin.from(\"card_grading_cards\").insert({tenant_id:tenantId,submission_id:submissionId,sequence_number:index,category:\"Basketball\",year:\"2026\",brand_set:\"PCG Pipeline Canary\",player_character:kind===\"single\"?\"Synthetic Single Card\":\"Synthetic Batch Card \"+index,card_number:\"CAN-\"+index,card_description:\"Synthetic PCG pipeline verification card\",variation:\"Canary\",autograph_present:false,declared_value:1,front_image_url:front.url,back_image_url:back.url,status:\"received\",import_key:importKey,metadata:{pipeline_canary:true,run_id:runId,scenario:kind}});\n        if(cardError)throw new Error(kind+\" canary canonical card write failed: \"+clean(cardError.message))\n      }\n      const{count,error:countError}=await admin.from(\"card_grading_cards\").select(\"id\",{count:\"exact\",head:true}).eq(\"tenant_id\",tenantId).eq(\"submission_id\",submissionId);\n      if(countError)throw countError;const captured=Number(count||0);if(captured!==expected)throw new Error(kind+\" canary captured \"+captured+\" of \"+expected+\" expected cards.\");\n      await advanceCanary(admin,tenantId,submissionId,\"intake_imaging\");\n      await advanceCanary(admin,tenantId,submissionId,\"authentication\");\n      await advanceCanary(admin,tenantId,submissionId,\"grading\");\n      const gradeGateVerified=await expectAdvanceBlocked(admin,tenantId,submissionId,\"encapsulation\");\n      const{data:cards,error:cardsError}=await admin.from(\"card_grading_cards\").select(\"id,sequence_number\").eq(\"tenant_id\",tenantId).eq(\"submission_id\",submissionId).order(\"sequence_number\");\n      if(cardsError)throw cardsError;\n      for(const card of cards||[]){\n        const cert=(\"CAN-\"+runId+\"-\"+kind+\"-\"+card.sequence_number).toUpperCase();certs.push(cert);\n        const{error:updateError}=await admin.from(\"card_grading_cards\").update({grade:9,grade_label:\"9 MT\",cert_number:cert,grader_notes:\"Synthetic canary grade\",updated_at:new Date().toISOString()}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);\n        if(updateError)throw updateError\n      }\n      await advanceCanary(admin,tenantId,submissionId,\"encapsulation\");\n      await advanceCanary(admin,tenantId,submissionId,\"qa\");\n      await advanceCanary(admin,tenantId,submissionId,\"ready\");\n      const shippingGateVerified=await expectAdvanceBlocked(admin,tenantId,submissionId,\"shipped\");\n      const tracking=\"CANARY-OUT-\"+runId+\"-\"+kind.toUpperCase();\n      const{error:trackingError}=await admin.from(\"card_grading_submissions\").update({tracking_out:tracking,updated_at:new Date().toISOString()}).eq(\"tenant_id\",tenantId).eq(\"id\",submissionId);\n      if(trackingError)throw trackingError;\n      await advanceCanary(admin,tenantId,submissionId,\"shipped\");\n      const progress=await lookupCanaryProgress(submissionNumber,email),progressCards=Array.isArray(progress?.data?.cards)?progress.data.cards:[];\n      const wmpVerified=progress?.data?.order?.status===\"shipped\"&&progress?.data?.order?.return_shipping_method===\"fedex_saver\"&&progress?.data?.order?.tracking_out===tracking&&progressCards.length===expected&&progressCards.every((card:any)=>card.grade===9&&card.grade_label===\"9 MT\"&&certs.includes(String(card.cert_number||\"\")));\n      if(!wmpVerified)throw new Error(kind+\" canary WMP data did not match the canonical order.\");\n      return{status:\"passed\",expected_card_count:expected,captured_card_count:captured,drive_file_count:expected*2,dedupe_verified:dedupeVerified,signed_delivery_verified:signedDeliveryVerified,grade_gate_verified:gradeGateVerified,shipping_gate_verified:shippingGateVerified,wmp_verified:wmpVerified,terminal_status:\"shipped\"}\n    };\n    single=await runScenario(\"single\",1);\n    batch=await runScenario(\"batch\",2);\n  }catch(error){failure=error instanceof Error?error.message:String(error)}\n  finally{\n    cleanup.drive_files_expected=driveFileIds.length;\n    if(submissionIds.length){\n      const{error}=await admin.from(\"card_grading_submissions\").delete().eq(\"tenant_id\",tenantId).in(\"id\",submissionIds);if(!error)cleanup.submission_rows_removed=submissionIds.length\n    }\n    if(contactIds.length){\n      const{error}=await admin.from(\"unified_contacts\").delete().eq(\"tenant_org_id\",tenantId).in(\"id\",contactIds);if(!error)cleanup.contact_rows_removed=contactIds.length\n    }\n    cleanup.database=cleanup.submission_rows_removed===submissionIds.length&&cleanup.contact_rows_removed===contactIds.length;\n    if(google?.ok){\n      for(const fileId of driveFileIds)if(await deleteDriveFile(google.accessToken,fileId))cleanup.drive_files_deleted+=1;\n      cleanup.drive=cleanup.drive_files_deleted===cleanup.drive_files_expected\n    }else cleanup.drive=driveFileIds.length===0\n  }\n  const ok=!failure&&single?.status===\"passed\"&&batch?.status===\"passed\"&&cleanup.database&&cleanup.drive;\n  const detail={ok,ran_at:startedAt,completed_at:new Date().toISOString(),version:FUNCTION_VERSION,single,batch,cleanup,error:failure||null};\n  await persistCanaryReceipt(admin,tenantId,ok?\"ready\":\"blocked\",detail);\n  return json(detail,ok?200:500)\n}\n\nasync function driveJson(accessToken:string,url:string,init:RequestInit={}){\n  const response=await fetch(url,{...init,headers:{Authorization:\"Bearer \"+accessToken,\"Content-Type\":\"application/json\",...(init.headers||{})}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive request failed (\"+response.status+\").\");\n  return payload;\n}\nasync function ensureFolder(admin:any,tenantId:string,accessToken:string,metadata:Record<string,unknown>){\n  let folderId=clean(metadata.pcg_drive_folder_id);\n  if(folderId){\n    const check=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(folderId)+\"?fields=id,trashed,mimeType\",{headers:{Authorization:\"Bearer \"+accessToken}});\n    if(check.ok){const info=await check.json().catch(()=>({}));if(info?.id&&!info?.trashed&&info?.mimeType===\"application/vnd.google-apps.folder\")return folderId}\n  }\n  const created=await driveJson(accessToken,GOOGLE_FILES+\"?fields=id,name\",{method:\"POST\",body:JSON.stringify({name:\"KNOCKLAUNCH PCG Card Images\",mimeType:\"application/vnd.google-apps.folder\",appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId}})});\n  folderId=clean(created.id);\n  if(!folderId)throw new Error(\"Google Drive did not return the PCG folder identifier.\");\n  await admin.from(\"tenant_provider_credentials\").update({metadata:{...metadata,pcg_drive_folder_id:folderId,pcg_drive_storage_owner:\"tenant_google_workspace\"}}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n  return folderId;\n}\nfunction qValue(value:string){return value.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\")}\nasync function ensureCustomerFolder(admin:any,tenantId:string,accessToken:string,metadata:Record<string,unknown>,submissionId:string){\n  if(!submissionId)throw new Error(\"Choose or create the PCG customer order before card intake.\");\n  const{data:submission,error}=await admin.from(\"card_grading_submissions\").select(\"id,customer_contact_id,customer_name,submission_number\").eq(\"tenant_id\",tenantId).eq(\"id\",submissionId).maybeSingle();\n  if(error)throw error;\n  const customerId=clean(submission?.customer_contact_id);\n  if(!submission?.id||!customerId)throw new Error(\"This PCG order is missing a customer. Assign the customer before adding card images.\");\n  const rootId=await ensureFolder(admin,tenantId,accessToken,metadata);\n  const q=\"'\"+qValue(rootId)+\"' in parents and trashed=false and mimeType='application/vnd.google-apps.folder' and appProperties has { key='knocklaunch_pcg_customer_id' and value='\"+qValue(customerId)+\"' }\";\n  const response=await fetch(GOOGLE_FILES+\"?spaces=drive&pageSize=1&fields=files(id,name)&q=\"+encodeURIComponent(q),{headers:{Authorization:\"Bearer \"+accessToken}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive could not resolve the PCG customer folder.\");\n  if(Array.isArray(payload.files)&&payload.files[0]?.id)return String(payload.files[0].id);\n  const name=safeName((clean(submission.customer_name)||\"PCG Customer\")+\" - PCG Cards\");\n  const created=await driveJson(accessToken,GOOGLE_FILES+\"?fields=id,name\",{method:\"POST\",body:JSON.stringify({name,mimeType:\"application/vnd.google-apps.folder\",parents:[rootId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_pcg_customer_id:customerId}})});\n  const folderId=clean(created.id);if(!folderId)throw new Error(\"Google Drive did not create the PCG customer folder.\");\n  return folderId;\n}\n\nasync function findExisting(accessToken:string,folderId:string,importHash:string,side:string){\n  const q=\"'\"+qValue(folderId)+\"' in parents and trashed=false and appProperties has { key='knocklaunch_import_hash' and value='\"+qValue(importHash)+\"' } and appProperties has { key='knocklaunch_side' and value='\"+qValue(side)+\"' }\";\n  const response=await fetch(GOOGLE_FILES+\"?spaces=drive&pageSize=1&fields=files(id,name,mimeType)&q=\"+encodeURIComponent(q),{headers:{Authorization:\"Bearer \"+accessToken}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive could not check the PCG retry identity.\");\n  return Array.isArray(payload.files)&&payload.files[0]?.id?payload.files[0]:null;\n}\nasync function uploadMedia(req:Request,admin:any,url:URL){\n  const tenantId=clean(url.searchParams.get(\"tenant_id\")),submissionId=clean(url.searchParams.get(\"submission_id\")),sessionKey=clean(url.searchParams.get(\"session_key\")),importKey=clean(url.searchParams.get(\"import_key\")),key=clean(url.searchParams.get(\"key\")),side=clean(url.searchParams.get(\"side\")).toLowerCase();\n  const originalName=safeName(clean(url.searchParams.get(\"name\"))),contentType=clean(url.searchParams.get(\"content_type\")||req.headers.get(\"Content-Type\")||\"application/octet-stream\");\n  if(!tenantId||!submissionId||!sessionKey||!importKey||!key||![\"front\",\"back\",\"slab\"].includes(side))return json({ok:false,error:\"PCG customer/order and image upload metadata are required.\"},400);\n  if(!contentType.startsWith(\"image/\"))return json({ok:false,error:\"PCG Drive intake accepts image files only.\"},415);\n  if(!req.body)return json({ok:false,error:\"Choose an image to upload.\"},400);\n  const auth=await requirePcgMember(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:google.error},409);\n  const folderId=await ensureCustomerFolder(admin,tenantId,google.accessToken,google.metadata,submissionId);\n  const importHash=await sha256(importKey),sessionHash=await sha256(sessionKey);\n  const existing=await findExisting(google.accessToken,folderId,importHash,side);\n  if(existing?.id)return json({ok:true,deduped:true,file_id:String(existing.id),url:await publicUrl(tenantId,String(existing.id))});\n  const fileName=safeName(key+\"-\"+side+\"-\"+originalName);\n  const created=await driveJson(google.accessToken,GOOGLE_FILES+\"?fields=id,name,mimeType\",{method:\"POST\",body:JSON.stringify({name:fileName,mimeType:contentType,parents:[folderId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_import_hash:importHash,knocklaunch_session_hash:sessionHash,knocklaunch_side:side}})});\n  const fileId=clean(created.id);if(!fileId)throw new Error(\"Google Drive did not create the PCG image record.\");\n  try{\n    const headers:Record<string,string>={Authorization:\"Bearer \"+google.accessToken,\"Content-Type\":contentType};\n    const length=clean(req.headers.get(\"Content-Length\"));if(length)headers[\"Content-Length\"]=length;\n    const uploaded=await fetch(GOOGLE_UPLOAD+\"/\"+encodeURIComponent(fileId)+\"?uploadType=media&fields=id,name,mimeType,size\",{method:\"PATCH\",headers,body:req.body});\n    const payload=await uploaded.json().catch(()=>({}));\n    if(!uploaded.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive image upload failed (\"+uploaded.status+\").\");\n    return json({ok:true,file_id:fileId,url:await publicUrl(tenantId,fileId),storage_owner:\"google_workspace\",master_copy:true});\n  }catch(error){\n    await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+google.accessToken}}).catch(()=>null);\n    throw error;\n  }\n}\nasync function serveMedia(req:Request,admin:any,url:URL){\n  const tenantId=clean(url.searchParams.get(\"tenant\")),fileId=clean(url.searchParams.get(\"file\")),sig=clean(url.searchParams.get(\"sig\")),variant=clean(url.searchParams.get(\"variant\")).toLowerCase();\n  if(!tenantId||!fileId||!sig)return new Response(\"Not found\",{status:404,headers:cors});\n  const expected=await signature(tenantId,fileId);if(!sameSignature(sig,expected))return new Response(\"Not found\",{status:404,headers:cors});\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return new Response(\"PCG image temporarily unavailable\",{status:503,headers:{...cors,\"Cache-Control\":\"no-store\"}});\n  const metaResponse=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?fields=id,name,mimeType,size,trashed,appProperties,thumbnailLink\",{headers:{Authorization:\"Bearer \"+google.accessToken}});\n  const meta=await metaResponse.json().catch(()=>({}));\n  if(!metaResponse.ok||meta?.trashed||clean(meta?.appProperties?.knocklaunch_app)!==\"pcg_card_media\"||clean(meta?.appProperties?.knocklaunch_tenant_id)!==tenantId)return new Response(\"Not found\",{status:404,headers:cors});\n  if(variant===\"preview\"&&clean(meta.thumbnailLink)){\n    const preview=await fetch(clean(meta.thumbnailLink),{headers:{Authorization:\"Bearer \"+google.accessToken}});\n    if(preview.ok){\n      const previewHeaders=new Headers(cors);\n      previewHeaders.set(\"Content-Type\",preview.headers.get(\"content-type\")||\"image/jpeg\");\n      previewHeaders.set(\"Cache-Control\",\"public, max-age=86400, s-maxage=604800, stale-while-revalidate=86400\");\n      previewHeaders.set(\"Cross-Origin-Resource-Policy\",\"cross-origin\");\n      previewHeaders.set(\"Vary\",\"Accept-Encoding\");\n      const etag=preview.headers.get(\"etag\");if(etag)previewHeaders.set(\"ETag\",etag);\n      if(req.method===\"HEAD\")return new Response(null,{status:200,headers:previewHeaders});\n      return new Response(preview.body,{status:200,headers:previewHeaders});\n    }\n  }\n  const baseHeaders:Record<string,string>={...cors,\"Content-Type\":clean(meta.mimeType)||\"application/octet-stream\",\"Cache-Control\":\"public, max-age=86400, s-maxage=2592000, stale-while-revalidate=604800\",\"Cross-Origin-Resource-Policy\":\"cross-origin\",\"Accept-Ranges\":\"bytes\",\"Vary\":\"Accept-Encoding\"};\n  if(meta.size)baseHeaders[\"Content-Length\"]=String(meta.size);\n  if(req.method===\"HEAD\")return new Response(null,{status:200,headers:baseHeaders});\n  const providerHeaders:Record<string,string>={Authorization:\"Bearer \"+google.accessToken};const range=clean(req.headers.get(\"Range\"));if(range)providerHeaders.Range=range;\n  const media=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?alt=media\",{headers:providerHeaders});\n  if(!media.ok&&media.status!==206)return new Response(\"PCG image temporarily unavailable\",{status:502,headers:{...cors,\"Cache-Control\":\"no-store\"}});\n  const responseHeaders=new Headers(baseHeaders);for(const name of [\"content-length\",\"content-range\",\"etag\",\"last-modified\"])if(media.headers.get(name))responseHeaders.set(name,media.headers.get(name)!);\n  return new Response(media.body,{status:media.status,headers:responseHeaders});\n}\n\nfunction confidence(value:unknown){const n=Number(value);return Number.isFinite(n)?Math.max(0,Math.min(1,n)):0}\nasync function analyzeCards(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),purpose=clean(body.purpose)===\"grade\"?\"grade\":\"metadata\";\n  const cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,50);\n  if(!tenantId||!cardIds.length)return json({ok:false,error:\"Choose at least one PCG card to analyze.\"},400);\n  const auth=await requirePcgMember(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,submission_id,category,year,brand_set,player_character,card_number,card_description,variation,autograph_present,front_image_url,back_image_url,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);\n  if(error)throw error;const rows=Array.isArray(cards)?cards:[],stamp=new Date().toISOString();\n  if(!VISION_ENDPOINT){\n    for(const card of rows){const meta=(card.metadata&&typeof card.metadata===\"object\"?card.metadata:{}) as Record<string,unknown>;await admin.from(\"card_grading_cards\").update({metadata:{...meta,pcg_ai:{status:\"review_needed\",requested_purpose:purpose,reason:\"vision_provider_unconfigured\",field_confidence:{},human_review_required:true,updated_at:stamp}},updated_at:stamp}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id)}\n    return json({ok:false,code:\"vision_provider_unconfigured\",review_needed:true,error:\"The canonical vision provider is not configured. No card details or grades were invented.\"},409)\n  }\n  const response=await fetch(VISION_ENDPOINT,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",...(VISION_TOKEN?{Authorization:\"Bearer \"+VISION_TOKEN}:{})},body:JSON.stringify({capability:\"pcg_card_analysis_v1\",purpose,cards:rows.map((card:any)=>({card_id:card.id,front_image_url:card.front_image_url,back_image_url:card.back_image_url,current:{category:card.category,year:card.year,brand_set:card.brand_set,player_character:card.player_character,card_number:card.card_number,card_description:card.card_description,variation:card.variation,autograph_present:card.autograph_present}})),output_contract:{metadata_fields:[\"player_name\",\"year\",\"manufacturer\",\"brand_set\",\"card_number\",\"sport\",\"variation\",\"parallel\",\"rookie\",\"autograph_present\",\"relic\",\"serial_numbering\",\"title\",\"description\",\"tags\"],grading_fields:[\"suggested_grade\",\"confidence\",\"centering\",\"corners\",\"edges\",\"surface\",\"visible_defects\",\"reasons\"],grading_is_preliminary:true,human_approval_required:true}})});\n  const payload=await response.json().catch(()=>null);if(!response.ok||!payload)throw new Error(clean(payload?.error)||\"PCG image analysis provider failed (\"+response.status+\").\");\n  const results=Array.isArray(payload.results)?payload.results:[];let ready=0,reviewNeeded=0;\n  for(const card of rows){\n    const result=results.find((entry:any)=>clean(entry?.card_id)===String(card.id)),meta=(card.metadata&&typeof card.metadata===\"object\"?card.metadata:{}) as Record<string,any>;\n    if(!result){reviewNeeded+=1;await admin.from(\"card_grading_cards\").update({metadata:{...meta,pcg_ai:{status:\"review_needed\",requested_purpose:purpose,reason:\"provider_result_missing\",field_confidence:{},human_review_required:true,updated_at:stamp}},updated_at:stamp}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);continue}\n    if(purpose===\"metadata\"){\n      const fields=(result.fields&&typeof result.fields===\"object\"?result.fields:{}) as Record<string,any>,scores=(result.field_confidence&&typeof result.field_confidence===\"object\"?result.field_confidence:{}) as Record<string,any>,updates:Record<string,unknown>={};\n      const use=(field:string,column:string,current:unknown)=>{const value=fields[field],score=confidence(scores[field]);if(score>=0.9&&(current==null||clean(current)===\"\")&&value!=null&&clean(value)!==\"\")updates[column]=value};\n      use(\"player_name\",\"player_character\",card.player_character);use(\"year\",\"year\",card.year);use(\"brand_set\",\"brand_set\",card.brand_set);if(!updates.brand_set)use(\"manufacturer\",\"brand_set\",card.brand_set);use(\"card_number\",\"card_number\",card.card_number);use(\"sport\",\"category\",card.category);use(\"variation\",\"variation\",card.variation);if(!updates.variation)use(\"parallel\",\"variation\",card.variation);use(\"description\",\"card_description\",card.card_description);\n      if(card.autograph_present==null&&typeof fields.autograph_present===\"boolean\"&&confidence(scores.autograph_present)>=0.9)updates.autograph_present=fields.autograph_present;\n      const needsReview=Object.keys(scores).some(key=>confidence(scores[key])<0.9)||result.review_required===true;needsReview?reviewNeeded+=1:ready+=1;\n      updates.metadata={...meta,pcg_ai:{status:needsReview?\"review_needed\":\"ready\",requested_purpose:\"metadata\",field_confidence:scores,suggestions:fields,human_review_required:needsReview,updated_at:stamp}};updates.updated_at=stamp;\n      const{error:updateError}=await admin.from(\"card_grading_cards\").update(updates).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);if(updateError)throw updateError;\n    }else{\n      const grade=result.grade&&typeof result.grade===\"object\"?result.grade:result,score=confidence(grade.confidence),reasons=Array.isArray(grade.reasons)?grade.reasons.map((value:unknown)=>clean(value)).filter(Boolean):[];\n      const auto_grader={status:\"preliminary\",suggested_grade:grade.suggested_grade??null,confidence:score,centering:grade.centering??null,corners:grade.corners??null,edges:grade.edges??null,surface:grade.surface??null,visible_defects:Array.isArray(grade.visible_defects)?grade.visible_defects:[],reasons,human_approval_required:true,approved:false,updated_at:stamp};\n      score<0.9||grade.suggested_grade==null?reviewNeeded+=1:ready+=1;\n      const{error:updateError}=await admin.from(\"card_grading_cards\").update({metadata:{...meta,auto_grader,pcg_ai:{...(meta.pcg_ai||{}),status:score<0.9?\"review_needed\":\"ready\",requested_purpose:\"grade\",human_review_required:true,updated_at:stamp}},updated_at:stamp}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);if(updateError)throw updateError;\n    }\n  }\n  return json({ok:true,purpose,analyzed:rows.length,ready,review_needed:reviewNeeded,official_grade_changed:false,human_approval_required:purpose===\"grade\"})\n}\nasync function rehomeCards(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),targetSubmissionId=clean(body.target_submission_id),cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,100);\n  if(!tenantId||!targetSubmissionId||!cardIds.length)return json({ok:false,error:\"Destination customer/order and cards are required.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:google.error},409);\n  const targetFolder=await ensureCustomerFolder(admin,tenantId,google.accessToken,google.metadata,targetSubmissionId);\n  const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(error)throw error;\n  for(const card of cards||[]){\n    const meta=(card.metadata&&typeof card.metadata===\"object\"?card.metadata:{}) as Record<string,any>,drive=meta.drive_media||{},fileIds=[drive.front_file_id,drive.back_file_id,drive.slab_file_id].map((value:unknown)=>clean(value)).filter(Boolean);\n    for(const fileId of fileIds){const probe=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?fields=id,parents\",{headers:{Authorization:\"Bearer \"+google.accessToken}});const info=await probe.json().catch(()=>({}));if(!probe.ok)throw new Error(clean(info?.error?.message)||\"Could not inspect a PCG Drive image before reassignment.\");const parents=Array.isArray(info.parents)?info.parents.map((value:unknown)=>clean(value)).filter(Boolean):[];const remove=parents.filter((value:string)=>value!==targetFolder).join(\",\");const moved=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?addParents=\"+encodeURIComponent(targetFolder)+(remove?\"&removeParents=\"+encodeURIComponent(remove):\"\")+\"&fields=id,parents\",{method:\"PATCH\",headers:{Authorization:\"Bearer \"+google.accessToken}});if(!moved.ok)throw new Error(\"Could not move a PCG Drive image to the destination customer folder.\")}\n    const{error:updateError}=await admin.from(\"card_grading_cards\").update({submission_id:targetSubmissionId,metadata:{...meta,customer_reassigned_at:new Date().toISOString()},updated_at:new Date().toISOString()}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);if(updateError)throw updateError;\n  }\n  return json({ok:true,moved:(cards||[]).length,target_submission_id:targetSubmissionId})\n}\nasync function deleteCards(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,100);\n  if(!tenantId||!cardIds.length)return json({ok:false,error:\"Choose cards to remove.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(error)throw error;\n  const fileIds=[...new Set((cards||[]).flatMap((card:any)=>{const drive=card?.metadata?.drive_media||{};return[drive.front_file_id,drive.back_file_id,drive.slab_file_id]}).map((value:unknown)=>clean(value)).filter(Boolean))];\n  if(fileIds.length){const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:\"PCG Drive must be available before removing managed card images.\"},409);for(const fileId of fileIds){if(!await deleteDriveFile(google.accessToken,fileId))throw new Error(\"A managed PCG Drive image could not be removed. No database card records were deleted.\")}}\n  const{error:deleteError}=await admin.from(\"card_grading_cards\").delete().eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(deleteError)throw deleteError;\n  return json({ok:true,deleted:(cards||[]).length,drive_files_deleted:fileIds.length})\n}\n\nserve(async(req)=>{\n  if(req.method===\"OPTIONS\")return new Response(null,{headers:cors});\n  const admin=createClient(SUPABASE_URL,SERVICE_ROLE),url=new URL(req.url);\n  if(req.method===\"GET\"&&url.pathname.endsWith(\"/health\"))return json({ok:true,service:\"pcg-google-drive-media\",version:FUNCTION_VERSION,master_storage:\"tenant_google_workspace_drive\",customer_folders:true,analysis_boundary:{provider_configured:Boolean(VISION_ENDPOINT),provider_neutral:true,auto_grade_is_preliminary:true,human_approval_required:true},public_delivery:\"signed_stream_with_preview_cache\",legacy_import:{owner_only:true,https_only:true,max_bytes:MAX_LEGACY_IMAGE_BYTES,hosts:Array.from(LEGACY_IMAGE_HOSTS)},pipeline_canary:{owner_only:true,scenarios:[\"single\",\"batch\"],cleanup:true}});\n  try{\n    if((req.method===\"GET\"||req.method===\"HEAD\")&&url.pathname.endsWith(\"/media\"))return await serveMedia(req,admin,url);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/upload\"))return await uploadMedia(req,admin,url);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/analyze-card\"))return await analyzeCards(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/rehome-cards\"))return await rehomeCards(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/delete-cards\"))return await deleteCards(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/import-url\"))return await importLegacyUrl(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/canary\"))return await runPipelineCanary(req,admin);\n    return json({ok:false,error:\"Method not allowed\"},405);\n  }catch(error){\n    console.error(\"[pcg-google-drive-media]\",error);\n    return json({ok:false,error:error instanceof Error?error.message:\"PCG Google Drive media failed.\"},500);\n  }\n});\n"},{"path":"config/capabilities/pcg-card-grading-modes.json","content":"{\"schemaVersion\":1,\"id\":\"pcg-card-grading-modes\",\"owner\":\"KNOCKLAUNCH Core\",\"surfaces\":[\"src/pages/card-grading/PCGCanonicalWorkspaceRoute.tsx\",\"src/pages/card-grading/PCGModesWorkspace.tsx\",\"src/pages/card-grading/PCGCompletionCenter.tsx\",\"src/pages/card-grading/PCGBatchPublishingCenter.tsx\",\"src/pages/whats-my-progress/PCGWhatsMyProgressHome.tsx\",\"src/pages/whats-my-progress/WhatsMyProgressTenantHome.tsx\",\"src/pages/card-grading/PCGWorkspace.tsx\",\"src/pages/connections/TenantConnections.tsx\",\"src/pages/card-grading/PCGLegacyMigrationCenter.tsx\",\"src/pages/card-grading/PCGPublicSite.tsx\",\"src/pages/card-grading/PCGOnboardingReadiness.tsx\",\"src/pages/card-grading/PCGReceiveCardsGallery.tsx\"],\"dependencies\":{\"backendRuntime\":[\"supabase/functions/pcg-legacy-import\",\"supabase/functions/pcg-google-drive-media\",\"supabase/functions/pcg-customer-progress\",\"supabase/functions/customer-portal\",\"supabase/functions/pcg-commerce-publisher\",\"supabase/functions/pcg-commerce-webhook\",\"supabase/functions/send-email\"],\"providers\":[{\"id\":\"google_workspace\",\"optional\":true,\"unavailableState\":\"prerequisite_required\"},{\"id\":\"pcg_website\",\"optional\":true,\"unavailableState\":\"prerequisite_required\"},{\"id\":\"ebay\",\"optional\":true,\"unavailableState\":\"prerequisite_required\"},{\"id\":\"vision_inference\",\"optional\":true,\"unavailableState\":\"review_needed\"}]},\"lifecycle\":{\"states\":[\"prepare\",\"deploy\",\"verify\",\"activate\"],\"compatibilityWindow\":[\"N\",\"N-1\"],\"activationRequirements\":[\"schema and tenant-scoped data ready\",\"frontend and edge runtime ready\",\"production route and customer-progress proof\",\"commerce publisher returns truthful per-channel state\",\"PCG Google Workspace Drive owns new master card imagery or intake returns prerequisite_required\",\"Drive-backed signed media delivery serves workspace, WMP, website and commerce without public Drive folders\",\"legacy migration supports staged dry-run, dedupe/review reconciliation, and explicit owner commit before canonical writes\",\"public PCG preview uses canonical tenant profile and safe certification lookup before custom-domain cutover\",\"canonical authenticated owner workspace /pcg/workspace remains distinct from the public PCG /pcg/ marketing surface\",\"canonical PCG submissions link collector identity and return address through tenant-scoped unified_contacts while return shipment method/cost/coverage remain submission-scoped and private street address never enters WMP\",\"owner-only PCG pipeline canary proves single and batch against the live Google Drive and canonical lifecycle with cleanup\",\"Receive Cards requires explicit customer/order selection before any new card image write\",\"new PCG master card imagery is stored under customer-scoped Google Drive folders and reassignment moves managed Drive masters with canonical ownership\",\"Receive Cards provides a responsive thumbnail gallery with multi-select, Select All, Edit/Add Details, Move to Grade Cards, Auto Grade Selected, Move/Assign Customer and safe Delete/Remove\",\"card image metadata analysis persists per-field confidence and review state; high-confidence blank fields may be auto-filled while uncertain values remain review-needed\",\"Auto Grader output is preliminary only, persists reasons/confidence/condition signals, and cannot set the official PCG grade without human approval\",\"when no canonical vision provider is configured the analysis boundary fails closed as review_needed and never invents card metadata or grades\"]},\"gradingScale\":{\"source\":\"src/pages/card-grading/pcgGradingScale.ts\",\"publicReference\":\"https://www.pcgslab.com/grading\",\"persistence\":{\"numeric\":\"card_grading_cards.grade\",\"designation\":\"card_grading_cards.grade_label\"}},\"release\":{\"runtimeFirst\":true},\"canary\":{\"required\":true,\"ownerOnly\":true,\"surface\":\"src/pages/card-grading/PCGOnboardingReadiness.tsx\",\"runtime\":\"supabase/functions/pcg-google-drive-media\",\"receipt\":\"tenant_readiness_checks:pcg_pipeline_canary\",\"scenarios\":[\"single\",\"batch\"],\"proves\":[\"tenant Google Drive write\",\"Drive retry dedupe\",\"signed media delivery\",\"canonical submission/card writes\",\"grading transition guards\",\"official grade/cert progression\",\"shipping tracking guard\",\"WMP canonical lookup\",\"synthetic cleanup\"],\"forbids\":[\"customer email\",\"commerce publishing\",\"real customer mutation\"]},\"proofLedger\":{\"authority\":\"command_center_mission_ledger\",\"bind\":[\"request_contract_hash\",\"source_sha\",\"release_receipt\",\"runtime_identity\",\"canary\",\"activation_state\",\"drift_state\",\"quarantine_state\"]},\"analysis\":{\"runtime\":\"supabase/functions/pcg-google-drive-media\",\"metadataEndpoint\":\"/analyze-card\",\"providerNeutral\":true,\"unconfiguredState\":\"review_needed\",\"officialGradeMutation\":false,\"humanApprovalRequired\":true}}"},{"path":"src/__tests__/contracts/card-grading-application.contract.test.ts","content":"import fs from 'node:fs';\nimport path from 'node:path';\nimport {describe,expect,it} from 'vitest';\nconst read=(file:string)=>fs.readFileSync(path.join(process.cwd(),file),'utf8');\ndescribe('Card Grading first-class application',()=>{\n it('is registered and tenant bounded',()=>{const registry=read('src/config/applicationCapabilityRegistry.ts'),shell=read('src/PrivateAppShell.tsx');expect(registry).toContain(\"'card-grading': workspaceContract(\");expect(registry).toContain(\"app('card-grading', 'Card Grading'\");expect(shell).toContain('FirstClassAppTenantBoundary appSlug=\"card-grading\"')});\n it('provides QA and population surfaces',()=>{expect(read('src/pages/crm/PcgWorkspace.tsx')).toContain('PCGQualityControlPanel');expect(read('src/pages/card-grading/PCGModesWorkspace.tsx')).toContain('CardGradingPopulationReport')});\n it('ships canonical migration source',()=>{const migration=read('supabase/migrations/20260930015105_card_grading_application_v1.sql');expect(migration).toContain('card_grading_certificates');expect(migration).toContain('card_grading_qc_reviews');expect(migration).toContain('card_grading_population_report');expect(migration).toContain('security_invoker')});\n it('keeps current public records behind published certificates',()=>{const fn=read('supabase/functions/pcg-customer-progress/index.ts');expect(fn).toContain(\"from('card_grading_public_certificates')\");expect(fn).toContain(\"from('card_grading_population_report')\")});\n it('ships customer-first gallery intake with bulk actions',()=>{const gallery=read('src/pages/card-grading/PCGReceiveCardsGallery.tsx'),modes=read('src/pages/card-grading/PCGModesWorkspace.tsx');expect(gallery).toContain('Choose customer/order first');expect(gallery).toContain('data-pcg-receive-cards-gallery');expect(gallery).toContain('Move to Grade Cards');expect(gallery).toContain('Auto Grade Selected');expect(gallery).toContain('Move/Assign Customer');expect(gallery).toContain('Delete / Remove');expect(modes).not.toContain(\"{id:'vault',label:'Capture Cards'}\")});\n it('keeps PCG image analysis preliminary and fail-closed',()=>{const fn=read('supabase/functions/pcg-google-drive-media/index.ts');expect(fn).toContain('KNOCKLAUNCH_VISION_ENDPOINT');expect(fn).toContain('vision_provider_unconfigured');expect(fn).toContain('official_grade_changed:false');expect(fn).toContain('human_approval_required:true');expect(fn).toContain('ensureCustomerFolder');expect(fn).toContain('/rehome-cards');expect(fn).toContain('/delete-cards')});\n});"}],"title":"PCG customer-first gallery intake and auto grader","branch":"ai/objective-first-repair-5791b1233557","writes":[],"patches":[],"version":1,"approved":true,"missionId":"5791b123-3557-4cb6-ab08-4274f5632f18","sourceSha":"5f90ea50f6cb2ad5aeb8454933982bffc0b94aea","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/card-grading/PCGReceiveCardsGallery.tsx","src/pages/crm/PcgWorkspace.tsx","src/pages/card-grading/PCGModesWorkspace.tsx","supabase/functions/pcg-google-drive-media/index.ts","config/capabilities/pcg-card-grading-modes.json","src/__tests__/contracts/card-grading-application.contract.test.ts"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"5791b123-3557-4cb6-ab08-4274f5632f18","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/card-grading/PCGReceiveCardsGallery.tsx","src/pages/crm/PcgWorkspace.tsx","src/pages/card-grading/PCGModesWorkspace.tsx","supabase/functions/pcg-google-drive-media/index.ts","config/capabilities/pcg-card-grading-modes.json","src/__tests__/contracts/card-grading-application.contract.test.ts"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"7079c374cc468cc6bdee4415f4898178a0b35d4c64bb7486df4bd708fa1d56a7","replayCount":0,"serializedBytes":171637},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T00:46:46.729548+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:5791b123-3557-4cb6-ab08-4274f5632f18:repository-mutation-intent:7079c374cc468cc6bdee4415f4898178a0b35d4c64bb7486df4bd708fa1d56a7:0","mission_step_id":"d1f894c3-d1cf-4951-a680-86e506612eaa","command_center_event_id":"5791b123-3557-4cb6-ab08-4274f5632f18"},{"id":"a18cb424-9dd0-4019-9b4d-59e7ff6c96e2","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze control plane only for the existing watchdog-v4 mission and correct its stale hard-safety regression expectation from watchdog policy v3 to the already-live watchdog policy v4. Change no runtime logic, thresholds, budgets, release architecture, or unrelated product code.","wordingChanged":false,"canonicalIntent":"Unfreeze control plane only for the existing watchdog-v4 mission and correct its stale hard-safety regression expectation from watchdog policy v3 to the already-live watchdog policy v4. Change no runtime logic, thresholds, budgets, release architecture, or unrelated product code.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"v4-regression-aligned","statement":"Current Forgejo main regression coverage asserts watchdog policy v4, matching the already-live watchdog v4 source.","proofConditionIds":["repo-v4-regression"]}],"objective":"Unfreeze control plane only for the existing watchdog-v4 mission and correct its stale hard-safety regression expectation from watchdog policy v3 to the already-live watchdog policy v4. Change no runtime logic, thresholds, budgets, release architecture, or unrelated product code.","constraints":[{"id":"one-test-only","statement":"Only the stale watchdog policy expectation in the existing command-center host-capacity contract test may change; runtime watchdog logic, thresholds, budgets, and unrelated code remain untouched.","proofConditionIds":["repo-v4-regression"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo-v4-regression"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo-v4-regression"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-v4-regression","kind":"repository","claim":"Current Forgejo main contains WATCHDOG_POLICY_VERSION=\"forgejo-proactive-memory-v4\" in both the watchdog source and its hard-safety regression expectation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Unfreeze-control-plane-only-for-the-existing-watchdog-v4-mission-and-correct-its-stale-hard-safety-r","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["repo-v4-regression"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"54f04247f88ece8eea5d191b8c7222ea931bdc35976eb685d61c29e480b7745c","requestContractRevision":2,"previousRequestContractHash":"45b56a73d24886aa924dd4826543530d87962b0a562cc6e92c8062c6c3a5899f"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T19:36:40.701089+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:eaaa6005-2aeb-4d20-97a2-bcd8584f09ee:request-contract:54f04247f88ece8eea5d191b8c7222ea931bdc35976eb685d61c29e480b7745c","mission_step_id":"6da7dc39-038e-412a-83e3-b2b3498f5668","command_center_event_id":"eaaa6005-2aeb-4d20-97a2-bcd8584f09ee"},{"id":"a18daa25-ff28-4c4f-9a14-f3c9c4183569","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-968620f866f2","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":12441,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":33484,"firstUsefulResultAt":"2026-09-24T20:36:18.895Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3674,"terminal":false,"missionId":"968620f8-66f2-4856-b48c-9d9a77f06ea5","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"9cb64fb8fde99ddc5689c8ab011e11eee960bcdf","timingsMs":{"prReadinessMs":579,"approvedPlanMs":0,"shipAndProveMs":3190,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"968620f8-66f2-4856-b48c-9d9a77f06ea5"},"performance":null,"deploymentId":"forgejo-main-9cb64fb8fde9","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1925,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T20:37:18.062825+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3674","receipt_type":"automatic_mission_resume","idempotency_key":"mission:968620f8-66f2-4856-b48c-9d9a77f06ea5:automatic-mission-resume:3674:canonical_release_reconciliation_pending","mission_step_id":"e3261825-1706-4d6b-a117-2f00b259f405","command_center_event_id":"968620f8-66f2-4856-b48c-9d9a77f06ea5"},{"id":"a1901ef3-f03a-4fdc-9b69-63a3e9eeba5a","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"ec028021c257c3436381810b833a96dda2501edc","sourceSha":"74cf25be9afe6dbb19f993459ad55281f8a67640","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T21:48:06.939313+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"74cf25be9afe6dbb19f993459ad55281f8a67640","external_id":"canonical-release-74cf25be9afe","receipt_type":"canonical_release_status","idempotency_key":"mission:2e91291b-5b2a-455a-95db-7d14f6a46e56:forgejo-release-ancestry:74cf25be9afe6dbb19f993459ad55281f8a67640:ec028021c257c3436381810b833a96dda2501edc:ancestry_read_retryable","mission_step_id":"3aae4b32-614d-4fd9-b2df-6a88a3ae56a2","command_center_event_id":"2e91291b-5b2a-455a-95db-7d14f6a46e56"},{"id":"a1914367-a58b-4c45-a569-54a2dc0e4e06","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-calendar-doubleclick","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.212-parallel-patch-planning","prNumber":3406,"terminal":false,"missionId":"e1c12577-4e1e-4d8c-b1a8-1dfefd7dd6f6","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1130,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":893,"approvedPlanMs":0,"missionSetupMs":524,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":253,"ledgerReconcileMs":0,"lineageReconcileMs":271,"resolvePreflightMs":524,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":253,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"e1c12577-4e1e-4d8c-b1a8-1dfefd7dd6f6"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1967,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T10:29:52.629884+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3406","receipt_type":"execute_mission","idempotency_key":"mission:e1c12577-4e1e-4d8c-b1a8-1dfefd7dd6f6:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"f1006bdf-9341-4607-b8f2-6093c31754d4","command_center_event_id":"e1c12577-4e1e-4d8c-b1a8-1dfefd7dd6f6"},{"id":"a19335b6-41c5-4fca-9a9e-dbbd7289379f","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":"authoritative_source_resolution_failed","status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.66.0-stopless-capability-routing","prNumber":null,"terminal":false,"missionId":"ee9ff408-1f93-4c6d-9334-ffa6dd402c19","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2243,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":592,"providerAuthMs":0,"ledgerPrepareMs":592,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":592,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":592,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"ee9ff408-1f93-4c6d-9334-ffa6dd402c19"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1665,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:40:58.602355+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ee9ff408-1f93-4c6d-9334-ffa6dd402c19:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"3160dc66-2fc3-42d4-bca4-e1e7e5a450e7","command_center_event_id":"ee9ff408-1f93-4c6d-9334-ffa6dd402c19"},{"id":"a193c425-ba17-4158-950f-8b811017d1e0","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-fa9b774e5854","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.223-durable-witness-lane-affinity","prNumber":3547,"terminal":false,"missionId":"fa9b774e-5854-4ec3-935f-dc4fe5c4e31e","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6259,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1072,"missionSetupMs":367,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":367,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":367,"repositoryMutationMs":5187,"repositoryProviderMs":5187,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2681,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":367,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2506},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"fa9b774e-5854-4ec3-935f-dc4fe5c4e31e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3732,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T20:33:29.813981+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3547","receipt_type":"execute_mission","idempotency_key":"mission:fa9b774e-5854-4ec3-935f-dc4fe5c4e31e:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"380a00cb-ccf8-4228-bc4c-f0e8b5662385","command_center_event_id":"fa9b774e-5854-4ec3-935f-dc4fe5c4e31e"},{"id":"a1987aa2-23f6-49e6-86b3-fe7f74ae2f17","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T08:33:13.056202+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5163,\"sourceSha\":\"d059e784c8fb33ceeb0e36baec00e818ef3753e8\",\"deploymentId\":\"forgejo-main-d059e784c8fb\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T06:43:03.060022+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6cd825d0-ddfe-4532-8e8e-5f72704f5be5:owner-progress-heartbeat:119417932","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"a19b015e-7921-4b2f-a62b-83eb696a5cc4","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"07d9ebfbbf41bcd52a9be264a5ead540627ce676","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"07d9ebfbbf41bcd52a9be264a5ead540627ce676","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"b1995e2480bff194ecf3a19cfd04bc9f23b959c57504375f4563a4d30174586c","forgejoWorkflowProof":{"runId":12834,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success"},"targetJobCount":6,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"07d9ebfbbf41bcd52a9be264a5ead540627ce676","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-07d9ebfbbf41bcd52a9be264a5ead540627ce676","compareStatus":"target_job_success_runtime_verified","workflowRunId":12834,"identitySource":"canonical_release_target_job","runtimeVersion":"1.62.0-mission-freedom-cloudflare-primary","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T01:50:28.035686+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"07d9ebfbbf41bcd52a9be264a5ead540627ce676","external_id":"forgejo-main-07d9ebfbbf41","receipt_type":"canonical_release_status","idempotency_key":"mission:3859accb-2d55-4af2-a54b-4c8c70c7e274:forgejo-release-status:07d9ebfbbf41bcd52a9be264a5ead540627ce676:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"5b874abf-d2b8-4912-ad31-dc2ba3503260","command_center_event_id":"3859accb-2d55-4af2-a54b-4c8c70c7e274"},{"id":"a19b4d42-850c-44f4-b9c6-a3207c8b257b","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"ac576e64a8503ca81653f0129808c50b6f12db5f","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"ac576e64a8503ca81653f0129808c50b6f12db5f","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"06acccbf3d9fe38e3e6d09d060ea0cc21132dbb03402d44b074d6376b2030ce9","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/9602","runId":9602,"status":"success","sourceSha":"ac576e64a8503ca81653f0129808c50b6f12db5f","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T14:58:25.881629+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"ac576e64a8503ca81653f0129808c50b6f12db5f","external_id":"forgejo-main-ac576e64a850","receipt_type":"canonical_release_status","idempotency_key":"mission:e8387d6e-ce37-46bb-b4d8-922b91745062:forgejo-release-status:ac576e64a8503ca81653f0129808c50b6f12db5f:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"aedb25fe-2893-4556-8136-b4a87857294e","command_center_event_id":"e8387d6e-ce37-46bb-b4d8-922b91745062"},{"id":"a19c1b16-bf11-4475-88e8-93dc61b35c97","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"4b9cb80d6422ae7c6c628a4d008f37b608a008c7","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"4b9cb80d6422ae7c6c628a4d008f37b608a008c7","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false},"requestContractHash":"c5d53d3052ff09f3486ce9919e1895acdbaaa22f603d60c907065b36bd98c1a0","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"4206f2592ee412294c6367d4b3596b2c9752b2e9","deploymentId":"forgejo-main-4206f2592ee412294c6367d4b3596b2c9752b2e9","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.54.0-intent-canonicalization","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T22:02:28.422621+00:00","proof_gate":"canonical_release_pending","source_sha":"4b9cb80d6422ae7c6c628a4d008f37b608a008c7","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:e5645f35-64c4-4ea3-825e-6de1aa23bc00:forgejo-release-status:4b9cb80d6422ae7c6c628a4d008f37b608a008c7:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"d6cc56a5-dedd-47d2-bb85-ae63f4e67975","command_center_event_id":"e5645f35-64c4-4ea3-825e-6de1aa23bc00"},{"id":"a19df53f-ce1e-44a8-9edd-7019e4b86161","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.18-repair-continuation-release","prNumber":4104,"terminal":false,"missionId":"9dfb59cd-c46d-4e50-a6d0-e0c4d9d48747","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"9e6dd52c8571efc78e58ca3e15a123ee5d8515aa","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"9dfb59cd-c46d-4e50-a6d0-e0c4d9d48747"},"performance":null,"deploymentId":"canonical-release-9e6dd52c8571","workflowRunId":31063132888,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1204,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-06T01:34:42.737198+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"9e6dd52c8571efc78e58ca3e15a123ee5d8515aa","external_id":"canonical-release-9e6dd52c8571","receipt_type":"ship_and_prove","idempotency_key":"mission:9dfb59cd-c46d-4e50-a6d0-e0c4d9d48747:ship_and_prove:ship_and_prove_release_pending","mission_step_id":"d6cbcf6d-7c1b-48ff-b5da-e1ba17649f65","command_center_event_id":"9dfb59cd-c46d-4e50-a6d0-e0c4d9d48747"},{"id":"a19e1afc-ba33-4452-9a0c-b06f81ef8130","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","render-onrunner/runtime-proof":"pending"},"mainSha":"c34f8795feb080dad23f2e3d92181f43f3e3557b","missing":[],"pending":["forgejo-release/workflow","render-onrunner/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","render-onrunner/runtime-proof"],"sourceSha":"c34f8795feb080dad23f2e3d92181f43f3e3557b","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"pending"},"requestContractHash":"6ac3f011638741bf21ef38b986847883c51e6d9c2faa19dca11abd9e4c443f9e","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5858","runId":5858,"status":"running","sourceSha":"c34f8795feb080dad23f2e3d92181f43f3e3557b","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"onrunner":"pending"},"targetJobCount":7,"observedTargetStates":{"onrunner":"pending"}},"onrunnerRuntimeProof":{"reason":"The operation was aborted due to timeout","hostedUrl":"https://knocklaunchcrm.onrender.com","exactSource":false,"liveSourceSha":null,"expectedSourceSha":"c34f8795feb080dad23f2e3d92181f43f3e3557b"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T15:34:25.099729+00:00","proof_gate":"canonical_release_pending","source_sha":"c34f8795feb080dad23f2e3d92181f43f3e3557b","external_id":"forgejo-main-c34f8795feb0","receipt_type":"canonical_release_status","idempotency_key":"mission:ceca896d-fdba-46d8-b4c8-47627d80a0ec:forgejo-release-status:c34f8795feb080dad23f2e3d92181f43f3e3557b:pending:forgejo-main/source=success|forgejo-release/workflow=pending|render-onrunner/runtime-proof=pending","mission_step_id":"a68aadda-c74d-4242-8ad6-6fd44e4a29a4","command_center_event_id":"ceca896d-fdba-46d8-b4c8-47627d80a0ec"},{"id":"a1a11132-da5a-44c1-b4ab-69945a3c1034","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3cc342e3e98e","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":22319,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"executorlessWaitMs":65675,"firstUsefulResultAt":"2026-09-29T02:27:18.488Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":4084,"terminal":false,"missionId":"3cc342e3-e98e-4eaf-a983-1630a595655e","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5541,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"3cc342e3-e98e-4eaf-a983-1630a595655e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:28:24.183181+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4084","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3cc342e3-e98e-4eaf-a983-1630a595655e:automatic-mission-resume:4084:repair_mission_pr_ready_retryable","mission_step_id":"a8cac928-5390-46a6-8283-85760d4f185d","command_center_event_id":"3cc342e3-e98e-4eaf-a983-1630a595655e"},{"id":"a1a21291-a569-45fb-85ff-99ea094bb377","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5b6d37f468aa","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":7655,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-29T03:20:11.439Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.63.1-resumed-pr-delivery-safe","prNumber":4096,"terminal":false,"missionId":"5b6d37f4-68aa-4a81-9a01-a7893262b15f","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4397,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":654,"missionSetupMs":273,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":273,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":273,"repositoryMutationMs":3743,"repositoryProviderMs":3743,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2274,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":273,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1469},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"5b6d37f4-68aa-4a81-9a01-a7893262b15f"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3383,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:20:16.635879+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4096","receipt_type":"execute_mission","idempotency_key":"mission:5b6d37f4-68aa-4a81-9a01-a7893262b15f:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"e5f67197-271b-4feb-972f-dceb1921eb5b","command_center_event_id":"5b6d37f4-68aa-4a81-9a01-a7893262b15f"},{"id":"a1a33f86-9166-4dba-9041-8f4f43f2ae03","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-352c0de81db6","prNumber":4140,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"e0f0c5946de91f73091dc6eeb7166d2211865b39","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T15:56:26.711058+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"e0f0c5946de91f73091dc6eeb7166d2211865b39","external_id":"4140","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:352c0de8-1db6-441a-b1ac-794fd2718924:merged-pr:4140:e0f0c5946de91f73091dc6eeb7166d2211865b39","mission_step_id":"4995647a-795c-4c3e-bb26-968172345eb1","command_center_event_id":"352c0de8-1db6-441a-b1ac-794fd2718924"},{"id":"a1a43958-f53b-4cd1-ab6f-4e003308b552","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"retryable","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"77f7c671-6ebe-7e32-65dc-50070ff85e2b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:c84fd408-f5c9-4f2f-b26f-14bbbbee4602","mission_step_id":null,"command_center_event_id":"c84fd408-f5c9-4f2f-b26f-14bbbbee4602"},{"id":"a1a5237f-e28e-4608-a3f8-6e0d6ecef7bb","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"find":"  const modesShell =\n    tenantUsesModesRouteFallback(tenant)\n    && applicationMode !== 'standalone'\n    && !isSelfContainedBigPapisWorkspace\n    && !isSelfContainedPcgWorkspace;","path":"src/shells/TenantOwnedShellBoundary.tsx","replace":"  const tennexOwnsApplicationRoutes = tenantSlug === 'tennex' || tenantSlug === 'tennex-tax-solutions';\n  const modesShell =\n    tenantUsesModesRouteFallback(tenant)\n    && (tennexOwnsApplicationRoutes || applicationMode !== 'standalone')\n    && !isSelfContainedBigPapisWorkspace\n    && !isSelfContainedPcgWorkspace;"}],"branch":"ai/objective-first-repair-087c36fd86a5","writes":[],"patches":[],"version":1,"approved":true,"missionId":"087c36fd-86a5-4764-8931-33070ebf851b","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/TenantOwnedShellBoundary.tsx"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"087c36fd-86a5-4764-8931-33070ebf851b","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/TenantOwnedShellBoundary.tsx"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"2c1536f973e9b3a8fedf6da9ca619995087086f85ff96af72c37da5c270a73be","replayCount":0,"serializedBytes":1585},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T21:15:17.450298+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:087c36fd-86a5-4764-8931-33070ebf851b:repository-mutation-intent:2c1536f973e9b3a8fedf6da9ca619995087086f85ff96af72c37da5c270a73be:0","mission_step_id":"44b40b1e-8464-4cf9-94e3-f76a9414ac42","command_center_event_id":"087c36fd-86a5-4764-8931-33070ebf851b"},{"id":"a1a5ad39-6647-44fc-b44a-42e4a57961c0","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":null,"reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":3759,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.2-queue-readiness-budget","prNumber":1038,"terminal":false,"missionId":"a08cdc5d-6c95-499e-8e89-ac4bf20b6681","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":4601,"prReadinessMs":4590,"approvedPlanMs":0,"missionSetupMs":1580,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"a08cdc5d-6c95-499e-8e89-ac4bf20b6681"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6261,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T19:01:16.988603+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1038","receipt_type":"execute_mission","idempotency_key":"mission:a08cdc5d-6c95-499e-8e89-ac4bf20b6681:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"5d427386-8c7a-44f3-8b59-5c3f37fde7dd","command_center_event_id":"a08cdc5d-6c95-499e-8e89-ac4bf20b6681"},{"id":"a1a8e41f-2bd6-4fa5-8f48-b70f7ac71d47","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.3-direct-scoped-patch","prNumber":4237,"terminal":false,"missionId":"a450f357-7c40-4e94-a73f-cd7e44b9063f","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"8feef7558ff62c42434eedad2c9a6d69d38dd9cc","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"a450f357-7c40-4e94-a73f-cd7e44b9063f"},"performance":null,"deploymentId":"canonical-release-172038a8272b","workflowRunId":31204628884,"releaseTargets":{"frontend":false,"onrunner":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["cc-tools"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1104,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-07T17:56:32.573549+00:00","proof_gate":"canonical_release_dispatched","source_sha":"8feef7558ff62c42434eedad2c9a6d69d38dd9cc","external_id":"canonical-release-172038a8272b","receipt_type":"ship_and_prove","idempotency_key":"mission:a450f357-7c40-4e94-a73f-cd7e44b9063f:ship_and_prove:canonical_release_dispatched","mission_step_id":"80fe42df-e454-40ba-9aa8-103f7aa44699","command_center_event_id":"a450f357-7c40-4e94-a73f-cd7e44b9063f"},{"id":"a1aa41d3-a50c-40c1-bba9-43468086051d","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_request_contract_required","fingerprint":"ad28d24853ff21835635ff15b5a2c1ea23ba6cf930a431e984625f39bc19bffa"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T16:57:19.515547+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:898aab7f-110a-465c-a8de-27a572b974aa:repository-mutation-intent-blocked:ad28d24853ff21835635ff15b5a2c1ea23ba6cf930a431e984625f39bc19bffa","mission_step_id":"3140959d-c1e9-4762-99d4-d67aa503a0b2","command_center_event_id":"898aab7f-110a-465c-a8de-27a572b974aa"},{"id":"a1ac6b60-4afd-45f8-b73f-e617de6cf369","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-c5c5938e33e7","prNumber":3914,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"301e9d09074b843ad7cca8a7f1532232cf9c57be","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T22:31:49.2353+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"301e9d09074b843ad7cca8a7f1532232cf9c57be","external_id":"3914","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:c5c5938e-33e7-4744-ba9a-5a339bfa91d2:merged-pr:3914:301e9d09074b843ad7cca8a7f1532232cf9c57be","mission_step_id":"ef5deaed-8630-40da-9d7e-d549826d1e06","command_center_event_id":"c5c5938e-33e7-4744-ba9a-5a339bfa91d2"},{"id":"a1aceaa7-0927-4a38-a6c6-b235bebab1d6","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ca346bffc160","reason":"retryable_provider_transport:pr_ready_timeout_budget_exhausted","status":"retryable","metrics":{"receiptBytes":64215,"releaseCount":0,"toolCallCount":26,"repeatedCallCount":20,"executorlessWaitMs":872620,"firstUsefulResultAt":"2026-10-04T16:01:19.904Z","recoveryAttemptCount":22,"ownerInterruptionCount":0},"version":null,"prNumber":4822,"terminal":false,"missionId":"ca346bff-c160-4ceb-90ee-a9b4ded1bf1e","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":3001,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"ca346bff-c160-4ceb-90ee-a9b4ded1bf1e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":827,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T16:02:37.223374+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4822","receipt_type":"automatic_mission_resume","idempotency_key":"mission:ca346bff-c160-4ceb-90ee-a9b4ded1bf1e:automatic-mission-resume:4822:repair_mission_pr_ready_retryable","mission_step_id":"b281579c-4607-44ff-ae4e-19bee1e8feab","command_center_event_id":"ca346bff-c160-4ceb-90ee-a9b4ded1bf1e"},{"id":"a1b0204f-72bf-4452-aa12-b8f910046db3","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-65dfaf9c1483","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"65dfaf9c-1483-40f5-9ace-8b2f6f929492","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":12,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":290,"providerAuthMs":0,"ledgerPrepareMs":290,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":290,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":290,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"65dfaf9c-1483-40f5-9ace-8b2f6f929492"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3479,"likelyAffectedFiles":["supabase/functions/owner-search-console/index.ts","src/pages/owner/KnockLaunchSEO.tsx","src/__tests__/contracts/ownerSeoPrivateSearchConsole.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T18:38:32.151415+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:65dfaf9c-1483-40f5-9ace-8b2f6f929492:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"5ce9ab02-3a7a-4983-a29d-67e1a098a53e","command_center_event_id":"65dfaf9c-1483-40f5-9ace-8b2f6f929492"},{"id":"a1b14220-9fde-4d1c-9cb9-b4635b270a7c","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_request_contract_required","fingerprint":"d13723c48cfa4aaa97470fe626c60420ecbd05776da9f9a3a823deb825eed1de"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T18:41:01.66056+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:64c08076-ab93-4e7d-be29-919924f38c1b:repository-mutation-intent-blocked:d13723c48cfa4aaa97470fe626c60420ecbd05776da9f9a3a823deb825eed1de","mission_step_id":"960f442f-9225-4666-8085-c6a07e565a6f","command_center_event_id":"64c08076-ab93-4e7d-be29-919924f38c1b"},{"id":"a1b80487-8418-42e2-a746-6ce918ae5802","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["config/system-reference-points/release-reliability-standard-2026-10-05.json","config/platform-standards.json"],"continuationObjective":"Continue the existing durable mission using exact structured edits."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:51:24.203751+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:d28aead7-bdd1-4cae-a192-a10f2ee39273:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"edf36470-892c-4232-9c6a-5a1567bfa2e5","command_center_event_id":"d28aead7-bdd1-4cae-a192-a10f2ee39273"},{"id":"a1ba33dc-bad8-4c83-a27e-bf16c4a5dbf3","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"e3c939c85658f385c17ad91ee9fbea72b2486b1e","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"e3c939c85658f385c17ad91ee9fbea72b2486b1e","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"c08d3b3c5abf1c05363ab341f3a00c55c33e16ca7ade0372326bdc1221764e24","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3650","runId":3650,"status":"success","sourceSha":"e3c939c85658f385c17ad91ee9fbea72b2486b1e","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T18:25:13.094384+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"e3c939c85658f385c17ad91ee9fbea72b2486b1e","external_id":"forgejo-main-e3c939c85658","receipt_type":"canonical_release_status","idempotency_key":"mission:54dfa092-e5e7-4040-b60f-6120683ad4c0:forgejo-release-status:e3c939c85658f385c17ad91ee9fbea72b2486b1e:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"b16d7543-d9ea-4f48-a700-8676fb55766d","command_center_event_id":"54dfa092-e5e7-4040-b60f-6120683ad4c0"},{"id":"a1bb513f-fb1f-467e-b5ff-761c92a96ab2","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.26-direct-route-visual-intent","prNumber":4460,"terminal":false,"missionId":"a90e6bde-4fdd-47b0-ba65-cd503a76cd11","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"883eddf55d24fe9fb53325a8e71d5e07181b51c7","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"a90e6bde-4fdd-47b0-ba65-cd503a76cd11"},"performance":null,"deploymentId":"canonical-release-883eddf55d24","workflowRunId":31318391618,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1384,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T14:25:17.639759+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"883eddf55d24fe9fb53325a8e71d5e07181b51c7","external_id":"canonical-release-883eddf55d24","receipt_type":"ship_and_prove","idempotency_key":"mission:a90e6bde-4fdd-47b0-ba65-cd503a76cd11:ship_and_prove:ship_and_prove_release_pending:883eddf55d24fe9fb53325a8e71d5e07181b51c7:31318391618","mission_step_id":"88ddf2d4-f92f-4a82-ba2b-19ffce24db0b","command_center_event_id":"a90e6bde-4fdd-47b0-ba65-cd503a76cd11"},{"id":"a1bcbe2c-1cfd-4a63-86c1-b0e11fd0b346","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"pending"},"mainSha":"f974ee259fd187004ca84f5e9d518050ad900698","missing":[],"pending":["frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"0b7236a82fc506ba13aecb69e95957822f30d71d","releaseState":"failed","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"1f6c1ca554b44ea2862a97014733f186791b43357f4bfa9bbf118a3206474e0d","forgejoWorkflowProof":{"runId":15869,"source":"signed_push_receipt","status":"cancelled","results":{},"conclusion":"cancelled","fingerprint":"cancelled||","failureClass":"release_cancelled_transient","targetStates":{"frontend":"pending"},"safeAutoRetry":true,"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T17:17:32.667625+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"0b7236a82fc506ba13aecb69e95957822f30d71d","external_id":"forgejo-main-0b7236a82fc5","receipt_type":"canonical_release_status","idempotency_key":"mission:e1d86754-3e22-4bbc-a7d7-9d290f564182:forgejo-release-status:0b7236a82fc506ba13aecb69e95957822f30d71d:failed:forgejo-main/source=success|forgejo-release/workflow=failure|frontend-cloudflare/live=pending","mission_step_id":"60c4e244-66ac-414e-83f3-0b1087bd778f","command_center_event_id":"e1d86754-3e22-4bbc-a7d7-9d290f564182"},{"id":"a1bf80e7-b2d2-4bf9-a78c-8531616ebbb8","source":"cc-execution","status":"recorded","payload":{"objective":"Fix the bounded frontend regression on https://roofhelpfinder.com/palm-bay. Root cause is proven on current Forgejo main: src/PublicAppShell.tsx renders <SiteBackground /> for /palm-bay, and src/components/SiteBackground.tsx is a wrapper around SpaceBackground. RoofHelpLandingPage is a self-contained opaque roofing page and must not inherit the global space background. Change only src/PublicAppShell.tsx so /palm-bay suppresses SiteBackground, preserving all other routes and behavior.","tenantRef":"roofhelpfinder.com/palm-bay","receivedAt":"2026-08-28T01:33:14.391Z","fingerprint":"4dc5a104b17fa870e80190d79902c60e5032ac8d3649559fc96594e8dc1220ad","workstreamRef":"roofhelpfindercompalmbay","conversationId":null,"canonicalBranch":"ai/fix-roofhelpfinder-palm-bay-hero-20260827","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Fix the bounded frontend regression on https://roofhelpfinder.com/palm-bay. Root cause is proven on current Forgejo main: src/PublicAppShell.tsx renders <SiteBackground /> for /palm-bay, and src/components/SiteBackground.tsx is a wrapper around SpaceBackground. RoofHelpLandingPage is a self-contained opaque roofing page and must not inherit the global space background. Change only src/PublicAppShell.tsx so /palm-bay suppresses SiteBackground, preserving all other routes and behavior.","wordingChanged":false,"canonicalIntent":"Fix the bounded frontend regression on https://roofhelpfinder.com/palm-bay. Root cause is proven on current Forgejo main: src/PublicAppShell.tsx renders <SiteBackground /> for /palm-bay, and src/components/SiteBackground.tsx is a wrapper around SpaceBackground. RoofHelpLandingPage is a self-contained opaque roofing page and must not inherit the global space background. Change only src/PublicAppShell.tsx so /palm-bay suppresses SiteBackground, preserving all other routes and behavior.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"roof-palm-bay-no-space","statement":"https://roofhelpfinder.com/palm-bay renders the intended Roof Help Finder Palm Bay roofing page without any shuttle, rocket, or space background imagery.","proofConditionIds":["proof-live-route"]}],"objective":"Fix the bounded frontend regression on https://roofhelpfinder.com/palm-bay. Root cause is proven on current Forgejo main: src/PublicAppShell.tsx renders <SiteBackground /> for /palm-bay, and src/components/SiteBackground.tsx is a wrapper around SpaceBackground. RoofHelpLandingPage is a self-contained opaque roofing page and must not inherit the global space background. Change only src/PublicAppShell.tsx so /palm-bay suppresses SiteBackground, preserving all other routes and behavior.","constraints":[{"id":"frontend-only","statement":"Change only the bounded frontend owner needed for /palm-bay and preserve unrelated routes and tenants.","proofConditionIds":["proof-live-route"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-live-route","kind":"runtime","claim":"The live /palm-bay route renders Roof Help Finder content and no unrelated space background.","route":"https://roofhelpfinder.com/palm-bay","required":true,"expectedText":"Roof problem?","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":"ai/fix-roofhelpfinder-palm-bay-hero-20260827","conversationContext":"{\"requestContract\":{\"version\":1,\"source\":\"explicit_owner_request\",\"objective\":\"Fix the Roof Help Finder Palm Bay page so it no longer shows the unrelated space-shuttle/space background.\",\"intent\":{\"rawUtterance\":\"The screenshot of roofhelpfinder.com/palm-bay shows an unrelated space shuttle instead of the roofing landing page; fix that broken visual state.\",\"canonicalIntent\":\"Remove the unrelated global space background from the Roof Help Finder Palm Bay public landing page and restore the intended roofing page.\",\"wordingChanged\":false,\"resolutionStatus\":\"exact\",\"uniqueResolution\":true,\"clarificationRequired\":false},\"outcomes\":[{\"id\":\"roof-palm-bay-no-space\",\"statement\":\"https://roofhelpfinder.com/palm-bay renders the intended Roof Help Finder Palm Bay roofing page without any shuttle, rocket, or space background imagery.\",\"proofConditionIds\":[\"proof-live-route\"]}],\"constraints\":[{\"id\":\"frontend-only\",\"statement\":\"Change only the bounded frontend owner needed for /palm-bay and preserve unrelated routes and tenants.\"}],\"proofConditions\":[{\"id\":\"proof-live-route\",\"kind\":\"runtime\",\"claim\":\"The live /palm-bay route renders Roof Help Finder content and no unrelated space background.\",\"required\":true,\"route\":\"https://roofhelpfinder.com/palm-bay\",\"expectedText\":\"Roof problem?\",\"targetedActions\":[],\"allowedReleaseTargets\":[\"frontend\"],\"requiredReleaseTargets\":[\"frontend\"]}],\"terminalPolicy\":\"all_required_proof_conditions_satisfied_after_live_release\",\"valid\":true,\"validationErrors\":[]}}","requestContractHash":"a3e19df8653b7b92dbb33905ac85d2275b131d4b0164bacd98e11a7f32762ac5","requestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T01:33:15.114367+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:89f6d3bf-de8d-41c0-8d3c-576c3b018c08:tenant-workstream-contribution:4dc5a104b17fa870e80190d79902c60e5032ac8d3649559fc96594e8dc1220ad","mission_step_id":null,"command_center_event_id":"89f6d3bf-de8d-41c0-8d3c-576c3b018c08"},{"id":"a1c00489-5aae-4b5c-846f-d8b6961c05ea","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"canonical_release_run_not_observed_after_dispatch","status":"blocked","metrics":{"receiptBytes":3488,"releaseCount":1,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.31.31-resumable-backup-failover","prNumber":4553,"terminal":false,"missionId":"aecfe47d-55fd-4b7b-9120-37692daa2de3","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":"9afab614c6660a996e925b83751acb24c29504ca","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"aecfe47d-55fd-4b7b-9120-37692daa2de3"},"performance":null,"deploymentId":"canonical-release-9afab614c666","workflowRunId":31430270804,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":182,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T20:45:08.719141+00:00","proof_gate":"canonical_release_blocked","source_sha":"9afab614c6660a996e925b83751acb24c29504ca","external_id":"canonical-release-9afab614c666","receipt_type":"ship_and_prove","idempotency_key":"mission:aecfe47d-55fd-4b7b-9120-37692daa2de3:ship_and_prove:canonical_release_blocked:9afab614c6660a996e925b83751acb24c29504ca:31430270804","mission_step_id":"4bb45d2f-bc46-467b-b768-05fa24a66d01","command_center_event_id":"aecfe47d-55fd-4b7b-9120-37692daa2de3"},{"id":"a1c0ea9b-18bf-4e9f-92fa-61712cb2149a","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-23bf4e4d04e7","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":21458,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":2,"executorlessWaitMs":275822,"firstUsefulResultAt":"2026-09-28T17:53:51.046Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":4027,"terminal":false,"missionId":"23bf4e4d-04e7-4ab1-905d-2da5736d6f70","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"44c56e2f91f4fd9b9da9aa9d2f2f62ed992927cc","timingsMs":{"prReadinessMs":564,"approvedPlanMs":0,"shipAndProveMs":3286,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"23bf4e4d-04e7-4ab1-905d-2da5736d6f70"},"performance":null,"deploymentId":"forgejo-main-44c56e2f91f4","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["operator-respond"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2016,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T18:00:42.82594+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4027","receipt_type":"automatic_mission_resume","idempotency_key":"mission:23bf4e4d-04e7-4ab1-905d-2da5736d6f70:automatic-mission-resume:4027:canonical_release_reconciliation_pending","mission_step_id":"3da9bfc8-d5fc-4bbf-a1e6-c05788f23627","command_center_event_id":"23bf4e4d-04e7-4ab1-905d-2da5736d6f70"},{"id":"a1c14a22-1c20-45ac-8187-c9525c2fd456","source":"onrunner","status":"failed","payload":{"ok":false,"jobId":"79275581-6232-4c52-bac5-5d4621a05bfe","phase":"universal_visual_witness_poll_failed","branch":"ai/objective-first-repair-8c04bea84e20","reason":"unexpected_path:/knock-launch-os/portfolio","status":"blocked","metrics":{"receiptBytes":70654,"releaseCount":0,"toolCallCount":49,"repeatedCallCount":27,"executorlessWaitMs":1979198,"firstUsefulResultAt":"2026-09-28T13:17:30.172Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3993,"terminal":true,"missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6","operation":"visual_proof_status","proofGate":"interactive_visual_witness_failed","sourceSha":"7d477d4a1e4117ce0180b206604417728935ac6a","timingsMs":{"queue":1136,"total":13591,"execution":12455},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},"performance":null,"deploymentId":"forgejo-main-7d477d4a1e41","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"79275581-6232-4c52-bac5-5d4621a05bfe","tenant":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":1,"supervisorId":"79275581-6232-4c52-bac5-5d4621a05bfe","failureReason":"unexpected_path:/knock-launch-os/portfolio","observedRoute":"/redfish-roofing/roof-measurement","runnerVersion":"laptop-cd17b09fdb31","attemptLineage":[{"jobId":"98aacda4-2b4c-4c72-8290-ec04f8439404","attempt":1,"category":"application","sourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","startedAt":"2026-09-28T13:49:45.443Z","completedAt":"2026-09-28T13:49:59.143Z","runtimeLane":"cc-execution -> Local Laptop -> universal-witness.mjs","browserEngine":"chromium","failureReason":"unexpected_path:/knock-launch-os/portfolio","retryRecovery":null,"runnerVersion":"laptop-cd17b09fdb31","browserLaunchReason":"display_unavailable_headless","checkpointAccounting":{"route":{"required":2,"completed":0,"missingIds":["desktop::/redfish-roofing/roof-measurement","mobile::/redfish-roofing/roof-measurement"]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":4,"resumed":0,"complete":false,"evidence":{"required":2,"completed":0,"missingIds":["desktop::/redfish-roofing/roof-measurement::evidence::observe","mobile::/redfish-roofing/roof-measurement::evidence::observe"]},"completed":0,"remaining":4,"duplicates":0,"duplicateIds":[],"expectedTotal":4}}],"missionOutcome":"application","requestedRoute":"/redfish-roofing/roof-measurement","runnerSourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","selectedViewports":["desktop","mobile"],"checkpointAccounting":{"route":{"required":2,"completed":0,"missingIds":["desktop::/redfish-roofing/roof-measurement","mobile::/redfish-roofing/roof-measurement"]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":4,"resumed":0,"complete":false,"evidence":{"required":2,"completed":0,"missingIds":["desktop::/redfish-roofing/roof-measurement::evidence::observe","mobile::/redfish-roofing/roof-measurement::evidence::observe"]},"completed":0,"remaining":4,"duplicates":0,"duplicateIds":[],"expectedTotal":4},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"ENDED","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6060,"ownerActionRequired":false,"ownerFacingTerminal":true,"requestContractHash":"161f6865dc1d29df5a224d8450a8780c5e9e620b3773edb2420a152147044882","continuationRequired":false,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:50:30.468492+00:00","proof_gate":"interactive_visual_witness_failed","source_sha":"laptop-cd17b09fdb31","external_id":"79275581-6232-4c52-bac5-5d4621a05bfe","receipt_type":"visual_proof_status","idempotency_key":"mission:8c04bea8-4e20-43c8-8b0e-56d79150cdd6:visual:79275581-6232-4c52-bac5-5d4621a05bfe:failed","mission_step_id":"d411668f-fe4a-4ab5-80d6-0d9bde8b75cc","command_center_event_id":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},{"id":"a1c2bcd6-70fd-4d4f-b4a6-fe07dd800f32","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"durable_state:pull_request","handoff":null,"capability":"light-control-plane","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-06T14:54:20.947247+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:41:52.419551+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:8461f374-86b0-422f-bb81-3fb39febaab9:owner-progress-heartbeat:119419607","mission_step_id":"a036e1a4-6bb7-4248-b530-a16b22bcaaa4","command_center_event_id":"8461f374-86b0-422f-bb81-3fb39febaab9"},{"id":"a1c53dad-e6c5-489d-84b0-f614ed1d0df3","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-a693268ed641","writes":[],"patches":[],"version":1,"approved":true,"missionId":"a693268e-d641-4d43-9c05-a91e7e51cfa8","objective":"Correct PAUL's visual-artifact intent routing in KNOCKLAUNCH Command Center. When the owner says phrases such as `show me a visual redesign mockup of the console`, `show me a mockup`, `give me a visual`, `visualize this`, `render this`, or otherwise directly requests a visual artifact, PAUL must treat that as an authorized creation job and immediately use the strongest available visual creation/rendering path with sensible defaults. It must not substitute an ASCII wireframe, text-only design spec, list of deliverables, or a `say do it`/`which screen first` confirmation unless the owner explicitly requested text/wireframe output or a materially required fact is missing. Preserve factual `show me how...` / explanatory requests as read-only. If a true visual-generation capability is unavailable, state the exact capability blocker rather than falsely presenting prose/ASCII as the requested visual. Add this exact regression example to the stable owner behavior profile. Ship the governing control-plane policy through Gate, merge, cc-execution release, and live proof.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"anchored_edits":[{"path":"config/paul-owner-profile.json","edits":[{"new_content":"      \"Complete imperative requests using direct action verbs such as create, build, make, generate, design, implement, fix, repair, update, add, remove, refactor, or deploy are already authorized action jobs. Begin execution immediately with sensible defaults for optional details; never turn them into a proposal, checklist, or second-confirmation prompt such as 'say do it' or 'want me to proceed' unless a materially required fact is missing or the next step crosses a destructive, credential, security, or materially irreversible boundary.\",\n      \"Direct visual-artifact requests are also execution jobs even when phrased with 'show me' rather than 'create'. Requests such as 'show me a visual redesign mockup', 'show me a mockup', 'give me a visual', 'visualize this', or 'render this' must immediately use the strongest available visual creation/rendering path with sensible defaults. Do not substitute ASCII wireframes, prose-only design specs, deliverable menus, or confirmation questions for the requested visual unless Noel explicitly asked for text/wireframe output. Preserve explanatory 'show me how' requests as read-only. If no true visual-generation capability is available, state that exact blocker instead of pretending text is the requested visual.\",","old_content":"      \"Complete imperative requests using direct action verbs such as create, build, make, generate, design, implement, fix, repair, update, add, remove, refactor, or deploy are already authorized action jobs. Begin execution immediately with sensible defaults for optional details; never turn them into a proposal, checklist, or second-confirmation prompt such as 'say do it' or 'want me to proceed' unless a materially required fact is missing or the next step crosses a destructive, credential, security, or materially irreversible boundary.\","},{"new_content":"    {\n      \"id\": \"visual-capability\",\n      \"input\": \"can i use you to make visual improvements?\",\n      \"expected\": \"Say yes; explain that PAUL can inspect the actual route with Witness and carry supervised changes through proof. Do not ask for a screenshot by default.\"\n    },\n    {\n      \"id\": \"visual-artifact-show-me\",\n      \"input\": \"show me a visual redesign mockup of the console\",\n      \"expected\": \"Immediately produce or start the strongest available true visual mockup/rendering artifact with sensible defaults. Do not answer with ASCII, a text-only design spec, a list of possible deliverables, 'say do it', or 'which screen first'. If true visual generation is unavailable, name the exact capability blocker instead of presenting prose as the visual.\"\n    },","old_content":"    {\n      \"id\": \"visual-capability\",\n      \"input\": \"can i use you to make visual improvements?\",\n      \"expected\": \"Say yes; explain that PAUL can inspect the actual route with Witness and carry supervised changes through proof. Do not ask for a screenshot by default.\"\n    },"}]},{"path":"config/control-plane-capabilities.json","edits":[{"new_content":"      \"directImperativeExecutionPolicy\": \"complete_owner_imperatives_with_create_build_make_generate_design_implement_fix_repair_update_add_remove_refactor_or_deploy_are_execution_authorization_non_destructive_work_starts_immediately_optional_details_use_sensible_defaults_no_second_confirmation_unless_material_required_fact_missing_or_destructive_privileged_irreversible_boundary\",\n      \"directVisualArtifactExecutionPolicy\": \"show_me_visual_mockup_give_me_a_visual_visualize_render_or_equivalent_visual_artifact_requests_are_execution_authorization_use_strongest_available_true_visual_generation_path_immediately_sensible_defaults_no_ascii_or_prose_substitute_no_second_confirmation_unless_required_fact_missing_explicit_text_wireframe_request_or_safety_boundary_show_me_how_remains_read_only_exact_capability_blocker_when_true_visual_generation_unavailable\",","old_content":"      \"directImperativeExecutionPolicy\": \"complete_owner_imperatives_with_create_build_make_generate_design_implement_fix_repair_update_add_remove_refactor_or_deploy_are_execution_authorization_non_destructive_work_starts_immediately_optional_details_use_sensible_defaults_no_second_confirmation_unless_material_required_fact_missing_or_destructive_privileged_irreversible_boundary\","}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"evidence":["owner supplied the exact failing prompt and response"],"confidence":1,"rawUtterance":"Correct PAUL's visual-artifact intent routing in KNOCKLAUNCH Command Center. When the owner says phrases such as `show me a visual redesign mockup of the console`, `show me a mockup`, `give me a visual`, `visualize this`, `render this`, or otherwise directly requests a visual artifact, PAUL must treat that as an authorized creation job and immediately use the strongest available visual creation/rendering path with sensible defaults. It must not substitute an ASCII wireframe, text-only design spec, list of deliverables, or a `say do it`/`which screen first` confirmation unless the owner explicitly requested text/wireframe output or a materially required fact is missing. Preserve factual `show me how...` / explanatory requests as read-only. If a true visual-generation capability is unavailable, state the exact capability blocker rather than falsely presenting prose/ASCII as the requested visual. Add this exact regression example to the stable owner behavior profile. Ship the governing control-plane policy through Gate, merge, cc-execution release, and live proof.","wordingChanged":false,"canonicalIntent":"Correct PAUL's visual-artifact intent routing in KNOCKLAUNCH Command Center. When the owner says phrases such as `show me a visual redesign mockup of the console`, `show me a mockup`, `give me a visual`, `visualize this`, `render this`, or otherwise directly requests a visual artifact, PAUL must treat that as an authorized creation job and immediately use the strongest available visual creation/rendering path with sensible defaults. It must not substitute an ASCII wireframe, text-only design spec, list of deliverables, or a `say do it`/`which screen first` confirmation unless the owner explicitly requested text/wireframe output or a materially required fact is missing. Preserve factual `show me how...` / explanatory requests as read-only. If a true visual-generation capability is unavailable, state the exact capability blocker rather than falsely presenting prose/ASCII as the requested visual. Add this exact regression example to the stable owner behavior profile. Ship the governing control-plane policy through Gate, merge, cc-execution release, and live proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Direct requests for a visual artifact such as `show me a visual redesign mockup of the console` enter visual creation immediately and do not return ASCII/text-only substitutes or redundant confirmation prompts.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Correct PAUL's visual-artifact intent routing in KNOCKLAUNCH Command Center. When the owner says phrases such as `show me a visual redesign mockup of the console`, `show me a mockup`, `give me a visual`, `visualize this`, `render this`, or otherwise directly requests a visual artifact, PAUL must treat that as an authorized creation job and immediately use the strongest available visual creation/rendering path with sensible defaults. It must not substitute an ASCII wireframe, text-only design spec, list of deliverables, or a `say do it`/`which screen first` confirmation unless the owner explicitly requested text/wireframe output or a materially required fact is missing. Preserve factual `show me how...` / explanatory requests as read-only. If a true visual-generation capability is unavailable, state the exact capability blocker rather than falsely presenting prose/ASCII as the requested visual. Add this exact regression example to the stable owner behavior profile. Ship the governing control-plane policy through Gate, merge, cc-execution release, and live proof.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Live cc-execution/Command Center policy classifies direct visual-artifact requests as execution jobs and forbids text-only/ASCII substitution unless explicitly requested.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["cc-execution"],"requiredReleaseTargets":["cc-execution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"requestContract":{"intent":{"evidence":["owner supplied the exact failing prompt and response"],"confidence":1,"rawUtterance":"Correct PAUL's visual-artifact intent routing in KNOCKLAUNCH Command Center. When the owner says phrases such as `show me a visual redesign mockup of the console`, `show me a mockup`, `give me a visual`, `visualize this`, `render this`, or otherwise directly requests a visual artifact, PAUL must treat that as an authorized creation job and immediately use the strongest available visual creation/rendering path with sensible defaults. It must not substitute an ASCII wireframe, text-only design spec, list of deliverables, or a `say do it`/`which screen first` confirmation unless the owner explicitly requested text/wireframe output or a materially required fact is missing. Preserve factual `show me how...` / explanatory requests as read-only. If a true visual-generation capability is unavailable, state the exact capability blocker rather than falsely presenting prose/ASCII as the requested visual. Add this exact regression example to the stable owner behavior profile. Ship the governing control-plane policy through Gate, merge, cc-execution release, and live proof.","wordingChanged":false,"canonicalIntent":"Correct PAUL's visual-artifact intent routing in KNOCKLAUNCH Command Center. When the owner says phrases such as `show me a visual redesign mockup of the console`, `show me a mockup`, `give me a visual`, `visualize this`, `render this`, or otherwise directly requests a visual artifact, PAUL must treat that as an authorized creation job and immediately use the strongest available visual creation/rendering path with sensible defaults. It must not substitute an ASCII wireframe, text-only design spec, list of deliverables, or a `say do it`/`which screen first` confirmation unless the owner explicitly requested text/wireframe output or a materially required fact is missing. Preserve factual `show me how...` / explanatory requests as read-only. If a true visual-generation capability is unavailable, state the exact capability blocker rather than falsely presenting prose/ASCII as the requested visual. Add this exact regression example to the stable owner behavior profile. Ship the governing control-plane policy through Gate, merge, cc-execution release, and live proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Direct requests for a visual artifact such as `show me a visual redesign mockup of the console` enter visual creation immediately and do not return ASCII/text-only substitutes or redundant confirmation prompts.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Correct PAUL's visual-artifact intent routing in KNOCKLAUNCH Command Center. When the owner says phrases such as `show me a visual redesign mockup of the console`, `show me a mockup`, `give me a visual`, `visualize this`, `render this`, or otherwise directly requests a visual artifact, PAUL must treat that as an authorized creation job and immediately use the strongest available visual creation/rendering path with sensible defaults. It must not substitute an ASCII wireframe, text-only design spec, list of deliverables, or a `say do it`/`which screen first` confirmation unless the owner explicitly requested text/wireframe output or a materially required fact is missing. Preserve factual `show me how...` / explanatory requests as read-only. If a true visual-generation capability is unavailable, state the exact capability blocker rather than falsely presenting prose/ASCII as the requested visual. Add this exact regression example to the stable owner behavior profile. Ship the governing control-plane policy through Gate, merge, cc-execution release, and live proof.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Live cc-execution/Command Center policy classifies direct visual-artifact requests as execution jobs and forbids text-only/ASCII substitution unless explicitly requested.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["cc-execution"],"requiredReleaseTargets":["cc-execution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"controlPlaneMaintenanceReason":"Owner explicitly requested correction of PAUL visual mockup execution behavior using a concrete failed Console response."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"controlPlaneMaintenanceReason":"Owner explicitly requested correction of PAUL visual mockup execution behavior using a concrete failed Console response."},"recovery":false,"fingerprint":"f8fb6f0f5aff01999eb03b1cf5026d9d93deeab24e2fdecafc3ddc76d8ed648b","replayCount":0,"serializedBytes":16194},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:57:21.751501+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:a693268e-d641-4d43-9c05-a91e7e51cfa8:repository-mutation-intent:f8fb6f0f5aff01999eb03b1cf5026d9d93deeab24e2fdecafc3ddc76d8ed648b:0","mission_step_id":"34f19a6b-0d50-4d53-8a58-c918211484d9","command_center_event_id":"a693268e-d641-4d43-9c05-a91e7e51cfa8"},{"id":"a1c6d9cc-affc-4c66-a51c-54ae0193f0bb","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/owner-deal-desk-upload-pcg-seed-v2","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.209-visual-certification-hardening","prNumber":3369,"terminal":false,"missionId":"613bea2c-6e51-437e-8962-8ef982673dbf","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":11632,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":4121,"missionSetupMs":749,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":284,"ledgerReconcileMs":0,"lineageReconcileMs":465,"resolvePreflightMs":749,"repositoryMutationMs":7511,"repositoryProviderMs":7511,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":6966,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":284,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":545},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"613bea2c-6e51-437e-8962-8ef982673dbf"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3230,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T19:20:39.098864+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3369","receipt_type":"execute_mission","idempotency_key":"mission:613bea2c-6e51-437e-8962-8ef982673dbf:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"b5482cc1-bee3-432d-b79e-914f90418a42","command_center_event_id":"613bea2c-6e51-437e-8962-8ef982673dbf"},{"id":"a1c8ea50-d6c1-4fa9-9163-5ebff1cfd86c","source":"cc-execution-mission-control","status":"verified","payload":{"branch":"ai/safely-reconcile-pcg-historical-merged-pr-7330-p-21c4567f","headSha":"74719081f9a810d61d3785f1462d1eeed5308357","prNumber":7422},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-18T02:59:07.805914+00:00","proof_gate":"forgejo_scoped_patch_pr_created","source_sha":null,"external_id":null,"receipt_type":"canonical_scoped_patch_pr_created","idempotency_key":"mission:e7918b5b-507c-4dc8-8a8b-94175bd17aea:pr:7422:implementation-created","mission_step_id":"f6de2824-f770-41f8-988b-78cbe6fd3eeb","command_center_event_id":"e7918b5b-507c-4dc8-8a8b-94175bd17aea"},{"id":"a1c92e53-25ee-4d73-880b-7af93e2c4293","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"91f21bf36d7c10090e58045bc7808f300b35f96d","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Gate dependency caching no longer relies on a reusable job workspace that the Docker runner destroys at every checkout.","proofConditionIds":["proof-repository"]},{"id":"outcome-2","satisfied":true,"statement":"Frontend Gate and fallback frontend release dependency caches prefer a zstd v2 exact Node+manifest cache and use the old exact gzip cache only as a one-time promotion source before PR validation scripts.","proofConditionIds":["proof-repository"]},{"id":"outcome-3","satisfied":true,"statement":"No new workflow volume mounts are introduced, locked npm install remains the final fallback, the canonical Gate passes, and current main remains frozen at completion.","proofConditionIds":["proof-repository"]}],"satisfied":true,"constraints":[],"contractHash":"a0b0264616c9e21e9b6dcb4ad61f0d686b5d542e5d48c3fffde7facea3dc1d00","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"a0b0264616c9e21e9b6dcb4ad61f0d686b5d542e5d48c3fffde7facea3dc1d00"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":5},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T02:54:57.74935+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"91f21bf36d7c10090e58045bc7808f300b35f96d","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:c04c059f-2b9f-42b2-ae41-8a80eadfcab5:request-contract:a0b0264616c9e21e9b6dcb4ad61f0d686b5d542e5d48c3fffde7facea3dc1d00:91f21bf36d7c10090e58045bc7808f300b35f96d:verified:","mission_step_id":"0abffaab-1f20-4f19-96e4-c018f6f581d1","command_center_event_id":"c04c059f-2b9f-42b2-ae41-8a80eadfcab5"},{"id":"a1c95ecc-da4a-4919-ae0e-09c1bbeee47c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.79-durable-synthesis-continuation","prNumber":2240,"terminal":false,"missionId":"56ad600b-83bd-4694-afbe-2e1d47fced7f","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2797,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2242,"approvedPlanMs":0,"missionSetupMs":500,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":500,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":500,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":500,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"56ad600b-83bd-4694-afbe-2e1d47fced7f"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1521,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T17:42:45.277102+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2240","receipt_type":"execute_mission","idempotency_key":"mission:56ad600b-83bd-4694-afbe-2e1d47fced7f:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"70514abd-b26a-4b57-a6fa-1cfe116065b5","command_center_event_id":"56ad600b-83bd-4694-afbe-2e1d47fced7f"},{"id":"a1c96a49-5c2e-440c-973b-4da8c4daeb36","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-7101e6747764","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.126-forgejo-bounded-retry","prNumber":null,"terminal":false,"missionId":"7101e674-7764-4867-b65a-e31608b7e521","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":941,"providerAuthMs":0,"ledgerPrepareMs":941,"ledgerReconcileMs":257,"lineageReconcileMs":0,"resolvePreflightMs":941,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1198,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"7101e674-7764-4867-b65a-e31608b7e521"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5317,"likelyAffectedFiles":["scripts/command-center-host-agent/forgejo-watchdog.sh","workers/cc-execution/src/forgejo-host-capacity-admission.js","workers/cc-execution/src/index-scoped-repo-patch.js","workers/cc-execution/src/index-mcp.js","config/control-plane-capabilities.json","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-host-capacity-admission.contract.test.ts","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T16:27:40.856259+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7101e674-7764-4867-b65a-e31608b7e521:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"9f7e2330-eea0-4873-8d46-18ee3a652da2","command_center_event_id":"7101e674-7764-4867-b65a-e31608b7e521"},{"id":"a1ca255b-9eea-4113-8ec0-41607d352c60","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"6dfd1fe9-d328-419f-bbaa-6a0e05f602fe","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-8c04bea84e20","reason":null,"status":"pending","metrics":{"receiptBytes":155300,"releaseCount":0,"toolCallCount":82,"repeatedCallCount":42,"executorlessWaitMs":4672263,"firstUsefulResultAt":"2026-09-28T13:17:30.172Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3993,"terminal":false,"missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"7d477d4a1e4117ce0180b206604417728935ac6a","timingsMs":{"queue":1088,"total":1171,"execution":83},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},"performance":null,"deploymentId":"forgejo-main-7d477d4a1e41","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"6dfd1fe9-d328-419f-bbaa-6a0e05f602fe","tenant":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"6dfd1fe9-d328-419f-bbaa-6a0e05f602fe","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/redfish-roofing/roof-measurement","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":1,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":"failed","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T14:35:24.711019+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"7d477d4a1e4117ce0180b206604417728935ac6a","external_id":"6dfd1fe9-d328-419f-bbaa-6a0e05f602fe","receipt_type":"visual_proof_started","idempotency_key":"mission:8c04bea8-4e20-43c8-8b0e-56d79150cdd6:visual-start:6dfd1fe9-d328-419f-bbaa-6a0e05f602fe","mission_step_id":"d411668f-fe4a-4ab5-80d6-0d9bde8b75cc","command_center_event_id":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},{"id":"a1ca77a8-6492-4c93-9433-78f847c176a0","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-21bc7e00caba","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":13090,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":112184,"firstUsefulResultAt":"2026-09-25T10:14:15.012Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3701,"terminal":false,"missionId":"21bc7e00-caba-428f-8d88-b96f929c5aaf","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"651bc6dcec9f9aa930f7fa1819e6566e7bbc8c52","timingsMs":{"prReadinessMs":94,"approvedPlanMs":0,"shipAndProveMs":354,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"21bc7e00-caba-428f-8d88-b96f929c5aaf"},"performance":null,"deploymentId":"forgejo-main-651bc6dcec9f","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1898,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T10:17:01.15493+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3701","receipt_type":"automatic_mission_resume","idempotency_key":"mission:21bc7e00-caba-428f-8d88-b96f929c5aaf:automatic-mission-resume:3701:canonical_release_reconciliation_pending","mission_step_id":"acd89bd4-b217-4924-bcb0-93a7de1b17e2","command_center_event_id":"21bc7e00-caba-428f-8d88-b96f929c5aaf"},{"id":"a1ca8fa9-54c6-458b-876e-51a3558f10dd","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"9dae32f1-f3cf-09ae-7f92-c656f71fb9d5"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:ebf2ea27-ef49-45a3-8920-6ccf9b49192a","mission_step_id":null,"command_center_event_id":"ebf2ea27-ef49-45a3-8920-6ccf9b49192a"},{"id":"a1caaec7-5647-4945-b541-c896d05eaa01","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2977,"terminal":false,"missionId":"f2d8bd1b-c7dd-44de-b507-31a4e3e28f12","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"15cc39193bdd64a5fa336a57d5b3d45d8dedc0b3","timingsMs":{"prReadinessMs":1102,"approvedPlanMs":0,"shipAndProveMs":6810,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f2d8bd1b-c7dd-44de-b507-31a4e3e28f12"},"performance":null,"deploymentId":"forgejo-main-15cc39193bdd","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1896,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T04:52:07.513248+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2977","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f2d8bd1b-c7dd-44de-b507-31a4e3e28f12:automatic-mission-resume:2977:canonical_release_dispatched","mission_step_id":"3f4e64df-d944-4025-b761-6028a8774e9b","command_center_event_id":"f2d8bd1b-c7dd-44de-b507-31a4e3e28f12"},{"id":"a1cca535-2f3e-4190-982d-937244aedd5f","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/29-app-contextual-workspace-registry-20260910","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2342,"terminal":false,"missionId":"2d105f3a-c7a2-4675-be51-b510601b8850","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"4c3d3c6928d80f40b8513e4f0e3d8664c479aeb9","timingsMs":{"prReadinessMs":286,"approvedPlanMs":0,"shipAndProveMs":1825,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"2d105f3a-c7a2-4675-be51-b510601b8850"},"performance":null,"deploymentId":"forgejo-main-4c3d3c6928d8","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1953,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T22:53:15.392453+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2342","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2d105f3a-c7a2-4675-be51-b510601b8850:automatic-mission-resume:2342:canonical_release_dispatched","mission_step_id":"ca79b8ea-1f56-48f3-a235-ba27462200cc","command_center_event_id":"2d105f3a-c7a2-4675-be51-b510601b8850"},{"id":"a1cd9a4f-206c-4877-8e33-4644fd1860ec","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"reason":"Exact continuation of the owner-authorized release shared-read repair after transient current-main read failure.","baseSha":"fcb7b4f5a8e3d3c3b2257a49c4f277d575329e0e","issuedAt":1789330607038,"expiresAt":1789330787038,"missionId":"333b40e7-e2b5-4cfd-85bf-5ca54d62dace","authorizationId":"822a3a39-df20-42ba-95e8-52380ddf1a7b","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T20:16:47.625687+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"fcb7b4f5a8e3d3c3b2257a49c4f277d575329e0e","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:822a3a39-df20-42ba-95e8-52380ddf1a7b","mission_step_id":"a56ecf72-13b1-4e13-950f-32ef1a480952","command_center_event_id":"333b40e7-e2b5-4cfd-85bf-5ca54d62dace"},{"id":"a1ce7cc6-5295-428a-b7b6-a16ecc4c6b14","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/pages/card-grading/PCGWorkspace.tsx"],"continuationObjective":"P0 PCG mobile Card Vault usability repair on current main. Mutate only src/pages/card-grading/PCGWorkspace.tsx. The current sticky Card Vault control deck consumes most of an iPhone viewport because the full desktop controls are portaled into the sticky PCG mode header. Preserve the owner's requirement that Card Vault controls stay available while scrolling, but make the mobile experience compact: mobile sticky area should be about two short rows, with search plus result count and a horizontally scrollable row of status/grade/customer filters plus Prev/Next; no explanatory title/copy in the sticky mobile area; no nested vertical scrolling; tablet/desktop full control deck remains unchanged; non-portaled inline fallback must not be sticky on phones. Keep all existing filter/search/paging behavior. Do not touch other PCG flows. No Visual Witness. Gate, squash merge, frontend release, runtime proof."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T21:05:30.086292+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:2ed2b67c-2a95-4846-93a3-14318a9bf21d:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"4078c6c1-8c46-4ef6-8a30-c083db10ebec","command_center_event_id":"2ed2b67c-2a95-4846-93a3-14318a9bf21d"},{"id":"a1ceca82-53ec-4cf4-9320-122c8e482c57","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"e19cea0a5fa86b66e5361f09a555a979392a14bb","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"e19cea0a5fa86b66e5361f09a555a979392a14bb","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1343","runId":1343,"status":"success","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-19T00:34:58.454871+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"e19cea0a5fa86b66e5361f09a555a979392a14bb","external_id":"forgejo-main-e19cea0a5fa8","receipt_type":"canonical_release_status","idempotency_key":"mission:e1b67ba1-bb99-43b2-8587-11ac0cb529c4:forgejo-release-status:e19cea0a5fa86b66e5361f09a555a979392a14bb:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"804a5805-d06c-4298-ba3f-2f78eca8a2be","command_center_event_id":"e1b67ba1-bb99-43b2-8587-11ac0cb529c4"},{"id":"a1d0351e-5a12-4f4e-8d52-1655101d2549","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"other_product_work","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"1a208a97-7a93-52a9-bc0f-b80fe445c55b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:7588f406-81af-4dcf-9ce3-eb0471485fbc","mission_step_id":null,"command_center_event_id":"7588f406-81af-4dcf-9ce3-eb0471485fbc"},{"id":"a1d07948-c11b-4ec6-8a31-a2a58a0281a6","source":"cc-execution","status":"recorded","payload":{"objective":"Finish existing corrective PR #1418 and make the Redfish roof estimator visibly render its Mapbox satellite photo in production.","tenantRef":"redfish-roofing","receivedAt":"2026-09-02T13:19:01.644Z","fingerprint":"c9b09203454883cc08d24b40d2b54008c818925fa49195bf54e8a29241ae0904","workstreamRef":"redfishroofing","conversationId":null,"canonicalBranch":"ai/redfish-roof-mapbox-worker-import-fix-20260902","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Finish existing corrective PR #1418 and make the Redfish roof estimator visibly render its Mapbox satellite photo in production.","wordingChanged":false,"canonicalIntent":"Finish existing corrective PR #1418 and make the Redfish roof estimator visibly render its Mapbox satellite photo in production.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"mapbox-photo-live","statement":"The Redfish homeowner roof estimator visibly renders the Mapbox satellite image instead of a blank dark map pane.","proofConditionIds":["frontend-release-grounded","exact-route-mapbox-visible"]}],"objective":"Finish existing corrective PR #1418 and make the Redfish roof estimator visibly render its Mapbox satellite photo in production.","constraints":[{"id":"preserve-estimator","statement":"Preserve existing Auto Measure, manual drawing, geocoded property centering, roof details, AI/OSM and estimate workflow.","proofConditionIds":["exact-route-mapbox-visible"]},{"id":"existing-pr","statement":"Continue existing corrective PR #1418; do not create another branch or PR.","proofConditionIds":["frontend-release-grounded"]},{"id":"frontend-only","statement":"Release only the frontend unless live evidence proves another production owner is affected.","proofConditionIds":["frontend-release-grounded"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"frontend-release-grounded","kind":"runtime","claim":"The exact corrective source is merged to protected main and the frontend production release for that source is live.","route":"https://knocklaunch.app/","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"exact-route-mapbox-visible","kind":"visual","claim":"Actual Mapbox satellite imagery is visible in the map pane on the exact Redfish homeowner roof-estimate route, with no Mapbox worker/style/auth failure.","route":"https://knocklaunch.app/redfish-roofing/homeowners/00b39086-0789-4253-adb0-772a9b9cd88d?section=roof-estimate","roleRef":"GodMode","userRef":null,"required":true,"expectedText":"Roof Measurement","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":"ai/redfish-roof-mapbox-worker-import-fix-20260902","conversationContext":"{\"requestContract\":{\"version\":1,\"source\":\"owner_explicit\",\"intent\":{\"rawUtterance\":\"See a different UI. I still don't see the mapbox. photo\",\"canonicalIntent\":\"Fix the live Redfish roof estimator so the Mapbox satellite photo visibly renders on the homeowner roof-estimate screen.\",\"wordingChanged\":true,\"resolutionStatus\":\"exact\",\"uniqueResolution\":true,\"clarificationRequired\":false},\"outcomes\":[{\"id\":\"mapbox-photo-live\",\"statement\":\"The Redfish homeowner roof estimator visibly renders the Mapbox satellite image instead of a blank dark map pane.\",\"proofConditionIds\":[\"frontend-release-grounded\",\"exact-route-mapbox-visible\"]}],\"constraints\":[{\"id\":\"preserve-estimator\",\"statement\":\"Preserve existing Auto Measure, manual drawing, geocoded property centering, roof details, AI/OSM and estimate workflow.\",\"proofConditionIds\":[\"exact-route-mapbox-visible\"]},{\"id\":\"existing-pr\",\"statement\":\"Continue existing corrective PR #1418; do not create another branch or PR.\",\"proofConditionIds\":[\"frontend-release-grounded\"]},{\"id\":\"frontend-only\",\"statement\":\"Release only the frontend unless live evidence proves another production owner is affected.\",\"proofConditionIds\":[\"frontend-release-grounded\"]}],\"proofConditions\":[{\"id\":\"frontend-release-grounded\",\"kind\":\"runtime\",\"claim\":\"The exact corrective source is merged to protected main and the frontend production release for that source is live.\",\"required\":true,\"route\":\"https://knocklaunch.app/\",\"expectedText\":null,\"targetedActions\":[],\"allowedReleaseTargets\":[\"frontend\"],\"requiredReleaseTargets\":[\"frontend\"]},{\"id\":\"exact-route-mapbox-visible\",\"kind\":\"visual\",\"claim\":\"Actual Mapbox satellite imagery is visible in the map pane on the exact Redfish homeowner roof-estimate route, with no Mapbox worker/style/auth failure.\",\"required\":true,\"route\":\"https://knocklaunch.app/redfish-roofing/homeowners/00b39086-0789-4253-adb0-772a9b9cd88d?section=roof-estimate\",\"expectedText\":\"Roof Measurement\",\"roleRef\":\"GodMode\",\"targetedActions\":[],\"allowedReleaseTargets\":[\"frontend\"],\"requiredReleaseTargets\":[\"frontend\"]}],\"terminalPolicy\":\"all_required_proof_conditions_satisfied_after_live_release\",\"valid\":true,\"validationErrors\":[]}}","requestContractHash":"cecd61c362f0fad2721253a9b3ce5be24507962ea6931955fd5d49b781c9e9bf","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T13:19:04.305632+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:5e0a6769-be6a-418b-a092-f3377136133e:tenant-workstream-contribution:c9b09203454883cc08d24b40d2b54008c818925fa49195bf54e8a29241ae0904","mission_step_id":null,"command_center_event_id":"5e0a6769-be6a-418b-a092-f3377136133e"},{"id":"a1d116e0-5248-41eb-99fe-163290846f33","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-44d49e03d254","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":18223,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":4,"executorlessWaitMs":249490,"firstUsefulResultAt":"2026-09-24T05:10:34.857Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.241-light-gate-policy","prNumber":3591,"terminal":false,"missionId":"44d49e03-d254-40a5-b682-2e1dda0261fb","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9992,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":9700,"approvedPlanMs":0,"missionSetupMs":514,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":274,"ledgerReconcileMs":0,"lineageReconcileMs":240,"resolvePreflightMs":514,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":274,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"44d49e03-d254-40a5-b682-2e1dda0261fb"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2989,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:20:53.278204+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3591","receipt_type":"execute_mission","idempotency_key":"mission:44d49e03-d254-40a5-b682-2e1dda0261fb:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"827eb1fc-651b-4ddf-888e-513e66af0205","command_center_event_id":"44d49e03-d254-40a5-b682-2e1dda0261fb"},{"id":"a1d4a8ac-c758-4dd3-b3b7-773af5a99fde","source":"forgejo","status":"waiting","payload":{"branch":"ai/curri-fix-background-binding","prNumber":1844,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"a81904dd29cb0d4d6ebcdbeff1164953e3808f60","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-05T14:07:19.981065+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"a81904dd29cb0d4d6ebcdbeff1164953e3808f60","external_id":"1844","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:01d42cbc-b090-4d1e-b64d-38a3503398b2:merged-pr:1844:a81904dd29cb0d4d6ebcdbeff1164953e3808f60","mission_step_id":"c4218b26-577f-4539-ae28-48796c8abfde","command_center_event_id":"01d42cbc-b090-4d1e-b64d-38a3503398b2"},{"id":"a1d55df4-90d3-4d47-a45f-9d140ef1936d","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1686600cbc58","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":2523,"terminal":false,"missionId":"1686600c-bc58-45eb-8588-4618f2dbbef5","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"5aa8c48cf18a5a10de12410e5c01ca750e7cfba0","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5617,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2397,"approvedPlanMs":0,"missionSetupMs":1120,"providerAuthMs":0,"shipAndProveMs":2478,"ledgerPrepareMs":258,"ledgerReconcileMs":0,"lineageReconcileMs":862,"resolvePreflightMs":1120,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":258,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"1686600c-bc58-45eb-8588-4618f2dbbef5"},"performance":null,"deploymentId":"forgejo-main-5aa8c48cf18a","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2648,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T19:03:13.943882+00:00","proof_gate":"canonical_release_dispatched","source_sha":"5aa8c48cf18a5a10de12410e5c01ca750e7cfba0","external_id":"forgejo-main-5aa8c48cf18a","receipt_type":"execute_mission","idempotency_key":"mission:1686600c-bc58-45eb-8588-4618f2dbbef5:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"c47a9bcb-8b58-47eb-9145-d65ab68bb776","command_center_event_id":"1686600c-bc58-45eb-8588-4618f2dbbef5"},{"id":"a1d5de17-0795-4043-91ba-a5f5e2e2518a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/seaside-visual-regression-20260806-r202608070111","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2964,"releaseCount":1,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.30.20-pr-scoped-release-missions","prNumber":4170,"terminal":false,"missionId":"fb779fc9-aca4-40b9-8e61-a168139f561b","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":"4dfd29aec6b38a6fe8d2cd4fb1f813d691be93ab","timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"fb779fc9-aca4-40b9-8e61-a168139f561b"},"performance":null,"deploymentId":"canonical-release-4dfd29aec6b3","workflowRunId":31137230180,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1296,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T01:12:09.200753+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":"4dfd29aec6b38a6fe8d2cd4fb1f813d691be93ab","external_id":"canonical-release-4dfd29aec6b3","receipt_type":"execute_mission","idempotency_key":"mission:fb779fc9-aca4-40b9-8e61-a168139f561b:execute_mission:repair_mission_synthesis_ready","mission_step_id":"a7109387-0cf2-42ae-acba-2ed39a42dfa3","command_center_event_id":"fb779fc9-aca4-40b9-8e61-a168139f561b"},{"id":"a1d7013d-2b60-4dc9-b3d6-8e8c96f5dcec","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-677188ce7da4","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.62.0-mission-freedom-cloudflare-primary","prNumber":null,"terminal":false,"missionId":"677188ce-7da4-4ef0-9a08-05fac5bf238f","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1148,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":378,"providerAuthMs":0,"ledgerPrepareMs":378,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":378,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":378,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"677188ce-7da4-4ef0-9a08-05fac5bf238f"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4612,"likelyAffectedFiles":["supabase/functions/pcg-legacy-import/index.ts","supabase/config.toml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:07:41.208918+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:677188ce-7da4-4ef0-9a08-05fac5bf238f:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"bd4b52a4-718b-4ce1-ad2b-3fcc793bfad7","command_center_event_id":"677188ce-7da4-4ef0-9a08-05fac5bf238f"},{"id":"a1d8f16c-4d01-412d-9090-ea9f12263c08","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mtjmm072","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":12696,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1397,"terminal":false,"missionId":"ebba22e3-a7fa-410d-ac29-ae0b905c5bbc","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":3804,"prReadinessMs":3022,"approvedPlanMs":0,"missionSetupMs":3281,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"ebba22e3-a7fa-410d-ac29-ae0b905c5bbc"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1497,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T05:20:58.420652+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1397","receipt_type":"execute_mission","idempotency_key":"mission:ebba22e3-a7fa-410d-ac29-ae0b905c5bbc:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"a74edbb2-a985-4322-8387-9b87922179db","command_center_event_id":"ebba22e3-a7fa-410d-ac29-ae0b905c5bbc"},{"id":"a1da01a3-e506-4545-81b7-1a148d510bf6","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Adopt the exact already-applied file state from branch d5202a8fa190b684157f133882a3d01c3282ce88 with zero additional source writes, then create/adopt the PR and finish gate, squash merge, frontend-only release, and root proof. Do not change any other file.","wordingChanged":false,"canonicalIntent":"Adopt the exact already-applied file state from branch d5202a8fa190b684157f133882a3d01c3282ce88 with zero additional source writes, then create/adopt the PR and finish gate, squash merge, frontend-only release, and root proof. Do not change any other file.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"simple-root","statement":"Root renders only logo, prominent video, headline, one CTA, and short intake form.","proofConditionIds":["source","live"]},{"id":"licensed-roofer-copy","statement":"Root says an appropriate licensed roofer can contact the homeowner after submission.","proofConditionIds":["source","live"]},{"id":"child-routes-preserved","statement":"Palm Bay and other city/service routes remain unchanged.","proofConditionIds":["source"]}],"objective":"Adopt the exact already-applied file state from branch d5202a8fa190b684157f133882a3d01c3282ce88 with zero additional source writes, then create/adopt the PR and finish gate, squash merge, frontend-only release, and root proof. Do not change any other file.","constraints":[{"id":"frontend-only","statement":"Only src/pages/RoofHelpLandingPage.tsx changes.","proofConditionIds":["source"]},{"id":"brand-preserved","statement":"Existing forest/mint/off-white palette, R2 logo, and ElevenLabs MP4 remain unchanged.","proofConditionIds":["source","live"]},{"id":"backend-preserved","statement":"No backend, intake endpoint, attribution, IP capture, or SEO route-generation changes.","proofConditionIds":["source"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"source","kind":"repository","claim":"Exact branch state is limited to src/pages/RoofHelpLandingPage.tsx and root-only layout.","route":"/","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"live","kind":"runtime","claim":"Production root `/` renders 'Need help with your roof?', video, one GET ROOF HELP CTA, and intake form.","route":"/","required":true,"expectedText":"Need help with your roof?","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"87857b8e72534caf72d2fe7f5fc339e87fdada858b3665f8074c7d60ccba0d01","requestContractRevision":5,"previousRequestContractHash":"559109a8e047b485c61f74ffd67efaf2b13c9342b12c2604d1e48860cf90a4cc"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T14:42:12.839029+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:ee109335-9484-4554-bdc9-3921ac1fed30:request-contract-revision:5:87857b8e72534caf72d2fe7f5fc339e87fdada858b3665f8074c7d60ccba0d01","mission_step_id":"5f441f19-e59b-4e20-b9f6-42ca681b7c66","command_center_event_id":"ee109335-9484-4554-bdc9-3921ac1fed30"},{"id":"a1dac310-89fb-47e1-a80c-36cad883e6fe","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGSlabUpload.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-15T22:20:46.666027+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"1b00e7c6ce86b914066878674ff2973594448c97","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:11db4de5-aa3f-4c67-95cd-39c456462de8:compiler:1b00e7c6ce86b914066878674ff2973594448c97:src/pages/card-grading/PCGSlabUpload.tsx","mission_step_id":"a5c8d53f-6c16-4cbf-87a3-a5ba3f943756","command_center_event_id":"11db4de5-aa3f-4c67-95cd-39c456462de8"},{"id":"a1dc8fdd-916d-4f25-b061-3656049e6571","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"32ff29bed265bd777bdcec13d718f3258aeaa28c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Fix the Tennex Tax Solutions IRSLogiqs live connection-state bug. This is an owner-authorized mutation. A configured valid IRSLogiqs API key must be connected; missing CaseID or unverified Case.Read must be represented separately and must not trigger Needs reconnect. Preserve tenant isolation and fail closed for actual auth failures. Carry through Gate, squash merge, affected deploys, and live proof. Done means live.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"61d76462f0cd5e8a642086ce00871c57fad8f63d8e4898984afb90d7d9331441","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"61d76462f0cd5e8a642086ce00871c57fad8f63d8e4898984afb90d7d9331441"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T03:40:47.44976+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"32ff29bed265bd777bdcec13d718f3258aeaa28c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:600523e2-4951-4f14-a70e-72af6e3c3b85:request-contract:61d76462f0cd5e8a642086ce00871c57fad8f63d8e4898984afb90d7d9331441:32ff29bed265bd777bdcec13d718f3258aeaa28c:verified:","mission_step_id":"163b7f5d-86fb-4c7c-9966-7d12719d9d5f","command_center_event_id":"600523e2-4951-4f14-a70e-72af6e3c3b85"},{"id":"a1dd3c08-59ac-4598-ab0c-666823386538","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts","content":"import { describe, expect, it } from 'vitest';\nimport { normalizeVisualProofIntent } from '../../../workers/cc-execution/src/command-center-contracts.js';\n\ndescribe('cc-execution inferred visual proof intent', () => {\n  it('does not combine signals from separate clauses', () => {\n    const result = normalizeVisualProofIntent({\n      objective: 'Make the KNOCKLAUNCH Console behave like one autonomous operator. Expose Stop All for owner-visible active jobs.',\n    });\n    expect(result.visualProofRequested).toBe(false);\n    expect(result.visualProofScope).toBe('none');\n  });\n\n  it('preserves genuine visual defects', () => {\n    const result = normalizeVisualProofIntent({ objective: 'Fix the header clipping on mobile.' });\n    expect(result.visualProofRequested).toBe(true);\n    expect(result.visualProofScope).toBe('targeted');\n  });\n\n  it('preserves explicit visual proof requests', () => {\n    const result = normalizeVisualProofIntent({ objective: 'Verify this release with visual proof.', visualProof: true });\n    expect(result.visualProofRequested).toBe(true);\n  });\n});\n"}],"title":"Fix cross-clause visual proof inference","branch":"ai/objective-first-repair-c9fc517a8855","writes":[],"patches":[],"pr_body":"Keep nonvisual long-form operator objectives from forcing visual proof across clause boundaries; preserve genuine and explicit visual verification.","version":1,"approved":true,"missionId":"c9fc517a-8855-46fb-b32d-20150c0c35dd","objective":"Repair cross-clause visual-proof inference in cc-execution so unrelated words in separate clauses cannot force visual proof; preserve genuine and explicit visual requests. Gate, merge, release, and prove.","sourceSha":"f0a0d685deb6f7443a11ab7c0e149ad81a4d6bf9","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts"],"anchored_edits":[{"path":"workers/cc-execution/src/command-center-contracts.js","edits":[{"new_content":"function inferredVisualOutcomeRequired(objectiveInput = \"\") {\n  const objective = String(objectiveInput || \"\").trim().toLowerCase();\n  if (!objective) return false;\n  const visualSurface = /\\b(?:background|hero|image|imagery|logo|layout|spacing|clipping|clip|bleed|bleeding|overlap|scale|scaling|visibility|visible|responsive|shell|header|card|avatar|render|display|position|alignment|center|centering|crop|cropped|viewport|mobile|desktop)\\b/;\n  const visualOutcome = /\\b(?:fix|repair|change|update|apply|make|show|display|render|load|loads|loading|appear|appears|visible|align|center|fit|scale|responsive|clip|bleed|overlap|wrong|missing|broken|correct|correctly|persist|persists|sticking|stick)\\b/;\n  return objective\n    .split(/[.;\\n]+/)\n    .map((clause) => clause.trim())\n    .filter(Boolean)\n    .some((clause) => visualSurface.test(clause) && visualOutcome.test(clause));\n}","old_content":"function inferredVisualOutcomeRequired(objectiveInput = \"\") {\n  const objective = String(objectiveInput || \"\").trim().toLowerCase();\n  if (!objective) return false;\n  const visualSurface = /\\b(?:background|hero|image|imagery|logo|layout|spacing|clipping|clip|bleed|bleeding|overlap|scale|scaling|visibility|visible|responsive|shell|header|card|avatar|render|display|position|alignment|center|centering|crop|cropped|viewport|mobile|desktop)\\b/.test(objective);\n  const visualOutcome = /\\b(?:fix|repair|change|update|apply|make|show|display|render|load|loads|loading|appear|appears|visible|align|center|fit|scale|responsive|clip|bleed|overlap|wrong|missing|broken|correct|correctly|persist|persists|sticking|stick)\\b/.test(objective);\n  return visualSurface && visualOutcome;\n}"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.58.297-clause-visual-intent\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.296-universal-stop\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"c9fc517a-8855-46fb-b32d-20150c0c35dd","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner-authorized bounded correction of the reproduced downstream request-contract visual-proof false positive."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner-authorized bounded correction of the reproduced downstream request-contract visual-proof false positive."},"recovery":false,"fingerprint":"1e4d9175ac571ec77ba116c69451eaa3ef209269f24ee611dfb42a192a02e72e","replayCount":0,"serializedBytes":5558},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:45:59.673166+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:c9fc517a-8855-46fb-b32d-20150c0c35dd:repository-mutation-intent:1e4d9175ac571ec77ba116c69451eaa3ef209269f24ee611dfb42a192a02e72e:0","mission_step_id":"3a808bc0-a951-4291-931c-408d6f510116","command_center_event_id":"c9fc517a-8855-46fb-b32d-20150c0c35dd"},{"id":"a1e283b5-fcb3-440f-a1f4-5f300f79a855","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane, repair the frontend production release memory contract proven by Forgejo run 5254, preserve artifact-first/cache-first behavior, run canonical Gate, squash merge, prove one frontend-only production release using the cache seeded by run 5254, require Cloudflare exact live verification, then refreeze the control plane.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane, repair the frontend production release memory contract proven by Forgejo run 5254, preserve artifact-first/cache-first behavior, run canonical Gate, squash merge, prove one frontend-only production release using the cache seeded by run 5254, require Cloudflare exact live verification, then refreeze the control plane.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-memory-contract","statement":"Frontend release builds remain inside the paul-light 700 MiB cgroup, restore the seeded dependency cache, build successfully, deploy to Cloudflare, and verify the exact artifact live.","proofConditionIds":["proof-repository","proof-release"]}],"objective":"Unfreeze the control plane, repair the frontend production release memory contract proven by Forgejo run 5254, preserve artifact-first/cache-first behavior, run canonical Gate, squash merge, prove one frontend-only production release using the cache seeded by run 5254, require Cloudflare exact live verification, then refreeze the control plane.","constraints":[{"id":"constraint-cache","statement":"Preserve artifact-first and cache-first release behavior, including cache save before build.","proofConditionIds":["proof-repository","proof-release"]},{"id":"constraint-scope","statement":"Do not alter unrelated product behavior or release owners.","proofConditionIds":["proof-repository","proof-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Canonical source contains bounded release heap handling, Killed/ENOMEM low-memory retry recognition, and regression guards.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-release","kind":"release","claim":"A frontend-only canonical production release completes successfully for unchanged dependency manifests and exact live verification passes.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"43d49f66a64f223dbe869b55b2449c593a5e0f98774be53976bc178b97bb14a7","requestContractRevision":2,"previousRequestContractHash":"4e1cf718f9b1d6c2af88c58cd4fddfb7973d81ee17d402231e51c05cc5e97528"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T16:19:23.986268+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:f31eab5c-7299-4632-b006-2d89e51cc390:request-contract:43d49f66a64f223dbe869b55b2449c593a5e0f98774be53976bc178b97bb14a7","mission_step_id":"0abef53c-3965-47a5-9e30-7cd3320ac94b","command_center_event_id":"f31eab5c-7299-4632-b006-2d89e51cc390"},{"id":"a1e2c9d7-b4ab-45be-b20a-f955fd19f366","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json"],"reason":"Record the proven Workers Paid entitlement precondition and trigger the canonical cc-execution Witness Container release after the owner enabled billing.","baseSha":"355198a42be3ce1053608750e422419f9f040c38","issuedAt":1788609966393,"expiresAt":1788610146393,"missionId":"3237240a-1f3f-4220-9393-aadb3c20c4c6","authorizationId":"9d08f4b3-ac95-4c6d-91eb-a760ca86b3d9","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T12:06:06.809159+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"355198a42be3ce1053608750e422419f9f040c38","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:9d08f4b3-ac95-4c6d-91eb-a760ca86b3d9","mission_step_id":"edf0a265-97f9-4342-a967-b8f8c3a7a94c","command_center_event_id":"3237240a-1f3f-4220-9393-aadb3c20c4c6"},{"id":"a1e3384f-51b2-4354-aa7d-3daa1af8040a","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"scripts/release-target-ownership.mjs","content":"const FRONTEND_RELEASE_PATH = /^(?:src\\/(?!__tests__\\/contracts\\/)|public\\/|index\\.html$|package(?:-lock)?\\.json$|vite\\.config\\.|tsconfig|tailwind\\.config\\.|postcss\\.config\\.|components\\.json$|wrangler\\.toml$|scripts\\/knocklaunch-console\\/|scripts\\/release-target-ownership\\.mjs$|scripts\\/cloudflare-native-(?!version-deploy\\.mjs$)|scripts\\/validate-cloudflare-native-public-env\\.mjs$|config\\/cloudflare-native-frontend-build\\.json$)/;\n\nexport function releaseTargetsFromChangedPaths(input = []) {\n  const paths = [...new Set((Array.isArray(input) ? input : [])\n    .map((value) => String(value || \"\").trim())\n    .filter(Boolean))];\n  return {\n    ccExecution: paths.some((path) => (path.startsWith(\"workers/cc-execution/\") && !path.startsWith(\"workers/cc-execution/test/\"))\n      || path === \"config/control-plane-capabilities.json\"\n      || path.startsWith(\"scripts/visual-witness-hosted-runner/\")),\n    onrunner: false,\n    frontend: paths.some((path) => FRONTEND_RELEASE_PATH.test(path)),\n    supabaseEdge: paths.some((path) => path.startsWith(\"supabase/functions/\") || path === \"scripts/reconcile-supabase-edge-registry.mjs\"),\n    migrations: paths.some((path) => path.startsWith(\"supabase/migrations/\")),\n  };\n}\n\nexport function workflowReleaseFlagsFromChangedPaths(paths = []) {\n  const targets = releaseTargetsFromChangedPaths(paths);\n  return {\n    release_cc_execution: String(targets.ccExecution),\n    release_onrunner: \"false\",\n    release_frontend: String(targets.frontend),\n    release_supabase_edge: String(targets.supabaseEdge),\n    release_migrations: String(targets.migrations),\n  };\n}\n"},{"path":"src/__tests__/contracts/knocklaunch-console-release-ownership.contract.test.ts","content":"import { readFileSync } from 'node:fs';\nimport { describe, expect, it } from 'vitest';\n\nconst ownership = readFileSync('scripts/release-target-ownership.mjs', 'utf8');\n\ndescribe('KNOCKLAUNCH Console release ownership contract', () => {\n  it('classifies standalone Console assets as frontend release inputs', () => {\n    expect(ownership).toContain('scripts\\\\/knocklaunch-console\\\\/');\n  });\n\n  it('lets ownership-map repairs trigger their own frontend release', () => {\n    expect(ownership).toContain('scripts\\\\/release-target-ownership\\\\.mjs$');\n  });\n});\n"}],"branch":"ai/objective-first-repair-5f0e1ebd29a7","writes":[],"patches":[],"version":1,"approved":true,"missionId":"5f0e1ebd-29a7-425c-a246-d9486f66a4e3","objective":"Repair canonical release ownership so changes under scripts/knocklaunch-console/ trigger the frontend production release, and so scripts/release-target-ownership.mjs itself triggers frontend release when this mapping is repaired. Add a focused contract test. Ship through Gate and require the frontend release target so the already-merged Console Operator repair can actually reach production.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/release-target-ownership.mjs","src/__tests__/contracts/knocklaunch-console-release-ownership.contract.test.ts"],"implementation":{"files":[],"writes":[]},"requestContract":{"valid":true,"intent":{"evidence":["Production serves stale /console/operator.mjs while current main contains newer source; post-merge logs released cc-execution and laptop witness but no frontend release."],"confidence":1,"rawUtterance":"Repair canonical release ownership so changes under scripts/knocklaunch-console/ trigger the frontend production release, and so scripts/release-target-ownership.mjs itself triggers frontend release when this mapping is repaired. Add a focused contract test. Ship through Gate and require the frontend release target so the already-merged Console Operator repair can actually reach production.","wordingChanged":false,"canonicalIntent":"Repair canonical release ownership so changes under scripts/knocklaunch-console/ trigger the frontend production release, and so scripts/release-target-ownership.mjs itself triggers frontend release when this mapping is repaired. Add a focused contract test. Ship through Gate and require the frontend release target so the already-merged Console Operator repair can actually reach production.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"release-owner","statement":"Standalone KNOCKLAUNCH Console changes reliably trigger the frontend release target, including this ownership-rule repair.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["frontend-release"]}],"objective":"Repair canonical release ownership so changes under scripts/knocklaunch-console/ trigger the frontend production release, and so scripts/release-target-ownership.mjs itself triggers frontend release when this mapping is repaired. Add a focused contract test. Ship through Gate and require the frontend release target so the already-merged Console Operator repair can actually reach production.","constraints":[{"id":"scope","statement":"Change only canonical release ownership and its focused contract test; do not alter Console UI or unrelated release targets.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["frontend-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"frontend-release","kind":"runtime","claim":"The ownership repair ships and a frontend release is required for this change so /admin/console can receive the already-merged standalone Console assets.","route":"/admin/console","roleRef":"GodMode","userRef":null,"required":true,"expectedText":"Visual Witness","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"knocklaunch-console-frontend-release-ownership","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["frontend"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["frontend-release"]},"capabilityCompleteness":{"domains":["frontend","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/release-target-ownership.mjs","src/__tests__/contracts/knocklaunch-console-release-ownership.contract.test.ts"],"requestContract":{"valid":true,"intent":{"evidence":["Production serves stale /console/operator.mjs while current main contains newer source; post-merge logs released cc-execution and laptop witness but no frontend release."],"confidence":1,"rawUtterance":"Repair canonical release ownership so changes under scripts/knocklaunch-console/ trigger the frontend production release, and so scripts/release-target-ownership.mjs itself triggers frontend release when this mapping is repaired. Add a focused contract test. Ship through Gate and require the frontend release target so the already-merged Console Operator repair can actually reach production.","wordingChanged":false,"canonicalIntent":"Repair canonical release ownership so changes under scripts/knocklaunch-console/ trigger the frontend production release, and so scripts/release-target-ownership.mjs itself triggers frontend release when this mapping is repaired. Add a focused contract test. Ship through Gate and require the frontend release target so the already-merged Console Operator repair can actually reach production.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"release-owner","statement":"Standalone KNOCKLAUNCH Console changes reliably trigger the frontend release target, including this ownership-rule repair.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["frontend-release"]}],"objective":"Repair canonical release ownership so changes under scripts/knocklaunch-console/ trigger the frontend production release, and so scripts/release-target-ownership.mjs itself triggers frontend release when this mapping is repaired. Add a focused contract test. Ship through Gate and require the frontend release target so the already-merged Console Operator repair can actually reach production.","constraints":[{"id":"scope","statement":"Change only canonical release ownership and its focused contract test; do not alter Console UI or unrelated release targets.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["frontend-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"frontend-release","kind":"runtime","claim":"The ownership repair ships and a frontend release is required for this change so /admin/console can receive the already-merged standalone Console assets.","route":"/admin/console","roleRef":"GodMode","userRef":null,"required":true,"expectedText":"Visual Witness","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"knocklaunch-console-frontend-release-ownership","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["frontend"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["frontend-release"]},"capabilityCompleteness":{"domains":["frontend","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"e6ded810f745b156ce11e456718bc0d807c03b8f2efe0737404147ad987b54f6","replayCount":0,"serializedBytes":11917},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T02:30:52.423383+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:5f0e1ebd-29a7-425c-a246-d9486f66a4e3:repository-mutation-intent:e6ded810f745b156ce11e456718bc0d807c03b8f2efe0737404147ad987b54f6:0","mission_step_id":"ef9f2a75-76fd-451b-8b1a-df37354cfef3","command_center_event_id":"5f0e1ebd-29a7-425c-a246-d9486f66a4e3"},{"id":"a1e46efa-a015-41ab-911c-645603d7b75f","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.9-github-read-resilience","prNumber":4747,"terminal":false,"missionId":"a3c01a89-0db8-4b2f-91d5-05d26818606f","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"c5d9228d98a3b3b4287abb9eec2d70e882c0c947","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"a3c01a89-0db8-4b2f-91d5-05d26818606f"},"performance":null,"deploymentId":"canonical-release-c5d9228d98a3","workflowRunId":31689613013,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1541,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-13T10:08:11.305525+00:00","proof_gate":"canonical_release_dispatched","source_sha":"c5d9228d98a3b3b4287abb9eec2d70e882c0c947","external_id":"canonical-release-c5d9228d98a3","receipt_type":"ship_and_prove","idempotency_key":"mission:a3c01a89-0db8-4b2f-91d5-05d26818606f:ship_and_prove:canonical_release_dispatched:c5d9228d98a3b3b4287abb9eec2d70e882c0c947:31689613013","mission_step_id":"6572904c-f618-4cc0-afe0-3c6a99e76c98","command_center_event_id":"a3c01a89-0db8-4b2f-91d5-05d26818606f"},{"id":"a1e70881-ce0d-471b-a872-704f540e3d61","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-mtkrcr6s","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":5025,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":null,"terminal":false,"missionId":"9a0692b7-1ba5-429e-90de-dd567b9b881e","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":493,"missionSetupMs":4493},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"9a0692b7-1ba5-429e-90de-dd567b9b881e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5133,"likelyAffectedFiles":["scripts/supabase-migration-release.mjs","src/components/ReleaseAllLeadsButton.tsx","src/components/ReleaseLeadButton.tsx","src/components/SiteBackground.tsx","src/components/TenantRouter.tsx","src/components/WorkflowRouter.tsx","src/components/activities/ActivityTimeline.tsx","src/components/GlobalCommandPalette.tsx","src/components/OfflineIndicator.tsx","src/components/AdaptiveBusinessDashboard.tsx","src/components/admin/AdminPage.tsx","src/components/admin/AdminPageContext.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"b565f644-6d3c-4b61-97d6-f91a06dae0ec","created_at":"2026-09-03T00:06:31.809707+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9a0692b7-1ba5-429e-90de-dd567b9b881e:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"5a59f91d-0a44-4c2f-b19d-f2657cf5c3d0","command_center_event_id":"9a0692b7-1ba5-429e-90de-dd567b9b881e"},{"id":"a1e7630a-c1b0-4f7c-91f4-db0ed603eb4f","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:44:18.126052+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:03:11.743694+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:73fc2c7d-a9f8-4293-97e4-066f4ee9bde4:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"b0bc4cc4-0adb-4848-993f-a2563a358076","command_center_event_id":"73fc2c7d-a9f8-4293-97e4-066f4ee9bde4"},{"id":"a1e90c21-a338-4397-9a73-7178dedc39ef","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"9194b38ee389a8390540ff4f34a5019fd9212590","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"fit","satisfied":false,"statement":"The natural-language command dock is fully visible in the initial viewport on desktop and mobile without scrolling.","proofConditionIds":["production-grounding","desktop","mobile"]}],"satisfied":false,"constraints":[{"id":"no-cockpit-regression","satisfied":false,"statement":"Do not change the cockpit composition, controls, route navigator, witness proof, or natural-language behavior; adjust only outer iframe fit.","proofConditionIds":["production-grounding","desktop","mobile"]},{"id":"visual-viewport-authority","satisfied":false,"statement":"Desktop and mobile proofs are authoritative for their own outer-shell geometry.","proofConditionIds":["desktop","mobile"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Mobile must preserve enough height for useful witness content while keeping the dock above fixed bottom navigation.","proofConditionIds":["mobile"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Gate, frontend release, and live proof are required.","proofConditionIds":["production-grounding","desktop","mobile"]},{"id":"capability-completeness","satisfied":false,"statement":"All dependencies for this iframe-fit-only frontend change must remain wired and proven through live production behavior.","proofConditionIds":["production-grounding","desktop","mobile"]}],"contractHash":"67b841fcc0b4e0c83a72ca58efbb7a08fab9f2921f51775083e01113e0be6191","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"production-grounding","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":["frontend"],"migrationReleaseVerified":null,"releaseRequestContractHash":"67b841fcc0b4e0c83a72ca58efbb7a08fab9f2921f51775083e01113e0be6191"},"required":true,"satisfied":true},{"id":"desktop","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"9194b38ee389a8390540ff4f34a5019fd9212590","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false},{"id":"mobile","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"9194b38ee389a8390540ff4f34a5019fd9212590","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T05:19:59.187473+00:00","proof_gate":"request_contract_pending","source_sha":"9194b38ee389a8390540ff4f34a5019fd9212590","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:4700f8d8-104c-4a02-93af-70c06242b7b0:request-contract:67b841fcc0b4e0c83a72ca58efbb7a08fab9f2921f51775083e01113e0be6191:9194b38ee389a8390540ff4f34a5019fd9212590:pending:visual","mission_step_id":"c8f4f128-68ac-4af2-91d6-f515cf08bb22","command_center_event_id":"4700f8d8-104c-4a02-93af-70c06242b7b0"},{"id":"a1e9643a-4023-48cf-846e-5cbe4b52daad","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/frontend-build-startup-fastpath-20260901","reason":null,"status":"in_progress","metrics":{"receiptBytes":7901,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.2-visual-witness-proof-projection","prNumber":1295,"terminal":false,"missionId":"281413e7-35dc-451b-aeca-b1d71b3ac147","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"handlerMs":26461,"prReadinessMs":2068,"approvedPlanMs":0,"missionSetupMs":1197,"shipAndProveMs":23639},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"281413e7-35dc-451b-aeca-b1d71b3ac147"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1013,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-01T19:57:32.595268+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1295","receipt_type":"execute_mission","idempotency_key":"mission:281413e7-35dc-451b-aeca-b1d71b3ac147:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"a300041a-77fe-416e-bbea-bd174018f23a","command_center_event_id":"281413e7-35dc-451b-aeca-b1d71b3ac147"},{"id":"a1ea96d4-be61-4493-9a0f-d4c5eddff874","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-079636c9f7b3","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":14951,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"executorlessWaitMs":28223,"firstUsefulResultAt":"2026-10-03T04:34:47.495Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4623,"terminal":false,"missionId":"079636c9-f7b3-4faf-85fd-deca1528b03b","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2199,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"079636c9-f7b3-4faf-85fd-deca1528b03b"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:35:04.802295+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4623","receipt_type":"automatic_mission_resume","idempotency_key":"mission:079636c9-f7b3-4faf-85fd-deca1528b03b:automatic-mission-resume:4623:repair_mission_pr_ready_retryable","mission_step_id":"7f792a49-5eb5-4f05-b46c-2dea9a71735d","command_center_event_id":"079636c9-f7b3-4faf-85fd-deca1528b03b"},{"id":"a1ed1342-2c2a-4093-b435-9ee44b1a3d67","source":"forgejo","status":"waiting","payload":{"branch":"ai/layout-controls-bell-fix-985b7759","prNumber":2612,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"3e6b921c3ada9102173bcbee2bedfd007afd0f6c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T03:07:10.401199+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"3e6b921c3ada9102173bcbee2bedfd007afd0f6c","external_id":"2612","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:985b7759-0812-44de-ae30-94145fb73c42:merged-pr:2612:3e6b921c3ada9102173bcbee2bedfd007afd0f6c","mission_step_id":"9f3c097d-7d3b-4438-9fd9-11108cae740b","command_center_event_id":"985b7759-0812-44de-ae30-94145fb73c42"},{"id":"a1eeef2c-5079-420f-a4b9-116e58d6e102","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","cc-execution/runtime-proof":"pending"},"mainSha":"6651be88b00834a5cfafc434cdb2eb7a30da9546","missing":[],"pending":["cc-execution/runtime-proof"],"required":["forgejo-main/source","cc-execution/runtime-proof"],"sourceSha":"6651be88b00834a5cfafc434cdb2eb7a30da9546","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","ccExecutionRuntimeProof":{"liveSha":null,"deploymentId":null,"compareStatus":null,"identitySource":"external_health","runtimeVersion":null,"containsSourceSha":false}},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-14T16:16:42.222063+00:00","proof_gate":"canonical_release_pending","source_sha":"6651be88b00834a5cfafc434cdb2eb7a30da9546","external_id":"forgejo-main-6651be88b008","receipt_type":"canonical_release_status","idempotency_key":"mission:8f95df8e-412d-4094-a128-063627a5279f:forgejo-release-status:6651be88b00834a5cfafc434cdb2eb7a30da9546:pending:forgejo-main/source=success|cc-execution/runtime-proof=pending","mission_step_id":"cc176d65-5242-4af7-86a5-43bd2138f7c9","command_center_event_id":"8f95df8e-412d-4094-a128-063627a5279f"},{"id":"a1efca0e-8d76-452c-b2fb-887511463959","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/forgejo-orphan-pr-reconciliation-repair","reason":"control_plane_frozen_explicit_unfreeze_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.159-visual-witness-three-attempt-policy","prNumber":null,"terminal":false,"missionId":"9f448d31-6af5-4b8e-a1f3-4e11ba17e7a6","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":286,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":286,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":286,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":286,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"9f448d31-6af5-4b8e-a1f3-4e11ba17e7a6"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1496,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T13:29:36.836054+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9f448d31-6af5-4b8e-a1f3-4e11ba17e7a6:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"7d685d10-1370-45f6-aa59-4b79b590911a","command_center_event_id":"9f448d31-6af5-4b8e-a1f3-4e11ba17e7a6"},{"id":"a1f00da0-16cc-47c3-ad64-d85b04d19d83","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","handoff":null,"capability":"light-control-plane","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T17:50:57.180045+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-e908936ef307\",\"prNumber\":5181,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T14:18:09.9063+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:e908936e-f307-463c-9631-a6fa61f98025:owner-progress-heartbeat:119419752","mission_step_id":"baa11ec4-7bb2-455c-ac85-399bd7143d21","command_center_event_id":"e908936e-f307-463c-9631-a6fa61f98025"},{"id":"a1f15c85-694d-44fa-9a1b-7fc06a5bac02","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b9d3e61a361a","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.151-mission-create-single-rpc","prNumber":2841,"terminal":false,"missionId":"b9d3e61a-361a-45d0-8de4-1ffaa118804c","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5938,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1171,"approvedPlanMs":0,"missionSetupMs":692,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":407,"ledgerReconcileMs":0,"lineageReconcileMs":285,"resolvePreflightMs":692,"repositoryMutationMs":4752,"repositoryProviderMs":3146,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2737,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":407,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":409},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"b9d3e61a-361a-45d0-8de4-1ffaa118804c"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1512,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T17:51:26.340394+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2841","receipt_type":"execute_mission","idempotency_key":"mission:b9d3e61a-361a-45d0-8de4-1ffaa118804c:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"179f64a9-ce9f-4165-b1c9-a94e75950e8e","command_center_event_id":"b9d3e61a-361a-45d0-8de4-1ffaa118804c"},{"id":"a1f20975-cccc-4bae-a32b-c4fb6ec03aec","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ea11cdb6ecac","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":24166,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":22140,"firstUsefulResultAt":"2026-09-30T21:11:08.027Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4273,"terminal":false,"missionId":"ea11cdb6-ecac-472e-8d1b-c383167ae180","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2151,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"ea11cdb6-ecac-472e-8d1b-c383167ae180"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T21:11:21.281909+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4273","receipt_type":"automatic_mission_resume","idempotency_key":"mission:ea11cdb6-ecac-472e-8d1b-c383167ae180:automatic-mission-resume:4273:repair_mission_pr_ready_retryable","mission_step_id":"31e5b0cb-f575-4401-830d-0f841d8a2079","command_center_event_id":"ea11cdb6-ecac-472e-8d1b-c383167ae180"},{"id":"a1f2371c-52ce-4335-9b06-25a7cb760ac5","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"86308f02212acd8841732d099200f74f26fabd1e","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"big-papis-contextual-nav-fix","satisfied":true,"statement":"Fix the Big Papi mobile contextual-nav defect proven by live interaction: on in-mode routes, build shortcut labels from the actual mode navigation items before broader mode cards so Calendar is absent while on Calendar and reappears as Calendar after leaving it; keep the crown slot permanent and avatar last. Also enlarge the shared Modes/Context hitboxes and Big Papi Calendar previous/next-day hitboxes enough to remain mobile-safe after tenant scaling, without changing desktop or public behavior.","proofConditionIds":["proof-production","proof-calendar-interaction"]}],"satisfied":true,"constraints":[{"id":"tenant-scope","satisfied":true,"statement":"Only Big Papi's private owner mobile workspace is changed; desktop and public-facing behavior remain unchanged.","proofConditionIds":["proof-production","proof-calendar-interaction"]},{"id":"preserve-shell","satisfied":true,"statement":"The crown-centered mobile shell and account-last rule remain unchanged.","proofConditionIds":["proof-production","proof-calendar-interaction"]},{"id":"visual-content-truth","satisfied":true,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-calendar-interaction"]},{"id":"tenant-visual-isolation","satisfied":true,"statement":"Visual work is isolated to Big Papi's. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity.","proofConditionIds":["proof-calendar-interaction"]},{"id":"visual-viewport-authority","satisfied":true,"statement":"The requested mobile viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport.","proofConditionIds":["proof-calendar-interaction"]},{"id":"reference-visual-fidelity","satisfied":true,"statement":"Preserve the approved crown-centered Big Papi mobile shell composition and existing mode visual language.","proofConditionIds":["proof-calendar-interaction"]},{"id":"responsive-visual-continuity","satisfied":true,"statement":"Mobile adaptation preserves Big Papi hierarchy, branding, functionality, and design language; it does not invent a second design.","proofConditionIds":["proof-calendar-interaction"]},{"id":"reference-visual-authority","satisfied":true,"statement":"The currently approved live crown-centered Big Papi mobile shell is the immutable acceptance reference for this bounded repair.","proofConditionIds":["proof-calendar-interaction"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"fc1b91ae563c366c924009e6ceb4cb97ce1521fdf4e378da6142a9241482eed5","releaseBound":true,"witnessBound":true,"visualRequested":true,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"fc1b91ae563c366c924009e6ceb4cb97ce1521fdf4e378da6142a9241482eed5"},"required":true,"satisfied":true},{"id":"proof-calendar-interaction","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"https://app.knocklaunch.app/big-papis/owner/calendar?bpMode=plan","currentSourceSha":"86308f02212acd8841732d099200f74f26fabd1e","witnessSourceSha":"86308f02212acd8841732d099200f74f26fabd1e","verificationState":"verified","witnessRequestContractHash":"fc1b91ae563c366c924009e6ceb4cb97ce1521fdf4e378da6142a9241482eed5"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T18:09:14.758056+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"86308f02212acd8841732d099200f74f26fabd1e","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:851cc024-870f-469a-bd07-66ea76712db4:request-contract:fc1b91ae563c366c924009e6ceb4cb97ce1521fdf4e378da6142a9241482eed5:86308f02212acd8841732d099200f74f26fabd1e:verified:","mission_step_id":"08cd02eb-9ba8-450d-bdb2-cd4c0f83d54b","command_center_event_id":"851cc024-870f-469a-bd07-66ea76712db4"},{"id":"a1f2aa2a-7148-4b0d-b2ea-76b5e580a681","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"8c94a3b8e41eb4fa99a656536c43207d07f0b146","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"PATCH THE CURRENT SOURCE CODE NOW. Implement and ship a focused code change for the platform-wide avatar/navigation invariant. Modify the shared authenticated shell(s), route-registry guardrail, and only directly relevant contract tests as needed. Every authenticated route family must render exactly one canonical avatar with context-correct Profile, Settings, Notifications/account navigation; zero missing owners and zero duplicate owners. Audit the full current route registry and all tenant/admin/GodMode/platform route families. Preserve tenant-above-platform mobile navigation and the platform bar as bottom-most. Add a Gate-failing regression check for missing or duplicate avatar ownership with public-route exemptions. Do not redesign unrelated UI. Create one PR, run Gate, squash merge, deploy affected production target(s), and prove the live reported route and representative tenant/platform families. Return before/after counts and all receipts.","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"3f8b395e1ca7e1ea8dba629731886959699a859f3b3891a2fc1dc2e549686768","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"3f8b395e1ca7e1ea8dba629731886959699a859f3b3891a2fc1dc2e549686768"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/admin/godmode/restore-points","currentSourceSha":"8c94a3b8e41eb4fa99a656536c43207d07f0b146","witnessSourceSha":"8c94a3b8e41eb4fa99a656536c43207d07f0b146","verificationState":null,"witnessRequestContractHash":"3f8b395e1ca7e1ea8dba629731886959699a859f3b3891a2fc1dc2e549686768"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T12:02:42.970504+00:00","proof_gate":"request_contract_pending","source_sha":"8c94a3b8e41eb4fa99a656536c43207d07f0b146","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d4857a33-afd8-4e82-a497-02828321bfc6:request-contract:3f8b395e1ca7e1ea8dba629731886959699a859f3b3891a2fc1dc2e549686768:8c94a3b8e41eb4fa99a656536c43207d07f0b146:pending:visual","mission_step_id":"b14ad776-e12d-456a-97c1-1dcbc4be25d7","command_center_event_id":"d4857a33-afd8-4e82-a497-02828321bfc6"},{"id":"a1f417f2-a0d5-4f97-b150-663fecb62530","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the exact runtime release-ownership sync mission on PR #1684. Preserve the explicit request contract. Merge only after exact-head Gate is green, release cc-execution 1.58.39 on exact merged SHA, verify live runtime and refreeze.","wordingChanged":false,"canonicalIntent":"Continue the exact runtime release-ownership sync mission on PR #1684. Preserve the explicit request contract. Merge only after exact-head Gate is green, release cc-execution 1.58.39 on exact merged SHA, verify live runtime and refreeze.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"ownership-sync","statement":"The live cc-execution reconciler excludes workers/cc-execution/test/** from runtime ownership while retaining real workers/cc-execution runtime ownership.","proofConditionIds":["repo","runtime"]},{"id":"runtime-live","statement":"cc-execution 1.58.39-release-ownership-sync-refreeze is live on the exact merged source.","proofConditionIds":["runtime"]},{"id":"refreeze","statement":"Control-plane maintenance is refrozen after terminal runtime proof.","proofConditionIds":["refrozen"]}],"objective":"Continue the exact runtime release-ownership sync mission on PR #1684. Preserve the explicit request contract. Merge only after exact-head Gate is green, release cc-execution 1.58.39 on exact merged SHA, verify live runtime and refreeze.","constraints":[{"id":"safety","statement":"Preserve canonical release ownership for all real runtime source/config, Gate, squash merge, exact-SHA release proof, and all hard safety invariants.","proofConditionIds":["repo","runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Runtime release ownership source and regression coverage prove worker tests are excluded and real runtime source remains included.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime","kind":"runtime","claim":"cc-execution 1.58.39-release-ownership-sync-refreeze is live on the exact merged SHA.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]},{"id":"refrozen","kind":"runtime","claim":"Control-plane maintenance is refrozen after terminal proof.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"0b0f0233f69d6e17e38d7433fffe05269f8c08ed430679a87b2600db97ae5d59","requestContractRevision":3,"previousRequestContractHash":"ff2010165c8b0162a55abca730f4dc60f7d7dfa5ea8baf5138df2ff30b1d0b0e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:37:00.260092+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:7163978d-886d-4591-ad04-d960d4591f77:request-contract:0b0f0233f69d6e17e38d7433fffe05269f8c08ed430679a87b2600db97ae5d59","mission_step_id":"a6168b2d-da25-4e27-a417-8636fd76055f","command_center_event_id":"7163978d-886d-4591-ad04-d960d4591f77"},{"id":"a1f63ae5-a0bc-43bf-92da-78aa9d78362b","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"512074acca02cd635755b18ea9b463c159738496","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"512074acca02cd635755b18ea9b463c159738496","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"b19bfca6d555fa01197170381fec99190306b2834bfd28a6351adf5360190811","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-28T18:29:12.459098+00:00","proof_gate":"canonical_release_pending","source_sha":"512074acca02cd635755b18ea9b463c159738496","external_id":"forgejo-main-512074acca02","receipt_type":"canonical_release_status","idempotency_key":"mission:96b34660-334a-4181-b4ee-9c13f9ff538b:forgejo-release-status:512074acca02cd635755b18ea9b463c159738496:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"a639e17b-591d-46f4-8be0-ccf41085ff77","command_center_event_id":"96b34660-334a-4181-b4ee-9c13f9ff538b"},{"id":"a1f7e787-5aab-42da-9dc6-46ae73edc8ae","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/curri-bridge-reference-gaps-20260905","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.64-mutation-ledger-handoff","prNumber":1809,"terminal":false,"missionId":"3a3926e7-b0cf-46a0-a36d-b542fb852ed0","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4197,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1893,"approvedPlanMs":0,"missionSetupMs":1924,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1228,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1924,"repositoryMutationMs":2148,"repositoryProviderMs":1499,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1408,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1228,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":91},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"3a3926e7-b0cf-46a0-a36d-b542fb852ed0"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1513,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-05T11:02:08.749326+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1809","receipt_type":"execute_mission","idempotency_key":"mission:3a3926e7-b0cf-46a0-a36d-b542fb852ed0:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"b40411c6-f2b1-4a34-91a5-c5cfe705feab","command_center_event_id":"3a3926e7-b0cf-46a0-a36d-b542fb852ed0"},{"id":"a1ff0d58-e416-41f9-8b23-97658226f447","source":"cc-execution","status":"recorded","payload":{"objective":"Corrective replacement for partial PR #1869 because the control plane cannot append to that branch. Build the complete frontend-only fix from current main in one fresh PR. Approved Premium must match the owner's approved proposal style; the only intentional omission is the old logo. Set Approved Premium/default brand visibility false while preserving the approved split-header footprint. Replace the hand-drawn PalmFrond SVG with the exact gold palm-frond artwork extracted from the owner's approved proposal reference, supplied at /mnt/data/approved-gold-palm-approved-q98.webp. Render that exact artwork at top-left 178px wide, left 8px top 8px, no filters/recolor. Render the same exact artwork bottom-right 178px wide, right 8px bottom 8px, rotate 180deg. Preserve all other approved frame, cream parchment, dividers, fact icons, ornate contact card, event summary, service cards, note bar, footer/legal strip, typography and spacing. Do not touch proposal-engine, database, PDF rebuild logic, auth, or other routes. Retire/supersede PR #1869 as part of reconciliation. Use KnockLaunch Gate, squash merge, frontend-only Cloudflare release, then visually verify live no-logo and exact palm corners.","tenantRef":"bigpapis","receivedAt":"2026-09-05T20:02:36.750Z","fingerprint":"8bfae0d703c26d2d78f25f820c3d71bba35466ad248b72702b2dd02ef869fd5e","workstreamRef":"bigpapis","conversationId":null,"canonicalBranch":"ai/big-papis-approved-proposal-exact-v2","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Corrective replacement for partial PR #1869 because the control plane cannot append to that branch. Build the complete frontend-only fix from current main in one fresh PR. Approved Premium must match the owner's approved proposal style; the only intentional omission is the old logo. Set Approved Premium/default brand visibility false while preserving the approved split-header footprint. Replace the hand-drawn PalmFrond SVG with the exact gold palm-frond artwork extracted from the owner's approved proposal reference, supplied at /mnt/data/approved-gold-palm-approved-q98.webp. Render that exact artwork at top-left 178px wide, left 8px top 8px, no filters/recolor. Render the same exact artwork bottom-right 178px wide, right 8px bottom 8px, rotate 180deg. Preserve all other approved frame, cream parchment, dividers, fact icons, ornate contact card, event summary, service cards, note bar, footer/legal strip, typography and spacing. Do not touch proposal-engine, database, PDF rebuild logic, auth, or other routes. Retire/supersede PR #1869 as part of reconciliation. Use KnockLaunch Gate, squash merge, frontend-only Cloudflare release, then visually verify live no-logo and exact palm corners.","wordingChanged":false,"canonicalIntent":"Corrective replacement for partial PR #1869 because the control plane cannot append to that branch. Build the complete frontend-only fix from current main in one fresh PR. Approved Premium must match the owner's approved proposal style; the only intentional omission is the old logo. Set Approved Premium/default brand visibility false while preserving the approved split-header footprint. Replace the hand-drawn PalmFrond SVG with the exact gold palm-frond artwork extracted from the owner's approved proposal reference, supplied at /mnt/data/approved-gold-palm-approved-q98.webp. Render that exact artwork at top-left 178px wide, left 8px top 8px, no filters/recolor. Render the same exact artwork bottom-right 178px wide, right 8px bottom 8px, rotate 180deg. Preserve all other approved frame, cream parchment, dividers, fact icons, ornate contact card, event summary, service cards, note bar, footer/legal strip, typography and spacing. Do not touch proposal-engine, database, PDF rebuild logic, auth, or other routes. Retire/supersede PR #1869 as part of reconciliation. Use KnockLaunch Gate, squash merge, frontend-only Cloudflare release, then visually verify live no-logo and exact palm corners.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"approved-style","statement":"Approved Premium visually matches the approved proposal family, uses the exact approved gold palm artwork at top-left and bottom-right, and contains no logo.","proofConditionIds":["repo-proof","release-proof","visual-proof"]}],"objective":"Corrective replacement for partial PR #1869 because the control plane cannot append to that branch. Build the complete frontend-only fix from current main in one fresh PR. Approved Premium must match the owner's approved proposal style; the only intentional omission is the old logo. Set Approved Premium/default brand visibility false while preserving the approved split-header footprint. Replace the hand-drawn PalmFrond SVG with the exact gold palm-frond artwork extracted from the owner's approved proposal reference, supplied at /mnt/data/approved-gold-palm-approved-q98.webp. Render that exact artwork at top-left 178px wide, left 8px top 8px, no filters/recolor. Render the same exact artwork bottom-right 178px wide, right 8px bottom 8px, rotate 180deg. Preserve all other approved frame, cream parchment, dividers, fact icons, ornate contact card, event summary, service cards, note bar, footer/legal strip, typography and spacing. Do not touch proposal-engine, database, PDF rebuild logic, auth, or other routes. Retire/supersede PR #1869 as part of reconciliation. Use KnockLaunch Gate, squash merge, frontend-only Cloudflare release, then visually verify live no-logo and exact palm corners.","constraints":[{"id":"constraint-1","statement":"Do not redraw or substitute the palm artwork.","proofConditionIds":["repo-proof","release-proof"]},{"id":"constraint-2","statement":"Do not show any logo in Approved Premium.","proofConditionIds":["repo-proof","release-proof"]},{"id":"constraint-3","statement":"Do not change proposal-engine, database, auth, PDF rebuild logic, or non-proposal routes.","proofConditionIds":["repo-proof","release-proof"]},{"id":"constraint-4","statement":"Preserve all other approved proposal layout and styling.","proofConditionIds":["repo-proof","release-proof"]},{"id":"constraint-5","statement":"Retire/supersede partial PR #1869 so only the corrective replacement remains active for this outcome.","proofConditionIds":["repo-proof","release-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Current source contains the no-logo Approved Premium preset and exact palm asset renderer.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release-proof","kind":"runtime","claim":"Frontend production is released from the corrective merge SHA.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"visual-proof","kind":"visual","claim":"Live Big Papi proposal shows no logo and the exact approved gold palm artwork in the two approved corners.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/big-papis-approved-proposal-exact-v2","conversationContext":null,"requestContractHash":"c5bb42eac0149aebd7747d5aadb53901b580c3e1abb9e0bc54f0eb68efd24514","requestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-05T20:02:37.687807+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:4b16984f-7eda-49a9-beb8-0013fbe5e96c:tenant-workstream-contribution:8bfae0d703c26d2d78f25f820c3d71bba35466ad248b72702b2dd02ef869fd5e","mission_step_id":null,"command_center_event_id":"4b16984f-7eda-49a9-beb8-0013fbe5e96c"},{"id":"a2002242-54c0-47c8-a206-5d985c5a3f20","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"0e10db082682454ff4a91727d18607880c74262c","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"0e10db082682454ff4a91727d18607880c74262c","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"62306bfc637ebf4f9a878fe0ac9bd9de975c0f9963419779f423b27567be1065","forgejoWorkflowProof":{"runId":12233,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:29:35.432634+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"0e10db082682454ff4a91727d18607880c74262c","external_id":"forgejo-main-0e10db082682","receipt_type":"canonical_release_status","idempotency_key":"mission:b5ce70fb-0983-4b28-a7dc-000b8eef2396:forgejo-release-status:0e10db082682454ff4a91727d18607880c74262c:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"799f4ebb-9cfb-44d4-9bd3-47c55e466bd6","command_center_event_id":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},{"id":"a2007fba-c4fe-49e1-b422-f24ea94ade43","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-954b2d566a11","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":10582,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-25T00:03:15.569Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.266-ledger-egress-degraded-source-scope","prNumber":3683,"terminal":false,"missionId":"954b2d56-6a11-42f5-8965-6cf351a137bd","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9345,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":2789,"missionSetupMs":268,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":268,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":268,"repositoryMutationMs":6556,"repositoryProviderMs":6556,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3064,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":268,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":3492},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"954b2d56-6a11-42f5-8965-6cf351a137bd"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3918,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T00:03:26.480761+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3683","receipt_type":"execute_mission","idempotency_key":"mission:954b2d56-6a11-42f5-8965-6cf351a137bd:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"d5ce99e5-42d2-4b06-bdb9-993d750875ed","command_center_event_id":"954b2d56-6a11-42f5-8965-6cf351a137bd"},{"id":"a2008ed2-aa30-49be-ad5c-deea50b642c3","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.123-modes-storage-validated-oauth","prNumber":2606,"terminal":false,"missionId":"4159688c-ea76-43bf-8d2a-d7eae6d30046","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"0d29758daec862b15465f96687536e109604bebb","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":13679,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":731,"approvedPlanMs":0,"missionSetupMs":662,"providerAuthMs":0,"shipAndProveMs":12209,"ledgerPrepareMs":662,"ledgerReconcileMs":213,"lineageReconcileMs":0,"resolvePreflightMs":662,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":875,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"4159688c-ea76-43bf-8d2a-d7eae6d30046"},"performance":null,"deploymentId":"forgejo-main-0d29758daec8","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["admin-tenant-preview"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2729,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T02:47:37.790151+00:00","proof_gate":"canonical_release_dispatched","source_sha":"0d29758daec862b15465f96687536e109604bebb","external_id":"forgejo-main-0d29758daec8","receipt_type":"execute_mission","idempotency_key":"mission:4159688c-ea76-43bf-8d2a-d7eae6d30046:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"39eaced6-d4e6-4301-9287-badf530397c8","command_center_event_id":"4159688c-ea76-43bf-8d2a-d7eae6d30046"},{"id":"a20115bb-f6f3-48b3-93c6-dcc87d3db82a","source":"cc-execution","status":"verified","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"baseSha":"8016b62feeb85876167c2145e8f6e081b549fddb","consumedAt":1788489752404,"consumerToken":"a7412a71-7d73-455b-97ad-e66fdc8feb41","authorizationId":"b10d4382-32ba-417f-a4db-63bd08d6b051"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T02:42:33.297996+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"8016b62feeb85876167c2145e8f6e081b549fddb","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:b10d4382-32ba-417f-a4db-63bd08d6b051","mission_step_id":"0a7f4f42-1fa1-48f7-9092-fe224b15af88","command_center_event_id":"cd88e721-f570-406b-b194-53230b2acb03"},{"id":"a206c71a-e5eb-4838-ac8d-ee0f2ae7a661","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"850ea44fea7eb60bdb9b445eda9634ade49426d5","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"shared-draft-hook","satisfied":false,"statement":"A reusable React hook wraps the existing OfflineManager durable draft APIs for scoped restore, autosave, and removal.","proofConditionIds":["repo","live"]},{"id":"global-sync-status","satisfied":false,"statement":"Authenticated application users get one quiet global sync-status surface that appears only for offline, pending, syncing, or needs-review states and offers bounded retry only for review-required items.","proofConditionIds":["repo","live"]},{"id":"lawn-single-draft","satisfied":false,"statement":"Lawn-care single-contact intake autosaves and restores its draft and clears it only after the contact is server-saved or durably queued.","proofConditionIds":["repo","live"]},{"id":"lawn-bulk-draft","satisfied":false,"statement":"Lawn-care bulk input and reviewed rows are durably restored while bulk import itself remains online-only/fail-closed.","proofConditionIds":["repo","live"]},{"id":"lawn-screenshot-staging","satisfied":false,"statement":"Lawn-care screenshot intake stages the file locally before cloud extraction and can resume the staged screenshot after recoverable connectivity loss without silently discarding it.","proofConditionIds":["repo","live"]},{"id":"truthful-save-state","satisfied":false,"statement":"A locally queued single-contact save is messaged as saved on this device/pending sync rather than falsely as server-confirmed.","proofConditionIds":["repo","live"]},{"id":"no-offline-boundary-expansion","satisfied":false,"statement":"No offline write/function allowlists are broadened and security-sensitive, destructive, bulk, payment, signature, and unapproved operations remain fail-closed.","proofConditionIds":["repo"]},{"id":"integration-tests","satisfied":false,"statement":"Deterministic contract tests cover the shared hook/status integration, draft restore semantics, screenshot staging/resume wiring, truthful queued messaging, and bulk fail-closed behavior.","proofConditionIds":["repo"]}],"satisfied":false,"constraints":[{"id":"single-owner","satisfied":false,"statement":"OfflineManager remains the only platform offline persistence/sync owner; no parallel queue or database is introduced.","proofConditionIds":["repo","live"]},{"id":"scope","satisfied":false,"statement":"Mutation is limited to the five declared frontend/test paths and does not modify public demo or isolated preview roots.","proofConditionIds":["repo"]},{"id":"canonical-release","satisfied":true,"statement":"One branch, one PR, one Gate, squash merge, frontend-only release, exact live proof.","proofConditionIds":["live"]},{"id":"capability-completeness","satisfied":false,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo","live"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo","live"]}],"contractHash":"ea7eedfb67fe32ef5934fcaecce52331884c623dc39c62a2c6f47d30dcb27f74","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"ea7eedfb67fe32ef5934fcaecce52331884c623dc39c62a2c6f47d30dcb27f74","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"live","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"migrationReleaseVerified":null,"releaseRequestContractHash":"ea7eedfb67fe32ef5934fcaecce52331884c623dc39c62a2c6f47d30dcb27f74"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:41:42.617317+00:00","proof_gate":"request_contract_pending","source_sha":"850ea44fea7eb60bdb9b445eda9634ade49426d5","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d272b4e3-c8ef-4bd4-8156-93e249ef717d:request-contract:ea7eedfb67fe32ef5934fcaecce52331884c623dc39c62a2c6f47d30dcb27f74:850ea44fea7eb60bdb9b445eda9634ade49426d5:pending:repository","mission_step_id":"5cd9ae93-188a-44fd-afed-e9c7286fa049","command_center_event_id":"d272b4e3-c8ef-4bd4-8156-93e249ef717d"},{"id":"a207e894-63b5-4258-bb9c-c5af34a7e43a","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"a55dfd793c19729b8ac5ce2713412b614eae99f3","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"gate-guard-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"de4b1556bf36ea5b1614e851079be037e4fbf62a","prNumber":3473,"gateRunId":11018,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/11018/jobs/1","mergeCommitSha":"a55dfd793c19729b8ac5ce2713412b614eae99f3"}],"requestContractHash":"27d667f39de4ee6d780f13e853d54685d6543e63cfcbc766efc0d0622b730f9f","namedGateEvidenceReceiptVersion":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:08:47.179855+00:00","proof_gate":"request_contract_repository_verified","source_sha":"a55dfd793c19729b8ac5ce2713412b614eae99f3","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:80a641a9-6336-4d0e-8b9e-6207e8751773:request-contract-repository:27d667f39de4ee6d780f13e853d54685d6543e63cfcbc766efc0d0622b730f9f:a55dfd793c19729b8ac5ce2713412b614eae99f3","mission_step_id":"7fd5070e-5b22-4237-bfc9-53a9d1e08dbd","command_center_event_id":"80a641a9-6336-4d0e-8b9e-6207e8751773"},{"id":"a2084555-46d0-4085-b8d4-c1c4920fdcdf","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same bounded mutation and request contract. Apply the exact one-file diff to scripts/cloudflare-native-owner-worker.mjs, then one PR, exact-head KnockLaunch Gate, squash merge, frontend-worker-only release, and live nonvisual proof that the homepage server response contains 'Palm Bay roof leak help'.","wordingChanged":false,"canonicalIntent":"Continue the same bounded mutation and request contract. Apply the exact one-file diff to scripts/cloudflare-native-owner-worker.mjs, then one PR, exact-head KnockLaunch Gate, squash merge, frontend-worker-only release, and live nonvisual proof that the homepage server response contains 'Palm Bay roof leak help'.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"The RoofHelpFinder server-rendered homepage exposes crawler-followable links to the six existing Palm Bay and Melbourne promoted problem pages.","proofConditionIds":["proof-production"]}],"objective":"Continue the same bounded mutation and request contract. Apply the exact one-file diff to scripts/cloudflare-native-owner-worker.mjs, then one PR, exact-head KnockLaunch Gate, squash merge, frontend-worker-only release, and live nonvisual proof that the homepage server response contains 'Palm Bay roof leak help'.","constraints":[{"id":"constraint-1","statement":"Only scripts/cloudflare-native-owner-worker.mjs may change.","proofConditionIds":["proof-production"]},{"id":"constraint-2","statement":"Do not change homeowner claims, reviews, credentials, coverage language, lead form, tracking, routing, robots rules, sitemap contents, React UI, or other hosts/tenants.","proofConditionIds":["proof-production"]},{"id":"constraint-3","statement":"Use one fresh ai/* branch, one PR, KnockLaunch Gate, squash merge, deploy only the affected Cloudflare frontend worker target, and no Visual Witness.","proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"The live server-rendered https://roofhelpfinder.com/ response contains the descriptive local-problem anchor text 'Palm Bay roof leak help'.","route":"https://roofhelpfinder.com/","required":true,"expectedText":"Palm Bay roof leak help","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestContractHash":"92de0a8fc48f6a4ea96421b9b6aabf000be750a549c8151db653138b12373f33","requestContractRevision":2,"previousRequestContractHash":"6aa8ee6af6bf60ae0bbbd24c6e65b0e95708bd9eaf542bb7184561c97b91585a"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T14:28:14.793519+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:1b4e7f39-bdc8-4fa2-b368-e0355a91cfd2:request-contract-revision:2:92de0a8fc48f6a4ea96421b9b6aabf000be750a549c8151db653138b12373f33","mission_step_id":"f07ce6f1-7e79-44dc-a66f-57a3df8721d3","command_center_event_id":"1b4e7f39-bdc8-4fa2-b368-e0355a91cfd2"},{"id":"a2097673-a8c5-4391-b58f-8582ebed0e51","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-47c98dd9c4fb","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":25622,"releaseCount":0,"toolCallCount":12,"repeatedCallCount":5,"executorlessWaitMs":30269,"firstUsefulResultAt":"2026-10-03T00:41:09.548Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":4572,"terminal":false,"missionId":"47c98dd9-c4fb-4d0a-a080-42e0f6481bb6","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2231,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"47c98dd9-c4fb-4d0a-a080-42e0f6481bb6"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T00:41:29.961368+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4572","receipt_type":"automatic_mission_resume","idempotency_key":"mission:47c98dd9-c4fb-4d0a-a080-42e0f6481bb6:automatic-mission-resume:4572:repair_mission_pr_ready_retryable","mission_step_id":"8d49d0d6-4918-45c6-a6df-b4883c57a2fa","command_center_event_id":"47c98dd9-c4fb-4d0a-a080-42e0f6481bb6"},{"id":"a20c692b-42ff-453b-965c-5812e0c2e652","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/platform-sidekick-intelligence.js"],"reason":"Prime structured exact mutation continuation","baseSha":"78e3f22f6cc737fdf7e5f55dee9bc5be3ab1f412","issuedAt":1790991664662,"expiresAt":1790991844662,"missionId":"52965df6-3d7f-4d71-975f-b4799a5d40a3","authorizationId":"51b9caaf-69c8-4b15-a1c9-58c5c8416a93","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:41:04.940812+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"78e3f22f6cc737fdf7e5f55dee9bc5be3ab1f412","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:51b9caaf-69c8-4b15-a1c9-58c5c8416a93","mission_step_id":"d0dc6c1b-4258-4a02-88b0-ff2ceb32fd37","command_center_event_id":"52965df6-3d7f-4d71-975f-b4799a5d40a3"},{"id":"a20c983a-1f53-4662-87b9-1aa3dfcb38cb","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/vista-photo-studio-20260827","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":13231,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.54.0-intent-canonicalization","prNumber":862,"terminal":false,"missionId":"d0a519a7-a785-46e4-b845-13565be64739","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":201,"prReadinessMs":197,"approvedPlanMs":0,"missionSetupMs":601,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"d0a519a7-a785-46e4-b845-13565be64739"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4419,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-27T21:34:37.393307+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"862","receipt_type":"execute_mission","idempotency_key":"mission:d0a519a7-a785-46e4-b845-13565be64739:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"c722c5ea-65f3-42f8-aec2-b874137e73f6","command_center_event_id":"d0a519a7-a785-46e4-b845-13565be64739"},{"id":"a20d866c-e05f-4140-8994-d158ecc210a9","source":"cc-execution","status":"verified","payload":{"ok":true,"jobId":null,"phase":"runtime_proof","branch":"ai/forgejo-actions-watchdog-cloud-probe-20260906","reason":null,"status":"verified","metrics":{"receiptBytes":0,"releaseCount":2,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1981,"terminal":true,"missionId":"eefb30a0-f136-4476-a59c-0e23c11e6147","operation":"automatic_mission_resume","proofGate":"canonical_release_already_verified","sourceSha":"135a76baec553d59c678dfe4d0cf9320c135c93e","timingsMs":{"prReadinessMs":1111,"approvedPlanMs":0,"shipAndProveMs":5617,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"eefb30a0-f136-4476-a59c-0e23c11e6147"},"performance":null,"deploymentId":"forgejo-main-135a76baec55","workflowRunId":5930,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"LIVE","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1823,"ownerActionRequired":false,"ownerFacingTerminal":true,"continuationRequired":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T18:36:33.75366+00:00","proof_gate":"canonical_release_already_verified","source_sha":null,"external_id":"1981","receipt_type":"automatic_mission_resume","idempotency_key":"mission:eefb30a0-f136-4476-a59c-0e23c11e6147:automatic-mission-resume:1981:canonical_release_already_verified","mission_step_id":"9fbb9433-8dc8-40be-bae0-1a0a47584f7b","command_center_event_id":"eefb30a0-f136-4476-a59c-0e23c11e6147"},{"id":"a20e0002-27de-4f5c-9a51-548ce54c9ed2","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/proposal-editor-deterministic-direct-manipulation","reason":"orphaned_branch_recovery_scope_mismatch:ai/proposal-editor-deterministic-direct-manipulation","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":null,"terminal":false,"missionId":"f6c6336c-3bfd-4507-a95a-2b6716f30327","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":285,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":827,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":827,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":827,"repositoryMutationMs":285,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":827,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f6c6336c-3bfd-4507-a95a-2b6716f30327"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1565,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T19:10:52.26995+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f6c6336c-3bfd-4507-a95a-2b6716f30327:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"72f7cc0f-0725-4a39-a5e7-da80a3e3fa01","command_center_event_id":"f6c6336c-3bfd-4507-a95a-2b6716f30327"},{"id":"a20e6b06-6ded-45ff-884f-ad77156f9718","source":"cc-execution","status":"recorded","payload":{"objective":"Make the GodMode Change owner / Invite owner flow tenant-oriented exactly as the owner requested: same selected-tenant logo, derived color scheme, and tenant-first invitation layout, with KnockLaunch only as subtle powered-by attribution. Remove the separate legacy platform-first owner preview/template currently visible on /admin/users. Preserve owner assignment, authorization, copy/text/email delivery actions, setup URLs, and security. Frontend source only. Do not run Visual Witness.","tenantRef":"La Vista del Mar Rentals","receivedAt":"2026-08-29T17:30:51.008Z","fingerprint":"abd3aa21bf59686531e187b15fb40107cae58ff6c93545433387e1f9d3093935","workstreamRef":"lavistadelmarrentals","conversationId":null,"canonicalBranch":"ai/fix-godmode-owner-invite-branding-20260829","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Make the GodMode Change owner / Invite owner flow tenant-oriented exactly as the owner requested: same selected-tenant logo, derived color scheme, and tenant-first invitation layout, with KnockLaunch only as subtle powered-by attribution. Remove the separate legacy platform-first owner preview/template currently visible on /admin/users. Preserve owner assignment, authorization, copy/text/email delivery actions, setup URLs, and security. Frontend source only. Do not run Visual Witness.","wordingChanged":false,"canonicalIntent":"Make the GodMode Change owner / Invite owner flow tenant-oriented exactly as the owner requested: same selected-tenant logo, derived color scheme, and tenant-first invitation layout, with KnockLaunch only as subtle powered-by attribution. Remove the separate legacy platform-first owner preview/template currently visible on /admin/users. Preserve owner assignment, authorization, copy/text/email delivery actions, setup URLs, and security. Frontend source only. Do not run Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"owner-preview-tenant-first","statement":"The Change owner / Invite owner receipt on GodMode Identity & Access uses the selected tenant as the dominant brand, including tenant logo, tenant name, and tenant-derived colors, with only subtle KnockLaunch attribution.","proofConditionIds":["proof-source","proof-runtime"]},{"id":"legacy-owner-template-removed","statement":"The legacy owner invitation hero/copy 'Your workspace is ready', 'Set up KNOCKLAUNCH', and 'Install KNOCKLAUNCH' no longer exists in the GodMode owner invitation preview/template.","proofConditionIds":["proof-source"]},{"id":"vista-brand-ready","statement":"La Vista del Mar Rentals company_logo_url is selected by the frontend tenant directory and can drive the owner invitation branding.","proofConditionIds":["proof-source","proof-runtime"]}],"objective":"Make the GodMode Change owner / Invite owner flow tenant-oriented exactly as the owner requested: same selected-tenant logo, derived color scheme, and tenant-first invitation layout, with KnockLaunch only as subtle powered-by attribution. Remove the separate legacy platform-first owner preview/template currently visible on /admin/users. Preserve owner assignment, authorization, copy/text/email delivery actions, setup URLs, and security. Frontend source only. Do not run Visual Witness.","constraints":[{"id":"preserve-owner-operation","statement":"Preserve existing Change owner / Invite owner assignment, authorization, setup URL, copy invite, text invite, and email invite behavior.","proofConditionIds":["proof-source"]},{"id":"frontend-only","statement":"Do not modify backend, auth, database schema, Supabase functions, control-plane files, or release architecture.","proofConditionIds":["proof-source"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-source","kind":"repository","claim":"Current Forgejo source contains the tenant-branded owner invitation implementation and no longer contains the legacy platform-first owner invitation strings in that flow.","route":"/admin/users","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-runtime","kind":"runtime","claim":"The production /admin/users Identity & Access route is running the released frontend and contains the La Vista del Mar Rentals tenant context.","route":"/admin/users","required":true,"expectedText":"La Vista del Mar Rentals","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":"ai/fix-godmode-owner-invite-branding-20260829","conversationContext":null,"requestContractHash":"8686aa1874ae05add7e40091cd5a5fc3dd91dea1467831574696c8031dd17003","requestContractRevision":1},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T17:30:51.529107+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:cd832363-e3ef-4481-9fa2-635d9082216e:tenant-workstream-contribution:abd3aa21bf59686531e187b15fb40107cae58ff6c93545433387e1f9d3093935","mission_step_id":null,"command_center_event_id":"cd832363-e3ef-4481-9fa2-635d9082216e"},{"id":"a210dbd9-7530-47d4-a96e-8ded038ebdb8","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":".github/dependabot.yml","delete":true},{"path":".github/pull_request_template.md","delete":true},{"path":".github/workflows/canonical-pull-request-gate.yml","delete":true},{"path":".github/workflows/cc-deploy-edge-function.yml","delete":true},{"path":".github/workflows/cc-execution-worker-deploy.yml","delete":true},{"path":".github/workflows/cc-read-proxy-deploy.yml","delete":true},{"path":".github/workflows/cloudflare-worker-rollback.yml","delete":true},{"path":".github/workflows/onrunner-service-release.yml","delete":true},{"path":".github/workflows/operator-reliability-canary.yml","delete":true},{"path":".github/workflows/paul-sentinel-release.yml","delete":true},{"path":".github/workflows/production-release-conductor.yml","delete":true},{"path":".github/workflows/supabase-migration-deploy.yml","delete":true},{"path":"config/onrunner-canary-trigger.json","delete":true},{"path":"docs/gpt-actions/autonomous-release-canary.md","delete":true},{"path":"docs/gpt-actions/autonomous-release-proof-2.md","delete":true},{"path":"docs/gpt-actions/autonomy-control-plane-repair-lane.md","delete":true},{"path":"docs/gpt-actions/branch-cleanup-audit-phase1-20260710.md","delete":true},{"path":"docs/gpt-actions/canonical_delivery_canary_20260718.json","delete":true},{"path":"docs/gpt-actions/canonical_web_preflight_20260712.mjs","delete":true},{"path":"docs/gpt-actions/ccdeploy-supabase-automation.openapi.json","delete":true}],"branch":"ai/objective-first-repair-e3478acfa504","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e3478acf-a504-4781-94c6-eb60583afa11","objective":"Continue the same repository-authority decruft mission. Delete exact audited retired artifact files in deletion batch 1/5. Do not broaden scope or create a replacement PR.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[".github/dependabot.yml",".github/pull_request_template.md",".github/workflows/canonical-pull-request-gate.yml",".github/workflows/cc-deploy-edge-function.yml",".github/workflows/cc-execution-worker-deploy.yml",".github/workflows/cc-read-proxy-deploy.yml",".github/workflows/cloudflare-worker-rollback.yml",".github/workflows/onrunner-service-release.yml",".github/workflows/operator-reliability-canary.yml",".github/workflows/paul-sentinel-release.yml",".github/workflows/production-release-conductor.yml",".github/workflows/supabase-migration-deploy.yml","config/onrunner-canary-trigger.json","docs/gpt-actions/autonomous-release-canary.md","docs/gpt-actions/autonomous-release-proof-2.md","docs/gpt-actions/autonomy-control-plane-repair-lane.md","docs/gpt-actions/branch-cleanup-audit-phase1-20260710.md","docs/gpt-actions/canonical_delivery_canary_20260718.json","docs/gpt-actions/canonical_web_preflight_20260712.mjs","docs/gpt-actions/ccdeploy-supabase-automation.openapi.json"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"e3478acf-a504-4781-94c6-eb60583afa11","ownerApproved":true,"releaseIntent":null,"sourceTargets":[".github/dependabot.yml",".github/pull_request_template.md",".github/workflows/canonical-pull-request-gate.yml",".github/workflows/cc-deploy-edge-function.yml",".github/workflows/cc-execution-worker-deploy.yml",".github/workflows/cc-read-proxy-deploy.yml",".github/workflows/cloudflare-worker-rollback.yml",".github/workflows/onrunner-service-release.yml",".github/workflows/operator-reliability-canary.yml",".github/workflows/paul-sentinel-release.yml",".github/workflows/production-release-conductor.yml",".github/workflows/supabase-migration-deploy.yml","config/onrunner-canary-trigger.json","docs/gpt-actions/autonomous-release-canary.md","docs/gpt-actions/autonomous-release-proof-2.md","docs/gpt-actions/autonomy-control-plane-repair-lane.md","docs/gpt-actions/branch-cleanup-audit-phase1-20260710.md","docs/gpt-actions/canonical_delivery_canary_20260718.json","docs/gpt-actions/canonical_web_preflight_20260712.mjs","docs/gpt-actions/ccdeploy-supabase-automation.openapi.json"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"da5159faa06ecd94754ea39b4ae96c9a156e91799c682b3c4f00d846825c696d","replayCount":0,"serializedBytes":4521},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T01:30:58.552153+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e3478acf-a504-4781-94c6-eb60583afa11:repository-mutation-intent:da5159faa06ecd94754ea39b4ae96c9a156e91799c682b3c4f00d846825c696d:0","mission_step_id":"9dc32e9b-5e15-4d57-b5df-b1586ca5757e","command_center_event_id":"e3478acf-a504-4781-94c6-eb60583afa11"},{"id":"a2123bad-8f8b-423b-82cb-3a6f79cbdb5c","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/big-papis-proposal-logo-20260903","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":6500,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.5-merge-queue-operators","prNumber":null,"terminal":false,"missionId":"75d7b813-c464-4a87-a0c4-bac16c7e511e","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":866,"missionSetupMs":4556},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"75d7b813-c464-4a87-a0c4-bac16c7e511e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4940,"likelyAffectedFiles":["src/pages/mobile-vendor/BigPapisProposalDocument.tsx","config/control-plane-capabilities.json",".forgejo/workflows/knocklaunch.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-03T14:59:41.213456+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:75d7b813-c464-4a87-a0c4-bac16c7e511e:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"b0bf8cb9-a704-45c8-901c-d4b5c136155f","command_center_event_id":"75d7b813-c464-4a87-a0c4-bac16c7e511e"},{"id":"a21426d6-b8fc-41a7-8c65-1698a4157d32","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"3d05ec907b23eb1870274a738c0b86d9f32c4a10","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"3d05ec907b23eb1870274a738c0b86d9f32c4a10","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["mobile-vendor-event-request","mobile-vendor-growth"]},"releaseTargetStates":{"supabaseEdge":"success"},"requestContractHash":"49d606e72f3f4c7f9bfc8898ebd1c8b8e67884c6bd17a8ad9aa4ae9267a1f791","forgejoWorkflowProof":{"runId":15225,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T12:28:56.537456+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"3d05ec907b23eb1870274a738c0b86d9f32c4a10","external_id":"forgejo-main-3d05ec907b23","receipt_type":"canonical_release_status","idempotency_key":"mission:89627ae6-441a-47fc-9743-1f0d7906018b:forgejo-release-status:3d05ec907b23eb1870274a738c0b86d9f32c4a10:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"1aec50a1-3bf4-4910-a7fa-41d8123f7ccd","command_center_event_id":"89627ae6-441a-47fc-9743-1f0d7906018b"},{"id":"a2154ad8-5f32-4230-958f-e6016c95cdb8","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-migrations/live":"success","supabase-edge-production/live":"success"},"mainSha":"a7c0bde1cc5a3ff3afa27b95ce54e279ad20e2e9","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","supabase-migrations/live"],"sourceSha":"a7c0bde1cc5a3ff3afa27b95ce54e279ad20e2e9","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["opportunity-radar"]},"releaseTargetStates":{"migrations":"success","supabaseEdge":"success"},"requestContractHash":"9e01d277ed4af4354d63ceccbb8c27069207dac4907eba902d2bce602987e9c4","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6266","runId":6266,"status":"success","sourceSha":"a7c0bde1cc5a3ff3afa27b95ce54e279ad20e2e9","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"migrations":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"migrations":"success","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T20:54:45.088192+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"a7c0bde1cc5a3ff3afa27b95ce54e279ad20e2e9","external_id":"forgejo-main-a7c0bde1cc5a","receipt_type":"canonical_release_status","idempotency_key":"mission:5ea0cea3-ad91-4ff4-8526-2f41893bfd0b:forgejo-release-status:a7c0bde1cc5a3ff3afa27b95ce54e279ad20e2e9:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|supabase-migrations/live=success","mission_step_id":"83fdb316-18bd-4bfb-9de8-98b01d68aa96","command_center_event_id":"5ea0cea3-ad91-4ff4-8526-2f41893bfd0b"},{"id":"a2171301-87d4-4490-b37f-64626087f05b","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-90fae61e69e0","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3220,"terminal":false,"missionId":"4418dd16-990e-49be-b565-f61b50c6773c","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"7ddcfe450063defdb205d5ac95cb7158387d1f52","timingsMs":{"prReadinessMs":150,"approvedPlanMs":0,"shipAndProveMs":732,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"4418dd16-990e-49be-b565-f61b50c6773c"},"performance":null,"deploymentId":"forgejo-main-7ddcfe450063","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2539,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T15:12:26.935977+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3220","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4418dd16-990e-49be-b565-f61b50c6773c:automatic-mission-resume:3220:canonical_release_dispatched","mission_step_id":"97878e03-1bda-4f51-9dd9-6b3cde9647f0","command_center_event_id":"4418dd16-990e-49be-b565-f61b50c6773c"},{"id":"a219ef11-1d26-41b0-80fd-c1fd2a8a42e2","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/proposal-editor-deterministic-direct-manipulation","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":null,"terminal":false,"missionId":"f6c6336c-3bfd-4507-a95a-2b6716f30327","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":243,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1758,"providerAuthMs":0,"ledgerPrepareMs":854,"ledgerReconcileMs":0,"lineageReconcileMs":383,"resolvePreflightMs":1758,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":854,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"f6c6336c-3bfd-4507-a95a-2b6716f30327"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2857,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T19:12:05.01682+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f6c6336c-3bfd-4507-a95a-2b6716f30327:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"9d2dd427-a548-4841-baf1-757d68fda225","command_center_event_id":"f6c6336c-3bfd-4507-a95a-2b6716f30327"},{"id":"a21b3ed9-b260-4db0-82ca-e3ea52f7c942","source":"cc-execution","status":"recorded","payload":{"objective":"Ship clear, accessible, easy-to-see user-facing toast feedback throughout PCG grading, single/batch upload, and save/edit actions. Reuse existing toast design/provider, show in-progress uploading/scanning/grading/saving states; explicit success only after confirmed persistence, errors with actionable retry guidance and no false success, prevent duplicate spam, legible mobile at 100% zoom, no loss of user input. Keep changes frontend-only; never change actual scan/grading engines, OCR/Tesseract, AI provider, or database behavior. Deliver via one fresh ai/* PR, Gate, squash merge, Cloudflare deploy and verify actual interaction. Avoid implementation compiler if possible.","tenantRef":"PCG","receivedAt":"2026-10-16T15:41:29.123Z","fingerprint":"c16e00137140f75fbf0d1ad51dec92dca2189a352552e0b7f84a1978873af939","workstreamRef":"pcg","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":false,"objective":"Ship clear, accessible, easy-to-see user-facing toast feedback throughout PCG grading, single/batch upload, and save/edit actions. Reuse existing toast design/provider, show in-progress uploading/scanning/grading/saving states; explicit success only after confirmed persistence, errors with actionable retry guidance and no false success, prevent duplicate spam, legible mobile at 100% zoom, no loss of user input. Keep changes frontend-only; never change actual scan/grading engines, OCR/Tesseract, AI provider, or database behavior. Deliver via one fresh ai/* PR, Gate, squash merge, Cloudflare deploy and verify actual interaction. Avoid implementation compiler if possible.","proofKinds":[],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Ship clear, accessible, easy-to-see user-facing toast feedback throughout PCG grading, single/batch upload, and save/edit actions. Reuse existing toast design/provider, show in-progress uploading/scanning/grading/saving states; explicit success only after confirmed persistence, errors with actionable retry guidance and no false success, prevent duplicate spam, legible mobile at 100% zoom, no loss of user input. Keep changes frontend-only; never change actual scan/grading engines, OCR/Tesseract, AI provider, or database behavior. Deliver via one fresh ai/* PR, Gate, squash merge, Cloudflare deploy and verify actual interaction. Avoid implementation compiler if possible.","wordingChanged":false,"canonicalIntent":"Ship clear, accessible, easy-to-see user-facing toast feedback throughout PCG grading, single/batch upload, and save/edit actions. Reuse existing toast design/provider, show in-progress uploading/scanning/grading/saving states; explicit success only after confirmed persistence, errors with actionable retry guidance and no false success, prevent duplicate spam, legible mobile at 100% zoom, no loss of user input. Keep changes frontend-only; never change actual scan/grading engines, OCR/Tesseract, AI provider, or database behavior. Deliver via one fresh ai/* PR, Gate, squash merge, Cloudflare deploy and verify actual interaction. Avoid implementation compiler if possible.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"legacy_derived","version":1,"outcomes":[{"id":"outcome-1","statement":"Ship clear, accessible, easy-to-see user-facing toast feedback throughout PCG grading, single/batch upload, and save/edit actions. Reuse existing toast design/provider, show in-progress uploading/scanning/grading/saving states; explicit success only after confirmed persistence, errors with actionable retry guidance and no false success, prevent duplicate spam, legible mobile at 100% zoom, no loss of user input. Keep changes frontend-only; never change actual scan/grading engines, OCR/Tesseract, AI provider, or database behavior. Deliver via one fresh ai/* PR, Gate, squash merge, Cloudflare deploy and verify actual interaction. Avoid implementation compiler if possible.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Ship clear, accessible, easy-to-see user-facing toast feedback throughout PCG grading, single/batch upload, and save/edit actions. Reuse existing toast design/provider, show in-progress uploading/scanning/grading/saving states; explicit success only after confirmed persistence, errors with actionable retry guidance and no false success, prevent duplicate spam, legible mobile at 100% zoom, no loss of user input. Keep changes frontend-only; never change actual scan/grading engines, OCR/Tesseract, AI provider, or database behavior. Deliver via one fresh ai/* PR, Gate, squash merge, Cloudflare deploy and verify actual interaction. Avoid implementation compiler if possible.","constraints":[{"id":"visual-content-truth","statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"visual-viewport-authority","statement":"The requested mobile viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport unless explicitly requested.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"adaptivePolicy":{"risk":{"tier":"high","blastRadius":"sensitive"},"proof":{"requiredKinds":["repository"],"visualProofScope":"targeted","interactionRequired":true,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":"PCG","sourceTargets":["src/pages/card-grading/PCGSlabUpload.tsx","src/pages/card-grading/PCGUnifiedUpload.tsx","src/pages/card-grading/PCGAIGradingWorkbench.tsx"]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["route","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"serialize_overlapping_mutations","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":true,"viewports":["mobile"],"behavioral":true,"visualProofScope":"targeted"},"dependencies":{"requiredDomains":["frontend","schema_data_storage","provider_configuration","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":["frontend"]},"inputSignals":{"rawUtterance":"Ship clear, accessible, easy-to-see user-facing toast feedback throughout PCG grading, single/batch upload, and save/edit actions. Reuse existing toast design/provider, show in-progress uploading/scanning/grading/saving states; explicit success only after confirmed persistence, errors with actionable retry guidance and no false success, prevent duplicate spam, legible mobile at 100% zoom, no loss of user input. Keep changes frontend-only; never change actual scan/grading engines, OCR/Tesseract, AI provider, or database behavior. Deliver via one fresh ai/* PR, Gate, squash merge, Cloudflare deploy and verify actual interaction. Avoid implementation compiler if possible.","canonicalIntent":"Ship clear, accessible, easy-to-see user-facing toast feedback throughout PCG grading, single/batch upload, and save/edit actions. Reuse existing toast design/provider, show in-progress uploading/scanning/grading/saving states; explicit success only after confirmed persistence, errors with actionable retry guidance and no false success, prevent duplicate spam, legible mobile at 100% zoom, no loss of user input. Keep changes frontend-only; never change actual scan/grading engines, OCR/Tesseract, AI provider, or database behavior. Deliver via one fresh ai/* PR, Gate, squash merge, Cloudflare deploy and verify actual interaction. Avoid implementation compiler if possible.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"Ship clear, accessible, easy-to-see user-facing toast feedback throughout PCG grading, single/batch upload, and save/edit actions. Reuse existing toast design/provider, show in-progress uploading/scanning/grading/saving states; explicit success only after confirmed persistence, errors with actionable retry guidance and no false success, prevent duplicate spam, legible mobile at 100% zoom, no loss of user input. Keep changes frontend-only; never change actual scan/grading engines, OCR/Tesseract, AI provider, or database behavior. Deliver via one fresh ai/* PR, Gate, squash merge, Cloudflare deploy and verify actual interaction. Avoid implementation compiler if possible.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Ship-clear-accessible-easy-to-see-user-facing-toast-feedback-throughout-PCG-grading-single-batch-upl","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestedBranch":null,"conversationContext":null,"requestContractHash":"464fcd6fac040b15c239075142675530dcaf3a5f183134c34e93671821ee7780","requestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-16T15:41:29.687912+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:94c4a5a8-73bf-4abf-9a5c-e02f65b26a24:tenant-workstream-contribution:c16e00137140f75fbf0d1ad51dec92dca2189a352552e0b7f84a1978873af939","mission_step_id":null,"command_center_event_id":"94c4a5a8-73bf-4abf-9a5c-e02f65b26a24"},{"id":"a21ea3b5-c6a6-4fbd-a96a-29148c6e0353","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5ecee16350b3","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":25909,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":4,"executorlessWaitMs":77761,"firstUsefulResultAt":"2026-09-26T15:00:20.133Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":3803,"terminal":false,"missionId":"5ecee163-50b3-4647-960a-a8804f4fa43d","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5490,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"5ecee163-50b3-4647-960a-a8804f4fa43d"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","repository"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T15:00:34.333686+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3803","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5ecee163-50b3-4647-960a-a8804f4fa43d:automatic-mission-resume:3803:repair_mission_pr_ready_retryable","mission_step_id":"05adb47b-10bb-4247-b127-4b3d23ef902a","command_center_event_id":"5ecee163-50b3-4647-960a-a8804f4fa43d"},{"id":"a21fa020-4983-459a-8a8b-8a6b2444781d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3a02721b3ea5","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.166-cancelled-release-signed-run-identity","prNumber":2949,"terminal":false,"missionId":"3a02721b-3ea5-4eef-8b4f-2d33615d7a81","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7323,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":2620,"missionSetupMs":1317,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":491,"ledgerReconcileMs":0,"lineageReconcileMs":826,"resolvePreflightMs":1317,"repositoryMutationMs":4703,"repositoryProviderMs":4703,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":4226,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":491,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":477},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"3a02721b-3ea5-4eef-8b4f-2d33615d7a81"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3090,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T20:52:51.896183+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"2949","receipt_type":"execute_mission","idempotency_key":"mission:3a02721b-3ea5-4eef-8b4f-2d33615d7a81:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"1a8a3800-1e81-4326-9c4e-f5e5c988d2e7","command_center_event_id":"3a02721b-3ea5-4eef-8b4f-2d33615d7a81"},{"id":"a2202b8d-46ac-4585-9764-12ffee5b2692","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"efe7e5e29164e97416ecf7c0de65bbb959d7b29b","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"o1","satisfied":true,"statement":"Repair explicit Witness acceptance inference so bare references to the existing Witness do not become visual-proof requests when acceptance verbs appear elsewhere. Preserve true visual/Witness proof requests. Gate, merge, release, and prove.","proofConditionIds":["p1"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["p1"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["p1"]}],"contractHash":"f0496b0da3a4f7727a13cc701ae5d2dda5f053bc20e82eb9d0d40cf4d1877510","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"p1","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"f0496b0da3a4f7727a13cc701ae5d2dda5f053bc20e82eb9d0d40cf4d1877510"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:50:54.680864+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"efe7e5e29164e97416ecf7c0de65bbb959d7b29b","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:55d1450a-f7fe-4ed5-bc2f-e6f3cd1d15c4:request-contract:f0496b0da3a4f7727a13cc701ae5d2dda5f053bc20e82eb9d0d40cf4d1877510:efe7e5e29164e97416ecf7c0de65bbb959d7b29b:verified:","mission_step_id":"7b0ea882-8f8b-497c-a568-ee361a8eb185","command_center_event_id":"55d1450a-f7fe-4ed5-bc2f-e6f3cd1d15c4"},{"id":"a22299af-f8e5-47e6-bf5e-f7d1283b7ad6","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"792cc47cc2b11a43882a361750f6c2cca09a36ff","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"792cc47cc2b11a43882a361750f6c2cca09a36ff","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"090fe90157f5ca9754f703810243872e2504c663e58908a76f39d9e85e9b8580","forgejoWorkflowProof":{"runId":14336,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:52:44.75265+00:00","proof_gate":"canonical_release_pending","source_sha":"792cc47cc2b11a43882a361750f6c2cca09a36ff","external_id":"forgejo-main-792cc47cc2b1","receipt_type":"canonical_release_status","idempotency_key":"mission:4101663c-6761-44d0-9400-11115e5fcf44:forgejo-release-status:792cc47cc2b11a43882a361750f6c2cca09a36ff:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"73731cf4-5c7a-4260-b554-536ced845790","command_center_event_id":"4101663c-6761-44d0-9400-11115e5fcf44"},{"id":"a2229e3e-a831-4bbd-81f1-859827909aa4","source":"cc-execution","status":"verified","payload":{"branch":"ai/objective-first-repair-33afbbeddde7","prNumber":5239,"sourceSha":"e0cef6c16fb42fa99c37eafa87790ffbfe693652"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T20:07:18.89451+00:00","proof_gate":"existing_pr_identity_hydrated_from_forgejo","source_sha":"e0cef6c16fb42fa99c37eafa87790ffbfe693652","external_id":"5239","receipt_type":"existing_pr_identity_hydrated","idempotency_key":"existing-pr-identity:5239:e0cef6c16fb42fa99c37eafa87790ffbfe693652","mission_step_id":"df68980d-b7df-4de3-8149-859ce19f9132","command_center_event_id":"33afbbed-dde7-4dab-904f-77adb7d37f2c"},{"id":"a2264bb4-33e6-46a8-8f33-e7f433dd93da","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"868209eaed64c7d60998e958640944b603e973f3","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"868209eaed64c7d60998e958640944b603e973f3","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"6f6044a9dbefbd11c2b6a0928a92eec87fa846d2486219e333be1955e47dab90","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6573","runId":6573,"status":"success","sourceSha":"868209eaed64c7d60998e958640944b603e973f3","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"868209eaed64c7d60998e958640944b603e973f3","proofGate":"cc_execution_historical_runtime_identity_verified","deploymentId":"forgejo-main-868209eaed64c7d60998e958640944b603e973f3","compareStatus":"exact_release_workflow_runtime_verified","workflowRunId":6573,"identitySource":"canonical_release_workflow_exact_runtime_identity","runtimeVersion":"1.58.79-durable-synthesis-continuation","containsSourceSha":true,"historicalExactSourceProof":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T12:03:19.544972+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"868209eaed64c7d60998e958640944b603e973f3","external_id":"forgejo-main-868209eaed64","receipt_type":"canonical_release_status","idempotency_key":"mission:8251c1f6-eb3f-4c02-bd48-fa102496008e:forgejo-release-status:868209eaed64c7d60998e958640944b603e973f3:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"6b4ecead-b094-4075-a978-64ab72375363","command_center_event_id":"8251c1f6-eb3f-4c02-bd48-fa102496008e"},{"id":"a226aa64-3921-40c6-bc6e-32f31e823913","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"cf45771b5e55941bd80cc6ff4f47f6822b9aed3a","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"cf45771b5e55941bd80cc6ff4f47f6822b9aed3a","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"0784cf8a61013b34e8f19181b2acc2f82539c96d74093dc2a088d39a60567da7","forgejoWorkflowProof":{"runId":15770,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"6364090024bc7af2fe437dfc4c15308c38ea1bfd","deploymentId":"forgejo-main-6364090024bc7af2fe437dfc4c15308c38ea1bfd","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.64.96-cloudflare-release-reconciliation","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:06:22.808985+00:00","proof_gate":"canonical_release_pending","source_sha":"cf45771b5e55941bd80cc6ff4f47f6822b9aed3a","external_id":"forgejo-main-cf45771b5e55","receipt_type":"canonical_release_status","idempotency_key":"mission:82679b2e-4ea6-40a4-bb11-dfa34a674290:forgejo-release-status:cf45771b5e55941bd80cc6ff4f47f6822b9aed3a:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"3611f388-234f-4f9f-baed-1170310799b3","command_center_event_id":"82679b2e-4ea6-40a4-bb11-dfa34a674290"},{"id":"a229cc67-3962-4760-86c0-29276eef6d18","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/command-center-connector-reliability-20260820","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":6627,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.48.11-schema-authority","prNumber":525,"terminal":false,"missionId":"5dea3221-792e-4687-8897-a2853a7c28b3","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"5dea3221-792e-4687-8897-a2853a7c28b3"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4989,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T00:13:30.522726+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"525","receipt_type":"execute_mission","idempotency_key":"mission:5dea3221-792e-4687-8897-a2853a7c28b3:execute_mission:canonical_release_transport_retryable","mission_step_id":"b5ad87cf-c9e8-4702-80cb-1a68f217e7cd","command_center_event_id":"5dea3221-792e-4687-8897-a2853a7c28b3"},{"id":"a22d8579-d8a3-4b3e-9ba8-3b70cd8a4d22","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-fb72455d6141","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":31312,"releaseCount":0,"toolCallCount":19,"repeatedCallCount":13,"executorlessWaitMs":325493,"firstUsefulResultAt":"2026-10-04T14:26:26.761Z","recoveryAttemptCount":12,"ownerInterruptionCount":0},"version":null,"prNumber":4799,"terminal":false,"missionId":"fb72455d-6141-4260-bd9a-3616f4367bb7","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2484,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"fb72455d-6141-4260-bd9a-3616f4367bb7"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T14:27:03.941712+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4799","receipt_type":"automatic_mission_resume","idempotency_key":"mission:fb72455d-6141-4260-bd9a-3616f4367bb7:automatic-mission-resume:4799:repair_mission_pr_ready_retryable","mission_step_id":"d146e34b-e4fc-4cad-bf2d-42d8e4f6a71a","command_center_event_id":"fb72455d-6141-4260-bd9a-3616f4367bb7"},{"id":"a2304cc5-994d-432b-99e1-2cf7ab6a7de0","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"51647c6290eda2721f2213780265a9644eff001e","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"51647c6290eda2721f2213780265a9644eff001e","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null,"source":"exact_live_cc_execution_runtime_identity","liveSha":"51647c6290eda2721f2213780265a9644eff001e","proofGate":"cc_execution_exact_live_runtime_substitutes_transient_workflow_receipt","sourceSha":"51647c6290eda2721f2213780265a9644eff001e","deploymentId":"forgejo-main-51647c6290eda2721f2213780265a9644eff001e","runtimeVersion":"1.52.0-terminal-workstream-rotation","workflowReceiptSubstituted":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"51647c6290eda2721f2213780265a9644eff001e","deploymentId":"forgejo-main-51647c6290eda2721f2213780265a9644eff001e","compareStatus":"identical","identitySource":"local_build_metadata","runtimeVersion":"1.52.0-terminal-workstream-rotation","containsSourceSha":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T23:26:26.030242+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"51647c6290eda2721f2213780265a9644eff001e","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:e39bee3d-aa86-4408-9d46-58e08ea6a78f:forgejo-release-status:51647c6290eda2721f2213780265a9644eff001e:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"d17d0ec2-1a69-450b-824f-6d599be0b9fe","command_center_event_id":"e39bee3d-aa86-4408-9d46-58e08ea6a78f"},{"id":"a2307559-2061-4192-ae81-7314f4233f9a","source":"cc-execution","status":"waiting","payload":{"sourceTargets":[],"continuationObjective":"Continue from the already-pushed exact branch ai/profile-imagery-compact at head 43e66cf902e4bc6c87b4cf4d5c861b107bb36f51. Do not regenerate source. Open the canonical pull request for this existing branch, run Gate, squash merge, release affected targets, and prove production."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T01:23:13.987615+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:60f40015-5067-40bd-836d-5fc07491e3a5:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"b875c6d0-2755-4cb0-9d2c-975aaca4c12f","command_center_event_id":"60f40015-5067-40bd-836d-5fc07491e3a5"},{"id":"a2314ac0-0ec9-412c-89c4-69303973bc11","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-2a4864e85503","writes":[],"patches":[],"approved":true,"missionId":"2a4864e8-5503-4795-bc35-3fc0a2428e4a","objective":"Complete the owner-facing terminal mission step projection after the prior mutation attempt was blocked before creating a PR. Preserve raw durable ledger history, but for terminal missions with 100% request-contract acceptance project the effective lifecycle status cleanly so superseded failed/skipped attempts do not appear as the current owner-facing outcome. Keep historicalStatus on projected steps, use the projection only in mission_status responses, add deterministic regression coverage, bump cc-execution runtime identity, and ship only ccExecution.","sourceSha":"2da51587dfc680a8b153807d568ed2ce687953e0","repository":"noel/KnockLaunchOS","autoProgress":true,"ownerApproved":true,"anchored_edits":[{"path":"workers/cc-execution/src/mission-ledger.js","edits":[{"new_content":"export function ownerFacingMissionStepSummary(mission = {}) {\n  const steps = (Array.isArray(mission.stepSummary) ? mission.stepSummary : []).map((step) => ({ ...record(step) }));\n  if (mission.terminal !== true) return steps;\n  const acceptance = ownerMissionAcceptanceProgress(mission);\n  if (!acceptance.satisfied) return steps;\n  const context = record(mission.context);\n  const hasMergedSource = Boolean(text(mission.sourceSha || context.sourceSha, 100));\n  const releaseVerified = text(context.releaseState, 80).toLowerCase() === \"verified\";\n  const visualRequired = requestContractVisualProofRequired(context);\n  const contractProof = record(context.requestContractProof);\n  const visualVerified = context.verificationState === \"verified\" || contractProof.visualSatisfied === true;\n  return steps.map((step) => {\n    const key = text(step.key, 120).toLowerCase();\n    const historicalStatus = text(step.status, 80) || null;\n    let status = historicalStatus;\n    if (key === \"preflight\") status = \"verified\";\n    else if (key === \"implementation\" && hasMergedSource) status = \"verified\";\n    else if (key === \"pull_request\" && hasMergedSource) status = \"verified\";\n    else if (key === \"release\" && releaseVerified) status = \"verified\";\n    else if (key === \"runtime_proof\") status = \"verified\";\n    else if (key === \"visual_proof\") status = visualRequired ? (visualVerified ? \"verified\" : historicalStatus) : \"skipped\";\n    if (status === historicalStatus) return step;\n    return { ...step, status, historicalStatus, statusProjection: \"terminal_acceptance_verified\" };\n  });\n}\n\nexport function ownerMissionStallState(mission = {}, nowMs = Date.now()) {","old_content":"export function ownerMissionStallState(mission = {}, nowMs = Date.now()) {"}]},{"path":"workers/cc-execution/src/index-mission-control.js","edits":[{"new_content":"import { OWNER_PROGRESS_RECENT_LIMIT, OWNER_PROGRESS_SILENCE_BUDGET_MS, appendMissionReceipt, ensureMission, listActiveMissions, namedGateTestRequirement, ownerFacingMissionStepSummary, ownerMissionCheckpoint, ownerMissionNextSafeAction, ownerMissionProgressState, readMission, synchronizeRelease } from \"./mission-ledger.js\";","old_content":"import { OWNER_PROGRESS_RECENT_LIMIT, OWNER_PROGRESS_SILENCE_BUDGET_MS, appendMissionReceipt, ensureMission, listActiveMissions, namedGateTestRequirement, ownerMissionCheckpoint, ownerMissionNextSafeAction, ownerMissionProgressState, readMission, synchronizeRelease } from \"./mission-ledger.js\";"},{"new_content":"    const detailed = await readMission(env, missionId, true);\n    if (detailed.ok) return json({\n      ...detailed.data,\n      stepSummary: ownerFacingMissionStepSummary(detailed.data),\n      ownerFacingState: ownerFacingMissionState(detailed.data),","old_content":"    const detailed = await readMission(env, missionId, true);\n    if (detailed.ok) return json({\n      ...detailed.data,\n      ownerFacingState: ownerFacingMissionState(detailed.data),"},{"new_content":"    if (reconciled?.terminal === true) return json({\n      ...reconciled,\n      stepSummary: ownerFacingMissionStepSummary(reconciled),\n      ownerFacingState: ownerFacingMissionState(reconciled),\n      ownerCheckpoint: ownerMissionCheckpoint(reconciled),","old_content":"    if (reconciled?.terminal === true) return json({\n      ...reconciled,\n      ownerFacingState: ownerFacingMissionState(reconciled),\n      ownerCheckpoint: ownerMissionCheckpoint(reconciled),"},{"new_content":"    return json({ ...reconciled, stepSummary: ownerFacingMissionStepSummary(reconciled), ownerFacingState: ownerFacingMissionState(reconciled), ownerCheckpoint: ownerMissionCheckpoint(reconciled), ...ownerMissionProgressProjection(reconciled), reconciliationWarning: reconciliationWarning || {","old_content":"    return json({ ...reconciled, ownerFacingState: ownerFacingMissionState(reconciled), ownerCheckpoint: ownerMissionCheckpoint(reconciled), ...ownerMissionProgressProjection(reconciled), reconciliationWarning: reconciliationWarning || {"},{"new_content":"  if (reconciled.terminal === true) {\n    return json({\n      ...reconciled,\n      stepSummary: ownerFacingMissionStepSummary(reconciled),\n      ownerFacingState: ownerFacingMissionState(reconciled),","old_content":"  if (reconciled.terminal === true) {\n    return json({\n      ...reconciled,\n      ownerFacingState: ownerFacingMissionState(reconciled),"},{"new_content":"  return json({ ...reconciled, stepSummary: ownerFacingMissionStepSummary(reconciled), ownerFacingState: ownerFacingMissionState(reconciled), ownerCheckpoint: ownerMissionCheckpoint(reconciled), ownerWaitSloMs: ownerWaitSloMs(reconciled), ...ownerMissionProgressProjection(reconciled) }, 202);","old_content":"  return json({ ...reconciled, ownerFacingState: ownerFacingMissionState(reconciled), ownerCheckpoint: ownerMissionCheckpoint(reconciled), ownerWaitSloMs: ownerWaitSloMs(reconciled), ...ownerMissionProgressProjection(reconciled) }, 202);"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.58.220-terminal-step-projection\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.219-contract-release-target-forwarding\";"}]},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","edits":[{"new_content":"import { appendMissionReceipt, durableMissionKey, ensureMission, namedGateTestRequirement, ownerFacingMissionStepSummary, ownerMissionAcceptanceProgress, ownerMissionCheckpoint, ownerMissionNextSafeAction, ownerMissionStallState, readMission, requestContractProofState, requestContractVisualProofRequired, selectVerifiedRepositoryReceipt, verifiedReleaseReceiptMatchesContract } from \"../src/mission-ledger.js\";","old_content":"import { appendMissionReceipt, durableMissionKey, ensureMission, namedGateTestRequirement, ownerMissionAcceptanceProgress, ownerMissionCheckpoint, ownerMissionNextSafeAction, ownerMissionStallState, readMission, requestContractProofState, requestContractVisualProofRequired, selectVerifiedRepositoryReceipt, verifiedReleaseReceiptMatchesContract } from \"../src/mission-ledger.js\";"},{"new_content":"test(\"terminal accepted missions project superseded failures without rewriting raw history\", () => {\n  const mission = {\n    terminal: true,\n    sourceSha: \"2da51587dfc680a8b153807d568ed2ce687953e0\",\n    stepSummary: [\n      { key: \"preflight\", status: \"verified\" },\n      { key: \"implementation\", status: \"failed\" },\n      { key: \"pull_request\", status: \"skipped\" },\n      { key: \"release\", status: \"skipped\" },\n      { key: \"runtime_proof\", status: \"verified\" },\n      { key: \"visual_proof\", status: \"skipped\" },\n    ],\n    context: {\n      releaseState: \"verified\",\n      requestContract: { version: 1, proofConditions: [{ id: \"repo-proof\", required: true, kind: \"repository\" }] },\n      requestContractProof: { conditionResults: [{ id: \"repo-proof\", satisfied: true }], visualSatisfied: true },\n    },\n  };\n  const projected = ownerFacingMissionStepSummary(mission);\n  assert.equal(projected.find((step) => step.key === \"implementation\").status, \"verified\");\n  assert.equal(projected.find((step) => step.key === \"implementation\").historicalStatus, \"failed\");\n  assert.equal(projected.find((step) => step.key === \"pull_request\").status, \"verified\");\n  assert.equal(projected.find((step) => step.key === \"release\").status, \"verified\");\n  assert.equal(projected.find((step) => step.key === \"visual_proof\").status, \"skipped\");\n  assert.equal(mission.stepSummary.find((step) => step.key === \"implementation\").status, \"failed\");\n});\n\ntest(\"corrective release generations carry every still-unverified target forward\", () => {","old_content":"test(\"corrective release generations carry every still-unverified target forward\", () => {"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"evidence":["Mission #6619a440 is terminal LIVE and 100% accepted but its raw stepSummary still shows implementation=failed and later steps skipped; the previous projection attempt never created a PR because one anchored edit was not unique."],"confidence":1,"rawUtterance":"Continue","wordingChanged":true,"canonicalIntent":"Complete the owner-facing terminal mission step projection after the prior mutation attempt was blocked before creating a PR. Preserve raw durable ledger history, but for terminal missions with 100% request-contract acceptance project the effective lifecycle status cleanly so superseded failed/skipped attempts do not appear as the current owner-facing outcome. Keep historicalStatus on projected steps, use the projection only in mission_status responses, add deterministic regression coverage, bump cc-execution runtime identity, and ship only ccExecution.","resolutionStatus":"resolved","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"clean-terminal-status","statement":"Owner-facing terminal mission status reflects verified effective outcome while preserving superseded raw statuses as history.","proofConditionIds":["repo-proof"]}],"objective":"Complete the owner-facing terminal mission step projection after the prior mutation attempt was blocked before creating a PR. Preserve raw durable ledger history, but for terminal missions with 100% request-contract acceptance project the effective lifecycle status cleanly so superseded failed/skipped attempts do not appear as the current owner-facing outcome. Keep historicalStatus on projected steps, use the projection only in mission_status responses, add deterministic regression coverage, bump cc-execution runtime identity, and ship only ccExecution.","constraints":[{"id":"projection-only","statement":"Do not mutate durable ledger history; change only owner-facing projection and focused tests.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"The exact PR adds terminal step projection with regression coverage, passes Canonical Gate, and releases ccExecution.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"controlPlaneMaintenanceReason":"Owner authorized continued platform hardening; this retries the blocked projection repair with exact unique anchors and no scope expansion."},"recovery":false,"fingerprint":"4bbb633dd61886ecc0d43167bd6b7a94af7c8e8fdbda836a474e08f2846975b6","replayCount":0,"serializedBytes":12091},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:35:54.927045+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:2a4864e8-5503-4795-bc35-3fc0a2428e4a:repository-mutation-intent:4bbb633dd61886ecc0d43167bd6b7a94af7c8e8fdbda836a474e08f2846975b6:0","mission_step_id":"ef95b907-b698-49f6-85c1-dc495efdbd98","command_center_event_id":"2a4864e8-5503-4795-bc35-3fc0a2428e4a"},{"id":"a23278b9-767e-4925-94fd-d2bf595172a1","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-bc6b7ace3335","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.144-request-contract-inference","prNumber":null,"terminal":false,"missionId":"bc6b7ace-3335-40d9-b595-24e150309eab","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":27968,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":795,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":795,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":795,"repositoryMutationMs":27968,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":795,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"bc6b7ace-3335-40d9-b595-24e150309eab"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1561,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T06:12:33.898126+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:bc6b7ace-3335-40d9-b595-24e150309eab:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"88d26c2c-306c-421c-81bf-61ca196d41bc","command_center_event_id":"bc6b7ace-3335-40d9-b595-24e150309eab"},{"id":"a23599da-926a-4b06-84d6-34f3b7250c4f","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"title":"Fix transformed HTML canary proof","branch":"ai/objective-first-repair-3f3b4178b816","writes":[],"patches":[],"pr_body":"Keeps both production domains under exact-version canary coverage while requiring raw dist/index.html SHA equality only on the private app domain whose edge does not intentionally rewrite HTML.","version":1,"approved":true,"pr_title":"Fix transformed HTML canary proof","missionId":"3f3b4178-b816-408f-972d-7782444cc0ef","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"config/cloudflare-native-frontend-build.json","edits":[{"new_content":"  \"proofDomains\": [\n    \"https://knocklaunch.app\",\n    \"https://app.knocklaunch.app\"\n  ],\n  \"rawIndexProofDomains\": [\n    \"https://app.knocklaunch.app\"\n  ],\n  \"publicTenantProofRoutes\": [","old_content":"  \"proofDomains\": [\n    \"https://knocklaunch.app\",\n    \"https://app.knocklaunch.app\"\n  ],\n  \"publicTenantProofRoutes\": ["}]},{"path":"scripts/cloudflare-native-version-deploy.mjs","edits":[{"new_content":"  const proofDomains = Array.isArray(config.proofDomains) ? config.proofDomains.filter((value) => /^https:\\/\\//.test(String(value))) : [];\n  const rawIndexProofDomains = Array.isArray(config.rawIndexProofDomains) ? config.rawIndexProofDomains.filter((value) => /^https:\\/\\//.test(String(value))) : [];\n  if (!proofDomains.length) throw new Error('frontend_candidate_canary_proof_domains_missing');\n  if (!rawIndexProofDomains.length) throw new Error('frontend_candidate_raw_index_proof_domains_missing');\n  if (rawIndexProofDomains.some((domain) => !proofDomains.includes(domain))) throw new Error('frontend_candidate_raw_index_proof_domain_not_in_proof_domains');\n  return { expectedIndexHash: sha256(html), assetRefs, proofDomains, rawIndexProofDomains };","old_content":"  const proofDomains = Array.isArray(config.proofDomains) ? config.proofDomains.filter((value) => /^https:\\/\\//.test(String(value))) : [];\n  if (!proofDomains.length) throw new Error('frontend_candidate_canary_proof_domains_missing');\n  return { expectedIndexHash: sha256(html), assetRefs, proofDomains };"},{"new_content":"async function candidateCanaryAttempt(candidateVersionId, candidatePreviewUrl, expectedSourceSha, useOverride) {\n  const { expectedIndexHash, assetRefs, proofDomains, rawIndexProofDomains } = localArtifactContract();\n  const canaryDomains = proofDomains;\n  const results = {};\n  for (const domain of canaryDomains) {\n    const requiresRawIndex = rawIndexProofDomains.includes(domain);","old_content":"async function candidateCanaryAttempt(candidateVersionId, candidatePreviewUrl, expectedSourceSha, useOverride) {\n  const { expectedIndexHash, assetRefs, proofDomains } = localArtifactContract();\n  const canaryDomains = proofDomains;\n  const results = {};\n  for (const domain of canaryDomains) {"},{"new_content":"    const rootBytes = Buffer.from(await rootResponse.arrayBuffer());\n    const rootHash = sha256(rootBytes);\n    if (!rootResponse.ok || (requiresRawIndex && rootHash !== expectedIndexHash)) throw new Error(`frontend_candidate_index_mismatch:${domain}:${rootResponse.status}:${rootHash}:${expectedIndexHash}`);","old_content":"    const rootBytes = Buffer.from(await rootResponse.arrayBuffer());\n    const rootHash = sha256(rootBytes);\n    if (!rootResponse.ok || rootHash !== expectedIndexHash) throw new Error(`frontend_candidate_index_mismatch:${domain}:${rootResponse.status}:${rootHash}:${expectedIndexHash}`);"},{"new_content":"    results[domain] = { status: rootResponse.status, exactIndex: requiresRawIndex ? rootHash === expectedIndexHash : null, edgeTransformedIndex: !requiresRawIndex, sourceSha: expectedSourceSha, assetCount: assets.length };","old_content":"    results[domain] = { status: rootResponse.status, exactIndex: true, sourceSha: expectedSourceSha, assetCount: assets.length };"}]},{"path":"src/__tests__/contracts/cloudflare-exact-version-deploy.contract.test.ts","edits":[{"new_content":"const deployer = readFileSync(resolve(process.cwd(), 'scripts/cloudflare-native-version-deploy.mjs'), 'utf8');\nconst buildConfig = readFileSync(resolve(process.cwd(), 'config/cloudflare-native-frontend-build.json'), 'utf8');","old_content":"const deployer = readFileSync(resolve(process.cwd(), 'scripts/cloudflare-native-version-deploy.mjs'), 'utf8');"},{"new_content":"    expect(deployer).toContain('[VERSION_OVERRIDE_HEADER]');\n    expect(deployer).toContain('rawIndexProofDomains');\n    expect(deployer).toContain('const requiresRawIndex = rawIndexProofDomains.includes(domain);');\n    expect(deployer).toContain('(requiresRawIndex && rootHash !== expectedIndexHash)');\n    expect(deployer).toContain('edgeTransformedIndex: !requiresRawIndex');\n    expect(buildConfig).toContain('\"rawIndexProofDomains\"');\n    expect(buildConfig).toContain('\"https://app.knocklaunch.app\"');\n    expect(deployer).not.toContain('wrangler_version_upload_preview_url_missing');","old_content":"    expect(deployer).toContain('[VERSION_OVERRIDE_HEADER]');\n    expect(deployer).not.toContain('wrangler_version_upload_preview_url_missing');"}]}],"commit_message":"Fix transformed HTML canary proof","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"3f3b4178-b816-408f-972d-7782444cc0ef","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"121867866ac63b5331e8d7158559a63bf264cbfea981d0dc651ebe6ac4de57ef","replayCount":0,"serializedBytes":5906},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T04:12:30.093828+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:3f3b4178-b816-408f-972d-7782444cc0ef:repository-mutation-intent:121867866ac63b5331e8d7158559a63bf264cbfea981d0dc651ebe6ac4de57ef:0","mission_step_id":"e387f29f-9fab-4a6a-b6a1-283d09c1c616","command_center_event_id":"3f3b4178-b816-408f-972d-7782444cc0ef"},{"id":"a235a13f-0166-4ddd-b253-891c3e69597f","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"993ee0e18a61cfc9448c5da6d66887e262b1b7f9","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"993ee0e18a61cfc9448c5da6d66887e262b1b7f9","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1371","runId":1371,"status":"running","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-19T02:56:54.031799+00:00","proof_gate":"canonical_release_pending","source_sha":"993ee0e18a61cfc9448c5da6d66887e262b1b7f9","external_id":"forgejo-main-993ee0e18a61","receipt_type":"canonical_release_status","idempotency_key":"mission:ccfe89a6-9df7-4019-91af-3f597daa8152:forgejo-release-status:993ee0e18a61cfc9448c5da6d66887e262b1b7f9:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"e548c7ef-b106-452e-a549-5398e8a77665","command_center_event_id":"ccfe89a6-9df7-4019-91af-3f597daa8152"},{"id":"a2363b3d-3fcc-4ee5-bf7f-8a6ce94a72f3","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/fix-witness-tenant-projection-20260823","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":9853,"releaseCount":1,"toolCallCount":8,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":633,"terminal":false,"missionId":"f4d27963-466c-4245-96c4-207badfd984a","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"5ca6ca294968f312745fe20e06c36a42386c9cbe","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"f4d27963-466c-4245-96c4-207badfd984a"},"performance":null,"deploymentId":"forgejo-main-5ca6ca294968","workflowRunId":2239,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1719,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-23T22:09:45.77836+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"633","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f4d27963-466c-4245-96c4-207badfd984a:automatic-mission-resume:633:canonical_release_dispatched","mission_step_id":"f411f283-f8f1-43a7-b3e9-b249746e27ce","command_center_event_id":"f4d27963-466c-4245-96c4-207badfd984a"},{"id":"a23904d9-c776-4e68-a019-4236216af15c","source":"cc-execution","status":"recorded","payload":{"objective":"Continue existing PR #2096 after exact-head Gate success. No source mutation. Squash merge, release frontend and migrations only, and prove the Curri Control Center parent/child tenant contract is live.","tenantRef":"curri-control-center","receivedAt":"2026-09-07T19:09:43.777Z","fingerprint":"558fa4a88a8dc2a868d4f360d50e35c4083873aef92cc31ff345e6d7b510af73","workstreamRef":"curricontrolcenter","conversationId":null,"canonicalBranch":"ai/curri-multi-tenant-control-center-0907","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue existing PR #2096 after exact-head Gate success. No source mutation. Squash merge, release frontend and migrations only, and prove the Curri Control Center parent/child tenant contract is live.","wordingChanged":false,"canonicalIntent":"Continue existing PR #2096 after exact-head Gate success. No source mutation. Squash merge, release frontend and migrations only, and prove the Curri Control Center parent/child tenant contract is live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"curri-parent-live","statement":"Curri Control Center is live as the parent oversight workspace with Realty World Curri Properties and One Call represented as separate child tenants.","proofConditionIds":["repo-contract","db-contract","release-frontend","release-migrations"]},{"id":"curri-feeds-live","statement":"Curri Control Center consumes its existing executive exceptions and portfolio opportunities instead of hard-coded empty placeholders.","proofConditionIds":["repo-contract","release-frontend"]},{"id":"curri-child-routing","statement":"Child tenant launch paths use canonical tenant-qualified CRM URLs rather than stale unqualified tenant routes.","proofConditionIds":["repo-contract","db-contract","release-frontend"]}],"objective":"Continue existing PR #2096 after exact-head Gate success. No source mutation. Squash merge, release frontend and migrations only, and prove the Curri Control Center parent/child tenant contract is live.","constraints":[{"id":"no-fake-tenants","statement":"Do not create placeholder or fake Curri businesses as tenants.","proofConditionIds":["db-contract"]},{"id":"tenant-isolation","statement":"Do not merge Realty World or One Call child data into Curri Control Center.","proofConditionIds":["repo-contract","db-contract"]},{"id":"release-scope","statement":"Release only frontend and migrations for this change.","proofConditionIds":["release-frontend","release-migrations"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-contract","kind":"repository","claim":"Merged source uses buildTenantApplicationPath for Curri child launches, consumes executiveDemo.exceptions and executiveDemo.portfolio_opportunities, and includes the Curri multi-tenant migration.","route":"/curri-control-center/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","migrations"],"requiredReleaseTargets":["frontend","migrations"]},{"id":"db-contract","kind":"runtime","claim":"Production Curri Control Center settings have multi_tenant_contract schema curri-portfolio.v1 with child slugs curri-properties and one-call; both child tenants point back to curri-control-center; no new tenant rows are created.","route":"/curri-control-center/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","migrations"],"requiredReleaseTargets":["migrations"]},{"id":"release-frontend","kind":"runtime","claim":"The exact merged frontend source for PR #2096 is deployed to the canonical frontend production owner.","route":"/curri-control-center/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"release-migrations","kind":"runtime","claim":"The exact Curri multi-tenant migration from PR #2096 is applied to production Supabase.","route":"/curri-control-center/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations"],"requiredReleaseTargets":["migrations"]}],"validationErrors":[]},"requestedBranch":"ai/curri-multi-tenant-control-center-0907","conversationContext":"{\"requestContract\":{\"version\":1,\"source\":\"explicit\",\"objective\":\"Make Curri Control Center a real multi-tenant parent workspace over Realty World Curri Properties and One Call, while keeping both child tenants isolated and independently launchable.\",\"intent\":{\"rawUtterance\":\"Make it happen.\",\"canonicalIntent\":\"Make Curri Control Center a real multi-tenant parent workspace over Realty World Curri Properties and One Call, while keeping both child tenants isolated and independently launchable.\",\"wordingChanged\":true,\"resolutionStatus\":\"exact\",\"uniqueResolution\":true,\"clarificationRequired\":false,\"evidence\":[\"Current conversation established Curri has multiple tenants and owner requested execution.\"]},\"outcomes\":[{\"id\":\"curri-parent-live\",\"statement\":\"Curri Control Center is live as the parent oversight workspace with Realty World Curri Properties and One Call represented as separate child tenants.\",\"proofConditionIds\":[\"repo-contract\",\"db-contract\",\"release-frontend\",\"release-migrations\"]},{\"id\":\"curri-feeds-live\",\"statement\":\"Curri Control Center consumes its existing executive exceptions and portfolio opportunities instead of hard-coded empty placeholders.\",\"proofConditionIds\":[\"repo-contract\",\"release-frontend\"]},{\"id\":\"curri-child-routing\",\"statement\":\"Child tenant launch paths use canonical tenant-qualified CRM URLs rather than stale unqualified tenant routes.\",\"proofConditionIds\":[\"repo-contract\",\"db-contract\",\"release-frontend\"]}],\"constraints\":[{\"id\":\"no-fake-tenants\",\"statement\":\"Do not create placeholder or fake Curri businesses as tenants.\",\"proofConditionIds\":[\"db-contract\"]},{\"id\":\"tenant-isolation\",\"statement\":\"Do not merge Realty World or One Call child data into Curri Control Center.\",\"proofConditionIds\":[\"repo-contract\",\"db-contract\"]},{\"id\":\"release-scope\",\"statement\":\"Release only frontend and migrations for this change.\",\"proofConditionIds\":[\"release-frontend\",\"release-migrations\"]}],\"proofConditions\":[{\"id\":\"repo-contract\",\"kind\":\"repository\",\"claim\":\"Merged source uses buildTenantApplicationPath for Curri child launches, consumes executiveDemo.exceptions and executiveDemo.portfolio_opportunities, and includes the Curri multi-tenant migration.\",\"required\":true,\"allowedReleaseTargets\":[\"frontend\",\"migrations\"],\"requiredReleaseTargets\":[\"frontend\",\"migrations\"]},{\"id\":\"db-contract\",\"kind\":\"runtime\",\"claim\":\"Production Curri Control Center settings have multi_tenant_contract schema curri-portfolio.v1 with child slugs curri-properties and one-call; both child tenants point back to curri-control-center; no new tenant rows are created.\",\"required\":true,\"allowedReleaseTargets\":[\"frontend\",\"migrations\"],\"requiredReleaseTargets\":[\"migrations\"]},{\"id\":\"release-frontend\",\"kind\":\"runtime\",\"claim\":\"The exact merged frontend source for PR #2096 is deployed to the canonical frontend production owner.\",\"required\":true,\"allowedReleaseTargets\":[\"frontend\"],\"requiredReleaseTargets\":[\"frontend\"]},{\"id\":\"release-migrations\",\"kind\":\"runtime\",\"claim\":\"The exact Curri multi-tenant migration from PR #2096 is applied to production Supabase.\",\"required\":true,\"allowedReleaseTargets\":[\"migrations\"],\"requiredReleaseTargets\":[\"migrations\"]}],\"terminalPolicy\":\"all_required_proof_conditions_satisfied_after_live_release\"}}","requestContractHash":"dca35178c490eb9aa5a2df10a94d89f08f8c6bac4f6ef72daffe241394915e12","requestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T19:09:44.233082+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:f2fd4db5-4d48-4815-bc8b-a73734634ccd:tenant-workstream-contribution:558fa4a88a8dc2a868d4f360d50e35c4083873aef92cc31ff345e6d7b510af73","mission_step_id":null,"command_center_event_id":"f2fd4db5-4d48-4815-bc8b-a73734634ccd"},{"id":"a23a5118-ad96-47ef-b327-a3246c529025","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-edge-production/live":"success"},"mainSha":"b170a3aefb96d13a25064810a240c55e89a9c5ff","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"b170a3aefb96d13a25064810a240c55e89a9c5ff","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-media-library"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"success"},"requestContractHash":"f29c24741b1abc5b6d4365f4ac74cd495435c712132b44c31ce8266b9e2ebb11","forgejoWorkflowProof":{"runId":9729,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T17:57:17.666116+00:00","proof_gate":"canonical_release_pending","source_sha":"b170a3aefb96d13a25064810a240c55e89a9c5ff","external_id":"forgejo-main-b170a3aefb96","receipt_type":"canonical_release_status","idempotency_key":"mission:1447ee22-ab33-4cb2-b5da-4d70a852c1e3:forgejo-release-status:b170a3aefb96d13a25064810a240c55e89a9c5ff:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=success|frontend-cloudflare/live=pending","mission_step_id":"4ea26ac2-7dad-4591-b16a-39d93ccaf7f5","command_center_event_id":"1447ee22-ab33-4cb2-b5da-4d70a852c1e3"},{"id":"a23b3cf2-f86e-4a09-ba36-e8a29e5d9eb5","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"663412d41956986b6308257b4c1b93127bfad899","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"663412d41956986b6308257b4c1b93127bfad899","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"5b56edd536ae950a2f305c7347c63bbe8b6c6c5611dc0ec39138d9ca2c95e000","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/7631","runId":7631,"status":"success","sourceSha":"663412d41956986b6308257b4c1b93127bfad899","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"1157f4e7c4eeac26f097d21a204ac9dc7f627b91","sourceSha":"663412d41956986b6308257b4c1b93127bfad899","changedPaths":["src/components/notifications/NotificationBell.tsx"],"changedPathCount":1,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T23:33:37.709991+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"663412d41956986b6308257b4c1b93127bfad899","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:64257bee-3e64-4718-988a-e3ddf19d7370:forgejo-release-status:663412d41956986b6308257b4c1b93127bfad899:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"8ce5c95e-c12a-481f-8bfe-d520ea922df2","command_center_event_id":"64257bee-3e64-4718-988a-e3ddf19d7370"},{"id":"a23b5ff3-c5f6-4782-96ac-ab9f409c668c","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-1f97574fecaa","prNumber":4577,"nextAction":null,"mergeCommitSha":"9cd5a2efb4aeb6f883b10e5168507f539b397e13","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:07:47.024059+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9cd5a2efb4aeb6f883b10e5168507f539b397e13","external_id":"4577","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:1f97574f-ecaa-4db8-8572-df3c5c4c94c8:merged-pr:4577:9cd5a2efb4aeb6f883b10e5168507f539b397e13","mission_step_id":"a2660cf8-6c06-4bb5-a51f-6e8b41105cb2","command_center_event_id":"1f97574f-ecaa-4db8-8572-df3c5c4c94c8"},{"id":"a23b88eb-e533-401b-95f8-479933ad88fa","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"durable_state:implementation","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"repository_mutation_intent\",\"status\":\"waiting\",\"proofGate\":\"repository_mutation_intent_persisted\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:implementation\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-06T05:45:03.778612+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-87ef6094e3bd\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:46:23.199956+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:87ef6094-e3bd-4987-b4c5-3df00a7a6dfd:owner-progress-heartbeat:119416985","mission_step_id":"f4dc4ddd-fe6d-4021-ba6f-bffce5751303","command_center_event_id":"87ef6094-e3bd-4987-b4c5-3df00a7a6dfd"},{"id":"a23cf12e-e074-4b49-80b2-62f81e2fcfd9","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-9b6d684ec0c9","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":10924,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":26413,"firstUsefulResultAt":"2026-10-02T16:26:16.430Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":4493,"terminal":false,"missionId":"9b6d684e-c0c9-4c55-adfc-dfd70b6ad7e6","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"bea2376dc201e2c38789bea49f0f64b66b0769a7","timingsMs":{"prReadinessMs":731,"approvedPlanMs":0,"shipAndProveMs":2983,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"9b6d684e-c0c9-4c55-adfc-dfd70b6ad7e6"},"performance":null,"deploymentId":"forgejo-main-bea2376dc201","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1831,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:26:48.544332+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4493","receipt_type":"automatic_mission_resume","idempotency_key":"mission:9b6d684e-c0c9-4c55-adfc-dfd70b6ad7e6:automatic-mission-resume:4493:canonical_release_reconciliation_pending","mission_step_id":"01be9478-04a9-47ca-b09f-7fd7a695fb04","command_center_event_id":"9b6d684e-c0c9-4c55-adfc-dfd70b6ad7e6"},{"id":"a23f24c7-ed24-444b-8589-d78fd49960e2","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"2126ecfae1452652184abc7d5e7dbd2a0e885071","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Apply Prestigious Card Grading's real published grading scale to the PCG tenant as the canonical grading source of truth. Public source: https://www.pcgslab.com/grading. Inspect current protected main and the existing PCG grading/order/card/slab flows before changing anything. Canonical selectable designations must match PCG exactly: 10 (PRES) Prestigious, 10 GEM MT, 9.5 MT +, 9 MT, 8.5 NM/MT+, 8 NM, 7.5, 7, 6.5, 6, 5.5, 5, 4.5, 4, 3.5, 3, 2.5, 2, 1.5, 1, A (AUTHENTIC), Altered. Preserve the published distinctions and PCG-specific grading guidance (centering thresholds and condition criteria) where the official page provides valid text. Do not invent criteria where the current PCG page is visibly corrupt or missing (notably 8 NM); omit or mark official guidance unavailable rather than fabricating it. PCG also states card thickness availability 55 PT, 100 PT, 130 PT, 180 PT and that PCG grades card quality, not autograph authenticity; expose those facts only where contextually appropriate in the grading flow. Replace any generic/invented grading scale in the PCG tenant, centralize the scale so all PCG grading UI uses the same definition, and ensure the finalized canonical designatio","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"visual-content-truth","satisfied":false,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-production","proof-visual"]},{"id":"tenant-visual-isolation","satisfied":false,"statement":"Visual work is isolated to requested tenant. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-viewport-authority","satisfied":false,"statement":"The requested mobile viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","proofConditionIds":["proof-visual"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","proofConditionIds":["proof-visual"]},{"id":"reference-visual-authority","satisfied":false,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-visual"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"3aa6b8d41ce822d5ad63b289cf23bfd8be99c9ab5b4b1a6b8c7afd5462c4a296","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"3aa6b8d41ce822d5ad63b289cf23bfd8be99c9ab5b4b1a6b8c7afd5462c4a296"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"2126ecfae1452652184abc7d5e7dbd2a0e885071","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T14:28:33.624652+00:00","proof_gate":"request_contract_pending","source_sha":"2126ecfae1452652184abc7d5e7dbd2a0e885071","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:841a01ac-fc83-41c5-8be1-1b50df4c9f7f:request-contract:3aa6b8d41ce822d5ad63b289cf23bfd8be99c9ab5b4b1a6b8c7afd5462c4a296:2126ecfae1452652184abc7d5e7dbd2a0e885071:pending:visual","mission_step_id":"3e6e2aee-4604-4985-95c2-4f7095c8978e","command_center_event_id":"841a01ac-fc83-41c5-8be1-1b50df4c9f7f"},{"id":"a240e0f2-e383-4b04-9c9a-34c729faacf2","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"source_lineage_merged_pr_authoritative\",\"status\":\"waiting\",\"proofGate\":\"forgejo_merged_pr_is_authoritative_source_lineage\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\",\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-28T14:24:40.372401+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-83e4fbfd9393\",\"prNumber\":3969,\"sourceSha\":\"1439e172b10122b9be66f171d6a45efd29780eb8\",\"deploymentId\":\"forgejo-main-1439e172b101\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T11:26:41.744718+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:83e4fbfd-9393-418c-abd7-d8ad1ec62908:owner-progress-heartbeat:119372986","mission_step_id":"a7d0c1c3-8603-4d0f-9d8f-ce08c5d6f009","command_center_event_id":"83e4fbfd-9393-418c-abd7-d8ad1ec62908"},{"id":"a241a914-1cdc-46d0-9bf7-493ba6e0d3e0","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"source_lineage_merged_pr_authoritative\",\"status\":\"waiting\",\"proofGate\":\"forgejo_merged_pr_is_authoritative_source_lineage\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-29T05:06:23.803653+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-69956e2ac4fd\",\"prNumber\":4066,\"sourceSha\":\"195ea5935b8a6b0073080fb5bb210759845cccaf\",\"deploymentId\":\"forgejo-main-195ea5935b8a\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T01:11:18.154287+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:69956e2a-c4fd-4bdb-adfd-1f8ad4fca1a6:owner-progress-heartbeat:119376285","mission_step_id":"2f607354-5753-4e1b-aca1-561525543b77","command_center_event_id":"69956e2a-c4fd-4bdb-adfd-1f8ad4fca1a6"},{"id":"a24224ce-ff93-4019-8c0b-cda04270ba8d","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-25T14:02:55.260809+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-ffc1eebde5b3\",\"prNumber\":3705,\"sourceSha\":\"7bdd7d0582a8843479fc94b6cb0e4815ccb5ebf5\",\"deploymentId\":\"forgejo-main-7bdd7d0582a8\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T11:04:10.329369+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:ffc1eebd-e5b3-41cf-9719-b6e69a8c2913:owner-progress-heartbeat:119355616","mission_step_id":"f4985813-f1b5-48b4-ab73-bdbe02885984","command_center_event_id":"ffc1eebd-e5b3-41cf-9719-b6e69a8c2913"},{"id":"a244f0b0-9616-402a-b63e-459aa96c4a67","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"e02932455ce9edb1d64d306e6b2b3e86fcec860c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"shell-readiness-contract","satisfied":false,"statement":"Authenticated Visual Witness route readiness distinguishes an ordinary bounded shell-not-ready result from a genuinely wedged browser transport, honors the existing authenticated bootstrap allowance, and preserves durable checkpoint/resume accounting.","proofConditionIds":["repo-proof","runtime-proof","live-witness-proof"]}],"satisfied":false,"constraints":[{"id":"security","satisfied":false,"statement":"Do not weaken GodMode authority, authentication, tenant isolation, or fail-closed behavior.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"delivery","satisfied":false,"statement":"Use one fresh corrective-generation branch and PR, canonical Gate, squash merge, and only affected ccExecution/onrunner releases.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"finish-line","satisfied":false,"statement":"Completion requires a live canonical interaction proof with complete checkpoint accounting; merge or deployment alone is not completion.","proofConditionIds":["live-witness-proof"]},{"id":"capability-completeness","satisfied":false,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo-proof","runtime-proof"]}],"contractHash":"c6db0c8ee38bb0cf29edcd50ba08e0b39171ed29a07f663c31ca893a98eeb1ba","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-proof","kind":"repository","evidence":{"reason":null,"gateRunId":null,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"onrunner":"success","ccExecution":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"c6db0c8ee38bb0cf29edcd50ba08e0b39171ed29a07f663c31ca893a98eeb1ba","unsuccessfulTargets":[],"activeReleaseTargets":["onrunner"],"allowedReleaseTargets":["ccExecution","onrunner"],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"runtime-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"onrunner":"success","ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["onrunner"],"allowedReleaseTargets":["ccExecution","onrunner"],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"c6db0c8ee38bb0cf29edcd50ba08e0b39171ed29a07f663c31ca893a98eeb1ba"},"required":true,"satisfied":true},{"id":"live-witness-proof","kind":"interaction","evidence":{"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository","interaction"],"activeReleaseTargets":["onrunner"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":7},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T05:05:42.874923+00:00","proof_gate":"request_contract_pending","source_sha":"e02932455ce9edb1d64d306e6b2b3e86fcec860c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:25776a3e-f543-4fb8-921f-4747b7def5a8:request-contract:c6db0c8ee38bb0cf29edcd50ba08e0b39171ed29a07f663c31ca893a98eeb1ba:e02932455ce9edb1d64d306e6b2b3e86fcec860c:pending:repository,interaction","mission_step_id":"200ec4fd-9140-4040-a6c3-bcaf78c6bd3c","command_center_event_id":"25776a3e-f543-4fb8-921f-4747b7def5a8"},{"id":"a2496d0a-4678-4b43-b791-4c2d8b103984","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"branch_must_start_with_ai","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.98-owner-handoff-overlap","prNumber":null,"terminal":false,"missionId":"2d105f3a-c7a2-4675-be51-b510601b8850","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1220,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1220,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1220,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1220,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"2d105f3a-c7a2-4675-be51-b510601b8850"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1296,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T22:43:50.34781+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2d105f3a-c7a2-4675-be51-b510601b8850:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"be340e5f-31cd-4f9c-8377-81f7dc0d9077","command_center_event_id":"2d105f3a-c7a2-4675-be51-b510601b8850"},{"id":"a24a4672-8bb0-4e4f-bea7-cc427083216c","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"b7e3a924cf5f1525d672871fb9fa807a1c28ba56","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Frontend-only bounded repair across PCG Orders, Grades, Cards/Card Vault, Ship. Source verified on main b7e3a924: PCGModesWorkspace places PCGAIUsageStrip AFTER headers on routePreset card-vault, mode, admin and work queue. Move AI controls ABOVE each affected route header in normal flow, give all page headers the same non-clipping responsive positioning (remove inconsistent grading md:top-16 offset that can obscure content); preserve tenant/platform nav, grading slot and existing functions. PCGWorkspaceSearch uses absolute result dropdown and onBlur closes even while clicking result cards. Make search results stable and within viewport; avoid ancestor clipping/overlap using viewport-anchored portal if necessary, preserve outside-click, Esc and arrow navigation, live results and selection. No backend, tenant data, auth, route semantic changes. Smallest deterministic frontend changes only. One ai/* branch one canonical Gate PR squash merge Cloudflare frontend deploy; claim-matched live interaction checks at mobile and desktop in Orders Grades Card Vault and Ship including typing search/selecting results and visibility of page titles below scanning controls. Do not stop at PR; report","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"capability-completeness","satisfied":false,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"6aaff08b4bdee662945653d7637dd24d4710a85a4e09410e8eee13c0b83d217e","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"repository","evidence":{"reason":null,"gateRunId":null,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"6aaff08b4bdee662945653d7637dd24d4710a85a4e09410e8eee13c0b83d217e","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"b7e3a924cf5f1525d672871fb9fa807a1c28ba56","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository","visual"],"activeReleaseTargets":["ccExecution","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-17T20:24:06.618795+00:00","proof_gate":"request_contract_pending","source_sha":"b7e3a924cf5f1525d672871fb9fa807a1c28ba56","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:bd4871dd-aec2-422d-8bfe-3f8b62bef231:request-contract:6aaff08b4bdee662945653d7637dd24d4710a85a4e09410e8eee13c0b83d217e:b7e3a924cf5f1525d672871fb9fa807a1c28ba56:pending:repository,visual","mission_step_id":"4b3c320e-ba36-47b5-be7b-7c48704188cf","command_center_event_id":"bd4871dd-aec2-422d-8bfe-3f8b62bef231"},{"id":"a24d5469-d13c-4bbd-a5ba-52d26184e785","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/PrivateAppShell.tsx"],"continuationObjective":"Finish the PCG workspace bootstrap repair from current main. Production /pcg/dashboard still reaches the PCG activation timeout because authorized tenant access can exist even when the bootstrap tenant object list is incomplete. Complete missing authorized tenant hydration safely, update the corresponding tenant startup contract to match that intended behavior, Gate, merge, deploy the frontend, and verify live that /pcg/dashboard opens past the PCG loading/timeout surface. Preserve fail-closed tenant isolation."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T22:49:29.958007+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:58eae21b-9b45-42d6-994c-7418b8d3ebd6:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"c55b939e-41e8-4873-9581-c282bb846646","command_center_event_id":"58eae21b-9b45-42d6-994c-7418b8d3ebd6"},{"id":"a24e886d-1f25-4339-b55c-4410190b56d3","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-6730ce8a6cce","reason":"anchored_edit_anchor_missing:src/pages/SignAgreement.tsx","status":"blocked","metrics":{"receiptBytes":9312,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":34464,"firstUsefulResultAt":"2026-09-25T19:53:39.511Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.282-lineage-main-guard","prNumber":3760,"terminal":false,"missionId":"6730ce8a-6cce-416c-bff4-935556eb70a6","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3599,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":3599,"missionSetupMs":418,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":290,"ledgerReconcileMs":0,"lineageReconcileMs":128,"resolvePreflightMs":418,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":290,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6730ce8a-6cce-416c-bff4-935556eb70a6"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1496,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T20:06:07.210957+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":"3760","receipt_type":"execute_mission","idempotency_key":"mission:6730ce8a-6cce-416c-bff4-935556eb70a6:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"1afe8d6e-f6b0-4b09-bb3f-775389c6c67b","command_center_event_id":"6730ce8a-6cce-416c-bff4-935556eb70a6"},{"id":"a24e9ccd-12fa-442a-b92f-a5a5717a5121","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/visual-witness-dual-runner-failover","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1739,"terminal":false,"missionId":"b16d69ed-3a11-430b-846b-d0828c9b20b9","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"54bf8b4bc731f05f568256c7fb805e2da79daac9","timingsMs":{"prReadinessMs":659,"approvedPlanMs":0,"shipAndProveMs":5008,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"b16d69ed-3a11-430b-846b-d0828c9b20b9"},"performance":null,"deploymentId":"forgejo-main-54bf8b4bc731","workflowRunId":5285,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":793,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T19:06:39.406916+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1739","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b16d69ed-3a11-430b-846b-d0828c9b20b9:automatic-mission-resume:1739:canonical_release_reconciliation_pending","mission_step_id":"bc77c479-9091-445b-8a6d-ab41ae2e6bc1","command_center_event_id":"b16d69ed-3a11-430b-846b-d0828c9b20b9"},{"id":"a24f94d9-c44c-4e51-b083-65ef4e6a84fe","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-queue-hygiene-transport-reconciliation-20260824","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":4778,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.20-idempotent-reconciliation-hygiene","prNumber":678,"terminal":false,"missionId":"52a4f630-d4a1-4aa9-8d52-47eb7d028336","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"c8b336505094837991714ba0185a5253fa5714f7","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"52a4f630-d4a1-4aa9-8d52-47eb7d028336"},"performance":null,"deploymentId":"forgejo-main-c8b336505094","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4464,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-24T18:29:23.650892+00:00","proof_gate":"canonical_release_dispatched","source_sha":"c8b336505094837991714ba0185a5253fa5714f7","external_id":"forgejo-main-c8b336505094","receipt_type":"execute_mission","idempotency_key":"mission:52a4f630-d4a1-4aa9-8d52-47eb7d028336:execute_mission:canonical_release_dispatched","mission_step_id":"f5e2f3df-8496-4610-a88e-220bb4d9f836","command_center_event_id":"52a4f630-d4a1-4aa9-8d52-47eb7d028336"},{"id":"a2503b2f-20fb-4dd1-bfa0-74205469751d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/fix-stale-chunk-self-recovery-20260812","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.4-conductor-dispatch-contract","prNumber":null,"terminal":false,"missionId":"161f3329-f302-453c-acfb-7d9be626ebd1","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"161f3329-f302-453c-acfb-7d9be626ebd1"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":7613,"likelyAffectedFiles":["scripts/visual-witness-hosted-runner/src/universal-witness.mjs","scripts/visual-witness-hosted-runner/src/runner-entrypoint.mjs","workers/cc-execution/src/index-visual-witness-fast-path.js",".github/workflows/production-release-conductor.yml","scripts/resolve-autonomous-change-plan.mjs","scripts/resolve-production-workflow-run.mjs","src/routes/","src/pages/","src/components/","src/index.css",".github/workflows/canonical-pull-request-gate.yml","workers/cc-execution/src/index-controlled-deploy-gate.js"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-12T14:37:45.594888+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:161f3329-f302-453c-acfb-7d9be626ebd1:execute_mission:repair_mission_synthesis_ready","mission_step_id":"8a4ca9c9-45b9-4715-b64d-76d4283ff9f9","command_center_event_id":"161f3329-f302-453c-acfb-7d9be626ebd1"},{"id":"a252d161-b7e5-409d-8756-fe668f171e53","source":"cc-execution","status":"waiting","payload":{"reason":"inference_edits_invalid","validCount":2,"proposedCount":3,"proposedPaths":["src/routes/tenantExperienceRegistry.ts","src/App.tsx","src/App.tsx"],"proposedKeySets":[["file","old_content","new_content"],["file","old_content","new_content"],["file","old_content","new_content"]],"synthesisAttempt":1,"synthesisAttemptLimit":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:08:13.359139+00:00","proof_gate":"paul_synthesis_invalid_edits_retryable","source_sha":null,"external_id":null,"receipt_type":"paul_synthesis_diagnostic","idempotency_key":"mission:010e7b3b-c95c-4cac-b4ec-f74699b375cc:paul_synthesis_diagnostic:paul_synthesis_invalid_edits_retryable:waiting","mission_step_id":"68fdfee6-e06d-4c67-ba16-8c2958a744dc","command_center_event_id":"010e7b3b-c95c-4cac-b4ec-f74699b375cc"},{"id":"a2533f37-1bc3-4cbd-89fe-a7e68ffdd8e4","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in reasoning required.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"synthesis_required","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"reasoning_required\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"synthesis_required\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-10-05T13:23:47.634113+00:00\",\"recoveryAction\":\"continue_implementation\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T14:08:33.29615+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:9c7f2976-5eed-4529-935e-81d6725f1a7f:owner-progress-heartbeat:119413954","mission_step_id":"b8c54f44-8ca1-40f2-913b-5e2f8b1a9b6d","command_center_event_id":"9c7f2976-5eed-4529-935e-81d6725f1a7f"},{"id":"a2543b6d-4e15-4dfa-a5d6-d33369b2ce0d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ea83890fbfb7","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.220-terminal-step-projection","prNumber":3499,"terminal":false,"missionId":"ea83890f-bfb7-47ff-a3d2-aba09c206259","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4693,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":634,"missionSetupMs":247,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":247,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":247,"repositoryMutationMs":4059,"repositoryProviderMs":4059,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2379,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":247,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1680},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"ea83890f-bfb7-47ff-a3d2-aba09c206259"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3111,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T04:49:27.203238+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3499","receipt_type":"execute_mission","idempotency_key":"mission:ea83890f-bfb7-47ff-a3d2-aba09c206259:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"19edf362-acff-4e60-8cf3-b7f1d261037d","command_center_event_id":"ea83890f-bfb7-47ff-a3d2-aba09c206259"},{"id":"a254c95b-47a3-4429-a69b-b5f70bda28ce","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same Virtual Witness evidence self-healing mission in corrective repair generation 2. Live job d9b4bec7-6daa-478f-954f-86293303f1a7 proved the exact Big Papi tenant projection remains on /big-papis/owner/dashboard, but the post-failure screencast could not start because prior timed-out screenshot/CDP commands had already poisoned the Chrome protocol session. Move visual fallback ahead of that failure: before invoking screenshot APIs, pre-arm one bounded DevTools screencast safety frame while the page/session is still healthy, nudge the compositor once with bounded Page.bringToFront, acknowledge/stop/detach cleanly, then run the normal screenshot path. If the normal CDP/Playwright capture fails afterward, return the already-cached safety frame immediately with structured recovery evidence. Do not reload, alter tenant/auth projection, rerun product actions, mutate product data, or loop. If safety-frame pre-arm fails, normal capture continues and existing bounded recovery remains fail-closed. Add dedicated and Gate-executed regression coverage. Ship one corrective PR, Gate, squash merge, OnRunner-only release, then rerun the same Big Papi protected-route proof and require uploaded visual evidence.","wordingChanged":false,"canonicalIntent":"Continue the same Virtual Witness evidence self-healing mission in corrective repair generation 2. Live job d9b4bec7-6daa-478f-954f-86293303f1a7 proved the exact Big Papi tenant projection remains on /big-papis/owner/dashboard, but the post-failure screencast could not start because prior timed-out screenshot/CDP commands had already poisoned the Chrome protocol session. Move visual fallback ahead of that failure: before invoking screenshot APIs, pre-arm one bounded DevTools screencast safety frame while the page/session is still healthy, nudge the compositor once with bounded Page.bringToFront, acknowledge/stop/detach cleanly, then run the normal screenshot path. If the normal CDP/Playwright capture fails afterward, return the already-cached safety frame immediately with structured recovery evidence. Do not reload, alter tenant/auth projection, rerun product actions, mutate product data, or loop. If safety-frame pre-arm fails, normal capture continues and existing bounded recovery remains fail-closed. Add dedicated and Gate-executed regression coverage. Ship one corrective PR, Gate, squash merge, OnRunner-only release, then rerun the same Big Papi protected-route proof and require uploaded visual evidence.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"protected-route-visual-proof-live","statement":"A Big Papi tenant-projected protected-route audit reaches the intended path and stores visual evidence even if the normal screenshot stack later hangs, by using one pre-armed bounded screencast safety frame.","proofConditionIds":["repo-proof","release-proof","live-proof"]}],"objective":"Continue the same Virtual Witness evidence self-healing mission in corrective repair generation 2. Live job d9b4bec7-6daa-478f-954f-86293303f1a7 proved the exact Big Papi tenant projection remains on /big-papis/owner/dashboard, but the post-failure screencast could not start because prior timed-out screenshot/CDP commands had already poisoned the Chrome protocol session. Move visual fallback ahead of that failure: before invoking screenshot APIs, pre-arm one bounded DevTools screencast safety frame while the page/session is still healthy, nudge the compositor once with bounded Page.bringToFront, acknowledge/stop/detach cleanly, then run the normal screenshot path. If the normal CDP/Playwright capture fails afterward, return the already-cached safety frame immediately with structured recovery evidence. Do not reload, alter tenant/auth projection, rerun product actions, mutate product data, or loop. If safety-frame pre-arm fails, normal capture continues and existing bounded recovery remains fail-closed. Add dedicated and Gate-executed regression coverage. Ship one corrective PR, Gate, squash merge, OnRunner-only release, then rerun the same Big Papi protected-route proof and require uploaded visual evidence.","constraints":[{"id":"bounded","statement":"Safety-frame start, compositor nudge, frame wait, ack, stop, and detach are all bounded with no retry loop.","proofConditionIds":["live-proof"]},{"id":"non-mutating","statement":"Safety-frame capture never reloads the route, changes tenant/user/role projection, reruns product actions, or mutates product data.","proofConditionIds":["live-proof"]},{"id":"normal-first","statement":"Normal screenshot evidence remains preferred when it succeeds; cached safety frame is used only after normal capture failure.","proofConditionIds":["live-proof"]},{"id":"fail-closed","statement":"If both the pre-armed safety frame and all bounded normal/recovery methods fail, return structured explicit failure.","proofConditionIds":["live-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"The exact corrective pre-armed-frame PR passes KnockLaunch Gate and is squash-merged.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release-proof","kind":"runtime","claim":"Only Render OnRunner releases from the corrective merge SHA and serves that exact source identity.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["onrunner"],"requiredReleaseTargets":["onrunner"]},{"id":"live-proof","kind":"runtime","claim":"A live Big Papi protected-route audit with tenantRef 766cfaa7-ac42-46c8-bbef-69d13268a29d reaches /big-papis/owner/dashboard and stores an uploaded visual artifact without selector termination.","route":"/big-papis/owner/dashboard","roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["onrunner"],"requiredReleaseTargets":["onrunner"]}],"validationErrors":[]},"requestContractHash":"13a43df56d1017727737eda9355401cb2294122e10c2e5c345bc40748a0a15c8","requestContractRevision":4,"previousRequestContractHash":"42ea1807f56a5c447d559eab78be7e461a43bec3ca728571034128da0dc55555"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T16:17:41.066459+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:e83b3f5e-a605-44e4-9df0-eb88786bbea3:request-contract:13a43df56d1017727737eda9355401cb2294122e10c2e5c345bc40748a0a15c8","mission_step_id":"b326ec8b-95de-4d0b-b8b5-4759c6b244fb","command_center_event_id":"e83b3f5e-a605-44e4-9df0-eb88786bbea3"},{"id":"a2556006-39a7-4868-8fcd-3dd3369f5cc8","source":"forgejo","status":"waiting","payload":{"branch":"ai/visual-witness-readiness-probe-g4","prNumber":2888,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"558f39283875f6a7f3e68e795e0a31fee6e075e0","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T05:12:19.51834+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"558f39283875f6a7f3e68e795e0a31fee6e075e0","external_id":"2888","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:25776a3e-f543-4fb8-921f-4747b7def5a8:merged-pr:2888:558f39283875f6a7f3e68e795e0a31fee6e075e0","mission_step_id":"e0127957-eeb7-4c56-acfe-00be0f4d499c","command_center_event_id":"25776a3e-f543-4fb8-921f-4747b7def5a8"},{"id":"a255cff3-ac00-4d4f-a59b-0f11c512f060","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/bounded-objective-compiler.js","workers/cc-execution/src/mcp-synthesis-source-bundle.js","workers/cc-execution/src/version.js","workers/cc-execution/test/bounded-compiler-large-source.test.js"],"baseSha":"4018f152841b9260f385c859a5c158f9664b3199","issuedAt":1791581433174,"expiresAt":1791581613174,"missionId":"2dca7861-3c8d-403f-b23d-b103de24205a","autoRefreeze":true,"authorizationId":"4824e1d9-c35f-4e8d-aa41-8b9d55deeb1d","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-09T21:30:33.800992+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"4018f152841b9260f385c859a5c158f9664b3199","external_id":"4824e1d9-c35f-4e8d-aa41-8b9d55deeb1d","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:2dca7861-3c8d-403f-b23d-b103de24205a:4824e1d9-c35f-4e8d-aa41-8b9d55deeb1d","mission_step_id":null,"command_center_event_id":"2dca7861-3c8d-403f-b23d-b103de24205a"},{"id":"a25934d6-1585-4df3-8959-bd742cbd4bea","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":2133,"releaseCount":1,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.47.10-forgejo-merge-authority","prNumber":461,"terminal":false,"missionId":"78fcaa60-287d-466a-a169-f4e3bc6aebeb","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"846574d883b18abd417969d5ee248e52db0b2ed6","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"78fcaa60-287d-466a-a169-f4e3bc6aebeb"},"performance":null,"deploymentId":"forgejo-main-846574d883b1","workflowRunId":1614,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5771,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T00:14:03.666031+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"846574d883b18abd417969d5ee248e52db0b2ed6","external_id":"forgejo-main-846574d883b1","receipt_type":"ship_and_prove","idempotency_key":"mission:78fcaa60-287d-466a-a169-f4e3bc6aebeb:ship_and_prove:ship_and_prove_release_pending:846574d883b18abd417969d5ee248e52db0b2ed6:1614","mission_step_id":"87807327-9439-43da-9d47-d1f212d7e5f0","command_center_event_id":"78fcaa60-287d-466a-a169-f4e3bc6aebeb"},{"id":"a25bc7a2-5f67-4408-a625-5aa1fbda0f7e","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"bc93df89277ce1c56d4060cd21cf286fab13792c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"event-persistence","satisfied":true,"statement":"A dedicated RoofHelpFinder funnel event store and service-role ingestion path persist page_view, roof_help_cta_open, form_started, address_verified, submit_attempt, submit_success, and submit_error without requiring homeowner PII.","proofConditionIds":["repo-proof","event-runtime-proof","analytics-read-proof"]},{"id":"landing-instrumentation","satisfied":true,"statement":"The public RoofHelpFinder landing flow emits the seven milestones with a non-PII session ID, landing path, market/service/city context, UTM/acquisition context, referrer host, and per-session event dedupe, while analytics failure never blocks the homeowner funnel.","proofConditionIds":["repo-proof","release-proof"]},{"id":"owner-funnel-analytics","satisfied":true,"statement":"The authorized Roof Help Finder analytics workspace shows visitors, CTA opens, form starts, address verification, submit attempts, successful forwarded leads, errors, step conversion, and source/campaign/page/city performance while excluding internal proof events and no longer exposing raw visitor IP.","proofConditionIds":["repo-proof","release-proof","analytics-read-proof"]},{"id":"distribution-links","satisfied":true,"statement":"The owner analytics workspace exposes copyable tracked Facebook, Nextdoor, QR/offline, referral, and Google-organic links for the six promoted Palm Bay/Melbourne high-intent routes.","proofConditionIds":["repo-proof","release-proof"]},{"id":"lead-routing-preserved","satisfied":true,"statement":"roof-help-public-lead validation and deterministic Redfish forwarding remain unchanged.","proofConditionIds":["repo-proof"]}],"satisfied":true,"constraints":[{"id":"exact-scope","satisfied":true,"statement":"Only src/lib/roofHelpFunnel.ts, src/pages/RoofHelpLandingPage.tsx, src/pages/roof-help/RoofHelpFinderWorkspace.tsx, supabase/functions/roof-help-public-event/index.ts, and supabase/migrations/20260829144500_roof_help_funnel_events.sql may change.","proofConditionIds":["repo-proof"]},{"id":"privacy","satisfied":true,"statement":"The analytics endpoint rejects common homeowner PII fields, stores only a salted daily visitor hash rather than raw IP, and owner analytics does not expose raw visitor IP.","proofConditionIds":["repo-proof","event-runtime-proof","analytics-read-proof"]},{"id":"no-fake-lead","satisfied":true,"statement":"Do not create a fake homeowner lead. Runtime proof may create only a harmless proof_internal analytics event.","proofConditionIds":["event-runtime-proof","analytics-read-proof"]},{"id":"no-control-plane","satisfied":true,"statement":"No control-plane or release-architecture files may change in this mission.","proofConditionIds":["repo-proof"]},{"id":"no-outbound-paid","satisfied":true,"statement":"No outbound messaging or paid promotion.","proofConditionIds":["repo-proof"]},{"id":"no-visual-witness","satisfied":true,"statement":"Do not run Visual Witness.","proofConditionIds":["repo-proof"]}],"contractHash":"7da5a2dc5bd5e9a1cd970e15a8f4b2ec71515608be44467e2e2329838d9b1f62","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-proof","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"7da5a2dc5bd5e9a1cd970e15a8f4b2ec71515608be44467e2e2329838d9b1f62"},"required":true,"satisfied":true},{"id":"gate-proof","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"7da5a2dc5bd5e9a1cd970e15a8f4b2ec71515608be44467e2e2329838d9b1f62"},"required":true,"satisfied":true},{"id":"release-proof","kind":"runtime","evidence":{"releaseState":"verified","releaseRequestContractHash":"7da5a2dc5bd5e9a1cd970e15a8f4b2ec71515608be44467e2e2329838d9b1f62"},"required":true,"satisfied":true},{"id":"event-runtime-proof","kind":"runtime","evidence":{"releaseState":"verified","releaseRequestContractHash":"7da5a2dc5bd5e9a1cd970e15a8f4b2ec71515608be44467e2e2329838d9b1f62"},"required":true,"satisfied":true},{"id":"analytics-read-proof","kind":"runtime","evidence":{"releaseState":"verified","releaseRequestContractHash":"7da5a2dc5bd5e9a1cd970e15a8f4b2ec71515608be44467e2e2329838d9b1f62"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend","supabaseEdge","migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T15:22:02.180415+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"bc93df89277ce1c56d4060cd21cf286fab13792c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:ddf9700b-5519-4246-a780-2c505577dbd8:request-contract:7da5a2dc5bd5e9a1cd970e15a8f4b2ec71515608be44467e2e2329838d9b1f62:bc93df89277ce1c56d4060cd21cf286fab13792c:verified:","mission_step_id":"7b49d342-41dc-42fa-aa5f-5207d5305c17","command_center_event_id":"ddf9700b-5519-4246-a780-2c505577dbd8"},{"id":"a25cae87-ea23-44bf-aa16-7a80a6176211","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":1011,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.26-direct-route-visual-intent","prNumber":4465,"terminal":false,"missionId":"674433fd-a1d5-4ebd-b40f-d867eaabf17d","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"d4b49ecf4193931ce7618825cdcd69f73c54eedd","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"674433fd-a1d5-4ebd-b40f-d867eaabf17d"},"performance":null,"deploymentId":"canonical-release-d4b49ecf4193","workflowRunId":31319883145,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["send-invitation"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1475,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T14:59:05.032928+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"d4b49ecf4193931ce7618825cdcd69f73c54eedd","external_id":"canonical-release-d4b49ecf4193","receipt_type":"ship_and_prove","idempotency_key":"mission:674433fd-a1d5-4ebd-b40f-d867eaabf17d:ship_and_prove:ship_and_prove_release_pending:d4b49ecf4193931ce7618825cdcd69f73c54eedd:31319883145","mission_step_id":"b9640a22-1639-4b6b-adb4-34c53d453b37","command_center_event_id":"674433fd-a1d5-4ebd-b40f-d867eaabf17d"},{"id":"a25cc67c-c073-4454-92e4-188e50dcfa5c","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"c21f93304cb958cbe22390e92af25c490a411eeb","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"universal-core","satisfied":true,"statement":"Every authenticated KNOCKLAUNCH Sidekick and AI reasoning/planning surface routes through canonical PAUL intelligence and rejects missing canonical intelligence identity.","proofConditionIds":["live"]},{"id":"research-propagation","satisfied":true,"statement":"Tenant ai-respond preserves canonical PAUL research metadata and sources from the shared intelligence response.","proofConditionIds":["live"]},{"id":"drift-contract","satisfied":true,"statement":"Direct-provider inference and copied/stale intelligence identities are explicit nonterminal drift across current and future authenticated AI surfaces.","proofConditionIds":["live"]}],"satisfied":true,"constraints":[{"id":"scope-safety","satisfied":true,"statement":"Preserve tenant isolation, user/role permissions, tool authorization, confirmation-gated writes, Mission Freedom and existing provider-neutral routing.","proofConditionIds":["live"]},{"id":"no-witness","satisfied":true,"statement":"Do not run Visual Witness.","proofConditionIds":["live"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["live"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["live"]}],"contractHash":"2028e321bc704083073e3b1cf59d0b929fae37eb7926fa7b6666f907cbc0d005","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"live","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":["supabaseEdge"],"requiredReleaseTargets":["supabaseEdge"],"migrationReleaseVerified":null,"releaseRequestContractHash":"2028e321bc704083073e3b1cf59d0b929fae37eb7926fa7b6666f907cbc0d005"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:29:09.139243+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"c21f93304cb958cbe22390e92af25c490a411eeb","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:7dfe5f3d-81a2-4a83-9364-4ecf79490360:request-contract:2028e321bc704083073e3b1cf59d0b929fae37eb7926fa7b6666f907cbc0d005:c21f93304cb958cbe22390e92af25c490a411eeb:verified:","mission_step_id":"f7bd878b-bb76-4e4a-9dfd-b1a964f6e966","command_center_event_id":"7dfe5f3d-81a2-4a83-9364-4ecf79490360"},{"id":"a25da4b8-ba9b-4cd6-a9c0-1dce3f7951bf","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-05T19:11:08.877361+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-711a68cb9cbb\",\"prNumber\":4972,\"sourceSha\":\"4c2dbecb7b1f1193b23ded6ed69f8ea0f9a1a4fd\",\"deploymentId\":\"forgejo-main-4c2dbecb7b1f\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:12:36.584496+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:711a68cb-9cbb-4228-a0d4-8ce32eb889e2:owner-progress-heartbeat:119414450","mission_step_id":"b9f38403-f7ef-44f2-bac4-793b71a528bd","command_center_event_id":"711a68cb-9cbb-4228-a0d4-8ce32eb889e2"},{"id":"a25de211-9d7b-447a-ad34-5e05e1c25b26","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/release-machinery-hardening-20260910","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.94-mission-generation-terminality","prNumber":2313,"terminal":false,"missionId":"e9eeca74-8ff7-42b1-bcf2-d18a2dc84371","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":14871,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3085,"approvedPlanMs":0,"missionSetupMs":5254,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":953,"ledgerReconcileMs":0,"lineageReconcileMs":4301,"resolvePreflightMs":5254,"repositoryMutationMs":11778,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":953,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"e9eeca74-8ff7-42b1-bcf2-d18a2dc84371"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1979,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T19:02:14.168731+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2313","receipt_type":"execute_mission","idempotency_key":"mission:e9eeca74-8ff7-42b1-bcf2-d18a2dc84371:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"bdfda692-04b1-46c6-be70-0a29eec3c073","command_center_event_id":"e9eeca74-8ff7-42b1-bcf2-d18a2dc84371"},{"id":"a2609e5f-507a-4c24-9c6e-09347cdce23d","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","scripts/validate-business-critical-release-invariants.mjs","scripts/validate-business-critical-release-invariants.test.mjs"],"reason":"Owner explicitly authorized: Unfreeze the control plane for the expanded business-critical release invariant and deterministic self-healing hardening repair.","baseSha":"661c3f321a5ce59b462af886ff3c0ee1fdf45679","issuedAt":1788911610792,"expiresAt":1788911790792,"missionId":"f826db1f-3164-4ab8-bca5-8a497e4e0a79","authorizationId":"ff59ed71-0ee0-462c-8df6-3f1e5f0c32ff","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T23:53:30.79097+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"661c3f321a5ce59b462af886ff3c0ee1fdf45679","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance:f826db1f-3164-4ab8-bca5-8a497e4e0a79:661c3f321a5ce59b462af886ff3c0ee1fdf45679:expanded-business-critical-release-invariants","mission_step_id":"225ab5f2-beb3-4fb7-a5a1-8aa3e47c3565","command_center_event_id":"f826db1f-3164-4ab8-bca5-8a497e4e0a79"},{"id":"a26314c2-2fe3-4c23-845d-16bf9a444339","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":null,"reason":"authoritative_source_resolution_failed","status":"source_resolution_required","metrics":{"receiptBytes":2295,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":3159,"firstUsefulResultAt":"2026-10-04T13:17:06.240Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":null,"terminal":false,"missionId":"7a24ce9b-04f0-4ff9-92b5-95fcbbeb8278","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1463,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1489,"providerAuthMs":0,"ledgerPrepareMs":1489,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1489,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1489,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"7a24ce9b-04f0-4ff9-92b5-95fcbbeb8278"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1642,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T13:18:26.019424+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7a24ce9b-04f0-4ff9-92b5-95fcbbeb8278:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"913d26b7-9b95-4975-a0d0-984efc4c78b5","command_center_event_id":"7a24ce9b-04f0-4ff9-92b5-95fcbbeb8278"},{"id":"a2634ea2-8070-485e-b356-59b216415332","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"a3476d0cb68bdf9af6fca8c085a4621e58d67c29","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"a3476d0cb68bdf9af6fca8c085a4621e58d67c29","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/952","runId":952,"status":"running","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"5998e142e1e50fb38ce8dd917256330c432c6ccf","deploymentId":"forgejo-main-5998e142e1e50fb38ce8dd917256330c432c6ccf","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.46.14-file-write-contract","containsSourceSha":false},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T19:29:00.943928+00:00","proof_gate":"canonical_release_pending","source_sha":"a3476d0cb68bdf9af6fca8c085a4621e58d67c29","external_id":"forgejo-main-a3476d0cb68b","receipt_type":"canonical_release_status","idempotency_key":"mission:93ea0997-96c4-471f-b587-10e8b8d08ae9:forgejo-release-status:a3476d0cb68bdf9af6fca8c085a4621e58d67c29:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"ebaf79e0-8d08-4498-8e99-e3ec590ff557","command_center_event_id":"93ea0997-96c4-471f-b587-10e8b8d08ae9"},{"id":"a2651620-4f21-4009-9747-36b85d35188c","source":"cc-execution","status":"verified","payload":{"paths":["config/control-plane-capabilities.json","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","workers/cc-execution/src/entrypoint-owner-status.js"],"baseSha":"1a08a25c14bbf6b371ee84a37d0b40a3a6052d29","consumedAt":1788014761532,"consumerToken":"252bd25c-0860-4079-8b06-2cf0bbe81cd5","authorizationId":"5d444256-84db-453a-a8e3-962b68d8fb3a"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T14:46:02.597918+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"1a08a25c14bbf6b371ee84a37d0b40a3a6052d29","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:5d444256-84db-453a-a8e3-962b68d8fb3a","mission_step_id":"9b32dd79-b039-4844-96b0-b9c386af7dff","command_center_event_id":"ba49c6a4-17ef-41c6-8e8e-ab0729a10277"},{"id":"a265e993-6877-4542-8749-12400b31796b","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"87a8741af34ae83471b0a106f434ca5dc8f7fa13","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-editor-cutover-blocker","satisfied":true,"statement":"Ship the consolidated current-main PCG Website Builder cutover blockers: correct center-canvas fit and editable visible hero media.","proofConditionIds":["proof-repository","proof-release"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-repository","proof-release"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-repository","proof-release"]}],"contractHash":"d254e715960b6418368568061ee20f5aa52b5c21781ee290422f5d23eb2f51b3","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"reason":null,"gateRunId":16090,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"d254e715960b6418368568061ee20f5aa52b5c21781ee290422f5d23eb2f51b3","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"87a8741af34ae83471b0a106f434ca5dc8f7fa13"},"required":true,"satisfied":true},{"id":"proof-release","kind":"release","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":["frontend"],"migrationReleaseVerified":null,"releaseRequestContractHash":"d254e715960b6418368568061ee20f5aa52b5c21781ee290422f5d23eb2f51b3"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:21:58.091244+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"87a8741af34ae83471b0a106f434ca5dc8f7fa13","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:3fd8d7c6-415d-4e25-9d05-04103fee8bf7:request-contract:d254e715960b6418368568061ee20f5aa52b5c21781ee290422f5d23eb2f51b3:87a8741af34ae83471b0a106f434ca5dc8f7fa13:verified:","mission_step_id":"5868e6e1-788a-4e69-be79-4fd0391e023c","command_center_event_id":"3fd8d7c6-415d-4e25-9d05-04103fee8bf7"},{"id":"a26654d3-5650-4566-b14e-6bb5084d1507","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-pcg-mobile-vault-controls\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-10-06T05:55:56.623616+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5147,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T06:45:45.440052+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:b78054b5-ff74-493d-9d49-b3305dbc800c:owner-progress-heartbeat:119417943","mission_step_id":"986497ca-c7bb-469a-819a-206da30cca37","command_center_event_id":"b78054b5-ff74-493d-9d49-b3305dbc800c"},{"id":"a2666b98-c896-4b81-949e-04f1b0cf44d8","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b81f7791018e","reason":"forgejo_validation_failed:POST:422","status":"blocked","metrics":{"receiptBytes":3111,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":12530,"firstUsefulResultAt":"2026-10-04T15:15:05.517Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.91-virtual-witness-cold-standby","prNumber":null,"terminal":false,"missionId":"b81f7791-018e-4359-aa88-a95a73709539","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1085,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1085,"missionSetupMs":250,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":250,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":250,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":250,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"b81f7791-018e-4359-aa88-a95a73709539"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1453,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T15:15:20.773212+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b81f7791-018e-4359-aa88-a95a73709539:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"f30d2b20-00d3-4e43-9538-68fea8e3d26a","command_center_event_id":"b81f7791-018e-4359-aa88-a95a73709539"},{"id":"a2687894-89b5-4b6f-86fc-5dbc7c0c1ce3","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"https://app.knocklaunch.app/messages","branch":"ai/objective-first-repair-3ce83c2e852f","writes":[],"patches":[],"approved":true,"missionId":"3ce83c2e-852f-4874-ad19-228d090c3b69","objective":"Continue and ship the existing platform /messages mobile repair on the same mission and branch. Apply the exact bounded CSS edits below to the canonical messaging reference stylesheet. This removes the floating-card mobile geometry that makes Messaging cramped and lets the existing thread/list navigation contract behave like a native full-screen mobile app. Preserve all existing imagery, colors, state logic, and desktop behavior. Then run the existing platform messages mobile navigation contract plus relevant frontend checks, open the one PR, Gate, squash merge, Cloudflare deploy, and live /messages verification.","repository":"noel/KnockLaunchOS","ownerApproved":true,"anchored_edits":[{"path":"src/components/messages/platformMessagesReference.css","after":" [data-kl-messages-root=\"true\"]>section{position:absolute!important;inset:0!important;height:100dvh!important;min-height:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;display:block!important;","before":" [data-kl-messages-root=\"true\"]>section{position:absolute!important;inset:auto 8px 8px!important;height:min(89dvh,760px)!important;min-height:0!important;border:1px solid rgba(145,239,197,.16)!important;border-radius:30px!important;overflow:hidden!important;display:block!important;"},{"path":"src/components/messages/platformMessagesReference.css","after":"[data-kl-messages-root=\"true\"] footer{background:rgba(4,13,17,.92)!important;border-top:1px solid var(--msg-line)!important;padding:12px 16px max(12px,env(safe-area-inset-bottom))!important;overscroll-behavior:contain}","before":"[data-kl-messages-root=\"true\"] footer{background:rgba(4,13,17,.92)!important;border-top:1px solid var(--msg-line)!important;padding:12px 16px!important}"},{"path":"src/components/messages/platformMessagesReference.css","after":" [data-kl-messages-root=\"true\"]{background:rgba(0,0,0,.34)!important;backdrop-filter:blur(9px)!important;overscroll-behavior:none!important;touch-action:manipulation}","before":" [data-kl-messages-root=\"true\"]{background:rgba(0,0,0,.34)!important;backdrop-filter:blur(9px)!important}"}],"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"c301e4749072abb2e01fb37a4615cff183253b3367c87fa30baccb4c81a257cf","replayCount":0,"serializedBytes":2420},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T03:18:00.454466+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:3ce83c2e-852f-4874-ad19-228d090c3b69:repository-mutation-intent:c301e4749072abb2e01fb37a4615cff183253b3367c87fa30baccb4c81a257cf:0","mission_step_id":"79881807-bbac-4780-a4f0-d9215e110912","command_center_event_id":"3ce83c2e-852f-4874-ad19-228d090c3b69"},{"id":"a26b0c7f-f237-4ab9-8881-474037e29517","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"pull_request_not_merge_eligible:github_request_failed","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.34-immutable-pr-release-base","prNumber":4583,"terminal":false,"missionId":"426dfb51-89d1-40a8-ba22-a29627337d25","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"426dfb51-89d1-40a8-ba22-a29627337d25"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":186,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-10T23:40:23.419869+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4583","receipt_type":"ship_and_prove","idempotency_key":"mission:426dfb51-89d1-40a8-ba22-a29627337d25:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"249e214b-950f-44ab-8456-2113eacc7755","command_center_event_id":"426dfb51-89d1-40a8-ba22-a29627337d25"},{"id":"a26b2727-85e9-4909-81b5-ad020cf30e30","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"request_contract_repository_status\",\"status\":\"verified\",\"proofGate\":\"request_contract_repository_verified\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-repository\",\"proof-interaction\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-22T18:55:30.494875+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-f8ec17e2832b\",\"prNumber\":3435,\"sourceSha\":\"4b6141b452523c7eb4008f787f606fe838c88d3d\",\"deploymentId\":\"forgejo-main-4b6141b45252\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T14:57:32.749616+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:f8ec17e2-832b-4ec6-b3b4-b90bb75e71ff:owner-progress-heartbeat:119339270","mission_step_id":"ee0a49b6-ebd5-482a-a516-28d6858e071d","command_center_event_id":"f8ec17e2-832b-4ec6-b3b4-b90bb75e71ff"},{"id":"a26bff58-bdd6-4874-9d1e-cbf887956dcf","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-c57271a240ac","writes":[],"patches":[],"pr_body":"Hardens the canonical tenant Connections primitive without touching unrelated shells or witness code. Adds explicit user/provider identity binding, Google secondary/legacy/import account roles, scope visibility, tenant-scoped role mutation, and contract coverage.","version":1,"approved":true,"pr_title":"Harden tenant provider connection identities and account roles","missionId":"c57271a2-40ac-4ba4-8938-54b7d36abed6","objective":"Harden the verified Connections owners only: explicit tenant/user/provider identity/scope binding, Google Primary/Secondary/Legacy/Import roles, deliberate primary switching, per-account disconnect, clear account identity/role/services/scopes UI, tenant isolation, tests, Gate, merge, release and production proof.","repository":"noel/KnockLaunchOS","allowedPaths":["src/pages/connections/TenantConnections.tsx","supabase/functions/tenant-provider-connections/index.ts","src/__tests__/contracts/tenant-provider-connections-source-completeness.contract.test.ts"],"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/pages/connections/TenantConnections.tsx","edits":[{"new_content":"type GoogleWorkspaceAccount={id:string;email:string|null;name:string|null;role:'primary'|'secondary'|'legacy'|'import';is_primary:boolean;status:string;last_verified_at?:string|null;scopes:string[];services:{mail:boolean;drive:boolean;calendar:boolean}};","old_content":"type GoogleWorkspaceAccount={id:string;email:string|null;name:string|null;role:string;is_primary:boolean;status:string;last_verified_at?:string|null;services:{mail:boolean;drive:boolean;calendar:boolean}};"},{"new_content":"last_verified_at:account.last_verified_at||null,scopes:Array.isArray(account.scopes)?account.scopes.map((scope:any)=>String(scope)):[],services:{mail:account?.services?.mail!==false,drive:account?.services?.drive!==false,calendar:account?.services?.calendar!==false}})):undefined;","old_content":"last_verified_at:account.last_verified_at||null,services:{mail:account?.services?.mail!==false,drive:account?.services?.drive!==false,calendar:account?.services?.calendar!==false}})):undefined;"},{"new_content":"finally{setConnecting(false)}};const setGoogleRole=async(account:GoogleWorkspaceAccount,role:'secondary'|'legacy'|'import')=>{if(!tenantId||account.is_primary)return;setConnecting(true);try{const{data,error}=await supabase.functions.invoke('tenant-provider-connections',{body:{action:'set_role',tenant_id:tenantId,provider:'google_workspace',connection_id:account.id,connection_role:role}});if(error||data?.ok!==true)throw new Error(data?.error||error?.message||'Could not update Google Workspace role');toast.success('Google Workspace role updated');await loadConnections()}catch(e:any){toast.error(e?.message||'Could not update Google Workspace role')}finally{setConnecting(false)}};const setGoogleService=","old_content":"finally{setConnecting(false)}};const setGoogleService="},{"new_content":"{account.is_primary?<Badge variant=\"outline\" className={statusBadgeClass('active')}>Primary</Badge>:<Badge variant=\"outline\">{account.role==='legacy'?'Legacy':account.role==='import'?'Import':'Secondary'}</Badge>}","old_content":"{account.is_primary?<Badge variant=\"outline\" className={statusBadgeClass('active')}>Primary</Badge>:<Badge variant=\"outline\">Secondary</Badge>}"},{"new_content":"<div className=\"mt-1 text-xs text-muted-foreground\">{account.name&&account.email?account.name+' · ':''}{account.role.replaceAll('_',' ')}</div><div className=\"mt-1 text-[11px] text-muted-foreground\">Scopes: {account.scopes.length?account.scopes.map(scope=>scope.split('/').pop()||scope).join(', '):'provider default'}</div></div><div className=\"flex flex-wrap gap-2\">","old_content":"<div className=\"mt-1 text-xs text-muted-foreground\">{account.name&&account.email?account.name+' · ':''}{account.role.replaceAll('_',' ')}</div></div><div className=\"flex flex-wrap gap-2\">"},{"new_content":"{!account.is_primary?<><Button size=\"sm\" variant=\"outline\" disabled={connecting} onClick={()=>void setGooglePrimary(account.id)}>Set primary</Button>{(['secondary','legacy','import'] as const).map(role=><Button key={role} size=\"sm\" variant={account.role===role?'default':'outline'} disabled={connecting} onClick={()=>void setGoogleRole(account,role)}>{role[0].toUpperCase()+role.slice(1)}</Button>)}</>:null}<Button size=\"sm\" variant=\"outline\" disabled={connecting} onClick={()=>void disconnectGoogleAccount(account.id)}>Disconnect</Button>","old_content":"{!account.is_primary?<Button size=\"sm\" variant=\"outline\" disabled={connecting} onClick={()=>void setGooglePrimary(account.id)}>Set primary</Button>:null}<Button size=\"sm\" variant=\"outline\" disabled={connecting} onClick={()=>void disconnectGoogleAccount(account.id)}>Disconnect</Button>"}]},{"path":"supabase/functions/tenant-provider-connections/index.ts","edits":[{"new_content":"metadata:{capabilities:d.caps,granted_scopes:String(t.scope||d.scopes.join(d.delimiter)).split(/[ ,]+/).filter(Boolean),connected_by_user_id:uid,provider_account_id:String(t.metadata?.realm_id||t.metadata?.team_id||t.metadata?.account_id||t.metadata?.user_id||'').trim()||null,...(t.metadata||{})},created_by:uid}","old_content":"metadata:{capabilities:d.caps,granted_scopes:String(t.scope||d.scopes.join(d.delimiter)).split(/[ ,]+/).filter(Boolean),...(t.metadata||{})},created_by:uid}"},{"new_content":"account_email:identity.email,account_name:identity.name,connected_by_user_id:uid,provider_account_id:identity.email,service_access:googleServices(current?.metadata)};","old_content":"account_email:identity.email,account_name:identity.name,service_access:googleServices(current?.metadata)};"},{"new_content":"last_verified_at:account.verified_at,scopes:Array.isArray(account.metadata?.granted_scopes)?account.metadata.granted_scopes:[],services:googleServices(account.metadata)})):undefined;","old_content":"last_verified_at:account.verified_at,services:googleServices(account.metadata)})):undefined;"},{"new_content":"if(d.key==='google_workspace'&&action==='set_role'){const connectionId=String(x.connection_id||'').trim(),role=String(x.connection_role||'').trim().toLowerCase();if(!connectionId)return j(req,400,{ok:false,error:'connection_id required'});if(!new Set(['secondary','legacy','import']).has(role))return j(req,400,{ok:false,error:'connection_role must be secondary, legacy, or import'});const{data:row,error}=await admin.from('tenant_google_workspace_connections').select('id,is_primary').eq('id',connectionId).eq('tenant_id',tid).maybeSingle();if(error)throw error;if(!row)return j(req,404,{ok:false,error:'Google Workspace connection not found'});if(row.is_primary)return j(req,409,{ok:false,code:'primary_role_locked',error:'Set another Google Workspace account as primary before changing this account role.'});const updated=await admin.from('tenant_google_workspace_connections').update({connection_role:role,updated_at:new Date().toISOString()}).eq('id',connectionId).eq('tenant_id',tid).select('id,connection_role').single();if(updated.error)throw updated.error;return j(req,200,{ok:true,connection_id:connectionId,connection_role:role})}if(d.key==='google_workspace'&&action==='set_primary'){","old_content":"if(d.key==='google_workspace'&&action==='set_primary'){"}]},{"path":"src/__tests__/contracts/tenant-provider-connections-source-completeness.contract.test.ts","edits":[{"new_content":"    expect(source).toContain(\"eligible?'provider_prerequisite_required':'provider_rollout_not_enabled'\");\n    expect(source).toContain('connected_by_user_id:uid');\n    expect(source).toContain('provider_account_id:identity.email');\n    expect(source).toContain(\"new Set(['secondary','legacy','import'])\");\n    expect(source).toContain(\"action==='set_role'\");\n    expect(source).toContain(\".eq('id',connectionId).eq('tenant_id',tid)\");\n    expect(source).not.toContain('MUSE_CLIENT_ID');\n    expect(ui).toContain(\"|'meta_muse'\");\n    expect(ui).toContain(\"label:'Meta Muse'\");\n    expect(ui).toContain('setup_message');\n    expect(ui).toContain(\"account.role==='legacy'?'Legacy'\");\n    expect(ui).toContain(\"(['secondary','legacy','import'] as const)\");\n    expect(ui).toContain('Scopes: {account.scopes.length');","old_content":"    expect(source).toContain(\"eligible?'provider_prerequisite_required':'provider_rollout_not_enabled'\");\n    expect(source).not.toContain('MUSE_CLIENT_ID');\n    expect(ui).toContain(\"|'meta_muse'\");\n    expect(ui).toContain(\"label:'Meta Muse'\");\n    expect(ui).toContain('setup_message');"}]}],"commit_message":"fix: harden tenant provider connection identities and roles","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"c57271a2-40ac-4ba4-8938-54b7d36abed6","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"90e041227c885ac37b96aa6eb9e5159257f1482bf14285ddf2ee764d74e7a7fa","replayCount":0,"serializedBytes":9437},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:30:05.846739+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:c57271a2-40ac-4ba4-8938-54b7d36abed6:repository-mutation-intent:90e041227c885ac37b96aa6eb9e5159257f1482bf14285ddf2ee764d74e7a7fa:0","mission_step_id":"61aadce0-ea86-49c6-8299-986639306bc3","command_center_event_id":"c57271a2-40ac-4ba4-8938-54b7d36abed6"},{"id":"a26c6b9e-efb6-461e-a617-67e2e6fdf7d8","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"pcg_cards_intake","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"584f8089-408e-e12d-d176-2fc76d64f79a"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:e1959a60-1733-45de-aa95-f2ff80cde603","mission_step_id":null,"command_center_event_id":"e1959a60-1733-45de-aa95-f2ff80cde603"},{"id":"a26f45c5-ced3-40ac-9e06-daf1c987c574","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-88a610bb4f4a","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"88a610bb-4f4a-45cb-939b-a23fb58fc1d0","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":980,"providerAuthMs":0,"ledgerPrepareMs":980,"ledgerReconcileMs":304,"lineageReconcileMs":0,"resolvePreflightMs":980,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1284,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"88a610bb-4f4a-45cb-939b-a23fb58fc1d0"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3050,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T14:13:52.800406+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:88a610bb-4f4a-45cb-939b-a23fb58fc1d0:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"e4c51b3b-0a24-47f8-ae6b-8330a0f95509","command_center_event_id":"88a610bb-4f4a-45cb-939b-a23fb58fc1d0"},{"id":"a2710bb5-3720-4766-87a0-86d47acaab45","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"d1c8305d8963edfb99077ca917a6e86470742c3f","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"legacy-invariant","satisfied":true,"statement":"Legacy Gate invariants validate policy ownership/derivation rather than duplicate numeric latency values.","proofConditionIds":["runtime"]}],"satisfied":true,"constraints":[{"id":"same-pr","satisfied":true,"statement":"Continue PR #3589 only.","proofConditionIds":["runtime"]},{"id":"nonvisual","satisfied":true,"statement":"No visual proof.","proofConditionIds":["runtime"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["runtime"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["runtime"]}],"contractHash":"12497d00a402e03cb21e910c4e19e9129f5a78cf3305ef1449c55900a993d804","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"12497d00a402e03cb21e910c4e19e9129f5a78cf3305ef1449c55900a993d804"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":4},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:15:19.257799+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"d1c8305d8963edfb99077ca917a6e86470742c3f","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:93a7d38b-c20e-4426-9b29-b7b4b1ade3e8:request-contract:12497d00a402e03cb21e910c4e19e9129f5a78cf3305ef1449c55900a993d804:d1c8305d8963edfb99077ca917a6e86470742c3f:verified:","mission_step_id":"87b12da5-39c9-494a-9271-51f50f1af399","command_center_event_id":"93a7d38b-c20e-4426-9b29-b7b4b1ade3e8"},{"id":"a271388f-e6be-4d51-8054-461ca2638da5","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/duplicate-unique-constraint-cleanup","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3108,"terminal":false,"missionId":"368c6464-5d65-4c4c-bb5a-044004d6d3fe","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"0f45522fffece57357f0d96ba07f196db8dcf4d6","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7043,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":826,"approvedPlanMs":0,"missionSetupMs":543,"providerAuthMs":0,"shipAndProveMs":5748,"ledgerPrepareMs":291,"ledgerReconcileMs":0,"lineageReconcileMs":252,"resolvePreflightMs":543,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":291,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"368c6464-5d65-4c4c-bb5a-044004d6d3fe"},"performance":null,"deploymentId":"forgejo-main-0f45522fffec","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2581,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T15:10:51.834093+00:00","proof_gate":"canonical_release_dispatched","source_sha":"0f45522fffece57357f0d96ba07f196db8dcf4d6","external_id":"forgejo-main-0f45522fffec","receipt_type":"execute_mission","idempotency_key":"mission:368c6464-5d65-4c4c-bb5a-044004d6d3fe:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"103c787d-af9d-4e37-8562-a163d0a8482f","command_center_event_id":"368c6464-5d65-4c4c-bb5a-044004d6d3fe"},{"id":"a2731bc0-3b48-4d08-8c64-4031eccd84a3","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-3a8ba09f79eb","prNumber":3307,"nextAction":null,"mergeCommitSha":"c2ea595fc0ba19e0a10c6dfa021bfc8148f8b741","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T21:26:38.723052+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"c2ea595fc0ba19e0a10c6dfa021bfc8148f8b741","external_id":"3307","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:3a8ba09f-79eb-4cb7-bd86-b39e2df205ec:merged-pr:3307:c2ea595fc0ba19e0a10c6dfa021bfc8148f8b741","mission_step_id":"f2f8258b-7372-4eca-9f67-85b5c04e540e","command_center_event_id":"3a8ba09f-79eb-4cb7-bd86-b39e2df205ec"},{"id":"a273e454-8321-408f-891d-2a53578c7113","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/use-real-readonly-sce-map-in-experience-studio","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.5-truthful-release-correlation","prNumber":null,"terminal":false,"missionId":"c8eb5646-17e3-4f9c-ab78-83ac7b37465f","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and recall /repair/execute-mission automatically without another owner prompt.","receiptRef":{"mode":"full","missionId":"c8eb5646-17e3-4f9c-ab78-83ac7b37465f"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"sourceReceiptBytes":3375,"likelyAffectedFiles":[],"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-04T11:37:18.667263+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c8eb5646-17e3-4f9c-ab78-83ac7b37465f:execute_mission:repair_mission_synthesis_ready","mission_step_id":"9706eac5-c056-4cce-925b-a2cc1d8caf36","command_center_event_id":"c8eb5646-17e3-4f9c-ab78-83ac7b37465f"},{"id":"a2758b3a-bfab-49a9-814f-1c4cc4b02b37","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane to add canonical Cloudflare credential management, clean up the obsolete Cloudflare token sprawl, repair the Visual Witness deployment credential, then refreeze the control plane.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane to add canonical Cloudflare credential management, clean up the obsolete Cloudflare token sprawl, repair the Visual Witness deployment credential, then refreeze the control plane.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"credential-manager","statement":"KnockLaunch deterministically identifies and manages the canonical Cloudflare deployment credential without exposing token values.","proofConditionIds":["repo-manager"]},{"id":"safe-cleanup","statement":"Obsolete Cloudflare tokens are cleaned conservatively without deleting unknown active consumers.","proofConditionIds":["repo-manager","release-proof"]},{"id":"witness-repair","statement":"Visual Witness virtual Cloudflare Container deploys and automatic failover is proven live.","proofConditionIds":["release-proof","witness-runtime"]},{"id":"refrozen","statement":"Control plane is refrozen and mutation-locked after repair.","proofConditionIds":["freeze-proof"]}],"objective":"Unfreeze the control plane to add canonical Cloudflare credential management, clean up the obsolete Cloudflare token sprawl, repair the Visual Witness deployment credential, then refreeze the control plane.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-manager","kind":"repository","claim":"Canonical Forgejo-owned Cloudflare credential manager and regression tests are present on protected main.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release-proof","kind":"release","claim":"Affected ccExecution release succeeds before any superseded token deletion.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]},{"id":"witness-runtime","kind":"runtime","claim":"Primary and virtual Witness runners are healthy and automatic failover is proven.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]},{"id":"freeze-proof","kind":"repository","claim":"controlPlaneMutationLockEnabled and controlPlaneFrozen are true after completion.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"ed18bbfff54539cd98933835d9819aa0c6a82fceff42ce56f656e30a463fceec","requestContractRevision":3,"previousRequestContractHash":"e3d9782f8a784445ab49fecd5dec0a9a6b07785de9f6cf5d511c97b09e07ed06"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T20:33:09.188448+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:05014277-8ab7-4cf0-bb07-3a2517a6c2f1:request-contract:ed18bbfff54539cd98933835d9819aa0c6a82fceff42ce56f656e30a463fceec","mission_step_id":"3a186a77-a3c5-4dc2-a9fc-2a4f39da5967","command_center_event_id":"05014277-8ab7-4cf0-bb07-3a2517a6c2f1"},{"id":"a276ed42-f548-4bab-a9f0-2e7eef0256d0","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-eb6d99edd64f","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2504,"terminal":false,"missionId":"e228625b-5a0a-460b-90bb-70de577f05a4","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2400,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"e228625b-5a0a-460b-90bb-70de577f05a4"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T18:13:07.810548+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2504","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e228625b-5a0a-460b-90bb-70de577f05a4:automatic-mission-resume:2504:repair_mission_pr_ready_retryable","mission_step_id":"67dbb3d1-871d-4bea-8573-cdfef489a3a9","command_center_event_id":"e228625b-5a0a-460b-90bb-70de577f05a4"},{"id":"a27865a0-8a6b-4eda-91ad-bd0532c511fa","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Reconcile the same existing mission after the transient release transport timeout. Do not create or mutate any new branch, PR, or source. Confirm PR #1085 / source SHA 76bebb14a0d7243629ec918581867a4d8e78b055 release state and finish the required live runtime proof for the Vista Del Mar workspace background.","wordingChanged":false,"canonicalIntent":"Reconcile the same existing mission after the transient release transport timeout. Do not create or mutate any new branch, PR, or source. Confirm PR #1085 / source SHA 76bebb14a0d7243629ec918581867a4d8e78b055 release state and finish the required live runtime proof for the Vista Del Mar workspace background.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-vista-bg-all-workspace-routes","statement":"Every Vista Del Mar workspace route renders over the existing approved Vista Del Mar background photo.","proofConditionIds":["proof-vista-workspace-production"]}],"objective":"Reconcile the same existing mission after the transient release transport timeout. Do not create or mutate any new branch, PR, or source. Confirm PR #1085 / source SHA 76bebb14a0d7243629ec918581867a4d8e78b055 release state and finish the required live runtime proof for the Vista Del Mar workspace background.","constraints":[{"id":"constraint-no-other-changes","statement":"Do not alter route-specific layout/content/interactions, logo/video behavior, or other tenants.","proofConditionIds":["proof-vista-workspace-production"]},{"id":"constraint-existing-asset","statement":"Reuse the existing approved Vista Del Mar background photo asset.","proofConditionIds":["proof-vista-workspace-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-vista-workspace-production","kind":"runtime","claim":"Vista Del Mar workspace routes use the shared approved background photo in production.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"8c1e88a01111b3426f73db8fc6173741b25554e5e8cd4a1e3cc11bf00b02fe5d","requestContractRevision":5,"previousRequestContractHash":"f32e528ddfb0d96b66b94b5795ee18927bcc8e38741f98afa5bcdeedbc84d5de"},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-30T01:46:36.081583+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:925d61a5-2b1d-4674-b85a-51b9cfe0a5b6:request-contract-revision:5:8c1e88a01111b3426f73db8fc6173741b25554e5e8cd4a1e3cc11bf00b02fe5d","mission_step_id":"e075424d-0f09-4013-8914-65158f395e77","command_center_event_id":"925d61a5-2b1d-4674-b85a-51b9cfe0a5b6"},{"id":"a278fc07-ec17-48c4-a1a7-86cf9eb9ec57","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/planner-fallback-only-20260910","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2362,"terminal":false,"missionId":"213c833d-7321-4460-b12a-5e0219c339b4","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2451,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"213c833d-7321-4460-b12a-5e0219c339b4"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T02:39:54.627554+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2362","receipt_type":"automatic_mission_resume","idempotency_key":"mission:213c833d-7321-4460-b12a-5e0219c339b4:automatic-mission-resume:2362:repair_mission_pr_ready_retryable","mission_step_id":"5e927a1b-7f72-4f89-9e52-9593fd6f3e51","command_center_event_id":"213c833d-7321-4460-b12a-5e0219c339b4"},{"id":"a27af7b9-671d-400b-ad62-7dac7098306d","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"d8cc04991a5678e3ceb8e3a687b0e39801e12cb0","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"d8cc04991a5678e3ceb8e3a687b0e39801e12cb0","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"871b0e527d80b2d5508c4531af772fb480a3e7ceba16c4d39eae61a594deada7","forgejoWorkflowProof":{"runId":13827,"source":"signed_push_receipt","status":"waiting","results":{},"conclusion":"waiting","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T12:19:40.432044+00:00","proof_gate":"canonical_release_pending","source_sha":"d8cc04991a5678e3ceb8e3a687b0e39801e12cb0","external_id":"forgejo-main-d8cc04991a56","receipt_type":"canonical_release_status","idempotency_key":"mission:e941883c-e08c-4d2b-ac54-4eeb4afee0b1:forgejo-release-status:d8cc04991a5678e3ceb8e3a687b0e39801e12cb0:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"47f87b39-0db3-4086-a170-50d0f57b239f","command_center_event_id":"e941883c-e08c-4d2b-ac54-4eeb4afee0b1"},{"id":"a27b3476-3e98-4b67-8f7a-b373b671c6ff","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success","supabase-edge-production/live":"success"},"mainSha":"70f9220b843127b6bd36377cb97b8fa0a48a9fde","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"70f9220b843127b6bd36377cb97b8fa0a48a9fde","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["irslogiqs-sync","upsert-tenant-provider-secret"]},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":"11c2fb8948b49e472ba22714ea9c493baf658e08839fd5abea30f88857354002","forgejoWorkflowProof":{"runId":14418,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:57:41.227267+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"70f9220b843127b6bd36377cb97b8fa0a48a9fde","external_id":"forgejo-main-70f9220b8431","receipt_type":"canonical_release_status","idempotency_key":"mission:4b4b5a5f-d8c0-408e-ba78-a66c24900b8c:forgejo-release-status:70f9220b843127b6bd36377cb97b8fa0a48a9fde:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"f7831ae9-5052-4525-99d2-efa04bfcdf76","command_center_event_id":"4b4b5a5f-d8c0-408e-ba78-a66c24900b8c"},{"id":"a27eb092-ac33-4f6c-a155-f07f8d5f6493","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0d5649368994","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":37269,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":1,"executorlessWaitMs":52850,"firstUsefulResultAt":"2026-09-28T22:57:22.303Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":"1.59.3-direct-commit-ancestry","prNumber":4047,"terminal":false,"missionId":"0d564936-8994-415e-a891-e9966b133234","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5723,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":5609,"approvedPlanMs":0,"missionSetupMs":421,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":307,"ledgerReconcileMs":0,"lineageReconcileMs":114,"resolvePreflightMs":421,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":307,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"0d564936-8994-415e-a891-e9966b133234"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1523,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T22:57:42.785562+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4047","receipt_type":"execute_mission","idempotency_key":"mission:0d564936-8994-415e-a891-e9966b133234:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"1ab9336f-da8c-42c2-9be7-c8d6282afba4","command_center_event_id":"0d564936-8994-415e-a891-e9966b133234"},{"id":"a2811536-3712-4307-8daa-8d9a03305a95","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/command-center-mission-control.test.ts","workers/cc-execution/src/index-mission-control.js"],"reason":"Owner explicitly authorized fixing the Redfish durable mission verifier. The post-release visual proof must inherit the tenant from the tenant-prefixed route when mission context has no explicit tenant, instead of defaulting to the platform tenant.","baseSha":"fef1decafb10fb751531a2fe6cc7ead1b5833507","issuedAt":1790608132523,"expiresAt":1790608312523,"missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6","authorizationId":"21b8f21d-247b-4ccc-9d65-154c5c027416","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T15:08:52.965235+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"fef1decafb10fb751531a2fe6cc7ead1b5833507","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:21b8f21d-247b-4ccc-9d65-154c5c027416","mission_step_id":"ab264430-7c15-4537-8535-aba2bbba33b1","command_center_event_id":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},{"id":"a281dbbb-6665-4838-8350-2999f0165852","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","supabase/config.toml","supabase/functions/visual-witness-container-bootstrap/index.ts","workers/cc-execution/src/index-visual-witness-resumable.js","workers/cc-execution/src/visual-witness-virtual-container.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/test/visual-witness-virtual-bootstrap-contract.test.js"],"reason":"Replace the proven failed Forgejo-secret dependency with a bounded encrypted Supabase Edge bootstrap for the Cloudflare Visual Witness fallback, preserving fail-closed authority and eliminating plaintext credential persistence.","baseSha":"9b628e38c535087d9bc41a1140b5517e59465175","issuedAt":1788614165478,"expiresAt":1788614345478,"missionId":"6adc83f0-2c6a-4d1f-bba0-d0a01753ce67","authorizationId":"3a9d1468-5463-485d-bd17-59d28a60c25d","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T13:16:06.237071+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"9b628e38c535087d9bc41a1140b5517e59465175","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:3a9d1468-5463-485d-bd17-59d28a60c25d","mission_step_id":"39da3b10-0cfb-4fb0-9384-c6f80b4cfccf","command_center_event_id":"6adc83f0-2c6a-4d1f-bba0-d0a01753ce67"},{"id":"a2826483-bce7-4fe7-9636-a37b193e28ea","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["scripts/cloudflare-native-version-deploy.mjs","scripts/resolve-production-workflow-run.mjs","scripts/visual-witness-hosted-runner/src/mission-gateway.mjs","config/capabilities/godmode-live-edit-sidekick.json"],"continuationObjective":"Continue the existing merge-queue hygiene repair mission to completion. Resolve the exact current queue-supervisor source from protected main, synthesize the smallest safe implementation, mutate only the canonical queue-reconciliation owner, Gate, merge, deploy, reconcile the current backlog, and prove live that provably superseded conflicted PRs are automatically retired while non-superseded work is preserved. Do not stop at implementation_payload_required."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T15:54:34.920343+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:95c85635-d398-4340-a582-399528b192ab:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"0531024b-1a0a-43f6-953d-bceb7f63d9f1","command_center_event_id":"95c85635-d398-4340-a582-399528b192ab"},{"id":"a283af7c-73e1-4d64-9dcc-8f3c593a58e7","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-af312d2d8865","writes":[],"patches":[],"version":1,"approved":true,"missionId":"af312d2d-8865-4e70-b4b0-e0bd973b9557","objective":"Make the standalone KNOCKLAUNCH Console use the owner's already-authorized local Cloudflare Wrangler OAuth session and Supabase CLI login as read-only provider fallbacks when static provider tokens are absent. Keep hosted GodMode provider behavior unchanged. Modify only scripts/knocklaunch-console/server.mjs, scripts/knocklaunch-console/console.test.mjs, and scripts/knocklaunch-console/README.md. Pin Wrangler 4.112.0 and Supabase CLI 2.118.0, use fixed read-only commands only, validate the Supabase project ref, never expose OAuth credentials, never copy CLI credentials into Console settings, and fail truthfully as unavailable if CLI auth is missing or a command fails. Cloudflare fallback should report deployment inventory/current 100% version for knocklaunch-owner-production; Supabase fallback should report the selected project plus edge-function inventory and registry comparison. Static API-token providerSnapshot remains the preferred path when tokens are explicitly configured. Add focused tests for fixed CLI command construction, JSON parsing, no token/settings persistence, and truthful failure behavior. One focused PR and canonical Gate; no production workflow or runner-label changes. After merge, the MSI isolated Console repo will be fast-forwarded and both local provider buttons will be proven against the existing OAuth sessions.","repository":"noel/KnockLaunchOS","visualProof":false,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/knocklaunch-console/server.mjs","scripts/knocklaunch-console/console.test.mjs","scripts/knocklaunch-console/README.md"],"anchored_edits":[{"path":"scripts/knocklaunch-console/server.mjs","new_content":"import { providerSnapshot, compareRegistry, redact } from '../../supabase/functions/_shared/console-providers.mjs';","old_content":"import { providerSnapshot, redact } from '../../supabase/functions/_shared/console-providers.mjs';"},{"path":"scripts/knocklaunch-console/server.mjs","new_content":"export const RUNNER_REGISTRATION=Object.freeze({home:'/home/nysom',file:'/home/nysom/.runner',config:'/home/nysom/.config/forgejo-runner/config.yml',instance:'https://git.knocklaunch.app',name:'msi-local',label:'msi-local:docker://node:22-bookworm',service:'knocklaunch-forgejo-runner.service'});\nexport const LOCAL_PROVIDER_CLI=Object.freeze({wranglerVersion:'4.112.0',supabaseVersion:'2.118.0',worker:'knocklaunch-owner-production'});\nexport function parseCliJsonOutput(value){const raw=String(value||'').trim();if(!raw)throw new Error('Provider CLI returned no JSON.');try{return JSON.parse(raw);}catch{}const starts=[raw.indexOf('['),raw.indexOf('{')].filter(index=>index>=0),start=starts.length?Math.min(...starts):-1,end=Math.max(raw.lastIndexOf(']'),raw.lastIndexOf('}'));if(start<0||end<=start)throw new Error('Provider CLI returned invalid JSON.');return JSON.parse(raw.slice(start,end+1));}\nexport function localProviderCliSpec(provider,operation,projectRef='',onWindows=windows){let args;if(provider==='cloudflare'&&operation==='deployments')args=['--yes','wrangler@'+LOCAL_PROVIDER_CLI.wranglerVersion,'deployments','list','--name',LOCAL_PROVIDER_CLI.worker,'--json'];else if(provider==='supabase'&&operation==='projects')args=['--yes','supabase@'+LOCAL_PROVIDER_CLI.supabaseVersion,'projects','list','--output','json'];else if(provider==='supabase'&&operation==='functions'){if(!/^[a-z0-9]{20}$/.test(projectRef))throw new Error('Supabase project reference is invalid.');args=['--yes','supabase@'+LOCAL_PROVIDER_CLI.supabaseVersion,'functions','list','--project-ref',projectRef,'--output','json'];}else throw new Error('Provider CLI command is not allowlisted.');return onWindows?{command:'cmd.exe',args:['/d','/s','/c','npx.cmd '+args.join(' ')]}:{command:'npx',args};}\nfunction cliEnvironment(){const env={...process.env};delete env.CLOUDFLARE_API_TOKEN;delete env.CF_KL_UI_GPT_API_TOKEN;delete env.SUPABASE_ACCESS_TOKEN;return env;}\nfunction runLocalProviderCli(spec){return parseCliJsonOutput(execFileSync(spec.command,spec.args,{cwd:root,encoding:'utf8',timeout:60000,windowsHide:true,env:cliEnvironment()}));}\nexport async function localCliProviderSnapshot(provider,env,managed=null,cliRunner=runLocalProviderCli){const observedAt=new Date().toISOString(),summary={},sections={};try{if(provider==='cloudflare'){const deployments=await cliRunner(localProviderCliSpec('cloudflare','deployments'));if(!Array.isArray(deployments))throw new Error('Cloudflare deployments were not an array.');const live=[...deployments].reverse().flatMap(item=>Array.isArray(item?.versions)?item.versions:[]).find(version=>Number(version?.percentage)===100);summary.Worker=LOCAL_PROVIDER_CLI.worker;summary.Deployments=deployments.length;summary['Live version']=live?.version_id||null;summary.Authentication='Wrangler OAuth';sections.Deployments={status:'observed',data:deployments.slice(-20)};sections['Application health']={status:'unavailable',error:'Application interaction health requires live verification; provider connectivity alone is not health.'};return {status:'partial',observedAt,summary,sections};}if(provider==='supabase'){const ref=env.SUPABASE_PROJECT_REF||(env.SUPABASE_URL||'').match(/^https:\\/\\/([a-z0-9]+)\\.supabase\\.co/)?.[1];if(!/^[a-z0-9]{20}$/.test(ref||''))throw new Error('Supabase project reference is not configured.');const projects=await cliRunner(localProviderCliSpec('supabase','projects')),functions=await cliRunner(localProviderCliSpec('supabase','functions',ref));if(!Array.isArray(projects)||!Array.isArray(functions))throw new Error('Supabase CLI returned invalid inventory.');const project=projects.find(item=>item?.ref===ref||item?.id===ref)||null,inventory=functions.map(item=>({slug:item.slug||item.name,status:item.status||null,version:item.version??null,updated_at:item.updated_at??null}));summary.Project=project?.name||ref;summary['Project state']=project?.status||null;summary['Provider functions']=inventory.length;summary.Authentication='Supabase CLI login';sections.Project={status:'observed',data:project?{ref, name:project.name||null,status:project.status||null,region:project.region||null}:{ref,status:null}};sections['Edge functions']={status:'observed',data:inventory};sections['Registry comparison']=compareRegistry(managed,inventory);const drift=sections['Registry comparison'].data;if(drift){summary.Managed=drift.managed;summary.Missing=drift.missing.length;summary.Unmanaged=drift.unmanaged.length;}return {status:sections['Registry comparison'].status==='observed'?'observed':'partial',observedAt,summary,sections};}throw new Error('Unknown local CLI provider.');}catch{const error=provider==='cloudflare'?'Wrangler OAuth session unavailable or Cloudflare read failed.':'Supabase CLI login unavailable or provider read failed.';return {status:'unavailable',observedAt,error,summary,sections:{CLI:{status:'unavailable',error}}};}}\nconst readSettings=()=>{try{return JSON.parse(readFileSync(configurationPath,'utf8'));}catch{return {};}};","old_content":"export const RUNNER_REGISTRATION=Object.freeze({home:'/home/nysom',file:'/home/nysom/.runner',config:'/home/nysom/.config/forgejo-runner/config.yml',instance:'https://git.knocklaunch.app',name:'msi-local',label:'msi-local:docker://node:22-bookworm',service:'knocklaunch-forgejo-runner.service'});\nconst readSettings=()=>{try{return JSON.parse(readFileSync(configurationPath,'utf8'));}catch{return {};}};"},{"path":"scripts/knocklaunch-console/server.mjs","new_content":" if(['cloudflare','supabase','forgejo'].includes(id)){const managed=existsSync(join(root,'supabase/functions'))?discoverManagedFunctions({root}):null,localCliFallback=windows&&((id==='cloudflare'&&!env.CLOUDFLARE_API_TOKEN&&!env.CF_KL_UI_GPT_API_TOKEN)||(id==='supabase'&&!env.SUPABASE_ACCESS_TOKEN)),data=localCliFallback?await localCliProviderSnapshot(id,env,managed):await providerSnapshot(id,env,managed);state.providers[id]=data;append(job,JSON.stringify(data.summary,null,2));if(data.status==='unavailable')throw new Error(data.error||'Provider data unavailable; inspect provider details.');return;}","old_content":" if(['cloudflare','supabase','forgejo'].includes(id)){const data=await providerSnapshot(id,env,existsSync(join(root,'supabase/functions'))?discoverManagedFunctions({root}):null);state.providers[id]=data;append(job,JSON.stringify(data.summary,null,2));if(data.status==='unavailable')throw new Error(data.error||'Provider data unavailable; inspect provider details.');return;}"},{"path":"scripts/knocklaunch-console/console.test.mjs","new_content":"import { authorized, validOrigin, requireAction, allowedSettings, RUNNER_REGISTRATION, LOCAL_PROVIDER_CLI, requireRunnerRegistrationToken, runnerRegistrationArgs, parseCliJsonOutput, localProviderCliSpec, localCliProviderSnapshot } from './server.mjs';","old_content":"import { authorized, validOrigin, requireAction, allowedSettings, RUNNER_REGISTRATION, requireRunnerRegistrationToken, runnerRegistrationArgs } from './server.mjs';"},{"path":"scripts/knocklaunch-console/console.test.mjs","new_content":"test('provider failure is unavailable, never healthy',async()=>{\n const data=await providerSnapshot('supabase',{SUPABASE_PROJECT_REF:'a'.repeat(20),SUPABASE_ACCESS_TOKEN:'private-provider-token'},null,async()=>new Response('{}',{status:403}));\n assert.equal(data.status,'unavailable');assert.equal(data.summary['Provider functions'],null);\n assert.ok(Object.values(data.sections).every(x=>x.status==='unavailable'));\n});\ntest('local provider CLI commands are pinned, fixed and read-only',()=>{\n assert.equal(LOCAL_PROVIDER_CLI.wranglerVersion,'4.112.0');assert.equal(LOCAL_PROVIDER_CLI.supabaseVersion,'2.118.0');\n const cloudflare=localProviderCliSpec('cloudflare','deployments','',true);assert.deepEqual(cloudflare,{command:'cmd.exe',args:['/d','/s','/c','npx.cmd --yes wrangler@4.112.0 deployments list --name knocklaunch-owner-production --json']});\n const ref='a'.repeat(20),supabase=localProviderCliSpec('supabase','functions',ref,true);assert.equal(supabase.args[3],'npx.cmd --yes supabase@2.118.0 functions list --project-ref '+ref+' --output json');\n assert.throws(()=>localProviderCliSpec('supabase','functions','bad;command',true),/invalid/i);assert.throws(()=>localProviderCliSpec('cloudflare','deploy', '',true),/allowlisted/i);\n});\ntest('CLI JSON parser accepts clean JSON without credential settings',()=>{\n assert.deepEqual(parseCliJsonOutput('notice\\n[{\"ok\":true}]'),[{ok:true}]);\n assert.equal(allowedSettings.includes('WRANGLER_OAUTH_TOKEN'),false);assert.equal(allowedSettings.includes('SUPABASE_CLI_TOKEN'),false);\n});\ntest('local OAuth CLI snapshots report live inventory without static tokens',async()=>{\n const ref='a'.repeat(20);const runner=async spec=>spec.args.join(' ').includes('projects list')?[{ref,id:ref,name:'KNOCKLAUNCH',status:'ACTIVE_HEALTHY',region:'us-west-2'}]:spec.args.join(' ').includes('functions list')?[{slug:'expected',status:'ACTIVE',version:2,updated_at:1}]:[{versions:[{version_id:'live-version',percentage:100}]}];\n const cloudflare=await localCliProviderSnapshot('cloudflare',{},null,runner);assert.equal(cloudflare.summary.Authentication,'Wrangler OAuth');assert.equal(cloudflare.summary['Live version'],'live-version');\n const supabase=await localCliProviderSnapshot('supabase',{SUPABASE_PROJECT_REF:ref},['expected'],runner);assert.equal(supabase.summary.Authentication,'Supabase CLI login');assert.equal(supabase.summary.Missing,0);assert.equal(supabase.summary.Unmanaged,0);\n});\ntest('local CLI provider failures stay unavailable and do not imply health',async()=>{\n const failed=await localCliProviderSnapshot('cloudflare',{},null,async()=>{throw new Error('secret provider detail');});assert.equal(failed.status,'unavailable');assert.match(failed.error,/Wrangler OAuth session unavailable/);assert.equal(JSON.stringify(failed).includes('secret provider detail'),false);\n});","old_content":"test('provider failure is unavailable, never healthy',async()=>{\n const data=await providerSnapshot('supabase',{SUPABASE_PROJECT_REF:'a'.repeat(20),SUPABASE_ACCESS_TOKEN:'private-provider-token'},null,async()=>new Response('{}',{status:403}));\n assert.equal(data.status,'unavailable');assert.equal(data.summary['Provider functions'],null);\n assert.ok(Object.values(data.sections).every(x=>x.status==='unavailable'));\n});"},{"path":"scripts/knocklaunch-console/README.md","new_content":"Use **Connection settings** for non-secret provider identifiers and any explicit static credentials you intentionally choose to configure. Values stay in the current Windows user's `.knocklaunch-console/settings.json`; protect the Windows account. These values are never stored in the repository or returned to the browser. For the standalone MSI app, Cloudflare and Supabase static tokens are optional: an explicitly configured API token remains the preferred path, otherwise the Console uses the current Windows user's already-authorized Wrangler OAuth session or Supabase CLI login through pinned, fixed read-only commands. OAuth/CLI credential material stays in the providers' own credential storage and is never copied into Console settings. Cloudflare still needs its account ID for the token-backed path; Supabase needs its project reference; Forgejo needs a repository-scoped token for API-backed Forgejo views and Gate checks. Provider failures are reported as unavailable rather than healthy.","old_content":"Use **Connection settings** to configure provider credentials on the MSI. Values stay in the current Windows user's `.knocklaunch-console/settings.json`; protect the Windows account. These values are never stored in the repository or returned to the browser. Cloudflare needs its account ID and scoped token; Supabase needs its project reference and Management API token; Forgejo needs a repository-scoped token. Choose only permissions needed for the actions you use. Provider views report missing permissions individually."}],"implementation":{"files":[],"writes":[]},"requestContract":{"outcomes":[{"id":"oauth-cli-provider-fallback","statement":"The standalone Console can read Cloudflare and Supabase live state through already-authorized local CLI sessions without storing static provider tokens.","proofConditionIds":["proof-repository"]}],"objective":"Make the standalone KNOCKLAUNCH Console use the owner's already-authorized local Cloudflare Wrangler OAuth session and Supabase CLI login as read-only provider fallbacks when static provider tokens are absent. Keep hosted GodMode provider behavior unchanged. Modify only scripts/knocklaunch-console/server.mjs, scripts/knocklaunch-console/console.test.mjs, and scripts/knocklaunch-console/README.md. Pin Wrangler 4.112.0 and Supabase CLI 2.118.0, use fixed read-only commands only, validate the Supabase project ref, never expose OAuth credentials, never copy CLI credentials into Console settings, and fail truthfully as unavailable if CLI auth is missing or a command fails. Cloudflare fallback should report deployment inventory/current 100% version for knocklaunch-owner-production; Supabase fallback should report the selected project plus edge-function inventory and registry comparison. Static API-token providerSnapshot remains the preferred path when tokens are explicitly configured. Add focused tests for fixed CLI command construction, JSON parsing, no token/settings persistence, and truthful failure behavior. One focused PR and canonical Gate; no production workflow or runner-label changes. After merge, the MSI isolated Console repo will be fast-forwarded and both local provider buttons will be proven against the existing OAuth sessions.","constraints":[{"id":"hosted-path-preserved","statement":"Hosted GodMode provider behavior and server-side console-ops authorization remain unchanged.","proofConditionIds":["proof-repository"]},{"id":"credential-boundary","statement":"Do not read, export, persist, return, log, or copy OAuth/CLI credentials into Console settings; use only the providers' authenticated CLI sessions.","proofConditionIds":["proof-repository"]},{"id":"fixed-read-only-commands","statement":"Only fixed read-only Wrangler/Supabase CLI commands are allowed; no arbitrary command input, no deploy/mutation commands, no runner-label or workflow changes.","proofConditionIds":["proof-repository"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_merge","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"The merged Console source implements tested fixed read-only OAuth/CLI fallbacks for Cloudflare and Supabase while preserving the existing token-backed and hosted paths.","required":true}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"af312d2d-8865-4e70-b4b0-e0bd973b9557","ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/knocklaunch-console/server.mjs","scripts/knocklaunch-console/console.test.mjs","scripts/knocklaunch-console/README.md"],"requestContract":{"outcomes":[{"id":"oauth-cli-provider-fallback","statement":"The standalone Console can read Cloudflare and Supabase live state through already-authorized local CLI sessions without storing static provider tokens.","proofConditionIds":["proof-repository"]}],"objective":"Make the standalone KNOCKLAUNCH Console use the owner's already-authorized local Cloudflare Wrangler OAuth session and Supabase CLI login as read-only provider fallbacks when static provider tokens are absent. Keep hosted GodMode provider behavior unchanged. Modify only scripts/knocklaunch-console/server.mjs, scripts/knocklaunch-console/console.test.mjs, and scripts/knocklaunch-console/README.md. Pin Wrangler 4.112.0 and Supabase CLI 2.118.0, use fixed read-only commands only, validate the Supabase project ref, never expose OAuth credentials, never copy CLI credentials into Console settings, and fail truthfully as unavailable if CLI auth is missing or a command fails. Cloudflare fallback should report deployment inventory/current 100% version for knocklaunch-owner-production; Supabase fallback should report the selected project plus edge-function inventory and registry comparison. Static API-token providerSnapshot remains the preferred path when tokens are explicitly configured. Add focused tests for fixed CLI command construction, JSON parsing, no token/settings persistence, and truthful failure behavior. One focused PR and canonical Gate; no production workflow or runner-label changes. After merge, the MSI isolated Console repo will be fast-forwarded and both local provider buttons will be proven against the existing OAuth sessions.","constraints":[{"id":"hosted-path-preserved","statement":"Hosted GodMode provider behavior and server-side console-ops authorization remain unchanged.","proofConditionIds":["proof-repository"]},{"id":"credential-boundary","statement":"Do not read, export, persist, return, log, or copy OAuth/CLI credentials into Console settings; use only the providers' authenticated CLI sessions.","proofConditionIds":["proof-repository"]},{"id":"fixed-read-only-commands","statement":"Only fixed read-only Wrangler/Supabase CLI commands are allowed; no arbitrary command input, no deploy/mutation commands, no runner-label or workflow changes.","proofConditionIds":["proof-repository"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_merge","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"The merged Console source implements tested fixed read-only OAuth/CLI fallbacks for Cloudflare and Supabase while preserving the existing token-backed and hosted paths.","required":true}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"a0694b6be18559426bc60ede466f71b8f6c16fa57ac28b7d926c6b425edf0cda","replayCount":0,"serializedBytes":20197},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T14:36:53.75626+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:af312d2d-8865-4e70-b4b0-e0bd973b9557:repository-mutation-intent:a0694b6be18559426bc60ede466f71b8f6c16fa57ac28b7d926c6b425edf0cda:0","mission_step_id":"87dcb595-d756-452b-93a0-2474b72988ad","command_center_event_id":"af312d2d-8865-4e70-b4b0-e0bd973b9557"},{"id":"a283b958-5692-48d5-a023-8a9176bc995d","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T08:33:13.056202+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5163,\"sourceSha\":\"d059e784c8fb33ceeb0e36baec00e818ef3753e8\",\"deploymentId\":\"forgejo-main-d059e784c8fb\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T07:25:37.288537+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6cd825d0-ddfe-4532-8e8e-5f72704f5be5:owner-progress-heartbeat:119418102","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"a283fd9d-cfc0-40b5-add9-02f95c1b5fe9","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-6f78dd58cdb0","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.97-mutation-latency-reconcile-fastpath","prNumber":null,"terminal":false,"missionId":"6f78dd58-cdb0-488f-9fbe-724c2812e36c","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1231,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1231,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1231,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1231,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6f78dd58-cdb0-488f-9fbe-724c2812e36c"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1458,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T20:58:03.045643+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:6f78dd58-cdb0-488f-9fbe-724c2812e36c:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"92195858-854d-4c02-9719-9d53417fdd78","command_center_event_id":"6f78dd58-cdb0-488f-9fbe-724c2812e36c"},{"id":"a285643d-3c07-4c8a-b732-86979d2a5964","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"b283ce3a2ffadc9402abc8b29cce7ebf39d1b81c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Finish the Tennex IRSLogiq runtime proof without requiring the owner to click Sync. Add a tightly scoped, single-use post-release canary authorization path to irslogiqs-sync: token hash only in tenant-scoped provider metadata, explicit purpose, short expiry, active tenant-owner actor validation, consume-before-use semantics, and normal user auth unchanged. Use it only to execute this owner-requested production verification for Tennex tenant 669daee1-57e8-4960-937c-ce397106f32e, then prove provider connection state, resolved route, terminal sync result, canonical imported count, and Tennex Clients count. No Visual Witness.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"86fefda9427b064a81e875193d18d834e2805527f4902132096598ddfa724734","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"86fefda9427b064a81e875193d18d834e2805527f4902132096598ddfa724734"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:48:26.220826+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"b283ce3a2ffadc9402abc8b29cce7ebf39d1b81c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:65384a45-7f8b-40fe-ad3d-fa6cd51bbd1f:request-contract:86fefda9427b064a81e875193d18d834e2805527f4902132096598ddfa724734:b283ce3a2ffadc9402abc8b29cce7ebf39d1b81c:verified:","mission_step_id":"c38fb6c8-2ea2-4dfa-a930-9975267e4a76","command_center_event_id":"65384a45-7f8b-40fe-ad3d-fa6cd51bbd1f"},{"id":"a286042c-633d-427f-bcbe-c782d71868f4","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"7ef83b6b434d8d99371eee9b1001d74276c62d5e","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"isolation","satisfied":true,"statement":"Tenant identity, routing, branding, storage/assets, caches, subscriptions, background work and shared data paths stay same-tenant; reserved identities fail soft and cannot poison business tenants.","proofConditionIds":["proof-repository","proof-gate","proof-production"]},{"id":"availability","satisfied":true,"statement":"A background release, transient hydration fault, malformed sibling membership, feature/app error or failed integration cannot take down another valid tenant or an already-working tenant shell.","proofConditionIds":["proof-repository","proof-gate","proof-production"]},{"id":"integrity","satisfied":true,"statement":"Canonical shared write/admin/background paths reject missing or mismatched tenant scope and retain existing idempotency/concurrency safeguards instead of silently widening or duplicating mutations.","proofConditionIds":["proof-repository","proof-gate"]},{"id":"authorization","satisfied":true,"statement":"Fresh server/RLS authorization and revocation remain authoritative; cached continuity identity never grants elevated privilege and admin/platform roles are never inferred into business authority.","proofConditionIds":["proof-repository","proof-gate"]}],"satisfied":true,"constraints":[{"id":"single-path","satisfied":true,"statement":"One fresh ai/* branch, one PR, one canonical Gate, one squash merge, and only affected production releases; no duplicate infrastructure or alternate release lanes.","proofConditionIds":["proof-gate","proof-production"]},{"id":"reuse-canonical-owners","satisfied":true,"statement":"Reuse existing tenant-platform, route, auth, storage, error-boundary, queue/job/webhook/admin and mutation primitives where they exist; do not create parallel auth, queue, storage or mutation systems.","proofConditionIds":["proof-repository"]},{"id":"tenant-authority","satisfied":true,"statement":"RLS/server authorization stays final; client cache may preserve non-sensitive identity only and cannot grant role, ownership, GodMode/Admin/Manager authority or bypass revocation.","proofConditionIds":["proof-repository","proof-gate"]},{"id":"blast-radius","satisfied":true,"statement":"One malformed tenant, feature, integration, job or membership may fail locally but may not expose, mutate, impersonate or make unrelated tenants unavailable.","proofConditionIds":["proof-repository","proof-gate"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-repository","proof-gate","proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-repository","proof-gate","proof-production"]}],"contractHash":"0fef3c6a7069d4aaf75b766e13d5aa803fc40264c7379463328fce16866beb38","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"0fef3c6a7069d4aaf75b766e13d5aa803fc40264c7379463328fce16866beb38","unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":["frontend","ccExecution","supabaseEdge","migrations"],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"7ef83b6b434d8d99371eee9b1001d74276c62d5e"},"required":true,"satisfied":true},{"id":"proof-gate","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"0fef3c6a7069d4aaf75b766e13d5aa803fc40264c7379463328fce16866beb38","unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":["frontend","ccExecution","supabaseEdge","migrations"],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"7ef83b6b434d8d99371eee9b1001d74276c62d5e"},"required":true,"satisfied":true},{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":["frontend","ccExecution","supabaseEdge","migrations"],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"0fef3c6a7069d4aaf75b766e13d5aa803fc40264c7379463328fce16866beb38"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T01:33:07.467814+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"7ef83b6b434d8d99371eee9b1001d74276c62d5e","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:ccf39e73-ca35-4472-a46b-077ce1c80d6a:request-contract:0fef3c6a7069d4aaf75b766e13d5aa803fc40264c7379463328fce16866beb38:7ef83b6b434d8d99371eee9b1001d74276c62d5e:verified:","mission_step_id":"4099c679-9643-4208-8efb-f0c4e1007362","command_center_event_id":"ccf39e73-ca35-4472-a46b-077ce1c80d6a"},{"id":"a28692b2-c8d1-4f41-9214-8b311e05df54","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/big-papis-route-effectiveness-20260816","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1681,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":null,"terminal":false,"missionId":"34b5d0f6-ece0-4417-b540-df7f6a0c176a","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"34b5d0f6-ece0-4417-b540-df7f6a0c176a"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":10859,"likelyAffectedFiles":["src/components/admin/TenantUserCommandCenters.tsx","src/components/TenantRouter.tsx","src/components/WorkflowRouter.tsx","src/components/GlobalCommandPalette.tsx","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/command-center-mission-control.test.ts","src/__tests__/contracts/command-center-mission-preflight.test.ts","src/__tests__/contracts/operational-command-application-integration.contract.test.ts","src/components/ContactsRouter.tsx","src/components/LeadsRouter.tsx","src/components/RebuttalsRouter.tsx","src/__tests__/contracts/admin-route-family-auth.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-16T17:41:25.157685+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:34b5d0f6-ece0-4417-b540-df7f6a0c176a:execute_mission:repair_mission_synthesis_ready","mission_step_id":"4234c04f-6d30-4306-bf26-d60687215bdd","command_center_event_id":"34b5d0f6-ece0-4417-b540-df7f6a0c176a"},{"id":"a28b47dc-b465-43a8-8388-ed7341115f57","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"pcg_cards_intake","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"4de071a7-968e-3a1d-01bb-ae13e8b17fed"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:3865a0ff-d47d-44c7-9ecc-9580bf37be50","mission_step_id":null,"command_center_event_id":"3865a0ff-d47d-44c7-9ecc-9580bf37be50"},{"id":"a28c0a9a-30fe-4c8e-a8f5-e1fc9d254b5d","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-edge-production/live":"pending"},"mainSha":"d673d03e3b2bd0290f305b454503879a199839c3","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"d673d03e3b2bd0290f305b454503879a199839c3","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["operator-respond"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"ca2600882315943f6945e507f37cb6a6412c8b8f7c6f55c5c3dfb0b36e31e619","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/12650","runId":12650,"status":"running","sourceSha":"d673d03e3b2bd0290f305b454503879a199839c3","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T17:33:50.875365+00:00","proof_gate":"canonical_release_pending","source_sha":"d673d03e3b2bd0290f305b454503879a199839c3","external_id":"forgejo-main-d673d03e3b2b","receipt_type":"canonical_release_status","idempotency_key":"mission:8b6ae21f-dbf3-4249-be54-d9f80a5158ae:forgejo-release-status:d673d03e3b2bd0290f305b454503879a199839c3:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"edcb3e85-b1a5-40af-bb7a-b78402ad2492","command_center_event_id":"8b6ae21f-dbf3-4249-be54-d9f80a5158ae"},{"id":"a28cedce-87de-457f-a413-a93ab4a0e433","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/forgejo-source-bundle","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.38.0-forgejo-only-core","prNumber":49,"terminal":false,"missionId":"a774179a-c4e2-4383-9e2c-f8ede733f844","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"096a36148d87618957b86dbe579dc682d595277a","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"a774179a-c4e2-4383-9e2c-f8ede733f844"},"performance":null,"deploymentId":"forgejo-main-096a36148d87","workflowRunId":134,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1850,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-14T19:40:48.061229+00:00","proof_gate":"canonical_release_dispatched","source_sha":"096a36148d87618957b86dbe579dc682d595277a","external_id":"forgejo-main-096a36148d87","receipt_type":"execute_mission","idempotency_key":"mission:a774179a-c4e2-4383-9e2c-f8ede733f844:execute_mission:canonical_release_dispatched","mission_step_id":"ae55c42b-cd46-4093-a0af-977aab63d87b","command_center_event_id":"a774179a-c4e2-4383-9e2c-f8ede733f844"},{"id":"a28f7b11-3c41-4b63-8718-6ec658ce6928","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-da6a16451d75","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1954,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-02T01:04:28.554Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.46-connection-research-human-readable-unknowns","prNumber":null,"terminal":false,"missionId":"da6a1645-1d75-4e29-9f07-822293174d58","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":989,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":280,"providerAuthMs":0,"ledgerPrepareMs":280,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":280,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":280,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"da6a1645-1d75-4e29-9f07-822293174d58"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":9377,"likelyAffectedFiles":["config/paul-owner-profile.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T01:04:28.606532+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:da6a1645-1d75-4e29-9f07-822293174d58:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"2bdb36cc-f0a5-4960-bc17-206bb8df2973","command_center_event_id":"da6a1645-1d75-4e29-9f07-822293174d58"},{"id":"a290b9bf-5a14-4acc-95a7-20c7460cc546","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js","workers/cc-execution/test/mcp.test.js"],"reason":"Remove avoidable serial Forgejo reads from runner inventory and resilience status hot paths.","baseSha":"e2c5fe4076525e83fd1a271bb357fca1365cc511","issuedAt":1790295075344,"expiresAt":1790295255344,"missionId":"59c9bb2b-7aa9-4382-a0a2-202d7cd212b9","authorizationId":"ac93aa08-5e66-43a8-81b4-e98c28bc60db","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T00:11:15.635467+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"e2c5fe4076525e83fd1a271bb357fca1365cc511","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:ac93aa08-5e66-43a8-81b4-e98c28bc60db","mission_step_id":"2c33c9c9-0959-4e2c-a6e5-0b285bda0f0e","command_center_event_id":"59c9bb2b-7aa9-4382-a0a2-202d7cd212b9"},{"id":"a2923274-72d9-4ec9-90ca-4545f303dae4","source":"cc-execution","status":"recorded","payload":{"objective":"IMPLEMENT AND DEPLOY THIS CHANGE NOW: edit the Big Papi's owner dashboard MODES cards so the visible plain-text headings Plan, Pop-Up, Booked Event, and Back Office are removed and replaced by reusable image-based title assets at the top of each card. Create the four title image assets in the repository, wire them into the card component with image elements, preserve the existing card photos/actions/subtitles, keep scope strictly big-papis, then PR, gate, squash merge, deploy, and verify the live /big-papis/owner/dashboard route.","tenantRef":"big-papis","receivedAt":"2026-09-11T21:57:37.163Z","fingerprint":"5686a132e00e35aca6218c8b49f8503af9f90d3e8bc9b06aeeb7efab32505e01","workstreamRef":"bigpapis","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"IMPLEMENT AND DEPLOY THIS CHANGE NOW: edit the Big Papi's owner dashboard MODES cards so the visible plain-text headings Plan, Pop-Up, Booked Event, and Back Office are removed and replaced by reusable image-based title assets at the top of each card. Create the four title image assets in the repository, wire them into the card component with image elements, preserve the existing card photos/actions/subtitles, keep scope strictly big-papis, then PR, gate, squash merge, deploy, and verify the live /big-papis/owner/dashboard route.","wordingChanged":false,"canonicalIntent":"IMPLEMENT AND DEPLOY THIS CHANGE NOW: edit the Big Papi's owner dashboard MODES cards so the visible plain-text headings Plan, Pop-Up, Booked Event, and Back Office are removed and replaced by reusable image-based title assets at the top of each card. Create the four title image assets in the repository, wire them into the card component with image elements, preserve the existing card photos/actions/subtitles, keep scope strictly big-papis, then PR, gate, squash merge, deploy, and verify the live /big-papis/owner/dashboard route.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Production Big Papi's MODES cards use image assets for Plan, Pop-Up, Booked Event, and Back Office headings at the top of the cards, preserving the existing card content and actions.","proofConditionIds":["proof-production"]}],"objective":"IMPLEMENT AND DEPLOY THIS CHANGE NOW: edit the Big Papi's owner dashboard MODES cards so the visible plain-text headings Plan, Pop-Up, Booked Event, and Back Office are removed and replaced by reusable image-based title assets at the top of each card. Create the four title image assets in the repository, wire them into the card component with image elements, preserve the existing card photos/actions/subtitles, keep scope strictly big-papis, then PR, gate, squash merge, deploy, and verify the live /big-papis/owner/dashboard route.","constraints":[{"id":"constraint-1","statement":"Mutate only the big-papis tenant experience.","proofConditionIds":["proof-production"]},{"id":"constraint-2","statement":"Do not change other tenants.","proofConditionIds":["proof-production"]},{"id":"constraint-3","statement":"Do not redesign card bodies or actions.","proofConditionIds":["proof-production"]},{"id":"constraint-4","statement":"Use image assets and img rendering for the visible mode headings.","proofConditionIds":["proof-production"]},{"id":"constraint-5","statement":"Title style: bold brush/script lettering, small gold crown, bright saturated colors, dark outline/shadow, transparent background.","proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"On production /big-papis/owner/dashboard, all four MODES card headings render as image-based brush/crown title art at the top and the old plain heading text is not visible as the card title, while the existing card bodies, actions, and Big Papi's-only scope remain intact.","route":"/big-papis/owner/dashboard","roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":null,"conversationContext":null,"requestContractHash":"07ce40e2c08414f1f145f5d8d635eb9e4561f4c12cf179a94d140908d1ace4a9","requestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-11T21:57:37.651618+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:6acf6026-2379-4faa-831e-78c4c7016cf4:tenant-workstream-contribution:5686a132e00e35aca6218c8b49f8503af9f90d3e8bc9b06aeeb7efab32505e01","mission_step_id":null,"command_center_event_id":"6acf6026-2379-4faa-831e-78c4c7016cf4"},{"id":"a292d4bd-0304-4c01-9969-734ff5b83305","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/visual-witness-app-origin-auth","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":3981,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":4055,"terminal":false,"missionId":"d5e17c5a-223e-4fa5-bb4d-99e190c23b27","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"4bd0ad1e1081a80095bdaa76c10cb65954922d9b","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"d5e17c5a-223e-4fa5-bb4d-99e190c23b27"},"performance":null,"deploymentId":"canonical-release-4bd0ad1e1081","workflowRunId":31015397574,"releaseTargets":{"frontend":false,"onrunner":true,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1952,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-05T14:28:51.934561+00:00","proof_gate":"canonical_release_dispatched","source_sha":"4bd0ad1e1081a80095bdaa76c10cb65954922d9b","external_id":"canonical-release-4bd0ad1e1081","receipt_type":"execute_mission","idempotency_key":"mission:d5e17c5a-223e-4fa5-bb4d-99e190c23b27:execute_mission:canonical_release_dispatched","mission_step_id":"cfbba21d-2140-4484-9a41-427726e016e3","command_center_event_id":"d5e17c5a-223e-4fa5-bb4d-99e190c23b27"},{"id":"a293bfa1-862f-40ef-8103-ada56fecc56c","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":100228,"owner_action_to_pr_ms":5211,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":864},"ownerWaitLiveAt":"2026-09-29T04:30:57.228Z"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T04:30:57.570415+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:28e8a9be-fd09-4bdb-8305-aa9d808467d3:owner-wait-live","mission_step_id":"0f13cb78-d298-42cb-a059-2ab5a149ffa7","command_center_event_id":"28e8a9be-fd09-4bdb-8305-aa9d808467d3"},{"id":"a29442a4-66c4-413f-a1ad-88990a27a0f3","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"1a50b9ea6213d125d6ce749da81832176be7717d","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"1a50b9ea6213d125d6ce749da81832176be7717d","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/263","runId":263,"status":"running","conclusion":null,"failedJobs":[]},"ccExecutionRuntimeProof":{"liveSha":"e32454b355307cbcdbc69052dbbf3d09ffef2f3f","deploymentId":"forgejo-main-e32454b355307cbcdbc69052dbbf3d09ffef2f3f","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.46.1-predictive-reliability-speed-guardrails","containsSourceSha":false}},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T03:42:07.494914+00:00","proof_gate":"canonical_release_pending","source_sha":"1a50b9ea6213d125d6ce749da81832176be7717d","external_id":"forgejo-main-1a50b9ea6213","receipt_type":"canonical_release_status","idempotency_key":"mission:22dea525-8da5-4e23-9745-dad1d8ca4691:forgejo-release-status:1a50b9ea6213d125d6ce749da81832176be7717d:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"b6469eb7-c424-4fce-bf09-39deb1dd34c5","command_center_event_id":"22dea525-8da5-4e23-9745-dad1d8ca4691"},{"id":"a2960ffc-8de7-4fdc-a42c-f2428fa028f2","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"8cb51d0a50b5ca6662b6347af9bc5f744d6f57e1","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8cb51d0a50b5ca6662b6347af9bc5f744d6f57e1","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"1ad08538acb19aab3323de223093e00cbedb9c32f648f881401b0b029a28754d","forgejoWorkflowProof":{"runId":11929,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T23:00:08.920122+00:00","proof_gate":"canonical_release_pending","source_sha":"8cb51d0a50b5ca6662b6347af9bc5f744d6f57e1","external_id":"forgejo-main-8cb51d0a50b5","receipt_type":"canonical_release_status","idempotency_key":"mission:efe81c59-df75-4ed9-b270-98054609505b:forgejo-release-status:8cb51d0a50b5ca6662b6347af9bc5f744d6f57e1:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"58b1dab0-2d24-4e51-8ff6-03eee73c3b9e","command_center_event_id":"efe81c59-df75-4ed9-b270-98054609505b"},{"id":"a2982075-fb9a-4914-84be-d8e84c8c5e64","source":"cc-execution","status":"waiting","payload":{"body":{"branch":"ai/objective-first-repair-d682c46a3f82","approved":true,"missionId":"d682c46a-3f82-4272-b8be-3f509056d1bb","objective":"Continue the existing durable mission using exact structured edits.","repository":"noel/KnockLaunchOS","trackMission":true,"ownerApproved":true,"anchored_edits":[{"path":"workers/cc-execution/src/command-center-contracts.js","edits":[{"new_content":"export function normalizeAnchoredEdits(value) {\n  if (!Array.isArray(value)) return [];\n  const normalized = [];\n  const groupedByPath = new Map();\n  const normalizeEdit = (edit) => {\n    if (!edit || typeof edit !== \"object\" || Array.isArray(edit)) return edit;\n    const oldContent = edit.old_content ?? edit.oldContent ?? edit.oldText ?? edit.anchor ?? edit.find;\n    const newContent = edit.new_content ?? edit.newContent ?? edit.newText ?? edit.replacement ?? edit.replace;\n    if (typeof oldContent !== \"string\" || typeof newContent !== \"string\") return edit;\n    return { old_content: oldContent, new_content: newContent };\n  };\n  for (const entry of value) {\n    if (!entry || typeof entry !== \"object\" || Array.isArray(entry)) {\n      normalized.push(entry);\n      continue;\n    }\n    const path = String(entry.path || \"\").trim();\n    const rawEdits = Array.isArray(entry.edits)\n      ? entry.edits\n      : (() => {\n          const oldContent = entry.old_content ?? entry.oldContent ?? entry.oldText ?? entry.anchor ?? entry.find;\n          const newContent = entry.new_content ?? entry.newContent ?? entry.newText ?? entry.replacement ?? entry.replace;\n          return typeof oldContent === \"string\" && typeof newContent === \"string\"\n            ? [{ old_content: oldContent, new_content: newContent }]\n            : null;\n        })();\n    const edits = rawEdits ? rawEdits.map(normalizeEdit) : null;\n    if (!path || !edits) {\n      normalized.push(entry);\n      continue;\n    }\n    const existing = groupedByPath.get(path);\n    if (existing) {\n      existing.edits.push(...edits);\n      continue;\n    }\n    const grouped = { path, edits: [...edits] };\n    groupedByPath.set(path, grouped);\n    normalized.push(grouped);\n  }\n  return normalized;\n}\n\nexport function normalizeScopedPatchBody(body = {}) {\n  const anchoredInput = Array.isArray(body.anchored_edits)\n    ? body.anchored_edits\n    : Array.isArray(body.anchoredEdits)\n      ? body.anchoredEdits\n      : Array.isArray(body.patches)\n        ? body.patches\n        : null;\n  return {\n    ...body,\n    ...(!body.pr_title && typeof body.title === \"string\" ? { pr_title: body.title } : {}),\n    ...(!body.pr_body && typeof body.body === \"string\" ? { pr_body: body.body } : {}),\n    ...(anchoredInput\n      ? { anchored_edits: normalizeAnchoredEdits(anchoredInput) }\n      : {}),\n  };\n}","old_content":"export function normalizeAnchoredEdits(value) {\n  if (!Array.isArray(value)) return [];\n  const normalized = [];\n  const groupedByPath = new Map();\n  const normalizeEdit = (edit) => {\n    if (!edit || typeof edit !== \"object\" || Array.isArray(edit)) return edit;\n    const oldContent = edit.old_content ?? edit.oldContent ?? edit.anchor ?? edit.find;\n    const newContent = edit.new_content ?? edit.newContent ?? edit.replacement ?? edit.replace;\n    if (typeof oldContent !== \"string\" || typeof newContent !== \"string\") return edit;\n    return { old_content: oldContent, new_content: newContent };\n  };\n  for (const entry of value) {\n    if (!entry || typeof entry !== \"object\" || Array.isArray(entry)) {\n      normalized.push(entry);\n      continue;\n    }\n    const path = String(entry.path || \"\").trim();\n    const rawEdits = Array.isArray(entry.edits)\n      ? entry.edits\n      : (() => {\n          const oldContent = entry.old_content ?? entry.oldContent ?? entry.anchor ?? entry.find;\n          const newContent = entry.new_content ?? entry.newContent ?? entry.replacement ?? entry.replace;\n          return typeof oldContent === \"string\" && typeof newContent === \"string\"\n            ? [{ old_content: oldContent, new_content: newContent }]\n            : null;\n        })();\n    const edits = rawEdits ? rawEdits.map(normalizeEdit) : null;\n    if (!path || !edits) {\n      normalized.push(entry);\n      continue;\n    }\n    const existing = groupedByPath.get(path);\n    if (existing) {\n      existing.edits.push(...edits);\n      continue;\n    }\n    const grouped = { path, edits: [...edits] };\n    groupedByPath.set(path, grouped);\n    normalized.push(grouped);\n  }\n  return normalized;\n}\n\nexport function normalizeScopedPatchBody(body = {}) {\n  return {\n    ...body,\n    ...(!body.pr_title && typeof body.title === \"string\" ? { pr_title: body.title } : {}),\n    ...(!body.pr_body && typeof body.body === \"string\" ? { pr_body: body.body } : {}),\n    ...(Array.isArray(body.anchored_edits)\n      ? { anchored_edits: normalizeAnchoredEdits(body.anchored_edits) }\n      : {}),\n  };\n}"}]}],"update_strategy":"auto","controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"d0c5a2b78481f60679628ac56e9220d9ae420563f66988a7be374008b4b32215","replayCount":0,"serializedBytes":5181},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:51:47.257578+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:d682c46a-3f82-4272-b8be-3f509056d1bb:repository-mutation-intent:d0c5a2b78481f60679628ac56e9220d9ae420563f66988a7be374008b4b32215:0","mission_step_id":"1ef0f21a-8a7e-43eb-91e6-a08f10ee933b","command_center_event_id":"d682c46a-3f82-4272-b8be-3f509056d1bb"},{"id":"a299da4b-5595-4b76-8c59-3d50bf10ab26","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-c54e05f163c7","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3231,"terminal":false,"missionId":"c54e05f1-63c7-4c32-a884-ec3d09b0d61e","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"aaf63dded95df0d732846f600f8f639ba2b566b9","timingsMs":{"prReadinessMs":181,"approvedPlanMs":0,"shipAndProveMs":3550,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"c54e05f1-63c7-4c32-a884-ec3d09b0d61e"},"performance":null,"deploymentId":"forgejo-main-aaf63dded95d","releaseState":"failed","workflowRunId":10111,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime","runtime","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":793,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T19:16:07.74033+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3231","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c54e05f1-63c7-4c32-a884-ec3d09b0d61e:automatic-mission-resume:3231:canonical_release_reconciliation_pending","mission_step_id":"6ce61bc0-1f37-4fff-9091-797bbd62651e","command_center_event_id":"c54e05f1-63c7-4c32-a884-ec3d09b0d61e"},{"id":"a2a13655-1bbb-465f-8011-ee0d30236a61","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-eae2ec9aec65","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.175-repository-source-fastpath","prNumber":null,"terminal":false,"missionId":"eae2ec9a-ec65-4ad6-96da-55182cdbdaed","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":153,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1347,"providerAuthMs":0,"ledgerPrepareMs":1209,"ledgerReconcileMs":0,"lineageReconcileMs":138,"resolvePreflightMs":1347,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1209,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"eae2ec9a-ec65-4ad6-96da-55182cdbdaed"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3530,"likelyAffectedFiles":["supabase/functions/_shared/tenantStorageLayout.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T03:52:18.266151+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:eae2ec9a-ec65-4ad6-96da-55182cdbdaed:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"ca9c025d-1ed5-4498-8ae5-73e86acc0d36","command_center_event_id":"eae2ec9a-ec65-4ad6-96da-55182cdbdaed"},{"id":"a2a75a05-e81b-47ab-bb69-a6ee6835d459","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/pages/card-grading/PCGPublicSite.tsx","content":"import {FormEvent,useEffect,useMemo,useState,type CSSProperties,type ReactNode} from 'react';\nimport {ArrowRight,BarChart3,Clock3,CreditCard,ExternalLink,MapPin,PackageCheck,Phone,Search,ShieldCheck,Sparkles,Store,Truck,type LucideIcon} from 'lucide-react';\nimport {Link} from 'react-router-dom';\nimport {supabase} from '@/integrations/supabase/client';\nimport video0 from './pcgHeroVideoChunk0';\nimport video1 from './pcgHeroVideoChunk1';\nimport video2 from './pcgHeroVideoChunk2';\nimport {PCG_AUTOGRAPH_NOTE,PCG_CARD_THICKNESSES,PCG_GRADING_SCALE,formatPCGGrade} from './pcgGradingScale';\n\nconst HERO_VIDEO='data:video/mp4;base64,'+video0+video1+video2;\ntype PCGPublicPage='home'|'grading'|'verify'|'submit'|'shop'|'contact'|'pop';\ntype Service={id?:string;label?:string;days?:number;price_per_card?:number};\ntype Profile={company_name:string;short_name:string;logo_url:string|null;background_url:string|null;phone:string|null;email:string|null;address:string|null;grading_services:Service[];no_upcharges:boolean;booking_url:string|null;progress_url:string|null;payment_url:string|null;public_cert_lookup:boolean};\ntype Card={id:string;cert_number:string|null;year:string|null;brand_set:string|null;player_character:string|null;card_number:string|null;variation:string|null;card_description:string|null;autograph_present:boolean|null;grade:number|null;grade_label:string|null;front_image_url:string|null;back_image_url:string|null;slab_image_url:string|null;population_count:number|null};\ntype PopulationRow={year:string|null;brand_set:string|null;player_character:string|null;card_number:string|null;variation:string|null;grade:number|null;grade_label:string|null;population:number};\n\nconst BASE='/prestigious-card-grading';\nconst PCG_PUBLIC_HOSTS=new Set(['pcgslab.com','www.pcgslab.com','prestigeouscardgrading.com','www.prestigeouscardgrading.com']);\nconst PAGE_SUFFIX:Record<PCGPublicPage,string>={home:'',grading:'/grading',verify:'/verify',submit:'/submit',shop:'/shop',contact:'/contact',pop:'/pop-report'};\nfunction pcgPath(page:PCGPublicPage){const host=typeof window==='undefined'?'':window.location.hostname.toLowerCase();const suffix=PAGE_SUFFIX[page];return PCG_PUBLIC_HOSTS.has(host)?(suffix||'/'):(BASE+suffix)}\nfunction homeAnchor(id:string){return pcgPath('home')+'#'+id}\nconst FALLBACK_LOGO='https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/tenant-media-library?mode=asset&id=d663baad-dc59-4e01-817d-f53cf79c27a1&variant=original';\nconst FALLBACK_ADDRESS='14170 US Highway 1 · Sebastian, FL 32958';\nconst PROCESS_STEPS:[LucideIcon,string,string][]=[\n  [PackageCheck,'Submit','Choose a service and create the submission for your cards.'],\n  [Search,'Authenticate','PCG verifies the item and inspects the card before grading.'],\n  [BarChart3,'Grade','The card is evaluated against PCG’s published grading scale.'],\n  [ShieldCheck,'Encapsulate','The finished card is sealed in a protective PCG slab.'],\n  [Truck,'Return','Track the order through completion, pickup, or return shipment.'],\n];\nconst PAGE_TITLES:Record<PCGPublicPage,string>={\n  home:'Prestigious Card Grading | Trading Card Grading',\n  grading:'Grading Standards | Prestigious Card Grading',\n  verify:'Verify a PCG Certification | Prestigious Card Grading',\n  submit:'Start a Submission | Prestigious Card Grading',\n  shop:'Card Shop | Prestigious Card Grading',\n  contact:'Contact | Prestigious Card Grading',\n  pop:'Population Report | Prestigious Card Grading',\n};\nfunction money(value:unknown){const n=Number(value);return Number.isFinite(n)?'$'+n.toFixed(n%1?2:0):'—'}\nfunction cardTitle(card:Card){return [card.year,card.brand_set,card.player_character,card.card_number?('#'+card.card_number):null].filter(Boolean).join(' · ')||'PCG graded card'}\nfunction populationTitle(row:PopulationRow){return [row.year,row.brand_set,row.player_character,row.card_number?('#'+row.card_number):null,row.variation].filter(Boolean).join(' · ')||'PCG graded card'}\n\nfunction Frame({page,profile,children}:{page:PCGPublicPage;profile:Profile|null;children:ReactNode}){\n  useEffect(()=>{const previous=document.title;document.title=PAGE_TITLES[page];return()=>{document.title=previous}},[page]);\n  const logo=profile?.logo_url||FALLBACK_LOGO;\n  const phone=profile?.phone||'833-472-4752';\n  const email=profile?.email||'tony@pcgslab.com';\n  const address=profile?.address||FALLBACK_ADDRESS;\n  const backgroundStyle:CSSProperties=profile?.background_url?{\n    backgroundImage:'linear-gradient(180deg,rgba(4,4,5,.72),rgba(4,4,5,.94) 56%,#050506 100%),url(\"'+profile.background_url.replace(/\"/g,'%22')+'\")',\n    backgroundSize:'cover',\n    backgroundPosition:'center top',\n    backgroundAttachment:'fixed',\n  }:{\n    backgroundImage:'radial-gradient(circle at 50% -10%,rgba(226,178,75,.18),transparent 34rem),linear-gradient(180deg,#080706 0%,#050506 58%,#020203 100%)',\n  };\n  return <main data-pcg-public-site=\"true\" className=\"min-h-screen overflow-x-hidden bg-[#050506] pb-20 text-white md:pb-0\" style={backgroundStyle}>\n    <header className=\"sticky top-0 z-50 border-b border-[#d8bb78]/20 bg-[#050506]/92 shadow-[0_12px_40px_rgba(0,0,0,.42)] backdrop-blur-2xl\">\n      <div className=\"mx-auto flex h-[74px] max-w-[1500px] items-center gap-4 px-4 sm:px-6 lg:h-[82px] lg:px-8\">\n        <Link to={pcgPath('home')} className=\"flex min-w-0 shrink-0 items-center gap-3\">\n          <img src={logo} alt=\"Prestigious Card Grading\" className=\"h-12 w-auto max-w-[180px] object-contain drop-shadow-[0_6px_18px_rgba(226,178,75,.18)] lg:h-14 lg:max-w-[230px]\"/>\n        </Link>\n        <nav className=\"ml-auto hidden items-center gap-1 text-xs font-extrabold lg:flex\">\n          <a href={homeAnchor('services')} className=\"rounded-full px-3 py-2 text-white/70 transition hover:bg-white/[.06] hover:text-white\">Services</a>\n          <a href={homeAnchor('pricing')} className=\"rounded-full px-3 py-2 text-white/70 transition hover:bg-white/[.06] hover:text-white\">Pricing</a>\n          <a href={homeAnchor('process')} className=\"rounded-full px-3 py-2 text-white/70 transition hover:bg-white/[.06] hover:text-white\">Process</a>\n          <Link to={pcgPath('pop')} className=\"rounded-full px-3 py-2 text-white/70 transition hover:bg-white/[.06] hover:text-white\">Pop Report</Link>\n          <Link to={pcgPath('verify')} className=\"rounded-full px-3 py-2 text-white/70 transition hover:bg-white/[.06] hover:text-white\">Cert Lookup</Link>\n          <Link to={pcgPath('grading')} className=\"rounded-full px-3 py-2 text-white/70 transition hover:bg-white/[.06] hover:text-white\">Grading Scale</Link>\n        </nav>\n        <Link to={pcgPath('submit')} className=\"ml-auto inline-flex min-h-11 items-center gap-2 rounded-xl border border-[#ffe29a]/50 bg-[linear-gradient(180deg,#f3d27e,#c99935)] px-4 text-xs font-black text-[#140d02] shadow-[0_10px_32px_rgba(212,165,65,.24)] lg:ml-2 lg:px-5\">Submit Cards <ArrowRight className=\"h-4 w-4\"/></Link>\n      </div>\n    </header>\n    {children}\n    <footer className=\"border-t border-[#d8bb78]/20 bg-black/55 backdrop-blur-xl\">\n      <div className=\"mx-auto grid max-w-[1500px] gap-8 px-5 py-10 sm:px-6 md:grid-cols-[1.25fr_.75fr_.75fr] lg:px-8\">\n        <div><img src={logo} alt=\"PCG\" className=\"h-16 w-auto max-w-[250px] object-contain\"/><div className=\"mt-4 text-sm font-black\">{profile?.company_name||'Prestigious Card Grading LLC'}</div><p className=\"mt-2 max-w-md text-xs leading-5 text-white/48\">Family-owned and veteran-operated trading-card grading and authentication in Sebastian, Florida.</p></div>\n        <div className=\"text-xs leading-6 text-white/55\"><div className=\"font-black uppercase tracking-[.18em] text-[#e4c77f]\">Visit</div><div className=\"mt-2\">{address}</div><Link to={pcgPath('contact')} className=\"mt-2 inline-block text-white hover:text-[#e4c77f]\">Contact PCG</Link></div>\n        <div className=\"text-xs leading-6 text-white/55\"><div className=\"font-black uppercase tracking-[.18em] text-[#e4c77f]\">Collector tools</div><Link to={pcgPath('verify')} className=\"mt-2 block hover:text-white\">Cert Lookup</Link><Link to={pcgPath('pop')} className=\"block hover:text-white\">Population Report</Link><Link to={pcgPath('grading')} className=\"block hover:text-white\">Grading Scale</Link><a href={'tel:'+phone.replace(/[^+\\d]/g,'')} className=\"block hover:text-white\">{phone}</a><a href={'mailto:'+email} className=\"block hover:text-white\">{email}</a></div>\n      </div>\n    </footer>\n    <div data-pcg-mobile-actions=\"true\" className=\"fixed inset-x-0 bottom-0 z-50 grid grid-cols-4 gap-px border-t border-[#d8bb78]/20 bg-[#070708]/96 p-2 backdrop-blur-2xl md:hidden\">\n      <Link to={pcgPath('verify')} className=\"grid min-h-12 place-items-center rounded-lg bg-white/[.05] px-2 text-center text-[10px] font-black\">Verify</Link>\n      <Link to={pcgPath('pop')} className=\"grid min-h-12 place-items-center rounded-lg bg-white/[.05] px-2 text-center text-[10px] font-black\">Pop Report</Link>\n      <Link to={pcgPath('submit')} className=\"grid min-h-12 place-items-center rounded-lg bg-[linear-gradient(180deg,#f3d27e,#c99935)] px-2 text-center text-[10px] font-black text-black\">Submit</Link>\n      {profile?.progress_url?<a href={profile.progress_url} className=\"grid min-h-12 place-items-center rounded-lg bg-white/[.05] px-2 text-center text-[10px] font-black\">Track</a>:<Link to={pcgPath('contact')} className=\"grid min-h-12 place-items-center rounded-lg bg-white/[.05] px-2 text-center text-[10px] font-black\">Contact</Link>}\n    </div>\n  </main>\n}\n\nfunction SectionHeading({eyebrow,title,copy,right}:{eyebrow:string;title:string;copy?:string;right?:ReactNode}){\n  return <div className=\"mb-7 flex flex-col gap-4 md:flex-row md:items-end md:justify-between\"><div className=\"max-w-3xl\"><div className=\"text-[10px] font-black uppercase tracking-[.25em] text-[#e4c77f]\">{eyebrow}</div><h2 className=\"mt-2 font-serif text-3xl font-black tracking-[-.035em] text-white sm:text-4xl lg:text-5xl\">{title}</h2>{copy?<p className=\"mt-3 max-w-2xl text-sm leading-6 text-white/50 sm:text-base\">{copy}</p>:null}</div>{right}</div>\n}\n\nfunction ServiceGrid({profile}:{profile:Profile|null}){\n  const services=profile?.grading_services||[];\n  if(!services.length)return <div className=\"rounded-2xl border border-[#d8bb78]/20 bg-black/55 p-7 shadow-[0_18px_50px_rgba(0,0,0,.28)]\"><div className=\"text-lg font-black\">PCG service pricing is being finalized.</div><p className=\"mt-2 text-sm leading-6 text-white/50\">Start a submission or contact PCG for the current grading options. No placeholder pricing is shown here.</p><Link to={pcgPath('submit')} className=\"mt-5 inline-flex items-center gap-2 rounded-xl bg-[#e4c77f] px-5 py-3 text-sm font-black text-black\">Start Submission <ArrowRight className=\"h-4 w-4\"/></Link></div>;\n  return <div className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-4\">{services.map((service,index)=><article key={service.id||service.label||String(index)} className=\"relative overflow-hidden rounded-2xl border border-[#d8bb78]/25 bg-[linear-gradient(160deg,rgba(218,177,88,.12),rgba(0,0,0,.78)_44%)] p-6 shadow-[0_24px_70px_rgba(0,0,0,.30)]\"><div className=\"absolute inset-x-0 top-0 h-px bg-[linear-gradient(90deg,transparent,#ffe6a3,transparent)]\"/><div className=\"text-[10px] font-black uppercase tracking-[.18em] text-white/45\">{service.label||'Grading service'}</div><div className=\"mt-3 text-4xl font-black text-[#f1d58e]\">{money(service.price_per_card)}</div><div className=\"mt-1 text-xs text-white/45\">per card{service.days===0?' · same day':service.days?(' · '+service.days+' day'+(service.days===1?'':'s')):''}</div></article>)}</div>\n}\n\nfunction Home({profile,featured}:{profile:Profile|null;featured:Card[]}){\n  const logo=profile?.logo_url||FALLBACK_LOGO;\n  const prices=(profile?.grading_services||[]).map(service=>Number(service.price_per_card)).filter(value=>Number.isFinite(value)&&value>0);\n  const lowest=prices.length?Math.min(...prices):null;\n  const heroCards=featured.slice(0,3);\n  return <Frame page=\"home\" profile={profile}>\n    <section className=\"relative isolate overflow-hidden border-b border-[#d8bb78]/20\">\n      <div className=\"absolute inset-0 -z-10 bg-[radial-gradient(circle_at_65%_18%,rgba(226,178,75,.18),transparent_28rem),linear-gradient(90deg,rgba(3,3,4,.94)_0%,rgba(3,3,4,.82)_50%,rgba(3,3,4,.55)_100%)]\"/>\n      <div className=\"mx-auto grid min-h-[620px] max-w-[1500px] items-center gap-9 px-5 py-14 sm:px-6 lg:grid-cols-[minmax(0,.9fr)_minmax(520px,1.1fr)] lg:px-8 lg:py-16\">\n        <div className=\"relative z-10\">\n          <div className=\"inline-flex items-center gap-2 rounded-full border border-[#d8bb78]/25 bg-black/45 px-4 py-2 text-[10px] font-black uppercase tracking-[.24em] text-[#e4c77f]\"><Sparkles className=\"h-4 w-4\"/>Trading cards. Higher standards.</div>\n          <h1 className=\"mt-6 max-w-3xl font-serif text-5xl font-black leading-[.88] tracking-[-.055em] sm:text-7xl lg:text-[86px]\">\n            <span className=\"block text-white\">GRADE WITH</span>\n            <span className=\"block\" style={{backgroundImage:'linear-gradient(180deg,#fff4c7 0%,#efc968 42%,#a76f18 100%)',WebkitBackgroundClip:'text',backgroundClip:'text',color:'transparent'}}>PRESTIGE</span>\n          </h1>\n          <p className=\"mt-6 max-w-2xl text-base leading-7 text-white/68 sm:text-lg\">Professional trading-card grading and authentication from a family-owned, veteran-operated company in Sebastian, Florida. Submit, track, verify, and research PCG cards from one clear collector experience.</p>\n          <div className=\"mt-8 flex flex-wrap gap-3\">\n            <Link to={pcgPath('submit')} className=\"inline-flex min-h-13 items-center gap-2 rounded-xl bg-[linear-gradient(180deg,#f4d786,#c99734)] px-6 py-3.5 text-sm font-black text-black shadow-[0_14px_42px_rgba(221,174,70,.28)]\">Start Submission <ArrowRight className=\"h-4 w-4\"/></Link>\n            {profile?.progress_url?<a href={profile.progress_url} className=\"inline-flex min-h-13 items-center gap-2 rounded-xl border border-[#d8bb78]/28 bg-black/45 px-6 py-3.5 text-sm font-black text-white\">Track Order <PackageCheck className=\"h-4 w-4\"/></a>:<Link to={pcgPath('contact')} className=\"inline-flex min-h-13 items-center gap-2 rounded-xl border border-[#d8bb78]/28 bg-black/45 px-6 py-3.5 text-sm font-black text-white\">Contact PCG</Link>}\n          </div>\n        </div>\n        <div className=\"relative mx-auto w-full max-w-[760px]\">\n          <div className=\"relative overflow-hidden rounded-[30px] border border-[#d8bb78]/30 bg-black/70 p-2 shadow-[0_38px_120px_rgba(0,0,0,.60)]\">\n            <div className=\"relative aspect-[16/10] overflow-hidden rounded-[23px]\">\n              <video src={HERO_VIDEO} autoPlay muted loop playsInline preload=\"metadata\" className=\"h-full w-full object-cover opacity-80 motion-reduce:hidden\"/>\n              <div className=\"absolute inset-0 bg-[linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.35)),radial-gradient(circle_at_50%_50%,transparent_20%,rgba(0,0,0,.38)_100%)]\"/>\n              <div className=\"absolute inset-0 grid place-items-center p-8\"><img src={logo} alt=\"Prestigious Card Grading\" className=\"w-[72%] max-w-[470px] object-contain drop-shadow-[0_16px_28px_rgba(0,0,0,.75)]\"/></div>\n            </div>\n          </div>\n          {heroCards.length?<div className=\"pointer-events-none absolute -bottom-8 left-1/2 hidden w-[88%] -translate-x-1/2 justify-center gap-3 xl:flex\">{heroCards.map(card=>{const image=card.slab_image_url||card.front_image_url||card.back_image_url;return image?<div key={card.id} className=\"w-[29%] overflow-hidden rounded-xl border border-[#d8bb78]/30 bg-black/80 p-2 shadow-2xl\"><img src={image} alt={cardTitle(card)} className=\"aspect-[3/4] w-full object-contain\"/></div>:null})}</div>:null}\n        </div>\n      </div>\n    </section>\n\n    <section className=\"border-b border-[#d8bb78]/20 bg-black/55\">\n      <div className=\"mx-auto grid max-w-[1500px] grid-cols-2 gap-px bg-[#d8bb78]/15 md:grid-cols-4\">\n        <div className=\"bg-[#070708]/95 px-5 py-5\"><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#e4c77f]\">Official standards</div><div className=\"mt-1 text-sm font-black\">Published PCG grading scale</div></div>\n        <div className=\"bg-[#070708]/95 px-5 py-5\"><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#e4c77f]\">Collector tools</div><div className=\"mt-1 text-sm font-black\">Cert lookup + Pop Report</div></div>\n        <div className=\"bg-[#070708]/95 px-5 py-5\"><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#e4c77f]\">Service pricing</div><div className=\"mt-1 text-sm font-black\">{lowest!=null?'From '+money(lowest)+' per card':'Live PCG service tiers'}</div></div>\n        <div className=\"bg-[#070708]/95 px-5 py-5\"><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#e4c77f]\">Sebastian, Florida</div><div className=\"mt-1 text-sm font-black\">Storefront · drop-off · mail-in</div></div>\n      </div>\n    </section>\n\n    <section id=\"process\" className=\"mx-auto max-w-[1500px] px-5 py-16 sm:px-6 lg:px-8\">\n      <SectionHeading eyebrow=\"Our process\" title=\"Simple. Secure. Prestigious.\" copy=\"A clear path from submission to the finished slab, with order tracking kept separate from the grading record.\" right={<Link to={pcgPath('grading')} className=\"text-sm font-black text-[#e4c77f]\">See grading standards →</Link>}/>\n      <div className=\"grid gap-4 md:grid-cols-5\">{PROCESS_STEPS.map(([Icon,title,copy],index)=><article key={title} className=\"relative min-h-[230px] rounded-2xl border border-[#d8bb78]/20 bg-black/55 p-5 shadow-[0_20px_55px_rgba(0,0,0,.24)]\"><div className=\"flex items-center justify-between\"><div className=\"grid h-11 w-11 place-items-center rounded-xl border border-[#e4c77f]/30 bg-[#e4c77f]/10\"><Icon className=\"h-5 w-5 text-[#e4c77f]\"/></div><span className=\"text-2xl font-black text-[#e4c77f]/35\">0{index+1}</span></div><h3 className=\"mt-5 text-lg font-black\">{title}</h3><p className=\"mt-2 text-sm leading-6 text-white/48\">{copy}</p></article>)}</div>\n    </section>\n\n    <section id=\"services\" className=\"border-y border-[#d8bb78]/20 bg-black/42\">\n      <div className=\"mx-auto max-w-[1500px] px-5 py-16 sm:px-6 lg:px-8\">\n        <SectionHeading eyebrow=\"Powerful tools for collectors\" title=\"Everything important is one click away.\" copy=\"The strongest grading sites make the core collector jobs obvious. PCG now does the same without burying them in a maze.\"/>\n        <div className=\"grid gap-4 md:grid-cols-2 xl:grid-cols-4\">\n          <Link to={pcgPath('verify')} className=\"group rounded-2xl border border-[#d8bb78]/20 bg-[linear-gradient(155deg,rgba(225,183,88,.13),rgba(0,0,0,.72)_48%)] p-6 transition hover:-translate-y-1 hover:border-[#d8bb78]/45\"><Search className=\"h-7 w-7 text-[#e4c77f]\"/><h3 className=\"mt-5 text-xl font-black\">Cert Verification</h3><p className=\"mt-2 text-sm leading-6 text-white/48\">Look up a PCG certification number and verify the public slab record.</p><span className=\"mt-6 inline-flex items-center gap-2 text-xs font-black text-[#e4c77f]\">Verify a cert <ArrowRight className=\"h-4 w-4\"/></span></Link>\n          <Link to={pcgPath('pop')} className=\"group rounded-2xl border border-[#d8bb78]/20 bg-[linear-gradient(155deg,rgba(225,183,88,.13),rgba(0,0,0,.72)_48%)] p-6 transition hover:-translate-y-1 hover:border-[#d8bb78]/45\"><BarChart3 className=\"h-7 w-7 text-[#e4c77f]\"/><h3 className=\"mt-5 text-xl font-black\">Population Report</h3><p className=\"mt-2 text-sm leading-6 text-white/48\">Search PCG population data by card identity and grade, including “10 Pop 1” style results.</p><span className=\"mt-6 inline-flex items-center gap-2 text-xs font-black text-[#e4c77f]\">View Pop Report <ArrowRight className=\"h-4 w-4\"/></span></Link>\n          <a href={homeAnchor('pricing')} className=\"group rounded-2xl border border-[#d8bb78]/20 bg-[linear-gradient(155deg,rgba(225,183,88,.13),rgba(0,0,0,.72)_48%)] p-6 transition hover:-translate-y-1 hover:border-[#d8bb78]/45\"><CreditCard className=\"h-7 w-7 text-[#e4c77f]\"/><h3 className=\"mt-5 text-xl font-black\">Pricing & Services</h3><p className=\"mt-2 text-sm leading-6 text-white/48\">See the actual PCG service tiers configured for submissions—no invented package pricing.</p><span className=\"mt-6 inline-flex items-center gap-2 text-xs font-black text-[#e4c77f]\">View pricing <ArrowRight className=\"h-4 w-4\"/></span></a>\n          <Link to={pcgPath('grading')} className=\"group rounded-2xl border border-[#d8bb78]/20 bg-[linear-gradient(155deg,rgba(225,183,88,.13),rgba(0,0,0,.72)_48%)] p-6 transition hover:-translate-y-1 hover:border-[#d8bb78]/45\"><ShieldCheck className=\"h-7 w-7 text-[#e4c77f]\"/><h3 className=\"mt-5 text-xl font-black\">Grading Scale</h3><p className=\"mt-2 text-sm leading-6 text-white/48\">Read PCG’s actual grading designations and card-thickness support.</p><span className=\"mt-6 inline-flex items-center gap-2 text-xs font-black text-[#e4c77f]\">View grading scale <ArrowRight className=\"h-4 w-4\"/></span></Link>\n        </div>\n      </div>\n    </section>\n\n    <section id=\"pricing\" className=\"mx-auto max-w-[1500px] px-5 py-16 sm:px-6 lg:px-8\">\n      <SectionHeading eyebrow=\"Pricing & services\" title=\"Options for every collector.\" copy=\"Pricing is pulled from PCG’s configured grading services. If Anthony changes the canonical service menu, the site follows it instead of drifting.\" right={<Link to={pcgPath('submit')} className=\"text-sm font-black text-[#e4c77f]\">Start submission →</Link>}/>\n      <ServiceGrid profile={profile}/>\n      {profile?.no_upcharges?<div className=\"mt-5 inline-flex items-center gap-2 rounded-full border border-emerald-300/20 bg-emerald-300/[.06] px-4 py-2 text-xs font-black text-emerald-200\"><ShieldCheck className=\"h-4 w-4\"/>No up-charges on the configured PCG pricing policy</div>:null}\n    </section>\n\n    <section className=\"border-y border-[#d8bb78]/20 bg-black/48\">\n      <div className=\"mx-auto max-w-[1500px] px-5 py-16 sm:px-6 lg:px-8\">\n        <SectionHeading eyebrow=\"Featured graded cards\" title=\"Real PCG slabs. Real records.\" copy=\"This showcase uses published images from PCG’s own card records. No competitor slabs and no fabricated showcase cards.\" right={<Link to={pcgPath('verify')} className=\"text-sm font-black text-[#e4c77f]\">Verify a certification →</Link>}/>\n        {featured.length?<div className=\"grid grid-cols-2 gap-4 md:grid-cols-4 xl:grid-cols-6\">{featured.slice(0,12).map(card=>{const image=card.slab_image_url||card.front_image_url||card.back_image_url;return <article key={card.id} className=\"group overflow-hidden rounded-2xl border border-[#d8bb78]/20 bg-black/65 p-3 transition hover:-translate-y-1 hover:border-[#d8bb78]/45\">{image?<div className=\"overflow-hidden rounded-xl bg-black/45\"><img src={image} alt={cardTitle(card)} className=\"aspect-[3/4] w-full object-contain transition duration-300 group-hover:scale-[1.02]\"/></div>:<div className=\"grid aspect-[3/4] place-items-center rounded-xl border border-white/10 text-xs text-white/30\">Image pending</div>}<div className=\"mt-3 line-clamp-2 text-xs font-black leading-5\">{cardTitle(card)}</div><div className=\"mt-2 flex items-center justify-between text-[10px] text-white/42\"><span>{card.cert_number?'Cert '+card.cert_number:'PCG record'}</span><span className=\"font-black text-[#e4c77f]\">{formatPCGGrade(card.grade,card.grade_label)}</span></div></article>})}</div>:<div className=\"rounded-2xl border border-[#d8bb78]/20 bg-black/55 p-8 text-sm leading-6 text-white/50\">Published slab imagery will appear here automatically as PCG card records include public slab photos. The site will not substitute fake showcase cards.</div>}\n      </div>\n    </section>\n\n    <section className=\"mx-auto grid max-w-[1500px] gap-6 px-5 py-16 sm:px-6 lg:grid-cols-[1.1fr_.9fr] lg:px-8\">\n      <div className=\"rounded-[26px] border border-[#d8bb78]/20 bg-[linear-gradient(140deg,rgba(218,177,88,.13),rgba(0,0,0,.72)_42%)] p-7 sm:p-9\"><div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#e4c77f]\">About PCG</div><h2 className=\"mt-3 font-serif text-3xl font-black sm:text-4xl\">Built for collectors who want clarity.</h2><p className=\"mt-4 max-w-2xl text-sm leading-7 text-white/56\">Prestigious Card Grading is a family-owned and veteran-operated grading and authentication company with a Sebastian, Florida storefront. The public site keeps the important jobs—submission, grading standards, certification lookup, population data, and order progress—easy to find.</p></div>\n      <div className=\"rounded-[26px] border border-[#d8bb78]/20 bg-black/60 p-7 sm:p-9\"><div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#e4c77f]\">Ready to grade?</div><h2 className=\"mt-3 text-3xl font-black\">Put the cards on the PCG bench.</h2><div className=\"mt-6 flex flex-wrap gap-3\"><Link to={pcgPath('submit')} className=\"inline-flex items-center gap-2 rounded-xl bg-[#e4c77f] px-5 py-3 text-sm font-black text-black\">Submit cards <ArrowRight className=\"h-4 w-4\"/></Link><Link to={pcgPath('contact')} className=\"rounded-xl border border-white/14 bg-white/[.04] px-5 py-3 text-sm font-black\">Contact PCG</Link></div></div>\n    </section>\n  </Frame>\n}\n\nfunction Grading({profile}:{profile:Profile|null}){return <Frame page=\"grading\" profile={profile}><section className=\"mx-auto max-w-[1300px] px-5 py-16 sm:px-6 lg:px-8\"><div className=\"max-w-3xl\"><div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#e4c77f]\">PCG grading standards</div><h1 className=\"mt-3 font-serif text-5xl font-black tracking-[-.05em] sm:text-6xl\">The official PCG grading scale.</h1><p className=\"mt-5 text-base leading-7 text-white/55\">PCG evaluates card quality using the published designations below. {PCG_AUTOGRAPH_NOTE}</p><div className=\"mt-4 text-xs font-bold uppercase tracking-[.12em] text-white/38\">Supported card sizes · {PCG_CARD_THICKNESSES.join(' · ')}</div></div><section className=\"mt-12\"><div className=\"grid gap-3 md:grid-cols-2\">{PCG_GRADING_SCALE.map(item=><details key={item.id} className=\"group rounded-2xl border border-[#d8bb78]/18 bg-black/55 p-5 open:border-[#d8bb78]/36 open:bg-black/70\"><summary className=\"cursor-pointer list-none text-lg font-black text-white marker:hidden\">{item.designation}</summary><p className=\"mt-3 text-sm leading-6 text-white/50\">{item.criteria||'PCG’s published page does not currently provide usable criteria text for this designation.'}</p></details>)}</div></section></section></Frame>}\n\nfunction Verify({profile}:{profile:Profile|null}){const[cert,setCert]=useState('');const[card,setCard]=useState<Card|null>(null);const[busy,setBusy]=useState(false);const[error,setError]=useState('');async function submit(event:FormEvent){event.preventDefault();if(!cert.trim()||busy)return;setBusy(true);setError('');setCard(null);try{const{data,error:fnError}=await supabase.functions.invoke('pcg-customer-progress',{body:{action:'cert_lookup',tenant_slug:'pcg',cert_number:cert.trim()}});if(fnError||!data?.ok)throw new Error(data?.error||fnError?.message||'Certification lookup failed.');setCard(data.data.card)}catch(e){setError(e instanceof Error?e.message:String(e))}finally{setBusy(false)}}const image=card?.slab_image_url||card?.front_image_url||card?.back_image_url;return <Frame page=\"verify\" profile={profile}><section className=\"mx-auto max-w-5xl px-5 py-16 sm:px-6 lg:px-8\"><div className=\"max-w-3xl\"><div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#e4c77f]\">PCG certification</div><h1 className=\"mt-3 font-serif text-5xl font-black tracking-[-.05em] sm:text-6xl\">Verify the slab.</h1><p className=\"mt-4 text-base text-white/52\">Enter the PCG certification number printed on the label.</p></div><form onSubmit={submit} className=\"mt-8 grid gap-3 sm:grid-cols-[1fr_auto]\"><input value={cert} onChange={event=>setCert(event.target.value)} placeholder=\"PCG certification number\" className=\"h-14 rounded-xl border border-[#d8bb78]/22 bg-black/55 px-4 text-lg font-bold outline-none focus:border-[#d8bb78]/60\"/><button disabled={busy||!cert.trim()} className=\"inline-flex h-14 items-center justify-center gap-2 rounded-xl bg-[#e4c77f] px-6 font-black text-black disabled:opacity-40\"><Search className=\"h-4 w-4\"/>{busy?'Checking…':'Verify'}</button></form>{error?<div className=\"mt-5 rounded-xl border border-amber-300/20 bg-amber-300/[.06] p-4 text-sm text-amber-100\">{error}</div>:null}{card?<div className=\"mt-8 grid gap-6 rounded-[26px] border border-[#d8bb78]/20 bg-black/58 p-5 sm:p-7 md:grid-cols-[minmax(220px,.7fr)_1.3fr]\">{image?<img src={image} alt=\"Verified PCG graded card\" className=\"max-h-[560px] w-full rounded-xl object-contain\"/>:<div className=\"grid min-h-72 place-items-center rounded-xl border border-white/10 text-sm text-white/30\">No public card image</div>}<div><div className=\"text-[10px] font-black uppercase tracking-[.18em] text-emerald-300\">Verified PCG record</div><div className=\"mt-3 text-4xl font-black text-[#e4c77f] sm:text-5xl\">{formatPCGGrade(card.grade,card.grade_label)}</div><div className=\"mt-1 text-xs uppercase tracking-[.15em] text-white/35\">Official PCG designation</div><h2 className=\"mt-6 text-2xl font-black\">{cardTitle(card)}</h2><div className=\"mt-4 space-y-2 text-sm text-white/52\"><div><span className=\"text-white/28\">Cert</span> · {card.cert_number}</div>{card.card_number?<div><span className=\"text-white/28\">Card #</span> · {card.card_number}</div>:null}{card.variation?<div><span className=\"text-white/28\">Variation</span> · {card.variation}</div>:null}{card.population_count!=null?<div><span className=\"text-white/28\">Population</span> · {card.population_count}</div>:null}</div></div></div>:null}</section></Frame>}\n\nfunction PopulationReport({profile}:{profile:Profile|null}){const[query,setQuery]=useState('');const[rows,setRows]=useState<PopulationRow[]>([]);const[busy,setBusy]=useState(false);const[error,setError]=useState('');async function load(term:string){setBusy(true);setError('');try{const{data,error:fnError}=await supabase.functions.invoke('pcg-customer-progress',{body:{action:'population_report',tenant_slug:'pcg',query:term}});if(fnError||!data?.ok)throw new Error(data?.error||fnError?.message||'Population report failed.');setRows(Array.isArray(data?.data?.rows)?data.data.rows:[])}catch(e){setError(e instanceof Error?e.message:String(e));setRows([])}finally{setBusy(false)}}useEffect(()=>{void load('')},[]);async function submit(event:FormEvent){event.preventDefault();await load(query.trim())}return <Frame page=\"pop\" profile={profile}><section className=\"mx-auto max-w-[1200px] px-5 py-16 sm:px-6 lg:px-8\"><div className=\"max-w-3xl\"><div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#e4c77f]\">PCG Population Report</div><h1 className=\"mt-3 font-serif text-5xl font-black tracking-[-.05em] sm:text-6xl\">Know how many made the grade.</h1><p className=\"mt-4 text-base leading-7 text-white/52\">Search by player or character, set, year, card number, or variation. PCG groups actual graded-card records by card identity and grade.</p></div><form onSubmit={submit} className=\"mt-8 grid gap-3 sm:grid-cols-[1fr_auto]\"><input value={query} onChange={event=>setQuery(event.target.value)} placeholder=\"Search player, Pokémon, set, year, card #…\" className=\"h-14 rounded-xl border border-[#d8bb78]/22 bg-black/55 px-4 text-base font-bold outline-none focus:border-[#d8bb78]/60\"/><button disabled={busy} className=\"inline-flex h-14 items-center justify-center gap-2 rounded-xl bg-[#e4c77f] px-6 font-black text-black disabled:opacity-50\"><Search className=\"h-4 w-4\"/>{busy?'Searching…':'Search Pop Report'}</button></form>{error?<div className=\"mt-5 rounded-xl border border-amber-300/20 bg-amber-300/[.06] p-4 text-sm text-amber-100\">{error}</div>:null}<div className=\"mt-8 overflow-hidden rounded-[24px] border border-[#d8bb78]/20 bg-black/55\">{rows.length?rows.map((row,index)=><article key={populationTitle(row)+'-'+String(row.grade)+'-'+String(index)} className=\"grid gap-3 border-b border-white/[.07] p-5 last:border-b-0 md:grid-cols-[1fr_auto] md:items-center\"><div><div className=\"text-sm font-black sm:text-base\">{populationTitle(row)}</div><div className=\"mt-1 text-xs text-white/38\">PCG population record</div></div><div className=\"flex items-center gap-3 md:justify-end\"><span className=\"rounded-full border border-[#d8bb78]/20 bg-[#d8bb78]/[.08] px-3 py-1.5 text-xs font-black text-[#e4c77f]\">{formatPCGGrade(row.grade,row.grade_label)}</span><span className=\"min-w-[88px] rounded-xl bg-[#e4c77f] px-3 py-2 text-center text-sm font-black text-black\">POP {row.population}</span></div></article>):<div className=\"p-7 text-sm text-white/48\">{busy?'Loading population data…':'No graded PCG population records matched this search.'}</div>}</div></section></Frame>}\n\nfunction Submit({profile}:{profile:Profile|null}){const booking=profile?.booking_url,payment=profile?.payment_url;return <Frame page=\"submit\" profile={profile}><section className=\"mx-auto max-w-[1300px] px-5 py-16 sm:px-6 lg:px-8\"><div className=\"grid gap-12 lg:grid-cols-[.9fr_1.1fr]\"><div><div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#e4c77f]\">Start a submission</div><h1 className=\"mt-3 font-serif text-5xl font-black tracking-[-.05em] sm:text-6xl\">Get your cards onto the PCG bench.</h1><p className=\"mt-5 max-w-xl text-base leading-7 text-white/52\">Choose the current service, prepare the cards securely, and use PCG’s submission channel for drop-off or mail-in grading.</p><div className=\"mt-8 flex flex-wrap gap-3\">{booking?<a href={booking} className=\"inline-flex items-center gap-2 rounded-xl bg-[#e4c77f] px-6 py-3.5 text-sm font-black text-black\">Start submission <ExternalLink className=\"h-4 w-4\"/></a>:<Link to={pcgPath('contact')} className=\"rounded-xl bg-[#e4c77f] px-6 py-3.5 text-sm font-black text-black\">Contact PCG to submit</Link>}{payment?<a href={payment} target=\"_blank\" rel=\"noreferrer\" className=\"inline-flex items-center gap-2 rounded-xl border border-white/15 bg-black/35 px-6 py-3.5 text-sm font-black\">Secure checkout <ExternalLink className=\"h-4 w-4\"/></a>:null}</div></div><div className=\"grid gap-4 sm:grid-cols-2\">{[[PackageCheck,'1. Choose service','Select the grading service that fits the submission.'],[ShieldCheck,'2. Protect each card','Package each card securely for transport.'],[Truck,'3. Mail or visit','Ship to or visit the Sebastian PCG storefront.'],[CreditCard,'4. Complete the submission','Use the active PCG submission and payment workflow.']].map(([Icon,title,copy]:any)=><article key={title} className=\"rounded-2xl border border-[#d8bb78]/20 bg-black/55 p-6\"><Icon className=\"h-6 w-6 text-[#e4c77f]\"/><h2 className=\"mt-5 text-lg font-black\">{title}</h2><p className=\"mt-2 text-sm leading-6 text-white/46\">{copy}</p></article>)}</div></div><div className=\"mt-12 rounded-2xl border border-[#d8bb78]/25 bg-[#d8bb78]/[.07] p-6\"><div className=\"text-[10px] font-black uppercase tracking-[.18em] text-[#e4c77f]\">Mail / drop-off</div><div className=\"mt-3 text-xl font-black\">Prestigious Card Grading</div><div className=\"mt-2 text-sm text-white/55\">{profile?.address||FALLBACK_ADDRESS}</div></div></section></Frame>}\n\nfunction Shop({profile}:{profile:Profile|null}){return <Frame page=\"shop\" profile={profile}><section className=\"mx-auto max-w-[1300px] px-5 py-20 sm:px-6 lg:px-8\"><div className=\"flex items-center gap-2 text-[10px] font-black uppercase tracking-[.22em] text-[#e4c77f]\"><Store className=\"h-4 w-4\"/>Sebastian storefront</div><h1 className=\"mt-4 max-w-3xl font-serif text-5xl font-black tracking-[-.05em] sm:text-7xl\">Grading and collecting under one roof.</h1><p className=\"mt-5 max-w-xl text-base leading-7 text-white/55\">Visit the PCG storefront for grading services and collector inventory.</p><Link to={pcgPath('contact')} className=\"mt-8 inline-flex rounded-xl bg-white px-5 py-3 text-sm font-black text-black\">Visit PCG</Link></section></Frame>}\n\nfunction Contact({profile}:{profile:Profile|null}){const phone=profile?.phone||'833-472-4752',email=profile?.email||'tony@pcgslab.com';return <Frame page=\"contact\" profile={profile}><section className=\"mx-auto max-w-[1300px] px-5 py-16 sm:px-6 lg:px-8\"><div className=\"max-w-3xl\"><div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#e4c77f]\">Contact PCG</div><h1 className=\"mt-3 font-serif text-5xl font-black tracking-[-.05em] sm:text-6xl\">Questions, drop-offs, mail-ins — PCG is here.</h1></div><div className=\"mt-10 grid gap-4 md:grid-cols-3\">{[[MapPin,'Location',profile?.address||FALLBACK_ADDRESS],[Phone,'Phone',phone],[ShieldCheck,'Customer portal','Track a grading order securely through WhatsMyProgress.']].map(([Icon,title,copy]:any)=><article key={title} className=\"rounded-2xl border border-[#d8bb78]/20 bg-black/55 p-6\"><Icon className=\"h-6 w-6 text-[#e4c77f]\"/><h2 className=\"mt-5 text-lg font-black\">{title}</h2><p className=\"mt-2 text-sm leading-6 text-white/48\">{copy}</p></article>)}</div><div className=\"mt-8 flex flex-wrap gap-3\"><a href={'tel:'+phone.replace(/[^+\\d]/g,'')} className=\"rounded-xl bg-[#e4c77f] px-6 py-3.5 text-sm font-black text-black\">Call PCG</a><a href={'mailto:'+email} className=\"rounded-xl border border-white/15 bg-black/35 px-6 py-3.5 text-sm font-black\">Email PCG</a>{profile?.progress_url?<a href={profile.progress_url} className=\"rounded-xl border border-white/15 bg-black/35 px-6 py-3.5 text-sm font-black\">Check progress</a>:null}</div></section></Frame>}\n\nexport default function PCGPublicSite({page='home'}:{page?:PCGPublicPage}){\n  const[profile,setProfile]=useState<Profile|null>(null);\n  const[featured,setFeatured]=useState<Card[]>([]);\n  const[loading,setLoading]=useState(true);\n  useEffect(()=>{let cancelled=false;void Promise.all([\n    supabase.functions.invoke('pcg-customer-progress',{body:{action:'public_profile',tenant_slug:'pcg'}}),\n    supabase.functions.invoke('pcg-customer-progress',{body:{action:'featured_cards',tenant_slug:'pcg'}}),\n  ]).then(([profileResponse,featuredResponse])=>{if(cancelled)return;if(profileResponse.data?.ok)setProfile(profileResponse.data.data||null);if(featuredResponse.data?.ok&&Array.isArray(featuredResponse.data?.data?.cards))setFeatured(featuredResponse.data.data.cards)}).finally(()=>{if(!cancelled)setLoading(false)});return()=>{cancelled=true}},[]);\n  const fallback=useMemo<Profile|null>(()=>profile,[profile]);\n  if(loading&&!fallback)return <main className=\"grid min-h-screen place-items-center bg-[#050506] text-white\"><div className=\"text-center\"><img src={FALLBACK_LOGO} alt=\"PCG\" className=\"mx-auto h-20 w-auto max-w-[260px] animate-pulse object-contain\"/><div className=\"mt-4 text-xs font-black uppercase tracking-[.2em] text-[#e4c77f]\">Loading PCG</div></div></main>;\n  if(page==='grading')return <Grading profile={fallback}/>;\n  if(page==='verify')return <Verify profile={fallback}/>;\n  if(page==='pop')return <PopulationReport profile={fallback}/>;\n  if(page==='submit')return <Submit profile={fallback}/>;\n  if(page==='shop')return <Shop profile={fallback}/>;\n  if(page==='contact')return <Contact profile={fallback}/>;\n  return <Home profile={fallback} featured={featured}/>;\n}"},{"path":"src/routes/appRouteClassifier.ts","content":"import { BIG_PAPIS_OWNER_BASE_PATH } from '@/lib/tenantUtils';\nimport { VANITY_ALIAS_ROUTES, tenantRouteIdentityAliases } from './verticalRouteRegistry';\nimport { getApplicationLoginPaths, getPublicApplicationStandalonePaths, getTenantApplicationBySlug, getTenantApplicationByStandalonePath, getTenantApplicationByTenantScopedPath } from '@/config/applicationCapabilityRegistry';\nimport { normalizeRouteHost, normalizeRoutePath } from './routeNormalization';\n\nexport const PUBLIC_ROUTE_PATHS = [\n  '/',\n  '/q',\n  '/crm/login',\n  '/login',\n  '/signup',\n  '/signup-multitenant',\n  '/auth',\n  '/auth/oauth/consent',\n  '/auth/reset-password',\n  '/auth/emergency-reset',\n  '/logout',\n  '/crm/logout',\n  '/crm/quick-login',\n  '/crm/create-user',\n  '/crm/forgot-pin',\n  '/crm/approve-pin-reset',\n  '/crm/set-pin',\n  '/crm/reset',\n  '/pa-access/onboarding',\n  '/test-auth',\n  '/select-tenant',\n  '/terms',\n  '/terms-of-use',\n  '/privacy',\n  '/privacy-policy',\n  '/legal',\n  '/accept-invitation',\n  '/sign-agreement',\n  '/signup-verify',\n  '/agreement-verification',\n  '/portal',\n  '/report',\n  '/sce-tarping',\n  '/sce-tarping/emergency-help',\n  '/emergency-tarping',\n  '/palm-bay',\n  '/unsubscribe',\n  '/pricing',\n  '/trial',\n  '/documents/upload',\n  '/tenant-quick-setup',\n  '/site',\n  '/demo',\n  '/build-my-demo',\n  '/lawn-care',\n  '/book',\n  '/site',\n  '/book-seaside',\n  '/davey',\n  '/davey/book',\n  '/davey-lawn-care/book',\n  '/seaside',\n  '/seaside/book',\n  '/bookseaside',\n  '/seaside-lawns/book',\n  '/misc-photo-report',\n  '/misc',\n  '/big-papis',\n  '/big-papis/where',\n  '/big-papis/find',\n  '/big-papis/flavors',\n  '/big-papis/fundraising',\n  '/big-papis/events',\n  '/big-papis/loyalty',\n  '/big-papis/book',\n  '/big-papis/referrals',\n  '/big-papis/refer',\n  '/big-papis-coquito-iceys',\n  '/bychefap',\n  '/bychefap/where',\n  '/bychefap/events',\n  '/bychefap/book',\n  '/tranzformer-auto-detailing',\n  '/321-auto-unlock',\n  '/la-vista-del-mar',\n  '/cafe-qsr',\n  '/__knocklaunch/source',\n  '/__knocklaunch/interaction',\n  '/__knocklaunch/interaction/destination',\n  '/__mapbox-smoke/lawn',\n  '/roof-builder',\n  '/m/call',\n  '/josh',\n  '/thejosj',\n  ...getApplicationLoginPaths(),\n  ...getPublicApplicationStandalonePaths(),\n] as const;\n\nexport const AUTHENTICATED_CORE_ROUTE_PATHS = [\n  '/admin',\n  '/owner',\n  '/command-center',\n  '/admin/system-config',\n  '/admin/system-config?tab=routes',\n] as const;\n\nexport const VISUAL_WITNESS_ROUTE_SEEDS = {\n  public: PUBLIC_ROUTE_PATHS,\n  authenticatedCore: AUTHENTICATED_CORE_ROUTE_PATHS,\n  canonicalRedirects: [\n    {\n      from: '/admin/routes',\n      to: '/admin/system-config?tab=routes',\n      classification: 'deprecated_redirect',\n    },\n  ],\n} as const;\n\nconst RECURSIVE_PUBLIC_ROUTE_PREFIXES = new Set([\n  '/q',\n  '/portal',\n  '/report',\n  '/documents/upload',\n  '/sign-agreement',\n  '/site',\n  '/lawn-care',\n  '/book',\n  '/site',\n  '/roof-builder',\n  '/misc-photo-report',\n  '/m/call',\n]);\n\nconst PROTECTED_TENANT_ROUTE_SEGMENTS = new Set([\n  'dashboard',\n  ...VANITY_ALIAS_ROUTES.map((route) => String(route.alias || '').trim().toLowerCase()).filter(Boolean),\n]);\n\nconst ADMIN_CANONICAL_HOST = 'app.knocklaunch.app';\nconst ADMIN_APEX_HOSTS = new Set(['knocklaunch.app', 'www.knocklaunch.app']);\nconst BIG_PAPIS_CANONICAL_HOST = 'bigpapiscoquitoiceys.com';\nconst BIG_PAPIS_PUBLIC_HOSTS = new Set([BIG_PAPIS_CANONICAL_HOST, `www.${BIG_PAPIS_CANONICAL_HOST}`]);\nconst ROOF_HELP_FINDER_HOSTS = new Set(['roofhelpfinder.com', 'www.roofhelpfinder.com']);\nconst AUTO_UNLOCK_PUBLIC_HOSTS = new Set(['321autounlock.com', 'www.321autounlock.com']);\nconst AUTO_UNLOCK_PUBLIC_PATHS = new Set([\n  '/',\n  '/how-it-works',\n  '/services',\n  '/service-areas',\n  '/about',\n  '/contact',\n  '/palm-bay/vehicle-lockout',\n  '/melbourne/vehicle-lockout',\n  '/titusville/vehicle-lockout',\n  '/vehicle-lockout-help',\n]);\nconst WHATS_MY_PROGRESS_HOSTS = new Set(['whatsmyprogress.com', 'www.whatsmyprogress.com']);\nconst BOOK_ME_DIRECTLY_HOSTS = new Set(['bookmedirectly.com', 'www.bookmedirectly.com']);\nconst PCG_PUBLIC_HOSTS = new Set(['pcgslab.com', 'www.pcgslab.com', 'prestigeouscardgrading.com', 'www.prestigeouscardgrading.com']);\nconst BIG_PAPIS_PUBLIC_PATHS = new Set([\n  '/big-papis',\n  '/big-papis/where',\n  '/big-papis/find',\n  '/big-papis/flavors',\n  '/big-papis/fundraising',\n  '/big-papis/events',\n  '/big-papis/loyalty',\n  '/big-papis/book',\n  '/big-papis/referrals',\n  '/big-papis/refer',\n]);\nconst SEASIDE_LAWN_ROUTE_ALIASES = new Set(\n  tenantRouteIdentityAliases({\n    tenant_type: 'LAWN_CARE',\n    company_slug: 'seaside-lawns',\n    name: 'Seaside Lawns',\n  }).map((alias) => alias.toLowerCase()),\n);\n\nexport type BigPapisCustomHostSurface = 'coming-soon' | 'loyalty' | 'refer-redirect' | 'referrals' | null;\nexport type PcgCustomHostPage = 'home' | 'grading' | 'verify' | 'submit' | 'shop' | 'contact' | 'pop' | null;\n\nexport interface AppRouteClassification {\n  normalizedPathname: string;\n  isBigPapisCustomHost: boolean;\n  isRoofHelpFinderCustomHost: boolean;\n  isPcgCustomHost: boolean;\n  pcgCustomHostPage: PcgCustomHostPage;\n  isWhatsMyProgressCustomHost: boolean;\n  isPublicRoute: boolean;\n  isLawnCareRoute: boolean;\n  isBigPapisRoute: boolean;\n  isSelfContainedBookingRoute: boolean;\n  legacyBigPapisOwnerTarget: string | null;\n  bigPapisCustomHostSurface: BigPapisCustomHostSurface;\n}\n\nexport function isProtectedTenantWorkspacePath(pathname: string): boolean {\n  const segments = normalizeRoutePath(pathname).split('/').filter(Boolean);\n  if (segments.length < 2) return false;\n  return PROTECTED_TENANT_ROUTE_SEGMENTS.has(segments[1]);\n}\n\nexport function isPublicAppRoutePath(\n  pathname: string,\n  publicRoutePaths: readonly string[] = PUBLIC_ROUTE_PATHS,\n  forcePublic = false,\n): boolean {\n  if (forcePublic) return true;\n  const normalized = normalizeRoutePath(pathname);\n  const normalizedPublicRoutes = publicRoutePaths.map(normalizeRoutePath);\n  if (normalized === '/prestigious-card-grading' || normalized.startsWith('/prestigious-card-grading/')) return true;\n  if (normalizedPublicRoutes.includes(normalized)) return true;\n  for (const prefix of RECURSIVE_PUBLIC_ROUTE_PREFIXES) {\n    if (!normalizedPublicRoutes.includes(prefix)) continue;\n    if (normalized.startsWith(`${prefix}/`)) return true;\n  }\n  if (/^\\/crm\\/[^/]+\\/[^/]+\\/lawn-care\\/portal$/.test(normalized)) return true;\n  const appLoginMatch = normalized.match(/^\\/([a-z0-9-]+)\\/login$/);\n  if (appLoginMatch && getTenantApplicationBySlug(appLoginMatch[1])) return true;\n  if (isProtectedTenantWorkspacePath(normalized)) return false;\n  return false;\n}\n\nexport function isSelfContainedBookingRoutePath(pathname: string): boolean {\n  const normalized = String(pathname || '').toLowerCase();\n  return normalized === '/seaside-lawns/book'\n    || normalized === '/book-seaside'\n    || normalized === '/bookseaside'\n    || normalized.startsWith('/book/');\n}\n\nexport function isLawnCareRoutePath(pathname: string): boolean {\n  const normalized = String(pathname || '').toLowerCase();\n  if (normalized.includes('/lawn-care') || normalized.startsWith('/book/')) return true;\n  for (const alias of SEASIDE_LAWN_ROUTE_ALIASES) {\n    if (normalized.includes(alias)) return true;\n  }\n  return false;\n}\n\nfunction readAdminRestoreFromSearch(search: string): string | null {\n  try {\n    const raw = new URLSearchParams(search).get('admin_restore');\n    if (!raw) return null;\n    const decoded = decodeURIComponent(raw);\n    if (!decoded.startsWith('/admin') || decoded.startsWith('//') || decoded.includes('://')) return null;\n    return decoded;\n  } catch {\n    return null;\n  }\n}\n\nexport function shouldCanonicalizeAppHost(pathname: string, search: string): boolean {\n  if (pathname.startsWith('/admin')) return true;\n  if (getTenantApplicationByStandalonePath(pathname)) return true;\n  if (isLawnCareRoutePath(pathname)) return true;\n  if (pathname === '/login' || pathname === '/crm/login' || pathname === '/') {\n    return Boolean(readAdminRestoreFromSearch(search));\n  }\n  return false;\n}\n\nexport function resolveAppCanonicalHostRedirect({\n  hostname,\n  pathname,\n  search = '',\n  hash = '',\n}: {\n  hostname: string;\n  pathname: string;\n  search?: string;\n  hash?: string;\n}): string | null {\n  const normalizedHost = normalizeRouteHost(hostname);\n  if (ADMIN_APEX_HOSTS.has(normalizedHost) && shouldCanonicalizeAppHost(pathname, search)) {\n    return `https://${ADMIN_CANONICAL_HOST}${pathname}${search || ''}${hash || ''}`;\n  }\n  if (normalizedHost === `www.${BIG_PAPIS_CANONICAL_HOST}`) {\n    return `https://${BIG_PAPIS_CANONICAL_HOST}${pathname}${search || ''}${hash || ''}`;\n  }\n  return null;\n}\n\nfunction resolveLegacyBigPapisOwnerTarget(normalizedPathname: string, isBigPapisCustomHost: boolean): string | null {\n  if (isBigPapisCustomHost) return null;\n  if (!normalizedPathname.startsWith('/big-papis/')) return null;\n  if (normalizedPathname === BIG_PAPIS_OWNER_BASE_PATH || normalizedPathname.startsWith(`${BIG_PAPIS_OWNER_BASE_PATH}/`)) return null;\n  if (BIG_PAPIS_PUBLIC_PATHS.has(normalizedPathname)) return null;\n  if (getTenantApplicationByTenantScopedPath(normalizedPathname)) return null;\n  return `${BIG_PAPIS_OWNER_BASE_PATH}/${normalizedPathname.slice('/big-papis/'.length)}`;\n}\n\nfunction resolvePcgCustomHostPage(normalizedPathname:string,isPcgCustomHost:boolean):PcgCustomHostPage{\n  if(!isPcgCustomHost)return null;\n  const normalized=normalizeRoutePath(normalizedPathname);\n  const withoutPrefix=normalized.startsWith('/prestigious-card-grading')\n    ? normalizeRoutePath(normalized.slice('/prestigious-card-grading'.length)||'/')\n    : normalized;\n  if(withoutPrefix==='/' )return 'home';\n  if(withoutPrefix==='/grading')return 'grading';\n  if(withoutPrefix==='/verify')return 'verify';\n  if(withoutPrefix==='/pop-report'||withoutPrefix==='/population-report')return 'pop';\n  if(withoutPrefix==='/submit')return 'submit';\n  if(withoutPrefix==='/shop')return 'shop';\n  if(withoutPrefix==='/contact')return 'contact';\n  return 'home';\n}\n\nfunction resolveBigPapisCustomHostSurface(\n  normalizedPathname: string,\n  isBigPapisCustomHost: boolean,\n): BigPapisCustomHostSurface {\n  if (!isBigPapisCustomHost) return null;\n  if (normalizedPathname === '/q' || normalizedPathname.startsWith('/q/')) return null;\n  if (normalizedPathname === '/loyalty') return 'loyalty';\n  if (normalizedPathname === '/refer') return 'refer-redirect';\n  if (normalizedPathname === '/referrals') return 'referrals';\n  return 'coming-soon';\n}\n\nexport function classifyAppRoute(pathname: string, hostname = ''): AppRouteClassification {\n  const normalizedPathname = normalizeRoutePath(pathname);\n  const normalizedHost = normalizeRouteHost(hostname);\n  const isBigPapisCustomHost = BIG_PAPIS_PUBLIC_HOSTS.has(normalizedHost);\n  const isRoofHelpFinderCustomHost = ROOF_HELP_FINDER_HOSTS.has(normalizedHost);\n  const isPcgCustomHost = PCG_PUBLIC_HOSTS.has(normalizedHost);\n  const isAutoUnlockPublicPath = AUTO_UNLOCK_PUBLIC_HOSTS.has(normalizedHost)\n    && AUTO_UNLOCK_PUBLIC_PATHS.has(normalizedPathname);\n  const isWhatsMyProgressCustomHost = WHATS_MY_PROGRESS_HOSTS.has(normalizedHost);\n  const isBookMeDirectlyCustomHost = BOOK_ME_DIRECTLY_HOSTS.has(normalizedHost);\n  const isPublicRoute = isPublicAppRoutePath(\n    pathname,\n    PUBLIC_ROUTE_PATHS,\n    isBigPapisCustomHost\n      || isRoofHelpFinderCustomHost\n      || isAutoUnlockPublicPath\n      || isPcgCustomHost\n      || isWhatsMyProgressCustomHost\n      || isBookMeDirectlyCustomHost,\n  );\n  const isLawnCareRoute = isLawnCareRoutePath(pathname);\n  const isBigPapisRoute = isBigPapisCustomHost\n    || normalizedPathname === '/big-papis'\n    || normalizedPathname.startsWith('/big-papis/')\n    || normalizedPathname === '/big-papis-coquito-iceys'\n    || normalizedPathname.startsWith('/big-papis-coquito-iceys/');\n\n  return {\n    normalizedPathname,\n    isBigPapisCustomHost,\n    isRoofHelpFinderCustomHost,\n    isPcgCustomHost,\n    pcgCustomHostPage: resolvePcgCustomHostPage(normalizedPathname,isPcgCustomHost),\n    isWhatsMyProgressCustomHost,\n    isPublicRoute,\n    isLawnCareRoute,\n    isBigPapisRoute,\n    isSelfContainedBookingRoute: isSelfContainedBookingRoutePath(pathname),\n    legacyBigPapisOwnerTarget: resolveLegacyBigPapisOwnerTarget(normalizedPathname, isBigPapisCustomHost),\n    bigPapisCustomHostSurface: resolveBigPapisCustomHostSurface(normalizedPathname, isBigPapisCustomHost),\n  };\n}\n"},{"path":"src/PublicAppShell.tsx","content":"import React, { Suspense } from 'react';\nimport { Route, Routes, useLocation } from 'react-router-dom';\nimport SiteBackground from './components/SiteBackground';\nimport { UniversalLoadingScreen } from '@/components/ui/universal-loading-screen';\nimport { lazyWithRetry } from '@/lib/lazyWithRetry';\nimport { publicRoutes } from './routes/publicRoutes';\nimport { authRoutes } from './routes/authRoutes';\nimport { isSelfContainedBookingRoute } from './routes/publicRouteClassifier';\nimport { supabase } from '@/integrations/supabase/client';\n\nconst ROOF_HELP_FINDER_HOSTS = new Set(['roofhelpfinder.com', 'www.roofhelpfinder.com']);\nconst AUTO_UNLOCK_PUBLIC_HOSTS = new Set(['321autounlock.com', 'www.321autounlock.com']);\nconst AUTO_UNLOCK_PUBLIC_PATHS = new Set(['/', '/how-it-works', '/services', '/service-areas', '/about', '/contact', '/palm-bay/vehicle-lockout', '/melbourne/vehicle-lockout', '/titusville/vehicle-lockout', '/vehicle-lockout-help']);\nconst AUTO_UNLOCK_GATE_ENABLED = false;\nconst WHATS_MY_PROGRESS_HOSTS = new Set(['whatsmyprogress.com', 'www.whatsmyprogress.com']);\nconst BOOK_ME_DIRECTLY_HOSTS = new Set(['bookmedirectly.com', 'www.bookmedirectly.com']);\nconst BYCHEFAP_PUBLIC_HOSTS = new Set(['bychefap.com', 'www.bychefap.com']);\nconst SPEEDY_PANDA_PUBLIC_PATHS = new Set(['/speedy-panda-party-rentals', '/speedy-panda-party-rentals/booking']);\n\nconst NotFound = lazyWithRetry(() => import('./pages/NotFound'));\nconst AutoUnlockPublic = lazyWithRetry(() => import('@/pages/auto-lockout/AutoUnlockPublic'));\nconst AutoUnlockComingSoon = lazyWithRetry(() => import('@/pages/auto-lockout/AutoUnlockComingSoon'));\nconst WhatsMyProgressComingSoon = lazyWithRetry(() => import('@/pages/whats-my-progress/WhatsMyProgressComingSoon'));\nconst WhatsMyProgressTenantHome = lazyWithRetry(() => import('@/pages/whats-my-progress/WhatsMyProgressTenantHome'));\nconst BookMeDirectlyPublicPage = lazyWithRetry(() => import('@/pages/book-me-directly/BookMeDirectlyPublicPage'));\nconst PCGPublicSite = lazyWithRetry(() => import('@/pages/card-grading/PCGPublicSite'));\nconst ByChefApPublicSite = lazyWithRetry(() => import('@/pages/bychefap/ByChefApPublicSite'));\n\nconst speedyPandaGear = [\n  {\n    count: '40',\n    title: 'White Folding Chairs',\n    eyebrow: 'Seating',\n    summary: 'Clean, sturdy folding seating for parties, ceremonies, meetings, and indoor or outdoor events.',\n    facts: ['350 lb manufacturer-rated capacity', '17.72 × 20.47 × 30.71 in', 'Rubber feet help protect flooring', 'Fast folding, no assembly required'],\n  },\n  {\n    count: '6',\n    title: 'Fold-in-Half Event Tables',\n    eyebrow: 'Tables',\n    summary: 'Heavy-duty event tables that travel easily, set up quickly, and clean up without fuss.',\n    facts: ['300 lb manufacturer-rated capacity', 'High-density plastic tabletop', 'Built-in carry handles', 'Tool-free indoor/outdoor setup'],\n  },\n  {\n    count: '1',\n    title: '20 × 40 Commercial Event Tent',\n    eyebrow: 'Main Tent',\n    summary: 'A spacious clear-span tent with a 12-foot peak and no center poles, so the full footprint stays usable.',\n    facts: ['20 × 40 ft full configuration', '12 ft peak with no center poles', 'Heavy-duty galvanized steel frame', '350 GSM PVC canopy'],\n  },\n] as const;\n\nfunction SpeedyPandaPublicSite() {\n  const [logoUrl, setLogoUrl] = React.useState('');\n  const [backgroundUrl, setBackgroundUrl] = React.useState('');\n  const [form, setForm] = React.useState({ fullName:'', phone:'', email:'', eventType:'', eventDate:'', startTime:'', endTime:'', guestCount:'', location:'', details:'' });\n  const [submitting, setSubmitting] = React.useState(false);\n  const [submitError, setSubmitError] = React.useState('');\n  const [submittedId, setSubmittedId] = React.useState('');\n\n  React.useEffect(() => {\n    const previous = document.title;\n    document.title = 'Speedy Panda Party Rentals';\n    return () => { document.title = previous; };\n  }, []);\n\n  React.useEffect(() => {\n    let cancelled = false;\n    void supabase.functions.invoke('customer-portal', {\n      body: { action: 'resolve_tenant_public_presence', tenant_slug: 'speedy-panda-party-rentals' },\n    }).then(({ data }) => {\n      if (cancelled) return;\n      const nextLogoUrl = String(data?.tenant?.logo_url || '').trim();\n      const nextBackgroundUrl = String(data?.tenant?.background_url || '').trim();\n      if (nextLogoUrl) setLogoUrl(nextLogoUrl);\n      if (nextBackgroundUrl) setBackgroundUrl(nextBackgroundUrl);\n    }).catch(() => undefined);\n    return () => { cancelled = true; };\n  }, []);\n\n  const update = (key: keyof typeof form) => (event: React.ChangeEvent<HTMLInputElement|HTMLTextAreaElement|HTMLSelectElement>) => setForm(current => ({ ...current, [key]: event.target.value }));\n  const submitBooking = async (event: React.FormEvent) => {\n    event.preventDefault(); setSubmitError(''); setSubmittedId(''); setSubmitting(true);\n    try {\n      const guestCount = form.guestCount.trim() ? Number(form.guestCount) : null;\n      const { data, error } = await (supabase as any).rpc('submit_public_event_rental_booking_request', {\n        p_tenant_slug:'speedy-panda-party-rentals', p_full_name:form.fullName, p_phone:form.phone, p_email:form.email,\n        p_event_type:form.eventType, p_event_date:form.eventDate || null, p_start_time:form.startTime || null,\n        p_end_time:form.endTime || null, p_guest_count:Number.isFinite(guestCount as number)?guestCount:null,\n        p_location:form.location, p_additional_details:form.details || null,\n      });\n      if (error) throw error;\n      setSubmittedId(String(data || 'received'));\n      setForm({ fullName:'', phone:'', email:'', eventType:'', eventDate:'', startTime:'', endTime:'', guestCount:'', location:'', details:'' });\n    } catch (caught:any) { setSubmitError(caught?.message || 'We could not send your request. Please try again.'); }\n    finally { setSubmitting(false); }\n  };\n\n  return (\n    <main className=\"speedy-panda-public\" style={backgroundUrl ? { ['--speedy-bg' as string]: `url(\"${backgroundUrl}\")` } as React.CSSProperties : undefined}>\n      <style>{`\n        :root { color-scheme: dark; }\n        body { margin: 0; background: #07110f; }\n        .speedy-panda-public { min-height: 100vh; color: #fff; background:\n          linear-gradient(180deg,rgba(18,3,18,.15),rgba(10,2,16,.46) 58%,#09040d 100%),\n          radial-gradient(circle at 16% 18%,rgba(255,22,126,.28),transparent 32rem),\n          radial-gradient(circle at 78% 12%,rgba(255,173,35,.23),transparent 32rem),\n          var(--speedy-bg,linear-gradient(135deg,#38102d 0%,#f05a66 38%,#ffb33a 58%,#151021 100%));\n          background-size:cover;background-position:center top;background-attachment:fixed;\n          font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif; }\n        .speedy-wrap { width:min(1320px,calc(100% - 32px));margin:0 auto; }\n        .speedy-booking-stage{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(560px,1.22fr);gap:28px;align-items:start;padding:38px 0 42px}\n        .speedy-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:118px}.speedy-side-logo{width:min(100%,430px);filter:drop-shadow(0 22px 34px rgba(0,0,0,.44));align-self:center;animation:speedyFloat 5s ease-in-out infinite}.speedy-tagline{font-family:cursive;font-size:clamp(34px,3.2vw,58px);font-weight:900;text-align:center;text-shadow:0 4px 18px rgba(0,0,0,.55)}.speedy-intro{max-width:520px;margin:-2px auto 4px;text-align:center;color:rgba(255,255,255,.82);font-size:15px;line-height:1.7}.speedy-mini-kicker{align-self:center;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(14,7,16,.42);backdrop-filter:blur(16px);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#ffd4e4}@keyframes speedyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}\n        .speedy-category-rail{display:grid;gap:8px}.speedy-category{display:flex;align-items:center;gap:14px;min-height:64px;padding:0 18px;border:1px solid rgba(255,75,155,.35);border-radius:14px;background:rgba(15,10,19,.78);box-shadow:0 8px 30px rgba(0,0,0,.22);font-weight:900}.speedy-category:first-child{background:linear-gradient(135deg,rgba(255,30,122,.34),rgba(16,10,18,.86));box-shadow:0 0 28px rgba(255,30,122,.20)}.speedy-category b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ff167c;color:white;font-size:17px}.speedy-category span{letter-spacing:.01em}\n        .speedy-form-card{border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(255,247,251,.965));color:#17131a;padding:clamp(24px,3vw,42px);box-shadow:0 40px 110px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.44);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(22px)}.speedy-form-head{display:flex;gap:16px;align-items:center}.speedy-form-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#ff167c,#ff6b56);color:#fff;font-size:28px;box-shadow:0 14px 34px rgba(255,22,124,.28)}.speedy-form-card h1{margin:0;font-size:clamp(30px,3vw,50px);letter-spacing:-.04em}.speedy-form-card p{margin:6px 0 0;color:#655d66}.speedy-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.speedy-field{display:grid;gap:7px;font-size:13px;font-weight:900}.speedy-field.wide{grid-column:1/-1}.speedy-time-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.speedy-input{min-height:50px;border:1px solid #ded6dc;border-radius:12px;background:#fff;padding:0 14px;font:inherit;color:#211a22;outline:none}.speedy-input:focus{border-color:#ff167c;box-shadow:0 0 0 3px rgba(255,22,124,.12)}textarea.speedy-input{padding-top:14px;min-height:104px;resize:vertical}.speedy-submit{margin-top:20px;min-height:60px;width:100%;border:0;border-radius:18px;background:linear-gradient(100deg,#f30a71,#ff426e 55%,#ff8a46);color:#fff;font-size:18px;font-weight:950;box-shadow:0 18px 42px rgba(243,10,113,.30);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.speedy-submit:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(243,10,113,.36)}.speedy-submit:disabled{opacity:.65;cursor:wait}.speedy-submit-note{text-align:center;font-size:12px!important;color:#746c73!important}.speedy-success,.speedy-error{margin-top:14px;border-radius:14px;padding:12px 14px;font-size:13px;font-weight:800}.speedy-success{background:#e8fff1;color:#176737}.speedy-error{background:#fff0f3;color:#9d1739}\n        .speedy-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:16px 0 44px;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.12)}.speedy-trust div{padding:18px;background:rgba(8,5,10,.83);text-align:center}.speedy-trust strong{display:block;font-size:12px}.speedy-trust span{display:block;margin-top:3px;font-size:11px;color:rgba(255,255,255,.62)}\n        .speedy-nav { position:sticky;top:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:12px 14px;gap:20px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(16,7,18,.62);box-shadow:0 18px 52px rgba(0,0,0,.24);backdrop-filter:blur(22px); }\n        .speedy-brand { display: flex; align-items: center; gap: 12px; font-weight: 900; letter-spacing: -.03em; }\n        .speedy-mark { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; background: transparent; color: #08110f; font-size: 21px; overflow: visible; filter: drop-shadow(0 12px 24px rgba(0,0,0,.30)); }\n        .speedy-mark img { width: 100%; height: 100%; object-fit: contain; display: block; }\n        .speedy-hero-logo { position: absolute; inset: 18px 18px auto auto; width: min(230px, 52%); aspect-ratio: 1; display: grid; place-items: center; z-index: 2; }\n        .speedy-hero-logo img { width: 100%; height: 100%; object-fit: contain; display: block; filter: drop-shadow(0 18px 28px rgba(0,0,0,.34)); }\n        .speedy-nav a { color: rgba(255,255,255,.82); text-decoration: none; font-size: 14px; font-weight: 800; transition:color .2s ease,transform .2s ease; }.speedy-nav a:hover{color:#fff;transform:translateY(-1px)}\n        .speedy-hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 42px; align-items: center; padding: 72px 0 56px; }\n        .speedy-kicker { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255, 121, 159, .30); background: rgba(255, 70, 130, .10); color: #ffd0df; border-radius: 999px; padding: 8px 12px; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }\n        .speedy-hero h1 { margin: 18px 0 16px; max-width: 760px; font-size: clamp(48px, 7vw, 88px); line-height: .93; letter-spacing: -.065em; }\n        .speedy-hero p { max-width: 680px; margin: 0; color: #b8c8c1; font-size: clamp(17px, 2vw, 21px); line-height: 1.65; }\n        .speedy-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }\n        .speedy-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 14px; font-weight: 900; text-decoration: none; }\n        .speedy-btn-primary { background: linear-gradient(100deg,#f30a71,#ff5c66 58%,#ff974b); color: #fff; box-shadow: 0 14px 38px rgba(243,10,113,.24); }\n        .speedy-btn-ghost { border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.05); color: #f7fbf8; }\n        .speedy-hero-card { position: relative; min-height: 390px; border-radius: 32px; overflow: hidden; border: 1px solid rgba(255,255,255,.10); background:\n          linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.025)),\n          linear-gradient(135deg, #15251f, #09110f); box-shadow: 0 36px 90px rgba(0,0,0,.42); }\n        .speedy-hero-card::before { content: \"\"; position: absolute; inset: 34px 34px auto auto; width: 170px; height: 170px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #f8fbf9 0 20%, #101815 21% 34%, #f8fbf9 35% 49%, #101815 50% 100%); opacity: .95; box-shadow: 0 0 0 18px rgba(117,236,181,.07); }\n        .speedy-hero-card-copy { position: absolute; left: 30px; right: 30px; bottom: 30px; }\n        .speedy-hero-card strong { display: block; font-size: clamp(30px,4vw,46px); letter-spacing: -.04em; }\n        .speedy-hero-card span { display: block; margin-top: 8px; color: #a7b9b0; line-height: 1.5; }\n        .speedy-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; padding: 0 0 42px; }\n        .speedy-stat { border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.045); border-radius: 18px; padding: 19px 20px; }\n        .speedy-stat strong { display: block; color: #f8fbf9; font-size: 28px; letter-spacing: -.04em; }\n        .speedy-stat span { color: #9fb0a8; font-size: 13px; }\n        .speedy-section { padding: 62px 0; }\n        .speedy-section-head { max-width: 760px; margin-bottom: 26px; }\n        .speedy-section-head h2 { margin: 0 0 10px; font-size: clamp(34px, 5vw, 54px); letter-spacing: -.05em; }\n        .speedy-section-head p { margin: 0; color: #aebdb6; line-height: 1.65; }\n        .speedy-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }\n        .speedy-gear { position: relative; min-height: 360px; padding: 28px; border: 1px solid rgba(255,255,255,.12); border-radius: 26px; background: linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.035)); box-shadow: 0 24px 64px rgba(0,0,0,.26);backdrop-filter:blur(16px);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease }.speedy-gear:hover{transform:translateY(-6px);border-color:rgba(255,110,155,.36);box-shadow:0 30px 76px rgba(0,0,0,.34)}\n        .speedy-count { display: inline-flex; min-width: 58px; height: 58px; align-items: center; justify-content: center; border-radius: 18px; background: linear-gradient(135deg,#fff,#ffe5ef); color: #311124; font-weight: 950; font-size: 24px;box-shadow:0 12px 28px rgba(0,0,0,.18) }\n        .speedy-eyebrow { margin: 24px 0 7px; color: #ff9fbc; font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }\n        .speedy-gear h3 { margin: 0; font-size: 25px; letter-spacing: -.035em; }\n        .speedy-gear p { color: #aab9b2; line-height: 1.55; }\n        .speedy-gear ul { padding-left: 18px; color: #d4ded9; line-height: 1.65; font-size: 14px; }\n        .speedy-note { margin-top: 22px; padding: 18px 20px; border-radius: 18px; border: 1px solid rgba(250,204,21,.16); background: rgba(250,204,21,.06); color: #d9d8be; line-height: 1.55; font-size: 13px; }\n        .speedy-availability { display: grid; grid-template-columns: 1fr auto; gap: 26px; align-items: center; margin: 40px 0 72px; padding: 32px; border-radius: 28px; border: 1px solid rgba(255,121,159,.22); background: linear-gradient(135deg, rgba(243,10,113,.16), rgba(255,151,75,.10), rgba(255,255,255,.04));backdrop-filter:blur(18px) }\n        .speedy-availability h2 { margin: 0 0 7px; font-size: 30px; letter-spacing: -.04em; }\n        .speedy-availability p { margin: 0; color: #afbeb7; line-height: 1.55; }\n        .speedy-how{padding:10px 0 24px}.speedy-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.speedy-step{padding:26px;border-radius:24px;border:1px solid rgba(255,255,255,.11);background:rgba(12,7,15,.58);backdrop-filter:blur(18px)}.speedy-step b{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,#f30a71,#ff8a46);font-size:15px}.speedy-step h3{margin:18px 0 8px;font-size:22px}.speedy-step p{margin:0;color:rgba(255,255,255,.68);line-height:1.6;font-size:14px}\n        .speedy-footer { border-top: 1px solid rgba(255,255,255,.08); padding: 28px 0 38px; color: #a18f9b; font-size: 13px; }\n        @media (max-width: 920px) {\n          .speedy-booking-stage{grid-template-columns:1fr;padding-top:26px}.speedy-side{position:static}.speedy-side-logo{max-width:310px}.speedy-category-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.speedy-trust{grid-template-columns:repeat(2,1fr)}.speedy-form-grid{grid-template-columns:1fr}.speedy-time-grid{grid-template-columns:1fr}.speedy-field.wide,.speedy-time-grid{grid-column:auto}.speedy-nav{top:8px}.speedy-nav a:not(.speedy-btn-primary){display:none}.speedy-how-grid{grid-template-columns:1fr}\n          .speedy-hero { grid-template-columns: 1fr; padding-top: 42px; }\n          .speedy-hero-card { min-height: 300px; }\n          .speedy-grid { grid-template-columns: 1fr; }\n          .speedy-stats { grid-template-columns: 1fr; }\n          .speedy-availability { grid-template-columns: 1fr; }\n          .speedy-nav > a { display: none; }\n        }\n      `}</style>\n\n      <div className=\"speedy-wrap\">\n        <nav className=\"speedy-nav\" aria-label=\"Speedy Panda\">\n          <div className=\"speedy-brand\"><span className=\"speedy-mark\">{logoUrl ? <img src={logoUrl} alt=\"Speedy Panda Party Rentals\" /> : '🐼'}</span><span>Speedy Panda Party Rentals</span></div>\n          <div style={{display:'flex',gap:18,alignItems:'center'}}><a href=\"#gear\">Rentals</a><a href=\"#how\">How it works</a><a href=\"#availability\">Availability</a><a className=\"speedy-btn speedy-btn-primary\" href=\"#booking\">Check availability</a></div>\n        </nav>\n\n        <section className=\"speedy-booking-stage\" id=\"booking\">\n          <aside className=\"speedy-side\">\n            <div className=\"speedy-mini-kicker\">Brevard County party rentals</div>\n            {logoUrl ? <img className=\"speedy-side-logo\" src={logoUrl} alt=\"Speedy Panda Party Rentals\" /> : <div className=\"speedy-side-logo\" />}\n            <div className=\"speedy-tagline\">Events Made Easy! ♡</div>\n            <p className=\"speedy-intro\">Tell us the date, location, and what you need. Speedy Panda makes it simple to plan the tables, chairs, tent, delivery, and setup around your event.</p>\n            <div className=\"speedy-category-rail\" aria-label=\"Rental categories\">\n              {[['▣','BOOK YOUR EVENT'],['⌂','TENTS'],['▤','TABLES & CHAIRS'],['★','EVENT EXTRAS'],['▰','DELIVERY & SETUP']].map(([icon,label])=><a key={label} className=\"speedy-category\" href={label==='BOOK YOUR EVENT'?'#booking':'#gear'}><b>{icon}</b><span>{label}</span></a>)}\n            </div>\n          </aside>\n          <form className=\"speedy-form-card\" onSubmit={submitBooking}>\n            <div className=\"speedy-form-head\"><div className=\"speedy-form-icon\">▣</div><div><h1>Let’s plan your <span style={{color:'#f30a71'}}>event.</span></h1><p>Share the essentials and Speedy Panda can confirm availability and build your rental plan.</p></div></div>\n            <div className=\"speedy-form-grid\">\n              <label className=\"speedy-field\">Full Name *<input className=\"speedy-input\" value={form.fullName} onChange={update('fullName')} required placeholder=\"Your name\" /></label>\n              <label className=\"speedy-field\">Phone<input className=\"speedy-input\" value={form.phone} onChange={update('phone')} placeholder=\"Best number to reach you\" /></label>\n              <label className=\"speedy-field\">Email<input className=\"speedy-input\" type=\"email\" value={form.email} onChange={update('email')} placeholder=\"you@example.com\" /></label>\n              <label className=\"speedy-field\">Event Type *<select className=\"speedy-input\" value={form.eventType} onChange={update('eventType')} required><option value=\"\">Select an event type</option><option>Birthday Party</option><option>Wedding</option><option>Corporate Event</option><option>School / Community Event</option><option>Graduation</option><option>Other</option></select></label>\n              <div className=\"speedy-time-grid\"><label className=\"speedy-field\">Event Date *<input className=\"speedy-input\" type=\"date\" value={form.eventDate} onChange={update('eventDate')} required /></label><label className=\"speedy-field\">Start Time<input className=\"speedy-input\" type=\"time\" value={form.startTime} onChange={update('startTime')} /></label><label className=\"speedy-field\">End Time<input className=\"speedy-input\" type=\"time\" value={form.endTime} onChange={update('endTime')} /></label></div>\n              <label className=\"speedy-field\">Guest Count (Estimated)<input className=\"speedy-input\" type=\"number\" min=\"1\" max=\"10000\" value={form.guestCount} onChange={update('guestCount')} placeholder=\"e.g. 50\" /></label>\n              <label className=\"speedy-field\">Event Location *<input className=\"speedy-input\" value={form.location} onChange={update('location')} required placeholder=\"Enter address or venue\" /></label>\n              <label className=\"speedy-field wide\">Additional Details<textarea className=\"speedy-input\" value={form.details} onChange={update('details')} placeholder=\"Tell us more about your event...\" /></label>\n            </div>\n            <button className=\"speedy-submit\" disabled={submitting} type=\"submit\">{submitting?'Sending…':'✈  Send My Request'}</button>\n            <p className=\"speedy-submit-note\">No payment required to request availability. Speedy Panda will review the event details and follow up with the next step.</p>\n            {submittedId ? <div className=\"speedy-success\">Request received! Speedy Panda has your event inquiry and will follow up with availability and a custom quote.</div> : null}\n            {submitError ? <div className=\"speedy-error\">{submitError}</div> : null}\n          </form>\n        </section>\n        <section className=\"speedy-trust\"><div><strong>♥ LOCAL & FAMILY OWNED</strong><span>Brevard County, FL</span></div><div><strong>✓ CLEAN & RELIABLE</strong><span>Well maintained</span></div><div><strong>★ EVENTS OF ALL SIZES</strong><span>Backyard to corporate</span></div><div><strong>● YOU RELAX, WE HANDLE IT</strong><span>Delivery, setup & support</span></div></section>\n\n        <section className=\"speedy-hero\">\n          <div>\n            <span className=\"speedy-kicker\">Party rentals • real inventory</span>\n            <h1>Bring the party. We’ll bring the setup.</h1>\n            <p>Dependable chairs, tables, and a commercial 20 × 40 event tent for celebrations, gatherings, markets, ceremonies, and more.</p>\n            <div className=\"speedy-actions\">\n              <a className=\"speedy-btn speedy-btn-primary\" href=\"#gear\">See our gear</a>\n              <a className=\"speedy-btn speedy-btn-ghost\" href=\"#availability\">Plan your event</a>\n            </div>\n          </div>\n          <div className=\"speedy-hero-card\" aria-hidden=\"true\">\n            {logoUrl ? <div className=\"speedy-hero-logo\"><img src={logoUrl} alt=\"\" /></div> : null}\n            <div className=\"speedy-hero-card-copy\">\n              <strong>Fast setup. Solid gear.</strong>\n              <span>A focused rental inventory built for parties that need to come together cleanly.</span>\n            </div>\n          </div>\n        </section>\n\n        <section className=\"speedy-stats\" aria-label=\"Current rental inventory\">\n          <div className=\"speedy-stat\"><strong>40</strong><span>folding chairs</span></div>\n          <div className=\"speedy-stat\"><strong>6</strong><span>fold-in-half tables</span></div>\n          <div className=\"speedy-stat\"><strong>20 × 40</strong><span>commercial event tent</span></div>\n        </section>\n\n        <section className=\"speedy-section\" id=\"gear\">\n          <div className=\"speedy-section-head\">\n            <span className=\"speedy-kicker\">Real inventory • ready to plan around</span>\n            <h2>Build the setup your event actually needs.</h2>\n            <p>Start with Speedy Panda’s current tables, chairs, and commercial tent inventory, then use the booking request to plan around your date, location, guest count, and setup needs.</p>\n          </div>\n          <div className=\"speedy-grid\">\n            {speedyPandaGear.map((item) => (\n              <article className=\"speedy-gear\" key={item.title}>\n                <span className=\"speedy-count\">{item.count}</span>\n                <div className=\"speedy-eyebrow\">{item.eyebrow}</div>\n                <h3>{item.title}</h3>\n                <p>{item.summary}</p>\n                <ul>{item.facts.map((fact) => <li key={fact}>{fact}</li>)}</ul>\n              </article>\n            ))}\n          </div>\n          <div className=\"speedy-note\">\n            Tent specifications and safety ratings above are manufacturer-provided claims. Site conditions, anchoring, weather, fire rules, permitting, and local event requirements must be evaluated for each setup. Manufacturer guidance advises preventative measures or dismantling when winds reach 25 mph or more.\n          </div>\n        </section>\n\n        <section className=\"speedy-how speedy-section\" id=\"how\">\n          <div className=\"speedy-section-head\"><span className=\"speedy-kicker\">Simple from the start</span><h2>Three steps. No runaround.</h2><p>Speedy Panda keeps the first conversation focused on the details that actually determine a workable rental setup.</p></div>\n          <div className=\"speedy-how-grid\"><article className=\"speedy-step\"><b>01</b><h3>Tell us about the event</h3><p>Share the date, location, event type, guest estimate, and anything important about the setup.</p></article><article className=\"speedy-step\"><b>02</b><h3>Confirm the right gear</h3><p>Speedy Panda reviews availability and matches the request against the current rental inventory.</p></article><article className=\"speedy-step\"><b>03</b><h3>Lock in the plan</h3><p>Once the details line up, you’ll have a clear rental plan for the event instead of piecing it together yourself.</p></article></div>\n        </section>\n\n        <section className=\"speedy-availability\" id=\"availability\">\n          <div>\n            <h2>Planning an event?</h2>\n            <p>Availability changes as rentals are reserved. Start with the gear above and Speedy Panda can build the right rental plan around your date, guest count, and setup needs.</p>\n          </div>\n          <a className=\"speedy-btn speedy-btn-primary\" href=\"#booking\">Check availability</a>\n        </section>\n\n        <footer className=\"speedy-footer\">Speedy Panda Party Rentals • Event rental equipment and setup planning</footer>\n      </div>\n    </main>\n  );\n}\n\nfunction RouteFallback() {\n  const hostname = typeof window === 'undefined' ? '' : window.location.hostname;\n  const pathname = typeof window === 'undefined' ? '' : window.location.pathname.toLowerCase();\n  if (pathname === '/sign-agreement') return <div className=\"min-h-[100dvh] w-full bg-black\" aria-label=\"Loading secure agreement\" />;\n  if (hostname === 'bigpapiscoquitoiceys.com' || hostname === 'www.bigpapiscoquitoiceys.com' || ROOF_HELP_FINDER_HOSTS.has(hostname) || AUTO_UNLOCK_PUBLIC_HOSTS.has(hostname) || WHATS_MY_PROGRESS_HOSTS.has(hostname) || BOOK_ME_DIRECTLY_HOSTS.has(hostname) || BYCHEFAP_PUBLIC_HOSTS.has(hostname)) return null;\n  return <UniversalLoadingScreen title=\"Loading KNOCKLAUNCH\" subtitle=\"Preparing your workspace.\" />;\n}\n\nexport default function PublicAppShell() {\n  const location = useLocation();\n  const hostname = typeof window === 'undefined' ? '' : window.location.hostname;\n  const isAutoUnlockCustomHost = AUTO_UNLOCK_PUBLIC_HOSTS.has(hostname);\n  const isByChefApCustomHost = BYCHEFAP_PUBLIC_HOSTS.has(hostname);\n  const normalizedPath = location.pathname.length > 1 ? location.pathname.replace(/\\/+$/, '') : '/';\n  const isAutoUnlockPublicPath = isAutoUnlockCustomHost && AUTO_UNLOCK_PUBLIC_PATHS.has(normalizedPath);\n  const isWhatsMyProgressCustomHost = WHATS_MY_PROGRESS_HOSTS.has(hostname);\n  const isBookMeDirectlyCustomHost = BOOK_ME_DIRECTLY_HOSTS.has(hostname);\n  const bookMeDirectlyTenantSlug = isBookMeDirectlyCustomHost ? normalizedPath.split('/').filter(Boolean)[0] || '' : '';\n  const isWhatsMyProgressPortalPath = isWhatsMyProgressCustomHost && /^\\/[a-z0-9][a-z0-9-]*\\/p\\/[^/]+\\/?$/i.test(location.pathname);\n  const whatsMyProgressTenantSlug = isWhatsMyProgressCustomHost ? normalizedPath.split('/').filter(Boolean)[0] || '' : '';\n  const isWhatsMyProgressTenantRoot = isWhatsMyProgressCustomHost && /^\\/[a-z0-9][a-z0-9-]*\\/?$/i.test(location.pathname);\n  const isSpeedyPandaPublicPath = isWhatsMyProgressCustomHost && SPEEDY_PANDA_PUBLIC_PATHS.has(normalizedPath.toLowerCase());\n  const isPcgPublicSite = normalizedPath.toLowerCase() === '/prestigious-card-grading' || normalizedPath.toLowerCase().startsWith('/prestigious-card-grading/');\n  const isSignAgreementPath = normalizedPath.toLowerCase() === '/sign-agreement' || normalizedPath.toLowerCase().startsWith('/sign-agreement/');\n  const suppressShellBackground = isSignAgreementPath || isPcgPublicSite || isSelfContainedBookingRoute(location.pathname) || normalizedPath.toLowerCase().startsWith('/book-me-directly') || ROOF_HELP_FINDER_HOSTS.has(hostname) || isAutoUnlockCustomHost || isWhatsMyProgressCustomHost || isBookMeDirectlyCustomHost || isByChefApCustomHost || location.pathname.toLowerCase() === '/palm-bay' || ['/demo','/build-my-demo'].includes(location.pathname.toLowerCase());\n\n  if (isByChefApCustomHost) return <Suspense fallback={null}><ByChefApPublicSite /></Suspense>;\n  if (isAutoUnlockCustomHost && AUTO_UNLOCK_GATE_ENABLED) return <Suspense fallback={null}><AutoUnlockComingSoon /></Suspense>;\n  if (isAutoUnlockPublicPath) return <Suspense fallback={null}><AutoUnlockPublic /></Suspense>;\n  if (isSpeedyPandaPublicPath) return <Suspense fallback={null}><SpeedyPandaPublicSite /></Suspense>;\n  if (isWhatsMyProgressTenantRoot) return <Suspense fallback={null}><WhatsMyProgressTenantHome tenantSlug={whatsMyProgressTenantSlug || undefined} /></Suspense>;\n  if (isWhatsMyProgressCustomHost && !isWhatsMyProgressPortalPath) {\n    if (normalizedPath === '/') return <Suspense fallback={null}><WhatsMyProgressComingSoon /></Suspense>;\n    return <main style={{minHeight:'100vh',display:'grid',placeItems:'center',padding:'24px',background:'#07110f',color:'#f7fbf8',fontFamily:'Inter,ui-sans-serif,system-ui,sans-serif'}}><section style={{maxWidth:560,textAlign:'center'}}><h1 style={{fontSize:'clamp(32px,6vw,54px)',letterSpacing:'-0.04em',marginBottom:12}}>Public page unavailable</h1><p style={{color:'#aebdb6',lineHeight:1.6}}>This tenant public page could not be resolved. Check the company link and try again.</p></section></main>;\n  }\n  if (isBookMeDirectlyCustomHost) return <Suspense fallback={null}><BookMeDirectlyPublicPage tenantSlug={bookMeDirectlyTenantSlug || undefined} /></Suspense>;\n\n  return <div data-kl-public-shell=\"true\" className=\"kl-platform-surface\">{suppressShellBackground ? null : <SiteBackground />}<Routes>\n    <Route path=\"/prestigious-card-grading\" element={<Suspense fallback={<RouteFallback />}><PCGPublicSite /></Suspense>} />\n    <Route path=\"/prestigious-card-grading/grading\" element={<Suspense fallback={<RouteFallback />}><PCGPublicSite page=\"grading\" /></Suspense>} />\n    <Route path=\"/prestigious-card-grading/verify\" element={<Suspense fallback={<RouteFallback />}><PCGPublicSite page=\"verify\" /></Suspense>} />\n    <Route path=\"/prestigious-card-grading/pop-report\" element={<Suspense fallback={<RouteFallback />}><PCGPublicSite page=\"pop\" /></Suspense>} />\n    <Route path=\"/prestigious-card-grading/population-report\" element={<Suspense fallback={<RouteFallback />}><PCGPublicSite page=\"pop\" /></Suspense>} />\n    <Route path=\"/prestigious-card-grading/submit\" element={<Suspense fallback={<RouteFallback />}><PCGPublicSite page=\"submit\" /></Suspense>} />\n    <Route path=\"/prestigious-card-grading/shop\" element={<Suspense fallback={<RouteFallback />}><PCGPublicSite page=\"shop\" /></Suspense>} />\n    <Route path=\"/prestigious-card-grading/contact\" element={<Suspense fallback={<RouteFallback />}><PCGPublicSite page=\"contact\" /></Suspense>} />\n    {publicRoutes}{authRoutes}<Route path=\"*\" element={<Suspense fallback={<RouteFallback />}><NotFound /></Suspense>} />\n  </Routes></div>;\n}\n"},{"path":"supabase/functions/pcg-customer-progress/index.ts","content":"import {serve} from \"https://deno.land/std@0.168.0/http/server.ts\";\nimport {createClient} from \"https://esm.sh/@supabase/supabase-js@2\";\n\nexport const FUNCTION_VERSION='1.4.0-pcg-public-site';\nconst cors={'Access-Control-Allow-Origin':'*','Access-Control-Allow-Headers':'authorization, x-client-info, apikey, content-type','Access-Control-Allow-Methods':'GET, POST, OPTIONS'};\nconst json=(body:unknown,status=200)=>new Response(JSON.stringify(body),{status,headers:{...cors,'Content-Type':'application/json','Cache-Control':'no-store'}});\nconst normalize=(v:unknown)=>String(v||'').trim();\nconst modeFor=(status:string)=>['received','intake_imaging'].includes(status)?'received':['authentication','grading','encapsulation','qa'].includes(status)?'grading':status==='ready'?'completed':['shipped','picked_up','delivered','closed'].includes(status)?'mailed':'received';\nconst safeCard=(card:any)=>({id:card.id,cert_number:card.cert_number||null,year:card.year||null,brand_set:card.brand_set||null,player_character:card.player_character||null,card_number:card.card_number||null,variation:card.variation||null,card_description:card.card_description||card.variation||null,autograph_present:card.autograph_present??null,grade:card.grade??null,grade_label:card.grade_label||null,front_image_url:card.front_image_url||null,back_image_url:card.back_image_url||null,slab_image_url:card.slab_image_url||null,population_count:card.population_count??null});\nasync function resolvePcg(supabase:any,tenantSlug:string){\n  if(!tenantSlug)return null;\n  const{data:tenant,error}=await supabase.from('tenants').select('id,company_slug,company_dba_name,company_legal_name,name,company_logo_url,company_phone,company_email,company_address,company_mailing_address,status,is_active,settings').eq('company_slug',tenantSlug).maybeSingle();\n  if(error)throw error;\n  const settings=(tenant?.settings||{}) as Record<string,any>;\n  const identity=[tenant?.company_slug,tenant?.company_dba_name,tenant?.company_legal_name,tenant?.name].filter(Boolean).join(' ').toLowerCase();\n  const pcg=Boolean(tenant?.id)&&(tenant?.is_active!==false)&&String(tenant?.status||'active').toLowerCase()!=='deleted'&&(tenantSlug==='pcg'||String(settings.workspace_type||'').toLowerCase()==='card_grading'||String(settings.routing_family||'').toUpperCase()==='CARD_GRADING_OPS'||identity.includes('prestigious card grading'));\n  return pcg?{tenant,settings}:null\n}\nserve(async(req)=>{\n  if(req.method==='OPTIONS')return new Response(null,{headers:cors});\n  const url=new URL(req.url);\n  if(req.method==='GET'&&url.pathname.endsWith('/health'))return json({ok:true,service:'pcg-customer-progress',version:FUNCTION_VERSION,public_actions:['public_profile','featured_cards','population_report','cert_lookup','legacy_path_lookup'],progress_contract:'order+email'});\n  if(req.method!=='POST')return json({ok:false,error:'Method not allowed'},405);\n  try{\n    const body=await req.json().catch(()=>({})),action=normalize(body.action).toLowerCase();\n    const tenantSlug=normalize(body.tenant_slug||'pcg').toLowerCase();\n    const supabase=createClient(Deno.env.get('SUPABASE_URL')||'',Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')||'');\n    const resolved=await resolvePcg(supabase,tenantSlug);\n    if(!resolved)return json({ok:false,error:action==='cert_lookup'?'We could not verify that PCG certification.':'We could not match that PCG record.'},200);\n    const{tenant,settings}=resolved;\n    if(action==='public_profile'){\n      const presence=(settings.public_presence||{}) as Record<string,any>,media=(settings.media_branding||{}) as Record<string,any>;\n      const paymentActive=String(settings.payment_processor_status||'').toLowerCase()==='external_payment_link_active';\n      return json({ok:true,data:{company_name:tenant.company_legal_name||tenant.company_dba_name||tenant.name||'Prestigious Card Grading LLC',short_name:tenant.company_dba_name||'PCG',logo_url:tenant.company_logo_url||null,background_url:media.hero_background_url||settings.background_image_url||settings.backgroundImageUrl||null,phone:tenant.company_phone||null,email:tenant.company_email||null,address:tenant.company_address||tenant.company_mailing_address||null,grading_services:Array.isArray(settings.grading_services)?settings.grading_services:[],no_upcharges:settings.no_upcharges===true,booking_url:presence?.bookmedirectly?.url||settings.canonical_booking_route||null,progress_url:presence?.whatsmyprogress?.url||settings.canonical_public_route||null,payment_url:paymentActive?settings.stripe_payment_link||null:null,public_cert_lookup:settings.public_cert_lookup!==false}});\n    }\n    if(action==='featured_cards'){\n      const{data:cards,error}=await supabase.from('card_grading_cards').select('id,cert_number,year,brand_set,player_character,card_number,variation,card_description,autograph_present,grade,grade_label,front_image_url,back_image_url,slab_image_url,population_count').eq('tenant_id',tenant.id).limit(80);\n      if(error)throw error;\n      const featured=(cards||[]).filter((card:any)=>Boolean(card.slab_image_url||card.front_image_url||card.back_image_url)).slice(0,12).map(safeCard);\n      return json({ok:true,data:{cards:featured}});\n    }\n    if(action==='population_report'){\n      const query=normalize(body.query).toLowerCase().slice(0,100);\n      const{data:cards,error}=await supabase.from('card_grading_cards').select('year,brand_set,player_character,card_number,variation,grade,grade_label').eq('tenant_id',tenant.id).not('grade','is',null).limit(5000);\n      if(error)throw error;\n      const filtered=(cards||[]).filter((card:any)=>{\n        if(!query)return true;\n        return [card.year,card.brand_set,card.player_character,card.card_number,card.variation].filter(Boolean).join(' ').toLowerCase().includes(query);\n      });\n      const grouped=new Map<string,any>();\n      for(const card of filtered){\n        const key=[card.year||'',card.brand_set||'',card.player_character||'',card.card_number||'',card.variation||'',card.grade??'',card.grade_label||''].join('|');\n        const current=grouped.get(key);\n        if(current){current.population+=1;continue}\n        grouped.set(key,{year:card.year||null,brand_set:card.brand_set||null,player_character:card.player_character||null,card_number:card.card_number||null,variation:card.variation||null,grade:card.grade??null,grade_label:card.grade_label||null,population:1});\n      }\n      const rows=[...grouped.values()].sort((a:any,b:any)=>b.population-a.population||String(a.player_character||a.brand_set||'').localeCompare(String(b.player_character||b.brand_set||''))).slice(0,150);\n      return json({ok:true,data:{rows,total_matching_cards:filtered.length}});\n    }\n    if(action==='cert_lookup'){\n      const cert=normalize(body.cert_number).toUpperCase();if(!cert||cert.length>80)return json({ok:false,error:'Enter a PCG certification number.'},200);\n      const{data:card,error}=await supabase.from('card_grading_cards').select('id,cert_number,year,brand_set,player_character,card_number,variation,card_description,autograph_present,grade,grade_label,front_image_url,back_image_url,slab_image_url,population_count').eq('tenant_id',tenant.id).ilike('cert_number',cert).maybeSingle();\n      if(error)throw error;if(!card?.id)return json({ok:false,error:'No PCG card matched that certification number.'},200);\n      return json({ok:true,data:{card:safeCard(card)}});\n    }\n    if(action==='legacy_path_lookup'){\n      const raw=normalize(body.path||body.source_url);if(!raw||raw.length>800)return json({ok:false,error:'Legacy card link not found.'},200);\n      let path=raw;try{const parsed=new URL(raw,'https://www.pcgslab.com');path=parsed.pathname}catch{}\n      if(!path.startsWith('/'))path='/'+path;\n      const candidates=['https://www.pcgslab.com'+path,'https://pcgslab.com'+path];\n      const{data:row,error}=await supabase.from('pcg_import_rows').select('canonical_card_id').eq('tenant_id',tenant.id).in('source_url',candidates).not('canonical_card_id','is',null).limit(1).maybeSingle();\n      if(error)throw error;if(!row?.canonical_card_id)return json({ok:false,error:'Legacy card link not found.'},200);\n      const{data:card,error:cardError}=await supabase.from('card_grading_cards').select('id,cert_number,year,brand_set,player_character,card_number,variation,card_description,autograph_present,grade,grade_label,front_image_url,back_image_url,slab_image_url,population_count').eq('tenant_id',tenant.id).eq('id',row.canonical_card_id).maybeSingle();\n      if(cardError)throw cardError;if(!card?.id)return json({ok:false,error:'Legacy card link not found.'},200);\n      return json({ok:true,data:{card:safeCard(card)}});\n    }\n    const submissionNumber=normalize(body.submission_number).toUpperCase(),email=normalize(body.email).toLowerCase();\n    if(!submissionNumber||!email||!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email))return json({ok:false,error:'Enter your order number and the email used for the order.'},200);\n    const{submission}= {submission:(await supabase.from('card_grading_submissions').select('id,submission_number,customer_name,customer_email,service_tier,status,received_at,due_at,tracking_out,payment_status,delivery_method,return_shipping_method,return_shipping_cost,return_insurance_amount').eq('tenant_id',tenant.id).eq('submission_number',submissionNumber).ilike('customer_email',email).maybeSingle()).data};\n    if(!submission?.id)return json({ok:false,error:'We could not match that order and email.'},200);\n    const{data:cards,error:cardsError}=await supabase.from('card_grading_cards').select('id,sequence_number,cert_number,year,brand_set,player_character,card_number,card_description,autograph_present,variation,grade,grade_label,status,front_image_url,back_image_url,slab_image_url').eq('tenant_id',tenant.id).eq('submission_id',submission.id).order('sequence_number',{ascending:true});\n    if(cardsError)throw cardsError;\n    return json({ok:true,data:{tenant:{company_name:tenant.company_dba_name||tenant.company_legal_name||tenant.name||'Prestigious Card Grading',company_slug:tenant.company_slug,logo_url:tenant.company_logo_url||null},order:{submission_number:submission.submission_number,customer_name:submission.customer_name||'Collector',service_tier:submission.service_tier,status:submission.status,mode:modeFor(String(submission.status||'')),received_at:submission.received_at,due_at:submission.due_at,tracking_out:submission.tracking_out||null,payment_status:submission.payment_status||null,delivery_method:submission.delivery_method||null,return_shipping_method:submission.return_shipping_method||null,return_shipping_cost:submission.return_shipping_cost??null,return_insurance_amount:submission.return_insurance_amount??null},cards:(cards||[]).map((card:any)=>({id:card.id,sequence_number:card.sequence_number,cert_number:card.cert_number||null,year:card.year||null,brand_set:card.brand_set||null,player_character:card.player_character||null,card_number:card.card_number||null,card_description:card.card_description||card.variation||null,autograph_present:card.autograph_present??null,grade:card.grade??null,grade_label:card.grade_label||null,status:card.status,front_image_url:card.front_image_url||null,back_image_url:card.back_image_url||null,slab_image_url:card.slab_image_url||null}))}});\n  }catch(error){console.error('[pcg-customer-progress]',error);return json({ok:false,error:'PCG is temporarily unavailable. Please try again.'},500)}\n});"}],"branch":"ai/objective-first-repair-442ab3779a77","writes":[],"patches":[],"version":1,"approved":true,"missionId":"442ab377-9a77-41b0-9ae1-ac6edc326cc4","objective":"Continue the same PCG website mission. Apply these exact complete file writes, then Gate, squash merge, release the affected frontend and pcg-customer-progress edge function, and prove the live public route on desktop and mobile.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/card-grading/PCGPublicSite.tsx","src/routes/appRouteClassifier.ts","src/PublicAppShell.tsx","supabase/functions/pcg-customer-progress/index.ts"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"442ab377-9a77-41b0-9ae1-ac6edc326cc4","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/card-grading/PCGPublicSite.tsx","src/routes/appRouteClassifier.ts","src/PublicAppShell.tsx","supabase/functions/pcg-customer-progress/index.ts"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"cf5eaf1e34b99d6c485ebf4a3f62a7db24a56fcb8fd840151271f58930aa49a9","replayCount":0,"serializedBytes":100399},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T01:13:42.274181+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:442ab377-9a77-41b0-9ae1-ac6edc326cc4:repository-mutation-intent:cf5eaf1e34b99d6c485ebf4a3f62a7db24a56fcb8fd840151271f58930aa49a9:0","mission_step_id":"f1ad9e63-da9c-46fb-8eee-6cd8080f76b4","command_center_event_id":"442ab377-9a77-41b0-9ae1-ac6edc326cc4"},{"id":"a2a7bde6-f91c-49ab-86c1-323560aba4d7","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-e7589b23963e","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.71-knocklaunch-mcp-operational","prNumber":null,"terminal":false,"missionId":"e7589b23-963e-4706-8c5f-3100e2766eeb","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1212,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":485,"providerAuthMs":0,"ledgerPrepareMs":485,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":485,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":485,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"e7589b23-963e-4706-8c5f-3100e2766eeb"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4351,"likelyAffectedFiles":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:10:14.719999+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:e7589b23-963e-4706-8c5f-3100e2766eeb:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"d990b784-1351-4bb9-b235-75ec45abba64","command_center_event_id":"e7589b23-963e-4706-8c5f-3100e2766eeb"},{"id":"a2a8bf8f-e7d8-49d6-937d-58889f5f56ee","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"e3af6855cea1b0c32505b6b158f7f38245af6d20","sourceSha":"4f1280e922de91f69d820526c5977b65ba6d6f78","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T22:36:12.906248+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"4f1280e922de91f69d820526c5977b65ba6d6f78","external_id":"canonical-release-4f1280e922de","receipt_type":"canonical_release_status","idempotency_key":"mission:df6df707-c0c7-4495-934c-d2b1af7b5186:forgejo-release-ancestry:4f1280e922de91f69d820526c5977b65ba6d6f78:e3af6855cea1b0c32505b6b158f7f38245af6d20:ancestry_read_retryable","mission_step_id":"9bbcf18c-c010-4c0d-b61e-af5254c3def8","command_center_event_id":"df6df707-c0c7-4495-934c-d2b1af7b5186"},{"id":"a2aa74f5-b4c9-4910-b345-fbd08517d37e","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"supabase/config.toml","content":"project_id = \"ymntrajfubicyxwwdxxa\"\n\n[functions]\n  [functions.console-ops]\n    # Session and current platform-admin authority are checked inside the function.\n    verify_jwt = false\n  [functions.qr-suite]\n    verify_jwt = false\n  [functions.owner-seo-audit]\n    # Private Knock Launch OS owner tool. The function validates the bearer and requires the authenticated user to match the fixed personal tenant owner_id before scanning the fixed hostname allowlist.\n    verify_jwt = false\n  [functions.owner-search-console]\n    # Private Knock Launch OS owner Search Console tool. OAuth/data authorization is enforced in-function against the fixed personal tenant owner and fixed web-property allowlist.\n    verify_jwt = false\n  [functions.activity-timeline]\n    verify_jwt = false\n  [functions.admin]\n    verify_jwt = true\n  [functions.admin-create-user]\n    verify_jwt = true\n  [functions.admin-impersonate]\n    verify_jwt = true\n  [functions.admin-leads]\n    verify_jwt = true\n  [functions.admin-operations]\n    verify_jwt = true\n  [functions.admin-reset-password]\n    verify_jwt = false\n  [functions.admin-status]\n    verify_jwt = true\n  [functions.admin-tenant-preview]\n    verify_jwt = true\n  [functions.admin-tenant-mode-image-upload]\n    # Authenticated MODES media mutation. The function validates the Bearer JWT and tenant authority in-function before service-role writes.\n    verify_jwt = false\n  [functions.aerial-orders]\n    verify_jwt = true\n  [functions.agreement-sign]\n    verify_jwt = false\n  [functions.agreements]\n    verify_jwt = true\n  [functions.analytics-engine]\n    verify_jwt = false\n  [functions.ai-respond]\n    verify_jwt = false\n  [functions.auto-unlock-document-scan]\n    # Public 321 Auto Unlock document scan. The function rate-limits and only returns confidence-gated intake fields; it performs no database or storage writes.\n    verify_jwt = false\n  [functions.auto-unlock-intake]\n    # Public 321 Auto Unlock intake. Server-validates identity/authority selections, creates an awaiting-signature request, and prepares the existing KnockLaunch e-sign agreement.\n    verify_jwt = false\n  [functions.whatsmyprogress-waitlist]\n    # Public WhatsMyProgress.com launch waitlist. The function enforces allowed origins, validation, rate limits, dedupe, and fixed tenant binding internally.\n    verify_jwt = false\n  [functions.roof-damage-analysis]\n    # Authenticated tenant-user inspection analysis. The function validates the bearer and tenant membership internally before service-role reads or writes.\n    verify_jwt = false\n  [functions.cc-agent]\n    verify_jwt = false\n  [functions.cc-tools]\n    verify_jwt = false\n  [functions.cc-action-logs]\n    verify_jwt = false\n  [functions.cc-deploy-request]\n    verify_jwt = false\n  [functions.cc-deploy-controller]\n    verify_jwt = false\n  [functions.cc-notify-owner]\n    verify_jwt = false\n  [functions.command-center-autopilot]\n    verify_jwt = false\n  [functions.apopka-search]\n    verify_jwt = false\n  [functions.appointments-operations]\n    verify_jwt = false\n  [functions.audit-fix-leads]\n    verify_jwt = true\n  [functions.auth-email-hook]\n    verify_jwt = false\n  [functions.auth-login]\n    verify_jwt = false\n  [functions.auth-operations]\n    verify_jwt = false\n  [functions.background-enrich]\n    verify_jwt = false\n  [functions.batch-document-upload]\n    # Authenticated tenant-scoped upload. Function additionally proves active membership/role\n    # before using service-role storage/database writes.\n    verify_jwt = true\n  [functions.batch-photo-commit]\n    verify_jwt = false\n  [functions.brevard-bass-search]\n    verify_jwt = false\n  [functions.bulk-enrich-permits]\n    verify_jwt = false\n  [functions.bulk-geocode]\n    verify_jwt = false\n  [functions.calls]\n    verify_jwt = true\n  [functions.calls-manage]\n    verify_jwt = false\n  [functions.call-session-status]\n    verify_jwt = false\n  [functions.initiate-call]\n    # Authenticated CRM click-to-call. The function also validates the bearer token internally.\n    verify_jwt = true\n  [functions.canvassing-doors]\n    verify_jwt = true\n  [functions.cape-canaveral-bsa-search]\n    verify_jwt = false\n  [functions.check-global-pool]\n    verify_jwt = true\n  [functions.claim-global-lead]\n    verify_jwt = true\n  [functions.claim-lead]\n    verify_jwt = true\n  [functions.clermont-energov-search]\n    verify_jwt = false\n  [functions.cocoa-beach-opengov-search]\n    verify_jwt = false\n  [functions.cocoa-citizenserve-search]\n    verify_jwt = false\n  [functions.communication-hub]\n    verify_jwt = false\n  [functions.communication-setup-request]\n    # Authenticated workspace setup request. The function re-validates the bearer and tenant membership before service-role writes.\n    verify_jwt = true\n  [functions.compile-leads]\n    verify_jwt = false\n  [functions.config-manage]\n    verify_jwt = true\n  [functions.contacts]\n    # Contacts validates Supabase user JWTs or exact single-use Capability Layer leases in-function.\n    verify_jwt = false\n  [functions.calendar-domain]\n    # Native Calendar validates Supabase user JWTs or exact single-use Capability Layer leases in-function.\n    verify_jwt = false\n  [functions.crm-ai]\n    verify_jwt = false\n  [functions.customer-portal]\n    verify_jwt = false\n  [functions.shared-claims]\n    # Cross-tenant claim collaboration requires an authenticated bearer JWT.\n    verify_jwt = true\n  [functions.daytona-beach-ims-search]\n    verify_jwt = false\n  [functions.deland-accela-search]\n    verify_jwt = false\n  [functions.deltona-citizenserve-search]\n    verify_jwt = false\n  [functions.dialogue-operations]\n    verify_jwt = false\n  [functions.dnc-operations]\n    verify_jwt = false\n  [functions.documents]\n    verify_jwt = false\n  [functions.document-request-public]\n    verify_jwt = false\n  [functions.lawn-care-service-request]\n    # Public customer intake. The function performs its own validation and only\n    # writes through the service-role client after resolving an active tenant.\n    verify_jwt = false\n  [functions.mobile-vendor-event-request]\n    # Public event intake. The function validates required fields and resolves\n    # an active mobile-vendor tenant before any service-role write.\n    verify_jwt = false\n  [functions.entertainment-fanbase]\n    # Mixed auth: public fan join is validated in-function; owner/admin cockpit actions\n    # authenticate the bearer and prove tenant authority before service-role access.\n    verify_jwt = false\n  [functions.mobile-vendor-growth]\n    # Public club join/unsubscribe are validated in-function; owner loyalty and\n    # campaign actions authenticate the bearer and prove tenant authority.\n    verify_jwt = false\n  [functions.mobile-vendor-loyalty-member]\n    # Customer OTP/session actions self-authorize with hashed member sessions;\n    # owner review actions authenticate bearer and tenant authority in-function.\n    verify_jwt = false\n  [functions.mobile-vendor-email-intelligence]\n    # Provider-agnostic inbound email ingestion. The function authenticates a\n    # provider webhook secret or a tenant bearer token before service-role access.\n    verify_jwt = false\n  [functions.opportunity-radar]\n    # The function performs its own bearer/service authorization and exposes\n    # an anonymous /health endpoint for canonical runtime proof.\n    verify_jwt = false\n  [functions.drive-import]\n    verify_jwt = true\n  [functions.drive-operations]\n    verify_jwt = false\n  [functions.drive-sync]\n    verify_jwt = true\n  [functions.duplicate-management]\n    verify_jwt = false\n  [functions.edgewater-bsa-search]\n    verify_jwt = false\n  [functions.emergency-reset]\n    verify_jwt = false\n  [functions.extract-for-contact]\n    verify_jwt = false  [functions.field-operations]\n    verify_jwt = false\n  [functions.fill-pdf-form]\n    verify_jwt = true\n  [functions.flagler-beach-bsa-search]\n    verify_jwt = false\n  [functions.followups-operations]\n    verify_jwt = false\n  [functions.fort-pierce-legacy-arcgis]\n    verify_jwt = false\n  [functions.gas-proxy]\n    verify_jwt = true\n  [functions.generate-roof-report]\n    verify_jwt = true\n  [functions.generate-pa-claim-review]\n    # Authenticated PA report generation. The function validates the bearer token,\n    # tenant membership, and feature entitlement internally before service-role access.\n    verify_jwt = false\n  [functions.geocode]\n    verify_jwt = false\n  [functions.global-unassigned-leads]\n    verify_jwt = true\n  [functions.health-check]\n    verify_jwt = false\n  [functions.import-noaa-storms]\n    verify_jwt = false\n  [functions.ims-search]\n    verify_jwt = false\n  [functions.indian-river-search]\n    verify_jwt = false\n  [functions.invoices]\n    verify_jwt = true\n  [functions.jobs]\n    verify_jwt = true\n  [functions.kissimmee-accela-search]\n    verify_jwt = false\n  [functions.lakeland-accela-search]\n    verify_jwt = false\n  [functions.lead-auto-repair]\n    verify_jwt = true\n  [functions.lead-bulk-cleanup]\n    verify_jwt = true\n  [functions.lead-duplicate-detection]\n    verify_jwt = true\n  [functions.lead-quality-scan]\n    verify_jwt = true\n  [functions.leads]\n    verify_jwt = true\n  [functions.leads-add]\n    verify_jwt = false\n  [functions.leads-claim]\n    verify_jwt = false\n  [functions.leads-list]\n    verify_jwt = false\n  [functions.leads-outcome]\n    verify_jwt = false\n  [functions.leesburg-etrakit-search]\n    verify_jwt = false\n  [functions.marion-county-energov-search]\n    verify_jwt = false\n  [functions.mark-document-request-uploaded]\n    verify_jwt = false\n  [functions.melbourne-energov-search]\n    verify_jwt = false\n  [functions.new-smyrna-beach-energov-search]\n    verify_jwt = false\n  [functions.ocala-energov-search]\n    verify_jwt = false\n  [functions.ormond-beach-energov-search]\n    verify_jwt = false\n  [functions.palm-coast-energov-search]\n    verify_jwt = false\n  [functions.parse-hail-intel]\n    verify_jwt = false\n  [functions.permits-import]\n    verify_jwt = false\n  [functions.photos]\n    verify_jwt = true\n  [functions.tenant-photo-studio]\n    verify_jwt = false\n  [functions.pipeline-automation]\n    verify_jwt = false\n  [functions.pipelines-manage]\n    verify_jwt = true\n  [functions.port-orange-smartgov-search]\n    verify_jwt = false\n  [functions.process-email-queue]\n    verify_jwt = true\n  [functions.process-lead-batch]\n    verify_jwt = true\n  [functions.property-discovery]\n    verify_jwt = false\n  [functions.property-enrichment]\n    verify_jwt = false\n  [functions.property-lookup]\n    verify_jwt = true\n  [functions.recent-storms-in-bounds]\n    verify_jwt = false\n  [functions.release-lead]\n    verify_jwt = true\n  [functions.repair-unassigned-pool]\n    verify_jwt = true\n  [functions.rockledge-bsa-search]\n    verify_jwt = false\n  [functions.roof-ai-detection]\n    verify_jwt = false\n  [functions.roof-edge-detection]\n    verify_jwt = false\n  [functions.roof-estimator]\n    verify_jwt = false\n  [functions.roof-operations]\n    verify_jwt = false\n  [functions.satellite-beach-bsa-search]\n    verify_jwt = false\n  [functions.scrape-spc-storms]\n    verify_jwt = false\n  [functions.security-operations]\n    # Mixed public/private security endpoint: anonymous access is restricted in-function to\n    # login lockout telemetry; all session, alert, permission, and admin actions authenticate\n    # the bearer and enforce self/tenant/platform scope before service-role access.\n    verify_jwt = false\n  [functions.seminole-parcel-sync]\n    verify_jwt = false\n  [functions.seminole-search]\n    verify_jwt = false\n  [functions.send-email]\n    verify_jwt = true\n  [functions.self-serve-demo]\n    # Public demo discovery/capture. Bounds website scanning, rejects private-network targets, and never provisions production tenants or executes outbound automation.\n    verify_jwt = false\n  [functions.submit-demo-request]\n    # Public intake validates and rate-limits input in-function; all privileged writes use the service role server-side.\n    verify_jwt = false\n  [functions.zoho-mail]\n    # OAuth callback is public; all tenant actions authenticate the bearer and tenant authority inside the function.\n    verify_jwt = false\n  [functions.capability-router]\n    # Capability Router authenticates Supabase user JWTs and verified cc-execution bearers in-function so delegated execution can reach its lease gate.\n    verify_jwt = false\n  [functions.application-api]\n    # Application API supports public catalog/customer-token reads plus tenant-user and delegated Command Center execution; authorization is enforced in-function.\n    verify_jwt = false\n  [functions.mail360]\n    # Legacy function retained only for rollback history; active tenant email uses zoho-mail.\n    verify_jwt = true\n  [functions.pcg-commerce-webhook]\n    # PCG commerce provider callbacks authenticate with a dedicated high-entropy channel secret in-function.\n    verify_jwt = false\n  [functions.mail360-webhook]\n    # Mail360 provider callbacks authenticate with the dedicated high-entropy webhook secret in-function.\n    verify_jwt = false\n  [functions.send-invitation]\n    verify_jwt = false\n  [functions.accept-invitation]\n    # Public inspection is token-scoped; acceptance validates the bearer JWT inside the function.\n    verify_jwt = false\n  [functions.send-sms]\n    verify_jwt = true\n  [functions.sequence-executor]\n    verify_jwt = false\n  [functions.signup-manage]\n    verify_jwt = false\n  [functions.sms-webhook]\n    verify_jwt = false\n  [functions.st-augustine-energov-search]\n    verify_jwt = false\n  [functions.st-cloud-etrakit-search]\n    verify_jwt = false\n  [functions.st-johns-county-energov-search]\n    verify_jwt = false\n  [functions.storm-data-proxy]\n    verify_jwt = false\n  [functions.storm-lookup]\n    verify_jwt = false\n  [functions.tenant-context]\n    # Authenticated tenant-context lookup; live runtime already enforces gateway JWT.\n    verify_jwt = true\n  [functions.tenant-manage]\n    verify_jwt = true\n  [functions.tenant-search]\n    verify_jwt = false\n  [functions.territory-tools]\n    verify_jwt = true\n  [functions.titusville-bsa-search]\n    verify_jwt = false\n  [functions.unified-enrich]\n    verify_jwt = false\n  [functions.universal-extractor]\n    verify_jwt = false\n  [functions.user-roles-manage]\n    verify_jwt = true\n  [functions.user-whoami]\n    verify_jwt = true\n  [functions.verify-admin]\n    verify_jwt = false\n  [functions.view-config-manage]\n    verify_jwt = true\n  [functions.web-search-storms]\n    verify_jwt = false\n  [functions.west-melbourne-bsa-search]    verify_jwt = false\n  [functions.winter-haven-energov-search]\n    verify_jwt = false\n  [functions.workflows]\n    verify_jwt = true\n  [functions.workflows-manage]\n    verify_jwt = true\n  [functions.workspace-operations]\n    verify_jwt = false\n  [functions.send-transactional-email]\n    verify_jwt = true\n  [functions.preview-transactional-email]\n    verify_jwt = false\n  [functions.handle-email-unsubscribe]\n    verify_jwt = false\n  [functions.handle-email-suppression]\n    verify_jwt = false\n  [functions.academy-roleplay]\n    verify_jwt = true\n  [functions.academy-sync-from-workflow]\n    verify_jwt = true\n  [functions.create-checkout]\n    verify_jwt = false\n  [functions.get-stripe-price]\n    verify_jwt = false\n  [functions.payments-webhook]\n    verify_jwt = false\n  [functions.finance-reports]\n    # Mixed auth: owner/admin actions validate the Supabase bearer in-function;\n    # scheduled dispatch validates the existing cc-execution machine bearer.\n    verify_jwt = false\n  [functions.finance-square]\n    # Square OAuth callback and payment webhook are public provider callbacks;\n    # owner actions authenticate the bearer and tenant authority inside the function.\n    verify_jwt = false\n  [functions.tenant-provider-connections]\n    # OAuth callbacks are public provider redirects; every tenant action validates\n    # the bearer and tenant owner/platform-admin authority inside the function.\n    verify_jwt = false\n\n  [functions.integrations-health]\n    verify_jwt = false\n  [functions.provision-trial-user]\n    # Legacy one-shot provisioning is restricted to signed-in platform admins.\n    verify_jwt = true\n  [functions.get-shared-storm-report]\n    verify_jwt = false\n  [functions.send-storm-report]\n    verify_jwt = true\n  [functions.twilio-amd-webhook]\n    verify_jwt = false\n  [functions.twilio-voice-webhook]\n    verify_jwt = false\n  [functions.twilio-recording-webhook]\n    verify_jwt = false\n  [functions.twilio-voicemail-webhook]\n    verify_jwt = false\n  [functions.twilio-sms-inbound-webhook]\n    verify_jwt = false\n  [functions.twilio-transcription-webhook]\n    verify_jwt = false\n  [functions.twilio-media-stream]\n    verify_jwt = false\n  [functions.compliance-daily-audit]\n    verify_jwt = false\n  [functions.twiml-bridge-confirm]\n    verify_jwt = false\n  [functions.twiml-transfer-target]\n    verify_jwt = false\n  [functions.twilio-transfer]\n    verify_jwt = true\n  [functions.twilio-transfer-complete]\n    verify_jwt = true\n  [functions.twiml-supervise]\n    verify_jwt = false\n  [functions.twilio-supervise]\n    verify_jwt = true\n  [functions.twiml-inbound-router]\n    verify_jwt = false\n  [functions.twiml-inbound-router-fallback]\n    verify_jwt = false\n  [functions.twiml-ivr-handle]\n    verify_jwt = false\n  [functions.twiml-ring-group]\n    verify_jwt = false\n  [functions.queue-callback-dispatch]\n    verify_jwt = true\n  [functions.twiml-voicemail-box]\n    verify_jwt = false\n  [functions.voicemail-recording-callback]\n    verify_jwt = false\n  [functions.analyze-voicemail]\n    verify_jwt = false\n  [functions.analyze-call-recording]\n    verify_jwt = false\n  [functions.twilio-browser-token]\n    verify_jwt = true\n  [functions.twiml-browser-dial]\n    verify_jwt = false\n  [functions.pa-lor-webhook]\n    verify_jwt = false\n  [functions.canvassing-visits]\n    # The function validates the caller JWT itself, then enforces tenant membership\n    # before any service-role write. Keep gateway verification disabled so the\n    # runtime contract matches the canonical registry entry.\n    verify_jwt = false\n  [functions.experience-studio-publish-tenant]    # Health/OpenAPI stay public for runtime proof; publish validates the platform-admin bearer token inside the function.\n    verify_jwt = false\n  [functions.experience-preview-session]\n    # Issue requests validate the owner JWT explicitly; validation requests use the opaque short-lived token.\n    verify_jwt = false\n  [functions.pa-manage]\n    # The function validates the caller JWT explicitly, then uses that token for tenant RLS.\n    verify_jwt = false\n  [functions.portal-auth]\n    # Customer validation uses a hashed, expiring portal token; link administration validates the owner JWT explicitly.\n    verify_jwt = false\n  [functions.tenant-media-library]\n    # Authenticated mutations validate caller JWTs inside the function; published and HMAC-signed asset GET/HEAD URLs must remain directly streamable for browser media previews.\n    verify_jwt = false\n  [functions.tenant-storage-migration-v1]\n    # One-time machine cleanup. Gateway JWT is disabled; a database-generated, RLS-hidden nonce is required for every mutation and is rotated after completion.\n    verify_jwt = false\n  [functions.system-backup]\n    # Machine-only backup orchestrator. Gateway JWT checks are disabled so pg_cron/pg_net can invoke it; the function validates a high-entropy Vault-backed trigger token before any privileged work.\n    verify_jwt = false\n  [functions.visual-witness-container-bootstrap]\n    # Machine-only bootstrap broker. It validates the cc-execution bearer by callback against cc-execution, binds the request to the exact deployed source SHA, and returns only AES-GCM ciphertext.\n    verify_jwt = false\n  [functions.mail-continuity]\n    # Custom auth: owner/admin actions validate caller JWTs inside the function; machine health ticks use a Vault-backed token; service-to-service launch reconciliation uses the service-role bearer.\n    verify_jwt = false\n  [functions.owner-storage-backup]\n    # Machine-only read-only Storage exporter. Gateway JWT checks are disabled so authorized MSI clients can reach the function; protected actions are authenticated inside the function with timestamped RSA-SHA256 machine signatures.\n    verify_jwt = false\n"},{"path":"supabase/functions/owner-storage-backup/index.ts","content":"import { createClient } from 'https://esm.sh/@supabase/supabase-js@2.80.0';\n\nexport const BACKUP_CONTRACT = 'KNOCKLAUNCH_OWNER_STORAGE_BACKUP_V1';\nexport const SIGNED_URL_TTL_SECONDS = 600;\nexport const MAX_SIGN_BATCH = 100;\nexport const MAX_TIMESTAMP_SKEW_SECONDS = 120;\nexport const MAX_LIST_DEPTH = 32;\nexport const MAX_LIST_OBJECTS = 100_000;\n\nconst SUPABASE_URL = Deno.env.get('SUPABASE_URL') ?? '';\nconst SERVICE_ROLE = Deno.env.get('SUPABASE_SERVICE_ROLE_KEY') ?? '';\n\nconst TRUSTED_PUBLIC_KEYS: Record<string, string> = {\n  'DESKTOP-TO28G8T': `-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApWVZZVIW4Arohn8EBoox\nZndzrqgjvKTbRlpYLIha88lnxCqiEE1wRMsUj/UOFunYV3tLPBNVCXXQhPibstJG\nC9toaqQkd3js9XWCHKJbBHmhp5y6MKeOXiIO3o4HmZXXDvVtmARSev6FJtFLigw8\nv00kd6XuBgQ47854L93NtJoGO8sXVNVaDd58c/NbOrhD0zIcpNTD54uNAXNEUTh8\nxZfLl9z7DUAk08Wt41VcIafqLuldbhBDjjN0tM4OAwTMHJSXCamDHbhVFy2sy4s6\n8UJiVwpSSfoF5cetzTjpJ7UG0VLPfaNMAAUtBOa6lzriN4QUi8LCCel4Eim7JZtE\n3QIDAQAB\n-----END PUBLIC KEY-----`,\n  'MSI-LAPTOP': `-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7JZhCIxngm1SSiS9iydB\nfNiS0nrOwnZb4n7GnRv27iNbVOENOaEv1KeZYI55K6VVvd6Qq7fq8ZoARxwu04YD\n5SLScz8icxjhVhDWixwCsy59xD8JREnbAZOqY8wyaRHNht8OWXvhT5y2Z793nAdw\nwoazi5exyb7I3ZPbRQkeVxrtK8pCUV0/+68YEEcMbatH1fhnkbEvJtefj9QrGRnk\n4o+qp2ipGv7Rj+79lyEhd67gslMcvWgO1YX+TNoFNvFzmLJ4Sv7QlpXfTTbE3rUo\n1q6V/IHUDgfRY7D9gYhHGe19oXyEEzhOufZxX1GuUcd6Iy5IhTXiMBHWbe4IAEpQ\nJQIDAQAB\n-----END PUBLIC KEY-----`,\n};\n\nconst admin = createClient(SUPABASE_URL, SERVICE_ROLE, {\n  auth: { persistSession: false, autoRefreshToken: false },\n});\n\nconst encoder = new TextEncoder();\nconst cors = {\n  'Access-Control-Allow-Origin': '*',\n  'Access-Control-Allow-Headers': 'content-type,x-kl-backup-machine,x-kl-backup-timestamp,x-kl-backup-nonce,x-kl-backup-signature',\n  'Access-Control-Allow-Methods': 'GET,POST,OPTIONS',\n};\n\nconst json = (body: unknown, status = 200) => new Response(JSON.stringify(body), {\n  status,\n  headers: { ...cors, 'content-type': 'application/json', 'cache-control': 'no-store' },\n});\n\nfunction base64ToBytes(value: string) {\n  const raw = atob(value);\n  return Uint8Array.from(raw, (char) => char.charCodeAt(0));\n}\n\nfunction pemToDer(pem: string) {\n  return base64ToBytes(pem.replace(/-----BEGIN PUBLIC KEY-----|-----END PUBLIC KEY-----|\\s+/g, ''));\n}\n\nexport async function sha256HexBytes(bytes: Uint8Array) {\n  const digest = await crypto.subtle.digest('SHA-256', bytes);\n  return Array.from(new Uint8Array(digest), (byte) => byte.toString(16).padStart(2, '0')).join('');\n}\n\nasync function importPublicKey(pem: string) {\n  return crypto.subtle.importKey(\n    'spki',\n    pemToDer(pem),\n    { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' },\n    false,\n    ['verify'],\n  );\n}\n\nexport function canonicalSignedRequest(method: string, pathname: string, timestamp: string, nonce: string, bodyHash: string) {\n  return [method.toUpperCase(), pathname, timestamp, nonce, bodyHash.toLowerCase()].join('\\n');\n}\n\nexport async function verifyBackupRequest(req: Request, rawBody: Uint8Array, nowEpochSeconds = Math.floor(Date.now() / 1000)) {\n  const machine = String(req.headers.get('x-kl-backup-machine') || '').trim();\n  const timestampRaw = String(req.headers.get('x-kl-backup-timestamp') || '').trim();\n  const nonce = String(req.headers.get('x-kl-backup-nonce') || '').trim();\n  const signatureRaw = String(req.headers.get('x-kl-backup-signature') || '').trim();\n  const publicKeyPem = TRUSTED_PUBLIC_KEYS[machine];\n  if (!publicKeyPem) return { ok: false as const, error: 'backup_machine_unknown' };\n  if (!/^\\d{10,}$/.test(timestampRaw) || !/^[A-Za-z0-9._:-]{8,200}$/.test(nonce) || !signatureRaw) {\n    return { ok: false as const, error: 'backup_signature_headers_invalid' };\n  }\n  const timestamp = Number(timestampRaw);\n  if (!Number.isSafeInteger(timestamp) || Math.abs(nowEpochSeconds - timestamp) > MAX_TIMESTAMP_SKEW_SECONDS) {\n    return { ok: false as const, error: 'backup_signature_stale' };\n  }\n  let signature: Uint8Array;\n  try {\n    signature = base64ToBytes(signatureRaw);\n  } catch {\n    return { ok: false as const, error: 'backup_signature_invalid' };\n  }\n  const bodyHash = await sha256HexBytes(rawBody);\n  const canonical = canonicalSignedRequest(req.method, '/owner-storage-backup', timestampRaw, nonce, bodyHash);\n  try {\n    const key = await importPublicKey(publicKeyPem);\n    const valid = await crypto.subtle.verify('RSASSA-PKCS1-v1_5', key, signature, encoder.encode(canonical));\n    return valid ? { ok: true as const, machine, bodyHash } : { ok: false as const, error: 'backup_signature_invalid' };\n  } catch {\n    return { ok: false as const, error: 'backup_signature_invalid' };\n  }\n}\n\nfunction safeText(value: unknown, max = 4096) {\n  return String(value ?? '').trim().slice(0, max);\n}\n\nfunction safeMetadata(value: unknown) {\n  const metadata = value && typeof value === 'object' && !Array.isArray(value) ? value as Record<string, unknown> : {};\n  return {\n    size: Number(metadata.size ?? 0) || 0,\n    mimetype: safeText(metadata.mimetype ?? metadata.contentType, 240) || null,\n    cacheControl: safeText(metadata.cacheControl, 240) || null,\n    eTag: safeText(metadata.eTag ?? metadata.etag, 240) || null,\n    lastModified: safeText(metadata.lastModified, 240) || null,\n  };\n}\n\nexport async function listBucketObjects(storage: any, bucket: string) {\n  const output: Array<Record<string, unknown>> = [];\n  const visited = new Set<string>();\n\n  async function visit(prefix: string, depth: number) {\n    if (depth > MAX_LIST_DEPTH) throw new Error('backup_storage_depth_exceeded');\n    if (visited.has(prefix)) return;\n    visited.add(prefix);\n    let offset = 0;\n    while (true) {\n      const { data, error } = await storage.from(bucket).list(prefix, {\n        limit: 1000,\n        offset,\n        sortBy: { column: 'name', order: 'asc' },\n      });\n      if (error) throw error;\n      const rows = Array.isArray(data) ? data : [];\n      for (const item of rows) {\n        const name = safeText(item?.name);\n        if (!name || name === '.emptyFolderPlaceholder') continue;\n        const path = prefix ? `${prefix}/${name}` : name;\n        const isFile = Boolean(item?.id) || Boolean(item?.metadata);\n        if (isFile) {\n          const metadata = safeMetadata(item?.metadata);\n          const updatedAt = safeText(item?.updated_at, 80) || null;\n          const createdAt = safeText(item?.created_at, 80) || null;\n          const id = safeText(item?.id, 180) || null;\n          const sourceFingerprint = [id || '', updatedAt || '', metadata.size, metadata.eTag || '', metadata.lastModified || ''].join('|');\n          output.push({ bucket, path, id, createdAt, updatedAt, metadata, sourceFingerprint });\n          if (output.length > MAX_LIST_OBJECTS) throw new Error('backup_storage_object_limit_exceeded');\n        } else {\n          await visit(path, depth + 1);\n        }\n      }\n      if (rows.length < 1000) break;\n      offset += rows.length;\n    }\n  }\n\n  await visit('', 0);\n  return output;\n}\n\nexport async function dispatchBackupAction(client: any, body: any) {\n  const action = safeText(body?.action, 80);\n  if (action === 'list_buckets') {\n    const { data, error } = await client.storage.listBuckets();\n    if (error) throw error;\n    const buckets = (data || []).map((bucket: any) => ({\n      id: safeText(bucket?.id, 240),\n      name: safeText(bucket?.name, 240),\n      public: Boolean(bucket?.public),\n      createdAt: safeText(bucket?.created_at, 80) || null,\n      updatedAt: safeText(bucket?.updated_at, 80) || null,\n      fileSizeLimit: bucket?.file_size_limit ?? null,\n    }));\n    return { ok: true, contract: BACKUP_CONTRACT, buckets };\n  }\n  if (action === 'list_objects') {\n    const bucket = safeText(body?.bucket, 240);\n    if (!bucket) return { ok: false, error: 'bucket_required', status: 400 };\n    const objects = await listBucketObjects(client.storage, bucket);\n    return { ok: true, contract: BACKUP_CONTRACT, bucket, count: objects.length, objects };\n  }\n  if (action === 'sign_batch') {\n    const bucket = safeText(body?.bucket, 240);\n    const paths = Array.isArray(body?.paths) ? body.paths.map((value: unknown) => safeText(value)).filter(Boolean) : [];\n    if (!bucket) return { ok: false, error: 'bucket_required', status: 400 };\n    if (!paths.length || paths.length > MAX_SIGN_BATCH) return { ok: false, error: 'paths_batch_invalid', max: MAX_SIGN_BATCH, status: 400 };\n    const { data, error } = await client.storage.from(bucket).createSignedUrls(paths, SIGNED_URL_TTL_SECONDS);\n    if (error) throw error;\n    const signed = (data || []).map((row: any, index: number) => ({\n      path: safeText(row?.path || paths[index]),\n      signedUrl: safeText(row?.signedUrl, 8192) || null,\n      error: safeText(row?.error, 1000) || null,\n    }));\n    return { ok: true, contract: BACKUP_CONTRACT, bucket, expiresIn: SIGNED_URL_TTL_SECONDS, signed };  }\n  return { ok: false, error: 'unknown_action', status: 400 };\n}\n\nexport async function handleBackupRequest(req: Request, client = admin) {\n  if (req.method === 'OPTIONS') return new Response('ok', { headers: cors });\n  const url = new URL(req.url);\n  if (req.method === 'GET' && url.searchParams.get('mode') === 'health') {\n    return json({\n      ok: true,\n      service: 'owner-storage-backup',\n      contract: BACKUP_CONTRACT,\n      readOnly: true,\n      maxSignBatch: MAX_SIGN_BATCH,\n      signedUrlTtlSeconds: SIGNED_URL_TTL_SECONDS,\n      authentication: 'machine-rsa-sha256',\n    });\n  }\n  if (req.method !== 'POST') return json({ ok: false, error: 'method_not_allowed' }, 405);\n  const rawBody = new Uint8Array(await req.arrayBuffer());\n  const verified = await verifyBackupRequest(req, rawBody);\n  if (!verified.ok) return json({ ok: false, error: verified.error }, 401);\n  let body: any;\n  try {\n    body = JSON.parse(new TextDecoder().decode(rawBody));\n  } catch {\n    return json({ ok: false, error: 'invalid_json' }, 400);\n  }\n  const result = await dispatchBackupAction(client, body);\n  const status = Number((result as any)?.status || 200);\n  if ('status' in result) delete (result as any).status;\n  return json(result, status);\n}\n\nif (import.meta.main) {\n  Deno.serve(async (req) => {\n    try {\n      return await handleBackupRequest(req);\n    } catch (error) {\n      console.error('[owner-storage-backup]', error instanceof Error ? error.message : String(error));\n      return json({ ok: false, error: 'backup_internal_error' }, 500);\n    }\n  });\n}\n"},{"path":"supabase/functions/owner-storage-backup/index.test.ts","content":"import { assertEquals, assertRejects } from 'https://deno.land/std@0.224.0/assert/mod.ts';\nimport { canonicalSignedRequest, dispatchBackupAction, listBucketObjects, MAX_SIGN_BATCH } from './index.ts';\n\nDeno.test('canonical request binds method path timestamp nonce and body hash', () => {\n  assertEquals(canonicalSignedRequest('post', '/owner-storage-backup', '10', 'abc12345', 'AABB'), 'POST\\n/owner-storage-backup\\n10\\nabc12345\\naabb');\n});\n\nDeno.test('listBucketObjects paginates and recurses without mutation calls', async () => {\n  const calls: any[] = [];\n  const storage = {\n    from(bucket: string) {\n      return {\n        async list(prefix: string, options: any) {\n          calls.push({ bucket, prefix, offset: options.offset });\n          if (prefix === '' && options.offset === 0) return { data: [{ name: 'folder', id: null, metadata: null }, { name: 'root.txt', id: '1', updated_at: '2026-01-01', metadata: { size: 2 } }], error: null };\n          if (prefix === 'folder' && options.offset === 0) return { data: [{ name: 'a.txt', id: '2', updated_at: '2026-01-02', metadata: { size: 3 } }], error: null };\n          return { data: [], error: null };\n        },\n      };\n    },\n  };\n  const rows = await listBucketObjects(storage, 'private');\n  assertEquals(rows.map((row: any) => row.path).sort(), ['folder/a.txt', 'root.txt']);\n  assertEquals(calls.some((call) => call.prefix === 'folder'), true);\n});\n\nDeno.test('sign_batch enforces max batch and performs only createSignedUrls', async () => {\n  let signedCalls = 0;\n  const client = {\n    storage: {\n      from() {\n        return {\n          async createSignedUrls(paths: string[], ttl: number) {\n            signedCalls += 1;\n            return { data: paths.map((path) => ({ path, signedUrl: `https://example.test/${path}` })), error: null, ttl };\n          },\n        };\n      },\n    },\n  };\n  const tooMany = await dispatchBackupAction(client, { action: 'sign_batch', bucket: 'x', paths: Array(MAX_SIGN_BATCH + 1).fill('a') });\n  assertEquals((tooMany as any).error, 'paths_batch_invalid');\n  assertEquals(signedCalls, 0);\n  const ok = await dispatchBackupAction(client, { action: 'sign_batch', bucket: 'x', paths: ['a'] });\n  assertEquals(ok.ok, true);\n  assertEquals(signedCalls, 1);\n});\n\nDeno.test('list errors fail closed', async () => {\n  const storage = { from: () => ({ list: async () => ({ data: null, error: new Error('nope') }) }) };\n  await assertRejects(() => listBucketObjects(storage, 'x'), Error, 'nope');\n});\n"},{"path":"scripts/backup/backup-supabase-storage.ps1","content":"param(\n  [string]$ProjectRef='ymntrajfubicyxwwdxxa',\n  [string]$MachineName=$env:COMPUTERNAME,\n  [string]$PrivateKeyPath,\n  [string]$LocalRoot='C:\\KNOCKLAUNCH_Backups',\n  [string]$DriveVault='G:\\My Drive\\KNOCKLAUNCH BACKUPS',\n  [string]$OpenSsl='C:\\Program Files\\Git\\usr\\bin\\openssl.exe'\n)\n$ErrorActionPreference='Stop'\n[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12\nif(!$MachineName){throw 'MachineName is required'}\nif(!$PrivateKeyPath){$PrivateKeyPath=Join-Path $LocalRoot 'Keys\\supabase-storage-backup-private.pem'}\nforeach($p in @($PrivateKeyPath,$OpenSsl,$DriveVault)){if(!(Test-Path $p)){throw \"Required path missing: $p\"}}\n$endpoint=\"https://$ProjectRef.supabase.co/functions/v1/owner-storage-backup\"\n$root=Join-Path $LocalRoot 'SupabaseStorage'\n$objRoot=Join-Path $root 'objects'\n$catRoot=Join-Path $root 'catalogs'\n$driveRoot=Join-Path $DriveVault 'Supabase Storage - Daily'\n$driveObj=Join-Path $driveRoot 'objects'\n$driveCat=Join-Path $driveRoot 'catalogs'\nNew-Item -ItemType Directory -Force -Path $objRoot,$catRoot,$driveObj,$driveCat|Out-Null\nfunction ShaBytes([byte[]]$b){$s=New-Object Security.Cryptography.SHA256Managed;try{return ([BitConverter]::ToString($s.ComputeHash($b))).Replace('-','').ToLowerInvariant()}finally{$s.Dispose()}}\nfunction ShaFile([string]$p){(Get-FileHash $p -Algorithm SHA256).Hash.ToLowerInvariant()}\nfunction Cas([string]$base,[string]$hash){$d=Join-Path $base $hash.Substring(0,2);New-Item -ItemType Directory -Force -Path $d|Out-Null;Join-Path $d $hash}\nfunction Api([hashtable]$payload){\n  $body=$payload|ConvertTo-Json -Depth 8 -Compress\n  $bytes=[Text.Encoding]::UTF8.GetBytes($body)\n  $ts=[DateTimeOffset]::UtcNow.ToUnixTimeSeconds().ToString()\n  $nonce=[Guid]::NewGuid().ToString('N')\n  $canonical='POST'+[char]10+'/owner-storage-backup'+[char]10+$ts+[char]10+$nonce+[char]10+(ShaBytes $bytes)\n  $base=Join-Path $env:TEMP ('kl-sign-'+[Guid]::NewGuid().ToString('N'))\n  $txt=$base+'.txt';$sig=$base+'.sig'\n  try{\n    [IO.File]::WriteAllText($txt,$canonical,(New-Object Text.UTF8Encoding($false)))\n    & $OpenSsl dgst -sha256 -sign $PrivateKeyPath -out $sig $txt 2>$null\n    if($LASTEXITCODE -ne 0){throw 'Request signing failed'}\n    $headers=@{\n      'x-kl-backup-machine'=$MachineName\n      'x-kl-backup-timestamp'=$ts\n      'x-kl-backup-nonce'=$nonce\n      'x-kl-backup-signature'=[Convert]::ToBase64String([IO.File]::ReadAllBytes($sig))\n    }\n    $r=Invoke-WebRequest -UseBasicParsing -Uri $endpoint -Method Post -Headers $headers -ContentType 'application/json' -Body $bytes -TimeoutSec 180\n    $r.Content|ConvertFrom-Json\n  }finally{Remove-Item $txt,$sig -Force -ErrorAction SilentlyContinue}\n}\n$prior=@{}\n$prev=Get-ChildItem $catRoot -Filter 'storage-catalog-*.json' -File -ErrorAction SilentlyContinue|Sort-Object LastWriteTime -Descending|Select-Object -First 1\nif($prev){try{(Get-Content $prev.FullName -Raw|ConvertFrom-Json).entries|ForEach-Object{$prior[($_.bucket+[char]10+$_.path)]=$_}}catch{}}\n$b=Api @{action='list_buckets'};if(!$b.ok){throw 'Bucket listing failed'}\n$entries=New-Object Collections.ArrayList;$remote=[int64]0;$downloaded=[int64]0;$downloadCount=0;$reused=0\nforeach($bucket in @($b.buckets)){\n  $name=[string]$bucket.name;if(!$name){continue}\n  $l=Api @{action='list_objects';bucket=$name};if(!$l.ok){throw \"Object listing failed: $name\"}\n  $objects=@($l.objects)\n  for($i=0;$i -lt $objects.Count;$i+=100){\n    $last=[Math]::Min($i+99,$objects.Count-1);$batch=@($objects[$i..$last]);$need=New-Object Collections.ArrayList\n    foreach($o in $batch){\n      $size=[int64]$o.metadata.size;$remote+=$size;$key=$name+[char]10+[string]$o.path;$old=$prior[$key]\n      if($old -and [string]$old.sourceFingerprint -eq [string]$o.sourceFingerprint -and $old.sha256){\n        $lp=Cas $objRoot ([string]$old.sha256);$dp=Cas $driveObj ([string]$old.sha256)\n        if(Test-Path $lp){\n          if(!(Test-Path $dp)){Copy-Item $lp $dp -Force}\n          if((ShaFile $dp) -ne [string]$old.sha256){throw 'Drive hash mismatch on reused object'}\n          [void]$entries.Add([ordered]@{bucket=$name;path=[string]$o.path;sourceFingerprint=[string]$o.sourceFingerprint;size=$size;mime=[string]$o.metadata.mimetype;sha256=[string]$old.sha256;objectRelativePath=('objects/'+([string]$old.sha256).Substring(0,2)+'/'+[string]$old.sha256);updatedAt=[string]$o.updatedAt});$reused++;continue\n        }\n      }\n      [void]$need.Add($o)\n    }\n    if(!$need.Count){continue}\n    $signed=Api @{action='sign_batch';bucket=$name;paths=@($need|ForEach-Object{[string]$_.path})};if(!$signed.ok){throw \"Signing failed: $name\"}\n    $map=@{};@($signed.signed)|ForEach-Object{$map[[string]$_.path]=$_}\n    foreach($o in @($need)){\n      $p=[string]$o.path;$s=$map[$p];if(!$s.signedUrl){throw \"No signed URL: $name/$p\"}\n      $tmp=Join-Path $env:TEMP ('kl-storage-'+[Guid]::NewGuid().ToString('N'))\n      try{\n        Invoke-WebRequest -UseBasicParsing -Uri ([string]$s.signedUrl) -OutFile $tmp -TimeoutSec 300\n        $hash=ShaFile $tmp;$lp=Cas $objRoot $hash;$dp=Cas $driveObj $hash\n        if(!(Test-Path $lp)){Move-Item $tmp $lp -Force}else{Remove-Item $tmp -Force}\n        if(!(Test-Path $dp)){Copy-Item $lp $dp -Force}\n        if((ShaFile $dp) -ne $hash){throw \"Drive hash mismatch: $name/$p\"}\n        $size=[int64](Get-Item $lp).Length;$downloaded+=$size;$downloadCount++\n        [void]$entries.Add([ordered]@{bucket=$name;path=$p;sourceFingerprint=[string]$o.sourceFingerprint;size=$size;mime=[string]$o.metadata.mimetype;sha256=$hash;objectRelativePath=('objects/'+$hash.Substring(0,2)+'/'+$hash);updatedAt=[string]$o.updatedAt})\n      }finally{Remove-Item $tmp -Force -ErrorAction SilentlyContinue}\n    }\n  }\n}\n$stamp=(Get-Date).ToUniversalTime().ToString('yyyyMMdd-HHmmssZ')\n$catalog=[ordered]@{schema='knocklaunch.storage-backup.v1';contract='KNOCKLAUNCH_OWNER_STORAGE_BACKUP_V1';capturedAt=(Get-Date).ToUniversalTime().ToString('o');projectRef=$ProjectRef;machine=$MachineName;bucketCount=@($b.buckets).Count;objectCount=$entries.Count;totalSourceBytes=$remote;downloadedObjects=$downloadCount;downloadedBytes=$downloaded;reusedObjects=$reused;contentAddressed=$true;entries=@($entries|Sort-Object bucket,path)}\n$cat=Join-Path $catRoot (\"storage-catalog-$stamp.json\");[IO.File]::WriteAllText($cat,($catalog|ConvertTo-Json -Depth 12),(New-Object Text.UTF8Encoding($false)))\n$ch=ShaFile $cat;$driveCatFile=Join-Path $driveCat (Split-Path $cat -Leaf);Copy-Item $cat $driveCatFile -Force;if((ShaFile $driveCatFile)-ne $ch){throw 'Drive catalog hash mismatch'}\n$receipt=[ordered]@{ok=$true;capturedAt=$catalog.capturedAt;projectRef=$ProjectRef;machine=$MachineName;bucketCount=$catalog.bucketCount;objectCount=$catalog.objectCount;totalSourceBytes=$remote;downloadedObjects=$downloadCount;downloadedBytes=$downloaded;reusedObjects=$reused;catalog=$cat;catalogSha256=$ch;googleDriveCatalog=$driveCatFile;googleDriveVerified=$true}\n[IO.File]::WriteAllText((Join-Path $root (\"storage-backup-receipt-$stamp.json\")),($receipt|ConvertTo-Json -Depth 6),(New-Object Text.UTF8Encoding($false)))\n$receipt|ConvertTo-Json -Compress"},{"path":"scripts/backup/README.md","content":"# KNOCKLAUNCH Disaster Recovery V1\n\nThis directory owns the portable backup and restore-verification tooling for KNOCKLAUNCH.\n\n## Recovery layers\n- Forgejo: full Git bundles are copied to Google Drive.\n- PAUL: durable knowledge/config archives are checksumed and copied to Drive; search indexes remain rebuildable.\n- Supabase database: the Pro project has automatic daily database backups. Those backups do not contain Storage object payloads.\n- Supabase Storage: owner-storage-backup is a read-only Edge Function. Authorized MSI machines sign requests with local RSA private keys; the function stores only public keys and returns short-lived signed download URLs.\n- MSI replicas: desktop is the primary Storage puller. Laptop copies the Drive-backed corpus rather than duplicating Supabase egress.\n\n## Security\nNo bucket is made public. No service-role key is written to Windows, Drive, the repository, catalogs, receipts, or logs. Protected requests use RSA PKCS#1 v1.5 SHA-256 over:\nMETHOD + LF + pathname + LF + timestamp + LF + nonce + LF + sha256(raw request body)\nTimestamp skew is bounded. Supabase internally rewrites the public function URL before the Edge Function sees it, so clients sign the canonical internal pathname `/owner-storage-backup`.\n\n## Storage backup\nRun backup-supabase-storage.ps1 with the machine-local private key. First run downloads all objects. Later runs compare immutable source fingerprints and download only changed/missing objects. Payloads are stored content-addressed by SHA-256 locally and in Google Drive. Catalogs contain path mapping and hashes, never credentials or signed URLs.\n\n## Restore drill\nverify-restore.ps1 never mutates production. It verifies and temp-clones the latest Git bundle, verifies the PAUL archive, hashes every Storage object locally and in Drive, verifies Drive copies, and writes a restore-drill receipt.\n\n## Retention\nbackup-retention.ps1 keeps hourly journals 72 hours, ordinary daily artifacts 30 days, one weekly Storage catalog for 12 weeks, one monthly catalog for 12 months, and never automatically deletes golden/major-release/restore-point artifacts. Content-addressed objects are removed only after all retained catalogs are evaluated and the object is unreferenced past a grace period.\n\n## Disaster manifest\nwrite-disaster-manifest.ps1 produces KNOCKLAUNCH-RESTORE-MANIFEST.json linking repository, PAUL, Storage and database coverage with no secrets.\n\n## Recovery order\n1. Choose a restore manifest with a passing restore-drill receipt.\n2. Restore repository source from the verified Git bundle if Forgejo is unavailable.\n3. Restore/rebuild PAUL from its verified archive/journal.\n4. Restore the database through the owner-approved Supabase recovery path if needed.\n5. Restore Storage objects from the content-addressed corpus using the catalog path map.\n6. Recreate provider/infrastructure configuration from canonical manifests.\n7. Verify tenant isolation, runtime identities and claim-matched production behavior."}],"branch":"ai/objective-first-repair-70c455ff70bd","writes":[],"patches":[],"version":1,"approved":true,"missionId":"70c455ff-70bd-43aa-bb5b-d8ac0f34af9b","objective":"Complete the existing Disaster Recovery RSA-auth correction using the live proof: register owner-storage-backup with verify_jwt=false and canonicalize signed requests to Supabase's actual internal pathname /owner-storage-backup. Update only the Edge Function, its test, the Windows Storage backup client, README, and supabase/config.toml. Preserve read-only behavior, bucket privacy, machine RSA keys, and no-new-spend constraint.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/config.toml","supabase/functions/owner-storage-backup/index.ts","supabase/functions/owner-storage-backup/index.test.ts","scripts/backup/backup-supabase-storage.ps1","scripts/backup/README.md"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"70c455ff-70bd-43aa-bb5b-d8ac0f34af9b","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/config.toml","supabase/functions/owner-storage-backup/index.ts","supabase/functions/owner-storage-backup/index.test.ts","scripts/backup/backup-supabase-storage.ps1","scripts/backup/README.md"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"dcf9bcd79644c830c35e1f15978c0d545bebe565cde5e2f6f6b33188d230a1eb","replayCount":0,"serializedBytes":46268},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T03:29:49.691354+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:70c455ff-70bd-43aa-bb5b-d8ac0f34af9b:repository-mutation-intent:dcf9bcd79644c830c35e1f15978c0d545bebe565cde5e2f6f6b33188d230a1eb:0","mission_step_id":"4ee48e18-5f99-44f8-9f5a-4353a0b0e18a","command_center_event_id":"70c455ff-70bd-43aa-bb5b-d8ac0f34af9b"},{"id":"a2aad8f1-2650-4be6-8533-15b13e260361","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/auto-merge-all-green-ai-prs-20260827","reason":"control_plane_maintenance_request_contract_required","status":"blocked","metrics":{"receiptBytes":1137,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.54.0-intent-canonicalization","prNumber":null,"terminal":false,"missionId":"eecf2a25-3635-4074-a7bb-327e18708721","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":664,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"eecf2a25-3635-4074-a7bb-327e18708721"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5453,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T22:32:18.402043+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:eecf2a25-3635-4074-a7bb-327e18708721:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"81305a9d-b0c1-4111-99ca-478acef4e41b","command_center_event_id":"eecf2a25-3635-4074-a7bb-327e18708721"},{"id":"a2ac2c93-cbf4-415d-a54c-415663b855e1","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/mslawnbarber-media-canonical-fallback","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":null,"terminal":false,"missionId":"1f3324e6-b19c-4067-8336-29d404713f0f","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":13,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":469,"providerAuthMs":0,"ledgerPrepareMs":308,"ledgerReconcileMs":0,"lineageReconcileMs":161,"resolvePreflightMs":469,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":308,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"1f3324e6-b19c-4067-8336-29d404713f0f"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3822,"likelyAffectedFiles":["src/lib/tenants/tenantMediaBranding.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"b565f644-6d3c-4b61-97d6-f91a06dae0ec","created_at":"2026-09-07T00:41:30.860333+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1f3324e6-b19c-4067-8336-29d404713f0f:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"51061098-3a7b-438b-a0ed-c42a3901b10f","command_center_event_id":"1f3324e6-b19c-4067-8336-29d404713f0f"},{"id":"a2ac945c-9005-4c9f-b9c1-02b1b2832dd8","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"34094a05e81ea0e507ec68e968205f1272292708","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Refactor the live React God Mode Console UI owned by src/pages/admin/GodModeCommandConsole.tsx at /admin/console. Replace the current green-on-black developer-tool look shown in the owner's screenshots with one cohesive premium command-center visual system: obsidian/graphite and midnight-navy foundations; electric cobalt/cyan for navigation, focus, selected and active controls; restrained violet atmospheric depth; emerald reserved only for healthy/live/verified semantic status; amber only for attention/warning; red only for destructive/error. Keep all current behavior, state, IDs, test IDs, events, resolver logic, voice-to-text, stop-job actions, sessions/history, witness interactions, iframe bridge, and responsive functionality unchanged. Redesign the Sidekick header/tool chips, resolver strip, empty state, conversation bubbles, progress state, composer, voice/send/stop controls, session drawer, witness-mode header, pane switcher, witness-side assistant panel, and mobile layout. Increase readability and hierarchy, remove micro-text where it harms usability, use stronger spacing and 44px minimum touch targets on mobile, give surfaces subtle depth without excessive glass, make the W","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":true,"constraints":[{"id":"visual-content-truth","satisfied":true,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-viewport-authority","satisfied":true,"statement":"The requested mobile viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"reference-visual-fidelity","satisfied":true,"statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","proofConditionIds":["proof-visual"]},{"id":"responsive-visual-continuity","satisfied":true,"statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","proofConditionIds":["proof-visual"]},{"id":"reference-visual-authority","satisfied":true,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-visual"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"6da5facbc1e62484a1cb28f8b61c5f65c86ed0637d1967bb69e834fc9ea3ef95","releaseBound":true,"witnessBound":true,"visualRequested":true,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"6da5facbc1e62484a1cb28f8b61c5f65c86ed0637d1967bb69e834fc9ea3ef95"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/admin/console","currentSourceSha":"34094a05e81ea0e507ec68e968205f1272292708","witnessSourceSha":"34094a05e81ea0e507ec68e968205f1272292708","verificationState":"verified","witnessRequestContractHash":"6da5facbc1e62484a1cb28f8b61c5f65c86ed0637d1967bb69e834fc9ea3ef95"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T03:35:10.20967+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"34094a05e81ea0e507ec68e968205f1272292708","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:6b64a06d-b7f9-46c6-9aba-4388d5e27caf:request-contract:6da5facbc1e62484a1cb28f8b61c5f65c86ed0637d1967bb69e834fc9ea3ef95:34094a05e81ea0e507ec68e968205f1272292708:verified:","mission_step_id":"a69079b4-80cc-4c9a-8dfb-c2c5efa2e025","command_center_event_id":"6b64a06d-b7f9-46c6-9aba-4388d5e27caf"},{"id":"a2ae92a0-5906-47a2-b126-fc2ff7bbb40a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/control-plane-provider-latency-20260819","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.4-single-mutation-lane","prNumber":473,"terminal":false,"missionId":"2b8e82ac-3cc7-4f4a-8ee9-ec3dc29f4099","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"2b8e82ac-3cc7-4f4a-8ee9-ec3dc29f4099"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5445,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T03:55:07.400811+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"473","receipt_type":"execute_mission","idempotency_key":"mission:2b8e82ac-3cc7-4f4a-8ee9-ec3dc29f4099:execute_mission:repair_mission_waiting_for_gate","mission_step_id":"c4e97043-017f-420e-a51d-da72d852582b","command_center_event_id":"2b8e82ac-3cc7-4f4a-8ee9-ec3dc29f4099"},{"id":"a2b18b61-162e-4404-9abd-a2f403dfc83b","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"Extend the Command Center synthesis source reader so exact PowerShell .ps1 repository files are valid authoritative source targets. Add .ps1 to both exactSourceFile extension matching and explicit objective path extraction. Bump the cc-execution release identity. Keep the change limited to source resolution. Ship through Gate, squash merge, release cc-execution, and prove the live runtime can resolve scripts/windows/install-knocklaunch-autoconnect.ps1.","proofKinds":["repository","runtime"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Extend the Command Center synthesis source reader so exact PowerShell .ps1 repository files are valid authoritative source targets. Add .ps1 to both exactSourceFile extension matching and explicit objective path extraction. Bump the cc-execution release identity. Keep the change limited to source resolution. Ship through Gate, squash merge, release cc-execution, and prove the live runtime can resolve scripts/windows/install-knocklaunch-autoconnect.ps1.","wordingChanged":false,"canonicalIntent":"Extend the Command Center synthesis source reader so exact PowerShell .ps1 repository files are valid authoritative source targets. Add .ps1 to both exactSourceFile extension matching and explicit objective path extraction. Bump the cc-execution release identity. Keep the change limited to source resolution. Ship through Gate, squash merge, release cc-execution, and prove the live runtime can resolve scripts/windows/install-knocklaunch-autoconnect.ps1.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"ps1-authoritative-source","statement":"The control plane Command Center synthesis reader accepts exact .ps1 repository files as authoritative source targets.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["repo-proof","runtime-proof"]},{"id":"ps1-explicit-path-discovery","statement":"Explicit .ps1 paths mentioned in an objective are recognized by control plane synthesis path extraction.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["repo-proof"]}],"objective":"Extend the Command Center synthesis source reader so exact PowerShell .ps1 repository files are valid authoritative source targets. Add .ps1 to both exactSourceFile extension matching and explicit objective path extraction. Bump the cc-execution release identity. Keep the change limited to source resolution. Ship through Gate, squash merge, release cc-execution, and prove the live runtime can resolve scripts/windows/install-knocklaunch-autoconnect.ps1.","constraints":[{"id":"control-plane-scope","statement":"This control plane change is limited to workers/cc-execution/src/mcp-synthesis-source-bundle.js and the required workers/cc-execution/src/version.js release identity bump.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["repo-proof"]},{"id":"no-auth-policy-change","statement":"Do not change provider authentication, authorization, tokens, repository mutation authority, or credential handling in this control plane repair.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["repo-proof"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["repo-proof","runtime-proof"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["repo-proof","runtime-proof"]}],"adaptivePolicy":{"risk":{"tier":"high","blastRadius":"sensitive"},"proof":{"requiredKinds":["repository","runtime"],"visualProofScope":"none","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":[]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route","source_targets_until_repository_resolution","release_targets_until_changed_paths","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"serialize_overlapping_mutations","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop","mobile"],"behavioral":false,"visualProofScope":"none"},"dependencies":{"requiredDomains":["backend_runtime","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"Extend the Command Center synthesis source reader so exact PowerShell .ps1 repository files are valid authoritative source targets. Add .ps1 to both exactSourceFile extension matching and explicit objective path extraction. Bump the cc-execution release identity. Keep the change limited to source resolution. Ship through Gate, squash merge, release cc-execution, and prove the live runtime can resolve scripts/windows/install-knocklaunch-autoconnect.ps1.","canonicalIntent":"Extend the Command Center synthesis source reader so exact PowerShell .ps1 repository files are valid authoritative source targets. Add .ps1 to both exactSourceFile extension matching and explicit objective path extraction. Bump the cc-execution release identity. Keep the change limited to source resolution. Ship through Gate, squash merge, release cc-execution, and prove the live runtime can resolve scripts/windows/install-knocklaunch-autoconnect.ps1.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Current main contains .ps1 support in exactSourceFile and explicit objective path extraction with the required cc-execution version bump.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"runtime-proof","kind":"runtime","claim":"The released cc-execution runtime can resolve scripts/windows/install-knocklaunch-autoconnect.ps1 as an exact source target.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Extend-the-Command-Center-synthesis-source-reader-so-exact-PowerShell-.ps1-repository-files-are-vali","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["ccExecution"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["repo-proof","runtime-proof"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"106acc032fa445e708928195301c8cf0af10bb9cc623677e764ace05bb9722eb","requestContractRevision":2,"previousRequestContractHash":"dcec8aeb3aebcf6706b6b8964e3b6b8f27221990ffc6c7b9c7887d6a8e3593a8"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:12:11.182721+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:60c75259-d7d0-44cd-b467-155c8773cf01:request-contract:106acc032fa445e708928195301c8cf0af10bb9cc623677e764ace05bb9722eb","mission_step_id":"1aac27fb-e215-48d2-bb10-2510e7df5050","command_center_event_id":"60c75259-d7d0-44cd-b467-155c8773cf01"},{"id":"a2b1d53c-e1ee-409d-8ab3-dc6f73bfe6ee","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/public-demo-revenue-funnel-hardening","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3129,"terminal":false,"missionId":"38071877-5f7e-429a-bc77-2088d8d76166","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":11660,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":11183,"approvedPlanMs":0,"missionSetupMs":760,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":371,"ledgerReconcileMs":0,"lineageReconcileMs":389,"resolvePreflightMs":760,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":371,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"38071877-5f7e-429a-bc77-2088d8d76166"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2245,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T17:00:52.026384+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3129","receipt_type":"execute_mission","idempotency_key":"mission:38071877-5f7e-429a-bc77-2088d8d76166:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"567c0af0-d11b-4ef8-9bfb-51524313a51f","command_center_event_id":"38071877-5f7e-429a-bc77-2088d8d76166"},{"id":"a2b1ea6a-843d-45fe-9eec-155a16ea6fd9","source":"cc-execution","status":"recorded","payload":{"objective":"Continue existing PR #1557 only. No source changes and no replacement PR. Reconcile its exact-head KnockLaunch Gate, squash merge when green, deploy only the frontend production target, and verify live frontend source identity. The requested product contract is that roof measurement/retry/draw/OSM state changes do not move the Mapbox camera; explicit user camera controls remain allowed.","tenantRef":"redfish-roofing","receivedAt":"2026-09-03T14:09:48.040Z","fingerprint":"43b87a0b9fe15fec216ddeeff826b7b25a2cf5fac0578f63df948032acf97b68","workstreamRef":"redfishroofing","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue existing PR #1557 only. No source changes and no replacement PR. Reconcile its exact-head KnockLaunch Gate, squash merge when green, deploy only the frontend production target, and verify live frontend source identity. The requested product contract is that roof measurement/retry/draw/OSM state changes do not move the Mapbox camera; explicit user camera controls remain allowed.","wordingChanged":false,"canonicalIntent":"Continue existing PR #1557 only. No source changes and no replacement PR. Reconcile its exact-head KnockLaunch Gate, squash merge when green, deploy only the frontend production target, and verify live frontend source identity. The requested product contract is that roof measurement/retry/draw/OSM state changes do not move the Mapbox camera; explicit user camera controls remain allowed.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"merged-live","statement":"PR #1557 passes KnockLaunch Gate, squash merges, and the frontend production runtime serves the merged revision.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"camera-contract","statement":"Measurement/retry/draw/OSM state changes cannot invoke programmatic camera movement; only initial property centering and explicit user camera controls may move it.","proofConditionIds":["repo-proof"]}],"objective":"Continue existing PR #1557 only. No source changes and no replacement PR. Reconcile its exact-head KnockLaunch Gate, squash merge when green, deploy only the frontend production target, and verify live frontend source identity. The requested product contract is that roof measurement/retry/draw/OSM state changes do not move the Mapbox camera; explicit user camera controls remain allowed.","constraints":[{"id":"no-new-source","statement":"Do not mutate source or create a replacement PR while continuing #1557.","proofConditionIds":["repo-proof"]},{"id":"frontend-only","statement":"Deploy only the affected frontend production owner.","proofConditionIds":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Exact PR #1557 diff removes measurement-driven camera fitting/easing and adds regression coverage while preserving explicit user camera controls.","route":"/redfish-roofing/homeowners/95fc090e-5761-4d32-b387-0308d074e524?section=roof-estimate","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":[]},{"id":"runtime-proof","kind":"runtime","claim":"Production frontend serves the squash-merged #1557 revision.","route":"/redfish-roofing/homeowners/95fc090e-5761-4d32-b387-0308d074e524?section=roof-estimate","roleRef":null,"userRef":null,"required":true,"expectedText":"KnockLaunch","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":null,"conversationContext":"{\"requestContract\":{\"valid\":true,\"source\":\"explicit\",\"version\":1,\"objective\":\"Ship PR #1557 and prove the live roof estimator no longer moves the map camera when measurement state changes.\",\"outcomes\":[{\"id\":\"merged-live\",\"statement\":\"PR #1557 passes KnockLaunch Gate, squash merges, and the frontend production runtime serves the merged revision.\",\"proofConditionIds\":[\"repo-proof\",\"runtime-proof\"]},{\"id\":\"camera-contract\",\"statement\":\"Measurement/retry/draw/OSM state changes cannot invoke programmatic camera movement; only initial property centering and explicit user camera controls may move it.\",\"proofConditionIds\":[\"repo-proof\"]}],\"constraints\":[{\"id\":\"no-new-source\",\"statement\":\"Do not mutate source or create a replacement PR while continuing #1557.\",\"proofConditionIds\":[\"repo-proof\"]},{\"id\":\"frontend-only\",\"statement\":\"Deploy only the affected frontend production owner.\",\"proofConditionIds\":[\"runtime-proof\"]}],\"terminalPolicy\":\"all_required_proof_conditions_satisfied_after_live_release\",\"proofConditions\":[{\"id\":\"repo-proof\",\"kind\":\"repository\",\"claim\":\"Exact PR #1557 diff removes measurement-driven camera fitting/easing and adds regression coverage while preserving explicit user camera controls.\",\"required\":true,\"allowedReleaseTargets\":[\"frontend\"]},{\"id\":\"runtime-proof\",\"kind\":\"runtime\",\"claim\":\"Production frontend serves the squash-merged #1557 revision.\",\"required\":true,\"expectedText\":\"KnockLaunch\",\"allowedReleaseTargets\":[\"frontend\"],\"requiredReleaseTargets\":[\"frontend\"]}]}}","requestContractHash":"d99d2dbdb63e70f85efa6dbbf11f5f54330db1294ef1948cd93a64652463f084","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-03T14:09:49.048107+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:a2bf6791-5eab-4c5b-8c92-44a9a4ad7b49:tenant-workstream-contribution:43b87a0b9fe15fec216ddeeff826b7b25a2cf5fac0578f63df948032acf97b68","mission_step_id":null,"command_center_event_id":"a2bf6791-5eab-4c5b-8c92-44a9a4ad7b49"},{"id":"a2b298b2-7594-470c-8d9b-b7598276cce6","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-aa491cdd210c","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":31083,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"executorlessWaitMs":20920,"firstUsefulResultAt":"2026-09-27T22:17:40.029Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3913,"terminal":false,"missionId":"aa491cdd-210c-441a-a600-c1f41137bfb3","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"8b410b546118745ad17305253ffaeca80f0f0d1b","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3622,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":501,"approvedPlanMs":0,"missionSetupMs":498,"providerAuthMs":0,"shipAndProveMs":2504,"ledgerPrepareMs":333,"ledgerReconcileMs":0,"lineageReconcileMs":165,"resolvePreflightMs":498,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":333,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"aa491cdd-210c-441a-a600-c1f41137bfb3"},"performance":null,"deploymentId":"forgejo-main-8b410b546118","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T22:20:44.671562+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"8b410b546118745ad17305253ffaeca80f0f0d1b","external_id":"forgejo-main-8b410b546118","receipt_type":"execute_mission","idempotency_key":"mission:aa491cdd-210c-441a-a600-c1f41137bfb3:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"972ddd60-c4f1-4980-8027-babe0bb06758","command_center_event_id":"aa491cdd-210c-441a-a600-c1f41137bfb3"},{"id":"a2b48424-25b9-4508-9088-9e6de5496eba","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/systemic-execution-reliability-20260903-r2","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":23470,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.18-frontend-release-startup-refreeze","prNumber":1657,"terminal":false,"missionId":"cd88e721-f570-406b-b194-53230b2acb03","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":22125,"prReadinessMs":3000,"approvedPlanMs":17974,"missionSetupMs":3389,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"cd88e721-f570-406b-b194-53230b2acb03"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1082,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T02:38:41.118979+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1657","receipt_type":"execute_mission","idempotency_key":"mission:cd88e721-f570-406b-b194-53230b2acb03:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"8adb1d65-be10-4880-88dd-bf7aa1b1593f","command_center_event_id":"cd88e721-f570-406b-b194-53230b2acb03"},{"id":"a2b627a7-9b29-422c-8bad-a86a273bac33","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/task-activity-lifecycle-22f0aed7","reason":"push_to_branch_requires_existing_branch:ai/task-activity-lifecycle-22f0aed7","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3071,"terminal":false,"missionId":"22f0aed7-a665-4f75-84be-df47e22244db","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":"f13248590e3bcc222a901edc5831d1c9a424ae59","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1700,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1700,"missionSetupMs":11364,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1100,"ledgerReconcileMs":0,"lineageReconcileMs":10264,"resolvePreflightMs":11364,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1100,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"22f0aed7-a665-4f75-84be-df47e22244db"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","release"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1553,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T03:12:37.426787+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:22f0aed7-a665-4f75-84be-df47e22244db:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"05280332-ce56-4219-81cd-3ab7b243c082","command_center_event_id":"22f0aed7-a665-4f75-84be-df47e22244db"},{"id":"a2b63ebb-57db-43de-8fd3-557ac6db13df","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":234,"terminal":false,"missionId":"54124199-6781-4a39-a4db-70cb364260aa","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"c5dddaec1ab1de7098be75926600f946d83b4c95","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"54124199-6781-4a39-a4db-70cb364260aa"},"performance":null,"deploymentId":"forgejo-main-c5dddaec1ab1","workflowRunId":687,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3907,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T04:09:29.082045+00:00","proof_gate":"canonical_release_dispatched","source_sha":"c5dddaec1ab1de7098be75926600f946d83b4c95","external_id":"forgejo-main-c5dddaec1ab1","receipt_type":"ship_and_prove","idempotency_key":"mission:54124199-6781-4a39-a4db-70cb364260aa:ship_and_prove:canonical_release_dispatched:c5dddaec1ab1de7098be75926600f946d83b4c95:687","mission_step_id":"70258ae0-e679-4359-96c1-647f25fbc56a","command_center_event_id":"54124199-6781-4a39-a4db-70cb364260aa"},{"id":"a2b6722f-3335-4595-b3e9-2478229b77c3","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_exact_bounded_source_targets_required","failureClass":null,"sourceTargets":["src/PrivateAppShell.tsx","src/routes/crmRoutes.tsx","src/routes/verticalRouteRegistry.ts","src/routes/privateWorkspaceCompatibility.ts"],"dependencyReason":null,"dependencyStatus":null,"automaticExecutorAssigned":false},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-11T15:06:14.391339+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"5451d962f4ae37b204a2a0b0edf40e0fa4217510","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:6de804ac-b745-4995-b9c0-960e9f9b4957:compiler:5451d962f4ae37b204a2a0b0edf40e0fa4217510:src/PrivateAppShell.tsx,src/routes/crmRoutes.tsx,src/routes/verticalRouteRegistry.ts,src/routes/privateWorkspaceCompatibility.ts","mission_step_id":"b9611159-e31b-4d7a-ab29-b70a00aabd65","command_center_event_id":"6de804ac-b745-4995-b9c0-960e9f9b4957"},{"id":"a2b82237-fee1-4213-937a-96b972c124a8","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-43eb9b8cc50a","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.90-mission-terminalization","prNumber":2278,"terminal":false,"missionId":"43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"97561e78512c7b8ce7ea356aeb543ff1def81dbd","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":21346,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":786,"approvedPlanMs":0,"missionSetupMs":449,"providerAuthMs":0,"shipAndProveMs":19836,"ledgerPrepareMs":449,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":449,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":449,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338"},"performance":null,"deploymentId":"forgejo-main-97561e78512c","workflowRunId":6720,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1480,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T05:54:16.61946+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"97561e78512c7b8ce7ea356aeb543ff1def81dbd","external_id":"forgejo-main-97561e78512c","receipt_type":"execute_mission","idempotency_key":"mission:43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"8fac1352-03c8-46c7-a2ea-6aa33a3f71b3","command_center_event_id":"43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338"},{"id":"a2ba32c4-99b2-40db-b2bd-e23b1a2e6ca6","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"ec028021c257c3436381810b833a96dda2501edc","sourceSha":"496698709a601459f0ffa4434eeea72aa25620a2","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T21:41:34.184982+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"496698709a601459f0ffa4434eeea72aa25620a2","external_id":"canonical-release-496698709a60","receipt_type":"canonical_release_status","idempotency_key":"mission:9cebbde1-f580-456d-9e71-7a10f2e2d208:forgejo-release-ancestry:496698709a601459f0ffa4434eeea72aa25620a2:ec028021c257c3436381810b833a96dda2501edc:ancestry_read_retryable","mission_step_id":"39487d28-c1f0-49c2-8f67-88a7d5363497","command_center_event_id":"9cebbde1-f580-456d-9e71-7a10f2e2d208"},{"id":"a2bb59f1-2783-4e14-9408-1f9df34e5423","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-queue-hygiene-bounded-reads-20260824","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":1082,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.21-queue-hygiene-transport","prNumber":672,"terminal":false,"missionId":"55268168-c9a4-4ce2-9453-e184adbaef90","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"55268168-c9a4-4ce2-9453-e184adbaef90"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4064,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-24T18:34:38.196212+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"672","receipt_type":"execute_mission","idempotency_key":"mission:55268168-c9a4-4ce2-9453-e184adbaef90:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"a49449c4-9c0d-4cda-a484-5f2abd7784a5","command_center_event_id":"55268168-c9a4-4ce2-9453-e184adbaef90"},{"id":"a2bc8826-4122-4268-ae06-4b62c91c230c","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"merge_queue_merged_release_pending","leaseEpoch":2,"afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"request_contract_repository_status\",\"status\":\"verified\",\"proofGate\":\"request_contract_repository_verified\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T17:34:59.337574+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-27ce03fc4218\",\"prNumber\":5177,\"sourceSha\":\"b132a570fe2b06924984c4920c85aab26745d89b\",\"deploymentId\":\"forgejo-main-b132a570fe2b\"}","beforeSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-06T17:04:59.337574+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-27ce03fc4218\",\"prNumber\":5177,\"sourceSha\":\"b132a570fe2b06924984c4920c85aab26745d89b\",\"deploymentId\":\"forgejo-main-b132a570fe2b\"}","transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:37:29.67606+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:27ce03fc-4218-4895-9bb0-38cc60489943:deterministic-transition:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"bd4bb8b0-2083-429d-a243-e26078df1b2b","command_center_event_id":"27ce03fc-4218-4895-9bb0-38cc60489943"},{"id":"a2bc969a-b607-49df-a88b-72bcd72dd13f","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"historical_pr_salvage","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"f6756a8c-12df-1bf5-0ed6-972d468db13e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:bca12026-3621-4c18-8d49-930aeb910a8e","mission_step_id":null,"command_center_event_id":"bca12026-3621-4c18-8d49-930aeb910a8e"},{"id":"a2c218f1-a685-4dfd-a55a-e34f02702685","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"119e44a0f79af26651daaf2c37546a886ec07350","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"P0 tenant-wide Edge Function reliability repair. Production screenshot at https://app.knocklaunch.app/pcg/calendar shows a red owner-visible banner reading 'Failed to send a request to the Edge Function'. On exact current main and live provider/runtime truth, identify the precise Supabase Edge Function invocation(s) and underlying auth/config/request-contract/CORS/provider failure causing the current PCG Calendar error. Fix the actual cause; do not merely suppress or rename the message. Then audit tenant-scoped application code for the same failure class: direct/unchecked supabase.functions.invoke calls, raw provider/transport errors surfaced to tenant UI, missing tenant/auth headers, stale function names/contracts, or missing safe recovery. Implement the smallest canonical tenant-safe edge invocation/recovery primitive needed so affected tenant routes receive typed, actionable states and never expose raw provider transport text. Migrate only affected same-class tenant callers; avoid unrelated redesigns. Add focused contract/tests that catch regression, including a repository-level guard against raw 'Failed to send a request to the Edge Function' leakage into authenticated tenant U","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"visual-content-truth","satisfied":false,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-production","proof-visual"]},{"id":"tenant-visual-isolation","satisfied":false,"statement":"Visual work is isolated to requested tenant. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","proofConditionIds":["proof-visual"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","proofConditionIds":["proof-visual"]},{"id":"reference-visual-authority","satisfied":false,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-visual"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"9e6079c6a537b37a245a10333466efd0bebb862948211577d0f3d50268214f6f","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"9e6079c6a537b37a245a10333466efd0bebb862948211577d0f3d50268214f6f"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"https://app.knocklaunch.app/pcg/calendar","currentSourceSha":"119e44a0f79af26651daaf2c37546a886ec07350","witnessSourceSha":"119e44a0f79af26651daaf2c37546a886ec07350","verificationState":null,"witnessRequestContractHash":"9e6079c6a537b37a245a10333466efd0bebb862948211577d0f3d50268214f6f"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T23:24:05.729699+00:00","proof_gate":"request_contract_pending","source_sha":"119e44a0f79af26651daaf2c37546a886ec07350","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:5706034a-5acf-4e85-b6ae-9e47163527bd:request-contract:9e6079c6a537b37a245a10333466efd0bebb862948211577d0f3d50268214f6f:119e44a0f79af26651daaf2c37546a886ec07350:pending:visual","mission_step_id":"ee888ba9-e29a-404c-aa37-cad79c1a8ad7","command_center_event_id":"5706034a-5acf-4e85-b6ae-9e47163527bd"},{"id":"a2c434bc-aa18-4a8b-a61c-486a1334163e","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/premium-shell-library-20260910","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.90-mission-terminalization","prNumber":2276,"terminal":false,"missionId":"0acb1ac8-5bc6-4217-bc73-2f6e58281a6a","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"d9a5559d3aa4b2858e9785d1e3c94808a2207e91","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":16374,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1922,"approvedPlanMs":0,"missionSetupMs":496,"providerAuthMs":0,"shipAndProveMs":6671,"ledgerPrepareMs":321,"ledgerReconcileMs":0,"lineageReconcileMs":175,"resolvePreflightMs":496,"repositoryMutationMs":7609,"repositoryProviderMs":6656,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":4690,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":321,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1966},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0acb1ac8-5bc6-4217-bc73-2f6e58281a6a"},"performance":null,"deploymentId":"forgejo-main-d9a5559d3aa4","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4883,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T04:59:23.675808+00:00","proof_gate":"canonical_release_dispatched","source_sha":"d9a5559d3aa4b2858e9785d1e3c94808a2207e91","external_id":"forgejo-main-d9a5559d3aa4","receipt_type":"execute_mission","idempotency_key":"mission:0acb1ac8-5bc6-4217-bc73-2f6e58281a6a:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"590b633d-f3bf-4392-85c3-c3ce2c1aaaa8","command_center_event_id":"0acb1ac8-5bc6-4217-bc73-2f6e58281a6a"},{"id":"a2c44c19-91e4-4db2-a236-e183679829a4","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-e4a87d7fdb02","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e4a87d7f-db02-4e9b-b00a-c7ea7da266ef","objective":"Corrective frontend release only: the approved platform Messages popup beautification is already merged on main, but its frontend push release was cancelled by transient runner context cancellation. Make one nonfunctional comment-only change in src/components/messages/platformMessagesReference.css to generate a fresh protected-main frontend deployment. Do not alter visual rules or messaging behavior. After merge, verify the persistent Messages button from /big-papis loads the beautified PlatformMessagesHost popup.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/components/messages/platformMessagesReference.css","anchor":"/* KNOCKLAUNCH Messaging — premium platform popup */","replacement":"/* KNOCKLAUNCH Messaging — premium platform popup · release recovery */"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"e4a87d7f-db02-4e9b-b00a-c7ea7da266ef","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"d61c0c0eb0a2ac3620a8a1e6d448509287073ff7196a376568d82f1443a99b2c","replayCount":0,"serializedBytes":1701},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:40:43.602426+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e4a87d7f-db02-4e9b-b00a-c7ea7da266ef:repository-mutation-intent:d61c0c0eb0a2ac3620a8a1e6d448509287073ff7196a376568d82f1443a99b2c:0","mission_step_id":"ff45f8de-4bce-4bca-a512-56266662447e","command_center_event_id":"e4a87d7f-db02-4e9b-b00a-c7ea7da266ef"},{"id":"a2c44ffc-9cae-40f2-9ee2-bc8c6fac7b63","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in reasoning required.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"synthesis_required","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"reasoning_required\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"synthesis_required\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-repo\",\"proof-runtime\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-10-04T04:41:10.1342+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T02:12:27.16946+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:d7089a22-1181-4309-a634-08a98fbf05a6:owner-progress-heartbeat:119405329","mission_step_id":"041c32c6-72a5-4467-bdd4-cff96c2c5c8f","command_center_event_id":"d7089a22-1181-4309-a634-08a98fbf05a6"},{"id":"a2c6ab14-d4b5-49c7-9682-f726f65cbc2c","source":"cc-execution","status":"recorded","payload":{"objective":"Continue the same roof Auto Measure latency repair already authorized by the owner. PR #1426 has passed KnockLaunch Gate. Squash merge it, deploy only roof-ai-detection, and prove the exact live function release. Do not create replacement work.","tenantRef":"redfish-roofing","receivedAt":"2026-09-02T15:29:53.797Z","fingerprint":"8af24476e38db89226cbec51f6108bfe0f8d9944b596f78e782a3f566584d769","workstreamRef":"redfishroofing","conversationId":null,"canonicalBranch":"ai/objective-first-repair-mtk90qtr","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same roof Auto Measure latency repair already authorized by the owner. PR #1426 has passed KnockLaunch Gate. Squash merge it, deploy only roof-ai-detection, and prove the exact live function release. Do not create replacement work.","wordingChanged":false,"canonicalIntent":"Continue the same roof Auto Measure latency repair already authorized by the owner. PR #1426 has passed KnockLaunch Gate. Squash merge it, deploy only roof-ai-detection, and prove the exact live function release. Do not create replacement work.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Redfish roof Auto Measure no longer unconditionally runs a second AI vision pass solely because OSM coordinates are present.","proofConditionIds":["proof-repository","proof-runtime"]}],"objective":"Continue the same roof Auto Measure latency repair already authorized by the owner. PR #1426 has passed KnockLaunch Gate. Squash merge it, deploy only roof-ai-detection, and prove the exact live function release. Do not create replacement work.","constraints":[{"id":"constraint-1","statement":"Keep low-confidence second-pass verification.","proofConditionIds":["proof-repository"]},{"id":"constraint-2","statement":"Keep OSM area-deviation second-pass verification.","proofConditionIds":["proof-repository"]},{"id":"constraint-3","statement":"Do not change frontend behavior.","proofConditionIds":["proof-repository"]},{"id":"constraint-4","statement":"Deploy only the affected roof-ai-detection Supabase Edge Function.","proofConditionIds":["proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Merged protected-main source contains exactly the one-file one-line latency repair and preserves low-confidence and OSM area-deviation verification logic.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-runtime","kind":"runtime","claim":"The exact merged roof-ai-detection function source is deployed to production and no unrelated production target is released.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/objective-first-repair-mtk90qtr","conversationContext":"{\"requestContract\":{\"version\":1,\"source\":\"explicit\",\"objective\":\"Make Redfish roof Auto Measure stop being painfully slow while preserving subject-lock and accuracy protections.\",\"intent\":{\"rawUtterance\":\"i can tell you off the bat its painfully slow\",\"canonicalIntent\":\"Reduce Redfish roof Auto Measure latency without weakening subject-lock or measurement accuracy protections.\",\"wordingChanged\":true,\"resolutionStatus\":\"exact\",\"uniqueResolution\":true,\"clarificationRequired\":false},\"outcomes\":[{\"id\":\"outcome-1\",\"statement\":\"Redfish roof Auto Measure no longer unconditionally runs a second AI vision pass solely because OSM coordinates are present.\",\"proofConditionIds\":[\"proof-repository\",\"proof-runtime\"]}],\"constraints\":[{\"id\":\"constraint-1\",\"statement\":\"Keep low-confidence second-pass verification.\",\"proofConditionIds\":[\"proof-repository\"]},{\"id\":\"constraint-2\",\"statement\":\"Keep OSM area-deviation second-pass verification.\",\"proofConditionIds\":[\"proof-repository\"]},{\"id\":\"constraint-3\",\"statement\":\"Do not change frontend behavior.\",\"proofConditionIds\":[\"proof-repository\"]},{\"id\":\"constraint-4\",\"statement\":\"Deploy only the affected roof-ai-detection Supabase Edge Function.\",\"proofConditionIds\":[\"proof-runtime\"]}],\"proofConditions\":[{\"id\":\"proof-repository\",\"kind\":\"repository\",\"claim\":\"Merged protected-main source contains exactly the one-file one-line latency repair and preserves low-confidence and OSM area-deviation verification logic.\",\"required\":true},{\"id\":\"proof-runtime\",\"kind\":\"runtime\",\"claim\":\"The exact merged roof-ai-detection function source is deployed to production and no unrelated production target is released.\",\"required\":true}],\"terminalPolicy\":\"all_required_proof_conditions_satisfied_after_live_release\",\"valid\":true,\"validationErrors\":[]}}","requestContractHash":"272b691f664a26b33fcb79d23b066cd7b84c060507f1a88ba87863cffb355390","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T15:29:55.045979+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:73a43228-4a23-45cc-bdce-36e504279ebc:tenant-workstream-contribution:8af24476e38db89226cbec51f6108bfe0f8d9944b596f78e782a3f566584d769","mission_step_id":null,"command_center_event_id":"73a43228-4a23-45cc-bdce-36e504279ebc"},{"id":"a2c7e224-292e-41fc-88ba-593c9a1d5efe","source":"github-status","status":"pending","payload":{"failed":[],"states":{"canonical-production-release/verified":"pending"},"missing":[],"pending":["canonical-production-release/verified"],"required":["canonical-production-release/verified"],"sourceSha":"616cf7de9593d6d2533afb55ea49cf71445ed7ed","releaseState":"pending","exactConductorRun":{"id":31286681017,"status":"pending","headSha":"616cf7de9593d6d2533afb55ea49cf71445ed7ed","conclusion":null,"compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-09T00:41:44.905106+00:00","proof_gate":"canonical_release_pending","source_sha":"616cf7de9593d6d2533afb55ea49cf71445ed7ed","external_id":"canonical-release-616cf7de9593","receipt_type":"canonical_release_status","idempotency_key":"mission:9a6eab80-b3dd-4788-8053-6bd3d2eccded:release-status:616cf7de9593d6d2533afb55ea49cf71445ed7ed:31286681017:pending:canonical-production-release/verified=pending","mission_step_id":"4714a452-d735-4c68-a506-3e42d82dba0a","command_center_event_id":"9a6eab80-b3dd-4788-8053-6bd3d2eccded"},{"id":"a2c93f1d-c847-4325-bcc9-58c33d23f6e3","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/fail-closed-control-plane-guard","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1882,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.2-autonomous-forgejo-merge-supervisor","prNumber":null,"terminal":false,"missionId":"f9fe0ae5-d1a3-48b3-8c27-8a0d38703065","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"f9fe0ae5-d1a3-48b3-8c27-8a0d38703065"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":8159,"likelyAffectedFiles":["src/__tests__/contracts/command-palette-platform-authority.contract.test.ts",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/command-center-mission-control.test.ts","src/__tests__/contracts/command-center-mission-preflight.test.ts","src/components/admin/TenantUserCommandCenters.tsx","src/components/GlobalCommandPalette.tsx","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/command-center-event-runtime.test.ts","src/__tests__/godmode/command-center.test.ts","src/__tests__/godmode/GodModeCommandConsole.test.tsx","scripts/generate-platform-cohesion-auth-proof-requirements.mjs","scripts/validate-command-center-contracts.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T12:57:38.318987+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f9fe0ae5-d1a3-48b3-8c27-8a0d38703065:execute_mission:repair_mission_synthesis_ready","mission_step_id":"85b1f9c6-d80d-4b5d-830f-c8f111e52fa3","command_center_event_id":"f9fe0ae5-d1a3-48b3-8c27-8a0d38703065"},{"id":"a2c9ff59-c2e7-4629-b99d-a041b1e998a4","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/fix-strict-tenant-contract-migration-signature-20260830","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":2543,"releaseCount":1,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.3-source-scope-boundary","prNumber":1116,"terminal":false,"missionId":"f749b0eb-2685-494f-9e2c-1fc61b0c102c","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":"4b19578e910f26210030c2f4092352c83e0cca7c","timingsMs":{"handlerMs":17565,"prReadinessMs":364,"approvedPlanMs":0,"missionSetupMs":692,"shipAndProveMs":17194},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"f749b0eb-2685-494f-9e2c-1fc61b0c102c"},"performance":null,"deploymentId":"forgejo-main-4b19578e910f","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5345,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T16:03:21.923463+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":"4b19578e910f26210030c2f4092352c83e0cca7c","external_id":"forgejo-main-4b19578e910f","receipt_type":"execute_mission","idempotency_key":"mission:f749b0eb-2685-494f-9e2c-1fc61b0c102c:execute_mission:canonical_release_transport_retryable:current-generation","mission_step_id":"8c832401-4e2a-462c-8c4a-cb74736858c3","command_center_event_id":"f749b0eb-2685-494f-9e2c-1fc61b0c102c"},{"id":"a2ca26ec-eeb9-4855-b471-018d75898cf0","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"1d1b6c9532bbf5e2999a2e4204b3da521c83968b","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"upload-path","satisfied":true,"statement":"admin-tenant-mode-image-upload no longer performs zero-byte .emptyFolderPlaceholder writes before the real image upload; it only computes the expected MODES folder prefixes and proceeds to upload the selected image into media/modes/<storage_slug>/.","proofConditionIds":["repo","release","runtime"]},{"id":"preserve-contract","satisfied":true,"statement":"GodMode/tenant authorization, image-only and 25 MB validation, private tenant bucket usage, tenant_media_assets registration, and matching settings.modes.cards image updates remain intact.","proofConditionIds":["repo","runtime"]}],"satisfied":true,"constraints":[{"id":"scope","satisfied":true,"statement":"Only supabase/functions/admin-tenant-mode-image-upload/index.ts is changed and only the Supabase Edge Function release owner is deployed.","proofConditionIds":["repo","release"]},{"id":"no-visual","satisfied":true,"statement":"No Visual Witness run is started.","proofConditionIds":["repo"]}],"contractHash":"fcbdd5233c5342c81b6b7f5a78a49d5679c1e76025792be29ca0ab71928a6785","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"fcbdd5233c5342c81b6b7f5a78a49d5679c1e76025792be29ca0ab71928a6785","repositoryProofStatus":"verified","repositoryProofSourceSha":"1d1b6c9532bbf5e2999a2e4204b3da521c83968b"},"required":true,"satisfied":true},{"id":"release","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["supabaseEdge"],"releaseRequestContractHash":"fcbdd5233c5342c81b6b7f5a78a49d5679c1e76025792be29ca0ab71928a6785"},"required":true,"satisfied":true},{"id":"runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["supabaseEdge"],"releaseRequestContractHash":"fcbdd5233c5342c81b6b7f5a78a49d5679c1e76025792be29ca0ab71928a6785"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T19:11:46.425136+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"1d1b6c9532bbf5e2999a2e4204b3da521c83968b","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:f920fb7f-41ce-4be0-91ae-2658228001ef:request-contract:fcbdd5233c5342c81b6b7f5a78a49d5679c1e76025792be29ca0ab71928a6785:1d1b6c9532bbf5e2999a2e4204b3da521c83968b:verified:","mission_step_id":"d0a809c5-15f6-44fe-8464-cf3deac1bae2","command_center_event_id":"f920fb7f-41ce-4be0-91ae-2658228001ef"},{"id":"a2cc497d-84e5-4728-a88c-94e62cfadd32","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.38.2-forgejo-source-targets","prNumber":54,"terminal":false,"missionId":"7d0cf7a5-6811-416f-8bac-ecca003d4523","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"5613caf6894fc90fec05ba0a1614206b1ef18b6a","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"7d0cf7a5-6811-416f-8bac-ecca003d4523"},"performance":null,"deploymentId":"forgejo-main-5613caf6894f","workflowRunId":149,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1393,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-14T20:59:17.816754+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"5613caf6894fc90fec05ba0a1614206b1ef18b6a","external_id":"forgejo-main-5613caf6894f","receipt_type":"ship_and_prove","idempotency_key":"mission:7d0cf7a5-6811-416f-8bac-ecca003d4523:ship_and_prove:ship_and_prove_release_pending:5613caf6894fc90fec05ba0a1614206b1ef18b6a:149","mission_step_id":"c2b20092-ba14-492b-a9f3-6cfbcbb5aade","command_center_event_id":"7d0cf7a5-6811-416f-8bac-ecca003d4523"},{"id":"a2cd18a3-6090-4919-930f-f6345fd8eb87","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e55149ca3c12","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":10430,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":39761,"firstUsefulResultAt":"2026-09-25T11:35:47.280Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3712,"terminal":false,"missionId":"e55149ca-3c12-47bd-89ec-d494f0b61731","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5453,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"e55149ca-3c12-47bd-89ec-d494f0b61731"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T11:36:27.08877+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3712","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e55149ca-3c12-47bd-89ec-d494f0b61731:automatic-mission-resume:3712:repair_mission_pr_ready_retryable","mission_step_id":"baeed0e6-73b4-4384-85ae-70248b6e158b","command_center_event_id":"e55149ca-3c12-47bd-89ec-d494f0b61731"},{"id":"a2cdfb97-aae3-49a2-a698-645b8bc02472","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-2e6c7b558ffb","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":13687,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"executorlessWaitMs":222862,"firstUsefulResultAt":"2026-09-27T17:25:30.874Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"2e6c7b55-8ffb-4512-b43d-017105e65516","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":517,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":517,"missionSetupMs":234,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":234,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":234,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":234,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"2e6c7b55-8ffb-4512-b43d-017105e65516"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1422,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:27:58.237259+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2e6c7b55-8ffb-4512-b43d-017105e65516:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"6daf8817-2cc6-4ee4-b9ef-765b3ecf9711","command_center_event_id":"2e6c7b55-8ffb-4512-b43d-017105e65516"},{"id":"a2cec2d7-39d5-4f5a-8eaf-7a4cf0c4e85e","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_current_window_limit","nextAction":"inspect_exact_source_then_submit_anchored_edits_via_execute_objective","failureClass":null,"sourceTargets":["src/__tests__/contracts/pcg-photo-pairing-date.test.ts","src/__tests__/contracts/pcg-real-uploader-26-batch.integration.test.tsx","src/pages/card-grading/PCGSlabUpload.tsx","src/pages/card-grading/pcgPhotoPairing.ts"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"continuationOwner":"calling_assistant","requiresExactSourceEdits":false,"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-17T12:19:22.559094+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"e9f0b3126db63ad5fc0eeb643ddc5a2e84368bc8","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:3c5cfd60-1343-40a6-a5a5-e6ac8b148f1f:compiler:e9f0b3126db63ad5fc0eeb643ddc5a2e84368bc8:src/__tests__/contracts/pcg-photo-pairing-date.test.ts,src/__tests__/contracts/pcg-real-uploader-26-batch.integration.test.tsx,src/pages/card-grading/PCGSlabUpload.tsx,src/pages/card-grading/pcgPhotoPairing.ts","mission_step_id":"4960fa2f-6689-48e4-9b2e-4f8e77c0165e","command_center_event_id":"3c5cfd60-1343-40a6-a5a5-e6ac8b148f1f"},{"id":"a2d014b1-e58a-4a88-9ded-a01ca7141ad1","source":"owner_authorized_historical_execution_deduplication","status":"recorded","payload":{"reason":"daily_zelle_dispatch_attempt_replaced_by_live_paul_schedule","disposition":"retired_execution_attempt","successorKey":"107bb5b5-bdd7-4bfc-a76a-5f548bae84a8","successorKind":"paul_schedule","originalEvidencePreserved":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:18:19.818647+00:00","proof_gate":"redundant_execution_attempt_closed_successor_preserved","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-recovery-close-last-zombies-20261011:560eeec8-7276-4f66-afd1-89e2b0fb73be","mission_step_id":null,"command_center_event_id":"560eeec8-7276-4f66-afd1-89e2b0fb73be"},{"id":"a2d16919-4b99-49cc-b2da-04dd410afddc","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGSlabUpload.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-16T00:30:13.290463+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"a9a1d494d3074caec072d7e7e9e92673ce96d685","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:a5e8e67f-7b20-46e3-9148-9e808d4d0fe1:compiler:a9a1d494d3074caec072d7e7e9e92673ce96d685:src/pages/card-grading/PCGSlabUpload.tsx","mission_step_id":"f72a8e2a-c7b6-460d-b175-2c5adfe0863b","command_center_event_id":"a5e8e67f-7b20-46e3-9148-9e808d4d0fe1"},{"id":"a2d39da7-f38a-4dbd-8baa-7cb158f58f9c","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"pending","supabase-migrations/live":"pending","supabase-edge-production/live":"pending"},"mainSha":"b95b63e73436abef3728ddc270b8a20273945958","missing":[],"pending":["supabase-edge-production/live","frontend-cloudflare/live","supabase-migrations/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"5f59e94d11640ce86c4ab9c1c53a189cab3b8176","releaseState":"failed","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-customer-progress"]},"releaseTargetStates":{"frontend":"pending","migrations":"pending","supabaseEdge":"pending"},"requestContractHash":"ed602f5e9c19aa3feea9efe9c6dec6cc37156b11a9faac056c8510442d9e2cd1","forgejoWorkflowProof":{"runId":15713,"source":"signed_push_receipt","status":"cancelled","results":{},"conclusion":"cancelled","fingerprint":"cancelled||","failureClass":"release_cancelled_transient","targetStates":{"frontend":"pending","migrations":"pending","supabaseEdge":"pending"},"safeAutoRetry":true,"targetJobCount":7,"observedTargetStates":{"frontend":"pending","migrations":"pending","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:24:43.775693+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"5f59e94d11640ce86c4ab9c1c53a189cab3b8176","external_id":"forgejo-main-5f59e94d1164","receipt_type":"canonical_release_status","idempotency_key":"mission:67994263-18ba-4f0d-a993-c5e9f5d2a5b9:forgejo-release-status:5f59e94d11640ce86c4ab9c1c53a189cab3b8176:failed:forgejo-main/source=success|forgejo-release/workflow=failure|supabase-edge-production/live=pending|frontend-cloudflare/live=pending|supabase-migrations/live=pending","mission_step_id":"e7f8f27a-aad1-47ce-b3ed-c53bf12a1c41","command_center_event_id":"67994263-18ba-4f0d-a993-c5e9f5d2a5b9"},{"id":"a2d4d760-e3da-401a-98a5-e3c23f61c67e","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"3fbd15200ae4a436e46ac3434d48ba1a0eca86a0","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"queue-recovery","satisfied":true,"statement":"Stale-head gate failures caused only by protected main advancement are refreshed and re-gated before deterministic failed-PR retirement or parking.","proofConditionIds":["proof-runtime","proof-queue"]},{"id":"queue-drain","satisfied":true,"statement":"Currently eligible green armed PRs are no longer stranded, and current queue entries are reconciled without discarding unique work.","proofConditionIds":["proof-queue"]}],"satisfied":true,"constraints":[{"id":"protected-main","satisfied":true,"statement":"Do not bypass protected main or KnockLaunch Gate.","proofConditionIds":["proof-queue"]},{"id":"preserve-unique-work","satisfied":true,"statement":"Do not discard unique requested work.","proofConditionIds":["proof-queue"]},{"id":"single-mutation","satisfied":true,"statement":"Keep one automatic queue mutation per supervisor tick.","proofConditionIds":["proof-runtime"]},{"id":"runner-capacity","satisfied":true,"statement":"Do not weaken gate safety or fake parallelism; heavyJobsParallel remains 1 unless actual resource exhaustion is proven.","proofConditionIds":["proof-runtime","proof-queue"]},{"id":"forgejo-only","satisfied":true,"statement":"Forgejo is the only repository, merge, workflow, and release authority.","proofConditionIds":["proof-runtime","proof-queue"]}],"contractHash":"c77e6bf083399ed8c72c405ea530f1565666fa0a39424385d55bd711c2b9e349","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-runtime","kind":"runtime","evidence":{"releaseState":"verified","releaseRequestContractHash":"c77e6bf083399ed8c72c405ea530f1565666fa0a39424385d55bd711c2b9e349"},"required":true,"satisfied":true},{"id":"proof-queue","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"c77e6bf083399ed8c72c405ea530f1565666fa0a39424385d55bd711c2b9e349"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T16:51:17.647159+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"3fbd15200ae4a436e46ac3434d48ba1a0eca86a0","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:407dfabe-3763-45e7-a060-7a1748b99355:request-contract:c77e6bf083399ed8c72c405ea530f1565666fa0a39424385d55bd711c2b9e349:3fbd15200ae4a436e46ac3434d48ba1a0eca86a0:verified:","mission_step_id":"fd8b39ac-ca3b-4df0-b174-506aed34076a","command_center_event_id":"407dfabe-3763-45e7-a060-7a1748b99355"},{"id":"a2d5e708-23c9-4f4b-92fb-f43787292add","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","workers/cc-execution/src/mission-ledger.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly authorized immediate control-plane reliability repair. The first corrective PR #996 became an orphaned branch after an ambiguous provider timeout and cannot legally accept the stale invariant correction. Create one clean replacement generation from current main with the complete corrected state, then retire #996 only after exact preservation proof.","baseSha":"417f3bb78053b5ba8cfb77b30e8e21d533d1c364","issuedAt":1787972782331,"expiresAt":1787972962331,"missionId":"49a4d23f-5a47-41a9-b269-ff726f285af8","singleUse":true,"authorizationId":"8f9a953e-23b3-43c5-989c-85cad22b63dd"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T03:06:23.186635+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"417f3bb78053b5ba8cfb77b30e8e21d533d1c364","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:8f9a953e-23b3-43c5-989c-85cad22b63dd","mission_step_id":"d3d341d4-5871-42f8-9902-cf310a88b4c3","command_center_event_id":"49a4d23f-5a47-41a9-b269-ff726f285af8"},{"id":"a2d68736-65d8-4252-bdd8-78cce4f3fd38","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.10-boundary-fix-release-retry","prNumber":null,"terminal":false,"missionId":"1640998d-5d81-4ba8-b368-2c9f91cab6ee","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3063,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":554,"providerAuthMs":0,"ledgerPrepareMs":554,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":554,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":554,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"1640998d-5d81-4ba8-b368-2c9f91cab6ee"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1956,"likelyAffectedFiles":["src/lib/design/experienceStudioSurfaceResolver.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:46:21.355284+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1640998d-5d81-4ba8-b368-2c9f91cab6ee:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"f940f0d7-234a-4244-90ff-0e6dc6e71502","command_center_event_id":"1640998d-5d81-4ba8-b368-2c9f91cab6ee"},{"id":"a2d69d1b-8b7f-42c0-899f-e11b999486c4","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow","frontend-cloudflare/live"],"states":{"forgejo-main/source":"pending","forgejo-release/workflow":"failure","frontend-cloudflare/live":"failure"},"mainSha":"3f175a90ad0a0cf44608a31c16601da9f356605e","missing":[],"pending":["forgejo-main/source"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"fd0bb16723aac7741a7f28b6eeae8c080990c597","releaseState":"failed","sourceInMain":false,"compareStatus":null,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/844","runId":844,"status":"failure","conclusion":null,"failedJobs":[{"id":5636,"name":"Frontend build failed -  - ","status":"failure","conclusion":null,"failedSteps":[]}],"fingerprint":"failure|frontend build failed -  -","failureClass":"code_failure","safeAutoRetry":false},"onrunnerRuntimeProof":null,"releaseSourceVerified":false,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T17:10:32.981268+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"fd0bb16723aac7741a7f28b6eeae8c080990c597","external_id":"forgejo-main-fd0bb16723aa","receipt_type":"canonical_release_status","idempotency_key":"mission:acc92240-bf96-442b-9bd7-f46b3b129cf2:forgejo-release-status:fd0bb16723aac7741a7f28b6eeae8c080990c597:failed:forgejo-main/source=pending|forgejo-release/workflow=failure|frontend-cloudflare/live=failure","mission_step_id":"3f37237a-1079-402d-ac51-bb6d7e18c816","command_center_event_id":"acc92240-bf96-442b-9bd7-f46b3b129cf2"},{"id":"a2d77189-f5c9-4fa6-975c-fd99df866363","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/capability-service-adapters-20260906","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":2024,"terminal":false,"missionId":"0ee19aae-31c6-4a09-8339-52c0bd454b98","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"877b9136da81d22968fdd6f7eaa3d9ddf4405e52","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":11236,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1564,"approvedPlanMs":0,"missionSetupMs":801,"providerAuthMs":0,"shipAndProveMs":9381,"ledgerPrepareMs":801,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":801,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":801,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0ee19aae-31c6-4a09-8339-52c0bd454b98"},"performance":null,"deploymentId":"forgejo-main-877b9136da81","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["capability-router"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2673,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T02:02:09.296029+00:00","proof_gate":"canonical_release_dispatched","source_sha":"877b9136da81d22968fdd6f7eaa3d9ddf4405e52","external_id":"forgejo-main-877b9136da81","receipt_type":"execute_mission","idempotency_key":"mission:0ee19aae-31c6-4a09-8339-52c0bd454b98:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"7795850e-6ff2-4cd2-9f7f-a1a22c5c5320","command_center_event_id":"0ee19aae-31c6-4a09-8339-52c0bd454b98"},{"id":"a2da6d5f-e633-406c-87d6-61493353561d","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/visual-infrastructure-proof-retry-20260921","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3342,"terminal":false,"missionId":"2ddc548e-45c0-46fe-8fc1-1c8ac160e732","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"09d9eca7aacd5fbeeaefb0a7a0e852bd056fe272","timingsMs":{"prReadinessMs":553,"approvedPlanMs":0,"shipAndProveMs":3546,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"2ddc548e-45c0-46fe-8fc1-1c8ac160e732"},"performance":null,"deploymentId":"forgejo-main-09d9eca7aacd","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1936,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T04:27:29.356073+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3342","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2ddc548e-45c0-46fe-8fc1-1c8ac160e732:automatic-mission-resume:3342:canonical_release_dispatched","mission_step_id":"b32b52cc-d82a-4da9-b8a5-8c9b5403709a","command_center_event_id":"2ddc548e-45c0-46fe-8fc1-1c8ac160e732"},{"id":"a2da7d3b-6f3e-46b8-86a2-e0c812390e73","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-56cc124e7205","writes":[],"patches":[],"version":1,"approved":true,"missionId":"56cc124e-7205-4b6a-8df6-aae100c9aa21","objective":"Mission Freedom Stage 1: make MSI the primary runner for normal pull-request KnockLaunch Gate workloads. Change only the PR gate job in .forgejo/workflows/knocklaunch.yml from runs-on docker-8g to runs-on msi-local and update its hard-safety self-check accordingly. Do not move production release jobs yet. Preserve memory limits, Gate behavior, release ownership, and all other jobs. Gate this routing change, merge it, then prove the next normal PR Gate actually runs on msi-local. This is a reversible first step toward MSI-first with CI-02 retained for production release fallback.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[".forgejo/workflows/knocklaunch.yml"],"anchored_edits":[{"path":".forgejo/workflows/knocklaunch.yml","edits":[{"new_content":"    runs-on: msi-local\n    container:\n      image: node:22.18.0-bookworm\n      options: ${{ contains(github.event.pull_request.body, '<!-- knocklaunch:light-control-plane-gate -->') && github.event.pull_request.changed_files <= 12 && '--memory=768m' || '--memory=4096m' }}","old_content":"    runs-on: docker-8g\n    container:\n      image: node:22.18.0-bookworm\n      options: ${{ contains(github.event.pull_request.body, '<!-- knocklaunch:light-control-plane-gate -->') && github.event.pull_request.changed_files <= 12 && '--memory=768m' || '--memory=4096m' }}"},{"new_content":"          grep -q '^    runs-on: msi-local$' <<< \"$gate_block\"","old_content":"          grep -q '^    runs-on: docker-8g$' <<< \"$gate_block\""}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"I ran MSI proof and it passed. Continue. Make MSI top of the food chain.","wordingChanged":false,"canonicalIntent":"Mission Freedom Stage 1: make MSI the primary runner for normal pull-request KnockLaunch Gate workloads. Change only the PR gate job in .forgejo/workflows/knocklaunch.yml from runs-on docker-8g to runs-on msi-local and update its hard-safety self-check accordingly. Do not move production release jobs yet. Preserve memory limits, Gate behavior, release ownership, and all other jobs. Gate this routing change, merge it, then prove the next normal PR Gate actually runs on msi-local. This is a reversible first step toward MSI-first with CI-02 retained for production release fallback.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit_owner_request","version":1,"outcomes":[{"id":"o1","statement":"Normal PR Gate routes to msi-local while production frontend release remains on docker-8g.","provenance":{"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["p1"]}],"objective":"Mission Freedom Stage 1: make MSI the primary runner for normal pull-request KnockLaunch Gate workloads. Change only the PR gate job in .forgejo/workflows/knocklaunch.yml from runs-on docker-8g to runs-on msi-local and update its hard-safety self-check accordingly. Do not move production release jobs yet. Preserve memory limits, Gate behavior, release ownership, and all other jobs. Gate this routing change, merge it, then prove the next normal PR Gate actually runs on msi-local. This is a reversible first step toward MSI-first with CI-02 retained for production release fallback.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"p1","kind":"runtime","claim":"A normal KnockLaunch Gate pull-request job is scheduled on msi-local after the routing change, while release-frontend remains docker-8g.","required":true,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[".forgejo/workflows/knocklaunch.yml"],"requestContract":{"intent":{"rawUtterance":"I ran MSI proof and it passed. Continue. Make MSI top of the food chain.","wordingChanged":false,"canonicalIntent":"Mission Freedom Stage 1: make MSI the primary runner for normal pull-request KnockLaunch Gate workloads. Change only the PR gate job in .forgejo/workflows/knocklaunch.yml from runs-on docker-8g to runs-on msi-local and update its hard-safety self-check accordingly. Do not move production release jobs yet. Preserve memory limits, Gate behavior, release ownership, and all other jobs. Gate this routing change, merge it, then prove the next normal PR Gate actually runs on msi-local. This is a reversible first step toward MSI-first with CI-02 retained for production release fallback.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit_owner_request","version":1,"outcomes":[{"id":"o1","statement":"Normal PR Gate routes to msi-local while production frontend release remains on docker-8g.","provenance":{"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["p1"]}],"objective":"Mission Freedom Stage 1: make MSI the primary runner for normal pull-request KnockLaunch Gate workloads. Change only the PR gate job in .forgejo/workflows/knocklaunch.yml from runs-on docker-8g to runs-on msi-local and update its hard-safety self-check accordingly. Do not move production release jobs yet. Preserve memory limits, Gate behavior, release ownership, and all other jobs. Gate this routing change, merge it, then prove the next normal PR Gate actually runs on msi-local. This is a reversible first step toward MSI-first with CI-02 retained for production release fallback.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"p1","kind":"runtime","claim":"A normal KnockLaunch Gate pull-request job is scheduled on msi-local after the routing change, while release-frontend remains docker-8g.","required":true,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"ab16d3a5da843fed4237241539df9f3f770199ba7ea175067f7e0924fa0349d6","replayCount":0,"serializedBytes":6565},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T17:51:39.387697+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:56cc124e-7205-4b6a-8df6-aae100c9aa21:repository-mutation-intent:ab16d3a5da843fed4237241539df9f3f770199ba7ea175067f7e0924fa0349d6:0","mission_step_id":"29cd6d74-2dc5-4a3f-9c36-cca380b0e57c","command_center_event_id":"56cc124e-7205-4b6a-8df6-aae100c9aa21"},{"id":"a2da884c-cf0e-4d6a-808f-e2583bd4c5af","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"b22c345b462afe494cee238ccf6baea201d94938","sourceSha":"50f17ab3cb1d9b2a26ce6a779ab189f23da6c1d6","sourceInMain":false,"compareStatus":"main_history_page_inconclusive","ancestryProofResolved":false},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-10-04T02:03:20.030979+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"50f17ab3cb1d9b2a26ce6a779ab189f23da6c1d6","external_id":"canonical-release-50f17ab3cb1d","receipt_type":"canonical_release_status","idempotency_key":"mission:7d318dd0-81c1-48ab-aec4-f13dc4aceefe:forgejo-release-ancestry:50f17ab3cb1d9b2a26ce6a779ab189f23da6c1d6:b22c345b462afe494cee238ccf6baea201d94938:main_history_page_inconclusive","mission_step_id":"827b5f45-0496-457d-9377-e273a2b2ec1c","command_center_event_id":"7d318dd0-81c1-48ab-aec4-f13dc4aceefe"},{"id":"a2df475d-85fa-4e46-af51-6771430a8a40","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"80d7bb9b45c1cc37b7e1db7c65983e499c737925","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"proof-repository","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"db7b190de73eba47421d25132d786e54d881a99e","prNumber":5057,"gateRunId":16013,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/16013/jobs/1","mergeCommitSha":"80d7bb9b45c1cc37b7e1db7c65983e499c737925"}],"requestContractHash":"7ba1c23f865e80361751bc3b22e460696f351c8914409c3aa4d72faa58a99624","namedGateEvidenceReceiptVersion":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:44:09.237663+00:00","proof_gate":"request_contract_repository_verified","source_sha":"80d7bb9b45c1cc37b7e1db7c65983e499c737925","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:168d04c4-418e-4418-a42b-b271dc74bfb5:request-contract-repository:7ba1c23f865e80361751bc3b22e460696f351c8914409c3aa4d72faa58a99624:80d7bb9b45c1cc37b7e1db7c65983e499c737925","mission_step_id":"bbf5c561-bd7c-401c-8194-9412fe101f8b","command_center_event_id":"168d04c4-418e-4418-a42b-b271dc74bfb5"},{"id":"a2dfda26-c0d3-42b3-be69-57d6ea304732","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ad033befa378","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3360,"terminal":false,"missionId":"ad033bef-a378-4fd8-b821-892b60801fb5","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1308,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"ad033bef-a378-4fd8-b821-892b60801fb5"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1286,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T16:24:17.218422+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3360","receipt_type":"automatic_mission_resume","idempotency_key":"mission:ad033bef-a378-4fd8-b821-892b60801fb5:automatic-mission-resume:3360:repair_mission_waiting_for_gate","mission_step_id":"5339708f-8d91-4fe8-bccd-9bc6b9ec899c","command_center_event_id":"ad033bef-a378-4fd8-b821-892b60801fb5"},{"id":"a2e0a116-9660-468e-92d6-67a11c1352ce","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/conversation-native-proposals","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":1991,"terminal":false,"missionId":"8895776c-ab94-41ec-870b-7e65a532cacb","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"8afc3ae9e664cda2df5d9a799bba5b8dd273c5b0","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":10260,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1671,"approvedPlanMs":0,"missionSetupMs":981,"providerAuthMs":0,"shipAndProveMs":8249,"ledgerPrepareMs":566,"ledgerReconcileMs":0,"lineageReconcileMs":415,"resolvePreflightMs":981,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":566,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8895776c-ab94-41ec-870b-7e65a532cacb"},"performance":null,"deploymentId":"forgejo-main-8afc3ae9e664","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["proposal-engine"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2672,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T20:19:25.856897+00:00","proof_gate":"canonical_release_dispatched","source_sha":"8afc3ae9e664cda2df5d9a799bba5b8dd273c5b0","external_id":"forgejo-main-8afc3ae9e664","receipt_type":"execute_mission","idempotency_key":"mission:8895776c-ab94-41ec-870b-7e65a532cacb:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"8684b6d8-4a6b-42d4-88cf-293e938dc14c","command_center_event_id":"8895776c-ab94-41ec-870b-7e65a532cacb"},{"id":"a2e2d577-1d67-475e-ae17-b9120df35324","source":"cc-execution-mission-control","status":"verified","payload":{"branch":"ai/canonical-pipeline-runner-slot-proof-failclosed","headSha":"1474eb8dd6d44ab2422db3442707d4c0a921c600","prNumber":7079},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-16T01:08:15.262548+00:00","proof_gate":"forgejo_scoped_patch_pr_created","source_sha":null,"external_id":null,"receipt_type":"canonical_scoped_patch_pr_created","idempotency_key":"mission:402e417e-98a2-498a-a03f-591c003d79ab:pr:7079:implementation-created","mission_step_id":"e553826d-b05a-4306-af58-dbe5d47083ac","command_center_event_id":"402e417e-98a2-498a-a03f-591c003d79ab"},{"id":"a2e39c1f-4889-4d7e-8cbe-bab67699e0c5","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"visual_proof","branch":"ai/big-papis-popup-map-lifecycle","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2739,"terminal":false,"missionId":"c2eafd2f-a15d-4508-bf8b-10996e16e646","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"81689887eb4437afa648e3d6c4ce04c610f0b92d","timingsMs":{"prReadinessMs":337,"approvedPlanMs":0,"shipAndProveMs":3945,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"c2eafd2f-a15d-4508-bf8b-10996e16e646"},"performance":null,"deploymentId":"forgejo-main-81689887eb44","workflowRunId":8112,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":793,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T07:56:24.12371+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"2739","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c2eafd2f-a15d-4508-bf8b-10996e16e646:automatic-mission-resume:2739:canonical_release_reconciliation_pending","mission_step_id":"8c6dd9c1-5474-428f-9ebb-f02e0f0f4645","command_center_event_id":"c2eafd2f-a15d-4508-bf8b-10996e16e646"},{"id":"a2e482fc-d32f-49a8-ac8e-9c42466a9002","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-1626ee1081da","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":10624,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-28T13:38:53.981Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.301-premium-visual-system","prNumber":null,"terminal":false,"missionId":"1626ee10-81da-4678-b433-22c4415dc7c5","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":262,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":262,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":262,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":262,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"1626ee10-81da-4678-b433-22c4415dc7c5"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1443,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:38:54.784449+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1626ee10-81da-4678-b433-22c4415dc7c5:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"b999b3c2-7d85-4f54-8677-4ce6d159ec70","command_center_event_id":"1626ee10-81da-4678-b433-22c4415dc7c5"},{"id":"a2e4dc46-d8af-4ed4-9d4a-b37ef6bff67e","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"8bdcb7e587022ad95879be9f0de6c69b1b470850","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8bdcb7e587022ad95879be9f0de6c69b1b470850","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"45d37cde5bbb8a01179f5b66103b3f9c3214eab5caa0a1892abd28b625616222","forgejoWorkflowProof":{"runId":15934,"source":"signed_push_receipt","status":"waiting","results":{},"conclusion":"waiting","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T18:26:25.263351+00:00","proof_gate":"canonical_release_pending","source_sha":"8bdcb7e587022ad95879be9f0de6c69b1b470850","external_id":"forgejo-main-8bdcb7e58702","receipt_type":"canonical_release_status","idempotency_key":"mission:46c478b8-cefc-4f91-be11-e16603b6543f:forgejo-release-status:8bdcb7e587022ad95879be9f0de6c69b1b470850:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"f77b0abe-a22d-49d1-99ab-6daa4a66337d","command_center_event_id":"46c478b8-cefc-4f91-be11-e16603b6543f"},{"id":"a2e9bd36-3bf6-44e7-9d9b-408a3bbeb405","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","scripts/protected-main-release-recovery.mjs"],"reason":"The owner explicitly requested a self-healing Edge Function registry. Completing PR #2833 requires a bounded change to the existing KnockLaunch Gate and protected-main release recovery planner so reconciliation runs inside the one canonical Supabase Edge release owner. This unfreeze is limited to the exact files and edits in this mission; normal protected control-plane behavior remains in force afterward.","baseSha":"46bb500697d0f10ca65562e88d5be11b89ea5b61","issuedAt":1789488594124,"expiresAt":1789488774124,"missionId":"5296af76-48d5-465a-ba28-f77eb9c78f5c","authorizationId":"843dc514-38d1-4e1e-8d1b-fa138b10c025","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T16:09:54.831562+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"46bb500697d0f10ca65562e88d5be11b89ea5b61","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:843dc514-38d1-4e1e-8d1b-fa138b10c025","mission_step_id":"ea965719-c98d-4748-b3cd-8bd861972174","command_center_event_id":"5296af76-48d5-465a-ba28-f77eb9c78f5c"},{"id":"a2e9be62-67d9-4ff0-8f89-4e1b040711a1","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"OWNER-AUTHORIZED CONTROL PLANE MAINTENANCE. Continue existing mission 07ac6e7d-db24-4c2a-a3be-cdac6adcbeb3 and PR #1153 on its now-verified refreshed head. Apply only the final stale regression assertion change in workers/cc-execution/test/release-orchestration-invariants.test.js: forgejoMergeReadTimeoutMs must expect 2500 instead of 5000. Then pass KnockLaunch Gate, squash merge, release cc-execution only, and prove live. Do not create another branch, PR, release, or unrelated edit.","wordingChanged":false,"canonicalIntent":"OWNER-AUTHORIZED CONTROL PLANE MAINTENANCE. Continue existing mission 07ac6e7d-db24-4c2a-a3be-cdac6adcbeb3 and PR #1153 on its now-verified refreshed head. Apply only the final stale regression assertion change in workers/cc-execution/test/release-orchestration-invariants.test.js: forgejoMergeReadTimeoutMs must expect 2500 instead of 5000. Then pass KnockLaunch Gate, squash merge, release cc-execution only, and prove live. Do not create another branch, PR, release, or unrelated edit.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"release-handoff-live","statement":"The control plane bounded release handoff passes its corrected regression guard, merges through Forgejo, releases only cc-execution, and is proven live.","proofConditionIds":["runtime-release-handoff-live"]}],"objective":"OWNER-AUTHORIZED CONTROL PLANE MAINTENANCE. Continue existing mission 07ac6e7d-db24-4c2a-a3be-cdac6adcbeb3 and PR #1153 on its now-verified refreshed head. Apply only the final stale regression assertion change in workers/cc-execution/test/release-orchestration-invariants.test.js: forgejoMergeReadTimeoutMs must expect 2500 instead of 5000. Then pass KnockLaunch Gate, squash merge, release cc-execution only, and prove live. Do not create another branch, PR, release, or unrelated edit.","constraints":[{"id":"same-generation","statement":"Reuse the same mission, refreshed branch, and PR #1153 only.","proofConditionIds":["runtime-release-handoff-live"]},{"id":"safety","statement":"Preserve protected main, KnockLaunch Gate, squash merge, release ownership, and runtime proof.","proofConditionIds":["runtime-release-handoff-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-release-handoff-live","kind":"runtime","claim":"Exact merged cc-execution runtime contains the bounded release-handoff repair.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"1fee14d2ba0259d27be024f8e12c8c57c4eb9fc115d4ecd962808fca5cde19ec","requestContractRevision":5,"previousRequestContractHash":"db7068c943af6d4ce7fed01840e12d444819d0954f892bc8d64ede1dfdb90f49"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T22:57:18.499046+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:07ac6e7d-db24-4c2a-a3be-cdac6adcbeb3:request-contract-revision:5:1fee14d2ba0259d27be024f8e12c8c57c4eb9fc115d4ecd962808fca5cde19ec","mission_step_id":"fa43d2bf-a08d-47f3-83b3-ce471b793e97","command_center_event_id":"07ac6e7d-db24-4c2a-a3be-cdac6adcbeb3"},{"id":"a2ea3cd7-72d6-44d3-8892-6eb588769074","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-2a0354f774b6","reason":"pull_request_checks_failed","status":"retryable","metrics":{"receiptBytes":32261,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"executorlessWaitMs":226931,"firstUsefulResultAt":"2026-09-24T05:05:50.501Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.240-stale-gate-regression-guard","prNumber":3588,"terminal":false,"missionId":"2a0354f7-74b6-4b80-b25d-eb9bad901778","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1049,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":868,"approvedPlanMs":0,"missionSetupMs":591,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":306,"ledgerReconcileMs":0,"lineageReconcileMs":285,"resolvePreflightMs":591,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":306,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"2a0354f7-74b6-4b80-b25d-eb9bad901778"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2068,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:09:59.222652+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3588","receipt_type":"execute_mission","idempotency_key":"mission:2a0354f7-74b6-4b80-b25d-eb9bad901778:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"97e4b7b4-97c3-468e-aefa-4c5978bd5576","command_center_event_id":"2a0354f7-74b6-4b80-b25d-eb9bad901778"},{"id":"a2eb33c1-ed9e-4d63-8479-830c31ee02ec","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-834edfdb1bc3","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":23739,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-26T22:08:13.333Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.291-laptop-canonical-witness","prNumber":3835,"terminal":false,"missionId":"834edfdb-1bc3-4ab6-a81a-5ef4e9436160","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3521,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":588,"missionSetupMs":326,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":326,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":326,"repositoryMutationMs":2933,"repositoryProviderMs":2933,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1856,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":326,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1077},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"834edfdb-1bc3-4ab6-a81a-5ef4e9436160"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3485,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T22:08:17.88349+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3835","receipt_type":"execute_mission","idempotency_key":"mission:834edfdb-1bc3-4ab6-a81a-5ef4e9436160:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"af1fb84a-2886-44a2-9b0a-a6adbe1740a4","command_center_event_id":"834edfdb-1bc3-4ab6-a81a-5ef4e9436160"},{"id":"a2ec6172-ebe1-4024-b52d-1a0624d2d684","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:wrangler.toml","fingerprint":"480b36ed6f8d316737379caadabdf67deb69807267404c61a1412ac426b32c86"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T09:51:57.405525+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:a2b632d8-3914-493c-b484-7afa1b1f1cab:repository-mutation-intent-blocked:480b36ed6f8d316737379caadabdf67deb69807267404c61a1412ac426b32c86","mission_step_id":"12dbcbf2-1e09-4b50-b179-23f0c130e908","command_center_event_id":"a2b632d8-3914-493c-b484-7afa1b1f1cab"},{"id":"a2eca755-ff37-49d7-b780-1f98a0b97dcb","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"60d7bd52cf4f72de7293d83f01be855d6c4e3cf2","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"60d7bd52cf4f72de7293d83f01be855d6c4e3cf2","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"9ed78b7a0f83b86ddd37dbe1760686046a73c3fe686b5af6824cdba3a1baf244","forgejoWorkflowProof":{"runId":12935,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:30:06.092019+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"60d7bd52cf4f72de7293d83f01be855d6c4e3cf2","external_id":"forgejo-main-60d7bd52cf4f","receipt_type":"canonical_release_status","idempotency_key":"mission:5b6d37f4-68aa-4a81-9a01-a7893262b15f:forgejo-release-status:60d7bd52cf4f72de7293d83f01be855d6c4e3cf2:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"070b3c7a-847a-480d-ba20-c4b7768dbe27","command_center_event_id":"5b6d37f4-68aa-4a81-9a01-a7893262b15f"},{"id":"a2ed5d04-88cc-4206-9654-97f42fdd40f9","source":"cc-execution","status":"recorded","payload":{"objective":"Continue the approved Redfish Roofing Operating System workstream. Apply the supplied durable roofing operations schema only on the existing requested branch. Do not touch unrelated files or ship yet.","tenantRef":"redfish-roofing","receivedAt":"2026-08-31T03:53:19.154Z","fingerprint":"a89c7024bdb6e4957a1434c98ed522a00dc3e4aa8118ff8df98f13542f19c289","workstreamRef":"redfishroofing","conversationId":null,"canonicalBranch":"ai/objective-first-repair-mtgp8zax","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the approved Redfish Roofing Operating System workstream. Apply the supplied durable roofing operations schema only on the existing requested branch. Do not touch unrelated files or ship yet.","wordingChanged":false,"canonicalIntent":"Continue the approved Redfish Roofing Operating System workstream. Apply the supplied durable roofing operations schema only on the existing requested branch. Do not touch unrelated files or ship yet.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"project-spine","statement":"Every ROOFING_COMPANY job has a tenant-scoped roofing operations spine and durable records for measurement orders, materials, permits, insurance financials, costs, commissions, financing, provider state and closeout.","proofConditionIds":["proof-command"]},{"id":"owner-command","statement":"The Redfish dashboard becomes owner-first Roofing Command with real production readiness, blocker, upcoming install and money rollups derived from roofing operations data.","proofConditionIds":["proof-command"]},{"id":"job-operations","statement":"Redfish job details expose a responsive Roofing OS surface that can persist production, materials, permit, insurance, cost/margin, commission, financing and closeout state without developer jargon.","proofConditionIds":["proof-jobs"]},{"id":"existing-strengths","statement":"Existing roof estimator, Good/Better/Best, proposal, supplement, Xactimate, e-sign, invoice/payment, photo/evidence and JobTracker capabilities remain intact and are not duplicated.","proofConditionIds":["proof-homeowners"]},{"id":"provider-truth","statement":"Aerial, supplier, accounting and financing provider connections are modeled truthfully; unavailable credentials are shown as disconnected/action-required and manual workflows remain usable.","proofConditionIds":["proof-command"]}],"objective":"Continue the approved Redfish Roofing Operating System workstream. Apply the supplied durable roofing operations schema only on the existing requested branch. Do not touch unrelated files or ship yet.","constraints":[{"id":"tenant-safety","statement":"Shared primitives may change only where ROOFING_COMPANY behavior requires it; unrelated tenant experiences must not regress.","proofConditionIds":["proof-homeowners"]},{"id":"one-delivery","statement":"Use one fresh ai branch/workstream, one PR, KnockLaunch Gate, squash merge, release only migrations/frontend, and verify live Redfish.","proofConditionIds":["proof-command","proof-jobs"]},{"id":"no-fake-integrations","statement":"Do not claim a supplier, aerial, accounting or financing provider is connected without real credentials/provider proof.","proofConditionIds":["proof-command"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-command","kind":"runtime","claim":"Live Redfish dashboard exposes the Roofing Command operating surface and production-readiness language after migration and frontend release.","route":"/redfish-roofing","required":true,"expectedText":"Roofing Command","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-jobs","kind":"runtime","claim":"Live Redfish jobs route remains healthy with the deployed Roofing OS job-management integration.","route":"/redfish-roofing/jobs","required":true,"expectedText":"Jobs","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-homeowners","kind":"runtime","claim":"Live Redfish homeowner workspace remains healthy and roofing-specific after shared changes.","route":"/redfish-roofing/contacts","required":true,"expectedText":"Roofing Homeowner Desk","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/objective-first-repair-mtgp8zax","conversationContext":null,"requestContractHash":"b4690747546b0d7b0b4c30d370bf610188da0271341dfc815c5d3ee538ec5816","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-31T03:53:19.768888+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:fbe3597e-9f43-4b0b-a3b3-02a9f3096a96:tenant-workstream-contribution:a89c7024bdb6e4957a1434c98ed522a00dc3e4aa8118ff8df98f13542f19c289","mission_step_id":null,"command_center_event_id":"fbe3597e-9f43-4b0b-a3b3-02a9f3096a96"},{"id":"a2ee064e-a454-4379-b8d6-f39fff161b8e","source":"cc-execution","status":"recorded","payload":{"objective":"Adopt existing PR #605 (ai/big-papi-fundraiser-final-accessibility-20260822) as the current fundraiser frontend pass. Its exact-head KnockLaunch Gate is already green at 460aca726c95324f885c9c3225e6b2e06f142920 and it is fresh against current main. Squash-merge this exact PR, deploy only the affected frontend through the canonical Cloudflare path, and prove the live Big Papi fundraising route at https://app.knocklaunch.app/big-papis/fundraising contains 'Start a fundraiser'. Do not create a duplicate branch or PR. Preserve unrelated work.","tenantRef":"big-papis","receivedAt":"2026-08-23T00:06:56.462Z","fingerprint":"2002d457dcd9d39d4ea38ebc2846dbbbcb6e8ae9aff9fd4f14215e6c6a400a06","workstreamRef":"bigpapis","conversationId":null,"canonicalBranch":"ai/big-papis-compact-loyalty-20260821","requestedBranch":"ai/big-papi-fundraiser-final-accessibility-20260822","conversationContext":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-23T00:06:57.017416+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:40b6c3a8-e1b0-4096-994b-83335aca4dbb:tenant-workstream-contribution:2002d457dcd9d39d4ea38ebc2846dbbbcb6e8ae9aff9fd4f14215e6c6a400a06","mission_step_id":"ba3c8fdf-01a6-40d0-b834-2e8f35a1e78a","command_center_event_id":"40b6c3a8-e1b0-4096-994b-83335aca4dbb"},{"id":"a2eed897-4b3d-4973-a6ac-e56eb29a4564","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-existing-pr-adoption-20260824","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":2261,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.50.17-custom-domain-witness-origins","prNumber":654,"terminal":false,"missionId":"168002b0-9ca2-42d6-8a7c-9ec69d806ff9","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"f8f5c91ff8ff7c461fe88e11c808c6a671bd9c0f","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"168002b0-9ca2-42d6-8a7c-9ec69d806ff9"},"performance":null,"deploymentId":"forgejo-main-f8f5c91ff8ff","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4509,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-24T13:18:54.915363+00:00","proof_gate":"canonical_release_dispatched","source_sha":"f8f5c91ff8ff7c461fe88e11c808c6a671bd9c0f","external_id":"forgejo-main-f8f5c91ff8ff","receipt_type":"execute_mission","idempotency_key":"mission:168002b0-9ca2-42d6-8a7c-9ec69d806ff9:execute_mission:canonical_release_dispatched","mission_step_id":"3b8600b5-dc8d-42da-986b-dc007c0c71b7","command_center_event_id":"168002b0-9ca2-42d6-8a7c-9ec69d806ff9"},{"id":"a2f18e77-2f23-462c-8246-1c8544440fc1","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-bb76d3099a2a","prNumber":4268,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"06691804ea1e8cd7b794a3b48f59bf435e972590","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T20:25:11.679831+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"06691804ea1e8cd7b794a3b48f59bf435e972590","external_id":"4268","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:bb76d309-9a2a-4732-9d83-b599bc323c79:merged-pr:4268:06691804ea1e8cd7b794a3b48f59bf435e972590","mission_step_id":"49cfe2e5-bb35-45e8-b0cf-4f2ae3db593b","command_center_event_id":"bb76d309-9a2a-4732-9d83-b599bc323c79"},{"id":"a2f27c23-38ad-477b-909b-24d7e55bec7f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"synthesis_required","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"synthesis_required\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-07T15:44:26.52642+00:00\",\"recoveryAction\":\"continue_implementation\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T18:47:31.383036+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:a1a4a155-2cec-4c9e-9e09-27a1775b8d30:owner-progress-heartbeat:119409309","mission_step_id":"b093791c-1606-4ede-948c-805db19c6491","command_center_event_id":"a1a4a155-2cec-4c9e-9e09-27a1775b8d30"},{"id":"a2f665e1-db03-41a8-93d5-70fd1481791d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-3a2f379d08ca","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":38718,"releaseCount":0,"toolCallCount":16,"repeatedCallCount":9,"executorlessWaitMs":753879,"firstUsefulResultAt":"2026-10-02T12:24:39.569Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.64.48-guarded-legacy-pr-retirement","prNumber":4458,"terminal":false,"missionId":"3a2f379d-08ca-4062-ad10-c19c8b4c45da","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4514,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":669,"missionSetupMs":2153,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":306,"ledgerReconcileMs":0,"lineageReconcileMs":1847,"resolvePreflightMs":2153,"repositoryMutationMs":3845,"repositoryProviderMs":3845,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2403,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":306,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1442},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"3a2f379d-08ca-4062-ad10-c19c8b4c45da"},"performance":null,"deploymentId":null,"releaseState":"pending","workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","release","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3523,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"669daee1-57e8-4960-937c-ce397106f32e","created_at":"2026-10-02T12:37:18.689788+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4458","receipt_type":"execute_mission","idempotency_key":"mission:3a2f379d-08ca-4062-ad10-c19c8b4c45da:execute_mission:repair_mission_pr_handed_off_to_supervisor:generation-1","mission_step_id":"f09abfb9-79f2-48a2-8c7c-418022fc3a21","command_center_event_id":"3a2f379d-08ca-4062-ad10-c19c8b4c45da"},{"id":"a2f840c6-e6b8-49bc-a012-459d45aa1027","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-557457b23d1f","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":14550,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":57175,"firstUsefulResultAt":"2026-09-28T17:56:49.601Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":"1.58.306-paul-repo-health-routing","prNumber":4028,"terminal":false,"missionId":"557457b2-3d1f-44ee-9441-a5c863fcf9ec","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5545,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":5430,"approvedPlanMs":0,"missionSetupMs":611,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":545,"ledgerReconcileMs":0,"lineageReconcileMs":66,"resolvePreflightMs":611,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":545,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"557457b2-3d1f-44ee-9441-a5c863fcf9ec"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1521,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T17:57:46.862195+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4028","receipt_type":"execute_mission","idempotency_key":"mission:557457b2-3d1f-44ee-9441-a5c863fcf9ec:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"4dc39d42-ed7f-41d3-8f20-d2a81e9d41aa","command_center_event_id":"557457b2-3d1f-44ee-9441-a5c863fcf9ec"},{"id":"a2f89a2d-7c66-42e4-8616-e486d8ce0abf","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"e1cf470e1b26ca8398fac25a804394898961a6b4","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-handoff","satisfied":true,"statement":"Completed PCG cards can be prepared as a durable Squarespace Card Database handoff with card metadata and image references instead of being incorrectly created as Squarespace Commerce products.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-future-site","satisfied":true,"statement":"The website publishing boundary remains swappable so a configured PCG website endpoint can publish directly later without rebuilding the upload UX.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-truthful-ui","satisfied":true,"statement":"The PCG Publish & Sell UI clearly separates Prepare/Copy Squarespace handoff from price-gated eBay publishing and never labels the legacy handoff Live.","proofConditionIds":["proof-repository","proof-runtime"]}],"satisfied":true,"constraints":[{"id":"constraint-preserve-intake","satisfied":true,"statement":"Do not delete, overwrite, migrate, or alter existing imported PCG card records or the canonical Receive Cards intake/storage workflow.","proofConditionIds":["proof-repository"]},{"id":"constraint-tenant-scope","satisfied":true,"statement":"Preserve existing tenant-scoped authorization and publication state persistence.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"constraint-no-fake-api","satisfied":true,"statement":"Do not claim unsupported Squarespace Portfolio automation or fake provider success.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-repository","proof-runtime"]}],"contractHash":"8a814ee87b009074c47cf657860460c34807a2af43b7dd428c7752a0c8c03558","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"reason":null,"gateRunId":15212,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"8a814ee87b009074c47cf657860460c34807a2af43b7dd428c7752a0c8c03558","unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"e1cf470e1b26ca8398fac25a804394898961a6b4"},"required":true,"satisfied":true},{"id":"proof-runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"8a814ee87b009074c47cf657860460c34807a2af43b7dd428c7752a0c8c03558"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T12:21:11.350337+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"e1cf470e1b26ca8398fac25a804394898961a6b4","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511:request-contract:8a814ee87b009074c47cf657860460c34807a2af43b7dd428c7752a0c8c03558:e1cf470e1b26ca8398fac25a804394898961a6b4:verified:","mission_step_id":"d722d81b-d4be-467c-b2d6-7e7663ce987f","command_center_event_id":"0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511"},{"id":"a2f92631-3227-4e34-8706-80273d76d729","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/offline-roofing-proposal-drafts-b5af7190","reason":"retryable_provider_transport:PUT:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.119-architecture-exclusivity","prNumber":2557,"terminal":false,"missionId":"69d10dfd-481d-48bc-afe2-f9a6f7ef8d81","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":19133,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1084,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":269,"ledgerReconcileMs":0,"lineageReconcileMs":815,"resolvePreflightMs":1084,"repositoryMutationMs":19133,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":269,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"69d10dfd-481d-48bc-afe2-f9a6f7ef8d81"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1556,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T21:49:39.947565+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:69d10dfd-481d-48bc-afe2-f9a6f7ef8d81:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"56915da1-50f5-43a0-80ee-9ab38fd9d109","command_center_event_id":"69d10dfd-481d-48bc-afe2-f9a6f7ef8d81"},{"id":"a2f9916a-e0c1-4ccc-96af-1334f12cff65","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"4fc7070e0b9d3c690fb4a4f130f6a7feb0b506e5","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Emergency customer-facing repair for Big Papi's public website routing. Reproduced live defect: https://bigpapiscoquitoiceys.com/#flavors transitions to /flavors, while the /flavors route redirects back to /#flavors. This creates a hash/path redirect loop that unmounts BigPapisPublic and leaves customers with only the PublicAppShell/platform background. The same legacy pattern exists for Big Papi where/find/flavors/fundraising/events/loyalty/book routes on both the custom domain and /big-papis route family. Fix the owning route layer so every Big Papi customer route directly renders the same BigPapisPublic experience, with BigPapisPublic selecting the active panel from pathname. Preserve legacy hash links only as one-way compatibility: /#flavors may normalize once to /flavors, but /flavors must render content and never redirect back to a hash. Apply the same rule to where/find/fundraising/events/loyalty/book and /big-papis equivalents. Also make Big Papi public surfaces self-contained in PublicAppShell: suppress SiteBackground/platform background for bigpapiscoquitoiceys.com, www.bigpapiscoquitoiceys.com, and /big-papis public paths so the unrelated platform space-shuttle video is","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"visual-artifact-scope","satisfied":false,"statement":"The requested visual artifact type is authoritative: website only; must not include workspace. Do not add unrelated or mixed visual surfaces unless the owner explicitly requested them.","proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-content-truth","satisfied":false,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-viewport-authority","satisfied":false,"statement":"The requested mobile viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","proofConditionIds":["proof-visual"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","proofConditionIds":["proof-visual"]},{"id":"reference-visual-authority","satisfied":false,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-visual"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"c150ccb146fad2d05a88b20a0c59bfeb7d338a436d167ab12dd66905f59ae745","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"c150ccb146fad2d05a88b20a0c59bfeb7d338a436d167ab12dd66905f59ae745"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"4fc7070e0b9d3c690fb4a4f130f6a7feb0b506e5","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T10:24:40.783642+00:00","proof_gate":"request_contract_pending","source_sha":"4fc7070e0b9d3c690fb4a4f130f6a7feb0b506e5","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:80ae556a-7d7c-43f2-8662-bd9f40f03107:request-contract:c150ccb146fad2d05a88b20a0c59bfeb7d338a436d167ab12dd66905f59ae745:4fc7070e0b9d3c690fb4a4f130f6a7feb0b506e5:pending:visual","mission_step_id":"aa8833eb-599b-4359-aeed-8a42348e38b5","command_center_event_id":"80ae556a-7d7c-43f2-8662-bd9f40f03107"},{"id":"a2fa07e7-90a6-4057-9c61-ab0e28231620","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"forgejo_release_source_not_contained_in_current_main","status":"blocked","metrics":{"receiptBytes":9324,"releaseCount":1,"toolCallCount":11,"repeatedCallCount":5,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":582,"terminal":false,"missionId":"eff60862-125a-4840-9b75-9766eb0ef104","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"86f5c82d1e7fb9bdb35f7cd66f03447c4ba7adbf","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"eff60862-125a-4840-9b75-9766eb0ef104"},"performance":null,"deploymentId":"forgejo-main-86f5c82d1e7f","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4925,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-22T20:54:52.533432+00:00","proof_gate":"canonical_release_blocked","source_sha":"86f5c82d1e7fb9bdb35f7cd66f03447c4ba7adbf","external_id":"forgejo-main-86f5c82d1e7f","receipt_type":"execute_mission","idempotency_key":"mission:eff60862-125a-4840-9b75-9766eb0ef104:execute_mission:canonical_release_blocked","mission_step_id":"704599c7-6c2d-411e-82e3-7acb40feec4e","command_center_event_id":"eff60862-125a-4840-9b75-9766eb0ef104"},{"id":"a2fa57aa-0731-4db9-a47e-d71aa6e35359","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5a628af5a0ed","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.113-orphan-cache-absence-proof","prNumber":null,"terminal":false,"missionId":"5a628af5-a0ed-4d0d-b6cc-6ad4776ccff7","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1624,"providerAuthMs":0,"ledgerPrepareMs":1624,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1624,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1624,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"5a628af5-a0ed-4d0d-b6cc-6ad4776ccff7"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4764,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T00:24:54.933781+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5a628af5-a0ed-4d0d-b6cc-6ad4776ccff7:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"9042a37a-c8c0-474d-9207-61d3683c725a","command_center_event_id":"5a628af5-a0ed-4d0d-b6cc-6ad4776ccff7"},{"id":"a2fd7f77-09fc-4bdc-8512-571da5436fa8","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.6-release-retry-integrity","prNumber":122,"terminal":false,"missionId":"97d8eca2-6332-4670-a361-7cd9c2ea5c29","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"467941cbc589af6f9f8bf7c634bf59b745922af3","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"97d8eca2-6332-4670-a361-7cd9c2ea5c29"},"performance":null,"deploymentId":"forgejo-main-467941cbc589","workflowRunId":369,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2195,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T14:13:19.198879+00:00","proof_gate":"canonical_release_dispatched","source_sha":"467941cbc589af6f9f8bf7c634bf59b745922af3","external_id":"forgejo-main-467941cbc589","receipt_type":"ship_and_prove","idempotency_key":"mission:97d8eca2-6332-4670-a361-7cd9c2ea5c29:ship_and_prove:canonical_release_dispatched:467941cbc589af6f9f8bf7c634bf59b745922af3:369","mission_step_id":"850071de-44d1-4067-8501-67ad6a6afe9d","command_center_event_id":"97d8eca2-6332-4670-a361-7cd9c2ea5c29"},{"id":"a3003a2e-2adc-473b-8840-128e99c7ef88","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-a42032a1adb2","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.144-request-contract-inference","prNumber":null,"terminal":false,"missionId":"a42032a1-adb2-4d82-b015-ca6e57e02c39","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":132,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1186,"providerAuthMs":0,"ledgerPrepareMs":1186,"ledgerReconcileMs":274,"lineageReconcileMs":0,"resolvePreflightMs":1186,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1460,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"a42032a1-adb2-4d82-b015-ca6e57e02c39"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6901,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T03:25:33.971852+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a42032a1-adb2-4d82-b015-ca6e57e02c39:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"d336f789-3309-40dc-af43-8a4f1a53a87f","command_center_event_id":"a42032a1-adb2-4d82-b015-ca6e57e02c39"},{"id":"a3024cf6-14ad-4d9e-a52f-8f1f83633e55","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow","cc-execution/runtime-proof"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","cc-execution/runtime-proof":"failure"},"mainSha":"a6d3fc4125dbd1a7872496614611f8b5c6fc97d0","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"a6d3fc4125dbd1a7872496614611f8b5c6fc97d0","releaseState":"failed","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"failure"},"requestContractHash":"01288ffb9ffc0993597bbc1943b94df458a40e610fcad29122e31455b4752c9c","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5317","runId":5317,"status":"failure","sourceSha":"a6d3fc4125dbd1a7872496614611f8b5c6fc97d0","conclusion":null,"failedJobs":[{"id":36325,"name":"Release cc-execution","status":"failure","conclusion":null,"failedSteps":[]}],"diagnostics":{"runId":5317,"logTail":["2026-09-04T20:58:31.3820753Z   ⚙  Setting output release_supabase_edge=false","2026-09-04T20:58:31.3821293Z   ⚙  Setting output release_migrations=false","2026-09-04T20:58:31.3821514Z   ⚙  Setting output source_sha=a6d3fc4125dbd1a7872496614611f8b5c6fc97d0","2026-09-04T20:58:31.3821922Z   ⚙  Setting output changed_paths_b64=LmZvcmdlam8vd29ya2Zsb3dzL2tub2NrbGF1bmNoLnltbApjb25maWcvY29udHJvbC1wbGFuZS1jYXBhYmlsaXRpZXMuanNvbgp3b3JrZXJzL2NjLWV4ZWN1dGlvbi9zY3JpcHRzL2Nsb3VkZmxhcmUtY3JlZGVudGlhbC1yZXBhaXIubWpzCndvcmtlcnMvY2MtZXhlY3V0aW9uL3Rlc3QvY2xvdWRmbGFyZS1jcmVkZW50aWFsLXJlcGFpci50ZXN0LmpzCndvcmtlcnMvY2MtZXhlY3V0aW9uL3Rlc3QvcmVsZWFzZS1vcmNoZXN0cmF0aW9uLWludmFyaWFudHMudGVzdC5qcw==","2026-09-04T20:58:31.3822197Z   ⚙  Setting output release_cc_execution=true","2026-09-04T20:58:31.3825431Z   ⚙  Setting output release_onrunner=false","2026-09-04T20:58:31.3825889Z   ⚙  Setting output release_frontend=false","2026-09-04T20:58:31.7471485Z 🏁  Job succeeded","","--- Release cc-execution-36325-attempt-1.log ---","2026-09-04T20:58:34.9096995Z Runner 31366665-3564-6535-3932-353865303063 (version:v13.0.0) received task 6708 of job release-cc-execution, triggered by event: push","2026-09-04T20:58:34.9147173Z workflow prepared","2026-09-04T20:58:34.9272226Z 🚀  Start image=node:22.18.0-bookworm","2026-09-04T20:58:34.9273846Z The network alias is release_cc-execution (sanitized version of Release cc-execution)","2026-09-04T20:58:34.9995464Z Cleaning up network for job Release cc-execution, and network name is: WORKFLOW-16c083253872511854336c0752de7051","2026-09-04T20:58:35.0586946Z   🐳  docker create image=node:22.18.0-bookworm platform=linux/amd64 entrypoint=[\"tail\" \"-f\" \"/dev/null\"] cmd=[] network=\"WORKFLOW-16c083253872511854336c0752de7051\"","2026-09-04T20:58:35.1531389Z   🐳  docker run image=node:22.18.0-bookworm platform=linux/amd64 entrypoint=[\"tail\" \"-f\" \"/dev/null\"] cmd=[] network=\"WORKFLOW-16c083253872511854336c0752de7051\"","2026-09-04T20:58:35.4970346Z   ☁️  git fetch 'https://data.forgejo.org/actions/cache' # ref=v4","2026-09-04T20:58:36.3848131Z ⭐ Run Main Prepare approved release source","2026-09-04T20:58:36.3919766Z   🐳  docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/0.sh] user= workdir=","2026-09-04T20:58:36.4576790Z hint: Using 'master' as the name for the initial branch. This default branch name","2026-09-04T20:58:36.4577951Z hint: is subject to change. To configure the initial branch name to use in all","2026-09-04T20:58:36.4578318Z hint: of your new repositories, which will suppress this warning, call:","2026-09-04T20:58:36.4578512Z hint: ","2026-09-04T20:58:36.4578845Z hint: \tgit config --global init.defaultBranch <name>","2026-09-04T20:58:36.4579021Z hint: ","2026-09-04T20:58:36.4579222Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and","2026-09-04T20:58:36.4579530Z hint: 'development'. The just-created branch can be renamed via this command:","2026-09-04T20:58:36.4579784Z hint: ","2026-09-04T20:58:36.4580074Z hint: \tgit branch -m <name>","2026-09-04T20:58:36.7636056Z From https://git.knocklaunch.app/noel/KnockLaunchOS","2026-09-04T20:58:36.7636686Z  * [new ref]         a6d3fc4125dbd1a7872496614611f8b5c6fc97d0 -> release/cc-execution","2026-09-04T20:58:37.9043220Z HEAD is now at a6d3fc4 Use dedicated Cloudflare account-token admin root (#1752)","2026-09-04T20:58:38.8087643Z {\"ok\":true,\"status\":\"repair_required\",\"proofGate\":\"cloudflare_deployment_credential_audited\",\"deploymentTokenId\":\"72ab0ca4e14263d09f8a37a6a78c7f12\",\"deploymentTokenKind\":\"user\",\"deploymentTokenStatus\":\"active\",\"containersAuthorized\":false,\"containerProbeStatus\":401,\"ownerActionRequired\":false}","2026-09-04T20:58:39.5158109Z {\"ok\":false,\"status\":\"bootstrap_required\",\"proofGate\":\"cloudflare_account_token_admin_bootstrap_required\",\"requiredForgejoSecret\":\"CLOUDFLARE_ACCOUNT_TOKEN_ADMIN_TOKEN\",\"requiredCloudflarePermission\":\"Account > Account API Tokens > Edit\",\"ownerActionRequired\":true}","2026-09-04T20:58:39.5426481Z ⚙️ [runner]: exitcode '23': failure","2026-09-04T20:58:39.7234737Z skipping post step for 'Restore exact cc-execution runtime dependency tree'; main step was skipped","2026-09-04T20:58:39.7375809Z 🏁  Job failed","2026-09-04T20:58:40.0173206Z Job 'Release cc-execution' failed",""],"proofGate":"forgejo_action_run_logs_verified","truncated":false,"failureLines":[{"line":48,"content":"2026-09-04T20:58:39.5426481Z ⚙️ [runner]: exitcode '23': failure"},{"line":50,"content":"2026-09-04T20:58:39.7375809Z 🏁  Job failed"},{"line":51,"content":"2026-09-04T20:58:40.0173206Z Job 'Release cc-execution' failed"}]},"exactSource":true,"fingerprint":"failure|release cc-execution|2026-09-04t20:58:39.5426481z ⚙️ [runner]: exitcode '23': failure|2026-09-04t20:58:39.7375809z 🏁  job failed|2026-09-04t20:58:40.0173206z job 'release cc-execution' failed","failureClass":"code_failure","targetStates":{"ccExecution":"failure"},"safeAutoRetry":false,"targetJobCount":7,"observedTargetStates":{"ccExecution":"failure"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"workflowRunId":5317,"workflowFailed":true,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5317","runId":5317,"status":"failure","sourceSha":"a6d3fc4125dbd1a7872496614611f8b5c6fc97d0","conclusion":null,"failedJobs":[{"id":36325,"name":"Release cc-execution","status":"failure","conclusion":null,"failedSteps":[]}],"diagnostics":{"runId":5317,"logTail":["2026-09-04T20:58:31.3820753Z   ⚙  Setting output release_supabase_edge=false","2026-09-04T20:58:31.3821293Z   ⚙  Setting output release_migrations=false","2026-09-04T20:58:31.3821514Z   ⚙  Setting output source_sha=a6d3fc4125dbd1a7872496614611f8b5c6fc97d0","2026-09-04T20:58:31.3821922Z   ⚙  Setting output changed_paths_b64=LmZvcmdlam8vd29ya2Zsb3dzL2tub2NrbGF1bmNoLnltbApjb25maWcvY29udHJvbC1wbGFuZS1jYXBhYmlsaXRpZXMuanNvbgp3b3JrZXJzL2NjLWV4ZWN1dGlvbi9zY3JpcHRzL2Nsb3VkZmxhcmUtY3JlZGVudGlhbC1yZXBhaXIubWpzCndvcmtlcnMvY2MtZXhlY3V0aW9uL3Rlc3QvY2xvdWRmbGFyZS1jcmVkZW50aWFsLXJlcGFpci50ZXN0LmpzCndvcmtlcnMvY2MtZXhlY3V0aW9uL3Rlc3QvcmVsZWFzZS1vcmNoZXN0cmF0aW9uLWludmFyaWFudHMudGVzdC5qcw==","2026-09-04T20:58:31.3822197Z   ⚙  Setting output release_cc_execution=true","2026-09-04T20:58:31.3825431Z   ⚙  Setting output release_onrunner=false","2026-09-04T20:58:31.3825889Z   ⚙  Setting output release_frontend=false","2026-09-04T20:58:31.7471485Z 🏁  Job succeeded","","--- Release cc-execution-36325-attempt-1.log ---","2026-09-04T20:58:34.9096995Z Runner 31366665-3564-6535-3932-353865303063 (version:v13.0.0) received task 6708 of job release-cc-execution, triggered by event: push","2026-09-04T20:58:34.9147173Z workflow prepared","2026-09-04T20:58:34.9272226Z 🚀  Start image=node:22.18.0-bookworm","2026-09-04T20:58:34.9273846Z The network alias is release_cc-execution (sanitized version of Release cc-execution)","2026-09-04T20:58:34.9995464Z Cleaning up network for job Release cc-execution, and network name is: WORKFLOW-16c083253872511854336c0752de7051","2026-09-04T20:58:35.0586946Z   🐳  docker create image=node:22.18.0-bookworm platform=linux/amd64 entrypoint=[\"tail\" \"-f\" \"/dev/null\"] cmd=[] network=\"WORKFLOW-16c083253872511854336c0752de7051\"","2026-09-04T20:58:35.1531389Z   🐳  docker run image=node:22.18.0-bookworm platform=linux/amd64 entrypoint=[\"tail\" \"-f\" \"/dev/null\"] cmd=[] network=\"WORKFLOW-16c083253872511854336c0752de7051\"","2026-09-04T20:58:35.4970346Z   ☁️  git fetch 'https://data.forgejo.org/actions/cache' # ref=v4","2026-09-04T20:58:36.3848131Z ⭐ Run Main Prepare approved release source","2026-09-04T20:58:36.3919766Z   🐳  docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/0.sh] user= workdir=","2026-09-04T20:58:36.4576790Z hint: Using 'master' as the name for the initial branch. This default branch name","2026-09-04T20:58:36.4577951Z hint: is subject to change. To configure the initial branch name to use in all","2026-09-04T20:58:36.4578318Z hint: of your new repositories, which will suppress this warning, call:","2026-09-04T20:58:36.4578512Z hint: ","2026-09-04T20:58:36.4578845Z hint: \tgit config --global init.defaultBranch <name>","2026-09-04T20:58:36.4579021Z hint: ","2026-09-04T20:58:36.4579222Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and","2026-09-04T20:58:36.4579530Z hint: 'development'. The just-created branch can be renamed via this command:","2026-09-04T20:58:36.4579784Z hint: ","2026-09-04T20:58:36.4580074Z hint: \tgit branch -m <name>","2026-09-04T20:58:36.7636056Z From https://git.knocklaunch.app/noel/KnockLaunchOS","2026-09-04T20:58:36.7636686Z  * [new ref]         a6d3fc4125dbd1a7872496614611f8b5c6fc97d0 -> release/cc-execution","2026-09-04T20:58:37.9043220Z HEAD is now at a6d3fc4 Use dedicated Cloudflare account-token admin root (#1752)","2026-09-04T20:58:38.8087643Z {\"ok\":true,\"status\":\"repair_required\",\"proofGate\":\"cloudflare_deployment_credential_audited\",\"deploymentTokenId\":\"72ab0ca4e14263d09f8a37a6a78c7f12\",\"deploymentTokenKind\":\"user\",\"deploymentTokenStatus\":\"active\",\"containersAuthorized\":false,\"containerProbeStatus\":401,\"ownerActionRequired\":false}","2026-09-04T20:58:39.5158109Z {\"ok\":false,\"status\":\"bootstrap_required\",\"proofGate\":\"cloudflare_account_token_admin_bootstrap_required\",\"requiredForgejoSecret\":\"CLOUDFLARE_ACCOUNT_TOKEN_ADMIN_TOKEN\",\"requiredCloudflarePermission\":\"Account > Account API Tokens > Edit\",\"ownerActionRequired\":true}","2026-09-04T20:58:39.5426481Z ⚙️ [runner]: exitcode '23': failure","2026-09-04T20:58:39.7234737Z skipping post step for 'Restore exact cc-execution runtime dependency tree'; main step was skipped","2026-09-04T20:58:39.7375809Z 🏁  Job failed","2026-09-04T20:58:40.0173206Z Job 'Release cc-execution' failed",""],"proofGate":"forgejo_action_run_logs_verified","truncated":false,"failureLines":[{"line":48,"content":"2026-09-04T20:58:39.5426481Z ⚙️ [runner]: exitcode '23': failure"},{"line":50,"content":"2026-09-04T20:58:39.7375809Z 🏁  Job failed"},{"line":51,"content":"2026-09-04T20:58:40.0173206Z Job 'Release cc-execution' failed"}]},"exactSource":true,"fingerprint":"failure|release cc-execution|2026-09-04t20:58:39.5426481z ⚙️ [runner]: exitcode '23': failure|2026-09-04t20:58:39.7375809z 🏁  job failed|2026-09-04t20:58:40.0173206z job 'release cc-execution' failed","failureClass":"code_failure","targetStates":{"ccExecution":"failure"},"safeAutoRetry":false,"targetJobCount":7,"observedTargetStates":{"ccExecution":"failure"}}},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T21:04:32.569413+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"a6d3fc4125dbd1a7872496614611f8b5c6fc97d0","external_id":"forgejo-main-a6d3fc4125db","receipt_type":"canonical_release_status","idempotency_key":"mission:e0f1d3ff-8606-4318-a444-9615dbc27044:forgejo-release-status:a6d3fc4125dbd1a7872496614611f8b5c6fc97d0:failed:forgejo-main/source=success|forgejo-release/workflow=failure|cc-execution/runtime-proof=failure","mission_step_id":"d25b75cd-0371-42ff-837c-2c47b87b1761","command_center_event_id":"e0f1d3ff-8606-4318-a444-9615dbc27044"},{"id":"a30258b8-ac5d-4b31-b1f5-3d890b7102e3","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-383f3b7a4a66","writes":[],"patches":[],"version":1,"approved":true,"missionId":"383f3b7a-4a66-4bca-a451-7707a615ffc1","objective":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","sourceSha":"3b3ff03346e7a7550b909e050f08609d3adf36f0","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/mission-ledger.js","new_content":"export function verifiedReleaseReceiptMatchesContract(receipt = {}, contractHashInput = \"\", options = {}) {\n  const currentContractHash = text(contractHashInput, 100);\n  if (!currentContractHash) return true;\n  const receiptContractHash = text(record(receipt?.payload).requestContractHash, 100);\n  if (!receiptContractHash) return options.allowUnboundExactSource === true;\n  return receiptContractHash === currentContractHash;\n}","old_content":"export function verifiedReleaseReceiptMatchesContract(receipt = {}, contractHashInput = \"\") {\n  const currentContractHash = text(contractHashInput, 100);\n  if (!currentContractHash) return true;\n  const receiptContractHash = text(record(receipt?.payload).requestContractHash, 100);\n  return Boolean(receiptContractHash) && receiptContractHash === currentContractHash;\n}"},{"path":"workers/cc-execution/src/mission-ledger.js","new_content":"    if (!verifiedReleaseReceiptMatchesContract(priorVerifiedRelease, currentContractHash, { allowUnboundExactSource: true })) {","old_content":"    if (!verifiedReleaseReceiptMatchesContract(priorVerifiedRelease, currentContractHash)) {"},{"path":"workers/cc-execution/src/mission-ledger.js","new_content":"  if (blocker && latestStatus === \"retryable\") return { action: \"retry_bounded_recovery\", lane: text(latestReceipt?.source, 120) || \"cc-execution\", reason: blocker, automationAllowed: true, ownerActionRequired: false };\n\n  const leaseStep = [...steps].reverse().find((step) => [\"running\", \"in_progress\"].includes(text(step.status, 80).toLowerCase())) || null;\n  const leaseDeadlineAt = text(leaseStep?.deadlineAt || leaseStep?.deadline_at, 100);\n  const leaseDeadlineMs = leaseDeadlineAt ? Date.parse(leaseDeadlineAt) : Number.NaN;\n  if (leaseStep && Number.isFinite(leaseDeadlineMs) && Date.now() > leaseDeadlineMs) {\n    return { action: \"retry_bounded_recovery\", lane: text(leaseStep.lane, 120) || \"cc-execution\", reason: \"execution_lease_expired\", automationAllowed: true, ownerActionRequired: false };\n  }\n\n  const visualRequired = requestContractVisualProofRequired(context);","old_content":"  if (blocker && latestStatus === \"retryable\") return { action: \"retry_bounded_recovery\", lane: text(latestReceipt?.source, 120) || \"cc-execution\", reason: blocker, automationAllowed: true, ownerActionRequired: false };\n\n  const visualRequired = requestContractVisualProofRequired(context);"},{"path":"workers/cc-execution/src/mission-ledger.js","new_content":"  const checkpoint = { stateMachineVersion: 1, phase: text(mission.phase, 120) || \"in_progress\", ownerFacingState: mission.terminal === true ? terminalOwnerFacingMissionState({ ...mission, context }) : text(mission.ownerFacingState, 80) || null, latest, activeStep: activeStep ? { key: text(activeStep.key, 120), status: text(activeStep.status, 80), lane: text(activeStep.lane, 120) || null } : null, nextStep: nextStep ? { key: text(nextStep.key, 120), status: text(nextStep.status, 80), lane: text(nextStep.lane, 120) || null } : null, nextSafeAction, executionOwnership: { ...executionOwnership, capability: nextSafeAction.capability || null, resumeFromCheckpoint: nextSafeAction.resumeFromCheckpoint || null, handoff: nextSafeAction.handoff || null }, executionLease: { ownerLane: executionLane, expiresAt: text(activeStep?.deadlineAt || activeStep?.deadline_at, 100) || null, expired: activeExecutor && stall.stalled === true, takeoverAllowed: activeExecutor && stall.stalled === true && nextSafeAction.automationAllowed === true && nextSafeAction.ownerActionRequired !== true }, acceptance, stall, blocker, terminal: mission.terminal === true };","old_content":"  const checkpoint = { stateMachineVersion: 1, phase: text(mission.phase, 120) || \"in_progress\", ownerFacingState: mission.terminal === true ? terminalOwnerFacingMissionState({ ...mission, context }) : text(mission.ownerFacingState, 80) || null, latest, activeStep: activeStep ? { key: text(activeStep.key, 120), status: text(activeStep.status, 80), lane: text(activeStep.lane, 120) || null } : null, nextStep: nextStep ? { key: text(nextStep.key, 120), status: text(nextStep.status, 80), lane: text(nextStep.lane, 120) || null } : null, nextSafeAction, executionOwnership: { ...executionOwnership, capability: nextSafeAction.capability || null, resumeFromCheckpoint: nextSafeAction.resumeFromCheckpoint || null, handoff: nextSafeAction.handoff || null }, acceptance, stall, blocker, terminal: mission.terminal === true };"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","new_content":"test(\"verified release receipts bind unbound exact-source legacy proof once but reject conflicting hashes\", () => {\n  const receipt = { payload: { requestContractHash: \"contract-a\" } };\n  assert.equal(verifiedReleaseReceiptMatchesContract(receipt, \"contract-a\"), true);\n  assert.equal(verifiedReleaseReceiptMatchesContract(receipt, \"contract-b\"), false);\n  assert.equal(verifiedReleaseReceiptMatchesContract({}, \"contract-b\"), false);\n  assert.equal(verifiedReleaseReceiptMatchesContract({}, \"contract-b\", { allowUnboundExactSource: true }), true);\n});","old_content":"test(\"verified release receipts are immutable across request-contract hashes\", () => {\n  const receipt = { payload: { requestContractHash: \"contract-a\" } };\n  assert.equal(verifiedReleaseReceiptMatchesContract(receipt, \"contract-a\"), true);\n  assert.equal(verifiedReleaseReceiptMatchesContract(receipt, \"contract-b\"), false);\n  assert.equal(verifiedReleaseReceiptMatchesContract({}, \"contract-b\"), false);\n});"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","new_content":"  assert.deepEqual(ownerMissionStallState(mission, Date.parse(\"2026-09-20T15:00:01Z\")), { stalled: true, reason: \"step_deadline_exceeded\", step: \"release\", deadlineAt: \"2026-09-20T15:00:00Z\", recoveryAction: \"reconcile_release\" });\n  const expiredLeaseMission = { ...mission, stepSummary: [{ key: \"release\", status: \"running\", lane: \"production-release-conductor\", deadlineAt: \"2000-01-01T00:00:00Z\" }] };\n  assert.deepEqual(ownerMissionNextSafeAction(expiredLeaseMission), { action: \"retry_bounded_recovery\", lane: \"production-release-conductor\", reason: \"execution_lease_expired\", automationAllowed: true, ownerActionRequired: false });\n  const expiredLeaseCheckpoint = ownerMissionCheckpoint(expiredLeaseMission);\n  assert.equal(expiredLeaseCheckpoint.executionLease.expired, true);\n  assert.equal(expiredLeaseCheckpoint.executionLease.takeoverAllowed, true);\n  const terminal = { ...mission, terminal: true, context: { ...mission.context, requestContractProof: { conditionResults: [{ id: \"repository\", satisfied: true }, { id: \"runtime\", satisfied: true }] } } };","old_content":"  assert.deepEqual(ownerMissionStallState(mission, Date.parse(\"2026-09-20T15:00:01Z\")), { stalled: true, reason: \"step_deadline_exceeded\", step: \"release\", deadlineAt: \"2026-09-20T15:00:00Z\", recoveryAction: \"reconcile_release\" });\n  const terminal = { ...mission, terminal: true, context: { ...mission.context, requestContractProof: { conditionResults: [{ id: \"repository\", satisfied: true }, { id: \"runtime\", satisfied: true }] } } };"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.67.0-stopless-self-heal\";","old_content":"export const CC_EXECUTION_VERSION = \"1.66.0-stopless-capability-routing\";"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":false,"objective":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","proofKinds":[],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","wordingChanged":false,"canonicalIntent":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","constraints":[{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"383f3b7a-4a66-4bca-a451-7707a615ffc1","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":{"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":false,"objective":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","proofKinds":[],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","wordingChanged":false,"canonicalIntent":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","constraints":[{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"Apply corrected Stopless Execution outcome 2 from current main: exact-source legacy release proof safe binding, active-executor-only lease reclamation, checkpoint lease metadata, deterministic tests, version bump, and ship to live proof.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"b178be1c06a4e6c9fd2bc06c85d029d5595c0c9962f51e32b61c0ac3749f02de","replayCount":0,"serializedBytes":17806},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:46:56.2411+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:383f3b7a-4a66-4bca-a451-7707a615ffc1:repository-mutation-intent:b178be1c06a4e6c9fd2bc06c85d029d5595c0c9962f51e32b61c0ac3749f02de:0","mission_step_id":"a3fdf850-15ca-4876-898a-864b58a9460a","command_center_event_id":"383f3b7a-4a66-4bca-a451-7707a615ffc1"},{"id":"a303b8aa-a3d0-4db1-aa79-71d2cb50840d","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"3e143dafb97ffafe232221e74d6f476df1334237","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"3e143dafb97ffafe232221e74d6f476df1334237","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"5b1fc562b82bc3511f6d0b0138f286ab02bdf9ae6117fd1ce395e554e74021a0","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5826","runId":5826,"status":"running","sourceSha":"3e143dafb97ffafe232221e74d6f476df1334237","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-06T14:30:42.681466+00:00","proof_gate":"canonical_release_pending","source_sha":"3e143dafb97ffafe232221e74d6f476df1334237","external_id":"forgejo-main-3e143dafb97f","receipt_type":"canonical_release_status","idempotency_key":"mission:2f740cc1-0a15-43e0-9b27-a80862530ffa:forgejo-release-status:3e143dafb97ffafe232221e74d6f476df1334237:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"614b2974-6665-41ae-80f7-8310f6148828","command_center_event_id":"2f740cc1-0a15-43e0-9b27-a80862530ffa"},{"id":"a3040a53-1949-4dad-a401-4d122ca9fbb3","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-6b0fa5079b3d","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":22714,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":63116,"firstUsefulResultAt":"2026-09-29T18:23:22.553Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":4161,"terminal":false,"missionId":"6b0fa507-9b3d-44bc-b6cf-494b55063be5","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2218,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2134,"approvedPlanMs":0,"missionSetupMs":420,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":328,"ledgerReconcileMs":0,"lineageReconcileMs":92,"resolvePreflightMs":420,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":328,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"6b0fa507-9b3d-44bc-b6cf-494b55063be5"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1521,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T18:24:44.229055+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4161","receipt_type":"execute_mission","idempotency_key":"mission:6b0fa507-9b3d-44bc-b6cf-494b55063be5:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"6d9fd771-3ac5-42b9-802b-4268aa9dbbe8","command_center_event_id":"6b0fa507-9b3d-44bc-b6cf-494b55063be5"},{"id":"a3059623-4a74-4a3c-88ed-ae200bc4c131","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"41c1ffbdc79888568c78faaa7927c9073b278186","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"41c1ffbdc79888568c78faaa7927c9073b278186","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"1a302265ef617b62648df90f753720e634b66eb9b93ea0395952caec263b36c0","forgejoWorkflowProof":{"runId":12021,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T17:44:57.793331+00:00","proof_gate":"canonical_release_pending","source_sha":"41c1ffbdc79888568c78faaa7927c9073b278186","external_id":"forgejo-main-41c1ffbdc798","receipt_type":"canonical_release_status","idempotency_key":"mission:fd0be4ef-df30-4df1-b6fb-7daed0ed50b7:forgejo-release-status:41c1ffbdc79888568c78faaa7927c9073b278186:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"86dd5b20-28eb-4bce-aaef-bd413ffe5ca8","command_center_event_id":"fd0be4ef-df30-4df1-b6fb-7daed0ed50b7"},{"id":"a3060b05-59e3-4251-8761-79367d9c54e9","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"1f0add3b27a005de66974888e15fd729ee83e0bf","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"1f0add3b27a005de66974888e15fd729ee83e0bf","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"2fbe0bed252beee15740a750b0463582a7bfe185ea23eaff207c3755ec9476cc","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13886","runId":13886,"source":"exact_live_cc_execution_runtime_identity","status":"running","liveSha":"1f0add3b27a005de66974888e15fd729ee83e0bf","proofGate":"cc_execution_exact_live_runtime_substitutes_transient_workflow_receipt","sourceSha":"1f0add3b27a005de66974888e15fd729ee83e0bf","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"deploymentId":"forgejo-main-1f0add3b27a005de66974888e15fd729ee83e0bf","targetStates":{"ccExecution":"pending"},"runtimeVersion":"1.64.38-paul-owner-velocity","targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"},"workflowReceiptSubstituted":true},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"1f0add3b27a005de66974888e15fd729ee83e0bf","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-1f0add3b27a005de66974888e15fd729ee83e0bf","compareStatus":"identical","workflowRunId":13886,"identitySource":"local_build_metadata","runtimeVersion":"1.64.38-paul-owner-velocity","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T14:59:38.142198+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"1f0add3b27a005de66974888e15fd729ee83e0bf","external_id":"forgejo-main-1f0add3b27a0","receipt_type":"canonical_release_status","idempotency_key":"mission:6d5e5608-0a08-4555-9b9b-93ec6034991a:forgejo-release-status:1f0add3b27a005de66974888e15fd729ee83e0bf:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"b70cd144-80b0-4840-9b7f-8c61136034d6","command_center_event_id":"6d5e5608-0a08-4555-9b9b-93ec6034991a"},{"id":"a3062916-851e-4737-bbec-6cf314a7fd9b","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"021aba5cc63f18edf614a3480a65259be8280139","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"021aba5cc63f18edf614a3480a65259be8280139","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"0834f29a08211b32dfb3d1314c5188a3dcf43ec6fc6e8538f63b95a0c355ec8b","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/7958","runId":7958,"status":"success","sourceSha":"021aba5cc63f18edf614a3480a65259be8280139","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T01:37:43.315032+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"021aba5cc63f18edf614a3480a65259be8280139","external_id":"forgejo-main-021aba5cc63f","receipt_type":"canonical_release_status","idempotency_key":"mission:ce0b1c3e-c9c2-40da-8f26-409c28793d06:forgejo-release-status:021aba5cc63f18edf614a3480a65259be8280139:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"22481977-4e6b-417e-84b6-7614f7ce72d5","command_center_event_id":"ce0b1c3e-c9c2-40da-8f26-409c28793d06"},{"id":"a30643dc-18f5-4b16-870a-b8f1830c9f8f","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/redfish-roof-tracer-repair-20260902","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":7964,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":1387,"terminal":false,"missionId":"0ebff853-398b-415d-970d-e0c9f3a900ce","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":3000,"approvedPlanMs":0,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"0ebff853-398b-415d-970d-e0c9f3a900ce"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":699,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T04:42:29.357354+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1387","receipt_type":"automatic_mission_resume","idempotency_key":"mission:0ebff853-398b-415d-970d-e0c9f3a900ce:automatic-mission-resume:1387:repair_mission_pr_ready_retryable","mission_step_id":"15c7d2a2-bb72-4dfc-929a-aa9a8677a0be","command_center_event_id":"0ebff853-398b-415d-970d-e0c9f3a900ce"},{"id":"a307665b-5eb9-4787-b1fc-3cd6c09297d8","source":"forgejo","status":"waiting","payload":{"branch":"ai/platform-responsive-shell-refit","prNumber":2199,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"9f906bcb5d885b390088709d10ba6d649916032c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T00:21:08.033007+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9f906bcb5d885b390088709d10ba6d649916032c","external_id":"2199","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:aea3e951-95a8-43d1-8f96-72cb5fabc62f:merged-pr:2199:9f906bcb5d885b390088709d10ba6d649916032c","mission_step_id":"2aacfc4d-6e48-40e0-86d2-fa748e16410a","command_center_event_id":"aea3e951-95a8-43d1-8f96-72cb5fabc62f"},{"id":"a308d6cb-4e2d-4a00-b8d2-96adcdbb1878","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts","content":"import { describe, expect, it } from 'vitest';\nimport { normalizeVisualProofIntent } from '../../../workers/cc-execution/src/command-center-contracts.js';\ndescribe('cc-execution inferred visual proof intent', () => {\n  it('does not combine signals from separate clauses', () => {\n    const result = normalizeVisualProofIntent({ objective: 'Make the KNOCKLAUNCH Console behave like one autonomous operator. Expose Stop All for owner-visible active jobs.' });\n    expect(result.visualProofRequested).toBe(false);\n    expect(result.visualProofScope).toBe('none');\n  });\n  it('preserves genuine visual defects', () => {\n    const result = normalizeVisualProofIntent({ objective: 'Fix the header clipping on mobile.' });\n    expect(result.visualProofRequested).toBe(true);\n    expect(result.visualProofScope).toBe('targeted');\n  });\n  it('preserves explicit visual proof requests', () => {\n    expect(normalizeVisualProofIntent({ objective: 'Verify this release with visual proof.', visualProof: true }).visualProofRequested).toBe(true);\n  });\n});"}],"title":"Fix cross-clause visual proof inference","branch":"ai/objective-first-repair-dfd765bf4818","writes":[],"patches":[],"version":1,"approved":true,"missionId":"dfd765bf-4818-4c40-9fd3-fc335ab83aab","objective":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","sourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts"],"anchored_edits":[{"path":"workers/cc-execution/src/command-center-contracts.js","edits":[{"new_content":"function inferredVisualOutcomeRequired(objectiveInput = \"\") {\n  const objective = String(objectiveInput || \"\").trim().toLowerCase();\n  if (!objective) return false;\n  const visualSurface = /\\b(?:background|hero|image|imagery|logo|layout|spacing|clipping|clip|bleed|bleeding|overlap|scale|scaling|visibility|visible|responsive|shell|header|card|avatar|render|display|position|alignment|center|centering|crop|cropped|viewport|mobile|desktop)\\b/;\n  const visualOutcome = /\\b(?:fix|repair|change|update|apply|make|show|display|render|load|loads|loading|appear|appears|visible|align|center|fit|scale|responsive|clip|bleed|overlap|wrong|missing|broken|correct|correctly|persist|persists|sticking|stick)\\b/;\n  return objective.split(/[.;\\n]+/).map((clause) => clause.trim()).filter(Boolean)\n    .some((clause) => visualSurface.test(clause) && visualOutcome.test(clause));\n}","old_content":"function inferredVisualOutcomeRequired(objectiveInput = \"\") {\n  const objective = String(objectiveInput || \"\").trim().toLowerCase();\n  if (!objective) return false;\n  const visualSurface = /\\b(?:background|hero|image|imagery|logo|layout|spacing|clipping|clip|bleed|bleeding|overlap|scale|scaling|visibility|visible|responsive|shell|header|card|avatar|render|display|position|alignment|center|centering|crop|cropped|viewport|mobile|desktop)\\b/.test(objective);\n  const visualOutcome = /\\b(?:fix|repair|change|update|apply|make|show|display|render|load|loads|loading|appear|appears|visible|align|center|fit|scale|responsive|clip|bleed|overlap|wrong|missing|broken|correct|correctly|persist|persists|sticking|stick)\\b/.test(objective);\n  return visualSurface && visualOutcome;\n}"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.58.297-clause-visual-intent\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.296-universal-stop\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"valid":true,"intent":{"rawUtterance":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","wordingChanged":false,"canonicalIntent":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"o1","statement":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["p1"]}],"objective":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"p1","kind":"runtime","claim":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","route":null,"required":true,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"dfd765bf-4818-4c40-9fd3-fc335ab83aab","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts"],"requestContract":{"valid":true,"intent":{"rawUtterance":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","wordingChanged":false,"canonicalIntent":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"o1","statement":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["p1"]}],"objective":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"p1","kind":"runtime","claim":"Repair cross-clause visual-proof inference in cc-execution. Preserve explicit and genuine visual requests. Gate, merge, release, and prove.","route":null,"required":true,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner-authorized bounded retry on current main after maintenance base advanced."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner-authorized bounded retry on current main after maintenance base advanced."},"recovery":false,"fingerprint":"7a860645a4afcb663e37663356d51b3c4f1a187255ba65eb90e36dcb4d35fb86","replayCount":0,"serializedBytes":7894},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:47:04.375165+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:dfd765bf-4818-4c40-9fd3-fc335ab83aab:repository-mutation-intent:7a860645a4afcb663e37663356d51b3c4f1a187255ba65eb90e36dcb4d35fb86:0","mission_step_id":"6bf07363-572d-44c2-82f1-b7739a98a9d3","command_center_event_id":"dfd765bf-4818-4c40-9fd3-fc335ab83aab"},{"id":"a30a668a-d07c-42bb-bd89-58f15c8e5ebf","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-f500cd8112f1","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.79-durable-synthesis-continuation","prNumber":null,"terminal":false,"missionId":"f500cd81-12f1-4aea-b642-3bf75da8b416","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":15,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":920,"providerAuthMs":0,"ledgerPrepareMs":920,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":920,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":920,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"f500cd81-12f1-4aea-b642-3bf75da8b416"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2713,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T16:56:38.529996+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f500cd81-12f1-4aea-b642-3bf75da8b416:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"d537cefa-f685-4bd7-8ccc-7ce44998b8ec","command_center_event_id":"f500cd81-12f1-4aea-b642-3bf75da8b416"},{"id":"a30aca6c-e728-4b09-963c-f67aa615503d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":9425,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":332,"terminal":false,"missionId":"d6cf30e2-3e1e-4e9c-ab15-95bae4222c6a","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"d6cf30e2-3e1e-4e9c-ab15-95bae4222c6a"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1101,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T16:10:20.586781+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"332","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d6cf30e2-3e1e-4e9c-ab15-95bae4222c6a:automatic-mission-resume:332:repair_mission_pr_ready_retryable","mission_step_id":"8b34398e-bf9d-4c84-8f2c-5df220fd16b9","command_center_event_id":"d6cf30e2-3e1e-4e9c-ab15-95bae4222c6a"},{"id":"a30d28d8-315e-4ad7-ac2f-67432a0ddc90","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-976697ac4ab9","reason":"anchored_edit_anchor_not_unique:workers/cc-execution/src/index-mcp.js","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.155-cancelled-release-signed-push-lineage","prNumber":null,"terminal":false,"missionId":"976697ac-4ab9-4e6f-b845-6e119ad2b4f2","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":10342,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1102,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1102,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1102,"repositoryMutationMs":10342,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1102,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"976697ac-4ab9-4e6f-b845-6e119ad2b4f2"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1526,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T02:00:39.018376+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:976697ac-4ab9-4e6f-b845-6e119ad2b4f2:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"c1998233-6429-4555-95b3-67627aef9047","command_center_event_id":"976697ac-4ab9-4e6f-b845-6e119ad2b4f2"},{"id":"a30f3209-e045-45ae-9136-fdabdd8fdaf2","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-955dd17bef0b","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.59.3-direct-commit-ancestry","prNumber":null,"terminal":false,"missionId":"955dd17b-ef0b-421f-847e-0437b9233066","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1300,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":350,"providerAuthMs":0,"ledgerPrepareMs":350,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":350,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":350,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"955dd17b-ef0b-421f-847e-0437b9233066"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4831,"likelyAffectedFiles":["src/pages/admin/GodModeCommandConsole.tsx","scripts/visual-witness-hosted-runner/src/universal-witness.mjs","supabase/functions/operator-respond/index.ts","src/__tests__/contracts/godmode-console-route-family.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T00:17:49.596294+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:955dd17b-ef0b-421f-847e-0437b9233066:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"3b1cb09b-0d45-455b-9cfe-03c01900cc8a","command_center_event_id":"955dd17b-ef0b-421f-847e-0437b9233066"},{"id":"a312cf4d-b607-4a34-965b-f6bfac302c79","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"4dd2e7e8f36852114eb2f6045605dbd940cbfaa9","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"4dd2e7e8f36852114eb2f6045605dbd940cbfaa9","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"49e68c37aa1ca9c4f4a572b2f64a314520ceeaf650c806e7f21969a9d448585f","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/10496","runId":10496,"status":"success","sourceSha":"4dd2e7e8f36852114eb2f6045605dbd940cbfaa9","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"4dd2e7e8f36852114eb2f6045605dbd940cbfaa9","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-4dd2e7e8f36852114eb2f6045605dbd940cbfaa9","compareStatus":"target_job_success_runtime_verified","workflowRunId":10496,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.202-owner-machinery-truth","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T12:18:06.645728+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"4dd2e7e8f36852114eb2f6045605dbd940cbfaa9","external_id":"forgejo-main-4dd2e7e8f368","receipt_type":"canonical_release_status","idempotency_key":"mission:82d67a44-471d-467c-8653-76f108d0c6eb:forgejo-release-status:4dd2e7e8f36852114eb2f6045605dbd940cbfaa9:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"77154901-cc17-4768-8482-61f21808fe58","command_center_event_id":"82d67a44-471d-467c-8653-76f108d0c6eb"},{"id":"a31410ed-3167-4353-82ac-f1b9c6ba3414","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":"1ba0aefe-35ae-4890-8e87-c439264b0b46","phase":"visual_proof","branch":"ai/objective-first-repair-5f17a082daea","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":24932,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":2,"executorlessWaitMs":1571859,"firstUsefulResultAt":"2026-09-25T19:02:42.390Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.282-lineage-main-guard","prNumber":3757,"terminal":false,"missionId":"5f17a082-daea-4cc5-8735-e9deb4d2f979","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"807dd8278422d907c3ea682717cffdfc574e4584","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1405,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":114,"approvedPlanMs":0,"missionSetupMs":387,"providerAuthMs":0,"shipAndProveMs":696,"ledgerPrepareMs":387,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":387,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":387,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"5f17a082-daea-4cc5-8735-e9deb4d2f979"},"performance":null,"deploymentId":"forgejo-main-807dd8278422","releaseState":"verified","visualWitness":{"role":null,"jobId":"1ba0aefe-35ae-4890-8e87-c439264b0b46","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":11864,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2789,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T19:32:45.987624+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"807dd8278422d907c3ea682717cffdfc574e4584","external_id":"forgejo-main-807dd8278422","receipt_type":"execute_mission","idempotency_key":"mission:5f17a082-daea-4cc5-8735-e9deb4d2f979:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"c176ab4c-a0da-40fb-9d28-80898a31631b","command_center_event_id":"5f17a082-daea-4cc5-8735-e9deb4d2f979"},{"id":"a314891e-df9a-4ae0-962c-b9e138d4187a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-8bd65447c549","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":199273,"releaseCount":0,"toolCallCount":130,"repeatedCallCount":122,"executorlessWaitMs":14283842,"firstUsefulResultAt":"2026-10-06T01:52:18.869Z","recoveryAttemptCount":25,"ownerInterruptionCount":0},"version":null,"prNumber":5127,"terminal":false,"missionId":"8bd65447-c549-4656-9cd6-bf1d4a6dd4b8","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":4000,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"8bd65447-c549-4656-9cd6-bf1d4a6dd4b8"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1006,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T04:45:07.285731+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"5127","receipt_type":"automatic_mission_resume","idempotency_key":"mission:8bd65447-c549-4656-9cd6-bf1d4a6dd4b8:automatic-mission-resume:5127:repair_mission_waiting_for_gate","mission_step_id":"137f0964-329d-4f02-9b78-576dd2ea51ed","command_center_event_id":"8bd65447-c549-4656-9cd6-bf1d4a6dd4b8"},{"id":"a3162030-9c4f-4f64-8013-ddc403824e8a","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":"f33fdb3b-73a8-4df8-a2f5-550eddbbbeca","phase":"release","branch":"ai/visual-witness-readiness-probe-g4","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":5,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2888,"terminal":false,"missionId":"25776a3e-f543-4fb8-921f-4747b7def5a8","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"558f39283875f6a7f3e68e795e0a31fee6e075e0","timingsMs":{"prReadinessMs":489,"approvedPlanMs":0,"shipAndProveMs":5054,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"25776a3e-f543-4fb8-921f-4747b7def5a8"},"performance":null,"deploymentId":"forgejo-main-558f39283875","workflowRunId":8642,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":793,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T05:12:33.486274+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"2888","receipt_type":"automatic_mission_resume","idempotency_key":"mission:25776a3e-f543-4fb8-921f-4747b7def5a8:automatic-mission-resume:2888:canonical_release_reconciliation_pending","mission_step_id":"ec620f30-6028-498f-8775-1fb288c73025","command_center_event_id":"25776a3e-f543-4fb8-921f-4747b7def5a8"},{"id":"a3170c49-8e95-4143-a0a1-ceed32893365","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"pull_request_not_merge_eligible:pr_not_merge_eligible","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.34.1-fast-observe-default","prNumber":4625,"terminal":false,"missionId":"41f3e8bf-91ea-4abd-acaa-a6ade13493bf","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"41f3e8bf-91ea-4abd-acaa-a6ade13493bf"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":186,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-11T15:12:29.274304+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4625","receipt_type":"ship_and_prove","idempotency_key":"mission:41f3e8bf-91ea-4abd-acaa-a6ade13493bf:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"ddf04833-9d42-4fbe-8b3f-0f8f597891a0","command_center_event_id":"41f3e8bf-91ea-4abd-acaa-a6ade13493bf"},{"id":"a3179fd3-f3e5-4351-b2b1-2f4f772d0cec","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mission-control.js"],"baseSha":"2275c3f714eec9536086839e989da29330922e7f","issuedAt":1791591160394,"expiresAt":1791591340394,"missionId":"6a1caa2b-f4ea-4a42-81e2-2aa576b4ac3c","autoRefreeze":true,"authorizationId":"6bc9ec3f-f242-47e2-9c8d-fdb9d6c621db","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-10T00:12:41.020262+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"2275c3f714eec9536086839e989da29330922e7f","external_id":"6bc9ec3f-f242-47e2-9c8d-fdb9d6c621db","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:6a1caa2b-f4ea-4a42-81e2-2aa576b4ac3c:6bc9ec3f-f242-47e2-9c8d-fdb9d6c621db","mission_step_id":null,"command_center_event_id":"6a1caa2b-f4ea-4a42-81e2-2aa576b4ac3c"},{"id":"a318c2c0-ddf5-41bd-9a75-0c31aaf0e9d2","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow","cc-execution/runtime-proof"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","cc-execution/runtime-proof":"failure"},"mainSha":"c5861d78f9e64824ff0ff5586086620e6c2f33a8","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"c5861d78f9e64824ff0ff5586086620e6c2f33a8","releaseState":"failed","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"failure"},"requestContractHash":"f527acd06074f3fd88451195681b7051bbe1fb2cdf619cc7b86c8e893b45e5be","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/15684","runId":15684,"status":"failure","sourceSha":"c5861d78f9e64824ff0ff5586086620e6c2f33a8","conclusion":null,"failedJobs":[{"id":105689,"name":"Release cc-execution","status":"failure","conclusion":null,"failedSteps":[]}],"diagnostics":{"runId":15684,"logTail":["2026-10-05T15:05:31.3059881Z HEAD is now at c5861d7 Fix the cc-execution release workflow so Visual Witness bootstrap secret synchronization uses Cloudflare's version-aware secret command befo (#4939)","2026-10-05T15:05:31.4006421Z cc-execution visual bootstrap required=true","2026-10-05T15:05:33.1712484Z Reading package lists...","2026-10-05T15:05:33.2870204Z Building dependency tree...","2026-10-05T15:05:33.2872346Z Reading state information...","2026-10-05T15:05:33.3993502Z ca-certificates is already the newest version (20250419~deb12u1).","2026-10-05T15:05:33.3993799Z curl is already the newest version (7.88.1-10+deb12u15).","2026-10-05T15:05:33.3993890Z 0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.","2026-10-05T15:05:34.5494994Z Reading package lists...","2026-10-05T15:05:34.6587296Z Building dependency tree...","2026-10-05T15:05:34.6589075Z Reading state information...","2026-10-05T15:05:34.7530909Z Suggested packages:","2026-10-05T15:05:34.7531206Z   docker-model-plugin","2026-10-05T15:05:34.7531414Z Recommended packages:","2026-10-05T15:05:34.7531485Z   docker-compose-plugin","2026-10-05T15:05:34.7661824Z The following NEW packages will be installed:","2026-10-05T15:05:34.7669669Z   docker-buildx-plugin docker-ce-cli","2026-10-05T15:05:34.8343172Z 0 upgraded, 2 newly installed, 0 to remove and 16 not upgraded.","2026-10-05T15:05:34.8343816Z Need to get 34.8 MB of archives.","2026-10-05T15:05:34.8343991Z After this operation, 121 MB of additional disk space will be used.","2026-10-05T15:05:34.8344180Z Get:1 https://download.docker.com/linux/debian bookworm/stable amd64 docker-buildx-plugin amd64 0.37.1-1~debian.12~bookworm [17.3 MB]","2026-10-05T15:05:35.0247102Z Get:2 https://download.docker.com/linux/debian bookworm/stable amd64 docker-ce-cli amd64 5:29.8.2-1~debian.12~bookworm [17.6 MB]","2026-10-05T15:05:35.3070895Z debconf: delaying package configuration, since apt-utils is not installed","2026-10-05T15:05:35.3340902Z Fetched 34.8 MB in 0s (91.8 MB/s)","2026-10-05T15:05:35.3576950Z Selecting previously unselected package docker-buildx-plugin.","2026-10-05T15:05:35.3699438Z (Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 23263 files and directories currently installed.)","2026-10-05T15:05:35.3706025Z Preparing to unpack .../docker-buildx-plugin_0.37.1-1~debian.12~bookworm_amd64.deb ...","2026-10-05T15:05:35.3790888Z Unpacking docker-buildx-plugin (0.37.1-1~debian.12~bookworm) ...","2026-10-05T15:05:35.8970624Z Selecting previously unselected package docker-ce-cli.","2026-10-05T15:05:35.8984701Z Preparing to unpack .../docker-ce-cli_5%3a29.8.2-1~debian.12~bookworm_amd64.deb ...","2026-10-05T15:05:35.9061206Z Unpacking docker-ce-cli (5:29.8.2-1~debian.12~bookworm) ...","2026-10-05T15:05:36.3686455Z Setting up docker-buildx-plugin (0.37.1-1~debian.12~bookworm) ...","2026-10-05T15:05:36.3919333Z Setting up docker-ce-cli (5:29.8.2-1~debian.12~bookworm) ...","2026-10-05T15:05:36.4721847Z Docker version 29.8.2, build 7fc2dff","2026-10-05T15:05:36.4875179Z failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory","2026-10-05T15:05:36.5002302Z ⚙️ [runner]: exitcode '1': failure","2026-10-05T15:05:36.5761554Z skipping post step for 'Restore exact cc-execution runtime dependency tree'; main step was skipped","2026-10-05T15:05:36.5809392Z 🏁  Job failed","2026-10-05T15:05:37.7356221Z Job 'Release cc-execution' failed",""],"proofGate":"forgejo_action_run_logs_verified","truncated":false,"failureLines":[{"line":77,"content":"2026-10-05T15:05:36.4875179Z failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory"},{"line":78,"content":"2026-10-05T15:05:36.5002302Z ⚙️ [runner]: exitcode '1': failure"},{"line":80,"content":"2026-10-05T15:05:36.5809392Z 🏁  Job failed"},{"line":81,"content":"2026-10-05T15:05:37.7356221Z Job 'Release cc-execution' failed"}]},"exactSource":true,"fingerprint":"failure|release cc-execution|2026-10-05t15:05:36.4875179z failed to connect to the docker api at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory|2026-10-05t15:05:36.5002302z ⚙️ [runner]: exitcode '1': failure|2026-10-05t15:05:36.5809392z 🏁  job failed|2026-10-05t15:05:37.7356221z job 'release cc-execution' failed|2026-10-05t15:05:31.3059881z head is now at c5861d7 fix the cc-execution release workflow so visual witness bootstrap secret synchronization uses cloudflare's version-aware secret command befo (#4939)|2026-10-05t15:05:31.4006421z cc-execution visual bootstrap required=true|2026-10-05t15:05:33.1712484z reading package lists...|2026-10-05t15:05:33.2870204z building dependency tree...|2026-10-05t15:05:33.2872346z reading state information...|2026-10-05t15:05:33.3993502z ca-certificates is already the newest version (20250419~deb12u1).|2026-10-05t15:05:33.3993799z curl is al","failureClass":"code_failure","targetStates":{"ccExecution":"failure"},"safeAutoRetry":false,"targetJobCount":7,"observedTargetStates":{"ccExecution":"failure"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"064230c0cabef4cc7ce30bfbf12d3b8460ae1825","compareStatus":null,"workflowRunId":15684,"workflowFailed":true,"containsSourceSha":false,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/15684","runId":15684,"status":"failure","sourceSha":"c5861d78f9e64824ff0ff5586086620e6c2f33a8","conclusion":null,"failedJobs":[{"id":105689,"name":"Release cc-execution","status":"failure","conclusion":null,"failedSteps":[]}],"diagnostics":{"runId":15684,"logTail":["2026-10-05T15:05:31.3059881Z HEAD is now at c5861d7 Fix the cc-execution release workflow so Visual Witness bootstrap secret synchronization uses Cloudflare's version-aware secret command befo (#4939)","2026-10-05T15:05:31.4006421Z cc-execution visual bootstrap required=true","2026-10-05T15:05:33.1712484Z Reading package lists...","2026-10-05T15:05:33.2870204Z Building dependency tree...","2026-10-05T15:05:33.2872346Z Reading state information...","2026-10-05T15:05:33.3993502Z ca-certificates is already the newest version (20250419~deb12u1).","2026-10-05T15:05:33.3993799Z curl is already the newest version (7.88.1-10+deb12u15).","2026-10-05T15:05:33.3993890Z 0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.","2026-10-05T15:05:34.5494994Z Reading package lists...","2026-10-05T15:05:34.6587296Z Building dependency tree...","2026-10-05T15:05:34.6589075Z Reading state information...","2026-10-05T15:05:34.7530909Z Suggested packages:","2026-10-05T15:05:34.7531206Z   docker-model-plugin","2026-10-05T15:05:34.7531414Z Recommended packages:","2026-10-05T15:05:34.7531485Z   docker-compose-plugin","2026-10-05T15:05:34.7661824Z The following NEW packages will be installed:","2026-10-05T15:05:34.7669669Z   docker-buildx-plugin docker-ce-cli","2026-10-05T15:05:34.8343172Z 0 upgraded, 2 newly installed, 0 to remove and 16 not upgraded.","2026-10-05T15:05:34.8343816Z Need to get 34.8 MB of archives.","2026-10-05T15:05:34.8343991Z After this operation, 121 MB of additional disk space will be used.","2026-10-05T15:05:34.8344180Z Get:1 https://download.docker.com/linux/debian bookworm/stable amd64 docker-buildx-plugin amd64 0.37.1-1~debian.12~bookworm [17.3 MB]","2026-10-05T15:05:35.0247102Z Get:2 https://download.docker.com/linux/debian bookworm/stable amd64 docker-ce-cli amd64 5:29.8.2-1~debian.12~bookworm [17.6 MB]","2026-10-05T15:05:35.3070895Z debconf: delaying package configuration, since apt-utils is not installed","2026-10-05T15:05:35.3340902Z Fetched 34.8 MB in 0s (91.8 MB/s)","2026-10-05T15:05:35.3576950Z Selecting previously unselected package docker-buildx-plugin.","2026-10-05T15:05:35.3699438Z (Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 23263 files and directories currently installed.)","2026-10-05T15:05:35.3706025Z Preparing to unpack .../docker-buildx-plugin_0.37.1-1~debian.12~bookworm_amd64.deb ...","2026-10-05T15:05:35.3790888Z Unpacking docker-buildx-plugin (0.37.1-1~debian.12~bookworm) ...","2026-10-05T15:05:35.8970624Z Selecting previously unselected package docker-ce-cli.","2026-10-05T15:05:35.8984701Z Preparing to unpack .../docker-ce-cli_5%3a29.8.2-1~debian.12~bookworm_amd64.deb ...","2026-10-05T15:05:35.9061206Z Unpacking docker-ce-cli (5:29.8.2-1~debian.12~bookworm) ...","2026-10-05T15:05:36.3686455Z Setting up docker-buildx-plugin (0.37.1-1~debian.12~bookworm) ...","2026-10-05T15:05:36.3919333Z Setting up docker-ce-cli (5:29.8.2-1~debian.12~bookworm) ...","2026-10-05T15:05:36.4721847Z Docker version 29.8.2, build 7fc2dff","2026-10-05T15:05:36.4875179Z failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory","2026-10-05T15:05:36.5002302Z ⚙️ [runner]: exitcode '1': failure","2026-10-05T15:05:36.5761554Z skipping post step for 'Restore exact cc-execution runtime dependency tree'; main step was skipped","2026-10-05T15:05:36.5809392Z 🏁  Job failed","2026-10-05T15:05:37.7356221Z Job 'Release cc-execution' failed",""],"proofGate":"forgejo_action_run_logs_verified","truncated":false,"failureLines":[{"line":77,"content":"2026-10-05T15:05:36.4875179Z failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory"},{"line":78,"content":"2026-10-05T15:05:36.5002302Z ⚙️ [runner]: exitcode '1': failure"},{"line":80,"content":"2026-10-05T15:05:36.5809392Z 🏁  Job failed"},{"line":81,"content":"2026-10-05T15:05:37.7356221Z Job 'Release cc-execution' failed"}]},"exactSource":true,"fingerprint":"failure|release cc-execution|2026-10-05t15:05:36.4875179z failed to connect to the docker api at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory|2026-10-05t15:05:36.5002302z ⚙️ [runner]: exitcode '1': failure|2026-10-05t15:05:36.5809392z 🏁  job failed|2026-10-05t15:05:37.7356221z job 'release cc-execution' failed|2026-10-05t15:05:31.3059881z head is now at c5861d7 fix the cc-execution release workflow so visual witness bootstrap secret synchronization uses cloudflare's version-aware secret command befo (#4939)|2026-10-05t15:05:31.4006421z cc-execution visual bootstrap required=true|2026-10-05t15:05:33.1712484z reading package lists...|2026-10-05t15:05:33.2870204z building dependency tree...|2026-10-05t15:05:33.2872346z reading state information...|2026-10-05t15:05:33.3993502z ca-certificates is already the newest version (20250419~deb12u1).|2026-10-05t15:05:33.3993799z curl is al","failureClass":"code_failure","targetStates":{"ccExecution":"failure"},"safeAutoRetry":false,"targetJobCount":7,"observedTargetStates":{"ccExecution":"failure"}}},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:05:35.058683+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"c5861d78f9e64824ff0ff5586086620e6c2f33a8","external_id":"forgejo-main-c5861d78f9e6","receipt_type":"canonical_release_status","idempotency_key":"mission:cfb28810-354d-4feb-b407-b3d5a1ef379b:forgejo-release-status:c5861d78f9e64824ff0ff5586086620e6c2f33a8:failed:forgejo-main/source=success|forgejo-release/workflow=failure|cc-execution/runtime-proof=failure","mission_step_id":"d2da90fd-eccb-41bf-8f9d-fd7a0028d4e5","command_center_event_id":"cfb28810-354d-4feb-b407-b3d5a1ef379b"},{"id":"a318cbd8-1266-4104-a31f-aa290e5e4031","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/command-center-fast-mission-20260828","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":52477,"releaseCount":0,"toolCallCount":37,"repeatedCallCount":11,"ownerInterruptionCount":0},"version":"1.55.3-resumable-domain-registry","prNumber":965,"terminal":false,"missionId":"7c6a769a-7290-4180-b59a-8fac247c57d1","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":8452,"prReadinessMs":1477,"approvedPlanMs":6969,"missionSetupMs":610,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"7c6a769a-7290-4180-b59a-8fac247c57d1"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5447,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T21:17:44.192635+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"965","receipt_type":"execute_mission","idempotency_key":"mission:7c6a769a-7290-4180-b59a-8fac247c57d1:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"3a319594-34e7-4904-9fb8-3857e2fac00b","command_center_event_id":"7c6a769a-7290-4180-b59a-8fac247c57d1"},{"id":"a31bc75e-6761-4a94-936b-d5112d1236b7","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"20fd8edbc25b96e72ec52b6400ddcca220cb00bc","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"20fd8edbc25b96e72ec52b6400ddcca220cb00bc","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"6e77904a1a978d5f306cbe6617641eff29ce049da4081d961b64f864d0edec95","forgejoWorkflowProof":{"runId":11966,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T10:17:46.895974+00:00","proof_gate":"canonical_release_pending","source_sha":"20fd8edbc25b96e72ec52b6400ddcca220cb00bc","external_id":"forgejo-main-20fd8edbc25b","receipt_type":"canonical_release_status","idempotency_key":"mission:5d4a2e71-cda8-4455-9b9d-12a0b7f26af2:forgejo-release-status:20fd8edbc25b96e72ec52b6400ddcca220cb00bc:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"0a5b7a3e-82fc-423f-9153-671ff6f262a5","command_center_event_id":"5d4a2e71-cda8-4455-9b9d-12a0b7f26af2"},{"id":"a31e5274-81fb-4325-8622-cdda73f66af4","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a770b0221597","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":122237,"releaseCount":0,"toolCallCount":54,"repeatedCallCount":42,"executorlessWaitMs":775825,"firstUsefulResultAt":"2026-10-05T18:53:45.044Z","recoveryAttemptCount":27,"ownerInterruptionCount":0},"version":null,"prNumber":5032,"terminal":false,"missionId":"a770b022-1597-4486-a023-1c9d2554f8ad","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":4000,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"a770b022-1597-4486-a023-1c9d2554f8ad"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1006,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T19:02:13.243248+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"5032","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a770b022-1597-4486-a023-1c9d2554f8ad:automatic-mission-resume:5032:repair_mission_waiting_for_gate","mission_step_id":"9b10c6a7-3c21-413d-8025-7a1cf9861d18","command_center_event_id":"a770b022-1597-4486-a023-1c9d2554f8ad"},{"id":"a32299c8-bbc3-4cc2-b86b-ae4a31bfdaa4","source":"cc-execution","status":"verified","payload":{"paths":["workers/cc-execution/src/index-scoped-repo-patch.js"],"baseSha":"86f1fec0973ac7011108db860d8f574b437d690a","consumedAt":1787857589737,"consumerToken":"00f13187-0c75-4f77-a6ce-49d7195d43aa","authorizationId":"4b881db5-28a9-4da2-82e7-7fc854d9f551"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T19:06:31.193757+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"86f1fec0973ac7011108db860d8f574b437d690a","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:4b881db5-28a9-4da2-82e7-7fc854d9f551","mission_step_id":"3551c96c-0dfa-43ef-99f5-68a9f09366d3","command_center_event_id":"e57906ff-764d-4381-9f3a-8b48dc1874fe"},{"id":"a322c140-1ddf-4b1a-8f70-b81c6ec1b179","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"43f2a68c63c702c30fc6fa12f4ee2c2afba8a7bb","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"43f2a68c63c702c30fc6fa12f4ee2c2afba8a7bb","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"451a8ea15e166fbb10c41aff8d5df845b4283feb32cfb569e850088ac422e5ec","forgejoWorkflowProof":{"runId":12810,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T01:15:26.852324+00:00","proof_gate":"canonical_release_pending","source_sha":"43f2a68c63c702c30fc6fa12f4ee2c2afba8a7bb","external_id":"forgejo-main-43f2a68c63c7","receipt_type":"canonical_release_status","idempotency_key":"mission:750a4948-ef6b-414d-8140-4956fedff846:forgejo-release-status:43f2a68c63c702c30fc6fa12f4ee2c2afba8a7bb:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"2efc5ace-8c2f-4696-b2ab-707193ac10de","command_center_event_id":"750a4948-ef6b-414d-8140-4956fedff846"},{"id":"a322cb76-8620-4c1c-983b-34d73be02363","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/whatsmyprogress-brand-domain-20260831","reason":"file_write_content_required_use_source_targets","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.0-frontend-build-velocity-freeze","prNumber":null,"terminal":false,"missionId":"328c9576-0cfe-4517-b199-739d22de62cb","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":3168,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"328c9576-0cfe-4517-b199-739d22de62cb"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1088,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T21:31:16.419818+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:328c9576-0cfe-4517-b199-739d22de62cb:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"32b174c0-9ea6-4f53-b32b-458ec265ce03","command_center_event_id":"328c9576-0cfe-4517-b199-739d22de62cb"},{"id":"a32517a4-bb50-4f66-9fd3-384642a01a95","source":"forgejo-exact-head-gate","status":"verified","payload":{"sourceSha":"c2c5b7de821d52470305eea04b3f453383722733","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repo","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"8a10d3810426a6e217cbf38b7c5e637db1a10853","prNumber":6501,"gateRunId":21782,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/21782/jobs/1","mergeCommitSha":"c2c5b7de821d52470305eea04b3f453383722733"}],"requestContractHash":"9ff59887cccd8ea06bade5aab2ec03fbef712d215fb56972816853f573d58542"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T20:38:45.831242+00:00","proof_gate":"request_contract_repository_verified","source_sha":"c2c5b7de821d52470305eea04b3f453383722733","external_id":"21782","receipt_type":"request_contract_repository_status","idempotency_key":"mission:2df730c3-342d-4b15-9833-8ac72f9415fa:repository-gate:6501:c2c5b7de821d52470305eea04b3f453383722733:9ff59887cccd8ea06bade5aab2ec03fbef712d215fb56972816853f573d58542","mission_step_id":"8d859617-ce97-42d5-b69e-f8fcc9c7e168","command_center_event_id":"2df730c3-342d-4b15-9833-8ac72f9415fa"},{"id":"a32660f8-e786-408b-8b40-cc810d022b1a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-897c1d6bcabc","reason":"retryable_provider_transport:PUT:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.79-durable-synthesis-continuation","prNumber":2243,"terminal":false,"missionId":"897c1d6b-cabc-415a-82d4-26f02256b096","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":"ea6af0f1bed804239a80deaed1a508d80a070247","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7482,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":3791,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":377,"ledgerReconcileMs":0,"lineageReconcileMs":3414,"resolvePreflightMs":3791,"repositoryMutationMs":7482,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":377,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"897c1d6b-cabc-415a-82d4-26f02256b096"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1553,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T17:14:06.28231+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":"2243","receipt_type":"execute_mission","idempotency_key":"mission:897c1d6b-cabc-415a-82d4-26f02256b096:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"dac7e3a2-530f-4654-84d4-1e52b922957c","command_center_event_id":"897c1d6b-cabc-415a-82d4-26f02256b096"}],"rows":400,"limit":400,"table":"command_center_receipts","format":"knocklaunch-table-chunk-v1","offset":28800,"schema":"public","order_key":"id"}