{"data":[{"id":"b85162d5-744c-40da-bf0b-47f90e77dfb3","source":"cc-execution","status":"recorded","payload":{"objective":"Continue existing PR #1431 only. Refresh/rebase the existing ai/redfish-roof-auto-measure-fastpath-20260902 branch onto current protected main because the prior Gate failed only with stale-main freshness exit 78 after main advanced. Preserve the exact two-file fast-path changes already on the PR; do not add or remove product scope. Re-run KnockLaunch Gate on the refreshed exact head, squash merge when green, release only frontend and roof-ai-detection, and prove both affected production releases. No Visual Witness.","tenantRef":"redfish-roofing","receivedAt":"2026-09-02T15:52:21.688Z","fingerprint":"33c23b26d35b44d20e25908d1ae02f85da60203a5863b7de04bdb815a8d1579b","workstreamRef":"redfishroofing","conversationId":null,"canonicalBranch":"ai/redfish-roof-auto-measure-fastpath-20260902","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue existing PR #1431 only. Refresh/rebase the existing ai/redfish-roof-auto-measure-fastpath-20260902 branch onto current protected main because the prior Gate failed only with stale-main freshness exit 78 after main advanced. Preserve the exact two-file fast-path changes already on the PR; do not add or remove product scope. Re-run KnockLaunch Gate on the refreshed exact head, squash merge when green, release only frontend and roof-ai-detection, and prove both affected production releases. No Visual Witness.","wordingChanged":false,"canonicalIntent":"Continue existing PR #1431 only. Refresh/rebase the existing ai/redfish-roof-auto-measure-fastpath-20260902 branch onto current protected main because the prior Gate failed only with stale-main freshness exit 78 after main advanced. Preserve the exact two-file fast-path changes already on the PR; do not add or remove product scope. Re-run KnockLaunch Gate on the refreshed exact head, squash merge when green, release only frontend and roof-ai-detection, and prove both affected production releases. No Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-fastpath-live","statement":"The existing two-file Auto Measure fast-path change from PR #1431 is refreshed onto current main, passes KnockLaunch Gate, squash merges, and is live in both affected production owners.","proofConditionIds":["proof-repo","proof-gate","proof-frontend","proof-edge"]}],"objective":"Continue existing PR #1431 only. Refresh/rebase the existing ai/redfish-roof-auto-measure-fastpath-20260902 branch onto current protected main because the prior Gate failed only with stale-main freshness exit 78 after main advanced. Preserve the exact two-file fast-path changes already on the PR; do not add or remove product scope. Re-run KnockLaunch Gate on the refreshed exact head, squash merge when green, release only frontend and roof-ai-detection, and prove both affected production releases. No Visual Witness.","constraints":[{"id":"constraint-scope","statement":"Do not add product scope.","proofConditionIds":["proof-repo"]},{"id":"constraint-files","statement":"Do not modify files beyond src/components/roof-estimator/hooks/useRoofAutoDetect.ts and supabase/functions/roof-ai-detection/index.ts.","proofConditionIds":["proof-repo"]},{"id":"constraint-no-visual","statement":"No Visual Witness.","proofConditionIds":["proof-repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repo","kind":"repository","claim":"Current protected main contains only the exact PR #1431 fast-path changes in the two allowed files and no added product scope.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-gate","kind":"repository","claim":"KnockLaunch Gate passes on the exact refreshed PR head before merge.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-frontend","kind":"runtime","claim":"The frontend release for the merged source is live.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-edge","kind":"runtime","claim":"The roof-ai-detection Edge Function release for the merged source is live.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/redfish-roof-auto-measure-fastpath-20260902","conversationContext":null,"requestContractHash":"16d31df83058a7209abe5edcd2715727420e9ef17088c74da569ae12a1d75cb7","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T15:52:22.642534+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:23057b76-f801-44c3-8f0f-fd7916fa084b:tenant-workstream-contribution:33c23b26d35b44d20e25908d1ae02f85da60203a5863b7de04bdb815a8d1579b","mission_step_id":null,"command_center_event_id":"23057b76-f801-44c3-8f0f-fd7916fa084b"},{"id":"b85551ca-199e-473d-8612-faf95e2904fe","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":null,"owner_action_to_pr_ms":null,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":null},"ownerWaitLiveAt":"2026-09-20T04:55:23.919Z"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-20T04:52:45.906196+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:45e508fb-7168-4481-9e80-c823b74c6bbf:owner-wait-live","mission_step_id":"9f5216f9-c100-43e6-b565-dbacbf245a06","command_center_event_id":"45e508fb-7168-4481-9e80-c823b74c6bbf"},{"id":"b8561309-93f1-4eb5-bbf2-d7fd23406a72","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in reasoning required.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"synthesis_required","handoff":null,"capability":"heavy-build-gate","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"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,\"capability\":\"heavy-build-gate\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"heavy-build-gate\",\"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\":\"pull_request\",\"deadlineAt\":\"2026-10-06T21:21:30.583829+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-06T19:43:49.203658+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:1d09d4b6-396f-45ca-b5e4-7b1dcf769e9d:owner-progress-heartbeat:119421055","mission_step_id":"e6e0d532-73a4-4b66-86e3-09010fd88f1d","command_center_event_id":"1d09d4b6-396f-45ca-b5e4-7b1dcf769e9d"},{"id":"b857dc53-296d-4776-a789-87828bd5dc56","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"forgejo_validation_failed:POST:422","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.151-mission-create-single-rpc","prNumber":null,"terminal":false,"missionId":"f4df93da-ef0f-448e-b349-ef81dc9e5f66","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3920,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":529,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":529,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":529,"repositoryMutationMs":3920,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":529,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f4df93da-ef0f-448e-b349-ef81dc9e5f66"},"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":1459,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T18:24:37.166895+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f4df93da-ef0f-448e-b349-ef81dc9e5f66:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"642acae7-9984-442e-bdb4-dd47293503b8","command_center_event_id":"f4df93da-ef0f-448e-b349-ef81dc9e5f66"},{"id":"b858391b-d733-4b46-b26c-c2838927fa0a","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\":\"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-06T03:52:24.933293+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-e3bb2c220a1b\",\"prNumber\":5101,\"sourceSha\":\"7cac3072e0e0c42d39832849f6acc6f68a03da79\",\"deploymentId\":\"forgejo-main-7cac3072e0e0\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:53:12.049451+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:e3bb2c22-0a1b-48d9-aada-3e76f5287130:owner-progress-heartbeat:119416292","mission_step_id":"a9efa84a-2adb-47b4-9304-1f57277175ed","command_center_event_id":"e3bb2c22-0a1b-48d9-aada-3e76f5287130"},{"id":"b859d4d5-a68a-47bd-809d-a7ea8e0a67d6","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"runtime_proof","branch":"ai/objective-first-repair-c4948dd1c6f7","reason":"explicit_pull_request_identity_mismatch:3151","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3151,"terminal":false,"missionId":"c4948dd1-c6f7-4510-a765-afb6d89e3404","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":"ec7416fbd4fd6fd3056792528f158171991a5050","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":23183,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":23183,"missionSetupMs":310,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":310,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":310,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":310,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"c4948dd1-c6f7-4510-a765-afb6d89e3404"},"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":1497,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T20:03:56.827254+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":"ec7416fbd4fd6fd3056792528f158171991a5050","external_id":"3151","receipt_type":"execute_mission","idempotency_key":"mission:c4948dd1-c6f7-4510-a765-afb6d89e3404:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"a59e1841-c084-4726-bab4-10b5039d6ce4","command_center_event_id":"c4948dd1-c6f7-4510-a765-afb6d89e3404"},{"id":"b85a74c2-c910-4162-9d9b-0d19024cdb28","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/release-reconciliation-contract-coherence-20260911","reason":"control_plane_maintenance_scope_mismatch","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.107-exact-green-no-prearm","prNumber":2421,"terminal":false,"missionId":"e06fb523-117b-497b-97e9-0cfa043318cb","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":568,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":421,"ledgerReconcileMs":0,"lineageReconcileMs":147,"resolvePreflightMs":568,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":421,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"e06fb523-117b-497b-97e9-0cfa043318cb"},"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":1463,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:51:57.29004+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:e06fb523-117b-497b-97e9-0cfa043318cb:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"354c8f2b-639d-43ea-a02d-70b1d549cf8d","command_center_event_id":"e06fb523-117b-497b-97e9-0cfa043318cb"},{"id":"b8641f84-da91-4149-9231-bda82de16a32","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-83515a4a94d3","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":75913,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":203194,"firstUsefulResultAt":"2026-09-29T02:27:44.732Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":4085,"terminal":false,"missionId":"83515a4a-94d3-4807-bbee-e6c6d341bc36","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"c2eea2a4ff6cec84887d9be917c3584c7c90739f","timingsMs":{"prReadinessMs":614,"approvedPlanMs":0,"shipAndProveMs":2931,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"83515a4a-94d3-4807-bbee-e6c6d341bc36"},"performance":null,"deploymentId":"forgejo-main-c2eea2a4ff6c","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"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":1814,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:31:25.584239+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4085","receipt_type":"automatic_mission_resume","idempotency_key":"mission:83515a4a-94d3-4807-bbee-e6c6d341bc36:automatic-mission-resume:4085:canonical_release_reconciliation_pending","mission_step_id":"4d871772-da8f-4d37-b7bd-c375faf7f8d9","command_center_event_id":"83515a4a-94d3-4807-bbee-e6c6d341bc36"},{"id":"b864511a-21b9-415a-afca-fb2d14d95792","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"1c85c52ff2a4def5744f5f3cd090fef56700597b","sourceSha":"945a4c86a67aefb7620263f982398fdc2fba5a24","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T22:15:29.776569+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"945a4c86a67aefb7620263f982398fdc2fba5a24","external_id":"canonical-release-945a4c86a67a","receipt_type":"canonical_release_status","idempotency_key":"mission:1ed116fd-c666-48db-8d4d-396a53f01825:forgejo-release-ancestry:945a4c86a67aefb7620263f982398fdc2fba5a24:1c85c52ff2a4def5744f5f3cd090fef56700597b:ancestry_read_retryable","mission_step_id":"601b5dad-fad9-410b-ac1b-562c4e7b5876","command_center_event_id":"1ed116fd-c666-48db-8d4d-396a53f01825"},{"id":"b8649f96-ef60-495c-b689-5f781d86a1e7","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-5f3605bbd227","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.210-platform-source-resolution","prNumber":null,"terminal":false,"missionId":"5f3605bb-d227-4474-bd84-6566e0d719c4","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":123,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":437,"providerAuthMs":0,"ledgerPrepareMs":437,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":437,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":437,"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":"5f3605bb-d227-4474-bd84-6566e0d719c4"},"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":2692,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T03:16:36.479938+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5f3605bb-d227-4474-bd84-6566e0d719c4:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"645daace-3df9-4308-bf2b-4f6d7ee40160","command_center_event_id":"5f3605bb-d227-4474-bd84-6566e0d719c4"},{"id":"b86964e7-62d7-43fb-9e19-cfbc3337cf9a","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-runtime\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-29T04:10:15.936903+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-330228004540\",\"prNumber\":4067,\"sourceSha\":\"05a34944d5ba48fed5fc9efebd756f4fe239f097\",\"deploymentId\":\"forgejo-main-05a34944d5ba\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T01:14:24.347148+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:33022800-4540-406c-a2b6-bb97ed7d7b1c:owner-progress-heartbeat:119376297","mission_step_id":"1e940894-b466-4cfe-9575-e59c4145c07b","command_center_event_id":"33022800-4540-406c-a2b6-bb97ed7d7b1c"},{"id":"b86a413c-fa66-4b26-b435-11645ebf31ec","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-96ed5324a304","reason":"file_write_content_or_explicit_delete_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.144-request-contract-inference","prNumber":null,"terminal":false,"missionId":"96ed5324-a304-47db-9973-fd125a2129ce","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":383,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":383,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":383,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":383,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"96ed5324-a304-47db-9973-fd125a2129ce"},"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-14T08:05:19.986408+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:96ed5324-a304-47db-9973-fd125a2129ce:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"ea463db6-792d-4fa9-9bef-07c06aab278e","command_center_event_id":"96ed5324-a304-47db-9973-fd125a2129ce"},{"id":"b86aa255-493c-4938-9df1-6477c2c5d3df","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"fcfb9266efa98bda61e1fedf4e78c8b46014c536","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"fcfb9266efa98bda61e1fedf4e78c8b46014c536","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":"8d2cd9930cbd789326cc0c73ca78c57f0979182e120bc72331ada7fab365ace5","forgejoWorkflowProof":{"runId":9318,"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-17T20:55:07.428091+00:00","proof_gate":"canonical_release_pending","source_sha":"fcfb9266efa98bda61e1fedf4e78c8b46014c536","external_id":"forgejo-main-fcfb9266efa9","receipt_type":"canonical_release_status","idempotency_key":"mission:443096a4-2ca9-48e9-bc2b-620da04f5fe7:forgejo-release-status:fcfb9266efa98bda61e1fedf4e78c8b46014c536:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"6ff89f40-7ee6-4412-b4cb-eeebb828543a","command_center_event_id":"443096a4-2ca9-48e9-bc2b-620da04f5fe7"},{"id":"b86c8679-5b7c-41bc-91bd-6ae59c82b5c3","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":"8fa1c33eaf4b32de8674ab6ccc387f2ec4ca892e","releaseState":"pending","exactConductorRun":{"id":31688710631,"status":"in_progress","headSha":"8fa1c33eaf4b32de8674ab6ccc387f2ec4ca892e","conclusion":null,"compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-13T09:54:47.801423+00:00","proof_gate":"canonical_release_pending","source_sha":"8fa1c33eaf4b32de8674ab6ccc387f2ec4ca892e","external_id":"canonical-release-8fa1c33eaf4b","receipt_type":"canonical_release_status","idempotency_key":"mission:451d88f4-e554-474e-9724-07a697b6be2c:release-status:8fa1c33eaf4b32de8674ab6ccc387f2ec4ca892e:31688710631:pending:canonical-production-release/verified=pending","mission_step_id":"307a4d68-b8ac-4bd4-b865-c82a0ac818cb","command_center_event_id":"451d88f4-e554-474e-9724-07a697b6be2c"},{"id":"b86cc469-39ce-46e0-9aba-008aae78a1c2","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-45fb13df61ae","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":29548,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":4,"executorlessWaitMs":672693,"firstUsefulResultAt":"2026-10-05T15:35:54.252Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.96-cloudflare-release-reconciliation","prNumber":4952,"terminal":false,"missionId":"45fb13df-61ae-4cc1-abb2-37ba61727252","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"9410b16aa9fd8cbf7121c5ecb1a134c856683e3f","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2148,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":143,"approvedPlanMs":0,"missionSetupMs":1968,"providerAuthMs":0,"shipAndProveMs":1555,"ledgerPrepareMs":208,"ledgerReconcileMs":0,"lineageReconcileMs":1760,"resolvePreflightMs":1968,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":208,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"45fb13df-61ae-4cc1-abb2-37ba61727252"},"performance":null,"deploymentId":"forgejo-main-9410b16aa9fd","releaseState":"failed","workflowRunId":15745,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"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":2758,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:47:09.700409+00:00","proof_gate":"canonical_release_dispatched","source_sha":"9410b16aa9fd8cbf7121c5ecb1a134c856683e3f","external_id":"forgejo-main-9410b16aa9fd","receipt_type":"execute_mission","idempotency_key":"mission:45fb13df-61ae-4cc1-abb2-37ba61727252:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"e1c6cbf7-82e8-4993-866a-0590b8b8af02","command_center_event_id":"45fb13df-61ae-4cc1-abb2-37ba61727252"},{"id":"b86d15f1-cdd2-4b0e-af97-747af65f5f80","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"workers/cc-execution/src/index-visual-witness-resumable.js","content":"import { CC_EXECUTION_VERSION as VERSION } from \"./version.js\";\n\nconst DEFAULT_ORIGIN = \"https://app.knocklaunch.app\";\nconst DEFAULT_REPOSITORY = \"noel/KnockLaunchOS\";\nconst DEFAULT_PROFILE = \"default\";\nexport const CANONICAL_RUNNER_URL = \"https://knocklaunchcrm.onrender.com\";\nconst EXPECTED_RUNNER_SERVICE = \"knocklaunch-universal-visual-witness\";\nconst EXPECTED_RUNNER_RUNTIME_CONTRACT = \"visual-witness-durable-resume-v1\";\nconst EXPECTED_PRIMARY_LANE = \"cc-execution -> Render OnRunner -> universal-witness.mjs\";\nconst EXPECTED_VIRTUAL_LANE = \"cc-execution -> Cloudflare Container -> universal-witness.mjs\";\nconst EXPECTED_PAUL_LANE = \"cc-execution -> DigitalOcean PAUL -> universal-witness.mjs\";\nconst PRIMARY_WAKE_TIMEOUT_MS = 12000;\nconst VIRTUAL_WAKE_TIMEOUT_MS = 20000;\nconst PAUL_WAKE_TIMEOUT_MS = 8000;\nconst RUNNER_WAKE_POLL_MS = 1250;\nconst RUNNER_HEALTH_REQUEST_TIMEOUT_MS = 6000;\nconst RUNNER_RECOVERY_REQUEST_TIMEOUT_MS = 12000;\nconst RUNNER_RECOVERY_COOLDOWN_MS = 30_000;\nconst runnerRecoveryState = new Map();\n\nexport function runnerHealthRequestTimeoutMs(candidate, remainingMs) {\n  const boundedRemainingMs = Math.max(1000, Number(remainingMs) || 1000);\n  return candidate?.transport === \"binding\"\n    ? boundedRemainingMs\n    : Math.min(RUNNER_HEALTH_REQUEST_TIMEOUT_MS, boundedRemainingMs);\n}\n\nfunction json(body, status = 200) {\n  return new Response(JSON.stringify(body, null, 2), {\n    status,\n    headers: { \"content-type\": \"application/json; charset=utf-8\", \"cache-control\": \"no-store\" },\n  });\n}\n\nfunction deny(request, env) {\n  const value = request.headers.get(\"Authorization\");\n  if (!value?.startsWith(\"Bearer \")) return json({ ok: false, status: \"blocked\", proofGate: \"authentication_failed\", failureReason: \"missing_bearer_token\" }, 401);\n  if (!env.CC_EXECUTION_KEY || value.slice(7).trim() !== env.CC_EXECUTION_KEY) return json({ ok: false, status: \"blocked\", proofGate: \"authentication_failed\", failureReason: \"invalid_execution_key\" }, 403);\n  return null;\n}\n\nasync function body(request) {\n  try { return await request.json(); } catch { return {}; }\n}\n\nfunction normalizeRunnerOrigin(value, label) {\n  const parsed = new URL(String(value || \"\").trim());\n  const hostname = parsed.hostname.toLowerCase().replace(/\\.$/, \"\");\n  if (parsed.protocol !== \"https:\" || parsed.username || parsed.password || parsed.port) throw new Error(`${label}_url_must_be_safe_https`);\n  if (!hostname || hostname === \"localhost\" || hostname.endsWith(\".localhost\") || hostname.endsWith(\".local\") || hostname.endsWith(\".internal\")) throw new Error(`${label}_url_must_be_public_https`);\n  if (/^\\d{1,3}(?:\\.\\d{1,3}){3}$/.test(hostname) || hostname.includes(\":\")) throw new Error(`${label}_url_ip_literal_forbidden`);\n  return parsed.origin;\n}\n\nfunction primaryRunnerUrl(env) {\n  const raw = String(env.VISUAL_WITNESS_HOSTED_RUNNER_URL || env.HOSTED_VISUAL_WITNESS_RUNNER_URL || CANONICAL_RUNNER_URL).trim();\n  const normalized = normalizeRunnerOrigin(raw, \"primary_visual_witness_runner\");\n  if (normalized !== CANONICAL_RUNNER_URL) throw new Error(`visual_witness_runner_authority_mismatch:${normalized}`);\n  return CANONICAL_RUNNER_URL;\n}\n\nfunction virtualRunnerUrl(env) {\n  const raw = String(env.VISUAL_WITNESS_VIRTUAL_RUNNER_URL || env.VISUAL_WITNESS_BACKUP_RUNNER_URL || env.BROWSER_SMOKE_RUNNER_URL || \"\").trim();\n  if (!raw) return null;\n  const normalized = normalizeRunnerOrigin(raw, \"virtual_visual_witness_runner\");\n  if (normalized === CANONICAL_RUNNER_URL) throw new Error(\"virtual_visual_witness_runner_must_be_distinct\");\n  return normalized;\n}\n\nfunction paulRunnerUrl(env) {\n  const raw = String(env.VISUAL_WITNESS_PAUL_RUNNER_URL || \"\").trim();\n  if (!raw) return null;\n  const normalized = normalizeRunnerOrigin(raw, \"paul_visual_witness_runner\");\n  if (normalized === CANONICAL_RUNNER_URL) throw new Error(\"paul_visual_witness_runner_must_be_distinct\");\n  return normalized;\n}\n\nfunction runnerBearer(env, lane = \"primary\") {\n  if (lane === \"paul\") {\n    return String(env.VISUAL_WITNESS_PAUL_RUNNER_BEARER || env.VISUAL_WITNESS_RUNNER_BEARER || env.HOSTED_VISUAL_WITNESS_RUNNER_BEARER || env.VISUAL_WITNESS_HOSTED_RUNNER_BEARER || \"\").trim();\n  }\n  if (lane === \"virtual\") {\n    return String(env.VISUAL_WITNESS_VIRTUAL_RUNNER_BEARER || env.VISUAL_WITNESS_BACKUP_RUNNER_BEARER || env.BROWSER_SMOKE_RUNNER_TOKEN || env.VISUAL_WITNESS_RUNNER_BEARER || env.HOSTED_VISUAL_WITNESS_RUNNER_BEARER || env.VISUAL_WITNESS_HOSTED_RUNNER_BEARER || \"\").trim();\n  }\n  return String(env.VISUAL_WITNESS_RUNNER_BEARER || env.HOSTED_VISUAL_WITNESS_RUNNER_BEARER || env.VISUAL_WITNESS_HOSTED_RUNNER_BEARER || \"\").trim();\n}\n\nfunction runnerCandidates(env) {\n  const candidates = [{ lane: \"primary\", url: primaryRunnerUrl(env), token: runnerBearer(env, \"primary\"), transport: \"https\", binding: null, configurationError: null }];\n\n  const rawPaul = String(env.VISUAL_WITNESS_PAUL_RUNNER_URL || \"\").trim();\n  if (rawPaul) {\n    try {\n      candidates.push({ lane: \"paul\", url: paulRunnerUrl(env), token: runnerBearer(env, \"paul\"), transport: \"https\", binding: null, configurationError: null });\n    } catch (error) {\n      candidates.push({ lane: \"paul\", url: null, token: runnerBearer(env, \"paul\"), transport: \"https\", binding: null, configurationError: error instanceof Error ? error.message : String(error) });\n    }\n  }\n\n  const virtualBinding = env.VISUAL_WITNESS_VIRTUAL_RUNNER;\n  if (virtualBinding && typeof virtualBinding.getByName === \"function\") {\n    candidates.push({ lane: \"virtual\", url: \"cloudflare-container://visual-witness-virtual\", token: runnerBearer(env, \"virtual\"), transport: \"binding\", binding: virtualBinding, configurationError: null });\n  } else {\n    const rawVirtual = String(env.VISUAL_WITNESS_VIRTUAL_RUNNER_URL || env.VISUAL_WITNESS_BACKUP_RUNNER_URL || env.BROWSER_SMOKE_RUNNER_URL || \"\").trim();\n    if (rawVirtual) {\n      try {\n        candidates.push({ lane: \"virtual\", url: virtualRunnerUrl(env), token: runnerBearer(env, \"virtual\"), transport: \"https\", binding: null, configurationError: null });\n      } catch (error) {\n        candidates.push({ lane: \"virtual\", url: null, token: runnerBearer(env, \"virtual\"), transport: \"https\", binding: null, configurationError: error instanceof Error ? error.message : String(error) });\n      }\n    }\n  }\n  return candidates;\n}\n\nexport function orderDispatchCandidates(candidates = [], preferredLane = \"primary\") {\n  const preferred = [\"primary\", \"virtual\", \"paul\"].includes(String(preferredLane || \"\").trim()) ? String(preferredLane).trim() : \"primary\";\n  const laneOrder = preferred === \"paul\"\n    ? [\"paul\", \"primary\", \"virtual\"]\n    : preferred === \"virtual\"\n      ? [\"virtual\", \"primary\", \"paul\"]\n      : [\"primary\", \"virtual\", \"paul\"];\n  return [...candidates].sort((left, right) => {\n    const rank = (candidate) => {\n      const index = laneOrder.indexOf(String(candidate?.lane || \"\"));\n      return index >= 0 ? index : laneOrder.length + 1;\n    };\n    return rank(left) - rank(right);\n  });\n}\n\nexport function defaultPreferredRunnerLane(candidates = []) {\n  const paul = candidates.find((candidate) => candidate?.lane === \"paul\");\n  return paul && paul.url && paul.token && !paul.configurationError ? \"paul\" : \"primary\";\n}\n\nexport function runnerWakeTimeoutMs(candidate) {\n  if (candidate?.lane === \"paul\") return PAUL_WAKE_TIMEOUT_MS;\n  if (candidate?.lane === \"virtual\") return VIRTUAL_WAKE_TIMEOUT_MS;\n  return PRIMARY_WAKE_TIMEOUT_MS;\n}\n\nexport function runnerAuthority(receipt, candidate) {\n  const failures = [];\n  const expectedLane = candidate?.lane === \"paul\"\n    ? EXPECTED_PAUL_LANE\n    : candidate?.lane === \"virtual\"\n      ? EXPECTED_VIRTUAL_LANE\n      : EXPECTED_PRIMARY_LANE;\n  if (receipt?.service !== EXPECTED_RUNNER_SERVICE) failures.push(\"service\");\n  // Source SHA on the surrounding Worker is not enough for a Container-backed\n  // lane. Require a marker emitted by the universal-witness image itself so a\n  // warm stale container cannot masquerade as the new release generation.\n  if (receipt?.runtimeContract !== EXPECTED_RUNNER_RUNTIME_CONTRACT) failures.push(\"runtime_contract\");\n  if (receipt?.canonicalLane !== expectedLane) failures.push(\"canonical_lane\");\n  if (receipt?.authenticatedProfile !== true) failures.push(\"authenticated_profile\");\n  if (receipt?.godModeAuthorityRequired !== true) failures.push(\"godmode_authority\");\n  if (receipt?.supabaseProjectAligned !== true) failures.push(\"supabase_alignment\");\n  if (receipt?.brokerStartupStatus !== \"authority_proven\" || receipt?.brokerStartupErrorCode) failures.push(\"broker_authority\");\n  if (receipt?.configured?.runnerBearer !== true) failures.push(\"runner_bearer\");\n  if (receipt?.configured?.supabase !== true) failures.push(\"supabase_configuration\");\n  if (candidate?.lane === \"paul\") {\n    const hybrid = receipt?.paulHybrid;\n    if (hybrid?.fresh !== true) failures.push(\"paul_sentinel_freshness\");\n    if (hybrid?.sentinelReady !== true) failures.push(\"paul_sentinel\");\n    if (hybrid?.arbitrationPolicy !== \"witness_first\") failures.push(\"paul_arbitration_policy\");\n    if (hybrid?.autonomousRepairAuthority !== false) failures.push(\"paul_repair_authority\");\n  }\n  return { ok: failures.length === 0, failures };\n}\n\nasync function runnerFetch(env, candidate, path, init = {}) {\n  if (candidate?.transport === \"binding\") {\n    if (!candidate.binding || typeof candidate.binding.getByName !== \"function\") throw new Error(\"virtual_runner_binding_unavailable\");\n    const instance = candidate.binding.getByName(\"universal-witness\");\n    return instance.fetch(new Request(new URL(path, \"https://visual-witness-virtual.internal\"), init));\n  }\n  if (!candidate?.url) throw new Error(`${candidate?.lane || \"runner\"}_runner_url_missing`);\n  return fetch(`${candidate.url}${path}`, init);\n}\n\nasync function recoverRunner(env, candidate, reason, { synthetic = false } = {}) {\n  const now = Date.now();\n  const previous = runnerRecoveryState.get(candidate.lane) || null;\n  const previousAt = Number(previous?.attemptedAtMs || 0);\n  if (!synthetic && previousAt && now - previousAt < RUNNER_RECOVERY_COOLDOWN_MS) {\n    return { ok: false, status: \"cooldown\", lane: candidate.lane, cooldownMs: RUNNER_RECOVERY_COOLDOWN_MS, lastRecoveryResult: previous };\n  }\n  const recoveryPath = candidate.lane === \"virtual\" && candidate.transport === \"binding\" ? \"/__self-heal\" : \"/self-heal\";\n  const attempted = { ok: false, status: \"running\", lane: candidate.lane, reason, synthetic, attemptedAtMs: now, attemptedAt: new Date(now).toISOString() };\n  runnerRecoveryState.set(candidate.lane, attempted);\n  try {\n    const response = await runnerFetch(env, candidate, recoveryPath, {\n      method: \"POST\",\n      headers: { authorization: `Bearer ${candidate.token}`, \"content-type\": \"application/json\", \"cache-control\": \"no-store\" },\n      body: JSON.stringify({ reason, synthetic }),\n      signal: AbortSignal.timeout(RUNNER_RECOVERY_REQUEST_TIMEOUT_MS),\n    });\n    const receipt = await readJson(response);\n    const result = { ...attempted, ...receipt, ok: response.ok && receipt?.ok === true && receipt?.selfHealingReady !== false, httpStatus: response.status, completedAt: new Date().toISOString() };\n    runnerRecoveryState.set(candidate.lane, result);\n    return result;\n  } catch (error) {\n    const result = { ...attempted, ok: false, status: \"failed\", error: error instanceof Error ? error.message : String(error), completedAt: new Date().toISOString() };\n    runnerRecoveryState.set(candidate.lane, result);\n    return result;\n  }\n}\n\nfunction normalizeVisualWitnessHttpsOrigin(value) {\n  try {\n    const target = new URL(String(value || \"\").trim());\n    const hostname = target.hostname.toLowerCase().replace(/\\.$/, \"\");\n    if (target.protocol !== \"https:\" || target.username || target.password || target.port) return null;\n    if (!hostname || hostname === \"localhost\" || hostname.endsWith(\".localhost\") || hostname.endsWith(\".local\") || hostname.endsWith(\".internal\")) return null;\n    if (/^\\d{1,3}(?:\\.\\d{1,3}){3}$/.test(hostname) || hostname.includes(\":\")) return null;\n    return target.origin;\n  } catch {\n    return null;\n  }\n}\n\nfunction decodeForgejoUtf8(content) {\n  const binary = atob(String(content || \"\").replace(/\\s+/g, \"\"));\n  const bytes = Uint8Array.from(binary, (character) => character.charCodeAt(0));\n  return new TextDecoder().decode(bytes);\n}\n\nexport function visualWitnessOriginsFromWrangler(content = \"\") {\n  const origins = new Set();\n  const routePattern = /^\\s*pattern\\s*=\\s*[\"']([^\"']+)[\"']\\s*$/gm;\n  for (const match of String(content || \"\").matchAll(routePattern)) {\n    const declared = String(match?.[1] || \"\").trim();\n    if (!declared) continue;\n    const schemeMatch = declared.match(/^([a-z]+):\\/\\//i);\n    const authorityAndPath = schemeMatch ? declared.slice(schemeMatch[0].length) : declared;\n    const slashIndex = authorityAndPath.indexOf(\"/\");\n    const hostPattern = (slashIndex >= 0 ? authorityAndPath.slice(0, slashIndex) : authorityAndPath).trim();\n    if (!hostPattern || hostPattern.includes(\"*\")) continue;\n    const candidate = schemeMatch ? `${schemeMatch[1]}://${hostPattern}` : `https://${hostPattern}`;\n    const normalized = normalizeVisualWitnessHttpsOrigin(candidate);\n    if (normalized) origins.add(normalized);\n  }\n  return origins;\n}\n\nasync function registeredVisualWitnessOrigins(env) {\n  const token = String(env.FGJ_CONTROL_TOKEN || \"\").trim();\n  if (!token) throw new Error(\"visual_domain_registry_auth_unavailable\");\n  const response = await fetch(`https://git.knocklaunch.app/api/v1/repos/${DEFAULT_REPOSITORY}/contents/wrangler.toml?ref=main`, {\n    headers: { Authorization: `token ${token}`, Accept: \"application/json\", \"User-Agent\": \"knocklaunch-command-center\" },\n    signal: AbortSignal.timeout(2500),\n  });\n  if (!response.ok) throw new Error(`visual_domain_registry_read_failed:${response.status}`);\n  const payload = await response.json().catch(() => ({}));\n  return visualWitnessOriginsFromWrangler(decodeForgejoUtf8(payload?.content || \"\"));\n}\n\nasync function authorizedOriginsForInput(env, input) {\n  const defaultOrigin = new URL(DEFAULT_ORIGIN).origin;\n  const rawRoutes = Array.isArray(input.routes) && input.routes.length\n    ? input.routes\n    : [input.route || input.path || input.url || \"/\"];\n  const externalOrigins = new Set();\n  for (const raw of rawRoutes) {\n    const target = new URL(String(raw || \"/\"), DEFAULT_ORIGIN);\n    const normalized = normalizeVisualWitnessHttpsOrigin(target.origin);\n    if (!normalized) throw new Error(\"visual_witness_route_must_be_safe_https\");\n    if (normalized !== defaultOrigin) externalOrigins.add(normalized);\n  }\n  if (!externalOrigins.size) return [];\n  const registered = await registeredVisualWitnessOrigins(env);\n  for (const origin of externalOrigins) {\n    if (!registered.has(origin)) throw new Error(`visual_origin_not_registered:${origin}`);\n  }\n  return [...externalOrigins];\n}\n\nfunction route(input) {\n  const origin = new URL(String(input.origin || DEFAULT_ORIGIN).replace(/\\/+$/g, \"\"));\n  const target = new URL(String(input.route || input.path || input.url || \"/\"), origin);\n  const targetOrigin = normalizeVisualWitnessHttpsOrigin(target.origin);\n  if (!targetOrigin) throw new Error(\"visual_witness_route_must_be_safe_https\");\n  const allowedOrigins = new Set([new URL(DEFAULT_ORIGIN).origin]);\n  for (const value of Array.isArray(input.authorizedOrigins) ? input.authorizedOrigins : []) {\n    const normalized = normalizeVisualWitnessHttpsOrigin(value);\n    if (!normalized) throw new Error(\"visual_witness_authorized_origin_invalid\");\n    allowedOrigins.add(normalized);\n  }\n  if (!allowedOrigins.has(targetOrigin)) throw new Error(`visual_witness_cross_origin_route_blocked:${targetOrigin}`);\n  target.hash = \"\";\n  return targetOrigin === new URL(DEFAULT_ORIGIN).origin\n    ? `${target.pathname}${target.search}`\n    : `${targetOrigin}${target.pathname}${target.search}`;\n}\n\nfunction tenantRef(input) {\n  return String(input.tenantRef || input.tenant_ref || input.tenantId || input.tenant_id || input.tenant || \"\").trim();\n}\n\nfunction userRef(input) {\n  return String(input.userRef || input.user_ref || input.userId || input.user_id || input.user || \"\").trim();\n}\n\nfunction roleRef(input) {\n  return String(input.roleRef || input.role_ref || input.experienceRole || input.experience_role || input.role || \"\").trim();\n}\n\nconst VERIFICATION_TIERS = new Set([\"auto\", \"quick\", \"standard\", \"full\"]);\nconst INTERACTION_INTENT = /\\b(click|tap|press|submit|save|edit|create|delete|drag|drop|type|enter|select|toggle|check|uncheck|upload|download)\\b/i;\nconst VISUAL_EVIDENCE_INTENT = /\\b(visual|appearance|layout|alignment|spacing|typography|font|color|colour|responsive|breakpoint|viewport|mobile|desktop|screenshot|pixel|design|style|look|image|photo)\\b/i;\n\nexport function visualInteractionRequested(contextInput = {}) {\n  const mode = String(contextInput?.mode || '').trim().toLowerCase();\n  const targetedActions = Array.isArray(contextInput?.targetedActions) ? contextInput.targetedActions : [];\n  if (targetedActions.length > 0) return true;\n  if (mode === 'observe') return false;\n  if (mode === 'interactive_audit') return true;\n  return INTERACTION_INTENT.test(String(contextInput?.objective || contextInput?.mission || ''));\n}\nconst TARGETED_OBJECTIVE_MARKER = /\\[(click-link|wait-text):([^\\]]+)\\]/gi;\n\nfunction targetedActionsFromObjective(objective) {\n  const actions = [];\n  for (const match of String(objective || '').matchAll(TARGETED_OBJECTIVE_MARKER)) {\n    const marker = String(match[1] || '').trim().toLowerCase();\n    const value = String(match[2] || '').trim();\n    if (!value) continue;\n    const index = actions.length + 1;\n    if (marker === 'click-link') {\n      actions.push({\n        id: `objective-click-link-${index}`,\n        type: 'click',\n        role: 'link',\n        name: value,\n        exact: true,\n        waitMs: 500,\n        required: true,\n      });\n      continue;\n    }\n    if (marker === 'wait-text') {\n      actions.push({\n        id: `objective-wait-text-${index}`,\n        type: 'wait_for_text',\n        text: value,\n        exact: true,\n        waitMs: 15_000,\n        required: true,\n      });\n    }\n  }\n  return actions.slice(0, 50);\n}\n\nfunction verificationPlan(input, exactRoute) {\n  const rawRequested = String(input.verificationTier || input.verification_tier || \"auto\").trim().toLowerCase();\n  const requested = VERIFICATION_TIERS.has(rawRequested) ? rawRequested : \"auto\";\n  const objective = String(input.objective || input.mission || `Interactively experience ${exactRoute} as a real user`).slice(0, 1200);\n  const explicitVisualEvidence = input.visualEvidenceRequired ?? input.visual_evidence_required ?? input.requireVisualEvidence ?? input.require_visual_evidence;\n  const visualEvidenceRequired = explicitVisualEvidence === true\n    || (explicitVisualEvidence !== false && VISUAL_EVIDENCE_INTENT.test(objective));\n  const explicitScope = String(input.scope || \"\").trim();\n  const explicitMode = String(input.mode || \"\").trim();\n  const routeCount = Array.isArray(input.routes) && input.routes.length ? input.routes.length : 1;\n  const explicitViewports = Array.isArray(input.viewports)\n    ? [...new Set(input.viewports.filter((value) => [\"desktop\", \"mobile\"].includes(value)))]\n    : [];\n  const mobileSpecific = /\\b(mobile|phone|small screen|touch target)\\b/i.test(objective) && !/\\bdesktop\\b/i.test(objective);\n  const responsiveRisk = /\\b(responsive|breakpoint|cross-device|desktop\\s*(?:and|&)\\s*mobile|tablet)\\b/i.test(objective)\n    || explicitViewports.length > 1;\n  const fullRisk = explicitScope === \"all_authorized_routes\"\n    || (explicitScope === \"linked_routes\" && routeCount > 1)\n    || explicitMode === \"authorized_operation\"\n    || /\\b(full|comprehensive|exhaustive|regression|final acceptance|release acceptance|all controls|all routes|authentication|authorization|role projection|tenant switching|routing|publishing|production data|migration|architecture)\\b/i.test(objective);\n  const effective = requested !== \"auto\"\n    ? requested\n    : fullRisk\n      ? \"full\"\n      : responsiveRisk\n        ? \"standard\"\n        : \"quick\";\n  const reason = requested !== \"auto\"\n    ? \"explicit_request\"\n    : fullRisk\n      ? \"high_risk_scope\"\n      : responsiveRisk\n        ? \"responsive_or_multi_viewport\"\n        : \"narrow_single_behavior\";\n  const viewports = explicitViewports.length\n    ? explicitViewports\n    : effective === \"quick\"\n      ? [mobileSpecific ? \"mobile\" : \"desktop\"]\n      : [\"desktop\", \"mobile\"];\n  return {\n    objective,\n    requested,\n    effective,\n    reason,\n    visualEvidenceRequired,\n    viewports,\n    scope: explicitScope || (effective === \"full\" ? \"linked_routes\" : \"single_route\"),\n    maxActions: effective === \"quick\" ? 20 : effective === \"standard\" ? 60 : 120,\n    maxRoutes: effective === \"full\" ? Math.max(routeCount, 12) : 1,\n  };\n}\n\nexport function missionPayload(input) {\n  const requestedRoutes = Array.isArray(input.routes)\n    ? input.routes.map((value) => route({ ...input, route: value }))\n    : [];\n  const exactRoute = requestedRoutes[0] || route(input);\n  const verification = verificationPlan(input, exactRoute);\n  const exactTenantRef = tenantRef(input);\n  const exactUserRef = userRef(input);\n  const exactRoleRef = roleRef(input);\n  const suppliedTargetedActions = Array.isArray(input.targetedActions || input.targeted_actions)\n    ? (input.targetedActions || input.targeted_actions).slice(0, 50)\n    : [];\n  const inferredTargetedActions = suppliedTargetedActions.length\n    ? []\n    : targetedActionsFromObjective(verification.objective);\n  const targetedActions = suppliedTargetedActions.length\n    ? suppliedTargetedActions\n    : inferredTargetedActions.length\n      ? inferredTargetedActions\n      : undefined;\n  const defaultMode = targetedActions?.length || INTERACTION_INTENT.test(verification.objective)\n    ? \"interactive_audit\"\n    : \"observe\";\n  const payload = {\n    objective: verification.objective,\n    route: exactRoute,\n    verificationTier: verification.requested,\n    effectiveVerificationTier: verification.effective,\n    verificationReason: verification.reason,\n    visualEvidenceRequired: verification.visualEvidenceRequired,\n    missionProfile: input.missionProfile || input.mission_profile || (/^\\/admin\\/experience-studio(?:\\?|$)/.test(exactRoute)\n      ? `experience-editor-${verification.effective}`\n      : \"route-smoke\"),\n    ...(requestedRoutes.length ? { routes: requestedRoutes } : {}),\n    // Tenant-scoped audits model a real active owner by default. The runner may\n    // fall back explicitly to GodMode only when no eligible owner exists.\n    tenantOwnerPreflight: Boolean(exactTenantRef && !exactUserRef && !exactRoleRef && !exactRoute.startsWith('/admin/'))\n      ? input.tenantOwnerPreflight !== false\n      : input.tenantOwnerPreflight === true,\n    tenantRef: exactTenantRef || undefined,\n    userRef: exactUserRef || undefined,\n    roleRef: exactRoleRef || undefined,\n    profileRef: String(input.profileRef || input.profile_ref || input.profile || DEFAULT_PROFILE).trim() || DEFAULT_PROFILE,\n    scope: verification.scope,\n    mode: input.mode || defaultMode,\n    viewports: verification.viewports,\n    expectedText: input.expectedText || input.expectText || input.expect_text || undefined,\n    expectedPath: input.expectedPath || input.expectPath || input.expect_path || undefined,\n    authorizedOrigins: Array.isArray(input.authorizedOrigins) && input.authorizedOrigins.length ? [...new Set(input.authorizedOrigins)] : undefined,\n    maxActions: input.maxActions || input.max_actions || verification.maxActions,\n    maxRoutes: input.maxRoutes || input.max_routes || verification.maxRoutes,\n    // Verification tier controls audit depth, not infrastructure-recovery count.\n    // The runner owns a bounded Chromium -> Firefox -> WebKit ladder, so preserve\n    // all three supervised recovery domains unless the caller explicitly overrides it.\n    maxAttempts: input.maxAttempts || input.max_attempts || 3,\n    authorizedMutations: input.authorizedMutations === true || input.authorized_mutations === true,\n    targetedActions,\n    syntheticData: input.syntheticData || input.synthetic_data || undefined,\n    requiredRunnerLane: [\"primary\", \"virtual\", \"paul\"].includes(String(input.requiredRunnerLane || input.required_runner_lane || \"\").trim().toLowerCase())\n      ? String(input.requiredRunnerLane || input.required_runner_lane).trim().toLowerCase()\n      : undefined,\n  };\n  return Object.fromEntries(Object.entries(payload).filter(([, value]) => value !== undefined && value !== \"\"));\n}\n\nasync function readJson(response) {\n  const text = await response.text();\n  if (!text) return {};\n  try {\n    return JSON.parse(text);\n  } catch {\n    return {\n      ok: false,\n      status: \"failed\",\n      error: \"onrunner_invalid_json\",\n      raw: text.slice(0, 500),\n    };\n  }\n}\n\nconst RUNNER_JOB_READ_MAX_ATTEMPTS = 3;\nconst RUNNER_JOB_READ_RETRY_BASE_MS = 300;\n\nfunction transientRunnerJobResponse(response, receipt) {\n  return response.status === 429\n    || response.status >= 500\n    || receipt?.error === \"onrunner_invalid_json\";\n}\n\nasync function requestRunnerJob(env, jobId, { cancel = false } = {}) {\n  const encodedJobId = encodeURIComponent(jobId);\n  const suffix = cancel ? \"/cancel\" : \"\";\n  const method = cancel ? \"POST\" : \"GET\";\n  const infrastructureFailures = [];\n  let lastNotFound = null;\n\n  for (const candidate of runnerCandidates(env)) {\n    if (candidate.configurationError || !candidate.url || !candidate.token) {\n      infrastructureFailures.push({ lane: candidate.lane, cause: candidate.configurationError || \"runner_bearer_missing_for_lane\" });\n      continue;\n    }\n    const baseHeaders = {\n      authorization: `Bearer ${candidate.token}`,\n      \"cache-control\": \"no-cache\",\n      ...(cancel ? { \"content-type\": \"application/json\" } : {}),\n    };\n    let candidateUnavailable = false;\n    for (const jobKind of [\"supervisor\", \"attempt\"]) {\n      const collection = jobKind === \"supervisor\" ? \"supervised-missions\" : \"missions\";\n      for (let attempt = 1; attempt <= RUNNER_JOB_READ_MAX_ATTEMPTS; attempt += 1) {\n        let response;\n        let receipt;\n        try {\n          response = await runnerFetch(env, candidate, `/${collection}/${encodedJobId}${suffix}`, {\n            method,\n            headers: baseHeaders,\n            ...(cancel ? { body: \"{}\" } : {}),\n            signal: AbortSignal.timeout(20000),\n          });\n          receipt = await readJson(response);\n        } catch (error) {\n          response = new Response(\"\", { status: 503 });\n          receipt = { ok: false, status: \"failed\", error: \"onrunner_transport_error\", failureReason: error instanceof Error ? error.message : String(error) };\n        }\n        const current = { response, receipt, jobKind, hostedUrl: candidate.url, runnerLane: candidate.lane, transportAttempts: attempt };\n        if (response.status === 404) {\n          lastNotFound = current;\n          break;\n        }\n        const transient = transientRunnerJobResponse(response, receipt) || receipt?.error === \"onrunner_transport_error\";\n        if (transient && attempt < RUNNER_JOB_READ_MAX_ATTEMPTS) {\n          await new Promise((resolve) => setTimeout(resolve, RUNNER_JOB_READ_RETRY_BASE_MS * attempt));\n          continue;\n        }\n        if (transient) {\n          infrastructureFailures.push({ lane: candidate.lane, httpStatus: response.status, cause: receipt?.error || receipt?.failureReason || null, attemptsUsed: attempt });\n          candidateUnavailable = true;\n          break;\n        }\n        return current;\n      }\n      if (candidateUnavailable) break;\n    }\n  }\n\n  if (infrastructureFailures.length) {\n    return {\n      response: new Response(\"\", { status: 503 }),\n      receipt: { ok: false, status: \"failed\", error: \"visual_witness_infrastructure_transport_exhausted\", witnessInfrastructureFailure: true, candidateFailures: infrastructureFailures },\n      jobKind: lastNotFound?.jobKind || \"supervisor\",\n      hostedUrl: lastNotFound?.hostedUrl || null,\n      runnerLane: lastNotFound?.runnerLane || null,\n      transportAttempts: RUNNER_JOB_READ_MAX_ATTEMPTS,\n    };\n  }\n  if (lastNotFound) return lastNotFound;\n  throw new Error(\"visual_witness_job_resolution_failed\");\n}\n\nexport async function wake(env, candidate, timeoutMs) {\n  if (candidate.configurationError) throw new Error(candidate.configurationError);\n  if (!candidate.url) throw new Error(`${candidate.lane}_runner_url_missing`);\n  if (!candidate.token) throw new Error(`${candidate.lane}_runner_bearer_missing`);\n  const started = Date.now();\n  let last = null;\n  let attempts = 0;\n  while (Date.now() - started < timeoutMs) {\n    attempts += 1;\n    const remainingMs = Math.max(1000, timeoutMs - (Date.now() - started));\n    try {\n      const response = await runnerFetch(env, candidate, `/health?wake=${Date.now()}`, {\n        headers: { \"cache-control\": \"no-cache\" },\n        signal: AbortSignal.timeout(runnerHealthRequestTimeoutMs(candidate, remainingMs)),\n      });\n      const receipt = await readJson(response);\n      const authority = runnerAuthority(receipt, candidate);\n      last = { httpStatus: response.status, authorityFailures: authority.failures, ...receipt };\n      if (response.ok && receipt?.ok === true && authority.ok) return { receipt: last, attempts };\n    } catch (error) {\n      last = { ok: false, error: error instanceof Error ? error.message : String(error) };\n    }\n    const remainingAfterAttempt = timeoutMs - (Date.now() - started);\n    if (remainingAfterAttempt > RUNNER_WAKE_POLL_MS) await new Promise((resolve) => setTimeout(resolve, RUNNER_WAKE_POLL_MS));\n  }\n  const failureReason = last?.error || last?.authorityFailures?.join(\",\") || last?.service || last?.httpStatus || \"unknown\";\n  const recovery = await recoverRunner(env, candidate, `health_probe_failed:${failureReason}`);\n  if (recovery?.ok) {\n    try {\n      const response = await runnerFetch(env, candidate, `/health?wake=${Date.now()}&after_self_heal=1`, {\n        headers: { \"cache-control\": \"no-cache\" },\n        signal: AbortSignal.timeout(runnerHealthRequestTimeoutMs(candidate, RUNNER_RECOVERY_REQUEST_TIMEOUT_MS)),\n      });\n      const receipt = await readJson(response);\n      const authority = runnerAuthority(receipt, candidate);\n      const healed = { httpStatus: response.status, authorityFailures: authority.failures, ...receipt };\n      if (response.ok && receipt?.ok === true && authority.ok) return { receipt: healed, attempts: attempts + 1, recovery };\n    } catch {}\n  }\n  const error = new Error(`universal_runner_not_ready:${candidate.lane}:${failureReason}`);\n  error.runnerLane = candidate.lane;\n  error.runnerUrl = candidate.url;\n  error.attempts = attempts;\n  error.recovery = recovery;\n  throw error;\n}\n\nexport function runnerCapacitySnapshot(receipt = {}) {\n  const activeRaw = receipt?.activeJobs ?? receipt?.activeCount ?? (Array.isArray(receipt?.activeJobIds) ? receipt.activeJobIds.length : 0);\n  const activeJobs = Math.max(0, Number.isFinite(Number(activeRaw)) ? Number(activeRaw) : 0);\n  const limitRaw = receipt?.concurrencyLimit;\n  const concurrencyLimit = Math.max(1, Number.isFinite(Number(limitRaw)) ? Number(limitRaw) : 1);\n  const queueRaw = receipt?.queueDepth;\n  const queueDepth = Math.max(0, Number.isFinite(Number(queueRaw)) ? Number(queueRaw) : 0);\n  return { activeJobs, concurrencyLimit, queueDepth, capacityAvailable: Math.max(0, concurrencyLimit - activeJobs) };\n}\n\nexport function chooseReadyRunnerByCapacity(observations = [], preferredLane = \"primary\") {\n  const ready = observations.filter((item) => item?.runner && item?.authorityVerified !== false && item?.ok !== false);\n  if (!ready.length) return null;\n  const preferred = [\"primary\", \"virtual\", \"paul\"].includes(String(preferredLane || \"\").trim()) ? String(preferredLane).trim() : \"primary\";\n  return [...ready].sort((left, right) => {\n    const a = left.capacity || runnerCapacitySnapshot(left.runner);\n    const b = right.capacity || runnerCapacitySnapshot(right.runner);\n    if (b.capacityAvailable !== a.capacityAvailable) return b.capacityAvailable - a.capacityAvailable;\n    if (a.queueDepth !== b.queueDepth) return a.queueDepth - b.queueDepth;\n    const aLoad = a.activeJobs / a.concurrencyLimit;\n    const bLoad = b.activeJobs / b.concurrencyLimit;\n    if (aLoad !== bLoad) return aLoad - bLoad;\n    if (left.lane === preferred && right.lane !== preferred) return -1;\n    if (right.lane === preferred && left.lane !== preferred) return 1;\n    if (left.lane === \"primary\" && right.lane !== \"primary\") return -1;\n    if (right.lane === \"primary\" && left.lane !== \"primary\") return 1;\n    return 0;\n  })[0];\n}\n\nasync function selectReadyRunner(env, { excludeLanes = [], preferredLane = null, requiredLane = null } = {}) {\n  const failures = [];\n  const saturated = [];\n  const candidates = runnerCandidates(env);\n  const explicitPreferred = [\"primary\", \"virtual\", \"paul\"].includes(String(preferredLane || \"\").trim()) ? String(preferredLane).trim() : null;\n  const effectivePreferredLane = requiredLane || explicitPreferred || defaultPreferredRunnerLane(candidates);\n  for (const candidate of orderDispatchCandidates(candidates, effectivePreferredLane)) {\n    if (excludeLanes.includes(candidate.lane)) continue;\n    if (requiredLane && candidate.lane !== requiredLane) continue;\n    try {\n      const ready = await wake(env, candidate, runnerWakeTimeoutMs(candidate));\n      const capacity = runnerCapacitySnapshot(ready.receipt);\n      const failoverUsed = candidate.lane !== effectivePreferredLane;\n      const preferredSaturated = saturated.some((entry) => entry.lane === effectivePreferredLane);\n      const preferredUnavailable = failures.some((failure) => failure.lane === effectivePreferredLane);\n      const selection = {\n        ...candidate,\n        hostedUrl: candidate.url,\n        runner: ready.receipt,\n        attempts: ready.attempts,\n        failoverUsed,\n        capacityBalanced: failoverUsed && preferredSaturated,\n        authorityVerified: true,\n        priorRunnerFailures: failures,\n        capacity,\n        preferredRunnerLane: effectivePreferredLane,\n        dispatchPolicy: requiredLane\n          ? \"explicit_lane_pin\"\n          : effectivePreferredLane === \"paul\"\n            ? \"paul_first_capacity_failover\"\n            : \"primary_first_capacity_failover\",\n        renderColdStartCostMs: 60000,\n        selectionReason: requiredLane && capacity.capacityAvailable > 0\n          ? \"explicit_lane_requested\"\n          : candidate.lane === effectivePreferredLane && capacity.capacityAvailable > 0\n            ? \"preferred_lane_available\"\n            : preferredSaturated && capacity.capacityAvailable > 0\n              ? \"preferred_lane_saturated_capacity_fallback\"\n              : preferredUnavailable && capacity.capacityAvailable > 0\n                ? \"preferred_lane_unavailable_fallback\"\n                : capacity.capacityAvailable > 0\n                  ? \"available_capacity\"\n                  : \"healthy_lane_saturated\",\n      };\n      if (capacity.capacityAvailable > 0) return selection;\n      saturated.push(selection);\n    } catch (error) {\n      failures.push({ lane: candidate.lane, url: candidate.url || null, failureReason: error instanceof Error ? error.message : String(error), attempts: Number(error?.attempts || 0) || null });\n    }\n  }\n  if (saturated.length) {\n    const selected = chooseReadyRunnerByCapacity(saturated, effectivePreferredLane) || saturated[0];\n    return { ...selected, selectionReason: \"all_healthy_lanes_saturated\" };\n  }\n  const error = new Error(`universal_runner_not_ready_all:${failures.map((failure) => `${failure.lane}:${failure.failureReason}`).join(\"|\") || \"no_configured_runner\"}`);\n  error.runnerFailures = failures;\n  throw error;\n}\n\nexport function normalizeVisualReceipt(input, receipt, phase) {\n  const supervised = receipt?.kind === \"mission_supervisor\";\n  const terminalReceipt = supervised ? receipt?.result?.terminalReceipt || null : receipt;\n  const activeReceipt = supervised ? receipt?.activeReceipt || null : null;\n  const evidenceReceipt = terminalReceipt || activeReceipt || receipt;\n  const missionContext = receipt?.mission || terminalReceipt?.mission || activeReceipt?.mission || evidenceReceipt?.mission || {};\n  const contextInput = { ...missionContext, ...input };\n  const explicitRequestedRoute = String(input?.route || input?.routePath || input?.route_path || input?.path || input?.url || \"\").trim();\n  const missionRoute = (mission) => {\n    const direct = String(mission?.route || mission?.routePath || mission?.route_path || mission?.path || mission?.url || \"\").trim();\n    if (direct) return direct;\n    const firstRoute = Array.isArray(mission?.routes) ? mission.routes.find(Boolean) : null;\n    if (typeof firstRoute === \"string\") return firstRoute.trim();\n    return String(firstRoute?.path || firstRoute?.route || firstRoute?.url || \"\").trim();\n  };\n  const persistedRequestedRoute = [\n    receipt?.mission,\n    terminalReceipt?.mission,\n    activeReceipt?.mission,\n    evidenceReceipt?.mission,\n  ].map(missionRoute).find(Boolean) || \"\";\n  const requestedRoute = explicitRequestedRoute ? route({ ...contextInput, route: explicitRequestedRoute }) : persistedRequestedRoute || route(contextInput);\n  const result = terminalReceipt?.result || activeReceipt?.result || receipt?.result || null;\n  const receiptStatus = String(receipt?.status || \"\").toLowerCase();\n  const retrying = supervised && receiptStatus === \"retrying\";\n  const pending = supervised ? [\"queued\", \"running\", \"retrying\"].includes(receiptStatus) : [\"queued\", \"running\"].includes(receiptStatus);\n  const completed = supervised ? receiptStatus === \"completed\" && receipt?.result?.ok === true : receiptStatus === \"completed\" && result?.ok === true;\n  const cancelled = receipt?.status === \"cancelled\";\n  const missionExecutionVerified = result?.missionExecutionVerified === true;\n  const objectiveAcceptanceVerified = result?.objectiveAcceptanceVerified === true;\n  const interactionRequested = visualInteractionRequested(contextInput);\n  const controlsInteracted = Number(result?.coverage?.controlsInteracted || 0);\n  const interactionVerified = !interactionRequested || controlsInteracted > 0;\n  const completedWithFindings = completed && missionExecutionVerified && objectiveAcceptanceVerified && interactionVerified && result?.visualAcceptance === false;\n  const completedVerified = completed && missionExecutionVerified && objectiveAcceptanceVerified && interactionVerified && result?.visualAcceptance === true;\n  const completedUnverified = completed && !completedVerified && !completedWithFindings;\n  const rawArtifacts = Array.isArray(evidenceReceipt?.artifact_receipts) ? evidenceReceipt.artifact_receipts : [];\n  const artifactKeys = new Set();\n  const artifacts = rawArtifacts.filter((artifact, index) => {\n    const key = artifact?.path\n      || [artifact?.sha256, artifact?.viewport, artifact?.phase, artifact?.route].filter(Boolean).join(\":\")\n      || `artifact-${index}`;\n    if (artifactKeys.has(key)) return false;\n    artifactKeys.add(key);\n    return true;\n  });\n  const routeResults = Array.isArray(evidenceReceipt?.route_results) ? evidenceReceipt.route_results : [];\n  const observedRoute = (() => {\n    const candidate = routeResults.map((item) => item?.final_url || item?.finalUrl || item?.currentRoute || null).find(Boolean)\n      || evidenceReceipt?.currentRoute\n      || activeReceipt?.currentRoute\n      || null;\n    if (!candidate) return null;\n    try {\n      const resolved = new URL(String(candidate), DEFAULT_ORIGIN);\n      return resolved.origin === new URL(DEFAULT_ORIGIN).origin\n        ? `${resolved.pathname}${resolved.search}`\n        : `${resolved.origin}${resolved.pathname}${resolved.search}`;\n    } catch {\n      return String(candidate);\n    }\n  })();\n  const attemptLineage = supervised && Array.isArray(receipt?.attempts)\n    ? receipt.attempts.slice(0, 3).map((attempt) => {\n        const attemptReceipt = attempt?.receipt && typeof attempt.receipt === \"object\" ? attempt.receipt : {};\n        return {\n          attempt: Number(attempt?.attempt || 0) || null,\n          jobId: attempt?.jobId || attemptReceipt?.jobId || attemptReceipt?.job_id || null,\n          startedAt: attempt?.startedAt || attemptReceipt?.startedAt || attemptReceipt?.started_at || null,\n          completedAt: attempt?.completedAt || attemptReceipt?.completedAt || attemptReceipt?.completed_at || null,\n          category: attempt?.classification?.category || null,\n          failureReason: attempt?.classification?.failureReason || attemptReceipt?.failureReason || attemptReceipt?.failure_reason || null,\n          browserEngine: attemptReceipt?.progress?.browserEngine || attemptReceipt?.mission?.browserEngine || null,\n          browserLaunchReason: attemptReceipt?.progress?.browserLaunchReason || null,\n          checkpointAccounting: attemptReceipt?.checkpointAccounting || attemptReceipt?.checkpoint_accounting || null,\n          retryRecovery: attempt?.retryRecovery || null,\n          runnerVersion: attemptReceipt?.version || null,\n          sourceSha: attemptReceipt?.sourceCommit || null,\n          runtimeLane: attemptReceipt?.runtimeLane || null,\n        };\n      })\n    : [];\n  const restartReplayHistory = supervised && Array.isArray(receipt?.restartReplayHistory) ? receipt.restartReplayHistory.slice(0, 6) : [];\n  const failedResults = Array.isArray(evidenceReceipt?.failed_results) ? evidenceReceipt.failed_results : [];\n  const firstFailure = failedResults[0] || routeResults.find((item) => item?.ok === false) || null;\n  const exactFailureReason = result?.failureReason\n    || firstFailure?.error\n    || firstFailure?.exact_gate\n    || firstFailure?.failureReason\n    || firstFailure?.failure_reason\n    || receipt?.failureReason\n    || receipt?.failure_reason\n    || receipt?.error\n    || null;\n  const startedAt = receipt?.created_at || receipt?.createdAt || activeReceipt?.created_at || activeReceipt?.createdAt || null;\n  const executionStartedAt = terminalReceipt?.started_at || terminalReceipt?.startedAt || activeReceipt?.started_at || activeReceipt?.startedAt || receipt?.started_at || receipt?.startedAt || startedAt;\n  const completedAt = terminalReceipt?.completed_at || terminalReceipt?.completedAt || receipt?.completed_at || receipt?.completedAt || null;\n  const startedMs = startedAt ? Date.parse(startedAt) : NaN;\n  const executionStartedMs = executionStartedAt ? Date.parse(executionStartedAt) : NaN;\n  const completedMs = completedAt ? Date.parse(completedAt) : Date.now();\n  const duration = (from, to) => Number.isFinite(from) && Number.isFinite(to) && to >= from ? Math.round(to - from) : null;\n  return {\n    ok: completedVerified || completedWithFindings || pending || cancelled,\n    status: retrying ? \"retrying\" : pending ? \"pending\" : cancelled ? \"cancelled\" : completedWithFindings ? \"completed_with_findings\" : completedVerified ? \"verified\" : completedUnverified ? \"completed_unverified\" : \"blocked\",\n    phase,\n    proofGate: retrying\n      ? \"universal_visual_witness_retrying\"\n      : cancelled\n        ? \"interactive_visual_witness_cancelled\"\n        : completedUnverified\n        ? (!missionExecutionVerified\n          ? \"visual_witness_mission_execution_unproven\"\n          : !objectiveAcceptanceVerified\n            ? \"visual_witness_objective_acceptance_unproven\"\n            : !interactionVerified\n              ? \"visual_witness_interaction_unproven\"\n              : \"visual_witness_acceptance_unproven\")\n        : result?.proofGate || receipt?.proof_gate || (pending ? \"universal_visual_witness_pending\" : \"universal_visual_witness_failed\"),\n    auditCompleted: completed,\n    missionExecutionVerified,\n    objectiveAcceptanceVerified,\n    projectionVerified: result?.projectionVerified === true,\n    visualAcceptance: result?.visualAcceptance ?? receipt?.visual_acceptance ?? null,\n    requestedRoute,\n    observedRoute,\n    tenant: tenantRef(contextInput) || null,\n    user: userRef(contextInput) || null,\n    role: roleRef(contextInput) || \"GodMode\",\n    profile: String(contextInput.profileRef || contextInput.profile_ref || contextInput.profile || DEFAULT_PROFILE),\n    requestedVerificationTier: evidenceReceipt?.mission?.requestedVerificationTier || evidenceReceipt?.mission?.verificationTier || input.verificationTier || input.verification_tier || \"auto\",\n    effectiveVerificationTier: evidenceReceipt?.mission?.effectiveVerificationTier || result?.effectiveVerificationTier || null,\n    verificationReason: evidenceReceipt?.mission?.verificationReason || result?.verificationReason || null,\n    escalationHistory: result?.escalationHistory || receipt?.escalationHistory || [],\n    escalationReason: result?.escalationReason || receipt?.escalationReason || null,\n    selectedViewports: evidenceReceipt?.mission?.viewports || result?.coverage?.viewportsRequested || null,\n    actionBudget: evidenceReceipt?.mission?.maxActions || null,\n    projection: evidenceReceipt?.projection || result?.projection || null,\n    diagnosticSummary: result?.diagnosticSummary || null,\n    firstBadState: result?.firstBadState || result?.diagnosticSummary?.firstBadState || firstFailure?.diagnostic?.firstBadState || null,\n    coverage: result?.coverage || null,\n    checkpointAccounting: result?.checkpointAccounting || evidenceReceipt?.checkpointAccounting || null,\n    resumedCheckpointIds: evidenceReceipt?.resumedCheckpointIds || [],\n    resumedFromJobId: evidenceReceipt?.resumedFromJobId || null,\n    defectCount: result?.defectCount ?? null,\n    highSeverityDefectCount: result?.highSeverityDefectCount ?? null,\n    desktopProof: artifacts.find((item) => item?.viewport === \"desktop\") || null,\n    mobileProof: artifacts.find((item) => item?.viewport === \"mobile\") || null,\n    artifactReceipts: artifacts,\n    routeResults,\n    failedResults,\n    jobId: supervised ? receipt?.supervisor_id || receipt?.supervisorId || null : receipt?.job_id || receipt?.jobId || null,\n    supervisorId: supervised ? receipt?.supervisor_id || receipt?.supervisorId || null : null,\n    supervised,\n    attemptsUsed: supervised ? receipt?.attemptsUsed ?? receipt?.result?.attemptsUsed ?? null : null,\n    attemptLineage,\n    restartReplayHistory,\n    missionOutcome: supervised ? receipt?.result?.outcome || null : null,\n    jobStatus: receipt?.status || null,\n    jobProgress: receipt?.progress || activeReceipt?.progress || null,\n    terminal: !pending,\n    finalUrls: routeResults.map((item) => item?.final_url || item?.finalUrl).filter(Boolean),\n    redirectChains: routeResults.map((item) => item?.routeTransitionTrace || item?.redirect_chain || item?.redirectChain).filter(Boolean),\n    consoleErrors: routeResults.flatMap((item) => item?.console_errors || item?.consoleErrors || []),\n    failedRequests: routeResults.flatMap((item) => item?.failed_requests || item?.failedRequests || []),\n    runnerVersion: receipt?.version || activeReceipt?.version || terminalReceipt?.version || attemptLineage.at(-1)?.runnerVersion || null,\n    runnerSourceSha: receipt?.sourceCommit || activeReceipt?.sourceCommit || terminalReceipt?.sourceCommit || attemptLineage.at(-1)?.sourceSha || null,\n    runnerRuntimeLane: receipt?.runtimeLane || activeReceipt?.runtimeLane || terminalReceipt?.runtimeLane || attemptLineage.at(-1)?.runtimeLane || null,\n    runnerLane: receipt?.runnerLane || activeReceipt?.runnerLane || null,\n    runnerUrl: receipt?.runnerUrl || activeReceipt?.runnerUrl || null,\n    failoverUsed: receipt?.failoverUsed === true || activeReceipt?.failoverUsed === true,\n    witnessInfrastructureFailure: receipt?.witnessInfrastructureFailure === true || result?.witnessInfrastructureFailure === true || result?.diagnosticSummary?.witnessInfrastructureFailure === true,\n    startedAt,\n    completedAt,\n    timingsMs: {\n      total: duration(startedMs, completedMs),\n      queue: duration(startedMs, executionStartedMs),\n      execution: duration(executionStartedMs, completedMs),\n    },\n    failureReason: cancelled || pending ? null : exactFailureReason,\n    lastAttemptFailureReason: retrying ? exactFailureReason : null,\n    retryable: pending,\n    nextAction: retrying\n      ? \"Automatic recovery is retrying; no owner action is required.\"\n      : pending\n        ? \"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.\"\n        : null,\n  };\n}\n\nasync function health(request, env) {\n  const blocked = deny(request, env);\n  if (blocked) return blocked;\n  let candidates;\n  try {\n    candidates = runnerCandidates(env);\n  } catch (error) {\n    return json({ ok: false, status: \"blocked\", proofGate: \"universal_visual_witness_authority_mismatch\", failureReason: error instanceof Error ? error.message : String(error), canonicalRunnerUrl: CANONICAL_RUNNER_URL, authorityVerified: false, retryable: false }, 503);\n  }\n\n  const routinePreferredRunnerLane = defaultPreferredRunnerLane(candidates);\n  const observations = await Promise.all(candidates.map(async (candidate) => {\n    try {\n      const ready = await wake(env, candidate, runnerWakeTimeoutMs(candidate));\n      return { ok: true, configured: true, lane: candidate.lane, hostedUrl: candidate.url, authorityVerified: true, attempts: ready.attempts, recovery: ready.recovery || null, runner: ready.receipt, capacity: runnerCapacitySnapshot(ready.receipt) };\n    } catch (error) {\n      return { ok: false, configured: Boolean(candidate.url || candidate.configurationError), lane: candidate.lane, hostedUrl: candidate.url || null, authorityVerified: false, failureReason: error instanceof Error ? error.message : String(error), attempts: Number(error?.attempts || 0) || null, recovery: error?.recovery || runnerRecoveryState.get(candidate.lane) || null };\n    }\n  }));\n  const primary = observations.find((item) => item.lane === \"primary\") || null;\n  const virtual = observations.find((item) => item.lane === \"virtual\") || { ok: false, configured: false, lane: \"virtual\", hostedUrl: null, authorityVerified: false, failureReason: \"virtual_runner_not_configured\", attempts: 0 };\n  const paul = observations.find((item) => item.lane === \"paul\") || { ok: false, configured: false, lane: \"paul\", hostedUrl: null, authorityVerified: false, failureReason: \"paul_runner_not_configured\", attempts: 0 };\n  const selected = chooseReadyRunnerByCapacity(observations, routinePreferredRunnerLane);\n\n  let automaticFailoverProof = { ok: false, selectedRunnerLane: null, failoverUsed: false, failureReason: \"dual_runner_health_required\" };\n  if (primary?.ok && virtual?.ok) {\n    try {\n      const failoverSelection = await selectReadyRunner(env, { excludeLanes: [\"primary\", \"paul\"], preferredLane: \"primary\" });\n      automaticFailoverProof = {\n        ok: failoverSelection.lane === \"virtual\" && failoverSelection.failoverUsed === true,\n        selectedRunnerLane: failoverSelection.lane,\n        failoverUsed: failoverSelection.failoverUsed === true,\n        attempts: failoverSelection.attempts,\n        failureReason: null,\n      };\n    } catch (error) {\n      automaticFailoverProof = { ok: false, selectedRunnerLane: null, failoverUsed: false, failureReason: error instanceof Error ? error.message : String(error) };\n    }\n  }\n\n  const baselineFallback = chooseReadyRunnerByCapacity(observations.filter((item) => item.lane !== \"paul\"), \"primary\");\n  const paulFallbackProof = paul?.ok\n    ? {\n        ok: Boolean(baselineFallback),\n        selectedRunnerLane: baselineFallback?.lane || null,\n        failureReason: baselineFallback ? null : \"baseline_fallback_unavailable\",\n      }\n    : {\n        ok: Boolean(primary?.ok || virtual?.ok),\n        selectedRunnerLane: primary?.ok ? \"primary\" : virtual?.ok ? \"virtual\" : null,\n        failureReason: paul?.configured ? \"paul_not_ready\" : \"paul_not_configured\",\n      };\n\n  const redundancyReady = Boolean(primary?.ok && virtual?.ok && automaticFailoverProof.ok);\n  const candidatesByLane = new Map(candidates.map((candidate) => [candidate.lane, candidate]));\n  const syntheticReceipts = await Promise.all([\"primary\", \"virtual\"].map(async (lane) => {\n    const candidate = candidatesByLane.get(lane);\n    if (!candidate) return { ok: false, lane, status: \"not_configured\", synthetic: true };\n    return recoverRunner(env, candidate, \"synthetic_recovery_probe\", { synthetic: true });\n  }));\n  const syntheticPrimary = syntheticReceipts.find((receipt) => receipt.lane === \"primary\") || null;\n  const syntheticVirtual = syntheticReceipts.find((receipt) => receipt.lane === \"virtual\") || null;\n  const syntheticRecoveryProof = {\n    ok: Boolean(syntheticPrimary?.ok && syntheticVirtual?.ok),\n    primary: syntheticPrimary,\n    virtual: syntheticVirtual,\n  };\n  const watchdogActive = true;\n  const selfHealingReady = Boolean(redundancyReady && watchdogActive && syntheticRecoveryProof.ok);\n  const preferredObservation = observations.find((item) => item.lane === routinePreferredRunnerLane) || null;\n  const lastRecoveryResult = Object.fromEntries([...runnerRecoveryState.entries()]);\n  return json({\n    ok: Boolean(selected),\n    status: selected ? \"live\" : \"blocked\",\n    proofGate: selected ? \"universal_visual_witness_health_verified\" : \"universal_visual_witness_health_failed\",\n    hostedUrl: selected?.hostedUrl || null,\n    canonicalRunnerUrl: CANONICAL_RUNNER_URL,\n    selectedRunnerLane: selected?.lane || null,\n    routinePreferredRunnerLane,\n    authorityVerified: Boolean(selected?.authorityVerified),\n    failoverUsed: Boolean(selected && selected.lane !== routinePreferredRunnerLane),\n    capacityBalanced: Boolean(selected && selected.lane !== routinePreferredRunnerLane && preferredObservation?.ok === true),\n    selectionReason: selected\n      ? selected.lane === routinePreferredRunnerLane\n        ? \"preferred_lane_available\"\n        : preferredObservation?.ok === true\n          ? \"preferred_lane_capacity_balanced\"\n          : \"preferred_lane_unavailable_fallback\"\n      : null,\n    selectedCapacity: selected?.capacity || null,\n    capacityPoolReady: Boolean(primary?.ok || virtual?.ok || paul?.ok),\n    redundancyReady,\n    automaticFailoverProof,\n    paulReady: Boolean(paul?.ok),\n    paulHybridReady: Boolean(paul?.ok && paul?.runner?.paulHybrid?.sentinelReady === true && paul?.runner?.paulHybrid?.fresh === true),\n    paulFallbackProof,\n    selfHealingReady,\n    watchdogActive,\n    watchdogIntervalMs: 60_000,\n    recoveryPolicy: { maxLaneRecoveryAttemptsPerWindow: 1, cooldownMs: RUNNER_RECOVERY_COOLDOWN_MS, independentSecretRotationAllowed: false, healthySiblingInterrupted: false },\n    syntheticRecoveryProof,\n    lastRecoveryResult,\n    primaryRunner: primary,\n    virtualRunner: virtual,\n    paulRunner: paul,\n    attempts: observations.reduce((sum, item) => sum + Number(item.attempts || 0), 0),\n    retryable: !selected,\n    runner: selected?.runner || null,\n    failureReason: selected ? null : observations.map((item) => `${item.lane}:${item.failureReason || \"unavailable\"}`).join(\"|\"),\n  }, selected ? 200 : 502);\n}\n\nasync function start(request, env) {\n  const blocked = deny(request, env);\n  if (blocked) return blocked;\n  const input = await body(request);\n  const requestedRunnerLaneRaw = String(input.runnerLane || input.runner_lane || input.lanePreference || input.lane_preference || \"\").trim().toLowerCase();\n  const requestedRunnerLane = [\"primary\", \"virtual\", \"paul\"].includes(requestedRunnerLaneRaw) ? requestedRunnerLaneRaw : null;\n  let payload;\n  try {\n    const authorizedOrigins = await authorizedOriginsForInput(env, input);\n    payload = missionPayload({ ...input, authorizedOrigins, requiredRunnerLane: requestedRunnerLane || undefined });\n  } catch (error) {\n    return json({ ok: false, status: \"blocked\", proofGate: \"universal_visual_witness_invalid\", failureReason: error instanceof Error ? error.message : String(error) }, 400);\n  }\n  let selected;\n  try { selected = await selectReadyRunner(env, { preferredLane: requestedRunnerLane, requiredLane: requestedRunnerLane }); } catch (error) {\n    return json({ ok: false, status: \"blocked\", proofGate: \"universal_visual_witness_wake_failed\", failureReason: error instanceof Error ? error.message : String(error), witnessInfrastructureFailure: true, runnerFailures: error?.runnerFailures || [], retryable: true }, 503);\n  }\n  let response;\n  let receipt;\n  try {\n    response = await runnerFetch(env, selected, \"/supervised-missions\", {\n      method: \"POST\",\n      headers: { authorization: `Bearer ${selected.token}`, \"content-type\": \"application/json\" },\n      body: JSON.stringify(payload),\n      signal: AbortSignal.timeout(30000),\n    });\n    receipt = await readJson(response);\n  } catch (error) {\n    return json({ ok: false, status: \"blocked\", proofGate: \"universal_visual_witness_submission_transport_ambiguous\", failureReason: error instanceof Error ? error.message : String(error), witnessInfrastructureFailure: true, runnerLane: selected.lane, runnerUrl: selected.hostedUrl, failoverUsed: selected.failoverUsed, retryable: true }, 503);\n  }\n  const accepted = response.ok && Boolean(receipt?.supervisor_id || receipt?.supervisorId);\n  if (!requestedRunnerLane && !accepted && (response.status === 429 || response.status >= 500)) {\n    try {\n      const fallback = await selectReadyRunner(env, { excludeLanes: [selected.lane] });\n      const fallbackResponse = await runnerFetch(env, fallback, \"/supervised-missions\", {\n        method: \"POST\",\n        headers: { authorization: `Bearer ${fallback.token}`, \"content-type\": \"application/json\" },\n        body: JSON.stringify(payload),\n        signal: AbortSignal.timeout(30000),\n      });\n      const fallbackReceipt = await readJson(fallbackResponse);\n      if (fallbackResponse.ok && (fallbackReceipt?.supervisor_id || fallbackReceipt?.supervisorId)) {\n        return json(normalizeVisualReceipt(input, { ...fallbackReceipt, runnerLane: fallback.lane, runnerUrl: fallback.hostedUrl, failoverUsed: true }, \"universal_visual_witness_supervised\"), 202);\n      }\n    } catch {}\n  }\n  if (!accepted) return json(normalizeVisualReceipt(input, { ...receipt, runnerLane: selected.lane, runnerUrl: selected.hostedUrl, failoverUsed: selected.failoverUsed }, \"universal_visual_witness_rejected\"), 502);\n  return json(normalizeVisualReceipt(input, { ...receipt, runnerLane: selected.lane, runnerUrl: selected.hostedUrl, failoverUsed: selected.failoverUsed }, \"universal_visual_witness_supervised\"), 202);\n}\n\nasync function status(request, env) {\n  const blocked = deny(request, env);\n  if (blocked) return blocked;\n  const input = await body(request);\n  const jobId = String(input.jobId || input.job_id || \"\").trim();\n  if (!jobId) return json({ ok: false, status: \"blocked\", proofGate: \"universal_visual_witness_invalid\", failureReason: \"job_id_required\" }, 400);\n  const { response, receipt, jobKind, hostedUrl, runnerLane } = await requestRunnerJob(env, jobId);\n  const resolvedReceipt = { ...receipt, job_id: jobId, controlKind: jobKind, runnerUrl: hostedUrl || null, runnerLane: runnerLane || null, failoverUsed: false };\n  if (!response.ok) return json(normalizeVisualReceipt(input, resolvedReceipt, \"universal_visual_witness_poll_failed\"), 502);\n  const result = normalizeVisualReceipt(input, resolvedReceipt, \"universal_visual_witness_status\");\n  return json(result, result.status === \"pending\" ? 202 : result.ok ? 200 : 422);\n}\n\nasync function cancel(request, env) {\n  const blocked = deny(request, env);\n  if (blocked) return blocked;\n  const input = await body(request);\n  const jobId = String(input.jobId || input.job_id || \"\").trim();\n  if (!jobId) return json({ ok: false, status: \"blocked\", proofGate: \"universal_visual_witness_invalid\", failureReason: \"job_id_required\" }, 400);\n  const { response, receipt, jobKind, hostedUrl, runnerLane } = await requestRunnerJob(env, jobId, { cancel: true });\n  const resolvedReceipt = { ...receipt, job_id: jobId, controlKind: jobKind, runnerUrl: hostedUrl || null, runnerLane: runnerLane || null, failoverUsed: false };\n  if (!response.ok) return json(normalizeVisualReceipt(input, resolvedReceipt, \"universal_visual_witness_cancel_failed\"), 502);\n  return json(normalizeVisualReceipt(input, resolvedReceipt, \"universal_visual_witness_cancelled\"), 202);\n}\n\nexport default {\n  async fetch(request, env) {\n    const path = new URL(request.url).pathname;\n    if (path === \"/repair/inspect-route/health\" && request.method === \"POST\") return health(request, env);\n    if (path === \"/repair/inspect-route/start\" && request.method === \"POST\") return start(request, env);\n    if (path === \"/repair/inspect-route/status\" && request.method === \"POST\") return status(request, env);\n    if (path === \"/repair/inspect-route/cancel\" && request.method === \"POST\") return cancel(request, env);\n    if (path === \"/health\") return json({ ok: true, status: \"live\", version: VERSION, visualWitnessEngine: \"universal\", canonicalLane: \"cc-execution -> Render OnRunner -> universal-witness.mjs\", tenantProjection: true, actualUserExperience: true, arbitraryRoleExperience: true, cancellation: true, supervisedMissionLifecycle: true, boundedAutomaticRetry: true });\n    return json({ ok: false, status: \"blocked\", proofGate: \"route_not_found\", failureReason: \"unsupported_universal_visual_route\" }, 404);\n  },\n};\n"},{"path":"workers/cc-execution/src/version.js","content":"// Release marker: Forgejo is the canonical repository and self-hosted Actions control plane.\nexport const CC_EXECUTION_VERSION = \"1.58.279-paul-hybrid\";\n"},{"path":"workers/cc-execution/test/visual-witness-paul-hybrid.test.js","content":"import test from \"node:test\";\nimport assert from \"node:assert/strict\";\nimport { readFile } from \"node:fs/promises\";\nimport {\n  chooseReadyRunnerByCapacity,\n  defaultPreferredRunnerLane,\n  missionPayload,\n  orderDispatchCandidates,\n  runnerAuthority,\n} from \"../src/index-visual-witness-resumable.js\";\n\nconst baseRunnerReceipt = {\n  service: \"knocklaunch-universal-visual-witness\",\n  runtimeContract: \"visual-witness-durable-resume-v1\",\n  canonicalLane: \"cc-execution -> DigitalOcean PAUL -> universal-witness.mjs\",\n  authenticatedProfile: true,\n  godModeAuthorityRequired: true,\n  supabaseProjectAligned: true,\n  brokerStartupStatus: \"authority_proven\",\n  brokerStartupErrorCode: null,\n  configured: { runnerBearer: true, supabase: true },\n};\n\ntest(\"PAUL is preferred only when configured with authority material\", () => {\n  const candidates = [\n    { lane: \"primary\", url: \"https://primary.example\", token: \"primary\" },\n    { lane: \"paul\", url: \"https://paul.example\", token: \"paul\", configurationError: null },\n    { lane: \"virtual\", url: \"cloudflare-container://visual-witness-virtual\", token: \"virtual\" },\n  ];\n  assert.equal(defaultPreferredRunnerLane(candidates), \"paul\");\n  assert.deepEqual(orderDispatchCandidates(candidates, \"paul\").map((item) => item.lane), [\"paul\", \"primary\", \"virtual\"]);\n  assert.deepEqual(orderDispatchCandidates(candidates, \"primary\").map((item) => item.lane), [\"primary\", \"virtual\", \"paul\"]);\n  assert.equal(defaultPreferredRunnerLane(candidates.map((item) => item.lane === \"paul\" ? { ...item, token: \"\" } : item)), \"primary\");\n});\n\ntest(\"PAUL wins equal-capacity routine selection but a roomier sibling may absorb load\", () => {\n  const equal = [\n    { ok: true, authorityVerified: true, lane: \"primary\", runner: { activeJobs: 0, concurrencyLimit: 1, queueDepth: 0 } },\n    { ok: true, authorityVerified: true, lane: \"paul\", runner: { activeJobs: 0, concurrencyLimit: 1, queueDepth: 0 } },\n  ];\n  assert.equal(chooseReadyRunnerByCapacity(equal, \"paul\").lane, \"paul\");\n  const paulBusy = [\n    { ok: true, authorityVerified: true, lane: \"primary\", runner: { activeJobs: 0, concurrencyLimit: 1, queueDepth: 0 } },\n    { ok: true, authorityVerified: true, lane: \"paul\", runner: { activeJobs: 1, concurrencyLimit: 1, queueDepth: 0 } },\n  ];\n  assert.equal(chooseReadyRunnerByCapacity(paulBusy, \"paul\").lane, \"primary\");\n});\n\ntest(\"PAUL authority fails closed unless the fresh witness-first sentinel is healthy\", () => {\n  const candidate = { lane: \"paul\" };\n  const healthy = runnerAuthority({\n    ...baseRunnerReceipt,\n    paulHybrid: {\n      fresh: true,\n      sentinelReady: true,\n      arbitrationPolicy: \"witness_first\",\n      autonomousRepairAuthority: false,\n    },\n  }, candidate);\n  assert.equal(healthy.ok, true);\n\n  const stale = runnerAuthority({\n    ...baseRunnerReceipt,\n    paulHybrid: {\n      fresh: false,\n      sentinelReady: true,\n      arbitrationPolicy: \"witness_first\",\n      autonomousRepairAuthority: false,\n    },\n  }, candidate);\n  assert.equal(stale.ok, false);\n  assert.ok(stale.failures.includes(\"paul_sentinel_freshness\"));\n\n  const overpowered = runnerAuthority({\n    ...baseRunnerReceipt,\n    paulHybrid: {\n      fresh: true,\n      sentinelReady: true,\n      arbitrationPolicy: \"witness_first\",\n      autonomousRepairAuthority: true,\n    },\n  }, candidate);\n  assert.equal(overpowered.ok, false);\n  assert.ok(overpowered.failures.includes(\"paul_repair_authority\"));\n});\n\ntest(\"mission payload accepts an explicit PAUL lane pin\", () => {\n  const payload = missionPayload({ route: \"/big-papis/owner\", requiredRunnerLane: \"paul\" });\n  assert.equal(payload.requiredRunnerLane, \"paul\");\n});\n\ntest(\"PAUL host scripts preserve witness-first arbitration and never acquire repair authority\", async () => {\n  const root = new URL(\"../../../\", import.meta.url);\n  const arbiter = await readFile(new URL(\"scripts/visual-witness-hosted-runner/paul-hybrid-arbiter.sh\", root), \"utf8\");\n  const installer = await readFile(new URL(\"scripts/visual-witness-hosted-runner/paul-hybrid-install.sh\", root), \"utf8\");\n  assert.match(arbiter, /witness_first/);\n  assert.match(arbiter, /autonomousRepairAuthority/);\n  assert.doesNotMatch(arbiter, /mission\\/execute|execute_objective|repair\\/execute-mission/);\n  assert.match(installer, /VISUAL_WITNESS_RUNTIME_KIND=paul/);\n  assert.match(installer, /VISUAL_WITNESS_MAX_CONCURRENCY=1/);\n  assert.match(installer, /--memory=1200m/);\n});\n"},{"path":"scripts/visual-witness-hosted-runner/paul-hybrid-arbiter.sh","content":"#!/usr/bin/env bash\nset -euo pipefail\n\nENV_FILE=\"${PAUL_HYBRID_ENV_FILE:-/etc/knocklaunch/paul-hybrid.env}\"\nif [ -r \"$ENV_FILE\" ]; then\n  # shellcheck disable=SC1090\n  . \"$ENV_FILE\"\nfi\n\nSTATUS_DIR=\"${PAUL_HYBRID_STATUS_DIR:-/var/lib/knocklaunch-paul-hybrid}\"\nSTATUS_PATH=\"${PAUL_HYBRID_STATUS_PATH:-$STATUS_DIR/status.json}\"\nPAUSED_MARKER=\"$STATUS_DIR/light-runner-paused-by-arbiter\"\nWITNESS_HEALTH_URL=\"${PAUL_WITNESS_HEALTH_URL:-http://127.0.0.1:8080/health}\"\nCONTROL_PLANE_HEALTH_URL=\"${PAUL_CONTROL_PLANE_HEALTH_URL:-https://cc-execution.knocklaunch.app/health}\"\nAPP_HEALTH_URL=\"${PAUL_APP_HEALTH_URL:-https://app.knocklaunch.app/}\"\nINTERVAL_SECONDS=\"${PAUL_SENTINEL_INTERVAL_SECONDS:-10}\"\nMIN_AVAILABLE_MB=\"${PAUL_MIN_AVAILABLE_MB:-384}\"\nLIGHT_SERVICE=\"${PAUL_LIGHT_SERVICE:-}\"\n\ninstall -d -m 0755 \"$STATUS_DIR\"\n\nservice_loaded=false\nif [ -n \"$LIGHT_SERVICE\" ]; then\n  if systemctl show -p LoadState --value \"$LIGHT_SERVICE\" 2>/dev/null | grep -qx 'loaded'; then\n    service_loaded=true\n  fi\nfi\n\nwhile true; do\n  witness_body=\"$(curl -fsS --max-time 4 \"$WITNESS_HEALTH_URL\" 2>/dev/null || true)\"\n  read -r witness_healthy witness_active_jobs witness_queue_depth < <(\n    WITNESS_BODY=\"$witness_body\" python3 - <<'PY'\nimport json, os\ntry:\n    body=json.loads(os.environ.get(\"WITNESS_BODY\",\"\") or \"{}\")\nexcept Exception:\n    body={}\nok=body.get(\"ok\") is True and body.get(\"service\")==\"knocklaunch-universal-visual-witness\"\ntry:\n    active=max(0,int(body.get(\"activeJobs\") or 0))\nexcept Exception:\n    active=0\ntry:\n    queued=max(0,int(body.get(\"queueDepth\") or 0))\nexcept Exception:\n    queued=0\nprint(\"true\" if ok else \"false\", active, queued)\nPY\n  )\n  witness_active=false\n  if [ \"${witness_active_jobs:-0}\" -gt 0 ] || [ \"${witness_queue_depth:-0}\" -gt 0 ]; then\n    witness_active=true\n  fi\n\n  control_body=\"$(curl -fsS --max-time 4 \"$CONTROL_PLANE_HEALTH_URL\" 2>/dev/null || true)\"\n  control_plane_healthy=\"$(CONTROL_BODY=\"$control_body\" python3 - <<'PY'\nimport json, os\ntry:\n    body=json.loads(os.environ.get(\"CONTROL_BODY\",\"\") or \"{}\")\nexcept Exception:\n    body={}\nok=body.get(\"status\")==\"live\" and body.get(\"provider\")==\"forgejo\"\nprint(\"true\" if ok else \"false\")\nPY\n  )\"\n\n  app_reachable=false\n  if curl -fsS --max-time 5 -o /dev/null \"$APP_HEALTH_URL\" 2>/dev/null; then\n    app_reachable=true\n  fi\n\n  memory_available_mb=\"$(awk '/MemAvailable:/ { printf \"%d\", $2 / 1024 }' /proc/meminfo)\"\n  memory_available_mb=\"${memory_available_mb:-0}\"\n\n  runner_process=\"$(pgrep -af '[a]ct_runner|[f]orgejo.*runner' | head -1 || true)\"\n  light_runner_local=false\n  if [ -n \"$runner_process\" ] || [ \"$service_loaded\" = true ]; then\n    light_runner_local=true\n  fi\n\n  light_runner_managed=\"$service_loaded\"\n  light_runner_state=\"external_or_absent\"\n  arbitration_safe=true\n  reason=\"healthy\"\n\n  if [ -n \"$LIGHT_SERVICE\" ] && [ \"$service_loaded\" != true ]; then\n    arbitration_safe=false\n    light_runner_state=\"configured_service_missing\"\n    reason=\"light_runner_service_missing\"\n  elif [ \"$light_runner_local\" = true ] && [ \"$light_runner_managed\" != true ]; then\n    arbitration_safe=false\n    light_runner_state=\"local_unmanaged\"\n    reason=\"local_light_runner_unmanaged\"\n  elif [ \"$light_runner_managed\" = true ]; then\n    if systemctl is-active --quiet \"$LIGHT_SERVICE\"; then\n      light_runner_state=\"running\"\n    else\n      light_runner_state=\"stopped\"\n    fi\n\n    if [ \"$witness_active\" = true ] || [ \"$memory_available_mb\" -lt \"$MIN_AVAILABLE_MB\" ]; then\n      if systemctl is-active --quiet \"$LIGHT_SERVICE\"; then\n        if systemctl stop \"$LIGHT_SERVICE\"; then\n          touch \"$PAUSED_MARKER\"\n          light_runner_state=\"paused_for_witness\"\n        else\n          arbitration_safe=false\n          reason=\"light_runner_pause_failed\"\n        fi\n      elif [ -f \"$PAUSED_MARKER\" ]; then\n        light_runner_state=\"paused_for_witness\"\n      fi\n    elif [ -f \"$PAUSED_MARKER\" ]; then\n      if systemctl start \"$LIGHT_SERVICE\"; then\n        rm -f \"$PAUSED_MARKER\"\n        light_runner_state=\"running\"\n      else\n        arbitration_safe=false\n        reason=\"light_runner_resume_failed\"\n      fi\n    fi\n  fi\n\n  sentinel_ready=true\n  if [ \"$witness_healthy\" != true ] || [ \"$control_plane_healthy\" != true ] || [ \"$app_reachable\" != true ] || [ \"$arbitration_safe\" != true ] || [ \"$memory_available_mb\" -lt \"$MIN_AVAILABLE_MB\" ]; then\n    sentinel_ready=false\n    if [ \"$reason\" = \"healthy\" ]; then\n      reason=\"dependency_not_ready\"\n    fi\n  fi\n\n  export STATUS_PATH sentinel_ready witness_active witness_healthy control_plane_healthy app_reachable light_runner_local light_runner_managed light_runner_state memory_available_mb reason\n  python3 - <<'PY'\nimport json, os, tempfile\nfrom datetime import datetime, timezone\npath=os.environ[\"STATUS_PATH\"]\npayload={\n    \"updatedAt\": datetime.now(timezone.utc).isoformat().replace(\"+00:00\",\"Z\"),\n    \"sentinelReady\": os.environ.get(\"sentinel_ready\")==\"true\",\n    \"arbitrationPolicy\": \"witness_first\",\n    \"autonomousRepairAuthority\": False,\n    \"witnessActive\": os.environ.get(\"witness_active\")==\"true\",\n    \"witnessHealthy\": os.environ.get(\"witness_healthy\")==\"true\",\n    \"controlPlaneHealthy\": os.environ.get(\"control_plane_healthy\")==\"true\",\n    \"appReachable\": os.environ.get(\"app_reachable\")==\"true\",\n    \"lightRunnerLocal\": os.environ.get(\"light_runner_local\")==\"true\",\n    \"lightRunnerManaged\": os.environ.get(\"light_runner_managed\")==\"true\",\n    \"lightRunnerState\": os.environ.get(\"light_runner_state\",\"unknown\")[:64],\n    \"memoryAvailableMb\": int(os.environ.get(\"memory_available_mb\") or 0),\n    \"reason\": os.environ.get(\"reason\",\"unknown\")[:160],\n}\ndirectory=os.path.dirname(path)\nfd,tmp=tempfile.mkstemp(prefix=\".paul-hybrid-\",dir=directory,text=True)\ntry:\n    with os.fdopen(fd,\"w\") as handle:\n        json.dump(payload,handle,separators=(\",\",\":\"))\n        handle.write(\"\\n\")\n        handle.flush()\n        os.fsync(handle.fileno())\n    os.replace(tmp,path)\nfinally:\n    try:\n        os.unlink(tmp)\n    except FileNotFoundError:\n        pass\nPY\n\n  sleep \"$INTERVAL_SECONDS\"\ndone\n"},{"path":"scripts/visual-witness-hosted-runner/paul-hybrid-install.sh","content":"#!/usr/bin/env bash\nset -euo pipefail\n\nif [ \"${EUID:-$(id -u)}\" -ne 0 ]; then\n  echo \"PAUL hybrid installer must run as root.\" >&2\n  exit 2\nfi\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\nWITNESS_ENV_FILE=\"${PAUL_WITNESS_ENV_FILE:-/etc/knocklaunch/paul-witness.env}\"\nHYBRID_ENV_FILE=\"${PAUL_HYBRID_ENV_FILE:-/etc/knocklaunch/paul-hybrid.env}\"\nIMAGE=\"${PAUL_WITNESS_IMAGE:-}\"\nHOSTNAME=\"${PAUL_WITNESS_HOSTNAME:-}\"\n\ntest -n \"$IMAGE\" || { echo \"PAUL_WITNESS_IMAGE is required.\" >&2; exit 2; }\ntest -r \"$WITNESS_ENV_FILE\" || { echo \"PAUL_WITNESS_ENV_FILE is required and must be readable.\" >&2; exit 2; }\n\nfor key in VISUAL_WITNESS_RUNNER_BEARER VISUAL_WITNESS_SUPABASE_URL VISUAL_WITNESS_SUPABASE_SERVICE_KEY; do\n  grep -q \"^${key}=\" \"$WITNESS_ENV_FILE\" || { echo \"Missing required witness secret: $key\" >&2; exit 2; }\ndone\n\napt-get update -qq\nDEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates curl python3\ninstall -d -m 0700 /etc/knocklaunch\ninstall -d -m 0755 /var/lib/knocklaunch-paul-hybrid\ninstall -m 0755 \"$SCRIPT_DIR/paul-hybrid-arbiter.sh\" /usr/local/sbin/knocklaunch-paul-hybrid-arbiter\n\nif [ ! -f \"$HYBRID_ENV_FILE\" ]; then\n  cat > \"$HYBRID_ENV_FILE\" <<EOF\nPAUL_WITNESS_HEALTH_URL=http://127.0.0.1:8080/health\nPAUL_CONTROL_PLANE_HEALTH_URL=https://cc-execution.knocklaunch.app/health\nPAUL_APP_HEALTH_URL=https://app.knocklaunch.app/\nPAUL_SENTINEL_INTERVAL_SECONDS=10\nPAUL_MIN_AVAILABLE_MB=384\nPAUL_LIGHT_SERVICE=${PAUL_LIGHT_SERVICE:-}\nEOF\nfi\nchmod 600 \"$HYBRID_ENV_FILE\"\nchmod 600 \"$WITNESS_ENV_FILE\"\n\ncat > /etc/systemd/system/knocklaunch-paul-hybrid.service <<'EOF'\n[Unit]\nDescription=KNOCKLAUNCH PAUL Hybrid Witness/Sentinel Arbiter\nAfter=network-online.target docker.service\nWants=network-online.target\nRequires=docker.service\n\n[Service]\nType=simple\nEnvironment=PAUL_HYBRID_ENV_FILE=/etc/knocklaunch/paul-hybrid.env\nExecStart=/usr/local/sbin/knocklaunch-paul-hybrid-arbiter\nRestart=always\nRestartSec=5\nNoNewPrivileges=true\nProtectSystem=strict\nProtectHome=true\nReadWritePaths=/var/lib/knocklaunch-paul-hybrid\nPrivateTmp=true\n\n[Install]\nWantedBy=multi-user.target\nEOF\n\nif [ -n \"${PAUL_REGISTRY_USERNAME:-}\" ] || [ -n \"${PAUL_REGISTRY_TOKEN:-}\" ]; then\n  test -n \"${PAUL_REGISTRY_USERNAME:-}\" && test -n \"${PAUL_REGISTRY_TOKEN:-}\" || { echo \"Both PAUL_REGISTRY_USERNAME and PAUL_REGISTRY_TOKEN are required together.\" >&2; exit 2; }\n  printf '%s' \"$PAUL_REGISTRY_TOKEN\" | docker login git.knocklaunch.app --username \"$PAUL_REGISTRY_USERNAME\" --password-stdin >/dev/null\nfi\n\ndocker pull \"$IMAGE\"\ndocker rm -f knocklaunch-paul-witness >/dev/null 2>&1 || true\ndocker volume create knocklaunch-paul-witness-data >/dev/null\n\ndocker run -d   --name knocklaunch-paul-witness   --restart unless-stopped   --cpus=0.85   --memory=1200m   --memory-swap=1800m   --pids-limit=512   --shm-size=256m   --security-opt no-new-privileges   -p 127.0.0.1:8080:8080   --env-file \"$WITNESS_ENV_FILE\"   -e VISUAL_WITNESS_RUNTIME_KIND=paul   -e 'VISUAL_WITNESS_RUNTIME_LANE=cc-execution -> DigitalOcean PAUL -> universal-witness.mjs'   -e VISUAL_WITNESS_MAX_CONCURRENCY=1   -e VISUAL_WITNESS_MAX_IN_MEMORY_JOBS=10   -e VISUAL_WITNESS_DISPLAY_CAPTURE=0   -e PAUL_HYBRID_STATUS_PATH=/paul-hybrid/status.json   -v knocklaunch-paul-witness-data:/data   -v /var/lib/knocklaunch-paul-hybrid:/paul-hybrid:ro   \"$IMAGE\" >/dev/null\n\nif [ -n \"$HOSTNAME\" ]; then\n  case \"$HOSTNAME\" in\n    http://*|https://*) echo \"PAUL_WITNESS_HOSTNAME must be a bare hostname, not a URL.\" >&2; exit 2 ;;\n  esac\n  docker rm -f knocklaunch-paul-ingress >/dev/null 2>&1 || true\n  docker volume create knocklaunch-paul-caddy-data >/dev/null\n  docker volume create knocklaunch-paul-caddy-config >/dev/null\n  docker pull caddy:2.10-alpine\n  docker run -d     --name knocklaunch-paul-ingress     --restart unless-stopped     --network host     -v knocklaunch-paul-caddy-data:/data     -v knocklaunch-paul-caddy-config:/config     caddy:2.10-alpine     caddy reverse-proxy --from \"https://$HOSTNAME\" --to http://127.0.0.1:8080 >/dev/null\nfi\n\nsystemctl daemon-reload\nsystemctl enable --now knocklaunch-paul-hybrid.service\nsleep 3\n\ncurl -fsS http://127.0.0.1:8080/health | python3 - <<'PY'\nimport json,sys\ntry:\n    body=json.load(sys.stdin)\nexcept Exception:\n    raise SystemExit(\"PAUL witness local health did not return JSON\")\nsafe={\n  \"ok\": body.get(\"ok\"),\n  \"service\": body.get(\"service\"),\n  \"version\": body.get(\"version\"),\n  \"canonicalLane\": body.get(\"canonicalLane\"),\n  \"runtimeContract\": body.get(\"runtimeContract\"),\n  \"concurrencyLimit\": body.get(\"concurrencyLimit\"),\n}\nprint(json.dumps(safe,indent=2))\nPY\n\necho \"PAUL hybrid host runtime installed. Prime registration remains fail-closed until HTTPS and sentinel authority are proven.\"\n"}],"branch":"ai/objective-first-repair-b1548ec4c8ec","writes":[],"patches":[],"version":1,"approved":true,"missionId":"b1548ec4-c8ec-4971-a3e8-86d75b1ef7d5","objective":"Backend/runtime orchestration only; no UI, webpage, screenshot-content, or route rendering change. Configure the existing PAUL / paul-light compute node as a third execution lane for the existing authenticated inspection subsystem, reusing the current universal-witness.mjs runtime contract. Keep the existing Render and Cloudflare inspection lanes intact as failover. PAUL is 1 vCPU / 2 GB: use single concurrency, bounded memory, and keep its inspection workload isolated from canonical PR/gate/release runner capacity. Reuse the existing GodMode/Supabase authority, durable supervised job lifecycle, watchdog/self-healing, bounded retry, and cross-lane resume contracts. Add PAUL to the server-side inspection health and lane-selection registry only after its authority and health can be proven. Prefer PAUL for routine inspection work when healthy; fall back automatically to existing lanes. Verification for this backend change is the live inspection health contract and lane-selection evidence; do not infer or require a webpage proof route. If PAUL host provisioning cannot be performed through current authoritative capabilities, fail closed with the exact remaining host prerequisite and do not claim activation. Use one focused branch, one PR, canonical Gate, squash merge, affected runtime release, and live health verification. Do not alter unrelated runner topology.","sourceSha":"1c38ea8e3aadc9dacc44060a15035969433df4bd","repository":"noel/KnockLaunchOS","visualProof":false,"autoProgress":true,"verifyVisual":false,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"scripts/visual-witness-hosted-runner/src/universal-witness.mjs","edits":[{"new_content":"const VIRTUAL_RUNTIME_HEADLESS_DEFAULT = RUNTIME_KIND === 'virtual' || RUNTIME_KIND === 'paul';","old_content":"const VIRTUAL_RUNTIME_HEADLESS_DEFAULT = RUNTIME_KIND === 'virtual';"},{"new_content":"const RUNTIME_LANE = String(process.env.VISUAL_WITNESS_RUNTIME_LANE || 'cc-execution -> Render OnRunner -> universal-witness.mjs').trim() || 'cc-execution -> Render OnRunner -> universal-witness.mjs';\nconst PAUL_HYBRID_STATUS_PATH = String(process.env.PAUL_HYBRID_STATUS_PATH || '/paul-hybrid/status.json').trim() || '/paul-hybrid/status.json';\nconst VERSION = `${RUNTIME_KIND}-${RENDER_SOURCE_COMMIT.slice(0, 12)}`;","old_content":"const RUNTIME_LANE = String(process.env.VISUAL_WITNESS_RUNTIME_LANE || 'cc-execution -> Render OnRunner -> universal-witness.mjs').trim() || 'cc-execution -> Render OnRunner -> universal-witness.mjs';\nconst VERSION = `${RUNTIME_KIND}-${RENDER_SOURCE_COMMIT.slice(0, 12)}`;"},{"new_content":"async function readPaulHybridStatus() {\n  if (RUNTIME_KIND !== 'paul') return null;\n  try {\n    const raw = JSON.parse(await fs.readFile(PAUL_HYBRID_STATUS_PATH, 'utf8'));\n    const updatedAt = String(raw?.updatedAt || '').trim() || null;\n    const updatedAtMs = updatedAt ? Date.parse(updatedAt) : Number.NaN;\n    const ageMs = Number.isFinite(updatedAtMs) ? Math.max(0, Date.now() - updatedAtMs) : null;\n    const fresh = ageMs !== null && ageMs <= 30_000;\n    const arbitrationPolicy = String(raw?.arbitrationPolicy || '').trim() || null;\n    const autonomousRepairAuthority = raw?.autonomousRepairAuthority === true;\n    const sentinelReady = raw?.sentinelReady === true\n      && fresh\n      && arbitrationPolicy === 'witness_first'\n      && autonomousRepairAuthority === false;\n    return {\n      updatedAt,\n      ageMs,\n      fresh,\n      sentinelReady,\n      arbitrationPolicy,\n      autonomousRepairAuthority,\n      witnessActive: raw?.witnessActive === true,\n      witnessHealthy: raw?.witnessHealthy === true,\n      controlPlaneHealthy: raw?.controlPlaneHealthy === true,\n      appReachable: raw?.appReachable === true,\n      lightRunnerLocal: raw?.lightRunnerLocal === true,\n      lightRunnerManaged: raw?.lightRunnerManaged === true,\n      lightRunnerState: String(raw?.lightRunnerState || 'unknown').slice(0, 64),\n      memoryAvailableMb: Math.max(0, Number(raw?.memoryAvailableMb || 0) || 0),\n      reason: String(raw?.reason || 'unknown').slice(0, 160),\n    };\n  } catch {\n    return {\n      updatedAt: null,\n      ageMs: null,\n      fresh: false,\n      sentinelReady: false,\n      arbitrationPolicy: 'witness_first',\n      autonomousRepairAuthority: false,\n      witnessActive: false,\n      witnessHealthy: false,\n      controlPlaneHealthy: false,\n      appReachable: false,\n      lightRunnerLocal: false,\n      lightRunnerManaged: false,\n      lightRunnerState: 'unknown',\n      memoryAvailableMb: 0,\n      reason: 'status_unavailable',\n    };\n  }\n}\n\nasync function health() {","old_content":"async function health() {"},{"new_content":"  const snapshot = worker?.snapshot('') || {};\n  const paulHybrid = await readPaulHybridStatus();\n  const transitionalJobs = [...jobs.values()]","old_content":"  const snapshot = worker?.snapshot('') || {};\n  const transitionalJobs = [...jobs.values()]"},{"new_content":"    canonicalLane: RUNTIME_LANE,\n    paulHybrid,\n    authenticatedProfile: true,","old_content":"    canonicalLane: RUNTIME_LANE,\n    authenticatedProfile: true,"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"b1548ec4-c8ec-4971-a3e8-86d75b1ef7d5","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Owner approved PAUL Hybrid as a witness-first, read-only sentinel plus optional light-labor role; this extends the current visual-witness runtime without altering canonical Gate or release runner authority."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Owner approved PAUL Hybrid as a witness-first, read-only sentinel plus optional light-labor role; this extends the current visual-witness runtime without altering canonical Gate or release runner authority."},"recovery":false,"fingerprint":"d02538cddd5373d6de6407f82cd5186ab71302b871926b54902333e73f4afd03","replayCount":0,"serializedBytes":86221},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T12:08:45.964713+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:b1548ec4-c8ec-4971-a3e8-86d75b1ef7d5:repository-mutation-intent:d02538cddd5373d6de6407f82cd5186ab71302b871926b54902333e73f4afd03:0","mission_step_id":"ac645709-2756-4dd1-8041-53a3994c84a2","command_center_event_id":"b1548ec4-c8ec-4971-a3e8-86d75b1ef7d5"},{"id":"b86e2bd3-d126-420a-97a8-714685b606b8","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane and continue the exact release-plan checkout-action removal mission. Use the explicit ai/* branch, apply the already-specified workflow/test edits, prove this fresh 1.58.38 mutation has repositoryBranchCreateMs=0 with atomic_new_branch mode, canonical Gate, squash merge, prove the workflow-only push uses event_native planning with no checkout action-definition fetch and selects no product runtime, then refreeze.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane and continue the exact release-plan checkout-action removal mission. Use the explicit ai/* branch, apply the already-specified workflow/test edits, prove this fresh 1.58.38 mutation has repositoryBranchCreateMs=0 with atomic_new_branch mode, canonical Gate, squash merge, prove the workflow-only push uses event_native planning with no checkout action-definition fetch and selects no product runtime, then refreeze.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"no-checkout-action-fetch","statement":"Normal event-native release planning has no actions/checkout action dependency to resolve or fetch.","proofConditionIds":["repo","release"]},{"id":"fallback-preserved","statement":"Malformed/ambiguous push events still fail closed into an exact authenticated shell git fallback that fetches before/after and sparse-checks both recovery scripts.","proofConditionIds":["repo"]},{"id":"atomic-new-branch-benchmark","statement":"The first fresh 1.58.38 mutation reports repositoryBranchCreateMs=0 and branchCreationMode=atomic_new_branch.","proofConditionIds":["repo"]},{"id":"no-product-release","statement":"The merged workflow-only push selects no product runtime targets and completes canonical release planning successfully.","proofConditionIds":["release"]},{"id":"refreeze","statement":"Control-plane maintenance is refrozen after terminal proof.","proofConditionIds":["refrozen"]}],"objective":"Unfreeze the control plane and continue the exact release-plan checkout-action removal mission. Use the explicit ai/* branch, apply the already-specified workflow/test edits, prove this fresh 1.58.38 mutation has repositoryBranchCreateMs=0 with atomic_new_branch mode, canonical Gate, squash merge, prove the workflow-only push uses event_native planning with no checkout action-definition fetch and selects no product runtime, then refreeze.","constraints":[{"id":"safety","statement":"Preserve canonical Gate, squash merge, protected-main recovery, exact source binding, affected-target ownership, and fail-closed fallback semantics.","proofConditionIds":["repo","release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Current source and regression coverage prove the release-plan event-native path has no checkout action dependency and the exact shell git fallback remains bounded and authenticated.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release","kind":"release","claim":"The merged workflow-only push completes event-native planning without a checkout action-definition fetch and selects no product runtime targets.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"refrozen","kind":"release","claim":"Control-plane maintenance is refrozen after the verified no-product release.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"55421ddebfb4999c72430e383924bce8ffac57bda2d52f88476ffb57def62ba9","requestContractRevision":2,"previousRequestContractHash":"3e8d411619f7f9e6356a26f3f00acf1a509c3845ab444d99299fd94c9bedd5d9"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:27:03.576301+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:553eb4db-0d17-4ea5-a231-c4b088ebbc89:request-contract:55421ddebfb4999c72430e383924bce8ffac57bda2d52f88476ffb57def62ba9","mission_step_id":"670a7941-5fec-4d1a-bbbb-f8b228dd087e","command_center_event_id":"553eb4db-0d17-4ea5-a231-c4b088ebbc89"},{"id":"b86ed145-e88e-40c4-b18e-a16326165ae0","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-7a8e4a619482","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":21546,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-03T02:37:59.798Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.69-paul-friend-voice","prNumber":null,"terminal":false,"missionId":"7a8e4a61-9482-486a-90b2-e6ed9934b2c6","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":635,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":635,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":635,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":635,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"7a8e4a61-9482-486a-90b2-e6ed9934b2c6"},"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":1549,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:38:01.240541+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7a8e4a61-9482-486a-90b2-e6ed9934b2c6:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"7c13e1e4-220b-459d-9c7c-18758c36c193","command_center_event_id":"7a8e4a61-9482-486a-90b2-e6ed9934b2c6"},{"id":"b8716bcd-489f-4319-961c-366b8f6b101d","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:48:02.400175+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:119419152","mission_step_id":"c1c54602-88f7-4e2f-9950-5c46185699e7","command_center_event_id":"9e6a4771-814a-4d3a-8559-fbc6788ac894"},{"id":"b8741a16-b262-43c5-8de0-568414140e49","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"07f78260-d6fc-42dc-b629-30da131b828f","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-8c04bea84e20","reason":null,"status":"pending","metrics":{"receiptBytes":49425,"releaseCount":0,"toolCallCount":39,"repeatedCallCount":24,"executorlessWaitMs":1500498,"firstUsefulResultAt":"2026-09-28T13:17:30.172Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3991,"terminal":false,"missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"b9356123038c132e1efb2bfab8dc82edef3ccef7","timingsMs":{"queue":276,"total":333,"execution":57},"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-b9356123038c","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"07f78260-d6fc-42dc-b629-30da131b828f","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"07f78260-d6fc-42dc-b629-30da131b828f","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/redfish-roofing/roof-measurement","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12543,"releaseTargets":{"frontend":true,"onrunner":false,"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":1783,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:42:32.081508+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"b9356123038c132e1efb2bfab8dc82edef3ccef7","external_id":"07f78260-d6fc-42dc-b629-30da131b828f","receipt_type":"visual_proof_started","idempotency_key":"mission:8c04bea8-4e20-43c8-8b0e-56d79150cdd6:visual-start:07f78260-d6fc-42dc-b629-30da131b828f","mission_step_id":"d411668f-fe4a-4ab5-80d6-0d9bde8b75cc","command_center_event_id":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},{"id":"b876b82a-9f9d-4394-a901-4fad1213823d","source":"cc-execution","status":"recorded","payload":{"objective":"Fix the broken mobile avatar in the Prestigious Card Grading LLC workspace. Scope only the PCG mobile shell/avatar presentation and interaction. Preserve tenant-nav-above-platform-nav and keep avatar as the final platform slot. Use the smallest frontend-only change and complete the canonical PR/Gate/merge/deploy flow with live proof.","tenantRef":"PCG","receivedAt":"2026-09-30T05:00:40.128Z","fingerprint":"da7a5a8e04a1256fcec208bc1ea2bdd5ec196b0b4ce98312b898dbe932717d12","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":"Fix the broken mobile avatar in the Prestigious Card Grading LLC workspace. Scope only the PCG mobile shell/avatar presentation and interaction. Preserve tenant-nav-above-platform-nav and keep avatar as the final platform slot. Use the smallest frontend-only change and complete the canonical PR/Gate/merge/deploy flow with 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":"Fix the broken mobile avatar in the Prestigious Card Grading LLC workspace. Scope only the PCG mobile shell/avatar presentation and interaction. Preserve tenant-nav-above-platform-nav and keep avatar as the final platform slot. Use the smallest frontend-only change and complete the canonical PR/Gate/merge/deploy flow with live proof.","wordingChanged":false,"canonicalIntent":"Fix the broken mobile avatar in the Prestigious Card Grading LLC workspace. Scope only the PCG mobile shell/avatar presentation and interaction. Preserve tenant-nav-above-platform-nav and keep avatar as the final platform slot. Use the smallest frontend-only change and complete the canonical PR/Gate/merge/deploy flow with live proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"legacy_derived","version":1,"outcomes":[{"id":"outcome-1","statement":"Fix the broken mobile avatar in the Prestigious Card Grading LLC workspace. Scope only the PCG mobile shell/avatar presentation and interaction. Preserve tenant-nav-above-platform-nav and keep avatar as the final platform slot. Use the smallest frontend-only change and complete the canonical PR/Gate/merge/deploy flow with live proof.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]}],"objective":"Fix the broken mobile avatar in the Prestigious Card Grading LLC workspace. Scope only the PCG mobile shell/avatar presentation and interaction. Preserve tenant-nav-above-platform-nav and keep avatar as the final platform slot. Use the smallest frontend-only change and complete the canonical PR/Gate/merge/deploy flow with live proof.","constraints":[{"id":"visual-artifact-scope","statement":"The requested visual artifact type is authoritative: workspace only; must not include website. Do not add unrelated or mixed visual surfaces unless the owner explicitly requested them.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]},{"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","proof-visual"]},{"id":"tenant-visual-isolation","statement":"Visual work is isolated to PCG. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]},{"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","proof-visual"]},{"id":"reference-visual-fidelity","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.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-visual"]},{"id":"responsive-visual-continuity","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.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-visual"]},{"id":"reference-visual-authority","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.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-visual"]},{"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":"bounded","blastRadius":"narrow"},"proof":{"requiredKinds":["runtime","visual"],"visualProofScope":"targeted","interactionRequired":true,"runtimeProofRequired":true},"scope":{"route":"/","roleRef":null,"tenantRef":"PCG","sourceTargets":["src/PrivateAppShell.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":["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":"parallel_non_overlapping_tenant_work","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","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":"Fix the broken mobile avatar in the Prestigious Card Grading LLC workspace. Scope only the PCG mobile shell/avatar presentation and interaction. Preserve tenant-nav-above-platform-nav and keep avatar as the final platform slot. Use the smallest frontend-only change and complete the canonical PR/Gate/merge/deploy flow with live proof.","canonicalIntent":"Fix the broken mobile avatar in the Prestigious Card Grading LLC workspace. Scope only the PCG mobile shell/avatar presentation and interaction. Preserve tenant-nav-above-platform-nav and keep avatar as the final platform slot. Use the smallest frontend-only change and complete the canonical PR/Gate/merge/deploy flow with live proof.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Fix the broken mobile avatar in the Prestigious Card Grading LLC workspace. Scope only the PCG mobile shell/avatar presentation and interaction. Preserve tenant-nav-above-platform-nav and keep avatar as the final platform slot. Use the smallest frontend-only change and complete the canonical PR/Gate/merge/deploy flow with live proof.","route":"/","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-visual","kind":"visual","claim":"Fix the broken mobile avatar in the Prestigious Card Grading LLC workspace. Scope only the PCG mobile shell/avatar presentation and interaction. Preserve tenant-nav-above-platform-nav and keep avatar as the final platform slot. Use the smallest frontend-only change and complete the canonical PR/Gate/merge/deploy flow with live proof.","route":"/","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Fix-the-broken-mobile-avatar-in-the-Prestigious-Card-Grading-LLC-workspace.-Scope-only-the-PCG-mobil","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":"64cd288bb0efb29f56521549075d5b18f950c5c8ccff6c3e8f70c6f0a1849f8e","requestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-30T05:00:40.433893+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:d8433ecf-97a5-4649-abc7-a60c573462a5:tenant-workstream-contribution:da7a5a8e04a1256fcec208bc1ea2bdd5ec196b0b4ce98312b898dbe932717d12","mission_step_id":null,"command_center_event_id":"d8433ecf-97a5-4649-abc7-a60c573462a5"},{"id":"b87c59e6-5b48-413f-bd6d-7135358a1d8d","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"From current protected main, execute the owner-authorized maintenance in one fresh repair generation: replace PR-scoped TypeScript build-info cache transport with repository-visible Forgejo v16 exact-source artifacts, keep semantic TypeScript validation mandatory, seed the first exact-head artifact in the Gate, refreeze at 1.58.19-cross-pr-typescript-cache-refreeze, pass KnockLaunch Gate, squash merge, release cc-execution, and prove the next frontend Gate restores the exact base artifact warm across a PR boundary. Do not alter unrelated release or product behavior.","wordingChanged":false,"canonicalIntent":"From current protected main, execute the owner-authorized maintenance in one fresh repair generation: replace PR-scoped TypeScript build-info cache transport with repository-visible Forgejo v16 exact-source artifacts, keep semantic TypeScript validation mandatory, seed the first exact-head artifact in the Gate, refreeze at 1.58.19-cross-pr-typescript-cache-refreeze, pass KnockLaunch Gate, squash merge, release cc-execution, and prove the next frontend Gate restores the exact base artifact warm across a PR boundary. Do not alter unrelated release or product behavior.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"cross_pr_typescript_cache","statement":"Replace PR-scoped TypeScript build-info caching with repository-visible exact-source artifacts reusable by sibling pull requests.","proofConditionIds":["cache_repository_proof","warm_runtime_proof"]},{"id":"refreeze_control_plane","statement":"Refreeze the control plane at version 1.58.19-cross-pr-typescript-cache-refreeze after the bounded cache repair.","proofConditionIds":["refreeze_repository_proof","refreeze_runtime_proof"]}],"objective":"From current protected main, execute the owner-authorized maintenance in one fresh repair generation: replace PR-scoped TypeScript build-info cache transport with repository-visible Forgejo v16 exact-source artifacts, keep semantic TypeScript validation mandatory, seed the first exact-head artifact in the Gate, refreeze at 1.58.19-cross-pr-typescript-cache-refreeze, pass KnockLaunch Gate, squash merge, release cc-execution, and prove the next frontend Gate restores the exact base artifact warm across a PR boundary. Do not alter unrelated release or product behavior.","constraints":[{"id":"owner_directive","statement":"Owner directive: Unfreeze the control plane, fix cross-PR TypeScript cache reuse, then refreeze the control plane.","proofConditionIds":["refreeze_repository_proof"]},{"id":"typescript_mandatory","statement":"TypeScript semantic validation remains mandatory; only cache transport and visibility are changed.","proofConditionIds":["cache_repository_proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"cache_repository_proof","kind":"repository","claim":"Protected source uses Forgejo repository-visible exact-source TypeScript build-info artifacts instead of PR-scoped TypeScript actions/cache transport.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"warm_runtime_proof","kind":"runtime","claim":"A subsequent frontend Gate restores TypeScript build-info warm from the exact protected-main source tree artifact across a pull-request boundary.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"refreeze_repository_proof","kind":"repository","claim":"Protected main records controlPlaneFrozen true and version 1.58.19-cross-pr-typescript-cache-refreeze.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"refreeze_runtime_proof","kind":"runtime","claim":"Live Command Center reports version 1.58.19-cross-pr-typescript-cache-refreeze on the merged source SHA.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"58d3e018b561698606a90e61bb247fdbc09bda794c75bc987d872c3741fe69e1","requestContractRevision":3,"previousRequestContractHash":"c7743ebe531cd0a09ec6f10aa830b97fdd564f4ab9e68f0d6f480e4cf79a0d42"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T02:04:27.303396+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:7c885094-c866-4a15-a350-3d086988eb7a:request-contract-revision:3:58d3e018b561698606a90e61bb247fdbc09bda794c75bc987d872c3741fe69e1","mission_step_id":"abb25fff-bc83-4cef-a51a-8a5cb46871a8","command_center_event_id":"7c885094-c866-4a15-a350-3d086988eb7a"},{"id":"b87d7073-4dce-47a4-8a53-2d65aa1352ab","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-d4db8b8e4c1f","prNumber":2483,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"cc726263ac64a97a622e88e5dc6d68043c7bc9f3","branchDeletedAfterMerge":false,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T14:04:44.703875+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"cc726263ac64a97a622e88e5dc6d68043c7bc9f3","external_id":"2483","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:d4db8b8e-4c1f-47e1-a16c-eaab319a0cfa:merged-pr:2483:cc726263ac64a97a622e88e5dc6d68043c7bc9f3","mission_step_id":"226c9287-d3f8-417d-840e-937a89d0823a","command_center_event_id":"d4db8b8e-4c1f-47e1-a16c-eaab319a0cfa"},{"id":"b87e23f3-3779-4d75-aa46-fb3e5cd79268","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\":\"execute_mission\",\"status\":\"waiting_for_gate\",\"proofGate\":\"repair_mission_pr_handed_off_to_supervisor\"},\"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\":\"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-04T13:47:28.285112+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-581fa1f46468\",\"prNumber\":4730,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T10:18:25.709562+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:581fa1f4-6468-4746-ba75-a5582d665a72:owner-progress-heartbeat:119407273","mission_step_id":"28d0bf7f-5ed7-455f-9a75-08c40c65dae9","command_center_event_id":"581fa1f4-6468-4746-ba75-a5582d665a72"},{"id":"b87f8a08-109b-44e0-8787-95a26eb715e0","source":"forgejo","status":"retryable","payload":{"branch":"ai/objective-first-repair-8c8c3643ff05","merged":false,"prNumber":5237,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T20:16:06.468031+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":"66d55ec2403b5f30f6fc1bb5686327be2ff491c0","external_id":"5237","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:8c8c3643-ff05-4de8-9f6d-158b9593a594:closed-pr:5237:unmerged","mission_step_id":"cc8e872d-72b6-4550-9a1a-05d72cb30d8f","command_center_event_id":"8c8c3643-ff05-4de8-9f6d-158b9593a594"},{"id":"b881dc7c-38aa-418a-b88a-73ce8fdb52c3","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"60d7bd52cf4f72de7293d83f01be855d6c4e3cf2","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"60d7bd52cf4f72de7293d83f01be855d6c4e3cf2","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":"9ed78b7a0f83b86ddd37dbe1760686046a73c3fe686b5af6824cdba3a1baf244","forgejoWorkflowProof":{"runId":12935,"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-29T03:25:38.232222+00:00","proof_gate":"canonical_release_pending","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:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"b868a3b4-1664-4361-806f-c3e18a571edc","command_center_event_id":"5b6d37f4-68aa-4a81-9a01-a7893262b15f"},{"id":"b883ee5b-1363-4040-adcc-e1dd2277c521","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Continue the exact same Gate shallow-history optimization after a local test-anchor miss; no provider mutation occurred.","baseSha":"cf3cb32d45f3318e5914587ed00c503e867835cd","issuedAt":1788525779860,"expiresAt":1788525959860,"missionId":"d6e7ac28-f7e6-4354-9a0f-71210ab8098f","authorizationId":"2065d3f9-b92f-4a44-9604-b382899a9e17","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:43:00.361563+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"cf3cb32d45f3318e5914587ed00c503e867835cd","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:2065d3f9-b92f-4a44-9604-b382899a9e17","mission_step_id":"1307263d-558e-4ffb-a73d-ee9a57fafba7","command_center_event_id":"d6e7ac28-f7e6-4354-9a0f-71210ab8098f"},{"id":"b883f249-782c-4692-b034-baf085fb4176","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-nonmail-mobile-20260820","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":96509,"releaseCount":0,"toolCallCount":73,"repeatedCallCount":38,"ownerInterruptionCount":0},"version":"1.48.9-single-mutation-lane","prNumber":493,"terminal":false,"missionId":"e3ce05a6-7c59-4211-9158-5ee5f40c794e","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":"18f607a97e6f693415ef71fcebfed2f4fc789027","timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"e3ce05a6-7c59-4211-9158-5ee5f40c794e"},"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":4986,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-20T19:02:14.917833+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":"18f607a97e6f693415ef71fcebfed2f4fc789027","external_id":"493","receipt_type":"execute_mission","idempotency_key":"mission:e3ce05a6-7c59-4211-9158-5ee5f40c794e:execute_mission:canonical_release_transport_retryable","mission_step_id":"f3aa2e87-a124-4173-b8cc-5bad4ab3eeb3","command_center_event_id":"e3ce05a6-7c59-4211-9158-5ee5f40c794e"},{"id":"b885412e-744a-4fd1-b15f-38861fdabe32","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-996c4218c9b4","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":11024,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-29T00:43:30.140Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.59.4-adaptive-gate-recovery","prNumber":4064,"terminal":false,"missionId":"996c4218-c9b4-40af-9783-1558fff61898","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4261,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1276,"missionSetupMs":297,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":297,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":297,"repositoryMutationMs":2985,"repositoryProviderMs":2985,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1825,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":297,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1160},"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":"996c4218-c9b4-40af-9783-1558fff61898"},"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":3774,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T00:43:35.594671+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4064","receipt_type":"execute_mission","idempotency_key":"mission:996c4218-c9b4-40af-9783-1558fff61898:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"b79a43f9-4510-42d9-a67f-ddb29eee7dab","command_center_event_id":"996c4218-c9b4-40af-9783-1558fff61898"},{"id":"b8874850-0d3d-44a4-8ee1-95a603224677","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":null,"owner_action_to_pr_ms":null,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":null},"ownerWaitLiveAt":"2026-10-02T00:58:35.192Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:57:07.531629+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:b3b2f94e-db9c-4526-8575-aea80e200751:owner-wait-live","mission_step_id":"6e51f888-cc37-464c-9ccc-9e7f48ac8a3f","command_center_event_id":"b3b2f94e-db9c-4526-8575-aea80e200751"},{"id":"b8885e1f-7ef7-4f58-9b45-7d289cde2693","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-efe81c59df75","writes":[],"patches":[],"version":1,"approved":true,"missionId":"efe81c59-df75-4ed9-b270-98054609505b","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/App.tsx"],"anchored_edits":[{"path":"src/App.tsx","anchor":"function StandardApplicationRoot() {","replacement":"function IsolatedAgreementApplicationRoot() {\n  return (\n    <ErrorBoundary>\n      <QueryClientProvider client={queryClient}>\n        <OfflineQueryPersistenceBoot client={queryClient} />\n        <HelmetProvider>\n          <TooltipProvider>\n            <Sonner />\n            <BrowserRouter useTransitions={false}>\n              <PlatformScrollRestoration />\n              <GlobalA11y />\n              <AppRouteShell />\n            </BrowserRouter>\n          </TooltipProvider>\n        </HelmetProvider>\n      </QueryClientProvider>\n    </ErrorBoundary>\n  );\n}\n\nfunction StandardApplicationRoot() {"},{"path":"src/App.tsx","anchor":"function shouldUseServiceUnavailableRoot() {","replacement":"function shouldUseIsolatedAgreementRoot() {\n  if (typeof window === \"undefined\") return false;\n  const pathname = window.location.pathname.toLowerCase().replace(/\\/+$/g, \"\") || \"/\";\n  return pathname === \"/sign-agreement\" || pathname === \"/agreement-verification\";\n}\n\nfunction shouldUseServiceUnavailableRoot() {"},{"path":"src/App.tsx","anchor":"const App = () =>\n  shouldUseServiceUnavailableRoot()\n    ? <ServiceUnavailableApplicationRoot />\n    : shouldUseIsolatedExperiencePreviewRoot()","replacement":"const App = () =>\n  shouldUseServiceUnavailableRoot()\n    ? <ServiceUnavailableApplicationRoot />\n    : shouldUseIsolatedAgreementRoot()\n      ? <IsolatedAgreementApplicationRoot />\n      : shouldUseIsolatedExperiencePreviewRoot()"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"efe81c59-df75-4ed9-b270-98054609505b","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/App.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":"44fb7eccfc9ee7265d7e063c7b60a52c5299649c337664aa506815989862d27d","replayCount":0,"serializedBytes":2535},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T22:54:00.530345+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:efe81c59-df75-4ed9-b270-98054609505b:repository-mutation-intent:44fb7eccfc9ee7265d7e063c7b60a52c5299649c337664aa506815989862d27d:0","mission_step_id":"b35eea77-2835-4cf1-8bad-f151c4d25093","command_center_event_id":"efe81c59-df75-4ed9-b270-98054609505b"},{"id":"b88955b4-13ce-492b-a50e-8c1a40c57e9d","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ab27e7eda756","reason":"anchored_edit_anchor_not_unique:src/PrivateAppShell.tsx","status":"blocked","metrics":{"receiptBytes":10664,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":38755,"firstUsefulResultAt":"2026-09-25T18:48:10.939Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.282-lineage-main-guard","prNumber":null,"terminal":false,"missionId":"ab27e7ed-a756-40c6-a073-b8b3755f08b7","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":554,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":554,"missionSetupMs":265,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":265,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":265,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":265,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"ab27e7ed-a756-40c6-a073-b8b3755f08b7"},"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":1489,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T18:48:51.348013+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ab27e7ed-a756-40c6-a073-b8b3755f08b7:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"8189fad7-6a84-48ab-b4ff-f29ad3a7a0c9","command_center_event_id":"ab27e7ed-a756-40c6-a073-b8b3755f08b7"},{"id":"b889d9a4-1800-4b55-80b0-030180a68c03","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b5caa7865cbc","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":39759,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":449843,"firstUsefulResultAt":"2026-09-27T21:25:04.192Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":3908,"terminal":false,"missionId":"b5caa786-5cbc-4f48-bda1-698ebdf96507","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5497,"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":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},"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-09-27T21:30:25.198521+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3908","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b5caa786-5cbc-4f48-bda1-698ebdf96507:automatic-mission-resume:3908:repair_mission_pr_ready_retryable","mission_step_id":"b247ce55-a745-4562-963f-37734a6dd636","command_center_event_id":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},{"id":"b88b29ff-d930-4cd6-94fb-48ab946d5f0b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/big-papis-truck-click-20260821","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.50.9-specialized-read-budget","prNumber":null,"terminal":false,"missionId":"c1e3ca82-e8c7-4bcd-8d08-437bc59c1225","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"c1e3ca82-e8c7-4bcd-8d08-437bc59c1225"},"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":3761,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T15:43:23.529772+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c1e3ca82-e8c7-4bcd-8d08-437bc59c1225:execute_mission:repair_mission_execution_retryable","mission_step_id":"b1cae6c7-0886-48cc-97f4-44c74d3715b0","command_center_event_id":"c1e3ca82-e8c7-4bcd-8d08-437bc59c1225"},{"id":"b88e6cca-ef7d-45b5-be13-c15e9acff5c4","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/curri-agent-success","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":null,"terminal":false,"missionId":"4f4604c3-703f-4081-91e3-f67ebc1bdb22","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 /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"4f4604c3-703f-4081-91e3-f67ebc1bdb22"},"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":11654,"likelyAffectedFiles":["src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/command-center-platform-mission-anchor.contract.test.ts","src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/command-center-mission-control.test.ts","scripts/validate-command-center-contracts.mjs","config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-22T15:36:09.051575+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:4f4604c3-703f-4081-91e3-f67ebc1bdb22:execute_mission:repair_mission_synthesis_ready","mission_step_id":"ec794f54-bd12-42aa-b444-8bfd1e285d3b","command_center_event_id":"4f4604c3-703f-4081-91e3-f67ebc1bdb22"},{"id":"b88f7042-94c8-482f-89fd-2c00b58b3f9f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"forgejo_release_source_not_current_main","status":"blocked","metrics":{"receiptBytes":11521,"releaseCount":2,"toolCallCount":11,"repeatedCallCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":95,"terminal":false,"missionId":"2859119f-574c-4f7a-af70-5b6d67ddc353","operation":"automatic_mission_resume","proofGate":"canonical_release_blocked","sourceSha":"d1531f19025225b9727b4b368eed6cd530856804","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"2859119f-574c-4f7a-af70-5b6d67ddc353"},"performance":null,"deploymentId":"forgejo-main-d1531f190252","workflowRunId":279,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["admin-manage"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":316,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T04:34:49.977153+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"95","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2859119f-574c-4f7a-af70-5b6d67ddc353:automatic-mission-resume:95:canonical_release_blocked","mission_step_id":"8535a43b-4512-45d1-ba0a-feb0a05d3e75","command_center_event_id":"2859119f-574c-4f7a-af70-5b6d67ddc353"},{"id":"b891cf17-3805-407d-b939-19c11b5fa69b","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-6c10d0b5485c","prNumber":3092,"nextAction":null,"mergeCommitSha":"6e68eb3b25400c5f91f5336aee8a6f58d542cc69","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T12:32:40.686058+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"6e68eb3b25400c5f91f5336aee8a6f58d542cc69","external_id":"3092","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:6c10d0b5-485c-4ea6-a507-e3484caca23a:merged-pr:3092:6e68eb3b25400c5f91f5336aee8a6f58d542cc69","mission_step_id":"66bd49e6-f7e5-4e90-a641-0f543f5c3823","command_center_event_id":"6c10d0b5-485c-4ea6-a507-e3484caca23a"},{"id":"b891ff7e-e100-42ad-9727-3cd6715d3c7b","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"6fd1e9c0f5b07bb9503cf6d5800a10d446b86b29","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"6fd1e9c0f5b07bb9503cf6d5800a10d446b86b29","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1579","runId":1579,"status":"success","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T21:41:05.831297+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"6fd1e9c0f5b07bb9503cf6d5800a10d446b86b29","external_id":"forgejo-main-6fd1e9c0f5b0","receipt_type":"canonical_release_status","idempotency_key":"mission:449c5012-6573-456f-b647-6d8965db7ff6:forgejo-release-status:6fd1e9c0f5b07bb9503cf6d5800a10d446b86b29:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"9b1ce2ac-3bd1-4ab0-82dc-97b325e8faed","command_center_event_id":"449c5012-6573-456f-b647-6d8965db7ff6"},{"id":"b892ed65-41f3-4222-95d8-b82030176f14","source":"cc-execution","status":"recorded","payload":{"objective":"Continue existing PR #1396 only. Refresh the SAME branch and PR onto current protected main after its stale-base-only Gate failure, preserving exactly its one-file public/whats-my-progress/coming-soon.html implementation. Re-run KnockLaunch Gate; if green, squash merge and release the affected static/frontend target only. Do not create another branch or PR and do not alter Redfish data.","tenantRef":"6789c016-47c0-495a-8560-6b455a5844ba","receivedAt":"2026-09-02T05:21:43.039Z","fingerprint":"4ce2b629a8ce59b9db8420238f7a8bda2680250420d1de38d6d7083d5077288e","workstreamRef":"6789c01647c0495a85606b455a5844ba","conversationId":null,"canonicalBranch":"ai/whatsmyprogress-static-waitlist-cta-20260902","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue existing PR #1396 only. Refresh the SAME branch and PR onto current protected main after its stale-base-only Gate failure, preserving exactly its one-file public/whats-my-progress/coming-soon.html implementation. Re-run KnockLaunch Gate; if green, squash merge and release the affected static/frontend target only. Do not create another branch or PR and do not alter Redfish data.","wordingChanged":false,"canonicalIntent":"Continue existing PR #1396 only. Refresh the SAME branch and PR onto current protected main after its stale-base-only Gate failure, preserving exactly its one-file public/whats-my-progress/coming-soon.html implementation. Re-run KnockLaunch Gate; if green, squash merge and release the affected static/frontend target only. Do not create another branch or PR and do not alter Redfish data.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"ship-pr","statement":"PR #1396 is refreshed, passes KnockLaunch Gate, squash merges, and its static/frontend change reaches production.","proofConditionIds":["proof-repository","proof-production"]}],"objective":"Continue existing PR #1396 only. Refresh the SAME branch and PR onto current protected main after its stale-base-only Gate failure, preserving exactly its one-file public/whats-my-progress/coming-soon.html implementation. Re-run KnockLaunch Gate; if green, squash merge and release the affected static/frontend target only. Do not create another branch or PR and do not alter Redfish data.","constraints":[{"id":"same-pr","statement":"Continue only PR #1396 and branch ai/whatsmyprogress-static-waitlist-cta-20260902; no duplicate branch or PR.","proofConditionIds":["proof-repository"]},{"id":"tenant-boundary","statement":"No Redfish tenant data is written; the existing waitlist endpoint remains fixed to WhatsMyProgress.com tenant 6789c016-47c0-495a-8560-6b455a5844ba.","proofConditionIds":["proof-production"]},{"id":"scope","statement":"Preserve exactly the one-file public/whats-my-progress/coming-soon.html implementation while refreshing onto current main.","proofConditionIds":["proof-repository"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"PR #1396 is refreshed onto current protected main, passes KnockLaunch Gate, and is squash merged.","route":"https://whatsmyprogress.com/redfish-roofing","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-production","kind":"runtime","claim":"Production https://whatsmyprogress.com/redfish-roofing serves the merged static CTA implementation containing Get Notified When We Launch.","route":"https://whatsmyprogress.com/redfish-roofing","roleRef":null,"userRef":null,"required":true,"expectedText":"Get Notified When We Launch","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/whatsmyprogress-static-waitlist-cta-20260902","conversationContext":"{\"requestContract\":{\"version\":1,\"source\":\"owner_explicit\",\"objective\":\"Ship the existing WhatsMyProgress.com launch CTA repair from PR #1396 onto current protected main and production without changing its scope.\",\"intent\":{\"rawUtterance\":\"the button needs to work and look responsive and actually LOG THE PERSONS INFO into the tenant. The button is the Get Notified When We Launch button. The tenant is the WhatsMyProgress.com tenant.\",\"canonicalIntent\":\"Ship the existing live-static WhatsMyProgress CTA implementation and preserve its fixed WhatsMyProgress tenant data boundary.\",\"wordingChanged\":false,\"resolutionStatus\":\"exact\",\"uniqueResolution\":true,\"clarificationRequired\":false},\"outcomes\":[{\"id\":\"ship-pr\",\"statement\":\"PR #1396 is refreshed, passes KnockLaunch Gate, squash merges, and its static/frontend change reaches production.\",\"proofConditionIds\":[\"proof-repository\",\"proof-production\"]}],\"constraints\":[{\"id\":\"same-pr\",\"statement\":\"Continue only PR #1396 and branch ai/whatsmyprogress-static-waitlist-cta-20260902; no duplicate branch or PR.\",\"proofConditionIds\":[\"proof-repository\"]},{\"id\":\"tenant-boundary\",\"statement\":\"No Redfish tenant data is written; the existing waitlist endpoint remains fixed to WhatsMyProgress.com tenant 6789c016-47c0-495a-8560-6b455a5844ba.\",\"proofConditionIds\":[\"proof-production\"]},{\"id\":\"scope\",\"statement\":\"Preserve exactly the one-file public/whats-my-progress/coming-soon.html implementation while refreshing onto current main.\",\"proofConditionIds\":[\"proof-repository\"]}],\"proofConditions\":[{\"id\":\"proof-repository\",\"kind\":\"repository\",\"claim\":\"PR #1396 is refreshed onto current protected main, passes KnockLaunch Gate, and is squash merged.\",\"required\":true},{\"id\":\"proof-production\",\"kind\":\"runtime\",\"claim\":\"Production https://whatsmyprogress.com/redfish-roofing serves the merged static CTA implementation containing Get Notified When We Launch.\",\"required\":true,\"route\":\"https://whatsmyprogress.com/redfish-roofing\",\"expectedText\":\"Get Notified When We Launch\"}],\"terminalPolicy\":\"all_required_proof_conditions_satisfied_after_live_release\",\"valid\":true,\"validationErrors\":[]}}","requestContractHash":"87eb3b173b8f1bcd79dcfbe9abcec39be8df85edb9416024ce4281dd259317ee","requestContractRevision":1},"tenant_id":"6789c016-47c0-495a-8560-6b455a5844ba","created_at":"2026-09-02T05:21:43.61176+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:93ad3bb7-025b-46dd-a242-494ab5adb185:tenant-workstream-contribution:4ce2b629a8ce59b9db8420238f7a8bda2680250420d1de38d6d7083d5077288e","mission_step_id":null,"command_center_event_id":"93ad3bb7-025b-46dd-a242-494ab5adb185"},{"id":"b89363d6-f48c-463b-95a9-fbf803ab1b29","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":"c54a966474f911281ff2208cd566de007a57b13f","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","supabase-migrations/live"],"sourceSha":"c54a966474f911281ff2208cd566de007a57b13f","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["console-ops","system-backup"]},"releaseTargetStates":{"migrations":"success","supabaseEdge":"success"},"requestContractHash":"77e27f8fb3eb3ec732b64e4d574520c8bd815a54090b354e969dc75168410e7f","forgejoWorkflowProof":{"runId":15629,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"migrations":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"migrations":"success","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T14:09:57.892735+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"c54a966474f911281ff2208cd566de007a57b13f","external_id":"forgejo-main-c54a966474f9","receipt_type":"canonical_release_status","idempotency_key":"mission:13eab7c3-38a8-4df9-84d1-c4e85ce97d46:forgejo-release-status:c54a966474f911281ff2208cd566de007a57b13f:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|supabase-migrations/live=success","mission_step_id":"510db865-c49e-4225-ba88-167604c602fd","command_center_event_id":"13eab7c3-38a8-4df9-84d1-c4e85ce97d46"},{"id":"b894fe3c-ed5e-4df8-90f9-ea1e99f868d2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-af312d2d8865","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":25930,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":78291,"firstUsefulResultAt":"2026-09-26T14:35:46.755Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3799,"terminal":false,"missionId":"af312d2d-8865-4e70-b4b0-e0bd973b9557","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5459,"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":"af312d2d-8865-4e70-b4b0-e0bd973b9557"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"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":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T14:37:05.085626+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3799","receipt_type":"automatic_mission_resume","idempotency_key":"mission:af312d2d-8865-4e70-b4b0-e0bd973b9557:automatic-mission-resume:3799:repair_mission_pr_ready_retryable","mission_step_id":"f780ba34-f9f7-4645-9c1c-c51c420f74af","command_center_event_id":"af312d2d-8865-4e70-b4b0-e0bd973b9557"},{"id":"b8954c38-fafb-46f1-bed1-3f9b4f2d74f1","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"e740f555d28fa6cca7fecf0e97fb96c9ca8dd3be","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"e740f555d28fa6cca7fecf0e97fb96c9ca8dd3be","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":"6969f89ce51a6e9cd7cacff650273489af7745807eeea2bd4309684b4d6fc9e0","forgejoWorkflowProof":{"runId":7960,"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-14T01:54:31.285447+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"e740f555d28fa6cca7fecf0e97fb96c9ca8dd3be","external_id":"forgejo-main-e740f555d28f","receipt_type":"canonical_release_status","idempotency_key":"mission:3b8d9b2c-e800-4b21-a61f-db998109644c:forgejo-release-status:e740f555d28fa6cca7fecf0e97fb96c9ca8dd3be:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"4ba55ec0-4d0e-4a8d-ac36-6bebaa190422","command_center_event_id":"3b8d9b2c-e800-4b21-a61f-db998109644c"},{"id":"b89736c1-d9de-42f3-a128-bd5a60473905","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-queue-hygiene-read-retries-20260824","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":1048,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.22-queue-hygiene-bounded-reads","prNumber":681,"terminal":false,"missionId":"06c42623-eabe-4540-8104-09f558ddb850","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"4c20548fce41cea24be06060c06f783a4155611f","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"06c42623-eabe-4540-8104-09f558ddb850"},"performance":null,"deploymentId":"forgejo-main-4c20548fce41","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":5345,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-24T18:42:31.628769+00:00","proof_gate":"canonical_release_dispatched","source_sha":"4c20548fce41cea24be06060c06f783a4155611f","external_id":"forgejo-main-4c20548fce41","receipt_type":"execute_mission","idempotency_key":"mission:06c42623-eabe-4540-8104-09f558ddb850:execute_mission:canonical_release_dispatched","mission_step_id":"e6b1a3c7-5276-409e-8e57-8215eb6f2203","command_center_event_id":"06c42623-eabe-4540-8104-09f558ddb850"},{"id":"b8991e65-58f9-451f-9289-e790f18fc018","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"4901fb6b7b810f4e74b53c9383356745e69eb414","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Fix the proposal-send entry-point fragmentation class across KNOCKLAUNCH. The current failure is that some proposal surfaces (including KNOCKLAUNCH Owner Deal Desk /knock-launch-os/proposals) still expose a legacy 'Send for signature' action while the shared UniversalProposalWorkspace has a review-first send composer with recipient message and exact email preview. Make the shared proposal-send contract canonical so every proposal send/signature entry point routes into the same review-first composer before any email/signature delivery occurs.","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":"dddd7bfa69cc3060d674a5cfa24d3684d49d3586bc4fb016566262ab28302d12","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":"dddd7bfa69cc3060d674a5cfa24d3684d49d3586bc4fb016566262ab28302d12"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T12:44:41.531387+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"4901fb6b7b810f4e74b53c9383356745e69eb414","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:43899946-e338-495b-b014-83ad37d832f0:request-contract:dddd7bfa69cc3060d674a5cfa24d3684d49d3586bc4fb016566262ab28302d12:4901fb6b7b810f4e74b53c9383356745e69eb414:verified:","mission_step_id":"4cc5ec96-22ca-484b-80c6-26afb7003880","command_center_event_id":"43899946-e338-495b-b014-83ad37d832f0"},{"id":"b89a78e7-57cd-4e9e-840e-a159410c2c8e","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/forgejo-merge-queue-exact-head-fallback-20260908","reason":null,"status":"complete","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":2179,"terminal":false,"missionId":"210f64b2-71c3-402c-9a7e-52e2cae2546e","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3578,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":395,"providerAuthMs":0,"ledgerPrepareMs":205,"ledgerReconcileMs":0,"lineageReconcileMs":190,"resolvePreflightMs":395,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":205,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"210f64b2-71c3-402c-9a7e-52e2cae2546e"},"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":2820,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T21:52:22.67115+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"2179","receipt_type":"execute_mission","idempotency_key":"mission:210f64b2-71c3-402c-9a7e-52e2cae2546e:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"d06fb189-c060-4580-b1d5-5587d714bb80","command_center_event_id":"210f64b2-71c3-402c-9a7e-52e2cae2546e"},{"id":"b89bf638-6032-4299-8023-da30e4da754b","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0","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":"86580aeebe89f49f6c3514af6443a9619ed9966c2692061bf72d101e8f86a3b8","forgejoWorkflowProof":{"runId":11393,"source":"exact_live_cc_execution_runtime_identity","status":"running","liveSha":"cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0","results":{},"proofGate":"cc_execution_exact_live_runtime_substitutes_transient_workflow_receipt","sourceSha":"cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0","conclusion":"running","deploymentId":"forgejo-main-cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0","targetStates":{"ccExecution":"pending"},"runtimeVersion":"1.58.239-stale-gate-evidence-reuse","targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"},"workflowReceiptSubstituted":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0","compareStatus":"identical","workflowRunId":11393,"identitySource":"local_build_metadata","runtimeVersion":"1.58.239-stale-gate-evidence-reuse","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:58:26.255639+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0","external_id":"forgejo-main-cfc0d0cb3ec2","receipt_type":"canonical_release_status","idempotency_key":"mission:ae53d005-9d3c-44a4-9374-5fc6219b79cf:forgejo-release-status:cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"3fa7b8cd-acef-4480-92c6-47ff40c6c423","command_center_event_id":"ae53d005-9d3c-44a4-9374-5fc6219b79cf"},{"id":"b89e301f-daf3-417d-8d6b-55f9944a8aa7","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"pending","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"2b57df054966516cba427d986810cbcd97979d5c","missing":[],"pending":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"97eb696b505bacb1490e46534e3bc67d7c90a864","releaseState":"pending","sourceInMain":false,"compareStatus":"ancestry_read_retryable","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false},"releaseTargetStates":{},"requestContractHash":"dc784b94487189f74bb68610144047810c9fa37a5283ef2289b73dbc74fcd57f","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"releaseSourceVerified":false,"ccExecutionRuntimeProof":{"liveSha":"2b57df054966516cba427d986810cbcd97979d5c","deploymentId":"forgejo-main-2b57df054966516cba427d986810cbcd97979d5c","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.67.12-pr-merge-base-freshness","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:52:50.302562+00:00","proof_gate":"canonical_release_pending","source_sha":"97eb696b505bacb1490e46534e3bc67d7c90a864","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:156dda51-be1f-47cd-83cb-0c33b230daff:forgejo-release-status:97eb696b505bacb1490e46534e3bc67d7c90a864:pending:forgejo-main/source=pending|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"cdd611cc-722b-4cd9-b421-6908142c0484","command_center_event_id":"156dda51-be1f-47cd-83cb-0c33b230daff"},{"id":"b89e7667-17e9-4e5b-b366-a6a58158c329","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"cff79e0424941b519e52b114a5905e313cbfcb53","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-recovery","satisfied":false,"statement":"After requester chat/MCP loss, a fresh no-ID recovery resolves the newest actually-created durable mission rather than a stale mission made artificially recent by heartbeats, and a repository/runtime-only explicit contract terminalizes without invented visual proof.","proofConditionIds":["proof-repository","proof-runtime"]}],"satisfied":false,"constraints":[{"id":"canonical-machinery-only","satisfied":false,"statement":"Use only the existing Command Center mission ledger, supervisor, Forgejo Gate, canonical merge, canonical release conductor, and affected cc-execution/Supabase Edge owners. Do not create a parallel recovery or release system.","proofConditionIds":["proof-repository","proof-runtime"]},{"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-repository","proof-runtime"]},{"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-repository","proof-runtime"]}],"contractHash":"b86d9c89433f81bfa100a554f20eb6f4b9c8cbb497373de61acb6045f4bd14bd","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"reason":null,"gateRunId":null,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":"workers/cc-execution/test/release-orchestration-invariants.test.js","releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"b86d9c89433f81bfa100a554f20eb6f4b9c8cbb497373de61acb6045f4bd14bd","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":false,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"proof-runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"b86d9c89433f81bfa100a554f20eb6f4b9c8cbb497373de61acb6045f4bd14bd"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository","visual"],"activeReleaseTargets":["ccExecution","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":5},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T00:51:54.088667+00:00","proof_gate":"request_contract_pending","source_sha":"cff79e0424941b519e52b114a5905e313cbfcb53","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:403bc395-9d19-486a-9409-06e51cc91573:request-contract:b86d9c89433f81bfa100a554f20eb6f4b9c8cbb497373de61acb6045f4bd14bd:cff79e0424941b519e52b114a5905e313cbfcb53:pending:repository,visual","mission_step_id":"0a0f627e-463f-4241-9a1b-2fe7936bc355","command_center_event_id":"403bc395-9d19-486a-9409-06e51cc91573"},{"id":"b8a2addf-929b-4af6-9422-453ecfc052f7","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-4a92176aaa26","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.168-cancelled-release-dispatch-readback","prNumber":2955,"terminal":false,"missionId":"4a92176a-aa26-48b9-8d36-665cc8404b18","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":19650,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":2427,"missionSetupMs":353,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":353,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":353,"repositoryMutationMs":17223,"repositoryProviderMs":17223,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":6403,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":353,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":10820},"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":"4a92176a-aa26-48b9-8d36-665cc8404b18"},"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":3249,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T21:13:08.869922+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"2955","receipt_type":"execute_mission","idempotency_key":"mission:4a92176a-aa26-48b9-8d36-665cc8404b18:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"bbb64971-f4fc-41da-b6c6-d0f0b1d642ec","command_center_event_id":"4a92176a-aa26-48b9-8d36-665cc8404b18"},{"id":"b8a3b475-07a2-4d53-823b-f797cb2f03df","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":"59ba7c2ad72cb191dee6453e9d36b892a1d99443","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":"59ba7c2ad72cb191dee6453e9d36b892a1d99443","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["customer-portal","tenant-media-library"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"4aadeddc8c57c1f9766bee4040dec07be37fa10bc56df50a90c74a5fab632220","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/9964","runId":9964,"status":"running","sourceSha":"59ba7c2ad72cb191dee6453e9d36b892a1d99443","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-19T12:55:31.567944+00:00","proof_gate":"canonical_release_pending","source_sha":"59ba7c2ad72cb191dee6453e9d36b892a1d99443","external_id":"forgejo-main-59ba7c2ad72c","receipt_type":"canonical_release_status","idempotency_key":"mission:c6ba4218-f026-49d3-9f91-9c0014d39600:forgejo-release-status:59ba7c2ad72cb191dee6453e9d36b892a1d99443:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"02e19f20-9bb3-433f-a5a7-03e7c018feba","command_center_event_id":"c6ba4218-f026-49d3-9f91-9c0014d39600"},{"id":"b8a70101-ec19-4bc0-a40f-e53eb2a068ad","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-666dbb64c048","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":10851,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":103676,"firstUsefulResultAt":"2026-10-02T01:15:24.234Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4443,"terminal":false,"missionId":"666dbb64-c048-45dc-a04d-152afbf559e0","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"b4068ae152e50d3c5662e58f04959374c0e0de68","timingsMs":{"prReadinessMs":637,"approvedPlanMs":0,"shipAndProveMs":2909,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"666dbb64-c048-45dc-a04d-152afbf559e0"},"performance":null,"deploymentId":"forgejo-main-b4068ae152e5","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":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":1861,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T01:17:15.349535+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4443","receipt_type":"automatic_mission_resume","idempotency_key":"mission:666dbb64-c048-45dc-a04d-152afbf559e0:automatic-mission-resume:4443:canonical_release_reconciliation_pending","mission_step_id":"1ab518ad-cd1a-4ba4-bb5f-e8f29b95cd54","command_center_event_id":"666dbb64-c048-45dc-a04d-152afbf559e0"},{"id":"b8a7fa6a-7eb2-417e-b7a1-1a4ef61b403f","source":"cc-execution","status":"recorded","payload":{"objective":"Implement KNOCKLAUNCH Native Business Context v1 as a reusable platform primitive, proven through Big Papi's Iceys but designed cross-tenant. This is NOT a navbar redesign. Preserve the already-merged inbound email/event-opportunity and tenant scheduling work from PR #441. Build the architecture where Mail, Calendar, People, Money/Documents, Work, and Insights act on the same business reality without duplicate entry, exports, manual syncing, or isolated copies. Requirements: (1) add one canonical shared BusinessContext contract carrying tenant/contact/opportunity/event/work/job/document/proposal-or-invoice/payment/communication identity as applicable; (2) add shared context-preserving route/action helpers so clicking from Mail opens the exact Calendar date/event, exact People record, exact proposal/invoice context, or exact Work context rather than generic app landing pages; (3) add a deterministic next-action resolver that derives useful actions from existing record state instead of duplicating business data; (4) wire the existing inbound event opportunity flow to these native contextual actions; (5) introduce an action-driven attention/feed primitive for Home so the product can surface what needs attention rather than acting as an app launcher; (6) promote Calendar/Scheduling into the application-family architecture by wrapping the existing canonical scheduling engine rather than creating a second scheduler; (7) define a shared business-lifecycle event contract for transitions such as communication_received, opportunity_identified, event_scheduled, proposal_sent, proposal_accepted, work_created, invoice_due, payment_received, and followup_overdue, reusing existing persistence/ownership instead of inventing duplicate state; (8) add contract/regression tests proving context continuity and ownership boundaries across application families; (9) keep owner-facing language human and simple, preserve mobile behavior, and do not expose provider/vendor jargon. Use one fresh ai/* branch, one PR, KnockLaunch Gate, squash merge, affected production release only, and non-visual live proof. Do not run Visual Witness.","tenantRef":"bigpapisiceys","receivedAt":"2026-08-19T20:26:05.596Z","fingerprint":"ff7c40e3458f363b0d91cc78ce810e815123ecb6aef2927c43adcc00f4db6b44","workstreamRef":"bigpapisiceys","conversationId":null,"canonicalBranch":"ai/native-business-context-v1-20260819","requestedBranch":"ai/native-business-context-v1-20260819","conversationContext":"{\"delta\":\"Owner explicitly wants KNOCKLAUNCH to behave as one intelligent business operating system, not a boring navigation suite. Desired concrete flow: open Will's event email in Mail -> opportunity visible -> click date and see exact Calendar context -> open exact customer in People -> generate proposal in Money/Documents -> accepted event becomes Work -> payment appears in Money -> Insights surfaces stalls. No duplicate entry, exports, manual sync, or making the owner decide which app owns information. Applications are lenses over shared truth; context follows the user; business events drive deterministic propagation; navigation is secondary.\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T20:26:06.041674+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:a812cc50-a7e3-467a-99a5-ae9215642476:tenant-workstream-contribution:ff7c40e3458f363b0d91cc78ce810e815123ecb6aef2927c43adcc00f4db6b44","mission_step_id":null,"command_center_event_id":"a812cc50-a7e3-467a-99a5-ae9215642476"},{"id":"b8a8f3f1-615c-4dfd-b10a-b7dedcb768b3","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","src/__tests__/contracts/control-plane-speed.contract.test.ts","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"reason":"Owner requested continued PAUL intelligence/responsiveness improvement. This scoped control-plane repair adds one aggregate foreground deadline around the existing PR readiness orchestration so bounded inner retries cannot accumulate into long owner stalls. Same mission/PR recovery continues asynchronously; no new orchestration owner is introduced.","baseSha":"aacaae2f9509ed2dc16724e59dcaa49cd1b3415b","issuedAt":1790702464348,"expiresAt":1790702644348,"missionId":"e8fd4f38-9a3f-4ac8-a07b-bf14ed490526","authorizationId":"c807e39d-c38f-4fbd-822f-cb3eaabe25f8","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T17:21:04.693903+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"aacaae2f9509ed2dc16724e59dcaa49cd1b3415b","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c807e39d-c38f-4fbd-822f-cb3eaabe25f8","mission_step_id":"8a7bd79d-c266-4188-9541-41b9a450aed4","command_center_event_id":"e8fd4f38-9a3f-4ac8-a07b-bf14ed490526"},{"id":"b8aa3264-3723-4e4c-ab41-c03eb73bea42","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/big-papis-owner-hardening","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":3626,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.47.4-pr-native-freshness","prNumber":null,"terminal":false,"missionId":"300898c2-4d72-4bac-b56d-1bf533144322","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":null,"nextAction":"Resolve bounded authoritative Forgejo source targets, then continue this same mission with exact files or anchored_edits. Do not call the synthesis helper again until source exists.","receiptRef":{"mode":"full","missionId":"300898c2-4d72-4bac-b56d-1bf533144322"},"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":12549,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-18T23:52:57.675915+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:300898c2-4d72-4bac-b56d-1bf533144322:execute_mission:repair_mission_source_resolution_required","mission_step_id":"0b360075-61ee-4b32-8dac-dc2feaacf3a7","command_center_event_id":"300898c2-4d72-4bac-b56d-1bf533144322"},{"id":"b8aa46b5-5f8c-4180-8539-b2fa030f4186","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:19:16.933135+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3891,\"sourceSha\":\"5319938a8af44572a649bbba40659e4d27a500dc\",\"deploymentId\":\"canonical-release-5319938a8af4\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:58:11.841555+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:beb43fc0-8d50-4086-b2ab-e11bbcd951d2: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":"d0f30fc2-551e-473a-a676-e22faa16377b","command_center_event_id":"beb43fc0-8d50-4086-b2ab-e11bbcd951d2"},{"id":"b8aa50c9-30f6-48e6-80b2-1597103fb2a2","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"0b75168bd2d411a2e672bb4cc7b529ed76a7a6a2","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"0b75168bd2d411a2e672bb4cc7b529ed76a7a6a2","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"8c0e3ffd635fc0e201658d9a218865a44edc5e67fa51d2f6908e2d53a2723015","forgejoWorkflowProof":{"runId":16283,"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-06T11:53:57.520741+00:00","proof_gate":"canonical_release_pending","source_sha":"0b75168bd2d411a2e672bb4cc7b529ed76a7a6a2","external_id":"forgejo-main-0b75168bd2d4","receipt_type":"canonical_release_status","idempotency_key":"mission:b5f44bcf-e851-4fce-a6c9-54ab17d5805e:forgejo-release-status:0b75168bd2d411a2e672bb4cc7b529ed76a7a6a2:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"0ace381b-2b3d-47c1-9e49-c6069f6e2cab","command_center_event_id":"b5f44bcf-e851-4fce-a6c9-54ab17d5805e"},{"id":"b8acd000-3c64-4b16-add5-2db043a26af6","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Temporarily unfreeze the control plane only for the exact scoped maintenance needed to harden durable KNOCKLAUNCH mission visual-proof reconciliation. A terminal Visual Witness result marked witnessInfrastructureFailure must never be classified as an application remediation. Clear the stale witness job, keep the mission in visual_proof, and allow one bounded automatic replacement witness while preserving the same request-contract hash/source lineage. If visual infrastructure fails again after that bounded replacement, stop in visual_proof as an infrastructure failure requiring reasoning repair rather than reopening product implementation. Successful visual proof must reset the infrastructure retry state. Add contract regression coverage. Ship cc-execution through canonical Gate and runtime verification, then return the control plane to frozen-by-default behavior.","wordingChanged":false,"canonicalIntent":"Temporarily unfreeze the control plane only for the exact scoped maintenance needed to harden durable KNOCKLAUNCH mission visual-proof reconciliation. A terminal Visual Witness result marked witnessInfrastructureFailure must never be classified as an application remediation. Clear the stale witness job, keep the mission in visual_proof, and allow one bounded automatic replacement witness while preserving the same request-contract hash/source lineage. If visual infrastructure fails again after that bounded replacement, stop in visual_proof as an infrastructure failure requiring reasoning repair rather than reopening product implementation. Successful visual proof must reset the infrastructure retry state. Add contract regression coverage. Ship cc-execution through canonical Gate and runtime verification, then return the control plane to frozen-by-default behavior.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Within the exact temporary control-plane unfreeze scope, witness infrastructure failure is retried once inside visual_proof without reopening verified product implementation; success clears retry state; repeat infrastructure failure stops for reasoning repair.","proofConditionIds":["proof-production"]}],"objective":"Temporarily unfreeze the control plane only for the exact scoped maintenance needed to harden durable KNOCKLAUNCH mission visual-proof reconciliation. A terminal Visual Witness result marked witnessInfrastructureFailure must never be classified as an application remediation. Clear the stale witness job, keep the mission in visual_proof, and allow one bounded automatic replacement witness while preserving the same request-contract hash/source lineage. If visual infrastructure fails again after that bounded replacement, stop in visual_proof as an infrastructure failure requiring reasoning repair rather than reopening product implementation. Successful visual proof must reset the infrastructure retry state. Add contract regression coverage. Ship cc-execution through canonical Gate and runtime verification, then return the control plane to frozen-by-default behavior.","constraints":[{"id":"bounded-retry","statement":"At most one replacement witness is automatically started for a terminal witnessInfrastructureFailure.","proofConditionIds":["proof-production"]},{"id":"preserve-product-lineage","statement":"Witness infrastructure failure preserves verified product source/request-contract lineage and does not classify product implementation as needing remediation.","proofConditionIds":["proof-production"]},{"id":"exact-control-plane-scope","statement":"Temporarily unfreeze the control plane only for workers/cc-execution/src/index-mission-control.js and src/__tests__/contracts/command-center-mission-control.test.ts; refreeze after release.","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.","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.","proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"cc-execution is live with bounded visual-infrastructure reconciliation behavior after exact-scope control-plane maintenance and regression validation.","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":"visual-witness-infrastructure-reconciliation","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"}},"requestContractHash":"317c17d83c91e0acd4811b2707328ac7e41e1f8ed62c693194ece0eaae325adf","requestContractRevision":2,"previousRequestContractHash":"fdfdb06374da7b907b2b536093881b3f7e931bc53bbf1092b368a1779ffbbbc5"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T04:26:49.78275+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:2ddc548e-45c0-46fe-8fc1-1c8ac160e732:request-contract:317c17d83c91e0acd4811b2707328ac7e41e1f8ed62c693194ece0eaae325adf","mission_step_id":"91ed8672-6439-4779-ab5f-425c6a9ec87c","command_center_event_id":"2ddc548e-45c0-46fe-8fc1-1c8ac160e732"},{"id":"b8ad42c4-ad8f-4816-865a-9a180e5cb48e","source":"forgejo","status":"waiting","payload":{"branch":"ai/cloudflare-native-optional-payments-key","prNumber":4156,"nextAction":null,"mergeCommitSha":"96f484d314fd3a9fb4e46b29ea08125f8f3e393b","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T11:38:39.009473+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"96f484d314fd3a9fb4e46b29ea08125f8f3e393b","external_id":"4156","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:7e8f852c-74d9-46de-9799-78d7f6da9de9:merged-pr:4156:96f484d314fd3a9fb4e46b29ea08125f8f3e393b","mission_step_id":"22b9655a-fa22-45f2-9286-6720430132b8","command_center_event_id":"7e8f852c-74d9-46de-9799-78d7f6da9de9"},{"id":"b8ae9767-b181-418f-a7a3-c137876b90e1","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-mtirbsf7","reason":"modified_nonempty_file_became_empty:src/routes/vanityRoutes.tsx","status":"blocked","metrics":{"receiptBytes":9253,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.2-visual-witness-proof-projection","prNumber":null,"terminal":false,"missionId":"8930c10a-09b4-4ef6-aeac-ce2f70d85d55","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":322,"prReadinessMs":0,"approvedPlanMs":322,"missionSetupMs":2923,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8930c10a-09b4-4ef6-aeac-ce2f70d85d55"},"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":1041,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T14:29:11.937151+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8930c10a-09b4-4ef6-aeac-ce2f70d85d55:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"7e08570d-9b48-4ee3-97cc-4e2a0c4ca63c","command_center_event_id":"8930c10a-09b4-4ef6-aeac-ce2f70d85d55"},{"id":"b8aeb674-6d37-48ab-9700-119ff56d0522","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.31.23-targeted-owner-preflight","prNumber":4409,"terminal":false,"missionId":"28e3e2d3-ba3e-42b6-b39d-c7282c479efe","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"28e3e2d3-ba3e-42b6-b39d-c7282c479efe"},"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-09T00:26:36.561632+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4409","receipt_type":"ship_and_prove","idempotency_key":"mission:28e3e2d3-ba3e-42b6-b39d-c7282c479efe:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"44b20e15-ac11-4786-8b8f-46ff3ba0cea1","command_center_event_id":"28e3e2d3-ba3e-42b6-b39d-c7282c479efe"},{"id":"b8aefca3-d96c-4825-b041-0d0d790c9842","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ce62cfb26638","reason":"retryable_provider_transport:pr_ready_timeout_budget_exhausted","status":"retryable","metrics":{"receiptBytes":34160,"releaseCount":0,"toolCallCount":22,"repeatedCallCount":15,"executorlessWaitMs":164657,"firstUsefulResultAt":"2026-10-05T15:45:34.714Z","recoveryAttemptCount":17,"ownerInterruptionCount":0},"version":"1.64.96-cloudflare-release-reconciliation","prNumber":4956,"terminal":false,"missionId":"ce62cfb2-6638-435d-bec2-3fa8effa3f97","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3255,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3001,"approvedPlanMs":0,"missionSetupMs":380,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":248,"ledgerReconcileMs":0,"lineageReconcileMs":132,"resolvePreflightMs":380,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":248,"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":"ce62cfb2-6638-435d-bec2-3fa8effa3f97"},"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":1531,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:45:52.436206+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4956","receipt_type":"execute_mission","idempotency_key":"mission:ce62cfb2-6638-435d-bec2-3fa8effa3f97:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"f4220f15-1984-4d5d-b899-c5864673a8bb","command_center_event_id":"ce62cfb2-6638-435d-bec2-3fa8effa3f97"},{"id":"b8b40ca7-2abd-45b6-a1ab-60194bcb34cb","source":"forgejo","status":"waiting","payload":{"branch":"ai/proposal-editor-universal-media-crop","prNumber":1983,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"dc27994b89b631ae235632ab94525e07804b378e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T18:58:54.873099+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"dc27994b89b631ae235632ab94525e07804b378e","external_id":"1983","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:66ee9a22-19ef-4296-afdf-e20b26b99b96:merged-pr:1983:dc27994b89b631ae235632ab94525e07804b378e","mission_step_id":"85600107-d110-4a3a-a38a-c77d8ef13efb","command_center_event_id":"66ee9a22-19ef-4296-afdf-e20b26b99b96"},{"id":"b8bc2dc4-8746-4e7d-86a8-3a44fa6e9351","source":"cc-execution","status":"release_freshness_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-8fb1cde3e679","reason":null,"status":"release_freshness_reconciliation_pending","metrics":{"receiptBytes":19342,"releaseCount":0,"toolCallCount":15,"repeatedCallCount":9,"executorlessWaitMs":156432,"firstUsefulResultAt":"2026-10-06T00:57:24.611Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":5115,"terminal":false,"missionId":"8fb1cde3-e679-4fc8-a00d-332db685865a","operation":"automatic_mission_resume","proofGate":"canonical_release_freshness_reconciliation_pending","sourceSha":null,"timingsMs":{"prReadinessMs":738,"approvedPlanMs":0,"shipAndProveMs":339,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"refresh_regate_and_reconcile_release","receiptRef":{"mode":"full","missionId":"8fb1cde3-e679-4fc8-a00d-332db685865a"},"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":776,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T01:00:06.99313+00:00","proof_gate":"canonical_release_freshness_reconciliation_pending","source_sha":null,"external_id":"5115","receipt_type":"automatic_mission_resume","idempotency_key":"mission:8fb1cde3-e679-4fc8-a00d-332db685865a:automatic-mission-resume:5115:canonical_release_freshness_reconciliation_pending","mission_step_id":"101b91b9-cb13-46e9-b782-c5b22f68e4db","command_center_event_id":"8fb1cde3-e679-4fc8-a00d-332db685865a"},{"id":"b8bd9e80-86ac-4d43-a964-3aaf06099ff9","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":"Optimize the three-droplet KNOCKLAUNCH execution topology: use PAUL/paul-light for lightweight planning and light control-plane Gate work, keep knocklaunch-ci-02 as the required two-slot heavy runner, keep knocklaunch-forge isolated from Actions execution, and keep MSI/laptop optional only. Align capacity truth and regression guards with 2 heavy + 1 light.","proofKinds":["repository"],"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":"Optimize the three-droplet KNOCKLAUNCH execution topology: use PAUL/paul-light for lightweight planning and light control-plane Gate work, keep knocklaunch-ci-02 as the required two-slot heavy runner, keep knocklaunch-forge isolated from Actions execution, and keep MSI/laptop optional only. Align capacity truth and regression guards with 2 heavy + 1 light.","wordingChanged":false,"canonicalIntent":"Optimize the three-droplet KNOCKLAUNCH execution topology: use PAUL/paul-light for lightweight planning and light control-plane Gate work, keep knocklaunch-ci-02 as the required two-slot heavy runner, keep knocklaunch-forge isolated from Actions execution, and keep MSI/laptop optional only. Align capacity truth and regression guards with 2 heavy + 1 light.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Optimize the three-droplet KNOCKLAUNCH execution topology: use PAUL/paul-light for lightweight planning and light control-plane Gate work, keep knocklaunch-ci-02 as the required two-slot heavy runner, keep knocklaunch-forge isolated from Actions execution, and keep MSI/laptop optional only. Align capacity truth and regression guards with 2 heavy + 1 light.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Optimize the three-droplet KNOCKLAUNCH execution topology: use PAUL/paul-light for lightweight planning and light control-plane Gate work, keep knocklaunch-ci-02 as the required two-slot heavy runner, keep knocklaunch-forge isolated from Actions execution, and keep MSI/laptop optional only. Align capacity truth and regression guards with 2 heavy + 1 light.","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"]}],"adaptivePolicy":{"risk":{"tier":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["repository"],"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":"parallel_non_overlapping_work","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":["release_ownership"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"Optimize the three-droplet KNOCKLAUNCH execution topology: use PAUL/paul-light for lightweight planning and light control-plane Gate work, keep knocklaunch-ci-02 as the required two-slot heavy runner, keep knocklaunch-forge isolated from Actions execution, and keep MSI/laptop optional only. Align capacity truth and regression guards with 2 heavy + 1 light.","canonicalIntent":"Optimize the three-droplet KNOCKLAUNCH execution topology: use PAUL/paul-light for lightweight planning and light control-plane Gate work, keep knocklaunch-ci-02 as the required two-slot heavy runner, keep knocklaunch-forge isolated from Actions execution, and keep MSI/laptop optional only. Align capacity truth and regression guards with 2 heavy + 1 light.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"Optimize the three-droplet KNOCKLAUNCH execution topology: use PAUL/paul-light for lightweight planning and light control-plane Gate work, keep knocklaunch-ci-02 as the required two-slot heavy runner, keep knocklaunch-forge isolated from Actions execution, and keep MSI/laptop optional only. Align capacity truth and regression guards with 2 heavy + 1 light.","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":"Optimize-the-three-droplet-KNOCKLAUNCH-execution-topology:-use-PAUL-paul-light-for-lightweight-plann","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"}},"requestContractHash":"e8c928af20ed9584712bf5394def40d28b66d928c58a798f659579fbe8b66cd7","requestContractRevision":2,"previousRequestContractHash":"e9bed8a38d3282a8caf1ebe2f0e86b25d6bebf155901e890c4b8059ce4cb467d"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:12:17.659891+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:df7b1aa0-5b7f-4e9a-a5b9-9da978938dd3:request-contract:e8c928af20ed9584712bf5394def40d28b66d928c58a798f659579fbe8b66cd7","mission_step_id":"59ce568c-a848-4528-a2d7-8f9b6fa9bf2d","command_center_event_id":"df7b1aa0-5b7f-4e9a-a5b9-9da978938dd3"},{"id":"b8bdfc41-621a-4ea7-b745-7fba35494084","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","scripts/validate-release-architecture.mjs"],"reason":"Owner explicitly ordered continued optimization. Heavy cc-execution release runs #15751, #15753, and #15790 fail because the container-backed docker label has no /var/run/docker.sock. The registered laptop-host label is the existing direct-host execution lane.","baseSha":"387bc875a676d8ce192f0faa76259f313df05d45","issuedAt":1791217169996,"expiresAt":1791217349996,"missionId":"d826812d-3633-47da-b7c7-70e1549ae353","authorizationId":"6b438a22-7c6f-4fd6-bcfc-8c520bc66a7a","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:19:30.340764+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"387bc875a676d8ce192f0faa76259f313df05d45","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:6b438a22-7c6f-4fd6-bcfc-8c520bc66a7a","mission_step_id":"bb4d05cf-4ffa-4938-ac54-a1f1cb9af8e9","command_center_event_id":"d826812d-3633-47da-b7c7-70e1549ae353"},{"id":"b8be177f-2437-486f-a896-b705a7d525ac","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/modes-storage-bootstrap-owner-operation","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.121-bounded-transient-gate-recovery","prNumber":null,"terminal":false,"missionId":"49bc5ce2-638c-460c-9464-65fde270f820","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":20249,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":814,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":814,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":814,"repositoryMutationMs":20249,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":814,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"49bc5ce2-638c-460c-9464-65fde270f820"},"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":1560,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T01:44:46.570485+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:49bc5ce2-638c-460c-9464-65fde270f820:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"efc760fa-b204-4cb1-8b9e-cfbb6772b2e0","command_center_event_id":"49bc5ce2-638c-460c-9464-65fde270f820"},{"id":"b8c10c08-2147-49c0-b95a-bf277996437c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ce0b1c3ec9c2","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.144-request-contract-inference","prNumber":2699,"terminal":false,"missionId":"ce0b1c3e-c9c2-40da-8f26-409c28793d06","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1674,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1233,"approvedPlanMs":0,"missionSetupMs":939,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":530,"ledgerReconcileMs":0,"lineageReconcileMs":409,"resolvePreflightMs":939,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":530,"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":"ce0b1c3e-c9c2-40da-8f26-409c28793d06"},"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":1969,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T01:31:37.957418+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2699","receipt_type":"execute_mission","idempotency_key":"mission:ce0b1c3e-c9c2-40da-8f26-409c28793d06:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"9f963688-1773-4087-9650-79ec6ed01fcc","command_center_event_id":"ce0b1c3e-c9c2-40da-8f26-409c28793d06"},{"id":"b8c3650d-f8f6-4249-96d2-ace100211487","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane only to continue PR #1673 on the same durable mission. Fix the self-matching Supabase release regression assertion by constructing the forbidden `supabase` + `@latest` token dynamically instead of embedding it contiguously in the workflow source. Do not alter the optimized release implementation or any other behavior. Re-gate the same PR, continue canonical merge/release/live proof, then refreeze.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane only to continue PR #1673 on the same durable mission. Fix the self-matching Supabase release regression assertion by constructing the forbidden `supabase` + `@latest` token dynamically instead of embedding it contiguously in the workflow source. Do not alter the optimized release implementation or any other behavior. Re-gate the same PR, continue canonical merge/release/live proof, then refreeze.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"pinned-cli","statement":"Supabase Edge release uses an exact pinned CLI acquired at most once per job and reused for every affected function; unpinned latest resolution and per-function CLI bootstrap are impossible.","proofConditionIds":["repository-guard","release-proof"]},{"id":"sparse-release-source","statement":"Supabase Edge release no longer materializes the full repository and checks out only resolver, Supabase config, and function sources required for affected-function resolution/deployment.","proofConditionIds":["repository-guard","release-proof"]},{"id":"release-stage-telemetry","statement":"Supabase Edge release emits explicit checkout, CLI preparation, resolution, per-function deploy, and total deploy timings so future latency cannot remain silent.","proofConditionIds":["repository-guard","release-proof"]},{"id":"refreeze","statement":"Canonical Gate, squash merge, one canonical affected release, production proof, and control-plane refreeze complete without weakening exact-SHA, auth, or affected-target ownership.","proofConditionIds":["canonical-gate","release-proof","refrozen"]}],"objective":"Unfreeze the control plane only to continue PR #1673 on the same durable mission. Fix the self-matching Supabase release regression assertion by constructing the forbidden `supabase` + `@latest` token dynamically instead of embedding it contiguously in the workflow source. Do not alter the optimized release implementation or any other behavior. Re-gate the same PR, continue canonical merge/release/live proof, then refreeze.","constraints":[{"id":"scope","statement":"Do not modify the already pinned/cache-backed TypeScript gate npx path or unrelated product behavior.","proofConditionIds":["repository-guard"]},{"id":"safety","statement":"Preserve exact source SHA verification, Supabase auth boundaries, affected-function-only deployment, duplicate-release prevention, and canonical release ownership.","proofConditionIds":["canonical-gate","release-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repository-guard","kind":"repository","claim":"Current source contains the pinned once-per-job Supabase CLI/cache/sparse-checkout/stage-timing contract and a regression guard forbidding unpinned latest/per-function bootstrap.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"canonical-gate","kind":"repository","claim":"Exact repair generation passes KnockLaunch Gate and is squash merged through canonical Forgejo ownership.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release-proof","kind":"runtime","claim":"Affected canonical release completes from exact merged source and production release logs prove the optimized Supabase Edge release path executes successfully.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"refrozen","kind":"runtime","claim":"Control-plane maintenance is refrozen after production proof.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"0fdc6b97cb68f2949dec341450c9737ccfd56d6942275fac83513ebf39bf0307","requestContractRevision":4,"previousRequestContractHash":"0f654e0295e6c19c766a709755d6631295dd9dd43c16aa75d00c3e1048d659b9"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T06:33:00.562374+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:0374ccda-3ee3-4977-bb1e-24466885b9a9:request-contract:0fdc6b97cb68f2949dec341450c9737ccfd56d6942275fac83513ebf39bf0307","mission_step_id":"69fac78f-edc5-4e6c-8d24-18c0d50ac83e","command_center_event_id":"0374ccda-3ee3-4977-bb1e-24466885b9a9"},{"id":"b8c3bdac-7da4-490e-9d02-87d751b77f93","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","render-onrunner/runtime-proof":"success"},"mainSha":"f9116b790fcff157b409260c43a04e8c50dc0fbf","missing":[],"pending":["forgejo-release/workflow"],"required":["forgejo-main/source","forgejo-release/workflow","render-onrunner/runtime-proof"],"sourceSha":"f9116b790fcff157b409260c43a04e8c50dc0fbf","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"pending"},"requestContractHash":"786428b6bc1a7a02e2926039af98324bb6b75f0d365954dc9b8bec7b42d9a74c","forgejoWorkflowProof":{"runId":10427,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"onrunner":"pending"},"targetJobCount":7,"observedTargetStates":{"onrunner":"pending"}},"onrunnerRuntimeProof":{"reason":null,"hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":true,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"f9116b790fcff157b409260c43a04e8c50dc0fbf","runnerVersion":"onrunner-f9116b790fcf","expectedSourceSha":"f9116b790fcff157b409260c43a04e8c50dc0fbf"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-21T00:31:47.45751+00:00","proof_gate":"canonical_release_pending","source_sha":"f9116b790fcff157b409260c43a04e8c50dc0fbf","external_id":"forgejo-main-f9116b790fcf","receipt_type":"canonical_release_status","idempotency_key":"mission:2db2b283-fa21-4a65-8ae2-a9327151c285:forgejo-release-status:f9116b790fcff157b409260c43a04e8c50dc0fbf:pending:forgejo-main/source=success|forgejo-release/workflow=pending|render-onrunner/runtime-proof=success","mission_step_id":"f556ca45-469e-4039-9de7-c6d3a105b50e","command_center_event_id":"2db2b283-fa21-4a65-8ae2-a9327151c285"},{"id":"b8c6b408-d3cd-4a03-bd23-950df5ef164b","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/cc-repair-generation-continuation","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1917,"terminal":false,"missionId":"bd02c1f5-bc98-41b3-b216-ffdc2af7e4bb","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"8e64707d1a4ae07175dc6114a4f84ce9e46e199f","timingsMs":{"prReadinessMs":977,"approvedPlanMs":0,"shipAndProveMs":5436,"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":"bd02c1f5-bc98-41b3-b216-ffdc2af7e4bb"},"performance":null,"deploymentId":"forgejo-main-8e64707d1a4a","workflowRunId":5760,"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-06T02:10:27.789113+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1917","receipt_type":"automatic_mission_resume","idempotency_key":"mission:bd02c1f5-bc98-41b3-b216-ffdc2af7e4bb:automatic-mission-resume:1917:canonical_release_reconciliation_pending","mission_step_id":"544f5987-fd65-42e1-8f5a-f68440974e73","command_center_event_id":"bd02c1f5-bc98-41b3-b216-ffdc2af7e4bb"},{"id":"b8c879f1-6212-4c2e-9c1f-c81b90f9d1a5","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-b563f21e38a2","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.156-platform-resilience-hardening","prNumber":null,"terminal":false,"missionId":"b563f21e-38a2-4413-96b4-9a4b9f8bb870","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":126,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":365,"providerAuthMs":0,"ledgerPrepareMs":365,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":365,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":365,"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":"b563f21e-38a2-4413-96b4-9a4b9f8bb870"},"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":5708,"likelyAffectedFiles":["supabase/functions/tenant-media-library/index.ts","src/pages/settings/TenantSettingsPage.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T02:53:38.451646+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b563f21e-38a2-4413-96b4-9a4b9f8bb870:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"b58ab92f-b4e7-41b5-bfff-71ef43e6f69d","command_center_event_id":"b563f21e-38a2-4413-96b4-9a4b9f8bb870"},{"id":"b8c946e3-672d-48ea-a298-7af8f7b2b63e","source":"cc-execution","status":"recorded","payload":{"objective":"Repair the Cafe & QSR tenant family as a first-class KNOCKLAUNCH vertical and eliminate the cross-tenant contamination class. Latest owner directive: MISC is too ambiguous and must NOT be used. Use canonical tenant type `CAFE_QSR` for Cafe & QSR Template (tenant id 69c86c8d-c737-439a-8f30-3246af0b3ad1, slug cafe-qsr). Preserve `MOBILE_VENDOR` for Big Papi/event vendors. On the shared source contract, add CAFE_QSR to tenant type metadata/normalization, pipeline/route profile, module registry, tenant experience/sidebar, dashboard composition/copy, and all required type/route registries. Add a Supabase migration that expands the tenants tenant_type check constraint to include CAFE_QSR and reclassifies only the Cafe & QSR Template from MOBILE_VENDOR to CAFE_QSR. Fix the shared UNKNOWN tenant-experience fallback so unsupported tenant types use neutral generic CRM labels instead of cloning MITIGATION, preventing future Mitigation Hub leakage. Remove hardcoded `Big Papi Event HQ` branding from shared MOBILE_VENDOR dashboard composition or scope it safely so another MOBILE_VENDOR tenant cannot inherit Big Papi branding, while preserving Big Papi functionality. Add regression guards proving: cafe-qsr resolves CAFE_QSR and never MOBILE_VENDOR/MITIGATION; Cafe dashboard contains no Big Papi/Event Command/Mitigation Hub copy; Big Papi remains MOBILE_VENDOR/event-focused; representative Roofing/Mitigation/PA/Lawn/Tire/Realtor mappings are unchanged; unknown fallback is neutral. Consolidate overlapping work into existing PR #362 branch `ai/cafe-qsr-template-20260817` if safe; treat older PR #319 `ai/thirsty-panda-cafe-qsr` as superseded rather than creating a third PR. One branch, one PR, KnockLaunch Gate, squash merge, deploy only affected frontend + Supabase migration targets, then prove the live Cafe/QSR route and production tenant_type. Do not run Visual Witness unless required by an explicit visual claim.","tenantRef":"cafe-qsr","receivedAt":"2026-08-18T12:14:03.639Z","fingerprint":"f0f3391853c404c9d090f8ed52510d4d2404046e4ae9cf9cdecb2eb0272d6db7","workstreamRef":"cafeqsr","conversationId":null,"canonicalBranch":"ai/cafe-qsr-template-20260817","requestedBranch":"ai/cafe-qsr-template-20260817","conversationContext":"Current owner is correcting a production defect visible at app.knocklaunch.app/cafe-qsr/dashboard. Proven live facts: Cafe & QSR Template is tenant_type MOBILE_VENDOR, DashboardHub therefore renders Event Command and hardcoded Big Papi Event HQ; tenantExperience does not recognize MOBILE_VENDOR, so UNKNOWN clones MITIGATION and sidebar renders Mitigation Hub. Owner explicitly rejected using MISC as too ambiguous. Preserve the generic Cafe & QSR template direction and all non-conflicting debranding work already in PR #362. Do not revive Thirsty Panda branding or unrelated old PR changes. PR #319 overlaps the canonical Cafe/QSR family and should be superseded/retired after its useful intent is reconciled into #362."},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-18T12:14:04.261631+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:f1a1fbac-dae9-4d78-9791-61be3d5e9083:tenant-workstream-contribution:f0f3391853c404c9d090f8ed52510d4d2404046e4ae9cf9cdecb2eb0272d6db7","mission_step_id":null,"command_center_event_id":"f1a1fbac-dae9-4d78-9791-61be3d5e9083"},{"id":"b8c9c421-65e1-4250-8f0e-951de3528e23","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mission-control.js"],"reason":"Chunked exact implementation after an ambiguous duplicate anchor was rejected before mutation.","baseSha":"25509717c3a1331d21ff574b07fc85a4d250a263","issuedAt":1788925874006,"expiresAt":1788926054006,"missionId":"20bef598-f4d2-4c6b-86fd-f142edeb8455","authorizationId":"d58d919f-302d-44bd-bf10-4a88475bb39c","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T03:51:14.391199+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"25509717c3a1331d21ff574b07fc85a4d250a263","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:d58d919f-302d-44bd-bf10-4a88475bb39c","mission_step_id":"b9cc9e85-0566-40fd-af07-16919a99e34a","command_center_event_id":"20bef598-f4d2-4c6b-86fd-f142edeb8455"},{"id":"b8ca471a-ee8d-42fd-a17d-1457f487e234","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-2ba528e0fe44","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":41308,"releaseCount":0,"toolCallCount":16,"repeatedCallCount":7,"executorlessWaitMs":60124,"firstUsefulResultAt":"2026-10-02T23:19:36.707Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":"1.64.58-paul-continuation-context","prNumber":4561,"terminal":false,"missionId":"2ba528e0-fe44-404f-a383-f4ae3d37a699","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"f4a37491d8214614ebb421999bef094a15d876f4","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1402,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":98,"approvedPlanMs":0,"missionSetupMs":250,"providerAuthMs":0,"shipAndProveMs":829,"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":"2ba528e0-fe44-404f-a383-f4ae3d37a699"},"performance":null,"deploymentId":"forgejo-main-f4a37491d821","releaseState":"pending","workflowRunId":14597,"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":2751,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T23:20:38.882292+00:00","proof_gate":"canonical_release_dispatched","source_sha":"f4a37491d8214614ebb421999bef094a15d876f4","external_id":"forgejo-main-f4a37491d821","receipt_type":"execute_mission","idempotency_key":"mission:2ba528e0-fe44-404f-a383-f4ae3d37a699:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"06da0524-8f9a-436a-a693-69753a359d48","command_center_event_id":"2ba528e0-fe44-404f-a383-f4ae3d37a699"},{"id":"b8ccbfb3-5138-4e8a-8dcb-2c2d7072d088","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/repair-universal-proposal-proof-ledger","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.215-zero-target-proof-reconciliation","prNumber":3458,"terminal":false,"missionId":"169940ef-8e09-4f26-9c2f-d99aa4f69c48","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4031,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":589,"missionSetupMs":322,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":322,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":322,"repositoryMutationMs":3442,"repositoryProviderMs":3442,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1975,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":322,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1467},"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":"169940ef-8e09-4f26-9c2f-d99aa4f69c48"},"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":3139,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T23:33:36.606791+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3458","receipt_type":"execute_mission","idempotency_key":"mission:169940ef-8e09-4f26-9c2f-d99aa4f69c48:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"5db64c49-0146-4399-9ea9-b1c8542bbdab","command_center_event_id":"169940ef-8e09-4f26-9c2f-d99aa4f69c48"},{"id":"b8d057c0-14cd-445f-aae2-bb2c94ded87b","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"7ae623d1dcc28f31dec7ebecba8ccd778fd73088","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"one-intelligence-core","satisfied":true,"statement":"Every authenticated KNOCKLAUNCH Sidekick instance routes text reasoning through the same canonical PAUL platform intelligence endpoint/provider gateway.","proofConditionIds":["proof-runtime","proof-contracts"]},{"id":"scope-preserved","satisfied":true,"statement":"Tenant, user, role, memory, tool, and write-confirmation boundaries remain scope-isolated; shared intelligence does not widen permissions or mix tenant data.","proofConditionIds":["proof-runtime","proof-contracts"]}],"satisfied":true,"constraints":[{"id":"provider-neutral","satisfied":true,"statement":"Direct Sidekick inference must not depend on ChatGPT product sessions or a direct OpenAI-only path; canonical provider gateway owns primary/fallback selection.","proofConditionIds":["proof-contracts","proof-runtime"]},{"id":"writes-safe","satisfied":true,"statement":"The intelligence endpoint performs inference only. Existing write confirmation and authorization rules stay intact.","proofConditionIds":["proof-contracts"]},{"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-contracts","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-contracts","proof-runtime"]}],"contractHash":"2ff076160d30aef968861fc6d6ca99b53ee2d243e04c11d5d279d63cdde814e6","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-contracts","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"2ff076160d30aef968861fc6d6ca99b53ee2d243e04c11d5d279d63cdde814e6"},"required":true,"satisfied":true},{"id":"proof-runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"2ff076160d30aef968861fc6d6ca99b53ee2d243e04c11d5d279d63cdde814e6"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution","frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T05:11:27.956082+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"7ae623d1dcc28f31dec7ebecba8ccd778fd73088","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:6d3a2677-78dd-41d2-b082-d13d7cc5fa9f:request-contract:2ff076160d30aef968861fc6d6ca99b53ee2d243e04c11d5d279d63cdde814e6:7ae623d1dcc28f31dec7ebecba8ccd778fd73088:verified:","mission_step_id":"110af718-b708-4d07-a625-13bff2059c5c","command_center_event_id":"6d3a2677-78dd-41d2-b082-d13d7cc5fa9f"},{"id":"b8d150f1-0aac-4b37-9926-cdc0da99b37a","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"3cecc4bed52e8c2a9b24bebbc1694aca1c6e8124","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Ship Website Builder v1 foundation with PCG as the first builder-driven tenant. Exact implementation payload provided. Preserve existing public behavior until publish, use tenant settings draft/published config, expose only published config through pcg-customer-progress, preserve fallbacks and existing flows, and add a compact responsive builder to tenant Brand & Media.","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":"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":"a8a80daa32e8312e689b5b7a08fcc59aed9dd903dc0f4c8d1f83d1f74ebc3a3f","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":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"a8a80daa32e8312e689b5b7a08fcc59aed9dd903dc0f4c8d1f83d1f74ebc3a3f"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":true,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"3cecc4bed52e8c2a9b24bebbc1694aca1c6e8124","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:50:47.42838+00:00","proof_gate":"request_contract_pending","source_sha":"3cecc4bed52e8c2a9b24bebbc1694aca1c6e8124","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:06c187cb-8df0-46e7-8fdb-fe7dfe3c65fb:request-contract:a8a80daa32e8312e689b5b7a08fcc59aed9dd903dc0f4c8d1f83d1f74ebc3a3f:3cecc4bed52e8c2a9b24bebbc1694aca1c6e8124:pending:visual","mission_step_id":"e69aea49-7d95-4c21-9046-414107314895","command_center_event_id":"06c187cb-8df0-46e7-8fdb-fe7dfe3c65fb"},{"id":"b8d1e1b6-ea91-480d-be73-1928b43798b2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-big-papi-ad-video-20260824","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":5817,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":691,"terminal":false,"missionId":"a8c0bb24-296c-4f9d-97c9-aa8bdff67340","operation":"automatic_mission_resume","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":"a8c0bb24-296c-4f9d-97c9-aa8bdff67340"},"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":599,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-24T21:38:34.945442+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"691","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a8c0bb24-296c-4f9d-97c9-aa8bdff67340:automatic-mission-resume:691:canonical_release_transport_retryable","mission_step_id":"52bff049-6550-4872-9c3d-ed603799793e","command_center_event_id":"a8c0bb24-296c-4f9d-97c9-aa8bdff67340"},{"id":"b8d29f0f-6be2-4ed0-ae5c-03d8949504bd","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":4472,"terminal":false,"missionId":"5fbb778a-2106-4449-b104-83116e21242c","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"58ae305bf3fa79ca85534427cec50a8d03513108","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"5fbb778a-2106-4449-b104-83116e21242c"},"performance":null,"deploymentId":"canonical-release-58ae305bf3fa","workflowRunId":31327794717,"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":1365,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-09T17:58:10.588557+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"58ae305bf3fa79ca85534427cec50a8d03513108","external_id":"canonical-release-58ae305bf3fa","receipt_type":"ship_and_prove","idempotency_key":"mission:5fbb778a-2106-4449-b104-83116e21242c:ship_and_prove:ship_and_prove_release_pending:58ae305bf3fa79ca85534427cec50a8d03513108:31327794717","mission_step_id":"090fe661-8a26-47cc-8f2a-825c6cfe6988","command_center_event_id":"5fbb778a-2106-4449-b104-83116e21242c"},{"id":"b8d3c9e7-a99b-4ea5-9795-4dca09bba5ff","source":"github-status","status":"failed","payload":{"failed":["canonical-production-release/verified"],"states":{"canonical-web/source-proof":"success","canonical-web-production/live":"success","canonical-production-release/verified":"failure"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"83db2eb3a9f551d35fc3002673af8f81435e41c3","releaseState":"failed","exactConductorRun":{"id":31142597421,"status":"completed","headSha":"83db2eb3a9f551d35fc3002673af8f81435e41c3","conclusion":"failure","sourceMatches":true},"ccExecutionRuntimeProof":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T02:57:29.433765+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"83db2eb3a9f551d35fc3002673af8f81435e41c3","external_id":"canonical-release-83db2eb3a9f5","receipt_type":"canonical_release_status","idempotency_key":"mission:473ddfed-caa3-48b7-bc31-f0c22d99e3c3:release-status:83db2eb3a9f551d35fc3002673af8f81435e41c3:failed:canonical-production-release/verified=failure","mission_step_id":"9117c402-0408-4f65-b77e-5b5fb00eb332","command_center_event_id":"473ddfed-caa3-48b7-bc31-f0c22d99e3c3"},{"id":"b8d6227f-8383-488b-a3b9-87b19a36c864","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/fix-big-papi-zone-resolution-20260822","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":2333,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":602,"terminal":false,"missionId":"2437fab4-ad98-491c-bfb4-d6a50f223c08","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":"2437fab4-ad98-491c-bfb4-d6a50f223c08"},"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":5487,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-22T21:52:06.894569+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"602","receipt_type":"execute_mission","idempotency_key":"mission:2437fab4-ad98-491c-bfb4-d6a50f223c08:execute_mission:repair_mission_waiting_for_gate","mission_step_id":"f38c4e5c-9b81-4fc9-94dc-f13d001e3514","command_center_event_id":"2437fab4-ad98-491c-bfb4-d6a50f223c08"},{"id":"b8dbc212-41be-4203-b890-009f137f13ed","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/organize-supabase-storage-layout","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.64-mutation-ledger-handoff","prNumber":1892,"terminal":false,"missionId":"df3b7101-aec5-4db9-a6ab-ba7822676478","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"785cb3450ca478960b0c1e6ca21b47fbb97c8a38","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7822,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":849,"approvedPlanMs":0,"missionSetupMs":786,"providerAuthMs":0,"shipAndProveMs":6826,"ledgerPrepareMs":786,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":786,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":786,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"df3b7101-aec5-4db9-a6ab-ba7822676478"},"performance":null,"deploymentId":"forgejo-main-785cb3450ca4","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-media-library","tenant-storage-migration-v1"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2804,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T23:59:55.529054+00:00","proof_gate":"canonical_release_dispatched","source_sha":"785cb3450ca478960b0c1e6ca21b47fbb97c8a38","external_id":"forgejo-main-785cb3450ca4","receipt_type":"execute_mission","idempotency_key":"mission:df3b7101-aec5-4db9-a6ab-ba7822676478:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"01b534f9-5179-4048-8044-09086b19d749","command_center_event_id":"df3b7101-aec5-4db9-a6ab-ba7822676478"},{"id":"b8dbd9c5-293c-4491-a1fd-4637e4438aed","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-9216d5c299ac","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":4431,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-30T19:05:16.246Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.21-paul-present-tense-continuation","prNumber":4259,"terminal":false,"missionId":"9216d5c2-99ac-4343-a112-c0a77103fdbe","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3638,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":469,"missionSetupMs":480,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":480,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":480,"repositoryMutationMs":3169,"repositoryProviderMs":3169,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2121,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":480,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1048},"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":"9216d5c2-99ac-4343-a112-c0a77103fdbe"},"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":3196,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-30T19:05:21.638651+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4259","receipt_type":"execute_mission","idempotency_key":"mission:9216d5c2-99ac-4343-a112-c0a77103fdbe:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"b56419bc-b890-4103-8649-8ddcd49d56fa","command_center_event_id":"9216d5c2-99ac-4343-a112-c0a77103fdbe"},{"id":"b8dc1590-6416-4a19-aa47-db9b4f18f5d2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-384bbd68f02e","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":13456,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":16812,"firstUsefulResultAt":"2026-10-05T13:27:39.844Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4911,"terminal":false,"missionId":"384bbd68-f02e-4cd7-8460-0530b53064b7","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2399,"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":"384bbd68-f02e-4cd7-8460-0530b53064b7"},"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-05T13:27:51.490045+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4911","receipt_type":"automatic_mission_resume","idempotency_key":"mission:384bbd68-f02e-4cd7-8460-0530b53064b7:automatic-mission-resume:4911:repair_mission_pr_ready_retryable","mission_step_id":"7383058d-7ef5-4774-bff8-44dbc28e3294","command_center_event_id":"384bbd68-f02e-4cd7-8460-0530b53064b7"},{"id":"b8dc6956-8eb4-4436-8ff7-e8b6957f3985","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_base_sha_mismatch","fingerprint":"a3250bb3cadb7633659d30964e6ad92d38aa38e7b91518e8b3b74a3f15e14dbc"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:33:54.110305+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:230c7959-9dc9-40e8-915c-d5659e2dc577:repository-mutation-intent-blocked:a3250bb3cadb7633659d30964e6ad92d38aa38e7b91518e8b3b74a3f15e14dbc","mission_step_id":"4227a792-60da-4dc5-974a-6491324e3354","command_center_event_id":"230c7959-9dc9-40e8-915c-d5659e2dc577"},{"id":"b8dd59e5-6d48-4407-8902-7f1a7972631b","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-af2b80659f26","prNumber":3038,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"55bb3260a414fc2fdaeed341295ddb4d6ed17f9f","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T20:48:01.287015+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"55bb3260a414fc2fdaeed341295ddb4d6ed17f9f","external_id":"3038","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:af2b8065-9f26-4375-8d96-fdd740d8606e:merged-pr:3038:55bb3260a414fc2fdaeed341295ddb4d6ed17f9f","mission_step_id":"c78dd453-5338-4dd5-bd0b-f751e3f7f4f7","command_center_event_id":"af2b8065-9f26-4375-8d96-fdd740d8606e"},{"id":"b8de84e0-f1b1-4b6f-80e3-9f2986e049c0","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-fd10276045f9","prNumber":3410,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"bf2e8f974a1d971cc105267093ca44bd1c65a653","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T10:37:53.672653+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"bf2e8f974a1d971cc105267093ca44bd1c65a653","external_id":"3410","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:fd102760-45f9-46da-824a-6eac972d3e62:merged-pr:3410:bf2e8f974a1d971cc105267093ca44bd1c65a653","mission_step_id":"14329216-b5e2-43c9-9aaa-7cfb1aa64368","command_center_event_id":"fd102760-45f9-46da-824a-6eac972d3e62"},{"id":"b8df55d6-da58-42ea-ba7a-a044d2f05743","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/godmode-account-robust","reason":"canonical_release_queue_busy:12593","status":"blocked","metrics":{"receiptBytes":4701,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"executorlessWaitMs":20946,"firstUsefulResultAt":"2026-09-28T15:51:02.006Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.301-premium-visual-system","prNumber":4009,"terminal":false,"missionId":"11792b6d-4f53-49b1-9d9b-2a83f6b6b03b","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"dac80a67f14021102f8983667cc5bcdec2be9e2f","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1270,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":129,"approvedPlanMs":0,"missionSetupMs":248,"providerAuthMs":0,"shipAndProveMs":576,"ledgerPrepareMs":248,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":248,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":248,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"11792b6d-4f53-49b1-9d9b-2a83f6b6b03b"},"performance":null,"deploymentId":"forgejo-main-dac80a67f140","releaseState":"pending","workflowRunId":12593,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"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":1405,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T15:52:13.056288+00:00","proof_gate":"canonical_release_blocked","source_sha":"dac80a67f14021102f8983667cc5bcdec2be9e2f","external_id":"forgejo-main-dac80a67f140","receipt_type":"execute_mission","idempotency_key":"mission:11792b6d-4f53-49b1-9d9b-2a83f6b6b03b:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"5d53d7c9-1a09-4c8c-a4bd-e38459100f58","command_center_event_id":"11792b6d-4f53-49b1-9d9b-2a83f6b6b03b"},{"id":"b8dff811-0ad2-4d36-9e9b-24ee0b595f40","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-7df564cf7a03","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.0-platform-sidekick-intelligence","prNumber":null,"terminal":false,"missionId":"7df564cf-7a03-4e00-a0ef-7f380522d49b","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1287,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":504,"providerAuthMs":0,"ledgerPrepareMs":504,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":504,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":504,"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":"7df564cf-7a03-4e00-a0ef-7f380522d49b"},"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":5469,"likelyAffectedFiles":["src/pages/mobile-vendor/BigPapisToday.tsx","src/PrivateAppShell.tsx","src/styles/bigPapisApplicationFamily.css","src/pages/applications/BillingPaymentsApplicationRoute.tsx","config/platform-standards.json","src/__tests__/contracts/bigPapisDashboardContext.contract.test.ts","src/__tests__/contracts/big-papis-event-lifecycle.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T12:29:42.324356+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7df564cf-7a03-4e00-a0ef-7f380522d49b:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"773313e7-f19e-468d-bf46-82b221e3b1c5","command_center_event_id":"7df564cf-7a03-4e00-a0ef-7f380522d49b"},{"id":"b8e0dd4d-28f5-43ea-87af-e0b7e6108900","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-7590da010993","reason":"pull_request_checks_failed","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2590,"terminal":false,"missionId":"7590da01-0993-40a0-b2bd-b9f1038ebb3d","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":1774,"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":"7590da01-0993-40a0-b2bd-b9f1038ebb3d"},"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":1198,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T00:32:47.65551+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2590","receipt_type":"automatic_mission_resume","idempotency_key":"mission:7590da01-0993-40a0-b2bd-b9f1038ebb3d:automatic-mission-resume:2590:repair_mission_pr_ready_retryable","mission_step_id":"9f17065a-3d05-42cc-9972-153707b109d0","command_center_event_id":"7590da01-0993-40a0-b2bd-b9f1038ebb3d"},{"id":"b8e380fa-be9c-4c7d-a1f3-47db29bffb7f","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-f2fee72c5de9","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":157294,"releaseCount":0,"toolCallCount":24,"repeatedCallCount":11,"executorlessWaitMs":4414201,"firstUsefulResultAt":"2026-09-29T18:03:39.192Z","recoveryAttemptCount":10,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":4167,"terminal":false,"missionId":"f2fee72c-5de9-49db-9562-8404efc431e6","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2414,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2282,"approvedPlanMs":0,"missionSetupMs":626,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":510,"ledgerReconcileMs":0,"lineageReconcileMs":116,"resolvePreflightMs":626,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":510,"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":"f2fee72c-5de9-49db-9562-8404efc431e6"},"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":1522,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T18:48:12.422084+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4163","receipt_type":"execute_mission","idempotency_key":"mission:f2fee72c-5de9-49db-9562-8404efc431e6:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"a6c85464-cf7c-4677-9186-9c6619362da2","command_center_event_id":"f2fee72c-5de9-49db-9562-8404efc431e6"},{"id":"b8e38c0b-1166-4ad5-b0e5-887b6ae6f137","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-faf0a20096d4","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":9901,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":10945,"firstUsefulResultAt":"2026-10-02T15:41:11.955Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":4482,"terminal":false,"missionId":"faf0a200-96d4-4968-9e15-4037862db405","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2187,"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":"faf0a200-96d4-4968-9e15-4037862db405"},"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":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T15:41:22.953786+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4482","receipt_type":"automatic_mission_resume","idempotency_key":"mission:faf0a200-96d4-4968-9e15-4037862db405:automatic-mission-resume:4482:repair_mission_pr_ready_retryable","mission_step_id":"15443793-fe6c-4a1e-87b8-c0ba664146bf","command_center_event_id":"faf0a200-96d4-4968-9e15-4037862db405"},{"id":"b8e868c3-0750-4960-8907-633983dde0c4","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\":null,\"activeStep\":null,\"nextStep\":null,\"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\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-1ad6f54ef9b6\",\"prNumber\":4720,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T09:51:43.518871+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:1ad6f54e-f9b6-4a6c-b062-357a2b5d2b57:owner-progress-heartbeat:119407166","mission_step_id":"f22f637c-9b42-4cc7-8e00-cb79a47666f9","command_center_event_id":"1ad6f54e-f9b6-4a6c-b062-357a2b5d2b57"},{"id":"b8ea6260-12c4-42bb-8844-dc1aa60fbfd5","source":"forgejo","status":"retryable","payload":{"branch":"ai/objective-first-repair-5ef6e201aad0","merged":false,"prNumber":3935,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T01:39:31.550267+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":null,"external_id":"3935","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:5ef6e201-aad0-4691-9221-d75318fad13b:closed-pr:3935:unmerged","mission_step_id":"246d0c72-0973-4581-ba18-1f3b655eb86f","command_center_event_id":"5ef6e201-aad0-4691-9221-d75318fad13b"},{"id":"b8eb081f-3d74-446f-9cc8-c7beeebf9387","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-37c5ac4d5567","prNumber":2494,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"20350c5abaffeba22ba3fae993bf328865c4f15f","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T15:26:57.224321+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"20350c5abaffeba22ba3fae993bf328865c4f15f","external_id":"2494","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:37c5ac4d-5567-4c34-86ba-474a5c7bdfc1:merged-pr:2494:20350c5abaffeba22ba3fae993bf328865c4f15f","mission_step_id":"6c1c2cdb-0ae1-493a-8b55-01dda06b7049","command_center_event_id":"37c5ac4d-5567-4c34-86ba-474a5c7bdfc1"},{"id":"b8eb13e7-f1be-4218-a021-15318de167f4","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-97edc04c5ad2","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":7030,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":12562,"firstUsefulResultAt":"2026-10-03T01:21:31.666Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.65-paul-dissatisfaction-continuation","prNumber":4583,"terminal":false,"missionId":"97edc04c-5ad2-47e2-a673-2909a8fbbb71","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2305,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2201,"approvedPlanMs":0,"missionSetupMs":361,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":253,"ledgerReconcileMs":0,"lineageReconcileMs":108,"resolvePreflightMs":361,"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 automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"97edc04c-5ad2-47e2-a673-2909a8fbbb71"},"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":1524,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:21:50.29056+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4583","receipt_type":"execute_mission","idempotency_key":"mission:97edc04c-5ad2-47e2-a673-2909a8fbbb71:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"b2f5fd19-b856-4fc8-9cf5-84597fe0ed28","command_center_event_id":"97edc04c-5ad2-47e2-a673-2909a8fbbb71"},{"id":"b8ec195f-6461-40a6-b7c9-165e378573f4","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-e020b5c6b3f8","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":12877,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":41114,"firstUsefulResultAt":"2026-09-30T18:24:46.764Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.19-paul-grounded-tool-arguments","prNumber":4253,"terminal":false,"missionId":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4396,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":718,"missionSetupMs":468,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":468,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":468,"repositoryMutationMs":3678,"repositoryProviderMs":3678,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2471,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":468,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1207},"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":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237"},"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":3417,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T18:25:33.905051+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4253","receipt_type":"execute_mission","idempotency_key":"mission:e020b5c6-b3f8-4d93-9c5c-0d62cb75b237:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"dad167ac-d3e9-4b58-b56f-2e1e2b02c4ec","command_center_event_id":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237"},{"id":"b8f055b9-aa64-48dd-b63b-fd884f3ad6a3","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"f852d7571ae237f049f53ecc3e497cfaa98c3d43","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"stale-invariant-fixed","satisfied":false,"statement":"PR #3474 Gate recognizes the requiredReleaseTargets dispatch argument and can evaluate the actual corrective-release implementation.","proofConditionIds":["repo-proof"]}],"satisfied":false,"constraints":[{"id":"same-pr","satisfied":false,"statement":"Keep the existing #3474 branch/PR and change only the stale invariant line.","proofConditionIds":["repo-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"]},{"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"]}],"contractHash":"8f8bf30d3a03d7995f994393cc88e4ecadb7bbeb5d5349ce948f32da9c9224e1","releaseBound":false,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-proof","kind":"repository","evidence":{"reason":"missing_required_release_targets:ccExecution","gateRunId":null,"satisfied":false,"gateTestProof":null,"gateTestPassed":false,"missingTargets":["ccExecution"],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"8f8bf30d3a03d7995f994393cc88e4ecadb7bbeb5d5349ce948f32da9c9224e1","unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":["ccExecution"],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:20:23.999007+00:00","proof_gate":"request_contract_pending","source_sha":"f852d7571ae237f049f53ecc3e497cfaa98c3d43","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:6835a574-b9f1-4152-bbfd-cd6a4940045e:request-contract:8f8bf30d3a03d7995f994393cc88e4ecadb7bbeb5d5349ce948f32da9c9224e1:f852d7571ae237f049f53ecc3e497cfaa98c3d43:pending:repository","mission_step_id":"5315246f-37d0-47b3-b6a9-aff2cefe49dc","command_center_event_id":"6835a574-b9f1-4152-bbfd-cd6a4940045e"},{"id":"b8f13383-a99c-402d-882b-b9d5a58834db","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":"Create one frontend-only PR from current main that introduces additive reusable KNOCKLAUNCH premium workspace layout primitives and adopts them in the generic CRM workspace only. Improve visual polish with a disciplined content frame, compact sticky context header, consistent title/action row, refined panel surfaces, responsive grid/master-detail geometry, typography and spacing, and mobile-safe content padding. Preserve all existing CRM data, behavior, routes, tenant resolution, auth, provider bindings, navigation ownership, avatar, search, and business terminology. Do not alter MODES tenant-specific shells or any tenant-specific navigation. Add focused regression coverage for unchanged route/nav/avatar/search contracts. Gate, squash merge when green, deploy through the canonical frontend path, and verify the CRM visually on desktop and mobile.","proofKinds":["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":"Create one frontend-only PR from current main that introduces additive reusable KNOCKLAUNCH premium workspace layout primitives and adopts them in the generic CRM workspace only. Improve visual polish with a disciplined content frame, compact sticky context header, consistent title/action row, refined panel surfaces, responsive grid/master-detail geometry, typography and spacing, and mobile-safe content padding. Preserve all existing CRM data, behavior, routes, tenant resolution, auth, provider bindings, navigation ownership, avatar, search, and business terminology. Do not alter MODES tenant-specific shells or any tenant-specific navigation. Add focused regression coverage for unchanged route/nav/avatar/search contracts. Gate, squash merge when green, deploy through the canonical frontend path, and verify the CRM visually on desktop and mobile.","wordingChanged":false,"canonicalIntent":"Create one frontend-only PR from current main that introduces additive reusable KNOCKLAUNCH premium workspace layout primitives and adopts them in the generic CRM workspace only. Improve visual polish with a disciplined content frame, compact sticky context header, consistent title/action row, refined panel surfaces, responsive grid/master-detail geometry, typography and spacing, and mobile-safe content padding. Preserve all existing CRM data, behavior, routes, tenant resolution, auth, provider bindings, navigation ownership, avatar, search, and business terminology. Do not alter MODES tenant-specific shells or any tenant-specific navigation. Add focused regression coverage for unchanged route/nav/avatar/search contracts. Gate, squash merge when green, deploy through the canonical frontend path, and verify the CRM visually on desktop and mobile.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Create one frontend-only PR from current main that introduces additive reusable KNOCKLAUNCH premium workspace layout primitives and adopts them in the generic CRM workspace only. Improve visual polish with a disciplined content frame, compact sticky context header, consistent title/action row, refined panel surfaces, responsive grid/master-detail geometry, typography and spacing, and mobile-safe content padding. Preserve all existing CRM data, behavior, routes, tenant resolution, auth, provider bindings, navigation ownership, avatar, search, and business terminology. Do not alter MODES tenant-specific shells or any tenant-specific navigation. Add focused regression coverage for unchanged route/nav/avatar/search contracts. Gate, squash merge when green, deploy through the canonical frontend path, and verify the CRM visually on desktop and mobile.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-1"]}],"objective":"Create one frontend-only PR from current main that introduces additive reusable KNOCKLAUNCH premium workspace layout primitives and adopts them in the generic CRM workspace only. Improve visual polish with a disciplined content frame, compact sticky context header, consistent title/action row, refined panel surfaces, responsive grid/master-detail geometry, typography and spacing, and mobile-safe content padding. Preserve all existing CRM data, behavior, routes, tenant resolution, auth, provider bindings, navigation ownership, avatar, search, and business terminology. Do not alter MODES tenant-specific shells or any tenant-specific navigation. Add focused regression coverage for unchanged route/nav/avatar/search contracts. Gate, squash merge when green, deploy through the canonical frontend path, and verify the CRM visually on desktop and mobile.","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":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-1"]},{"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":["proof-1"]}],"adaptivePolicy":{"risk":{"tier":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["runtime"],"visualProofScope":"broad","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":["src/components/crm/CRMShell.tsx","src/components/crm/CRMSidebar.tsx","src/__tests__/contracts/crm-premium-layout.contract.test.ts"]},"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","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":"parallel_non_overlapping_work","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","desktop"],"behavioral":false,"visualProofScope":"broad"},"dependencies":{"requiredDomains":["frontend","schema_data_storage","authentication_authorization","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":"Create one frontend-only PR from current main that introduces additive reusable KNOCKLAUNCH premium workspace layout primitives and adopts them in the generic CRM workspace only. Improve visual polish with a disciplined content frame, compact sticky context header, consistent title/action row, refined panel surfaces, responsive grid/master-detail geometry, typography and spacing, and mobile-safe content padding. Preserve all existing CRM data, behavior, routes, tenant resolution, auth, provider bindings, navigation ownership, avatar, search, and business terminology. Do not alter MODES tenant-specific shells or any tenant-specific navigation. Add focused regression coverage for unchanged route/nav/avatar/search contracts. Gate, squash merge when green, deploy through the canonical frontend path, and verify the CRM visually on desktop and mobile.","canonicalIntent":"Create one frontend-only PR from current main that introduces additive reusable KNOCKLAUNCH premium workspace layout primitives and adopts them in the generic CRM workspace only. Improve visual polish with a disciplined content frame, compact sticky context header, consistent title/action row, refined panel surfaces, responsive grid/master-detail geometry, typography and spacing, and mobile-safe content padding. Preserve all existing CRM data, behavior, routes, tenant resolution, auth, provider bindings, navigation ownership, avatar, search, and business terminology. Do not alter MODES tenant-specific shells or any tenant-specific navigation. Add focused regression coverage for unchanged route/nav/avatar/search contracts. Gate, squash merge when green, deploy through the canonical frontend path, and verify the CRM visually on desktop and mobile.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-1","kind":"runtime","claim":"Create one frontend-only PR from current main that introduces additive reusable KNOCKLAUNCH premium workspace layout primitives and adopts them in the generic CRM workspace only. Improve visual polish with a disciplined content frame, compact sticky context header, consistent title/action row, refined panel surfaces, responsive grid/master-detail geometry, typography and spacing, and mobile-safe content padding. Preserve all existing CRM data, behavior, routes, tenant resolution, auth, provider bindings, navigation ownership, avatar, search, and business terminology. Do not alter MODES tenant-specific shells or any tenant-specific navigation. Add focused regression coverage for unchanged route/nav/avatar/search contracts. Gate, squash merge when green, deploy through the canonical frontend path, and verify the CRM visually on desktop and mobile.","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":"Create-one-frontend-only-PR-from-current-main-that-introduces-additive-reusable-KNOCKLAUNCH-premium-","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-1"]},"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":"19fa90a0baa3ed15706abc0524b64bfe4a8de3cf363df87a73b15cd59378bdbb","requestContractRevision":2,"previousRequestContractHash":"c204b06fe7ef5c817c2d1a2534be79eecf2794d88d02dcfab0a85afc4dd2245b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T02:00:44.495881+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:40912109-1e16-426f-8157-d8dec0fbf7f4:request-contract:19fa90a0baa3ed15706abc0524b64bfe4a8de3cf363df87a73b15cd59378bdbb","mission_step_id":"595a2420-d65f-420c-b885-f0a5d9ced61a","command_center_event_id":"40912109-1e16-426f-8157-d8dec0fbf7f4"},{"id":"b8f18152-281b-4c15-a81a-0e209a7ddde1","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"501539bf863e0f298abeeb5fa08452196585f41b","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"paul-cross-conversation-continuity","satisfied":true,"statement":"Make PAUL continuity primitive across normal Sidekick conversations so the owner does not have to re-explain prior work. For continuation language such as 'continue improving PAUL', 'resume', 'last conversations', or 'where were we', ai-respond must preload bounded relevant prior Sidekick conversation context from the same user and same tenant before the first model call. For canonical GodMode only, it must also preload the latest relevant durable KNOCKLAUNCH mission/receipt and ignore it when topical relevance does not match the current continuation request. Historical conversation text must be bounded, secret-redacted, and treated as context rather than authorization. Preserve tenant isolation and ordinary tenant-user behavior. Add contract coverage, deploy ai-respond, and verify the continuity source is live.","proofConditionIds":["continuity-live"]}],"satisfied":true,"constraints":[{"id":"tenant-boundary","satisfied":true,"statement":"Prior conversation recall must be explicitly same-user and same-tenant. Durable global mission context is canonical-GodMode only.","proofConditionIds":["continuity-live"]},{"id":"bounded-redacted","satisfied":true,"statement":"Historical recall must be bounded and secret-redacted, and historical text may never grant authorization.","proofConditionIds":["continuity-live"]},{"id":"small-scope","satisfied":true,"statement":"Mutate only ai-respond and the PAUL contract test unless machine-readable dependency evidence requires a companion edit.","proofConditionIds":["continuity-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":["continuity-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":["continuity-live"]}],"contractHash":"56086551dc187973fe59d8758e413503198470bde4036a4074eadc954edbf56b","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"continuity-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":"56086551dc187973fe59d8758e413503198470bde4036a4074eadc954edbf56b"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T19:36:03.562772+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"501539bf863e0f298abeeb5fa08452196585f41b","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:53cbda3c-9698-46ca-8cd1-bc92903e02be:request-contract:56086551dc187973fe59d8758e413503198470bde4036a4074eadc954edbf56b:501539bf863e0f298abeeb5fa08452196585f41b:verified:","mission_step_id":"68cf1943-14bf-43fa-9032-49ef99d9599f","command_center_event_id":"53cbda3c-9698-46ca-8cd1-bc92903e02be"},{"id":"b8f23034-7a9c-4509-9ad8-506abd60915c","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"57f49d461f98d0e886568655a1de28a5dedd5600","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"57f49d461f98d0e886568655a1de28a5dedd5600","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":"199d97e9d9051c0481d4af4104b7669a4e494222af2c8b06fdd1568eae8c9677","forgejoWorkflowProof":{"runId":11325,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"fd475c8ef55d358d2adac0ac30c66efc4d9d38ea","deploymentId":"forgejo-main-fd475c8ef55d358d2adac0ac30c66efc4d9d38ea","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.224-truthful-owner-progress","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T03:06:00.650919+00:00","proof_gate":"canonical_release_pending","source_sha":"57f49d461f98d0e886568655a1de28a5dedd5600","external_id":"forgejo-main-57f49d461f98","receipt_type":"canonical_release_status","idempotency_key":"mission:6ff9a97f-b18a-456e-928b-94cd435a8fcc:forgejo-release-status:57f49d461f98d0e886568655a1de28a5dedd5600:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"e7b2a14d-1cfb-4b69-ad64-84429eb87b24","command_center_event_id":"6ff9a97f-b18a-456e-928b-94cd435a8fcc"},{"id":"b8f8a290-3f67-45c3-942d-7605760b74e9","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":"694845e226f7b70612ce72bbdb70670eba4b23dd","releaseState":"pending","exactConductorRun":{"id":31213940561,"status":"in_progress","headSha":"694845e226f7b70612ce72bbdb70670eba4b23dd","conclusion":null,"sourceMatches":true},"ccExecutionRuntimeProof":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T20:00:43.394961+00:00","proof_gate":"canonical_release_pending","source_sha":"694845e226f7b70612ce72bbdb70670eba4b23dd","external_id":"canonical-release-694845e226f7","receipt_type":"canonical_release_status","idempotency_key":"mission:99006796-dce5-41a3-9d2b-a9a73ce46384:release-status:694845e226f7b70612ce72bbdb70670eba4b23dd:pending:canonical-production-release/verified=pending","mission_step_id":"5ec2c370-60a6-4bf4-8a87-807000a7f795","command_center_event_id":"99006796-dce5-41a3-9d2b-a9a73ce46384"},{"id":"b8fb10a3-ac89-4511-a06c-d77c3f49f03d","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"d3fc6af2f035b580982b670488996328e46c9631","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"provisioning-flow","satisfied":true,"statement":"The live GodMode Tenant Builder presents Business -> Capabilities -> Automations -> Review -> Create Tenant, with no Look step.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"no-fake-preview","satisfied":true,"statement":"The tenant creator has no fake Live Workspace Preview or mock tenant workspace; it is a compact provisioning surface inside the normal admin shell.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"real-create-preserved","satisfied":true,"statement":"Business identity, business type/archetype, owner and business email, capability selection, minimal workspace, automation selection, blueprint loading, create_tenant provisioning, General/Custom fallback behavior, and Open Tenant / Back to Tenants / Create Another remain intact.","proofConditionIds":["repo-proof"]},{"id":"no-editor-handoff","satisfied":true,"statement":"Tenant creation does not add or route to Experience Studio or any other unproven post-create visual editor, and does not claim such a surface exists.","proofConditionIds":["repo-proof"]}],"satisfied":true,"constraints":[{"id":"frontend-only","satisfied":true,"statement":"Do not change backend, database, auth, provisioning contracts, or release architecture.","proofConditionIds":["repo-proof"]},{"id":"visual-after-real-tenant","satisfied":true,"statement":"Do not simulate visual customization before creation; visual work is conceptually post-create against the real tenant.","proofConditionIds":["repo-proof"]},{"id":"one-change-path","satisfied":true,"statement":"Use one fresh branch, one PR, canonical gate, squash merge, and frontend-only production release.","proofConditionIds":["repo-proof","runtime-proof"]}],"contractHash":"1aa240228c106a9a045635ac467cc6e9b58f5f470d1b244f3905fe417aa231c1","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-proof","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"1aa240228c106a9a045635ac467cc6e9b58f5f470d1b244f3905fe417aa231c1"},"required":true,"satisfied":true},{"id":"runtime-proof","kind":"runtime","evidence":{"releaseState":"verified","releaseRequestContractHash":"1aa240228c106a9a045635ac467cc6e9b58f5f470d1b244f3905fe417aa231c1"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T23:42:59.622582+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"d3fc6af2f035b580982b670488996328e46c9631","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:12e70954-e54b-4d7a-ba7f-a8561ac49b10:request-contract:1aa240228c106a9a045635ac467cc6e9b58f5f470d1b244f3905fe417aa231c1:d3fc6af2f035b580982b670488996328e46c9631:verified:","mission_step_id":"9b6dd255-b586-4cc2-ae88-1769c04d91df","command_center_event_id":"12e70954-e54b-4d7a-ba7f-a8561ac49b10"},{"id":"b8fb2bed-6b44-4fd2-a1fe-3c84598173fa","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-df7c9c96b8aa","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.209-visual-certification-hardening","prNumber":3381,"terminal":false,"missionId":"df7c9c96-b8aa-40c4-90ab-e77b8278c889","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":711,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":562,"approvedPlanMs":0,"missionSetupMs":402,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":268,"ledgerReconcileMs":0,"lineageReconcileMs":134,"resolvePreflightMs":402,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":268,"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":"df7c9c96-b8aa-40c4-90ab-e77b8278c889"},"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":1970,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T00:46:10.146889+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3381","receipt_type":"execute_mission","idempotency_key":"mission:df7c9c96-b8aa-40c4-90ab-e77b8278c889:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"ffd1a734-d5dd-4159-9fba-ed818dbfa8d0","command_center_event_id":"df7c9c96-b8aa-40c4-90ab-e77b8278c889"},{"id":"b8fb32d7-6397-4864-97f3-75cfcaf83976","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","scripts/cloudflare-native-prepare.mjs","scripts/release-event-native-plan.test.mjs"],"reason":"The optimized release restored and verified the exact Gate artifact but failed only because the minimal checkout omitted wrangler.toml's required main entry point scripts/cloudflare-native-seo-worker.mjs. Add that required harness file and prove the no-rebuild path end to end.","baseSha":"ef9ef5bd87afae514627184a197cfda05204c0f3","issuedAt":1789070996984,"expiresAt":1789071176984,"missionId":"ae5e2ebd-229e-4344-a22b-531be48440a3","authorizationId":"7376edcf-9830-4c9f-8554-b94b411118f0","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T20:09:58.203455+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ef9ef5bd87afae514627184a197cfda05204c0f3","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:7376edcf-9830-4c9f-8554-b94b411118f0","mission_step_id":"0e371827-2004-4770-b444-4d5bfe2d8b62","command_center_event_id":"ae5e2ebd-229e-4344-a22b-531be48440a3"},{"id":"b8fc15a9-8531-4593-ade5-49df4a0158d7","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-a19eef2bf4f1","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":78710,"releaseCount":1,"toolCallCount":57,"repeatedCallCount":33,"executorlessWaitMs":618033,"firstUsefulResultAt":"2026-10-05T00:59:46.099Z","recoveryAttemptCount":17,"ownerInterruptionCount":0},"version":"1.64.94-terminal-completion-supervisor","prNumber":4879,"terminal":false,"missionId":"a19eef2b-f4f1-4a3a-b592-7d0dbdea0767","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"c8e524147c317d5b06079357070cac39296ea503","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1700,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":92,"approvedPlanMs":0,"missionSetupMs":1567,"providerAuthMs":0,"shipAndProveMs":731,"ledgerPrepareMs":276,"ledgerReconcileMs":0,"lineageReconcileMs":1291,"resolvePreflightMs":1567,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":276,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a19eef2b-f4f1-4a3a-b592-7d0dbdea0767"},"performance":null,"deploymentId":"forgejo-main-c8e524147c31","releaseState":"pending","workflowRunId":15516,"releaseTargets":{"frontend":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"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":2705,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T01:06:47.332729+00:00","proof_gate":"canonical_release_dispatched","source_sha":"0113579a4bb279807370d82499e413b6924a5173","external_id":"forgejo-main-0113579a4bb2","receipt_type":"execute_mission","idempotency_key":"mission:a19eef2b-f4f1-4a3a-b592-7d0dbdea0767:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"37f8b3cb-2d8b-43c7-bc57-704314f2cc9e","command_center_event_id":"a19eef2b-f4f1-4a3a-b592-7d0dbdea0767"},{"id":"b9000126-be88-4f69-9e3b-bde6fcd8e387","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/auto-merge-release-persistence-20260820","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":1148,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":543,"terminal":false,"missionId":"235ff68d-bcab-4a7f-ba95-3c76885c8ca7","operation":"automatic_mission_resume","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":"235ff68d-bcab-4a7f-ba95-3c76885c8ca7"},"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":599,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T04:17:34.443555+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"543","receipt_type":"automatic_mission_resume","idempotency_key":"mission:235ff68d-bcab-4a7f-ba95-3c76885c8ca7:automatic-mission-resume:543:canonical_release_transport_retryable","mission_step_id":"8db48bc1-5c38-4224-aac8-412d927d3989","command_center_event_id":"235ff68d-bcab-4a7f-ba95-3c76885c8ca7"},{"id":"b900594f-116a-4453-bc37-e6e00c5c5875","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":"ca012691d8d7678a13bb89e70f40afe630115b5e","releaseState":"pending","exactConductorRun":{"id":31310848383,"status":"in_progress","headSha":"ca012691d8d7678a13bb89e70f40afe630115b5e","conclusion":null,"compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-09T11:28:16.356813+00:00","proof_gate":"canonical_release_pending","source_sha":"ca012691d8d7678a13bb89e70f40afe630115b5e","external_id":"canonical-release-ca012691d8d7","receipt_type":"canonical_release_status","idempotency_key":"mission:2093625b-4d0d-40a1-88a9-43a791220c6b:release-status:ca012691d8d7678a13bb89e70f40afe630115b5e:31310848383:pending:canonical-production-release/verified=pending","mission_step_id":"422674a1-b23a-4a63-a1cb-25187a65d9c8","command_center_event_id":"2093625b-4d0d-40a1-88a9-43a791220c6b"},{"id":"b9018ffe-b9c5-4967-9648-9f3863935ba2","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"688b6a6ef388470877de060bdd3ae43455f2508f","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"The live Redfish WhatsMyProgress route uses the Redfish tenant background and shell layout language rather than the generic public-progress shell.","proofConditionIds":["proof-1","proof-2","proof-3","proof-4"]},{"id":"outcome-2","satisfied":true,"statement":"The live Redfish WhatsMyProgress route still serves the Redfish public progress experience and does not route into another tenant.","proofConditionIds":["proof-1","proof-2","proof-3","proof-5"]}],"satisfied":true,"constraints":[],"contractHash":"1f11f2e9d2a42fbeb8f776b27c131a45b0a3cf0b513ccfbbe63e2dd4b86f5eee","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-1","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend","supabaseEdge"],"releaseRequestContractHash":"1f11f2e9d2a42fbeb8f776b27c131a45b0a3cf0b513ccfbbe63e2dd4b86f5eee"},"required":true,"satisfied":true},{"id":"proof-2","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend","supabaseEdge"],"releaseRequestContractHash":"1f11f2e9d2a42fbeb8f776b27c131a45b0a3cf0b513ccfbbe63e2dd4b86f5eee"},"required":true,"satisfied":true},{"id":"proof-3","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend","supabaseEdge"],"releaseRequestContractHash":"1f11f2e9d2a42fbeb8f776b27c131a45b0a3cf0b513ccfbbe63e2dd4b86f5eee"},"required":true,"satisfied":true},{"id":"proof-4","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend","supabaseEdge"],"releaseRequestContractHash":"1f11f2e9d2a42fbeb8f776b27c131a45b0a3cf0b513ccfbbe63e2dd4b86f5eee"},"required":true,"satisfied":true},{"id":"proof-5","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend","supabaseEdge"],"releaseRequestContractHash":"1f11f2e9d2a42fbeb8f776b27c131a45b0a3cf0b513ccfbbe63e2dd4b86f5eee"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T03:23:30.351162+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"688b6a6ef388470877de060bdd3ae43455f2508f","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d0224a79-f93a-4e11-91d5-356074a6d096:request-contract:1f11f2e9d2a42fbeb8f776b27c131a45b0a3cf0b513ccfbbe63e2dd4b86f5eee:688b6a6ef388470877de060bdd3ae43455f2508f:verified:","mission_step_id":"577a8ec3-c3e4-4ffd-b65c-f102eb89fb19","command_center_event_id":"d0224a79-f93a-4e11-91d5-356074a6d096"},{"id":"b90211aa-b0e4-48d3-a222-2a496a2bc6cb","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","leaseEpoch":14,"afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":null,\"nextStep\":null,\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:implementation\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":0,\"verified\":0,\"pending\":0,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-r202608070457-g2\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T19:12:20.340502+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:9cff236d-b9f9-47fc-a667-d5ed3c318998:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":null,\"nextStep\":null,\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:implementation\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"","mission_step_id":"47e09363-d856-4ef4-b505-00e58ec7e444","command_center_event_id":"9cff236d-b9f9-47fc-a667-d5ed3c318998"},{"id":"b902e7bc-7ccd-400f-a895-bb6ded2ece9d","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"47ae9f3619a850334ffa1f5ef905d9e934db24e5","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"47ae9f3619a850334ffa1f5ef905d9e934db24e5","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":"ad58252f65d2b64c1447cde19cc6347475a1a9ab6b47a67dce0eda622ff8ba87","forgejoWorkflowProof":{"runId":10694,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"2bbfbaa84c76bbc4625a814c1445f06c2b7941a1","deploymentId":"forgejo-main-2bbfbaa84c76bbc4625a814c1445f06c2b7941a1","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.211-source-role-classification","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T03:27:09.922844+00:00","proof_gate":"canonical_release_pending","source_sha":"47ae9f3619a850334ffa1f5ef905d9e934db24e5","external_id":"forgejo-main-47ae9f3619a8","receipt_type":"canonical_release_status","idempotency_key":"mission:64887c21-6ac0-4d97-8c93-ab164575f540:forgejo-release-status:47ae9f3619a850334ffa1f5ef905d9e934db24e5:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"855c273e-6157-4adb-ad86-18ab58d2b730","command_center_event_id":"64887c21-6ac0-4d97-8c93-ab164575f540"},{"id":"b904ada0-7f76-4584-bccb-d83609a50a93","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"pull_request_stale_refresh_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.47.3-exact-head-ship-guard","prNumber":387,"terminal":false,"missionId":"df80449b-b595-45a8-9bd9-5fad903ddfc7","operation":"ship_and_prove","proofGate":"ship_and_prove_gate_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"df80449b-b595-45a8-9bd9-5fad903ddfc7"},"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":6100,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-18T18:55:29.322696+00:00","proof_gate":"ship_and_prove_gate_blocked","source_sha":null,"external_id":"387","receipt_type":"ship_and_prove","idempotency_key":"mission:df80449b-b595-45a8-9bd9-5fad903ddfc7:ship_and_prove:ship_and_prove_gate_blocked:no-source:no-run","mission_step_id":"3b59cfc5-3a07-4af0-8f1d-755278745e6a","command_center_event_id":"df80449b-b595-45a8-9bd9-5fad903ddfc7"},{"id":"b905d0a6-369c-406e-a996-14bc7ae61078","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3e8391fe0046","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":118179,"releaseCount":0,"toolCallCount":75,"repeatedCallCount":65,"executorlessWaitMs":670420,"firstUsefulResultAt":"2026-10-05T22:42:01.784Z","recoveryAttemptCount":59,"ownerInterruptionCount":0},"version":null,"prNumber":5083,"terminal":false,"missionId":"3e8391fe-0046-41df-9453-8a470a2849f3","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2665,"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":"3e8391fe-0046-41df-9453-8a470a2849f3"},"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-05T22:44:10.136085+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5083","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3e8391fe-0046-41df-9453-8a470a2849f3:automatic-mission-resume:5083:repair_mission_pr_ready_retryable","mission_step_id":"d405d3c9-b5de-4432-a1ae-f7a760fc98da","command_center_event_id":"3e8391fe-0046-41df-9453-8a470a2849f3"},{"id":"b906a0d8-7fa1-440f-8023-46b238cddc8a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-d7d828d07983","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.79-durable-synthesis-continuation","prNumber":null,"terminal":false,"missionId":"d7d828d0-7983-4e86-bfdf-039cb77d06c8","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":12891,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":836,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":324,"ledgerReconcileMs":0,"lineageReconcileMs":512,"resolvePreflightMs":836,"repositoryMutationMs":12891,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":324,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"d7d828d0-7983-4e86-bfdf-039cb77d06c8"},"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":1554,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T17:23:02.317345+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d7d828d0-7983-4e86-bfdf-039cb77d06c8:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"6fa06328-4861-43d6-b378-564e45f5b42e","command_center_event_id":"d7d828d0-7983-4e86-bfdf-039cb77d06c8"},{"id":"b90953f5-2a54-40a2-b555-6e172c57e169","source":"cc-execution","status":"release_verified_contract_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-954b2d566a11","reason":null,"status":"release_verified_contract_pending","metrics":{"receiptBytes":15126,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":14958,"firstUsefulResultAt":"2026-09-25T00:03:15.569Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3683,"terminal":false,"missionId":"954b2d56-6a11-42f5-8965-6cf351a137bd","operation":"automatic_mission_resume","proofGate":"canonical_release_already_verified","sourceSha":"e2c5fe4076525e83fd1a271bb357fca1365cc511","timingsMs":{"prReadinessMs":130,"approvedPlanMs":0,"shipAndProveMs":497,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"954b2d56-6a11-42f5-8965-6cf351a137bd"},"performance":null,"deploymentId":"forgejo-main-e2c5fe407652","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":1892,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T00:06:12.637754+00:00","proof_gate":"canonical_release_already_verified","source_sha":null,"external_id":"3683","receipt_type":"automatic_mission_resume","idempotency_key":"mission:954b2d56-6a11-42f5-8965-6cf351a137bd:automatic-mission-resume:3683:canonical_release_already_verified","mission_step_id":"f8d04737-b888-44c7-81be-2672690688c3","command_center_event_id":"954b2d56-6a11-42f5-8965-6cf351a137bd"},{"id":"b90960f9-49e3-4b04-954e-e68df525436e","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\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"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\":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\":\"release\",\"deadlineAt\":\"2026-08-07T06:41:35.524332+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-r202608070343\",\"prNumber\":4177,\"sourceSha\":\"5f2516e441aae7bd4586fab258a5940cb2d1cb00\",\"deploymentId\":\"canonical-release-5f2516e441aa\"}"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T18:41:22.05273+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:5386ec83-72b7-40ad-961e-594d1e29aceb:owner-progress-heartbeat:119409285","mission_step_id":"68c694bd-3d1a-4bc1-826f-469948649304","command_center_event_id":"5386ec83-72b7-40ad-961e-594d1e29aceb"},{"id":"b90a2629-ba95-4d07-8d7d-0f098dc898e4","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.14-file-write-contract","prNumber":303,"terminal":false,"missionId":"3e87133a-efb6-4490-a291-75f1de0335de","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"4573e4715f31b84101e4c95e765033b5a07769f9","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"3e87133a-efb6-4490-a291-75f1de0335de"},"performance":null,"deploymentId":"forgejo-main-4573e4715f31","workflowRunId":981,"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":6101,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T21:04:10.2297+00:00","proof_gate":"canonical_release_dispatched","source_sha":"4573e4715f31b84101e4c95e765033b5a07769f9","external_id":"forgejo-main-4573e4715f31","receipt_type":"ship_and_prove","idempotency_key":"mission:3e87133a-efb6-4490-a291-75f1de0335de:ship_and_prove:canonical_release_dispatched:4573e4715f31b84101e4c95e765033b5a07769f9:981","mission_step_id":"1b120d08-13a6-4cf1-8c8b-e32a4c8a35f6","command_center_event_id":"3e87133a-efb6-4490-a291-75f1de0335de"},{"id":"b90b4720-6335-4619-8291-e16acfbc5a00","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["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"],"continuationObjective":"Continue the exact current queue-hygiene consistency repair on its existing branch. Use the already-persisted mutation intent; do not resynthesize or create a new lineage. Carry it through PR, Gate, squash merge, cc-execution release, and runtime proof."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T16:22:43.639106+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:039b6221-19b4-4527-93ad-a57c6cf894ef:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"ddc0e8e5-e6a1-43ae-b60e-6eaf1b8b384f","command_center_event_id":"039b6221-19b4-4527-93ad-a57c6cf894ef"},{"id":"b90de26d-ba54-4b39-a98f-4b2bd57d7141","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-c604692a6e43","prNumber":3178,"nextAction":null,"mergeCommitSha":"521bf3de4be4f38ee37d2524b21e7bbb6b3a99ae","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T10:44:47.836677+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"521bf3de4be4f38ee37d2524b21e7bbb6b3a99ae","external_id":"3178","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:c604692a-6e43-4b00-9f02-761df1810376:merged-pr:3178:521bf3de4be4f38ee37d2524b21e7bbb6b3a99ae","mission_step_id":"43a1adf8-ef38-4560-9a88-d2e8f97d5d56","command_center_event_id":"c604692a-6e43-4b00-9f02-761df1810376"},{"id":"b90e68a1-e8df-4af5-bd85-22759b19b985","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\":\"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\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-live\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-10-05T17:16:41.228978+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":4918,\"sourceSha\":\"4db28b0e44d69803ad7b43863872391f880a604d\",\"deploymentId\":\"forgejo-main-4db28b0e44d6\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:53:51.776779+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6b02a6d2-970e-4a2c-898c-fd5ba7d39b1b:owner-progress-heartbeat:119416295","mission_step_id":"b8c5e395-45d5-4daa-9130-e56e5547aa9d","command_center_event_id":"6b02a6d2-970e-4a2c-898c-fd5ba7d39b1b"},{"id":"b9120624-8a02-4ddd-aebb-2ce76df1cc67","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"a01846565e641e4b52116f84adaad80b3d180024","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"intent-authority-window","satisfied":true,"statement":"Persisted exact mutation intent remains authoritative across waiting/dispatched/retryable in-flight states and cannot leak into fresh synthesis.","proofConditionIds":["runtime"]},{"id":"receipt-lineage-authority","satisfied":true,"statement":"PR-specific durable receipts can restore missing prNumber for merged-source reconciliation after branch deletion.","proofConditionIds":["runtime"]}],"satisfied":true,"constraints":[{"id":"nonreplay-terminal-intents","satisfied":true,"statement":"Blocked, completed, failed, or otherwise terminal mutation intents are not replayed.","proofConditionIds":["runtime"]},{"id":"receipt-filtering","satisfied":true,"statement":"Only PR-specific receipt/proof types may contribute an externalId as a recovered PR number.","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":"e24c08976756499dac475f1ccd52e1609fec9e633a0be11cccef3edabbff7e66","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":"e24c08976756499dac475f1ccd52e1609fec9e633a0be11cccef3edabbff7e66"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T06:00:28.61239+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"a01846565e641e4b52116f84adaad80b3d180024","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:e6e7a510-db4d-4152-bd16-7a53e692b390:request-contract:e24c08976756499dac475f1ccd52e1609fec9e633a0be11cccef3edabbff7e66:a01846565e641e4b52116f84adaad80b3d180024:verified:","mission_step_id":"fd2870cd-7f33-442f-ba8b-77f3391a9770","command_center_event_id":"e6e7a510-db4d-4152-bd16-7a53e692b390"},{"id":"b9138602-7891-44db-9dfe-7f9e1d4bcfec","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"535f69fdb5b4c4a8488aa0de6b997899583154d9","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"tub-lifecycle","satisfied":false,"statement":"Each Big Papi flavor tub is a persistent physical inventory unit with stable identity, size/flavor context, assessment history, current fill state, loss disposition, timestamps, event association, and known cost/acquisition context without inventing unknown facts.","proofConditionIds":["repo-inventory","live-inventory"]},{"id":"event-closeout","satisfied":false,"statement":"Event Day contains the owner-approved post-event per-tub eyeball closeout using the requested fill and loss dispositions, with unusable tubs excluded from usable stock and feeding loss/restock calculations.","proofConditionIds":["repo-eventday","live-eventday"]},{"id":"inventory-intelligence","satisfied":false,"statement":"Inventory shows estimated usable stock and value, waste/loss dollars, automatic restock purchase plan and cost, learned flavor performance and par levels, and next-event READY/SHORT shortages based on event history while clearly labeling estimates as estimates.","proofConditionIds":["repo-inventory","live-inventory"]},{"id":"scan-and-voice","satisfied":false,"statement":"Every tub has a stable QR/deep link to its exact inventory record, and voice-assisted inventory is available only when the browser SpeechRecognition primitive exists while one-tap controls remain primary.","proofConditionIds":["repo-inventory","live-inventory"]},{"id":"profitability","satisfied":false,"statement":"Event Day source records estimated product usage, waste, restock signals, and estimated gross margin in event metadata while preserving exact-count supply handling.","proofConditionIds":["repo-eventday","live-eventday"]}],"satisfied":false,"constraints":[{"id":"constraint-1","satisfied":false,"statement":"Preserve existing Big Papi stock, costs, public flavor settings, event prep/loadout behavior, and unrelated tenants.","proofConditionIds":["repo-inventory","repo-eventday","live-inventory","live-eventday"]},{"id":"constraint-2","satisfied":false,"statement":"Supplies remain exact-count inventory.","proofConditionIds":["repo-inventory","repo-eventday","live-inventory","live-eventday"]},{"id":"constraint-3","satisfied":false,"statement":"Do not invent missing historical quantities, acquisition dates, suppliers, or costs.","proofConditionIds":["repo-inventory","repo-eventday","live-inventory","live-eventday"]},{"id":"constraint-4","satisfied":false,"statement":"Use existing PR #1920 and branch ai/big-papis-inventory-os-v2; do not create a duplicate PR or branch.","proofConditionIds":["repo-inventory","repo-eventday","live-inventory","live-eventday"]},{"id":"constraint-5","satisfied":false,"statement":"Only Gate-proven deterministic defects may alter source before merge.","proofConditionIds":["repo-inventory","repo-eventday","live-inventory","live-eventday"]}],"contractHash":"a40f3273de8313c7e581c241574e87ff703def465c1e32e4f98cafed99307b50","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-inventory","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"a40f3273de8313c7e581c241574e87ff703def465c1e32e4f98cafed99307b50","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"repo-eventday","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"a40f3273de8313c7e581c241574e87ff703def465c1e32e4f98cafed99307b50","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"live-inventory","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"a40f3273de8313c7e581c241574e87ff703def465c1e32e4f98cafed99307b50"},"required":true,"satisfied":true},{"id":"live-eventday","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"a40f3273de8313c7e581c241574e87ff703def465c1e32e4f98cafed99307b50"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T02:32:37.91531+00:00","proof_gate":"request_contract_pending","source_sha":"535f69fdb5b4c4a8488aa0de6b997899583154d9","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:ffc311b3-4d2b-4832-83a7-6875d00deafc:request-contract:a40f3273de8313c7e581c241574e87ff703def465c1e32e4f98cafed99307b50:535f69fdb5b4c4a8488aa0de6b997899583154d9:pending:repository","mission_step_id":"66536320-fbbc-4ce3-9ac1-3bec806acabe","command_center_event_id":"ffc311b3-4d2b-4832-83a7-6875d00deafc"},{"id":"b913dabc-5ae2-49ac-92e0-96fd0608c898","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-mtiz3iy9","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.2-visual-witness-proof-projection","prNumber":null,"terminal":false,"missionId":"76cc1124-e9d8-489c-9fbb-6a9a33d7cc90","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":358,"missionSetupMs":1667},"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":"76cc1124-e9d8-489c-9fbb-6a9a33d7cc90"},"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":5286,"likelyAffectedFiles":["scripts/owner-supabase-function-migrate.mjs","scripts/resolve-supabase-function-targets.mjs","scripts/supabase-migration-release.mjs","src/__tests__/contracts/tenant-media-storage-provisioning.contract.test.ts","src/__tests__/contracts/supabase-config-unique-function-tables.test.ts","src/components/TenantRouter.tsx","scripts/validate-supabase-migration-integrity.mjs","scripts/verify-production-contracts.mjs","scripts/visual-witness-hosted-runner/src/projection-storage-contract.mjs","src/__tests__/contracts/cc-deploy-controller-liveness.test.ts","src/components/admin/EnhancedTenantManagement.tsx","src/components/CallFlow/WorkflowLiveCoachingFocus.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-01T18:06:45.996399+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:76cc1124-e9d8-489c-9fbb-6a9a33d7cc90:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"30b0b08c-e4f1-476c-813c-08f288fe57b1","command_center_event_id":"76cc1124-e9d8-489c-9fbb-6a9a33d7cc90"},{"id":"b916b9db-e0a3-451e-bd55-3e1f5481400a","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"UNFREEZE control plane for corrective generation 3 of Tenant Standards proof-integrity PR #2876. Gate 8591 proved the named Workspace Health contract is now selected, but the sparse Gate workspace omitted its unchanged Supabase dependencies. Hydrate only tenantStandardsContract.ts and tenant-media-library/index.ts whenever tenant_workspace_health_contract is selected, and add a regression assertion for that hydration. Do not change the test import, Tenant Standards behavior, or release scope. Same PR, then re-freeze after release.","wordingChanged":false,"canonicalIntent":"UNFREEZE control plane for corrective generation 3 of Tenant Standards proof-integrity PR #2876. Gate 8591 proved the named Workspace Health contract is now selected, but the sparse Gate workspace omitted its unchanged Supabase dependencies. Hydrate only tenantStandardsContract.ts and tenant-media-library/index.ts whenever tenant_workspace_health_contract is selected, and add a regression assertion for that hydration. Do not change the test import, Tenant Standards behavior, or release scope. Same PR, then re-freeze after release.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"gate-selection","statement":"Tenant Standards / Workspace Health paths select, hydrate dependencies for, execute, and pass the named tenant-workspace-health contract in canonical Gate.","proofConditionIds":["named-test-proof","source-proof"]},{"id":"proof-integrity","statement":"Named Gate-test claims require matching exact Gate log evidence rather than generic green status.","proofConditionIds":["named-test-proof","source-proof","runtime-proof"]},{"id":"objective-routing","statement":"Repair/change prose mentioning a PR cannot be mistaken for a release-only request.","proofConditionIds":["source-proof","runtime-proof"]}],"objective":"UNFREEZE control plane for corrective generation 3 of Tenant Standards proof-integrity PR #2876. Gate 8591 proved the named Workspace Health contract is now selected, but the sparse Gate workspace omitted its unchanged Supabase dependencies. Hydrate only tenantStandardsContract.ts and tenant-media-library/index.ts whenever tenant_workspace_health_contract is selected, and add a regression assertion for that hydration. Do not change the test import, Tenant Standards behavior, or release scope. Same PR, then re-freeze after release.","constraints":[{"id":"bounded-scope","statement":"Correct only sparse Gate hydration and its regression guard; no tenant product/data/migration/auth/storage/Calendar naming changes.","proofConditionIds":["source-proof"]},{"id":"release-scope","statement":"Only ccExecution may be released for the merged control-plane repair.","proofConditionIds":["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":["named-test-proof","source-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":["named-test-proof","source-proof","runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"named-test-proof","kind":"repository","claim":"src/__tests__/contracts/tenant-workspace-health.contract.test.ts executes and passes in the exact-head canonical KnockLaunch Gate for this repair.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"source-proof","kind":"repository","claim":"Exact merged source contains the bounded Tenant Standards Gate selection, sparse dependency hydration, named-test proof binding, and release-only prose PR inference guard.","route":"workers/cc-execution/test/release-orchestration-invariants.test.js","roleRef":null,"userRef":null,"required":true,"expectedText":"tenant standards proof integrity binds named Gate execution and blocks repair prose PR hijacking","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"runtime-proof","kind":"runtime","claim":"The repaired cc-execution runtime is live from the exact merged source after canonical Gate and squash merge.","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":"UNFREEZE-control-plane-for-corrective-generation-3-of-Tenant-Standards-proof-integrity-PR-2876.-Gate","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":["named-test-proof","source-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":"01ab9dabec246a2ea047482ea73318dc78ee389a80e7935a6dcb7be92fdfc954","requestContractRevision":5,"previousRequestContractHash":"19a1e2832c61909040e3f0ef79a8e0ff1107dcfac6cfd270a3b364b8b113e405"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T03:54:31.142945+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:88fcafec-cd22-4bee-ac3a-53f3055600e0:request-contract:01ab9dabec246a2ea047482ea73318dc78ee389a80e7935a6dcb7be92fdfc954","mission_step_id":"086563c6-d0f1-415f-8fd6-1ed578b8eb51","command_center_event_id":"88fcafec-cd22-4bee-ac3a-53f3055600e0"},{"id":"b91bacb8-1376-4fce-b5e3-32907e78cea4","source":"cc-execution","status":"waiting","payload":{"body":{"body":"Corrective source-repair generation from failed release runs 13433 and 13435. Fixes exact-version override fallback detection and workflow_dispatch Visual Witness bootstrap scoping, adds regression coverage, and releases only ccExecution.","ship":true,"files":[],"title":"Repair ccExecution release path for PAUL","branch":"ai/objective-first-repair-2d7b01797a29","writes":[],"patches":[],"version":1,"approved":true,"missionId":"2d7b0179-7a29-4f79-bf26-388bc14a70cd","objective":"Repair the ccExecution release machinery defects proven by failed PAUL release runs 13433 and 13435 so the already-merged PAUL declarative-continuation improvement can remain live. Safe-release must enter bounded full activation whenever an exact-version override still serves the previous source SHA. workflow_dispatch must not force Visual Witness bootstrap unless visual/container paths are actually present or changed-path evidence is unavailable. Add regression coverage, bump ccExecution runtime identity, pass Gate, squash merge, release only ccExecution, and prove the current protected-main runtime stays on the new source instead of rolling back.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/scripts/cc-execution-safe-release.mjs",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/cc-execution-deploy-proof.test.ts","workers/cc-execution/src/version.js"],"workstreamKey":"cc-execution-release-machinery-repair-13433-13435","anchored_edits":[{"path":"workers/cc-execution/scripts/cc-execution-safe-release.mjs","new_content":"function isVersionOverrideIgnored(error, previousSourceSha) {\n  const message = String(error instanceof Error ? error.message : error || \"\");\n  return shaPattern.test(String(previousSourceSha || \"\"))\n    && message.includes(\"cc_execution_candidate_proof_failed:\")\n    && message.includes(`source=${previousSourceSha}`);\n}","old_content":"function isVersionOverrideIgnored(error, previousSourceSha) {\n  const message = String(error instanceof Error ? error.message : error || \"\");\n  return shaPattern.test(String(previousSourceSha || \"\"))\n    && message.includes(\"cc_execution_candidate_proof_failed:health=200:catalog=200:\")\n    && message.includes(`source=${previousSourceSha}`);\n}"},{"path":".forgejo/workflows/knocklaunch.yml","new_content":"          visual_bootstrap_required=false\n          changed_paths=\"$(printf '%s' \"${CHANGED_PATHS_B64:-}\" | base64 -d 2>/dev/null || true)\"\n          if [ \"${{ github.event_name }}\" = \"workflow_dispatch\" ] && [ -z \"$changed_paths\" ]; then\n            visual_bootstrap_required=true\n          elif printf '%s\\n' \"$changed_paths\" | grep -Eq '^(scripts/visual-witness-hosted-runner/|workers/cc-execution/wrangler\\.toml$|workers/cc-execution/src/visual-witness-virtual-container\\.js$|workers/cc-execution/scripts/cloudflare-credential-repair\\.mjs$)'; then\n            visual_bootstrap_required=true\n          fi","old_content":"          visual_bootstrap_required=false\n          if [ \"${{ github.event_name }}\" = \"workflow_dispatch\" ]; then\n            visual_bootstrap_required=true\n          else\n            changed_paths=\"$(printf '%s' \"${CHANGED_PATHS_B64:-}\" | base64 -d 2>/dev/null || true)\"\n            if printf '%s\\n' \"$changed_paths\" | grep -Eq '^(scripts/visual-witness-hosted-runner/|workers/cc-execution/wrangler\\.toml$|workers/cc-execution/src/visual-witness-virtual-container\\.js$|workers/cc-execution/scripts/cloudflare-credential-repair\\.mjs$)'; then\n              visual_bootstrap_required=true\n            fi\n          fi"},{"path":"src/__tests__/contracts/cc-execution-deploy-proof.test.ts","new_content":"    expect(releaseSource).toContain(\n      'message.includes(\"cc_execution_candidate_proof_failed:\")',\n    );\n    expect(releaseSource).toContain(\n      'message.includes(`source=${previousSourceSha}`)',\n    );","old_content":"    expect(releaseSource).toContain(\n      'cc_execution_candidate_proof_failed:health=200:catalog=200:',\n    );"},{"path":"src/__tests__/contracts/cc-execution-deploy-proof.test.ts","new_content":"  it('does not force Visual Witness bootstrap for scoped workflow-dispatch recovery', () => {\n    const workflow = fs.readFileSync(\n      path.resolve(process.cwd(), '.forgejo/workflows/knocklaunch.yml'),\n      'utf8',\n    );\n\n    expect(workflow).toContain(\n      'changed_paths=\"$(printf \\'%s\\' \"${CHANGED_PATHS_B64:-}\" | base64 -d 2>/dev/null || true)\"',\n    );\n    expect(workflow).toContain(\n      'if [ \"${{ github.event_name }}\" = \"workflow_dispatch\" ] && [ -z \"$changed_paths\" ]; then',\n    );\n    expect(workflow).not.toContain(\n      'if [ \"${{ github.event_name }}\" = \"workflow_dispatch\" ]; then\\n            visual_bootstrap_required=true',\n    );\n  });\n\n  it('blocks wrong deployment targets before merge', () => {","old_content":"  it('blocks wrong deployment targets before merge', () => {"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.64.23-paul-release-path-recovery\";","old_content":"export const CC_EXECUTION_VERSION = \"1.64.22-paul-declarative-continuation\";"}],"commit_message":"fix(release): repair ccExecution PAUL rollout","implementation":{"files":[],"writes":[]},"collisionDomain":"cc-execution-release-source-repair","requestContract":{"valid":true,"intent":{"evidence":["current_explicit_owner_request","failed_push_release_13433_candidate_proof_old_sha","failed_release_recovery_13435_visual_bootstrap_secret_edit","release_only_mission_cannot_materialize_source_branch"],"confidence":1,"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":"Repair the ccExecution release machinery defects proven by failed PAUL release runs 13433 and 13435 so the already-merged PAUL declarative-continuation improvement can remain live. Safe-release must enter bounded full activation whenever an exact-version override still serves the previous source SHA. workflow_dispatch must not force Visual Witness bootstrap unless visual/container paths are actually present or changed-path evidence is unavailable. Add regression coverage, bump ccExecution runtime identity, pass Gate, squash merge, release only ccExecution, and prove the current protected-main runtime stays on the new source instead of rolling back.","proofKinds":["runtime"],"adaptiveDomains":["intent","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":"continue working on paul","wordingChanged":true,"canonicalIntent":"Repair the ccExecution release machinery defects proven by failed PAUL release runs 13433 and 13435 so the already-merged PAUL declarative-continuation improvement can remain live. Safe-release must enter bounded full activation whenever an exact-version override still serves the previous source SHA. workflow_dispatch must not force Visual Witness bootstrap unless visual/container paths are actually present or changed-path evidence is unavailable. Add regression coverage, bump ccExecution runtime identity, pass Gate, squash merge, release only ccExecution, and prove the current protected-main runtime stays on the new source instead of rolling back.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"cc-release-machinery-repair","statement":"Repair the ccExecution release machinery defects proven by failed PAUL release runs 13433 and 13435 so the already-merged PAUL declarative-continuation improvement can remain live. Safe-release must enter bounded full activation whenever an exact-version override still serves the previous source SHA. workflow_dispatch must not force Visual Witness bootstrap unless visual/container paths are actually present or changed-path evidence is unavailable. Add regression coverage, bump ccExecution runtime identity, pass Gate, squash merge, release only ccExecution, and prove the current protected-main runtime stays on the new source instead of rolling back.","provenance":{"reason":"Two release failures prove deterministic release-path defects blocking the PAUL runtime update.","source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"objective":"Repair the ccExecution release machinery defects proven by failed PAUL release runs 13433 and 13435 so the already-merged PAUL declarative-continuation improvement can remain live. Safe-release must enter bounded full activation whenever an exact-version override still serves the previous source SHA. workflow_dispatch must not force Visual Witness bootstrap unless visual/container paths are actually present or changed-path evidence is unavailable. Add regression coverage, bump ccExecution runtime identity, pass Gate, squash merge, release only ccExecution, and prove the current protected-main runtime stays on the new source instead of rolling back.","constraints":[{"id":"four-file-scope","statement":"Mutate only the four exact release/runtime regression files unless machine-readable dependency evidence requires a companion edit.","provenance":{"reason":"Smallest reversible repair.","source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"preserve-paul","statement":"Preserve all already-merged PAUL intelligence behavior; this repair changes release machinery only.","provenance":{"reason":"Do not regress PAUL.","source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"cc-only","statement":"Release only ccExecution; no unrelated frontend, Supabase Edge, or migration changes.","provenance":{"reason":"Affected target is ccExecution.","source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"The release-machinery repair is merged and ccExecution stays live on the new protected-main SHA with runtime version 1.64.23-paul-release-path-recovery; the iterative-continuation PAUL eval passes on that live runtime.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":3,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/scripts/cc-execution-safe-release.mjs",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/cc-execution-deploy-proof.test.ts","workers/cc-execution/src/version.js"],"requestContract":{"valid":true,"intent":{"evidence":["current_explicit_owner_request","failed_push_release_13433_candidate_proof_old_sha","failed_release_recovery_13435_visual_bootstrap_secret_edit","release_only_mission_cannot_materialize_source_branch"],"confidence":1,"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":"Repair the ccExecution release machinery defects proven by failed PAUL release runs 13433 and 13435 so the already-merged PAUL declarative-continuation improvement can remain live. Safe-release must enter bounded full activation whenever an exact-version override still serves the previous source SHA. workflow_dispatch must not force Visual Witness bootstrap unless visual/container paths are actually present or changed-path evidence is unavailable. Add regression coverage, bump ccExecution runtime identity, pass Gate, squash merge, release only ccExecution, and prove the current protected-main runtime stays on the new source instead of rolling back.","proofKinds":["runtime"],"adaptiveDomains":["intent","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":"continue working on paul","wordingChanged":true,"canonicalIntent":"Repair the ccExecution release machinery defects proven by failed PAUL release runs 13433 and 13435 so the already-merged PAUL declarative-continuation improvement can remain live. Safe-release must enter bounded full activation whenever an exact-version override still serves the previous source SHA. workflow_dispatch must not force Visual Witness bootstrap unless visual/container paths are actually present or changed-path evidence is unavailable. Add regression coverage, bump ccExecution runtime identity, pass Gate, squash merge, release only ccExecution, and prove the current protected-main runtime stays on the new source instead of rolling back.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"cc-release-machinery-repair","statement":"Repair the ccExecution release machinery defects proven by failed PAUL release runs 13433 and 13435 so the already-merged PAUL declarative-continuation improvement can remain live. Safe-release must enter bounded full activation whenever an exact-version override still serves the previous source SHA. workflow_dispatch must not force Visual Witness bootstrap unless visual/container paths are actually present or changed-path evidence is unavailable. Add regression coverage, bump ccExecution runtime identity, pass Gate, squash merge, release only ccExecution, and prove the current protected-main runtime stays on the new source instead of rolling back.","provenance":{"reason":"Two release failures prove deterministic release-path defects blocking the PAUL runtime update.","source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"objective":"Repair the ccExecution release machinery defects proven by failed PAUL release runs 13433 and 13435 so the already-merged PAUL declarative-continuation improvement can remain live. Safe-release must enter bounded full activation whenever an exact-version override still serves the previous source SHA. workflow_dispatch must not force Visual Witness bootstrap unless visual/container paths are actually present or changed-path evidence is unavailable. Add regression coverage, bump ccExecution runtime identity, pass Gate, squash merge, release only ccExecution, and prove the current protected-main runtime stays on the new source instead of rolling back.","constraints":[{"id":"four-file-scope","statement":"Mutate only the four exact release/runtime regression files unless machine-readable dependency evidence requires a companion edit.","provenance":{"reason":"Smallest reversible repair.","source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"preserve-paul","statement":"Preserve all already-merged PAUL intelligence behavior; this repair changes release machinery only.","provenance":{"reason":"Do not regress PAUL.","source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"cc-only","statement":"Release only ccExecution; no unrelated frontend, Supabase Edge, or migration changes.","provenance":{"reason":"Affected target is ccExecution.","source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"The release-machinery repair is merged and ccExecution stays live on the new protected-main SHA with runtime version 1.64.23-paul-release-path-recovery; the iterative-continuation PAUL eval passes on that live runtime.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":3,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/scripts/cc-execution-safe-release.mjs",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/cc-execution-deploy-proof.test.ts","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner asked to continue PAUL. Failed runs 13433 and 13435 prove deterministic ccExecution release-source defects; a fresh bounded source-repair mission is required because the prior release-only recovery mission has no source branch lineage."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/scripts/cc-execution-safe-release.mjs",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/cc-execution-deploy-proof.test.ts","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner asked to continue PAUL. Failed runs 13433 and 13435 prove deterministic ccExecution release-source defects; a fresh bounded source-repair mission is required because the prior release-only recovery mission has no source branch lineage."},"recovery":false,"fingerprint":"fc5d522a62cde5f7d3e552cd52163c4ba5c4e58c74c5923b9a207d8ab041b280","replayCount":0,"serializedBytes":19015},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T19:21:11.970454+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:2d7b0179-7a29-4f79-bf26-388bc14a70cd:repository-mutation-intent:fc5d522a62cde5f7d3e552cd52163c4ba5c4e58c74c5923b9a207d8ab041b280:0","mission_step_id":"af4209d1-dfe3-4cd6-8a8b-97eff7308526","command_center_event_id":"2d7b0179-7a29-4f79-bf26-388bc14a70cd"},{"id":"b91bf016-ff11-4849-a4bf-4a57af8a9429","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1624bf069219","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":96966,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":212432,"firstUsefulResultAt":"2026-09-29T02:05:10.105Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4079,"terminal":false,"missionId":"1624bf06-9219-4eb4-9af9-892545fbe187","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"21eccb4cf1ecb1834b549d0284ab490547afbc08","timingsMs":{"prReadinessMs":606,"approvedPlanMs":0,"shipAndProveMs":2588,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"1624bf06-9219-4eb4-9af9-892545fbe187"},"performance":null,"deploymentId":"forgejo-main-21eccb4cf1ec","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"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":1859,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:10:38.583968+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4079","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1624bf06-9219-4eb4-9af9-892545fbe187:automatic-mission-resume:4079:canonical_release_reconciliation_pending","mission_step_id":"638875aa-76dc-47fb-876b-9d841aaf4022","command_center_event_id":"1624bf06-9219-4eb4-9af9-892545fbe187"},{"id":"b91c33cb-9a24-4501-aa17-dd6e6748b135","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane for corrective repair generation 1 on this same durable mission after the prior merged branch was deleted. Align the deployed cc-execution release ownership mapper with the canonical script-level planner: workflow files and scripts/protected-main-release-recovery.mjs are orchestration-only; workers/cc-execution/** and config/control-plane-capabilities.json remain cc-execution runtime-affecting. Add direct Worker regression coverage for both cases and bump cc-execution to 1.58.35-noop-release-reconcile-refreeze. Preserve selected-target failure semantics and all hard release safety. This generation legitimately deploys cc-execution once, then mission reconciliation must stop manufacturing cc-execution releases for orchestration-only changes and refreeze.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane for corrective repair generation 1 on this same durable mission after the prior merged branch was deleted. Align the deployed cc-execution release ownership mapper with the canonical script-level planner: workflow files and scripts/protected-main-release-recovery.mjs are orchestration-only; workers/cc-execution/** and config/control-plane-capabilities.json remain cc-execution runtime-affecting. Add direct Worker regression coverage for both cases and bump cc-execution to 1.58.35-noop-release-reconcile-refreeze. Preserve selected-target failure semantics and all hard release safety. This generation legitimately deploys cc-execution once, then mission reconciliation must stop manufacturing cc-execution releases for orchestration-only changes and refreeze.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"classification","statement":"Orchestration-only diffs select no product runtime targets in both protected-main planning and deployed mission reconciliation.","proofConditionIds":["repo","runtime"]},{"id":"no-op-verification","statement":"Successful exact-source no-release workflows remain verified no-op releases and do not trigger false cc-execution recovery.","proofConditionIds":["repo","runtime"]},{"id":"selected-failures","statement":"Actual cc-execution runtime/config diffs still require cc-execution release proof and selected-target failures remain blocking.","proofConditionIds":["repo","runtime"]},{"id":"refreeze","statement":"Corrective cc-execution release is live on the exact merged source, the durable mission reaches verified terminal state, and control plane is refrozen.","proofConditionIds":["runtime","refrozen"]}],"objective":"Unfreeze the control plane for corrective repair generation 1 on this same durable mission after the prior merged branch was deleted. Align the deployed cc-execution release ownership mapper with the canonical script-level planner: workflow files and scripts/protected-main-release-recovery.mjs are orchestration-only; workers/cc-execution/** and config/control-plane-capabilities.json remain cc-execution runtime-affecting. Add direct Worker regression coverage for both cases and bump cc-execution to 1.58.35-noop-release-reconcile-refreeze. Preserve selected-target failure semantics and all hard release safety. This generation legitimately deploys cc-execution once, then mission reconciliation must stop manufacturing cc-execution releases for orchestration-only changes and refreeze.","constraints":[{"id":"safety","statement":"Preserve exact-source/request-contract binding, affected-target-only proof, selected-target failure detection, duplicate-release prevention, canonical Gate/squash merge/release ownership, and hard safety invariants.","proofConditionIds":["repo","runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Worker-level regression coverage proves no-op orchestration ownership and real cc-execution ownership semantics.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime","kind":"runtime","claim":"cc-execution 1.58.35-noop-release-reconcile-refreeze is live on the exact merged corrective source and mission reconciliation no longer manufactures a release for orchestration-only paths.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"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":[]}],"validationErrors":[]},"requestContractHash":"45700501fa78af623f55cc5346bc635da11efc2e51cf20988cf42ce54926a4a0","requestContractRevision":5,"previousRequestContractHash":"02b9707f8d26901fcb95d5c22955ccc5e1daeb5d807a97ea135ebf1d620c6d57"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T11:44:54.741893+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:43992403-f254-4211-bc17-098b73a8f872:request-contract:45700501fa78af623f55cc5346bc635da11efc2e51cf20988cf42ce54926a4a0","mission_step_id":"cc46e19a-91b6-4f25-ab02-e9967ae7257b","command_center_event_id":"43992403-f254-4211-bc17-098b73a8f872"},{"id":"b91c8008-81a2-4e88-8335-aedc788c92f8","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\":[\"runtime-proof\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-30T16:03:56.312285+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-92176a8e5379\",\"prNumber\":4231,\"sourceSha\":\"bc71088dcf7401e79fc59087c6f4517395f83056\",\"deploymentId\":\"forgejo-main-bc71088dcf74\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T13:05:40.675269+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:92176a8e-5379-4bf4-bb3b-f0b343cd9918:owner-progress-heartbeat:119384902","mission_step_id":"13fb3667-d06c-46c0-91eb-7ffaeeb616f3","command_center_event_id":"92176a8e-5379-4bf4-bb3b-f0b343cd9918"},{"id":"b91f63d8-3751-49b5-973c-ca00fd5824bd","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/layout-controls-bell-fix-985b7759","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2612,"terminal":false,"missionId":"985b7759-0812-44de-ae30-94145fb73c42","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"3e6b921c3ada9102173bcbee2bedfd007afd0f6c","timingsMs":{"prReadinessMs":1250,"approvedPlanMs":0,"shipAndProveMs":10775,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"985b7759-0812-44de-ae30-94145fb73c42"},"performance":null,"deploymentId":"forgejo-main-3e6b921c3ada","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":1930,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T03:05:07.828299+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2612","receipt_type":"automatic_mission_resume","idempotency_key":"mission:985b7759-0812-44de-ae30-94145fb73c42:automatic-mission-resume:2612:canonical_release_dispatched","mission_step_id":"9f3c097d-7d3b-4438-9fd9-11108cae740b","command_center_event_id":"985b7759-0812-44de-ae30-94145fb73c42"},{"id":"b9206bb4-7d43-486d-9063-8d13f36f3ec2","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair","reason":"anchored_edit_anchor_missing:workers/cc-execution/src/index-mission-control.js","status":"blocked","metrics":{"receiptBytes":3676,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.46.14-file-write-contract","prNumber":null,"terminal":false,"missionId":"a9064535-8919-47fa-b3b7-c5f10ddd893a","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"a9064535-8919-47fa-b3b7-c5f10ddd893a"},"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":5190,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T19:13:38.741531+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a9064535-8919-47fa-b3b7-c5f10ddd893a:execute_mission:repair_mission_execution_blocked","mission_step_id":"7323dee9-5c32-475b-a842-d23fc7cbf6d0","command_center_event_id":"a9064535-8919-47fa-b3b7-c5f10ddd893a"},{"id":"b9227cd9-deb1-4764-a77c-90967a7a715f","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane only for the existing bounded PR-readiness brownout repair on PR #2419, refresh that same PR onto current main 7cba0731eddb4761ba7966758d8d66e93d8987de without changing semantics, re-Gate, squash merge, release only cc-execution, prove runtime 1.58.108-pr-ready-brownout-budget and the repaired readiness path live, then refreeze.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane only for the existing bounded PR-readiness brownout repair on PR #2419, refresh that same PR onto current main 7cba0731eddb4761ba7966758d8d66e93d8987de without changing semantics, re-Gate, squash merge, release only cc-execution, prove runtime 1.58.108-pr-ready-brownout-budget and the repaired readiness path live, then refreeze.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"budget-preservation","statement":"The shared Forgejo provider preserves explicitly marked specialized bounded budgets during brownout while ordinary interactive reads remain clamped.","proofConditionIds":["repo","gate","release","runtime"]},{"id":"readiness","statement":"The fast-lane explicit readiness reads opt into preserved bounded budgets so an already-green PR can be evaluated without brownout starvation.","proofConditionIds":["repo","gate","runtime"]},{"id":"regression","statement":"The focused Node test proves ordinary one-attempt brownout clamping and two-attempt specialized budget preservation.","proofConditionIds":["repo","gate"]}],"objective":"Unfreeze the control plane only for the existing bounded PR-readiness brownout repair on PR #2419, refresh that same PR onto current main 7cba0731eddb4761ba7966758d8d66e93d8987de without changing semantics, re-Gate, squash merge, release only cc-execution, prove runtime 1.58.108-pr-ready-brownout-budget and the repaired readiness path live, then refreeze.","constraints":[{"id":"scope","statement":"Use only forgejo-provider.js, index-release-fast-lane.js, version.js, and pr-ready-brownout-budget.test.js on the existing branch; no source expansion.","proofConditionIds":["repo","gate"]},{"id":"release","statement":"Release only cc-execution.","proofConditionIds":["release"]},{"id":"no-visual","statement":"Do not run Visual Witness.","proofConditionIds":["repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"The existing branch and PR contain only the bounded four-file PR-readiness brownout repair.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"gate","kind":"repository","claim":"KnockLaunch Gate passes on the exact refreshed PR head.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release","kind":"release","claim":"The squash merge deploys only cc-execution.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]},{"id":"runtime","kind":"runtime","claim":"Live cc-execution reports version 1.58.108-pr-ready-brownout-budget and the PR-readiness path evaluates a green PR without prior brownout starvation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"ff85ef1a10439378058a7bb676861d959fd2f64c5f2f04510a0e19c729300700","requestContractRevision":5,"previousRequestContractHash":"1c2b9822261ec78bd7ed55f5d308a0a07411729dfabd527646fe2cdc627fa27d"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:46:21.36536+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:ea4cc383-e1ba-49f5-8128-19c2910fb428:request-contract:ff85ef1a10439378058a7bb676861d959fd2f64c5f2f04510a0e19c729300700","mission_step_id":"18768578-7011-4d11-8d1b-079f143e8558","command_center_event_id":"ea4cc383-e1ba-49f5-8128-19c2910fb428"},{"id":"b923b20b-ca49-484d-8b3c-5366439d86e6","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1ebe06693ed5","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":55449,"releaseCount":0,"toolCallCount":22,"repeatedCallCount":18,"executorlessWaitMs":350043,"firstUsefulResultAt":"2026-10-03T18:22:06.741Z","recoveryAttemptCount":19,"ownerInterruptionCount":0},"version":null,"prNumber":4663,"terminal":false,"missionId":"1ebe0669-3ed5-47c6-86f9-89884fdf2869","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"2f82b7c4c05f439687ff6f41efe32399a2349bbe","timingsMs":{"prReadinessMs":3000,"approvedPlanMs":0,"shipAndProveMs":2935,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"1ebe0669-3ed5-47c6-86f9-89884fdf2869"},"performance":null,"deploymentId":"forgejo-main-2f82b7c4c05f","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":1855,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T18:28:28.492097+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4663","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1ebe0669-3ed5-47c6-86f9-89884fdf2869:automatic-mission-resume:4663:canonical_release_reconciliation_pending","mission_step_id":"1f042f9d-da8e-444f-8a46-390126c908f5","command_center_event_id":"1ebe0669-3ed5-47c6-86f9-89884fdf2869"},{"id":"b923da64-a9b5-4ceb-b7c5-15c2e5899085","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"ed4b6384e3773c9746c56b9dc70027661c8dd684","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"ed4b6384e3773c9746c56b9dc70027661c8dd684","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"d338ccbbd660a2ed6664e1d7eb458ef2e0531b5ed10fdba36dc9301ebd160209","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13280","runId":13280,"status":"waiting","sourceSha":"ed4b6384e3773c9746c56b9dc70027661c8dd684","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T03:40:43.661455+00:00","proof_gate":"canonical_release_pending","source_sha":"ed4b6384e3773c9746c56b9dc70027661c8dd684","external_id":"forgejo-main-ed4b6384e377","receipt_type":"canonical_release_status","idempotency_key":"mission:c33036a4-a8f1-4a49-99af-64d87fec6c5a:forgejo-release-status:ed4b6384e3773c9746c56b9dc70027661c8dd684:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"1b5b95f7-e7fb-4a46-82f1-2f69fcca1978","command_center_event_id":"c33036a4-a8f1-4a49-99af-64d87fec6c5a"},{"id":"b9251262-f12e-4942-8390-b075569e110a","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"67efcaafe3aafdaca4a0d1e14008941e53bf066c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Implement and ship the frontend repair for the Prestigious Card Grading dashboard background on /pcg/dashboard. The shared tenant background/media renderer used there must render the saved tenant media controls exactly: opacity directly from the saved opacity, blur directly from the saved blur, framing/position directly from saved framing/focal metadata, and scale directly from the saved scale. Remove any extra dashboard-specific dim overlay, brightness reduction, opacity multiplier, or filter that changes the uploaded background beyond those saved controls. Preserve unrelated PCG layout, cards, navigation, and branding. Use the smallest frontend diff, one fresh ai/* branch, one PR, canonical KnockLaunch Gate, squash merge, normal Cloudflare frontend deployment, and targeted live visual verification on /pcg/dashboard.","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"visual-artifact-scope","satisfied":false,"statement":"The requested visual artifact type is authoritative: dashboard only. 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":"tenant-visual-isolation","satisfied":false,"statement":"Visual work is isolated to Prestigious Card Grading. 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":"796e2bc692bb2171e7132bc51a64ff5d161ca93f0729ce8ab84219ee063d0674","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":"796e2bc692bb2171e7132bc51a64ff5d161ca93f0729ce8ab84219ee063d0674"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/pcg/dashboard","currentSourceSha":"67efcaafe3aafdaca4a0d1e14008941e53bf066c","witnessSourceSha":"67efcaafe3aafdaca4a0d1e14008941e53bf066c","verificationState":null,"witnessRequestContractHash":"796e2bc692bb2171e7132bc51a64ff5d161ca93f0729ce8ab84219ee063d0674"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-30T20:57:28.953782+00:00","proof_gate":"request_contract_pending","source_sha":"67efcaafe3aafdaca4a0d1e14008941e53bf066c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d6357c36-86c8-4fbf-8123-5460dd0ef2c7:request-contract:796e2bc692bb2171e7132bc51a64ff5d161ca93f0729ce8ab84219ee063d0674:67efcaafe3aafdaca4a0d1e14008941e53bf066c:pending:visual","mission_step_id":"223eae94-9f3d-470b-915a-0c500dbdefd2","command_center_event_id":"d6357c36-86c8-4fbf-8123-5460dd0ef2c7"},{"id":"b926463f-8b7a-4cc6-84a4-e7a8f6883916","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"0cccfbf4b9c3811fccdfc98fcce33fc391cddebb","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"06879d338058a9efbba3fcac45d1d3d6707ab4fb","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true},"releaseTargetStates":{"supabaseEdge":"success"},"requestContractHash":null,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13199","runId":13199,"status":"success","sourceSha":"06879d338058a9efbba3fcac45d1d3d6707ab4fb","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"df0053b2741b95cbbb4eba6d281c6bc5d3ed5ee6","sourceSha":"06879d338058a9efbba3fcac45d1d3d6707ab4fb","changedPaths":["supabase/functions/tenant-media-library/index.ts"],"changedPathCount":1,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T18:24:48.751541+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"06879d338058a9efbba3fcac45d1d3d6707ab4fb","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:32f8ed8e-cff9-4e3f-ae9e-30b2f382288d:forgejo-release-status:06879d338058a9efbba3fcac45d1d3d6707ab4fb:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"8bab87e6-d270-47b9-988b-12bce891fe01","command_center_event_id":"32f8ed8e-cff9-4e3f-ae9e-30b2f382288d"},{"id":"b9272d3b-107c-4fe1-a919-e191cdc6e2ff","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"85f065f9d4a14bdad5465e054fa051e30740633a","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"logo-restored","satisfied":false,"statement":"The proposal editor and saved proposal render the original active Big Papi tenant logo without destructive pixel processing.","proofConditionIds":["repo","live-visual"]}],"satisfied":false,"constraints":[{"id":"preserve-editor","satisfied":false,"statement":"Preserve the free-move grid, drag/resize, z-order, placement persistence, proposal assets, and all unrelated mechanics.","proofConditionIds":["repo"]},{"id":"frontend-only","satisfied":false,"statement":"No backend, database, storage, or tenant data changes.","proofConditionIds":["repo"]}],"contractHash":"c65f765568069442f1302ff318ab5244477be872692e4bdef077d33a26d474a7","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"c65f765568069442f1302ff318ab5244477be872692e4bdef077d33a26d474a7","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"live-visual","kind":"visual","evidence":{"verificationState":null,"witnessRequestContractHash":"c65f765568069442f1302ff318ab5244477be872692e4bdef077d33a26d474a7"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository","visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T14:55:24.233907+00:00","proof_gate":"request_contract_pending","source_sha":"85f065f9d4a14bdad5465e054fa051e30740633a","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:7afd0330-c4c4-47bf-b61e-4afc23372fc5:request-contract:c65f765568069442f1302ff318ab5244477be872692e4bdef077d33a26d474a7:85f065f9d4a14bdad5465e054fa051e30740633a:pending:repository,visual","mission_step_id":"1aed08bd-49eb-4b94-9a03-bd677f2f22fd","command_center_event_id":"7afd0330-c4c4-47bf-b61e-4afc23372fc5"},{"id":"b9276720-2668-4758-b647-1a26f22c292e","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":"97f989a638861ef1fc9c3756dd7eb25b6743bd01","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":"97f989a638861ef1fc9c3756dd7eb25b6743bd01","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/639","runId":639,"status":"running","conclusion":null,"failedJobs":[]},"onrunnerRuntimeProof":null,"ccExecutionRuntimeProof":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-16T01:46:03.801192+00:00","proof_gate":"canonical_release_pending","source_sha":"97f989a638861ef1fc9c3756dd7eb25b6743bd01","external_id":"forgejo-main-97f989a63886","receipt_type":"canonical_release_status","idempotency_key":"mission:e2704415-ab7c-42ac-818c-6f2e7ccf55f8:forgejo-release-status:97f989a638861ef1fc9c3756dd7eb25b6743bd01:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"b266705a-e92f-418a-a71f-218d2397efe8","command_center_event_id":"e2704415-ab7c-42ac-818c-6f2e7ccf55f8"},{"id":"b9296469-7c54-4510-b419-223bf4212e59","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/tenant-settings-brand-media-20260903","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":16375,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":10,"ownerInterruptionCount":0},"version":"1.58.17-release-owner-classifier-refreeze","prNumber":1645,"terminal":false,"missionId":"c0f7ad0b-65d2-4d48-9525-ae0fd2c37584","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":37838,"prReadinessMs":4160,"approvedPlanMs":32410,"missionSetupMs":1158,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"c0f7ad0b-65d2-4d48-9525-ae0fd2c37584"},"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-04T00:51:25.510219+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1645","receipt_type":"execute_mission","idempotency_key":"mission:c0f7ad0b-65d2-4d48-9525-ae0fd2c37584:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"1a180256-7269-47b3-918f-deb0c53c5ed2","command_center_event_id":"c0f7ad0b-65d2-4d48-9525-ae0fd2c37584"},{"id":"b92c54d2-0427-4a6e-9974-3e3229f3ce70","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"96ea42b4-2d81-3020-09df-dfbab4b2b656"},"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:3c193377-914c-4359-ad57-84a91fa7c540","mission_step_id":null,"command_center_event_id":"3c193377-914c-4359-ad57-84a91fa7c540"},{"id":"b92e7254-6de6-4c05-bba4-b59a5dd90d16","source":"onrunner","status":"completed_with_findings","payload":{"ok":true,"jobId":"e08053c6-05c9-4e48-97ab-5c12526cc0cf","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-8c04bea84e20","reason":null,"status":"verification_pending","metrics":{"receiptBytes":319129,"releaseCount":0,"toolCallCount":151,"repeatedCallCount":72,"executorlessWaitMs":7920310,"firstUsefulResultAt":"2026-09-28T13:17:30.172Z","recoveryAttemptCount":16,"ownerInterruptionCount":0},"version":null,"prNumber":4002,"terminal":false,"missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6","operation":"visual_proof_status","proofGate":"interactive_visual_witness_completed_with_findings","sourceSha":"f771abea866227298c2b7ff278d55fd3101f06af","timingsMs":{"queue":1143,"total":31978,"execution":30835},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},"performance":null,"deploymentId":"forgejo-main-f771abea8662","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"e08053c6-05c9-4e48-97ab-5c12526cc0cf","tenant":"redfish-roofing","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":1,"supervisorId":"e08053c6-05c9-4e48-97ab-5c12526cc0cf","failureReason":null,"observedRoute":"/redfish-roofing/roof-measurement","runnerVersion":"laptop-cd17b09fdb31","attemptLineage":[{"jobId":"16d71505-2401-439d-be7c-9e9b5b39e9b0","attempt":1,"category":"completed_with_findings","sourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","startedAt":"2026-09-28T15:28:39.928Z","completedAt":"2026-09-28T15:29:12.765Z","runtimeLane":"cc-execution -> Local Laptop -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"laptop-cd17b09fdb31","browserLaunchReason":"interaction_only_headless","checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":4,"completed":4,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":8,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":8}}],"missionOutcome":"completed_with_findings","requestedRoute":"/redfish-roofing/roof-measurement","runnerSourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","selectedViewports":["desktop","mobile"],"checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":4,"completed":4,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":8,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":8},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12577,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":"completed_with_findings","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":44498,"ownerActionRequired":false,"ownerFacingTerminal":false,"requestContractHash":"e6318cf36efca71d8a0210ba62e1ccd041821233ea897db68ca58f99645d21c9","continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T15:29:31.775777+00:00","proof_gate":"interactive_visual_witness_completed_with_findings","source_sha":"laptop-cd17b09fdb31","external_id":"e08053c6-05c9-4e48-97ab-5c12526cc0cf","receipt_type":"visual_proof_status","idempotency_key":"mission:8c04bea8-4e20-43c8-8b0e-56d79150cdd6:visual:e08053c6-05c9-4e48-97ab-5c12526cc0cf:completed_with_findings","mission_step_id":"d411668f-fe4a-4ab5-80d6-0d9bde8b75cc","command_center_event_id":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},{"id":"b92fda09-17f6-4263-b945-a6e0d6dee93e","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-45e6b542c2e1","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3542,"terminal":false,"missionId":"45e6b542-c2e1-4be2-8e49-62c12d822f32","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"a728a77243722158c0d6c9db1bd36cdc45403b79","timingsMs":{"prReadinessMs":619,"approvedPlanMs":0,"shipAndProveMs":3839,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"45e6b542-c2e1-4be2-8e49-62c12d822f32"},"performance":null,"deploymentId":"forgejo-main-a728a7724372","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"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":1837,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T19:53:55.743605+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3542","receipt_type":"automatic_mission_resume","idempotency_key":"mission:45e6b542-c2e1-4be2-8e49-62c12d822f32:automatic-mission-resume:3542:canonical_release_dispatched","mission_step_id":"2cc38898-6734-4847-a0d6-4ab696261d04","command_center_event_id":"45e6b542-c2e1-4be2-8e49-62c12d822f32"},{"id":"b931b181-6add-481c-b30b-db43311b93d5","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":"1fe1471798a90a3168738120c16be948f05dbfea","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","supabase-migrations/live"],"sourceSha":"1fe1471798a90a3168738120c16be948f05dbfea","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["command-center-autopilot"]},"releaseTargetStates":{"migrations":"success","supabaseEdge":"success"},"requestContractHash":"0d410de7973d15c2f1e88f82526130c853a36f2508a31d0f63a5ab0f78dd1548","forgejoWorkflowProof":{"runId":15638,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"migrations":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"migrations":"success","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T14:21:02.396615+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"1fe1471798a90a3168738120c16be948f05dbfea","external_id":"forgejo-main-1fe1471798a9","receipt_type":"canonical_release_status","idempotency_key":"mission:6209bd54-40c6-4105-be7c-e634a1d2a544:forgejo-release-status:1fe1471798a90a3168738120c16be948f05dbfea:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|supabase-migrations/live=success","mission_step_id":"103ef9a8-b04d-4bb3-b8b3-2af319317e48","command_center_event_id":"6209bd54-40c6-4105-be7c-e634a1d2a544"},{"id":"b933e106-54f5-4c83-b2f7-f1b282f3a782","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/paul-connection-research.js","workers/cc-execution/src/version.js","workers/cc-execution/test/mcp.test.js","workers/cc-execution/test/paul-connection-research.test.js"],"reason":"Owner explicitly requested the deterministic PAUL connection-research capability be set up and shipped; authorize only this mission's exact mutation paths while preserving newer main changes.","baseSha":"4929274f77e91e713b9b07accad1f86a941b602c","issuedAt":1790901017727,"expiresAt":1790901197727,"missionId":"4adeff75-f590-4e0b-8da0-1b5cdd2e1d17","authorizationId":"638bd300-14fa-4383-8e3c-7bde6f0cf4e6","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:30:18.088729+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"4929274f77e91e713b9b07accad1f86a941b602c","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:638bd300-14fa-4383-8e3c-7bde6f0cf4e6","mission_step_id":"8328eafb-178f-4abb-8850-79207c8fd570","command_center_event_id":"4adeff75-f590-4e0b-8da0-1b5cdd2e1d17"},{"id":"b9353926-87ae-4696-959b-37d22de925f5","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5b2b830692f3","reason":"anchored_edit_anchor_missing:supabase/functions/owner-seo-audit/index.ts","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"5b2b8306-92f3-401a-89be-5f01a44409a8","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":840,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":538,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":455,"ledgerReconcileMs":0,"lineageReconcileMs":83,"resolvePreflightMs":538,"repositoryMutationMs":840,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":455,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"5b2b8306-92f3-401a-89be-5f01a44409a8"},"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":1525,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T18:25:36.679098+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5b2b8306-92f3-401a-89be-5f01a44409a8:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"ec5dca68-c8e2-45ea-9fb0-b3060c070458","command_center_event_id":"5b2b8306-92f3-401a-89be-5f01a44409a8"},{"id":"b935b2af-8bf6-41ee-90b9-2fa40df2096d","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-202d42169118","prNumber":3521,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"666a1bc23410865196d34a9fca1b1a916365b964","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T13:49:19.044038+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"666a1bc23410865196d34a9fca1b1a916365b964","external_id":"3521","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:202d4216-9118-47c7-8884-1885f8e18182:merged-pr:3521:666a1bc23410865196d34a9fca1b1a916365b964","mission_step_id":"b5b15638-c101-4c81-aed2-fba81a715a64","command_center_event_id":"202d4216-9118-47c7-8884-1885f8e18182"},{"id":"b9369428-ab9c-4e22-9d14-43c5b4bc8edd","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"fbd7874d274f93c63267231f76c247f7b6d1f81b","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repo-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"3fa92c849be192a71991ae74068bb9b100de99a3","prNumber":2675,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/7888/jobs/1","mergeCommitSha":"fbd7874d274f93c63267231f76c247f7b6d1f81b"}],"requestContractHash":"4f3a112d984fc9fdd32311be6e0d6916ef0e99e1b346b056f73ad69d16575d60"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T19:44:52.288963+00:00","proof_gate":"request_contract_repository_verified","source_sha":"fbd7874d274f93c63267231f76c247f7b6d1f81b","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:497f9e60-4aae-4194-8c3e-b24883eba51d:request-contract-repository:4f3a112d984fc9fdd32311be6e0d6916ef0e99e1b346b056f73ad69d16575d60:fbd7874d274f93c63267231f76c247f7b6d1f81b","mission_step_id":"d483797c-bc8d-49ba-bad9-65a6c7545cd9","command_center_event_id":"497f9e60-4aae-4194-8c3e-b24883eba51d"},{"id":"b9387d11-0e8d-423a-9fc1-5ce3c994c180","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/pages/mobile-vendor/BigPapisEvents.tsx","content":"import React from 'react';\nimport { Link, useNavigate, useSearchParams } from 'react-router-dom';\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { CalendarDays, CheckCircle2, ChevronLeft, ChevronRight, ClipboardCheck, Copy, FileText, ImagePlus, Loader2, Mail, Megaphone, Plus, Receipt, Trash2, Users } from 'lucide-react';\n\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { supabase } from '@/integrations/supabase/client';\nimport { invokeBigPapisGrowth, type BigPapisGrowthMember } from '@/lib/mobileVendor/bigPapisGrowth';\nimport {\n  MOBILE_VENDOR_EVENT_STAGES,\n  MOBILE_VENDOR_EVENT_TYPES,\n  createEventBooking,\n  eventCustomerName,\n  eventDateLabel,\n  eventTimeLabel,\n  eventUnitLabel,\n  eventUnitRate,\n  eventOperationalBucket,\n  validateEventTimeInput,\n  listEventBookings,\n  listEventWorkflowSteps,\n  localBusinessTimeToIso,\n  moneyLabel,\n  updateEventBooking,\n  updateEventStage,\n  type EventBooking,\n  type MobileVendorEventStage,\n  buildMobileVendorLoadoutDefinitions,\n} from '@/lib/mobileVendor/eventBookings';\nimport { listNormalizedTenantSchedule, scheduleConflictKind } from '@/lib/calendar/calendarEngine';\nimport { normalizeRouteWorkLoadout, routeWorkLoadoutSummary } from '@/lib/routeWork/loadouts';\nimport { BIG_PAPIS_OWNER_BASE_PATH } from '@/lib/tenantUtils';\nimport BigPapisEventCockpit from '@/pages/mobile-vendor/BigPapisEventCockpit';\nimport BigPapisEventPromotionKit from '@/pages/mobile-vendor/BigPapisEventPromotionKit';\n\nconst EMPTY_FORM = {\n  eventName: '',\n  contactId: '',\n  eventType: 'Corporate Event',\n  eventDate: '',\n  startTime: '',\n  endTime: '',\n  venueName: '',\n  location: '',\n  guests: '',\n  quotedUnits: '',\n  unitLabel: 'cups',\n  servicePackage: '',\n  setup: '',\n  quoteAmount: '',\n  publicSchedule: false,\n  publicRegion: 'upstate_new_york',\n  publicVenue: '',\n  publicCity: '',\n  publicUrl: '',\n};\n\nconst BIG_PAPIS_TIME_ZONE = 'America/New_York';\nfunction businessDateInTimeZone(timeZone: string) {\n  const parts = new Intl.DateTimeFormat('en-US', { timeZone, year: 'numeric', month: '2-digit', day: '2-digit' }).formatToParts(new Date());\n  const values = Object.fromEntries(parts.map((part) => [part.type, part.value]));\n  return `${values.year}-${values.month}-${values.day}`;\n}\nconst BUSINESS_TIME_OPTIONS = Array.from({ length: 96 }, (_, index) => {\n  const totalMinutes = index * 15;\n  const hour = Math.floor(totalMinutes / 60);\n  const minute = totalMinutes % 60;\n  const value = `${String(hour).padStart(2, '0')}:${String(minute).padStart(2, '0')}`;\n  const label = `${hour % 12 || 12}:${String(minute).padStart(2, '0')} ${hour >= 12 ? 'PM' : 'AM'}`;\n  return { value, label };\n});\nconst BIG_PAPIS_FLAVORS = ['Coconut', 'Passionfruit', 'Mango', 'Pineapple', 'Rainbow', 'Cherry', 'Swedish Fish', 'Orange Creamsicle', 'Blue Raspberry', 'Tie-Dye', 'Strawberry', 'Strawberry Lemonade', 'Strawberry Banana', 'Soursop', 'Tamarindo', 'Watermelon', 'Lemon'] as const;\nconst BIG_PAPIS_ORGANIZER_QUESTIONS = [\n  'What are the event hours?',\n  'How many vendors will be there?',\n  'What is the expected attendance?',\n  'How many other frozen treat vendors will be there?',\n] as const;\ntype BigPapisFlavor = (typeof BIG_PAPIS_FLAVORS)[number];\n\ntype EventIntelligence = {\n  venue_type?: string;\n  environment?: 'indoor' | 'outdoor' | 'mixed' | 'unknown';\n  environment_confidence?: number;\n  environment_evidence?: string | null;\n  environment_confirmed_by_owner?: boolean;\n  access_signals?: string[];\n  setup_evidence?: string | null;\n  setup_recommendation?: 'trailer' | 'push_cart' | 'table_or_booth' | 'trailer_plus_cart_backup' | 'confirm_access';\n  setup_reason?: string;\n  flavor_recommendations?: Array<{ flavor: string; reason: string }>;\n  selected_flavors?: string[];\n  organizer_questions?: string[];\n  logistics_questions?: string[];\n};\n\ntype ScheduleImportCandidate = {\n  id: string;\n  selected: boolean;\n  sourceFile: string;\n  title: string;\n  venueName: string;\n  eventIntelligence: EventIntelligence | null;\n  eventDate: string;\n  startTime: string;\n  endTime: string;\n  location: string;\n  notes: string;\n  allDay: boolean;\n  confidence: number;\n  dateEvidence: string;\n  timeEvidence: string;\n  yearAssumedCurrent: boolean;\n  warnings: string[];\n};\n\nfunction fileToBase64(file: File): Promise<string> {\n  return new Promise((resolve, reject) => {\n    const reader = new FileReader();\n    reader.onload = () => {\n      const result = String(reader.result || '');\n      const base64 = result.includes(',') ? result.split(',')[1] : result;\n      if (!base64) reject(new Error(`Could not read ${file.name}.`));\n      else resolve(base64);\n    };\n    reader.onerror = () => reject(reader.error || new Error(`Could not read ${file.name}.`));\n    reader.readAsDataURL(file);\n  });\n}\n\nasync function functionInvokeErrorMessage(data: any, error: any, fallback: string) {\n  const direct = String(data?.error || '').trim();\n  if (direct) return direct;\n  const context = error?.context;\n  if (context && typeof context.clone === 'function') {\n    try {\n      const payload = await context.clone().json();\n      const message = String(payload?.error || payload?.message || '').trim();\n      if (message) return message;\n    } catch {\n      try {\n        const text = String(await context.clone().text()).trim();\n        if (text && text.length < 300 && !/^\\s*<html/i.test(text)) return text;\n      } catch {\n        // Use the friendly fallback below.\n      }\n    }\n  }\n  const generic = String(error?.message || '').trim();\n  return generic && !/Edge Function returned a non-2xx status code/i.test(generic) ? generic : fallback;\n}\n\nfunction businessClockFromIso(value?: string | null) {\n  if (!value) return '';\n  const date = new Date(value);\n  if (Number.isNaN(date.getTime())) return '';\n  return new Intl.DateTimeFormat('en-US', { timeZone: BIG_PAPIS_TIME_ZONE, hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }).format(date);\n}\n\nfunction normalizedEventTitle(value: string) {\n  return value.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();\n}\n\nfunction setupIntelLabel(value?: string) {\n  return ({ trailer: 'Trailer', push_cart: 'Push cart', table_or_booth: 'Table / booth', trailer_plus_cart_backup: 'Trailer + push cart backup', confirm_access: 'Needs environment confirmation' } as Record<string, string>)[String(value || '')] || 'Needs environment confirmation';\n}\n\nfunction normalizeBigPapisFlavor(value: string) {\n  return value === 'Strawberry-Banana' ? 'Strawberry Banana' : value;\n}\n\nfunction eventIntelSelectedFlavors(intel?: EventIntelligence | null): BigPapisFlavor[] {\n  const source = Array.isArray(intel?.selected_flavors)\n    ? intel!.selected_flavors!\n    : (intel?.flavor_recommendations || []).map((item) => item.flavor);\n  const selected = new Set(source.map((item) => normalizeBigPapisFlavor(String(item))));\n  return BIG_PAPIS_FLAVORS.filter((flavor) => selected.has(flavor));\n}\n\nfunction normalizeEventIntelligence(raw: any): EventIntelligence | null {\n  if (!raw || typeof raw !== 'object') return null;\n  const intel = raw as EventIntelligence;\n  return {\n    ...intel,\n    flavor_recommendations: (intel.flavor_recommendations || []).map((item) => ({ ...item, flavor: normalizeBigPapisFlavor(String(item.flavor || '')) })),\n    selected_flavors: eventIntelSelectedFlavors(intel),\n  };\n}\n\nfunction withFlavorSelection(intel: EventIntelligence, flavor: BigPapisFlavor, checked: boolean): EventIntelligence {\n  const selected = new Set(eventIntelSelectedFlavors(intel));\n  if (checked) selected.add(flavor);\n  else selected.delete(flavor);\n  return { ...intel, selected_flavors: BIG_PAPIS_FLAVORS.filter((item) => selected.has(item)) };\n}\n\nfunction withEnvironmentChoice(intel: EventIntelligence, environment: 'indoor' | 'outdoor' | 'mixed'): EventIntelligence {\n  const access = new Set(intel.access_signals || []);\n  let setupRecommendation: EventIntelligence['setup_recommendation'] = 'confirm_access';\n  let setupReason = 'Confirm where Will will serve before choosing the setup.';\n  if (environment === 'indoor') {\n    if (access.has('table_required') || access.has('booth_space')) {\n      setupRecommendation = 'table_or_booth';\n      setupReason = 'Indoor service is confirmed and the event evidence calls for a booth or table setup.';\n    } else {\n      setupRecommendation = 'push_cart';\n      setupReason = 'Indoor service is confirmed. The push cart is the default indoor setup.';\n    }\n  } else if (environment === 'outdoor') {\n    if (access.has('limited_vehicle_access')) {\n      setupRecommendation = 'push_cart';\n      setupReason = 'Outdoor service is confirmed, but the event evidence shows limited vehicle access, so use the push cart.';\n    } else {\n      setupRecommendation = 'trailer';\n      setupReason = 'Outdoor service is confirmed. The trailer is the default outdoor setup.';\n    }\n  } else {\n    setupRecommendation = 'trailer_plus_cart_backup';\n    setupReason = 'Indoor and outdoor service are confirmed, so use the trailer with the push cart as the flexible backup.';\n  }\n  return {\n    ...intel,\n    environment,\n    environment_confidence: 1,\n    environment_confirmed_by_owner: true,\n    setup_recommendation: setupRecommendation,\n    setup_reason: setupReason,\n  };\n}\n\nfunction environmentIntelLabel(value?: string, confidence?: number, confirmed?: boolean) {\n  const label = ({ indoor: 'Indoor', outdoor: 'Outdoor', mixed: 'Indoor + outdoor', unknown: 'Needs confirmation' } as Record<string, string>)[String(value || '')] || 'Needs confirmation';\n  if (confirmed) return `${label} · confirmed by Will`;\n  if (value === 'unknown' || Number(confidence || 0) < 0.65) return 'Needs confirmation';\n  return `${label} · suggested from screenshot`;\n}\n\nfunction bookingBucket(booking: EventBooking) {\n  return eventOperationalBucket(booking);\n}\n\ntype EventNextStep = {\n  title: string;\n  detail: string;\n  href: string;\n  actionLabel: string;\n};\n\nfunction nextStepForEvent(booking: EventBooking, readiness: ReturnType<typeof routeWorkLoadoutSummary> | null): EventNextStep {\n  const stage = String(booking.stage || 'Inquiry');\n  const today = new Date().toISOString().slice(0, 10);\n  if (stage === 'Inquiry') return { title: 'Build and send the proposal', detail: 'Get the offer in front of the customer. The event stays connected to the same customer and date.', href: `${BIG_PAPIS_OWNER_BASE_PATH}/proposals?event=${booking.id}`, actionLabel: 'Open proposal' };\n  if (stage === 'Quoted') return { title: 'Follow up on the proposal', detail: 'Review the customer version, resend it if needed, and book the event when they are ready.', href: `${BIG_PAPIS_OWNER_BASE_PATH}/proposals?event=${booking.id}`, actionLabel: 'Open proposal' };\n  if (stage === 'Awaiting Agreement') return { title: 'Finish the agreement', detail: 'The proposal is far enough along. Get the agreement finished so the booking can keep moving.', href: `${BIG_PAPIS_OWNER_BASE_PATH}/agreements?event=${booking.id}`, actionLabel: 'Open agreement' };\n  if (stage === 'Booked') {\n    if (readiness?.blocking.length) return { title: 'Fix event prep', detail: `${readiness.blocking.length} prep issue${readiness.blocking.length === 1 ? '' : 's'} need attention before you leave.`, href: `${BIG_PAPIS_OWNER_BASE_PATH}/inventory?view=prep&event=${booking.id}`, actionLabel: 'Open event prep' };\n    if (booking.event_date === today) return { title: 'Run today’s event', detail: 'The booking is ready. Open Event Day for the live checklist, service, and closeout.', href: `${BIG_PAPIS_OWNER_BASE_PATH}/event-day?event=${booking.id}`, actionLabel: 'Run event' };\n    return { title: 'Review event prep', detail: 'The booking is confirmed. Check the loadout and supplies before event day.', href: `${BIG_PAPIS_OWNER_BASE_PATH}/inventory?view=prep&event=${booking.id}`, actionLabel: 'Open event prep' };\n  }\n  if (stage === 'Event Ready' || stage === 'Event Day') return { title: booking.event_date === today ? 'Run today’s event' : 'Open Event Day', detail: 'Use the event-day screen for service, checklist, and closeout without digging through the full record.', href: `${BIG_PAPIS_OWNER_BASE_PATH}/event-day?event=${booking.id}`, actionLabel: 'Run event' };\n  if (stage === 'Completed' && Number(booking.balance_due || 0) > 0) return { title: 'Collect the remaining balance', detail: `${moneyLabel(booking.balance_due)} is still open for this event.`, href: `${BIG_PAPIS_OWNER_BASE_PATH}/invoices?event=${booking.id}`, actionLabel: 'Get paid' };\n  if (stage === 'Completed') return { title: 'Event closed', detail: 'The event is finished. Review the customer or move on to the next booking.', href: booking.contact_id ? `${BIG_PAPIS_OWNER_BASE_PATH}/customers/${booking.contact_id}` : `${BIG_PAPIS_OWNER_BASE_PATH}/events`, actionLabel: booking.contact_id ? 'Open customer' : 'Back to events' };\n  if (stage === 'Payment Complete' || stage === 'Follow-Up') return { title: 'Follow up with the customer', detail: 'Payment is handled. Keep the relationship warm and look for the next booking.', href: booking.contact_id ? `${BIG_PAPIS_OWNER_BASE_PATH}/customers/${booking.contact_id}` : `${BIG_PAPIS_OWNER_BASE_PATH}/customers`, actionLabel: 'Open customer' };\n  return { title: 'Open this event', detail: 'Review the event and KNOCKLAUNCH will keep the related proposal, prep, customer, and money connected.', href: `${BIG_PAPIS_OWNER_BASE_PATH}/event-day?event=${booking.id}`, actionLabel: 'Open event' };\n}\n\nfunction optionalNonNegative(value: string) {\n  if (!value.trim()) return null;\n  const parsed = Number(value);\n  return Number.isFinite(parsed) && parsed >= 0 ? parsed : null;\n}\n\nfunction mondayForOffset(offset: number) {\n  const date = new Date();\n  date.setHours(12, 0, 0, 0);\n  const weekday = (date.getDay() + 6) % 7;\n  date.setDate(date.getDate() - weekday + offset * 7);\n  return date.toISOString().slice(0, 10);\n}\n\nfunction addDays(dateIso: string, days: number) {\n  const date = new Date(`${dateIso}T12:00:00`);\n  date.setDate(date.getDate() + days);\n  return date.toISOString().slice(0, 10);\n}\n\nexport default function BigPapisEvents() {\n  const { activeTenant } = useMultiTenant();\n  const tenantId = activeTenant?.id || '';\n  const queryClient = useQueryClient();\n  const navigate = useNavigate();\n  const [searchParams, setSearchParams] = useSearchParams();\n  const [bucket, setBucket] = React.useState<'needs_attention' | 'upcoming' | 'tbd' | 'completed' | 'all'>('upcoming');\n  const [eventsPanel, setEventsPanel] = React.useState<'bookings' | 'calendar'>('bookings');\n  const [showCreate, setShowCreate] = React.useState(false);\n  const [form, setForm] = React.useState(EMPTY_FORM);\n  const [contactSearch, setContactSearch] = React.useState('');\n  const [newContactOpen, setNewContactOpen] = React.useState(false);\n  const [newContact, setNewContact] = React.useState({ name: '', email: '', phone: '' });\n  const [showMoreEventDetails, setShowMoreEventDetails] = React.useState(false);\n  const [error, setError] = React.useState<string | null>(null);\n  const [showFormValidation, setShowFormValidation] = React.useState(false);\n  const [weekOffset, setWeekOffset] = React.useState(0);\n  const createFormRef = React.useRef<HTMLElement>(null);\n  const scheduleImportInputRef = React.useRef<HTMLInputElement>(null);\n  const scheduleImportResumeTenantRef = React.useRef<string | null>(null);\n  const [scheduleImportOpen, setScheduleImportOpen] = React.useState(false);\n  const [scheduleImportBusy, setScheduleImportBusy] = React.useState(false);\n  const [scheduleImportId, setScheduleImportId] = React.useState<string | null>(null);\n  const [scheduleImportCandidates, setScheduleImportCandidates] = React.useState<ScheduleImportCandidate[]>([]);\n  const [scheduleImportNotice, setScheduleImportNotice] = React.useState<string | null>(null);\n  const [scheduleImportDefaultYear, setScheduleImportDefaultYear] = React.useState<number | null>(null);\n  const [publicForm, setPublicForm] = React.useState({ publicSchedule: false, publicRegion: 'upstate_new_york', publicVenue: '', publicCity: '', publicUrl: '' });\n\n  React.useEffect(() => {\n    if (searchParams.get('new') !== '1') return;\n    const isPopUp = searchParams.get('mode') === 'popup';\n    const requestedDate = searchParams.get('date') || businessDateInTimeZone(BIG_PAPIS_TIME_ZONE);\n    setForm(isPopUp\n      ? { ...EMPTY_FORM, eventName: 'Big Papi Pop-Up', eventType: 'Pop-Up / Vendor Event', eventDate: requestedDate, startTime: '', endTime: '' }\n      : { ...EMPTY_FORM, eventDate: requestedDate, startTime: '', endTime: '', venueName: '', location: '', contactId: '' });\n    setPublicForm({ publicSchedule: false, publicRegion: 'upstate_new_york', publicVenue: '', publicCity: '', publicUrl: '' });\n    setContactSearch('');\n    setNewContactOpen(false);\n    setNewContact({ name: '', email: '', phone: '' });\n    setShowMoreEventDetails(false);\n    setShowCreate(true);\n    requestAnimationFrame(() => createFormRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' }));\n    const next = new URLSearchParams(searchParams);\n    next.delete('new');\n    next.delete('mode');\n    next.delete('date');\n    setSearchParams(next, { replace: true });\n  }, [searchParams, setSearchParams]);\n\n  const bookingsQuery = useQuery({\n    queryKey: ['mobile-vendor-event-bookings', tenantId],\n    enabled: Boolean(tenantId),\n    staleTime: 0,\n    refetchOnMount: 'always',\n    queryFn: () => listEventBookings(tenantId),\n  });\n  const bookings = bookingsQuery.data || [];\n  const loyaltyCustomersQuery = useQuery({\n    queryKey: ['big-papis-event-loyalty-customers', tenantId],\n    enabled: Boolean(tenantId),\n    queryFn: async () => {\n      const status = await invokeBigPapisGrowth('owner_status');\n      return ((status?.members || []) as BigPapisGrowthMember[]).filter((member) => String(member.status || '').toLowerCase() !== 'unsubscribed');\n    },\n  });\n  const loyaltyCustomerIds = React.useMemo(() => new Set(\n    (loyaltyCustomersQuery.data || []).map((member) => member.contact_id).filter((id): id is string => Boolean(id)),\n  ), [loyaltyCustomersQuery.data]);\n  const bookingClientIds = React.useMemo(() => new Set(\n    bookings.map((booking) => booking.contact_id).filter((id): id is string => Boolean(id)),\n  ), [bookings]);\n  const contactsQuery = useQuery({\n    queryKey: ['mobile-vendor-event-customer-client-options', tenantId],\n    enabled: Boolean(tenantId),\n    staleTime: 0,\n    queryFn: async () => {\n      const { data, error } = await supabase\n        .from('unified_contacts')\n        .select('id,name,first_name,last_name,email,phone')\n        .eq('tenant_org_id', tenantId)\n        .is('deleted_at', null)\n        .order('updated_at', { ascending: false });\n      if (error) throw error;\n      return data || [];\n    },\n  });\n  const contactOptions = React.useMemo(() => (contactsQuery.data || []).map((contact: any) => {\n    const isCustomer = loyaltyCustomerIds.has(contact.id);\n    const isClient = bookingClientIds.has(contact.id);\n    const displayName = contact.name || [contact.first_name, contact.last_name].filter(Boolean).join(' ') || contact.email || contact.phone || 'Contact';\n    return {\n      ...contact,\n      displayName,\n      relationshipLabel: isCustomer && isClient ? 'Customer + Client' : isClient ? 'Client' : 'Customer',\n    };\n  }).sort((a: any, b: any) => `${a.relationshipLabel}:${a.displayName}:${a.id}`.localeCompare(`${b.relationshipLabel}:${b.displayName}:${b.id}`)), [bookingClientIds, contactsQuery.data, loyaltyCustomerIds]);\n  const filteredContactOptions = React.useMemo(() => {\n    const needle = contactSearch.trim().toLowerCase();\n    if (!needle) return contactOptions;\n    return contactOptions.filter((contact: any) => [contact.displayName, contact.email, contact.phone, contact.relationshipLabel]\n      .some((value) => String(value || '').toLowerCase().includes(needle)));\n  }, [contactOptions, contactSearch]);\n\n  const scheduleQuery = useQuery({\n    queryKey: ['tenant-normalized-schedule', tenantId],\n    enabled: Boolean(tenantId),\n    staleTime: 0,\n    queryFn: () => listNormalizedTenantSchedule({ tenantOrgId: tenantId }),\n  });\n  const normalizedSchedule = scheduleQuery.data || [];\n\n  const scheduleImportDuplicate = React.useCallback((candidate: ScheduleImportCandidate) => {\n    if (!candidate.eventDate || !candidate.title.trim()) return false;\n    const title = normalizedEventTitle(candidate.title);\n    const matchingBooking = bookings.some((booking) => {\n      if (booking.event_date !== candidate.eventDate || normalizedEventTitle(booking.event_name) !== title) return false;\n      if (!candidate.startTime) return true;\n      const existingClock = businessClockFromIso(booking.start_time);\n      return !existingClock || existingClock === candidate.startTime;\n    });\n    if (matchingBooking) return true;\n    return normalizedSchedule.some((event) => {\n      if (event.schedule_date !== candidate.eventDate || normalizedEventTitle(event.title) !== title) return false;\n      if (!candidate.startTime) return true;\n      const existingClock = businessClockFromIso(event.start_time);\n      return !existingClock || existingClock === candidate.startTime;\n    });\n  }, [bookings, normalizedSchedule]);\n\n  const hydrateScheduleImport = React.useCallback((data: any, fallbackFileName = 'schedule-screenshot', recovered = false) => {\n    const extracted = Array.isArray(data?.events) ? data.events : [];\n    const defaultYear = Number(data?.default_year || 0) || null;\n    const candidates = extracted.map((item: any, index: number): ScheduleImportCandidate => {\n      const candidate: ScheduleImportCandidate = {\n        id: `${String(data?.import_id || Date.now())}-${index}`,\n        selected: false,\n        sourceFile: String(item.source_file || fallbackFileName),\n        title: String(item.title || ''),\n        venueName: String(item.venue_name || ''),\n        eventIntelligence: normalizeEventIntelligence(item?.event_intelligence),\n        eventDate: String(item.event_date || ''),\n        startTime: String(item.start_time || ''),\n        endTime: String(item.end_time || ''),\n        location: String(item.location || ''),\n        notes: String(item.description || ''),\n        allDay: item.all_day === true,\n        confidence: Number(item.confidence || 0),\n        dateEvidence: String(item.date_evidence || ''),\n        timeEvidence: String(item.time_evidence || ''),\n        yearAssumedCurrent: item.year_assumed_current === true,\n        warnings: Array.isArray(item.warnings) ? item.warnings.map(String) : [],\n      };\n      candidate.selected = Boolean(candidate.eventDate) && candidate.confidence >= 0.75 && candidate.warnings.length === 0 && !scheduleImportDuplicate(candidate);\n      return candidate;\n    });\n    setScheduleImportId(String(data?.import_id || '').trim() || null);\n    setScheduleImportDefaultYear(defaultYear);\n    setScheduleImportCandidates(candidates);\n    if (candidates.length) {\n      setScheduleImportOpen(true);\n      setScheduleImportNotice(recovered\n        ? `Recovered your unfinished screenshot import. ${candidates.length} event${candidates.length === 1 ? '' : 's'} found.`\n        : `${candidates.length} event${candidates.length === 1 ? '' : 's'} found.${defaultYear ? ` Dates without a visible year use ${defaultYear}.` : ''}`);\n    } else if (!recovered) {\n      setScheduleImportNotice('No event dates were found. Try a clearer screenshot or add the event manually.');\n    }\n  }, [scheduleImportDuplicate]);\n\n  React.useEffect(() => {\n    if (!tenantId || !bookingsQuery.isFetched || !scheduleQuery.isFetched) return;\n    if (scheduleImportResumeTenantRef.current === tenantId) return;\n    scheduleImportResumeTenantRef.current = tenantId;\n    void (async () => {\n      const { data, error: resumeError } = await supabase.functions.invoke('mobile-vendor-event-request', {\n        body: { action: 'schedule_screenshot_resume', tenant_slug: activeTenant?.company_slug || 'big-papis' },\n      });\n      if (!resumeError && data?.ok === true && data?.import_id && Array.isArray(data?.events) && data.events.length) {\n        hydrateScheduleImport(data, 'schedule-screenshot', true);\n      }\n    })();\n  }, [activeTenant?.company_slug, bookingsQuery.isFetched, hydrateScheduleImport, scheduleQuery.isFetched, tenantId]);\n\n  const handleScheduleScreenshotFiles = async (fileList: FileList | null) => {\n    const files = Array.from(fileList || []);\n    if (!files.length) return;\n    setScheduleImportOpen(true);\n    setScheduleImportBusy(true);\n    setScheduleImportId(null);\n    setScheduleImportNotice(null);\n    try {\n      if (files.length > 6) throw new Error('Choose up to 6 screenshots at a time.');\n      const supported = files.filter((file) => ['image/png', 'image/jpeg', 'image/webp'].includes(file.type));\n      if (supported.length !== files.length) throw new Error('Use PNG, JPG, or WebP screenshots.');\n      const tooLarge = files.find((file) => file.size > 6 * 1024 * 1024);\n      if (tooLarge) throw new Error(`${tooLarge.name} is over 6 MB.`);\n      const images = await Promise.all(files.map(async (file) => ({ name: file.name, mime_type: file.type, base64: await fileToBase64(file) })));\n      const { data, error: extractionError } = await supabase.functions.invoke('mobile-vendor-event-request', {\n        body: {\n          action: 'schedule_screenshot_extract',\n          tenant_slug: activeTenant?.company_slug || 'big-papis',\n          images,\n        },\n      });\n      if (extractionError || data?.ok !== true) throw new Error(await functionInvokeErrorMessage(data, extractionError, 'I could not read that screenshot. Try a clearer crop or try again.'));\n      hydrateScheduleImport(data, files[0]?.name || 'schedule-screenshot');\n    } catch (importError: any) {\n      setScheduleImportCandidates([]);\n      setScheduleImportNotice(importError?.message || 'Could not read that schedule.');\n    } finally {\n      setScheduleImportBusy(false);\n    }\n  };\n\n  const selectedId = searchParams.get('event');\n  const selected = selectedId ? bookings.find((item) => item.id === selectedId) || null : null;\n  const stepsQuery = useQuery({\n    queryKey: ['mobile-vendor-event-workflow', tenantId, selected?.id],\n    enabled: Boolean(tenantId && selected?.id),\n    queryFn: () => listEventWorkflowSteps(tenantId, selected!.id),\n  });\n  const steps = stepsQuery.data || [];\n  const completeSteps = steps.filter((step) => step.status === 'complete').length;\n  const selectedReadiness = selected\n    ? routeWorkLoadoutSummary(buildMobileVendorLoadoutDefinitions(selected, activeTenant), normalizeRouteWorkLoadout(selected.loadout))\n    : null;\n  const selectedEventIntel = normalizeEventIntelligence(selected && (selected.metadata as any)?.event_intelligence);\n  const selectedNextStep = selected ? nextStepForEvent(selected, selectedReadiness) : null;\n\n  React.useEffect(() => {\n    const metadata = (selected?.metadata || {}) as Record<string, any>;\n    setPublicForm({\n      publicSchedule: metadata.public_schedule === true,\n      publicRegion: 'upstate_new_york',\n      publicVenue: String(metadata.public_venue || ''),\n      publicCity: String(metadata.public_city || ''),\n      publicUrl: String(metadata.public_url || ''),\n    });\n  }, [selected?.id, selected?.metadata]);\n\n  React.useEffect(() => {\n    if (!tenantId) return;\n    const bookingsChannel = supabase\n      .channel(`mobile-vendor-events:${tenantId}`)\n      .on('postgres_changes', { event: '*', schema: 'public', table: 'event_bookings', filter: `tenant_org_id=eq.${tenantId}` }, () => {\n        void queryClient.invalidateQueries({ queryKey: ['mobile-vendor-event-bookings', tenantId] });\n      })\n      .subscribe();\n    const workflowChannel = supabase\n      .channel(`mobile-vendor-event-workflow:${tenantId}`)\n      .on('postgres_changes', { event: '*', schema: 'public', table: 'event_workflow_steps', filter: `tenant_org_id=eq.${tenantId}` }, () => {\n        void queryClient.invalidateQueries({ queryKey: ['mobile-vendor-event-workflow', tenantId] });\n      })\n      .subscribe();\n    return () => {\n      void supabase.removeChannel(bookingsChannel);\n      void supabase.removeChannel(workflowChannel);\n    };\n  }, [queryClient, tenantId]);\n\n  const eventTimeValidationError = validateEventTimeInput(form.eventDate, form.startTime, form.endTime);\n  const hasInvalidNumericInput = (['guests', 'quotedUnits', 'quoteAmount'] as const)\n    .some((key) => form[key].trim() && optionalNonNegative(form[key]) == null);\n  const formValidationError = !form.eventName.trim()\n    ? 'Event name is required.'\n    : eventTimeValidationError\n      ? eventTimeValidationError\n      : hasInvalidNumericInput\n        ? 'Attendance, quantity, and estimate cannot be negative.'\n        : null;\n\n  const closeCreate = () => {\n    setShowCreate(false);\n    setForm(EMPTY_FORM);\n    setContactSearch('');\n    setNewContactOpen(false);\n    setNewContact({ name: '', email: '', phone: '' });\n    setShowMoreEventDetails(false);\n    setError(null);\n    setShowFormValidation(false);\n    const next = new URLSearchParams(searchParams);\n    next.delete('new');\n    next.delete('intent');\n    setSearchParams(next, { replace: true });\n  };\n\n  const openPopUpNow = () => {\n    navigate(`${BIG_PAPIS_OWNER_BASE_PATH}/pop-up/start?bpMode=popup`);\n  };\n\n  const createContactMutation = useMutation({\n    mutationFn: async () => {\n      if (!tenantId) throw new Error('Workspace unavailable.');\n      const name = newContact.name.trim();\n      const email = newContact.email.trim().toLowerCase();\n      const phone = newContact.phone.trim();\n      if (!name && !email && !phone) throw new Error('Add a name, email, or phone number.');\n      if (email) {\n        const existing = await (supabase as any)\n          .from('unified_contacts')\n          .select('id,name,first_name,last_name,email,phone')\n          .eq('tenant_org_id', tenantId)\n          .is('deleted_at', null)\n          .ilike('email', email)\n          .limit(1)\n          .maybeSingle();\n        if (existing.error) throw existing.error;\n        if (existing.data) return existing.data;\n      }\n      const created = await (supabase as any)\n        .from('unified_contacts')\n        .insert({\n          tenant_org_id: tenantId,\n          name: name || email || phone,\n          email: email || null,\n          phone: phone || null,\n          contact_role: 'client',\n          source: 'event_intake',\n          lead_stage: 'Inquiry',\n          updated_at: new Date().toISOString(),\n        })\n        .select('id,name,first_name,last_name,email,phone')\n        .single();\n      if (created.error) throw created.error;\n      return created.data;\n    },\n    onSuccess: async (contact: any) => {\n      const displayName = contact?.name || [contact?.first_name, contact?.last_name].filter(Boolean).join(' ') || contact?.email || contact?.phone || 'Customer';\n      setForm((current) => ({ ...current, contactId: contact.id }));\n      setContactSearch(displayName);\n      setNewContact({ name: '', email: '', phone: '' });\n      setNewContactOpen(false);\n      setError(null);\n      await queryClient.invalidateQueries({ queryKey: ['mobile-vendor-event-customer-client-options', tenantId] });\n    },\n    onError: (contactError: any) => setError(contactError?.message || 'Could not add this customer.'),\n  });\n\n  const createMutation = useMutation({\n    mutationFn: async () => {\n      if (!tenantId) throw new Error('Workspace unavailable.');\n      if (formValidationError) throw new Error(formValidationError);\n      return createEventBooking({\n        tenantId,\n        contactId: form.contactId || null,\n        eventName: form.eventName,\n        venueName: form.venueName || null,\n        eventType: form.eventType,\n        stage: form.eventType === 'Pop-Up / Vendor Event' ? 'Event Ready' : 'Inquiry',\n        source: form.eventType === 'Pop-Up / Vendor Event' ? 'owner_pop_up' : 'owner_manual_event',\n        eventDate: form.eventDate || null,\n        startTime: localBusinessTimeToIso(form.eventDate, form.startTime, BIG_PAPIS_TIME_ZONE),\n        endTime: localBusinessTimeToIso(form.eventDate, form.endTime, BIG_PAPIS_TIME_ZONE),\n        location: form.location || null,\n        guestCount: optionalNonNegative(form.guests),\n        pricingBasis: form.quotedUnits ? 'contracted_units' : 'flat_event',\n        serviceUnitLabel: form.unitLabel || 'cups',\n        quotedUnits: optionalNonNegative(form.quotedUnits),\n        servicePackage: form.servicePackage || null,\n        setup: form.setup || null,\n        quoteAmount: optionalNonNegative(form.quoteAmount),\n        metadata: {\n          public_schedule: form.publicSchedule,\n          public_region: form.publicSchedule ? form.publicRegion : null,\n          public_venue: form.publicSchedule ? form.publicVenue.trim() || null : null,\n          public_city: form.publicSchedule ? form.publicCity.trim() || null : null,\n          public_url: form.publicSchedule ? form.publicUrl.trim() || null : null,\n        },\n      });\n    },\n    onSuccess: async (booking) => {\n      const goStraightToQuote = searchParams.get('intent') === 'quote';\n      setError(null);\n      setShowCreate(false);\n      setShowFormValidation(false);\n      setForm(EMPTY_FORM);\n      setContactSearch('');\n      setNewContactOpen(false);\n      setNewContact({ name: '', email: '', phone: '' });\n      setShowMoreEventDetails(false);\n      await Promise.all([\n        queryClient.invalidateQueries({ queryKey: ['mobile-vendor-event-bookings', tenantId] }),\n        queryClient.invalidateQueries({ queryKey: ['tenant-normalized-schedule', tenantId] }),\n      ]);\n      if (goStraightToQuote) {\n        navigate(`${BIG_PAPIS_OWNER_BASE_PATH}/proposals?event=${booking.id}`);\n        return;\n      }\n      setSearchParams({ event: booking.id, promote: '1' }, { replace: true });\n    },\n    onError: (mutationError: any) => setError(mutationError?.message || 'Could not create event.'),\n  });\n\n  const publicScheduleMutation = useMutation({\n    mutationFn: async ({ booking, values }: { booking: EventBooking; values: typeof publicForm }) => {\n      const currentMetadata = (booking.metadata || {}) as Record<string, any>;\n      return updateEventBooking(tenantId, booking.id, {\n        metadata: {\n          ...currentMetadata,\n          public_schedule: values.publicSchedule,\n          public_region: values.publicSchedule ? values.publicRegion : null,\n          public_venue: values.publicSchedule ? values.publicVenue.trim() || null : null,\n          public_city: values.publicSchedule ? values.publicCity.trim() || null : null,\n          public_url: values.publicSchedule ? values.publicUrl.trim() || null : null,\n        },\n      });\n    },\n    onSuccess: async () => {\n      setError(null);\n      await Promise.all([\n        queryClient.invalidateQueries({ queryKey: ['mobile-vendor-event-bookings', tenantId] }),\n        queryClient.invalidateQueries({ queryKey: ['tenant-normalized-schedule', tenantId] }),\n      ]);\n    },\n    onError: (mutationError: any) => setError(mutationError?.message || 'Could not update public schedule settings.'),\n  });\n\n  const eventIntelMutation = useMutation({\n    mutationFn: async ({ booking, intel }: { booking: EventBooking; intel: EventIntelligence }) => {\n      const currentMetadata = (booking.metadata || {}) as Record<string, any>;\n      return updateEventBooking(tenantId, booking.id, {\n        metadata: { ...currentMetadata, event_intelligence: intel },\n      });\n    },\n    onSuccess: async () => {\n      setError(null);\n      await queryClient.invalidateQueries({ queryKey: ['mobile-vendor-event-bookings', tenantId] });\n    },\n    onError: (mutationError: any) => setError(mutationError?.message || 'Could not update event intel.'),\n  });\n\n  const cancelEventMutation = useMutation({\n    mutationFn: async (booking: EventBooking) => {\n      const currentMetadata = (booking.metadata || {}) as Record<string, any>;\n      return updateEventBooking(tenantId, booking.id, {\n        status: 'canceled',\n        metadata: { ...currentMetadata, public_schedule: false, canceled_at: new Date().toISOString(), canceled_by: 'owner' },\n      });\n    },\n    onSuccess: async () => {\n      setError(null);\n      await Promise.all([\n        queryClient.invalidateQueries({ queryKey: ['mobile-vendor-event-bookings', tenantId] }),\n        queryClient.invalidateQueries({ queryKey: ['tenant-normalized-schedule', tenantId] }),\n        queryClient.invalidateQueries({ queryKey: ['mobile-vendor-home-three-day-schedule', tenantId] }),\n      ]);\n    },\n    onError: (mutationError: any) => setError(mutationError?.message || 'Could not cancel event.'),\n  });\n\n  const deleteEventMutation = useMutation({\n    mutationFn: async (booking: EventBooking) => {\n      const currentMetadata = (booking.metadata || {}) as Record<string, any>;\n      return updateEventBooking(tenantId, booking.id, {\n        status: 'dismissed',\n        metadata: { ...currentMetadata, dismissed_at: new Date().toISOString(), dismissed_by: 'owner' },\n      });\n    },\n    onSuccess: async () => {\n      setError(null);\n      const next = new URLSearchParams(searchParams);\n      next.delete('event');\n      setSearchParams(next, { replace: true });\n      await Promise.all([\n        queryClient.invalidateQueries({ queryKey: ['mobile-vendor-event-bookings', tenantId] }),\n        queryClient.invalidateQueries({ queryKey: ['tenant-normalized-schedule', tenantId] }),\n      ]);\n    },\n    onError: (mutationError: any) => setError(mutationError?.message || 'Could not delete event.'),\n  });\n\n  const stageMutation = useMutation({ \n    mutationFn: ({ booking, stage }: { booking: EventBooking; stage: MobileVendorEventStage }) => updateEventStage(tenantId, booking, stage),\n    onMutate: async ({ booking, stage }) => {\n      setError(null);\n      const queryKey = ['mobile-vendor-event-bookings', tenantId] as const;\n      await queryClient.cancelQueries({ queryKey });\n      const previous = queryClient.getQueryData<EventBooking[]>(queryKey);\n      queryClient.setQueryData<EventBooking[]>(queryKey, (current = []) => current.map((item) => (\n        item.id === booking.id ? { ...item, stage, updated_at: new Date().toISOString() } : item\n      )));\n      return { previous, queryKey };\n    },\n    onError: (mutationError: any, _variables, context) => {\n      if (context?.previous) queryClient.setQueryData(context.queryKey, context.previous);\n      setError(mutationError?.message || 'Could not update event stage.');\n    },\n    onSettled: async () => {\n      await queryClient.invalidateQueries({ queryKey: ['mobile-vendor-event-bookings', tenantId] });\n    },\n  });\n\n  const reuseBooking = (booking: EventBooking) => {\n    setForm({\n      eventName: booking.event_name,\n      contactId: booking.contact_id || '',\n      eventType: booking.event_type || 'Corporate Event',\n      eventDate: '',\n      startTime: '',\n      endTime: '',\n      venueName: booking.venue_name || '',\n      location: booking.location || '',\n      guests: booking.guest_count ? String(booking.guest_count) : '',\n      quotedUnits: booking.quoted_units ? String(booking.quoted_units) : '',\n      unitLabel: eventUnitLabel(booking),\n      servicePackage: booking.service_package || '',\n      setup: booking.setup || '',\n      quoteAmount: booking.quote_amount ? String(booking.quote_amount) : '',\n      publicSchedule: false,\n      publicRegion: 'upstate_new_york',\n      publicVenue: '',\n      publicCity: '',\n      publicUrl: '',\n    });\n    setShowCreate(true);\n    requestAnimationFrame(() => createFormRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' }));\n    setError(null);\n    setShowFormValidation(false);\n    const next = new URLSearchParams(searchParams);\n    next.delete('event');\n    next.delete('new');\n    next.delete('intent');\n    setSearchParams(next, { replace: true });\n  };\n\n  const visible = bookings.filter((booking) => bucket === 'all' || bookingBucket(booking) === bucket);\n  const today = new Date().toISOString().slice(0, 10);\n  const upcomingSchedule = normalizedSchedule.filter((event) => event.schedule_date >= today && !['completed', 'cancelled', 'canceled'].includes(String(event.status || '').toLowerCase()));\n  const todayCount = upcomingSchedule.filter((event) => event.schedule_date === today).length;\n  const tbdCount = bookings.filter((booking) => !booking.event_date && bookingBucket(booking) !== 'completed').length;\n  const needsAttention = bookings.filter((booking) => bookingBucket(booking) === 'needs_attention');\n  const weekStart = mondayForOffset(weekOffset);\n  const weekDays = Array.from({ length: 7 }, (_, index) => addDays(weekStart, index));\n  const bookedValue = bookings\n    .filter((booking) => !['Completed', 'Payment Complete', 'Follow-Up'].includes(booking.stage))\n    .reduce((sum, booking) => sum + Number(booking.quote_amount || 0), 0);\n  const potentialConflicts = form.eventDate\n    ? normalizedSchedule.filter((event) => event.schedule_date === form.eventDate && event.blocks_availability)\n    : [];\n  const definiteConflicts = potentialConflicts.filter((event) => scheduleConflictKind(form.eventDate, form.startTime, form.endTime, event) === 'overlap');\n  const timingUnknownConflicts = potentialConflicts.filter((event) => scheduleConflictKind(form.eventDate, form.startTime, form.endTime, event) === 'same_date_unknown');\n  const scheduleImportDuplicateCount = scheduleImportCandidates.filter(scheduleImportDuplicate).length;\n  const scheduleImportReadyCount = scheduleImportCandidates.filter((candidate) => !scheduleImportDuplicate(candidate) && Boolean(candidate.eventDate) && candidate.confidence >= 0.75 && candidate.warnings.length === 0).length;\n  const scheduleImportCheckCount = scheduleImportCandidates.length - scheduleImportDuplicateCount - scheduleImportReadyCount;\n  const scheduleImportSelectedCount = scheduleImportCandidates.filter((candidate) => candidate.selected && !scheduleImportDuplicate(candidate)).length;\n\n  const scheduleImportSaveMutation = useMutation({\n    mutationFn: async () => {\n      if (!scheduleImportId) throw new Error('That screenshot import needs to be read again before it can be saved.');\n      const selectedCandidates = scheduleImportCandidates.filter((candidate) => candidate.selected && !scheduleImportDuplicate(candidate));\n      if (!selectedCandidates.length) throw new Error('Select at least one event to add.');\n      const invalid = selectedCandidates.find((candidate) => !candidate.title.trim() || !candidate.eventDate || validateEventTimeInput(candidate.eventDate, candidate.startTime, candidate.endTime));\n      if (invalid) throw new Error(`Check the date and time for ${invalid.title || 'one of the imported events'}.`);\n      const { data, error: commitError } = await supabase.functions.invoke('mobile-vendor-event-request', {\n        body: {\n          action: 'schedule_screenshot_commit',\n          tenant_slug: activeTenant?.company_slug || 'big-papis',\n          import_id: scheduleImportId,\n          events: selectedCandidates.map((candidate) => ({\n            source_file: candidate.sourceFile,\n            title: candidate.title,\n            venue_name: candidate.venueName || null,\n            event_intelligence: candidate.eventIntelligence,\n            event_date: candidate.eventDate,\n            start_time: candidate.startTime || null,\n            end_time: candidate.endTime || null,\n            location: candidate.location || null,\n            description: candidate.notes || null,\n            all_day: candidate.allDay,\n            confidence: candidate.confidence,\n            date_evidence: candidate.dateEvidence || null,\n            time_evidence: candidate.timeEvidence || null,\n            year_assumed_current: candidate.yearAssumedCurrent,\n            warnings: candidate.warnings,\n          })),\n        },\n      });\n      if (commitError || data?.ok !== true) throw new Error(await functionInvokeErrorMessage(data, commitError, 'I could not add those events. Try again.'));\n      return { created: Number(data?.created || 0), skippedDuplicates: Number(data?.skipped_duplicates || 0) + scheduleImportDuplicateCount, firstBookingId: String(data?.event_booking_ids?.[0] || ''), message: String(data?.message || '') };\n    },\n    onSuccess: async ({ created, skippedDuplicates, firstBookingId, message }) => {\n      await Promise.all([\n        queryClient.invalidateQueries({ queryKey: ['mobile-vendor-event-bookings', tenantId] }),\n        queryClient.invalidateQueries({ queryKey: ['tenant-normalized-schedule', tenantId] }),\n      ]);\n      setScheduleImportCandidates([]);\n      setScheduleImportId(null);\n      setScheduleImportNotice(message || `${created} event${created === 1 ? '' : 's'} added${skippedDuplicates ? ` · ${skippedDuplicates} already on the calendar` : ''}.`);\n      if (created > 0) setBucket('upcoming');\n      if (firstBookingId) setSearchParams({ event: firstBookingId }, { replace: true });\n    },\n    onError: (importError: any) => setScheduleImportNotice(importError?.message || 'Could not add those events.'),\n  });\n\n  return (\n    <main className=\"min-h-[calc(100dvh-112px)] overflow-x-hidden bg-transparent text-white\">\n      <div className=\"mx-auto w-full min-w-0 max-w-[1480px] px-2 pb-[calc(7rem+env(safe-area-inset-bottom))] pt-2 sm:px-6 sm:pb-12 sm:pt-6 lg:px-8\">\n        <section className={`${showCreate ? 'hidden' : selected ? 'hidden sm:block' : ''} overflow-hidden rounded-[1.35rem] border border-white/10 bg-[#071019]/80 p-3 shadow-2xl shadow-black/25 backdrop-blur-xl sm:rounded-[2rem] sm:p-6`}>\n          <div className=\"grid gap-5 xl:grid-cols-[1.35fr_.65fr] xl:items-end\">\n            <div>\n              <div className=\"text-xs font-black uppercase tracking-[0.16em] text-[#72dbff]\">Your events</div>\n              <h1 className=\"mt-1.5 text-2xl font-black tracking-[-0.05em] sm:mt-2 sm:text-5xl\">Events</h1>\n              <p className=\"mt-3 hidden max-w-2xl text-sm font-semibold leading-6 text-white/55 sm:block\">See what is booked, what needs attention, and what happens next without digging through the whole event record.</p><div className=\"mt-2 flex flex-wrap gap-x-3 gap-y-1 text-xs font-black text-white/55 sm:hidden\"><span>{todayCount} today</span><span>{tbdCount} date TBD</span><span>{moneyLabel(bookedValue)} booked</span></div>\n              <div className=\"mt-3 flex flex-wrap gap-2 sm:mt-5\">\n                <button type=\"button\" onClick={() => { if (showCreate) { closeCreate(); return; } const next = new URLSearchParams(searchParams); next.delete('event'); next.delete('intent'); next.delete('new'); setSearchParams(next, { replace: true }); setError(null); setShowFormValidation(false); setShowCreate(true); requestAnimationFrame(() => createFormRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' })); }} className=\"inline-flex min-h-[44px] items-center justify-center gap-2 rounded-full bg-white px-5 py-3 text-sm font-black text-[#071019]\">\n                  <Plus className=\"h-4 w-4\" /> {showCreate ? 'Close form' : 'New event'}\n                </button>\n                <button type=\"button\" onClick={openPopUpNow} className=\"inline-flex min-h-[44px] items-center justify-center gap-2 rounded-full border border-[#ffd86b]/40 bg-[#ffd86b]/10 px-5 py-3 text-sm font-black text-[#ffe8a3]\"><Megaphone className=\"h-4 w-4\" /> Pop-up now</button>\n                <button type=\"button\" onClick={() => scheduleImportInputRef.current?.click()} disabled={scheduleImportBusy} className=\"inline-flex min-h-[44px] items-center justify-center gap-2 rounded-full border border-[#72dbff]/35 bg-[#0ea5e9]/15 px-5 py-3 text-sm font-black text-white disabled:opacity-50\">\n                  {scheduleImportBusy ? <Loader2 className=\"h-4 w-4 animate-spin\" /> : <ImagePlus className=\"h-4 w-4 text-[#72dbff]\" />} {scheduleImportBusy ? 'Reading screenshot…' : <><span className=\"sm:hidden\">Import schedule</span><span className=\"hidden sm:inline\">Upload schedule screenshot</span></>}\n                </button>\n                <input ref={scheduleImportInputRef} type=\"file\" accept=\"image/png,image/jpeg,image/webp\" multiple className=\"hidden\" aria-label=\"Upload schedule screenshots\" onChange={(event) => { void handleScheduleScreenshotFiles(event.currentTarget.files); event.currentTarget.value = ''; }} />\n              </div>\n            </div>\n            <div className=\"hidden grid-cols-3 gap-2 sm:grid\">\n              <div className=\"rounded-xl border border-white/10 bg-white/[0.05] p-2.5 sm:rounded-2xl sm:p-4\"><div className=\"text-[9px] font-black uppercase tracking-[0.12em] text-white/40 sm:text-[10px] sm:tracking-[0.16em]\">Today</div><div className=\"mt-1 text-2xl font-black sm:mt-2 sm:text-3xl\">{todayCount}</div></div>\n              <div className=\"rounded-xl border border-white/10 bg-white/[0.05] p-2.5 sm:rounded-2xl sm:p-4\"><div className=\"text-[9px] font-black uppercase tracking-[0.12em] text-white/40 sm:text-[10px] sm:tracking-[0.16em]\">Date TBD</div><div className=\"mt-1 text-2xl font-black sm:mt-2 sm:text-3xl\">{tbdCount}</div></div>\n              <div className=\"rounded-xl border border-white/10 bg-white/[0.05] p-2.5 sm:rounded-2xl sm:p-4\"><div className=\"text-[11px] font-black uppercase tracking-[0.12em] text-white/50\">Money booked</div><div className=\"mt-1 truncate text-base font-black sm:mt-2 sm:text-2xl\">{moneyLabel(bookedValue)}</div></div>\n            </div>\n          </div>\n        </section>\n\n        {!showCreate && !scheduleImportOpen ? <nav aria-label=\"Events workspace\" className=\"sticky top-2 z-20 mt-3 grid grid-cols-2 gap-1 rounded-2xl border border-white/10 bg-[#071019]/95 p-1.5 shadow-xl shadow-black/25 backdrop-blur-xl sm:inline-grid sm:min-w-[360px]\"><button type=\"button\" onClick={() => setEventsPanel('bookings')} className={`min-h-11 rounded-xl px-3 text-xs font-black ${eventsPanel === 'bookings' ? 'bg-white text-[#071019]' : 'text-white/55'}`}>Bookings</button><button type=\"button\" onClick={() => setEventsPanel('calendar')} className={`min-h-11 rounded-xl px-3 text-xs font-black ${eventsPanel === 'calendar' ? 'bg-white text-[#071019]' : 'text-white/55'}`}>Calendar</button></nav> : null}\n\n        {scheduleImportOpen ? <section className=\"mt-4 rounded-[1.8rem] border border-[#72dbff]/20 bg-[#071019]/90 p-4 shadow-2xl shadow-black/20 sm:p-5\" data-big-papis-schedule-import=\"true\">\n          <div className=\"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between\">\n            <div><div className=\"text-[10px] font-black uppercase tracking-[0.18em] text-[#72dbff]\">Schedule screenshot</div><h2 className=\"mt-1 text-xl font-black\">I found these events.</h2><p className=\"mt-1 max-w-2xl text-xs font-semibold leading-5 text-white/50\">Clear events are already checked. Fix anything marked for a quick check, then tap Add events. Nothing is added before that.</p></div>\n            <div className=\"flex gap-2\"><button type=\"button\" onClick={() => scheduleImportInputRef.current?.click()} disabled={scheduleImportBusy} className=\"min-h-[40px] rounded-full border border-white/10 px-4 text-[11px] font-black text-white/70\">Add screenshots</button><button type=\"button\" onClick={() => { setScheduleImportOpen(false); setScheduleImportCandidates([]); setScheduleImportNotice(null); }} className=\"min-h-[40px] rounded-full border border-white/10 px-4 text-[11px] font-black text-white/45\">Close</button></div>\n          </div>\n          {scheduleImportBusy ? <div className=\"mt-4 flex min-h-[120px] items-center justify-center gap-3 rounded-2xl border border-white/10 bg-white/[0.03] text-sm font-black text-white/65\"><Loader2 className=\"h-5 w-5 animate-spin text-[#72dbff]\" /> Reading the schedule and planning the setup…</div> : null}\n          {!scheduleImportBusy && scheduleImportNotice ? <div className=\"mt-4 rounded-xl border border-white/10 bg-white/[0.04] p-3 text-xs font-bold text-white/65\">{scheduleImportNotice}</div> : null}\n          {!scheduleImportBusy && scheduleImportCandidates.length ? <div className=\"mt-4 rounded-xl border border-white/10 bg-white/[0.04] p-3 text-xs font-bold text-white/65\">{scheduleImportReadyCount} ready to add{scheduleImportCheckCount ? ` · ${scheduleImportCheckCount} need a quick check` : ''}{scheduleImportDuplicateCount ? ` · ${scheduleImportDuplicateCount} already on the calendar and will be skipped` : ''}</div> : null}\n          {!scheduleImportBusy && scheduleImportCandidates.length ? <div className=\"mt-4 space-y-3\">\n            {scheduleImportCandidates.map((candidate) => { const duplicate = scheduleImportDuplicate(candidate); const needsReview = !candidate.eventDate || candidate.confidence < 0.75 || candidate.warnings.length > 0; return <div key={candidate.id} className={`rounded-2xl border p-3.5 sm:p-4 ${duplicate ? 'border-amber-300/25 bg-amber-400/[0.06]' : needsReview ? 'border-[#ff8b84]/25 bg-[#3b1014]/60' : 'border-white/10 bg-white/[0.04]'}`}>\n              <div className=\"flex items-start gap-3\"><input type=\"checkbox\" checked={candidate.selected && !duplicate} disabled={duplicate} onChange={(event) => setScheduleImportCandidates((current) => current.map((item) => item.id === candidate.id ? { ...item, selected: event.target.checked } : item))} className=\"mt-1 h-5 w-5 accent-[#72dbff]\" /><div className=\"min-w-0 flex-1\"><div className=\"flex flex-wrap items-center gap-2\"><span className=\"text-sm font-black text-white\">{candidate.title || 'Untitled event'}</span>{duplicate ? <span className=\"rounded-full border border-amber-300/25 px-2 py-0.5 text-[9px] font-black uppercase tracking-[0.1em] text-amber-200\">Already on calendar</span> : needsReview ? <span className=\"rounded-full border border-[#ff8b84]/25 px-2 py-0.5 text-[9px] font-black uppercase tracking-[0.1em] text-[#ffd7d4]\">Needs a quick check</span> : null}{candidate.yearAssumedCurrent ? <span className=\"rounded-full border border-white/10 bg-white/[0.04] px-2 py-0.5 text-[9px] font-black uppercase tracking-[0.1em] text-white/55\">{scheduleImportDefaultYear || candidate.eventDate.slice(0, 4)} assumed</span> : null}</div>\n                <div className=\"mt-3 grid gap-2 sm:grid-cols-2 lg:grid-cols-4\"><label className=\"text-[10px] font-black uppercase tracking-[0.1em] text-white/40 sm:col-span-2\">Event<input value={candidate.title} onChange={(event) => setScheduleImportCandidates((current) => current.map((item) => item.id === candidate.id ? { ...item, title: event.target.value } : item))} className=\"mt-1 w-full rounded-xl border border-white/10 bg-[#0b1824] p-2.5 text-sm font-bold normal-case tracking-normal text-white outline-none\" /></label><label className=\"text-[10px] font-black uppercase tracking-[0.1em] text-white/40\">Date<input type=\"date\" value={candidate.eventDate} onChange={(event) => setScheduleImportCandidates((current) => current.map((item) => item.id === candidate.id ? { ...item, eventDate: event.target.value, selected: Boolean(event.target.value) } : item))} className=\"mt-1 w-full rounded-xl border border-white/10 bg-[#0b1824] p-2.5 text-sm font-bold normal-case tracking-normal text-white\" /></label><label className=\"text-[10px] font-black uppercase tracking-[0.1em] text-white/40\">Start time<input type=\"time\" value={candidate.startTime} onChange={(event) => setScheduleImportCandidates((current) => current.map((item) => item.id === candidate.id ? { ...item, startTime: event.target.value } : item))} className=\"mt-1 w-full rounded-xl border border-white/10 bg-[#0b1824] p-2.5 text-sm font-bold normal-case tracking-normal text-white\" /></label><label className=\"text-[10px] font-black uppercase tracking-[0.1em] text-white/40 sm:col-span-2 lg:col-span-4\">Location<input value={candidate.location} onChange={(event) => setScheduleImportCandidates((current) => current.map((item) => item.id === candidate.id ? { ...item, location: event.target.value } : item))} className=\"mt-1 w-full rounded-xl border border-white/10 bg-[#0b1824] p-2.5 text-sm font-bold normal-case tracking-normal text-white\" /></label>{candidate.venueName ? <label className=\"text-[10px] font-black uppercase tracking-[0.1em] text-white/40 sm:col-span-2 lg:col-span-4\">Venue<input value={candidate.venueName} onChange={(event) => setScheduleImportCandidates((current) => current.map((item) => item.id === candidate.id ? { ...item, venueName: event.target.value } : item))} className=\"mt-1 w-full rounded-xl border border-white/10 bg-[#0b1824] p-2.5 text-sm font-bold normal-case tracking-normal text-white\" /></label> : null}</div>\n                {candidate.eventIntelligence ? <div className=\"mt-3 rounded-xl border border-[#72dbff]/20 bg-[#0ea5e9]/10 p-3\" data-big-papis-event-intel=\"true\">\n                  <div className=\"text-[10px] font-black uppercase tracking-[0.14em] text-[#72dbff]\">Event intel</div>\n                  <div className=\"mt-3 text-[9px] font-black uppercase tracking-[0.12em] text-white/40\">Where will you serve?</div>\n                  <div className=\"mt-1.5 flex flex-wrap gap-1.5\">{([\n                    ['indoor', 'Indoor'], ['outdoor', 'Outdoor'], ['mixed', 'Both'],\n                  ] as const).map(([value, label]) => <button key={value} type=\"button\" onClick={() => setScheduleImportCandidates((current) => current.map((item) => item.id === candidate.id && item.eventIntelligence ? { ...item, eventIntelligence: withEnvironmentChoice(item.eventIntelligence, value) } : item))} className={`rounded-full border px-3 py-1.5 text-[10px] font-black ${candidate.eventIntelligence?.environment_confirmed_by_owner && candidate.eventIntelligence.environment === value ? 'border-[#72dbff]/60 bg-[#72dbff]/20 text-white' : 'border-white/10 bg-white/[0.04] text-white/65'}`}>{label}</button>)}</div>\n                  <div className=\"mt-1.5 text-[11px] font-bold text-white/55\">{environmentIntelLabel(candidate.eventIntelligence.environment, candidate.eventIntelligence.environment_confidence, candidate.eventIntelligence.environment_confirmed_by_owner)}</div>\n                  <div className=\"mt-2 text-xs font-black text-white\">Best setup: {setupIntelLabel(candidate.eventIntelligence.setup_recommendation)}</div>\n                  {candidate.eventIntelligence.setup_reason ? <div className=\"mt-1 text-[11px] font-semibold leading-4 text-white/55\">{candidate.eventIntelligence.setup_reason}</div> : null}\n                  <div className=\"mt-3\"><div className=\"text-[9px] font-black uppercase tracking-[0.12em] text-white/40\">Flavor mix</div><div className=\"mt-1 text-[10px] font-semibold text-white/45\">Suggested flavors are preselected. Pick what Will will actually bring.</div><div className=\"mt-2 flex flex-wrap gap-1.5\">{BIG_PAPIS_FLAVORS.map((flavor) => { const checked = eventIntelSelectedFlavors(candidate.eventIntelligence).includes(flavor); const suggested = candidate.eventIntelligence?.flavor_recommendations?.some((item) => item.flavor === flavor); return <label key={flavor} className={`inline-flex cursor-pointer items-center gap-1.5 rounded-full border px-2.5 py-1.5 text-[10px] font-black ${checked ? 'border-[#72dbff]/45 bg-[#72dbff]/15 text-white' : 'border-white/10 bg-white/[0.04] text-white/45'}`}><input type=\"checkbox\" checked={checked} onChange={(event) => setScheduleImportCandidates((current) => current.map((item) => item.id === candidate.id && item.eventIntelligence ? { ...item, eventIntelligence: withFlavorSelection(item.eventIntelligence, flavor, event.target.checked) } : item))} className=\"h-3.5 w-3.5 accent-[#72dbff]\" />{flavor}{suggested ? <span className=\"text-[8px] uppercase tracking-[0.08em] text-[#9fe7ff]\">Suggested</span> : null}</label>; })}</div></div>\n                  <div className=\"mt-3\"><div className=\"text-[9px] font-black uppercase tracking-[0.12em] text-white/40\">Confirm with organizer</div><ul className=\"mt-1.5 space-y-1 text-[10px] font-semibold leading-4 text-white/55\">{BIG_PAPIS_ORGANIZER_QUESTIONS.map((question) => <li key={question}>• {question}</li>)}</ul></div>\n                </div> : null}\n                {(candidate.endTime || candidate.notes || candidate.dateEvidence || candidate.timeEvidence || candidate.warnings.length) ? <details className={`mt-3 rounded-xl border p-2.5 text-[10px] font-semibold leading-4 ${needsReview ? 'border-[#ff8b84]/20 bg-[#3b1014]/45 text-white/60' : 'border-white/10 bg-black/20 text-white/45'}`}><summary className=\"cursor-pointer font-black text-white/60\">{needsReview ? 'What needs checking' : 'More details'}</summary><div className=\"mt-3 grid gap-2 sm:grid-cols-2\">{candidate.endTime ? <label className=\"text-[10px] font-black uppercase tracking-[0.1em] text-white/40\">End time<input type=\"time\" value={candidate.endTime} onChange={(event) => setScheduleImportCandidates((current) => current.map((item) => item.id === candidate.id ? { ...item, endTime: event.target.value } : item))} className=\"mt-1 w-full rounded-xl border border-white/10 bg-[#0b1824] p-2.5 text-sm font-bold normal-case tracking-normal text-white\" /></label> : null}{candidate.notes ? <label className=\"text-[10px] font-black uppercase tracking-[0.1em] text-white/40 sm:col-span-2\">Notes<textarea rows={2} value={candidate.notes} onChange={(event) => setScheduleImportCandidates((current) => current.map((item) => item.id === candidate.id ? { ...item, notes: event.target.value } : item))} className=\"mt-1 w-full resize-y rounded-xl border border-white/10 bg-[#0b1824] p-2.5 text-sm font-semibold normal-case tracking-normal text-white\" /></label> : null}</div>{candidate.warnings.length ? <div className=\"mt-2 font-bold text-[#ffd7d4]\">{candidate.warnings.join(' · ')}</div> : null}{needsReview && candidate.dateEvidence ? <div className=\"mt-2\"><span className=\"font-black text-white/60\">Date shown:</span> {candidate.dateEvidence}</div> : null}{needsReview && candidate.timeEvidence ? <div><span className=\"font-black text-white/60\">Time shown:</span> {candidate.timeEvidence}</div> : null}</details> : null}\n              </div></div>\n            </div>; })}\n            <div className=\"flex flex-col gap-3 border-t border-white/10 pt-4 sm:flex-row sm:items-center sm:justify-between\"><div className=\"text-[11px] font-semibold text-white/45\">Dates without a visible year use {scheduleImportDefaultYear || 'this year'}. Nothing gets moved or guessed just to make a weekday fit.</div><button type=\"button\" disabled={scheduleImportSaveMutation.isPending || scheduleImportSelectedCount === 0} onClick={() => scheduleImportSaveMutation.mutate()} className=\"min-h-[48px] rounded-full bg-[#72dbff] px-6 text-sm font-black text-[#071019] shadow-lg shadow-[#0ea5e9]/20 disabled:opacity-40\">{scheduleImportSaveMutation.isPending ? 'Adding events…' : `Add ${scheduleImportSelectedCount} event${scheduleImportSelectedCount === 1 ? '' : 's'} to calendar`}</button></div>\n          </div> : null}\n        </section> : null}\n\n        <section className={`${!showCreate && !scheduleImportOpen && eventsPanel === 'calendar' ? 'mt-3 sm:mt-5' : 'hidden'} rounded-[1.5rem] border border-white/10 bg-[#071019]/70 p-3 shadow-xl shadow-black/15 backdrop-blur-xl sm:rounded-[1.8rem] sm:p-5`} data-big-papis-week-schedule=\"true\">\n          <div className=\"flex items-center justify-between gap-3\"><div><div className=\"text-[10px] font-black uppercase tracking-[0.18em] text-[#72dbff]\">Calendar</div><div className=\"mt-1 text-sm font-black text-white/70 sm:hidden\">This week</div><div className=\"mt-1 hidden text-sm font-bold text-white/55 sm:block\">Bookings and personal itinerary in one place. Public items are labeled and automatically appear on the customer site.</div></div><div className=\"flex gap-1\"><button type=\"button\" aria-label=\"Previous week\" onClick={() => setWeekOffset((value) => value - 1)} className=\"grid h-10 w-10 place-items-center rounded-full border border-white/10 bg-white/[0.04]\"><ChevronLeft className=\"h-4 w-4\" /></button><button type=\"button\" onClick={() => setWeekOffset(0)} className=\"rounded-full border border-white/10 bg-white/[0.04] px-3 text-[11px] font-black\">This week</button><button type=\"button\" aria-label=\"Next week\" onClick={() => setWeekOffset((value) => value + 1)} className=\"grid h-10 w-10 place-items-center rounded-full border border-white/10 bg-white/[0.04]\"><ChevronRight className=\"h-4 w-4\" /></button></div></div>\n          <div className=\"mt-4 flex gap-2 overflow-x-auto pb-1\">\n            {weekDays.map((day) => { const dayEvents = normalizedSchedule.filter((event) => event.schedule_date === day && !['completed', 'cancelled', 'canceled'].includes(String(event.status || '').toLowerCase())); const date = new Date(`${day}T12:00:00`); return <div key={day} className=\"min-w-[170px] rounded-2xl border border-white/10 bg-[#0d1822]/80 p-3.5\"><div className=\"text-[10px] font-black uppercase text-white/40\">{date.toLocaleDateString(undefined, { weekday: 'short' })}</div><div className=\"mt-0.5 text-xl font-black\">{date.getDate()}</div><div className=\"mt-2 space-y-1.5\">{dayEvents.length ? dayEvents.map((event) => { const isPublic = (event.metadata as any)?.visibility === 'public' || (event.metadata as any)?.scope === 'public' || (event.metadata as any)?.public_schedule === true; const time = event.all_day ? 'All day' : new Date(event.start_time).toLocaleTimeString([], { hour: 'numeric', minute: '2-digit' }); return <div key={event.id} className=\"block rounded-xl border border-[#72dbff]/15 bg-[#0ea5e9]/10 p-2 text-[11px] font-black\"><span className=\"block truncate\">{event.title}</span><span className=\"mt-0.5 block text-[10px] font-semibold text-white/45\">{time}{event.location ? ` · ${event.location}` : ''}</span><span className={`mt-1 inline-flex rounded-full border px-2 py-0.5 text-[9px] uppercase tracking-[0.1em] ${isPublic ? 'border-amber-300/30 text-amber-200' : 'border-white/10 text-white/40'}`}>{isPublic ? 'Public' : 'Private'}</span></div>; }) : <div className=\"text-[10px] font-semibold text-white/25\">Open</div>}</div></div>; })}\n          </div>\n        </section>\n\n        {showCreate && (\n          <section ref={createFormRef} data-big-papis-create-event=\"true\" className=\"mx-auto mt-2 w-full max-w-5xl min-w-0 overflow-hidden rounded-[1.25rem] border border-[#72dbff]/18 bg-[linear-gradient(180deg,rgba(14,165,233,.08),rgba(6,17,28,.96)_24%)] p-3 text-white shadow-[0_24px_80px_rgba(0,0,0,.28)] backdrop-blur-xl sm:mt-3 sm:rounded-[1.35rem] sm:p-4 [&_label]:text-sm [&_label]:text-white/80 [&_input]:min-h-[44px] [&_input]:border-white/10 [&_input]:bg-[#0b1824] [&_input]:!text-base [&_input]:text-white [&_input::placeholder]:text-white/30 [&_select]:min-h-[44px] [&_select]:border-white/10 [&_select]:bg-[#0b1824] [&_select]:!text-base [&_select]:text-white [&_textarea]:!text-base [&_textarea]:border-white/10 [&_textarea]:bg-[#0b1824] [&_textarea]:text-white\">\n            <div className=\"flex min-w-0 items-start justify-between gap-2\"><div className=\"min-w-0 flex-1\"><div className=\"text-xs font-black uppercase tracking-[0.16em] text-[#72dbff]\">Event mode · Create booking</div><h2 className=\"mt-1 text-xl font-black leading-tight sm:text-2xl\">One clean booking.</h2><p className=\"mt-1 max-w-2xl text-sm font-semibold leading-5 text-white/55\">Add the essentials, link or create the customer here, and keep the extra details out of the way until you need them.</p></div><button type=\"button\" onClick={closeCreate} aria-label=\"Close event form\" className=\"min-h-[40px] shrink-0 rounded-xl border border-white/10 bg-white/[0.04] px-3 text-sm font-black text-white/70\">Close</button></div>\n            <div className=\"mt-3 text-xs font-black uppercase tracking-[0.16em] text-[#72dbff]\">Booking basics</div><div className=\"mt-2 grid min-w-0 gap-2 md:grid-cols-2 lg:grid-cols-3\">\n              <label className=\"text-xs font-black\">Event name<input value={form.eventName} onChange={(e) => setForm((f) => ({ ...f, eventName: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold outline-none\" placeholder=\"Employee Appreciation\" /></label>\n              <div className=\"min-w-0 text-xs font-black\"><div className=\"flex min-w-0 items-center justify-between gap-2\"><span className=\"min-w-0\">Customer <span className=\"font-semibold text-black/40\">(optional)</span></span><button type=\"button\" onClick={() => setNewContactOpen((open) => !open)} className=\"shrink-0 whitespace-nowrap rounded-lg border border-black/10 bg-white px-2.5 py-1.5 text-[10px] font-black text-[#c92d39]\">{newContactOpen ? 'Cancel' : '+ New customer'}</button></div><input value={contactSearch} onChange={(e) => setContactSearch(e.target.value)} className=\"mt-1 min-w-0 w-full max-w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold outline-none\" placeholder=\"Search name, email, or phone\" aria-label=\"Search customers for this event\"/><select value={form.contactId} onChange={(e) => setForm((f) => ({ ...f, contactId: e.target.value }))} className=\"mt-2 min-w-0 w-full max-w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\"><option value=\"\">No customer yet — create the event anyway</option>{filteredContactOptions.map((contact: any) => <option key={contact.id} value={contact.id}>{contact.relationshipLabel} · {contact.displayName}{contact.email ? ` · ${contact.email}` : contact.phone ? ` · ${contact.phone}` : ''}</option>)}</select>{newContactOpen ? <div className=\"mt-2 grid gap-2 rounded-xl border border-[#c92d39]/20 bg-[#c92d39]/5 p-3 md:grid-cols-3\"><input value={newContact.name} onChange={(e) => setNewContact((current) => ({ ...current, name: e.target.value }))} className=\"rounded-lg border border-black/10 bg-white p-2.5 text-sm font-semibold\" placeholder=\"Customer name\"/><input value={newContact.email} onChange={(e) => setNewContact((current) => ({ ...current, email: e.target.value }))} className=\"rounded-lg border border-black/10 bg-white p-2.5 text-sm font-semibold\" placeholder=\"Email\" type=\"email\"/><input value={newContact.phone} onChange={(e) => setNewContact((current) => ({ ...current, phone: e.target.value }))} className=\"rounded-lg border border-black/10 bg-white p-2.5 text-sm font-semibold\" placeholder=\"Phone\"/><button type=\"button\" disabled={createContactMutation.isPending} onClick={() => createContactMutation.mutate()} className=\"rounded-lg bg-[#c92d39] px-3 py-2.5 text-xs font-black text-white disabled:opacity-50 md:col-span-3\">{createContactMutation.isPending ? 'Adding customer…' : 'Add customer & use for this event'}</button></div> : contactSearch && filteredContactOptions.length===0 ? <div className=\"mt-1 text-[11px] font-semibold text-black/45\">No match. Add the customer here without leaving the event.</div> : null}</div>\n              <label className=\"text-xs font-black\">Date<input type=\"date\" value={form.eventDate} onChange={(e) => setForm((f) => ({ ...f, eventDate: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" /></label>\n              <label className={showMoreEventDetails ? 'text-xs font-black' : 'hidden'}>Expected attendance<input type=\"number\" min=\"0\" value={form.guests} onChange={(e) => setForm((f) => ({ ...f, guests: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" placeholder=\"150\" /></label>\n            </div>\n            <section className=\"mt-2 min-w-0 rounded-[1rem] border border-white/10 bg-[#06111c]/78 p-3 backdrop-blur-xl sm:mt-3 sm:rounded-[1.25rem]\" data-big-papis-event-setup-step=\"2\">\n              <div className=\"text-xs font-black uppercase tracking-[0.16em] text-[#72dbff]\">Event details</div><h3 className=\"mt-1 text-lg font-black text-white\">When and where</h3>\n              <p className=\"mt-1 text-sm font-semibold leading-5 text-white/55\">Name, date, time, venue, and address are enough to create the event. Everything else is optional.</p>\n              <div className=\"mt-3 grid gap-2 md:grid-cols-2\">\n                <label className=\"text-xs font-black\">Venue<input value={form.venueName} onChange={(e) => setForm((f) => ({ ...f, venueName: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" placeholder=\"Venue name\" /></label>\n                <label className=\"text-xs font-black\">Address<input value={form.location} onChange={(e) => setForm((f) => ({ ...f, location: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" /></label>\n              </div>\n              <div className=\"mt-3 grid gap-2 md:grid-cols-2 lg:grid-cols-4\">\n                <label className={showMoreEventDetails ? 'text-xs font-black' : 'hidden'}>Event type<select value={form.eventType} onChange={(e) => setForm((f) => ({ ...f, eventType: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\">{MOBILE_VENDOR_EVENT_TYPES.map((type) => <option key={type}>{type}</option>)}</select></label>\n                <label className=\"text-xs font-black\">Start time<select value={form.startTime} onChange={(e) => setForm((f) => ({ ...f, startTime: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\"><option value=\"\">Select time</option>{BUSINESS_TIME_OPTIONS.map((option) => <option key={option.value} value={option.value}>{option.label}</option>)}</select></label>\n                <label className=\"text-xs font-black\">End time<select value={form.endTime} onChange={(e) => setForm((f) => ({ ...f, endTime: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\"><option value=\"\">Select time</option>{BUSINESS_TIME_OPTIONS.map((option) => <option key={option.value} value={option.value}>{option.label}</option>)}</select></label>\n                <label className=\"text-xs font-black\">Expected servings<input type=\"number\" min=\"0\" value={form.quotedUnits} onChange={(e) => setForm((f) => ({ ...f, quotedUnits: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" placeholder=\"400\" /></label>\n                <label className=\"text-xs font-black\">Serving type<input value={form.unitLabel} onChange={(e) => setForm((f) => ({ ...f, unitLabel: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" placeholder=\"cups\" /></label>\n                <label className={showMoreEventDetails ? 'text-xs font-black' : 'hidden'}>Service / package<input value={form.servicePackage} onChange={(e) => setForm((f) => ({ ...f, servicePackage: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" placeholder=\"Coquito Iceys / trailer service\" /></label>\n                <label className={showMoreEventDetails ? 'text-xs font-black' : 'hidden'}>Setup<input value={form.setup} onChange={(e) => setForm((f) => ({ ...f, setup: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" placeholder=\"Trailer, push cart, umbrella...\" /></label>\n                <label className={showMoreEventDetails ? 'text-xs font-black' : 'hidden'}>Starting estimate $<input type=\"number\" min=\"0\" step=\"0.01\" value={form.quoteAmount} onChange={(e) => setForm((f) => ({ ...f, quoteAmount: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" /></label>\n              </div>\n            </section>\n            <button type=\"button\" onClick={() => setShowMoreEventDetails((open) => !open)} className=\"mt-2 min-h-[44px] w-full min-w-0 rounded-xl border border-white/10 bg-white/[0.05] px-3 py-2 text-left text-sm font-black leading-5 text-white/75 sm:mt-3 sm:px-4\">{showMoreEventDetails ? 'Hide extra details' : 'More event details'}<span className=\"ml-2 text-xs font-semibold text-black/35\">attendance, event type, pricing, setup, public schedule</span></button>\n            <div className={`${showMoreEventDetails ? 'mt-3' : 'hidden'} rounded-[1.25rem] border border-white/10 bg-[#06111c]/78 p-3`} data-big-papis-event-setup-step=\"3\"><div className=\"text-xs font-black uppercase tracking-[0.16em] text-[#72dbff]\">Public schedule</div>\n              <label className=\"mt-3 flex cursor-pointer items-center justify-between gap-4 text-sm font-black\">\n                <span><span className=\"block\">Show on public schedule</span><span className=\"mt-0.5 block text-[11px] font-semibold text-black/45\">Off by default. Only published details appear on the customer page.</span></span>\n                <input type=\"checkbox\" checked={form.publicSchedule} onChange={(e) => setForm((f) => ({ ...f, publicSchedule: e.target.checked }))} className=\"h-4 w-4 accent-[#c92d39]\" />\n              </label>\n              {form.publicSchedule ? <div className=\"mt-3 grid gap-3 md:grid-cols-2 lg:grid-cols-4\">\n                <label className=\"text-xs font-black\">Service area<select value={form.publicRegion} onChange={(e) => setForm((f) => ({ ...f, publicRegion: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\"><option value=\"upstate_new_york\">Utica &amp; Mohawk Valley</option></select></label>\n                <label className=\"text-xs font-black\">Public venue<input value={form.publicVenue} onChange={(e) => setForm((f) => ({ ...f, publicVenue: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" placeholder={form.venueName || 'Venue shown publicly'} /></label>\n                <label className=\"text-xs font-black\">Public city<input value={form.publicCity} onChange={(e) => setForm((f) => ({ ...f, publicCity: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" placeholder=\"Verona, NY\" /></label>\n                <label className=\"text-xs font-black\">Public link<input type=\"url\" value={form.publicUrl} onChange={(e) => setForm((f) => ({ ...f, publicUrl: e.target.value }))} className=\"mt-1 w-full rounded-xl border border-black/10 bg-white p-3 text-sm font-semibold\" placeholder=\"Directions or event page\" /></label>\n              </div> : null}\n            </div>\n            <div className=\"mt-3 rounded-[1.25rem] border border-white/10 bg-[#071019] p-3 text-white\" data-big-papis-event-setup-step=\"4\"><div className=\"text-xs font-black uppercase tracking-[0.16em] text-[#72dbff]\">4 · Review & create</div><div className=\"mt-1 text-lg font-black\">{form.eventName.trim() || 'New event'}</div><div className=\"mt-1 text-sm font-semibold text-white/60\">{[form.eventDate || 'Date TBD', form.startTime || 'Time TBD', form.venueName || form.location || 'Location TBD'].join(' · ')}</div><div className=\"mt-1 text-sm font-semibold leading-5 text-white/50\">Create it once. Calendar, customer, proposal, prep, and Event Day stay connected to this booking.</div></div>\n            {definiteConflicts.length ? <div className=\"mt-4 rounded-xl border border-red-600/25 bg-red-50 p-3 text-sm font-bold text-red-950\">Time conflict: {definiteConflicts.map((event) => event.title).join(', ')} overlaps this event. Change the time before booking.</div> : null}\n            {!definiteConflicts.length && timingUnknownConflicts.length ? <div className=\"mt-4 rounded-xl border border-amber-600/25 bg-amber-50 p-3 text-sm font-bold text-amber-950\">Same date: {timingUnknownConflicts.map((event) => event.title).join(', ')}. Timing is unknown, so confirm the schedule before booking.</div> : null}\n            {showFormValidation && formValidationError ? <div className=\"mt-4 rounded-xl border border-red-500/20 bg-red-500/10 p-3 text-sm font-semibold text-red-800\">{formValidationError}</div> : null}\n            {error && <div className=\"mt-4 rounded-xl border border-red-500/20 bg-red-500/10 p-3 text-sm font-semibold text-red-800\">{error}</div>}\n            <button type=\"button\" disabled={createMutation.isPending || Boolean(definiteConflicts.length)} onClick={() => { setShowFormValidation(true); if (!formValidationError && !definiteConflicts.length) createMutation.mutate(); }} className=\"mt-3 min-h-[48px] w-full rounded-xl bg-[#72dbff] px-5 py-3 text-base font-black text-[#071019] shadow-lg shadow-[#0ea5e9]/20 disabled:opacity-50 sm:w-auto\">{createMutation.isPending ? 'Creating…' : searchParams.get('intent') === 'quote' ? 'Create event & build proposal' : 'Create event'}</button>\n          </section>\n        )}\n\n        {error && !showCreate && <div className=\"mt-4 rounded-xl border border-red-400/30 bg-[#3b1014] p-3 text-sm font-bold text-red-100\">{error}</div>}\n\n        <div className={!showCreate && !scheduleImportOpen && eventsPanel === 'bookings' ? 'block' : 'hidden'}>\n        {needsAttention.length ? <section className=\"mt-4 rounded-[1.5rem] border border-[#ff8b84]/30 bg-[#3b1014] p-4\" data-big-papis-needs-attention=\"true\"><div className=\"text-[10px] font-black uppercase tracking-[0.15em] text-[#ffb4ae]\">Needs attention</div><div className=\"mt-1 text-sm font-bold text-white/65\">These event dates passed but the work is still open.</div><div className=\"mt-3 space-y-2\">{needsAttention.slice(0, 3).map((booking) => <div key={booking.id} className=\"flex flex-col gap-2 rounded-xl border border-white/10 bg-black/20 p-3 sm:flex-row sm:items-center sm:justify-between\"><div><div className=\"font-black\">{booking.event_name}</div><div className=\"text-xs font-semibold text-white/45\">{eventDateLabel(booking)} · {booking.stage}</div></div><div className=\"flex gap-2\"><Link to={`${BIG_PAPIS_OWNER_BASE_PATH}/event-day?event=${booking.id}&intent=closeout`} className=\"rounded-full bg-white px-3 py-2 text-[11px] font-black text-[#071019]\">Close out event</Link><Link to={`${BIG_PAPIS_OWNER_BASE_PATH}/events?event=${booking.id}`} className=\"rounded-full border border-white/15 px-3 py-2 text-[11px] font-black\">Reschedule / edit</Link></div></div>)}</div></section> : null}\n\n        <div className={`${selected ? 'hidden sm:flex' : 'flex'} mt-4 flex-nowrap gap-2 overflow-x-auto rounded-[1.4rem] border border-white/10 bg-[#071019]/60 p-1.5 backdrop-blur-xl sm:mt-5 sm:flex-wrap sm:p-2`}>\n          {(['needs_attention', 'upcoming', 'tbd', 'completed', 'all'] as const).map((value) => <button key={value} type=\"button\" onClick={() => setBucket(value)} className={`min-h-[42px] rounded-full border px-4 text-xs font-black capitalize ${bucket === value ? 'border-[#72dbff]/40 bg-[#0ea5e9]/20 text-white' : 'border-transparent bg-white/[0.03] text-white/55 hover:border-white/10 hover:text-white'}`}>{value === 'tbd' ? 'Date TBD' : value === 'needs_attention' ? 'Needs attention' : value}</button>)}\n        </div>\n\n        {selected ? <div className=\"mt-5\"><button type=\"button\" onClick={() => { const next = new URLSearchParams(searchParams); next.delete('event'); setSearchParams(next, { replace: true }); }} className=\"inline-flex min-h-[42px] items-center gap-2 rounded-full border border-white/10 bg-[#071019]/60 px-4 text-xs font-black text-white/65\"><ChevronLeft className=\"h-4 w-4\" /> Back to all events</button></div> : null}\n\n        <section className={`mt-4 grid min-w-0 gap-5 ${selected ? 'grid-cols-1' : 'xl:grid-cols-[1.45fr_.55fr]'}`}>\n          <div className={`${selected ? 'hidden' : 'block'} order-2 min-w-0 space-y-2 xl:order-2`}> \n            {bookingsQuery.isLoading && <div className=\"space-y-2\" aria-label=\"Loading events\">{[0, 1, 2].map((item) => <div key={item} className=\"animate-pulse rounded-2xl border border-white/10 bg-[#071019]/70 p-4\"><div className=\"h-3 w-24 rounded bg-white/10\" /><div className=\"mt-3 h-5 w-2/3 rounded bg-white/10\" /><div className=\"mt-2 h-3 w-1/2 rounded bg-white/10\" /></div>)}</div>}\n            {!bookingsQuery.isLoading && visible.length === 0 && bookings.length > 0 && <div className=\"rounded-2xl border border-white/10 bg-[#071019]/70 p-5\"><div className=\"font-black\">No events in this view.</div><div className=\"mt-1 text-sm text-white/45\">Switch the filter or add a booking.</div></div>}\n            <div className=\"space-y-3 sm:hidden\" data-big-papis-mobile-event-list=\"true\">\n              {Array.from(new Set(visible.map((booking) => booking.event_date || 'tbd'))).map((dateKey) => {\n                const dayEvents = visible.filter((booking) => (booking.event_date || 'tbd') === dateKey);\n                const dateLabel = dateKey === 'tbd' ? 'Date TBD' : eventDateLabel(dayEvents[0]);\n                return <div key={dateKey} className=\"overflow-hidden rounded-2xl border border-white/10 bg-[#071019]/78\"><div className=\"flex items-center justify-between border-b border-white/10 px-3.5 py-2\"><div className=\"text-[10px] font-black uppercase tracking-[0.15em] text-[#72dbff]\">{dateLabel}</div><div className=\"text-[10px] font-black text-white/35\">{dayEvents.length} event{dayEvents.length === 1 ? '' : 's'}</div></div><div className=\"divide-y divide-white/10\">{dayEvents.map((booking) => { const readiness = routeWorkLoadoutSummary(buildMobileVendorLoadoutDefinitions(booking, activeTenant), normalizeRouteWorkLoadout(booking.loadout)); const issue = readiness.blocking.length ? `${readiness.blocking.length} prep issue${readiness.blocking.length === 1 ? '' : 's'}` : Number(booking.balance_due || 0) > 0 ? `${moneyLabel(booking.balance_due)} owed` : null; return <button key={booking.id} type=\"button\" onClick={() => setSearchParams({ event: booking.id }, { replace: true })} className=\"flex min-h-[68px] w-full items-center gap-3 px-3.5 py-2.5 text-left transition active:bg-white/[0.06]\"><div className=\"min-w-0 flex-1\"><div className=\"truncate text-sm font-black text-white\">{booking.event_name}</div><div className=\"mt-0.5 truncate text-[11px] font-semibold text-white/45\">{eventTimeLabel(booking)} · {booking.venue_name || eventCustomerName(booking)}</div><div className=\"mt-1 flex min-w-0 items-center gap-2 text-[10px] font-black\"><span className=\"truncate text-white/55\">{booking.stage}</span>{issue ? <><span className=\"text-white/20\">•</span><span className={`truncate ${readiness.blocking.length ? 'text-[#ffb4ae]' : 'text-[#bfeeff]'}`}>{issue}</span></> : null}</div></div><ChevronRight className=\"h-4 w-4 shrink-0 text-white/30\" /></button>; })}</div></div>;\n              })}\n            </div>\n            <div className=\"hidden space-y-2 sm:block\">\n              {visible.map((booking) => {\n                const active = selected?.id === booking.id;\n                const rate = eventUnitRate(booking);\n                const readiness = routeWorkLoadoutSummary(buildMobileVendorLoadoutDefinitions(booking, activeTenant), normalizeRouteWorkLoadout(booking.loadout));\n                return <button key={booking.id} type=\"button\" onClick={() => setSearchParams({ event: booking.id }, { replace: true })} className={`w-full rounded-2xl border p-4 text-left transition ${active ? 'border-[#72dbff]/35 bg-[#0ea5e9]/15' : 'border-white/10 bg-[#071019]/70 hover:bg-[#0b1824]/80'}`}><div className=\"flex items-start justify-between gap-3\"><div><div className=\"text-[10px] font-black uppercase tracking-[0.16em] text-[#ff8b84]\">{booking.venue_name || eventCustomerName(booking)}</div><div className=\"mt-1 text-lg font-black\">{booking.event_name}</div><div className=\"mt-1 text-xs font-semibold text-white/45\">{eventDateLabel(booking)} · {eventTimeLabel(booking)}</div></div><ChevronRight className=\"mt-1 h-4 w-4 text-white/35\" /></div><div className=\"mt-3 flex flex-wrap gap-2 text-[11px] font-black text-white/55\"><span className=\"rounded-full border border-white/10 px-2.5 py-1\">{booking.stage}</span>{booking.quoted_units ? <span className=\"rounded-full border border-white/10 px-2.5 py-1\">{booking.quoted_units} {eventUnitLabel(booking)}</span> : null}{booking.quote_amount ? <span className=\"rounded-full border border-white/10 px-2.5 py-1\">Proposal {moneyLabel(booking.quote_amount)}</span> : null}{rate != null ? <span className=\"rounded-full border border-white/10 px-2.5 py-1\">{moneyLabel(rate)}/{eventUnitLabel(booking).replace(/s$/, '')}</span> : null}<span className={`rounded-full border px-2.5 py-1 ${readiness.blocking.length ? 'border-[#ff8b84]/30 text-[#ffd7d4]' : 'border-[#72dbff]/25 text-[#bfeeff]'}`}>{readiness.blocking.length ? `${readiness.blocking.length} prep issue${readiness.blocking.length === 1 ? '' : 's'}` : 'Prep ready'}</span>{Number(booking.balance_due || 0) > 0 ? <span className=\"rounded-full border border-white/10 px-2.5 py-1\">Owed {moneyLabel(booking.balance_due)}</span> : null}</div></button>;\n              })}\n            </div>\n          </div>\n\n          {selected ? (\n            <article className=\"order-1 min-w-0 overflow-hidden rounded-[1.4rem] border border-white/10 bg-[#071019]/80 p-4 shadow-2xl shadow-black/20 backdrop-blur-xl sm:rounded-[1.8rem] sm:p-6 xl:order-1\">\n              <div className=\"flex min-w-0 flex-col gap-4 lg:flex-row lg:items-start lg:justify-between\"><div className=\"min-w-0\"><div className=\"text-[10px] font-black uppercase tracking-[0.18em] text-[#72dbff]\">{selected.event_type}</div><h2 className=\"mt-1 break-words text-2xl font-black tracking-[-0.04em] sm:text-3xl\">{selected.event_name}</h2><div className=\"mt-2 break-words text-sm font-semibold text-white/50\">{eventCustomerName(selected)}{selected.venue_name && selected.venue_name !== eventCustomerName(selected) ? ` · ${selected.venue_name}` : ''}</div>{String(selected.status || '').toLowerCase().includes('cancel') ? <div className=\"mt-3 inline-flex rounded-full border border-red-300/30 bg-red-500/20 px-3 py-1.5 text-xs font-black text-red-100\">Canceled</div> : null}</div><div className=\"flex w-full flex-col gap-2 lg:w-auto lg:min-w-[250px]\">{!String(selected.status || '').toLowerCase().includes('cancel') ? <button type=\"button\" disabled={cancelEventMutation.isPending} onClick={() => { if (window.confirm(`Cancel “${selected.event_name}”? The event will stay in your records and show as canceled.`)) cancelEventMutation.mutate(selected); }} className=\"inline-flex min-h-[48px] items-center justify-center rounded-full border border-[#ff8b84]/25 bg-[#3b1014]/70 px-5 text-sm font-black text-[#ffd7d4] transition hover:bg-[#4a151a] disabled:opacity-50\">{cancelEventMutation.isPending ? 'Canceling…' : 'Cancel event'}</button> : null}<details className=\"w-full rounded-xl border border-white/10 bg-white/[0.04] p-3\"><summary className=\"cursor-pointer list-none text-sm font-black text-white/75\">More event actions</summary><div className=\"mt-3 grid gap-2 sm:grid-cols-2 lg:grid-cols-1\"><Link to={`${BIG_PAPIS_OWNER_BASE_PATH}/event-day?event=${selected.id}`} className=\"inline-flex min-h-[44px] min-w-0 items-center justify-center gap-2 rounded-lg border border-white/10 px-3 text-xs font-black text-white/70\"><ClipboardCheck className=\"h-4 w-4 shrink-0\" /> Run event</Link><button type=\"button\" onClick={() => reuseBooking(selected)} className=\"inline-flex min-h-[44px] min-w-0 items-center justify-center gap-2 rounded-lg border border-white/10 px-3 text-xs font-black text-white/70\"><Copy className=\"h-4 w-4 shrink-0\" /> Use setup again</button><button type=\"button\" onClick={() => document.getElementById('big-papis-public-schedule')?.scrollIntoView({ behavior: 'smooth', block: 'center' })} className=\"inline-flex min-h-[44px] min-w-0 items-center justify-center gap-2 rounded-lg border border-[#72dbff]/25 bg-[#0ea5e9]/10 px-3 text-xs font-black text-[#bfeeff]\"><CalendarDays className=\"h-4 w-4 shrink-0\" /> Public / private</button>{publicForm.publicSchedule ? <button type=\"button\" disabled={publicScheduleMutation.isPending} onClick={() => publicScheduleMutation.mutate({ booking: selected, values: { ...publicForm, publicSchedule: false } })} className=\"inline-flex min-h-[44px] min-w-0 items-center justify-center gap-2 rounded-lg border border-amber-300/25 bg-amber-500/10 px-3 text-xs font-black text-amber-100 disabled:opacity-50\"><CalendarDays className=\"h-4 w-4 shrink-0\" /> {publicScheduleMutation.isPending ? 'Removing…' : 'Remove from public calendar'}</button> : null}<button type=\"button\" disabled={deleteEventMutation.isPending} onClick={() => { if (window.confirm(`Delete “${selected.event_name}”? It will disappear from Events, Calendar, and the public schedule, while its history stays recoverable.`)) deleteEventMutation.mutate(selected); }} className=\"inline-flex min-h-[44px] min-w-0 items-center justify-center gap-2 rounded-lg border border-[#ff8b84]/30 bg-[#3b1014]/70 px-3 text-xs font-black text-[#ffd7d4] disabled:opacity-50\"><Trash2 className=\"h-4 w-4 shrink-0\" /> {deleteEventMutation.isPending ? 'Deleting…' : 'Delete event'}</button></div></details></div></div>\n\n              <BigPapisEventPromotionKit booking={selected} />\n\n              {selectedNextStep ? <section data-big-papis-next-step=\"true\" className=\"mt-5 rounded-2xl border border-[#72dbff]/25 bg-[#0c4a6e] p-4 sm:p-5\"><div className=\"text-[10px] font-black uppercase tracking-[0.18em] text-[#bfeeff]\">Next step</div><div className=\"mt-2 flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between\"><div className=\"min-w-0\"><h3 className=\"text-xl font-black text-white\">{selectedNextStep.title}</h3><p className=\"mt-1 max-w-2xl text-sm font-semibold text-white/60\">{selectedNextStep.detail}</p></div><Link to={selectedNextStep.href} className=\"inline-flex min-h-[48px] shrink-0 items-center justify-center rounded-xl bg-white px-5 text-sm font-black text-[#071019]\">{selectedNextStep.actionLabel}</Link></div></section> : null}\n\n              <div className=\"mt-4 grid grid-cols-2 border-y border-white/10 py-2 sm:mt-5 sm:grid-cols-2 lg:grid-cols-4 lg:divide-x lg:divide-white/10\">\n                <div className=\"py-3 lg:px-4 lg:first:pl-0\"><CalendarDays className=\"h-4 w-4 text-[#72dbff]\" /><div className=\"mt-2 text-xs font-black text-white/45\">Schedule</div><div className=\"mt-1 text-sm font-black\">{eventDateLabel(selected)}</div><div className=\"text-xs text-white/45\">{eventTimeLabel(selected)}</div></div>\n                <div className=\"border-t border-white/10 py-3 sm:border-t-0 lg:px-4\"><Users className=\"h-4 w-4 text-[#72dbff]\" /><div className=\"mt-2 text-xs font-black text-white/45\">Tickets / service</div><div className=\"mt-1 text-sm font-black\">{selected.quoted_units ?? 'TBD'} {eventUnitLabel(selected)}</div><div className=\"text-xs text-white/45\">{selected.guest_count ? `${selected.guest_count} expected attendees · ` : ''}{selected.service_package || 'Service TBD'}</div></div>\n                <div className=\"border-t border-white/10 py-3 sm:border-t-0 lg:px-4\"><Receipt className=\"h-4 w-4 text-[#72dbff]\" /><div className=\"mt-2 text-xs font-black text-white/45\">Proposal</div><div className=\"mt-1 text-sm font-black\">{moneyLabel(selected.quote_amount)}</div><div className=\"text-xs text-white/45\">{eventUnitRate(selected) != null ? `${moneyLabel(eventUnitRate(selected))}/${eventUnitLabel(selected).replace(/s$/, '')} · ` : ''}Balance {moneyLabel(selected.balance_due)}</div></div>\n                <div className=\"border-t border-white/10 py-3 sm:border-t-0 lg:px-4\"><CheckCircle2 className=\"h-4 w-4 text-[#72dbff]\" /><div className=\"mt-2 text-xs font-black text-white/55\">Event progress</div><div className=\"mt-1 text-sm font-black\">{completeSteps}/{steps.length || 11} done</div><div className=\"text-xs text-white/55\">{selected.stage}</div></div>\n              </div>\n\n              <details className=\"mt-5 min-w-0 rounded-2xl border border-white/10 bg-white/[0.04] p-4\">\n                <summary className=\"cursor-pointer list-none\"><div className=\"flex items-center justify-between gap-4\"><div><div className=\"text-[10px] font-black uppercase tracking-[0.16em] text-[#72dbff]\">Status</div><div className=\"mt-1 text-sm font-black\">{selected.stage}</div><div className=\"mt-1 text-[11px] font-semibold text-white/45\">KNOCKLAUNCH normally moves the work forward from what you do. Change this only when the status is wrong.</div></div><span className=\"rounded-full border border-white/10 px-3 py-1.5 text-[10px] font-black text-white/55\">Change</span></div></summary>\n                <div className=\"mt-4 grid min-w-0 grid-cols-1 gap-2 border-t border-white/10 pt-4 sm:grid-cols-2 lg:grid-cols-3\">{MOBILE_VENDOR_EVENT_STAGES.map((stage, index) => { const activeStage = (stageMutation.variables?.booking.id === selected.id ? stageMutation.variables.stage : selected.stage) === stage; return <button key={stage} type=\"button\" disabled={stageMutation.isPending} onClick={() => stageMutation.mutate({ booking: selected, stage })} className={`flex min-w-0 items-center gap-2 rounded-xl border px-3 py-2.5 text-left transition disabled:opacity-50 ${activeStage ? 'border-[#72dbff]/50 bg-[#0ea5e9]/20 text-white' : 'border-white/10 bg-[#071019]/60 text-white/55 hover:border-white/20 hover:text-white'}`} aria-pressed={activeStage}><span className=\"inline-grid h-6 w-6 shrink-0 place-items-center rounded-full border border-current/20 text-[9px] font-black\">{index + 1}</span><span className=\"min-w-0 break-words text-[11px] font-black leading-tight\">{stage}</span>{activeStage ? <CheckCircle2 className=\"ml-auto h-4 w-4 shrink-0 text-[#72dbff]\" /> : null}</button>; })}</div>\n              </details>\n              {selectedReadiness?.blocking.length ? <Link to={`${BIG_PAPIS_OWNER_BASE_PATH}/inventory?view=prep&event=${selected.id}`} className=\"mt-3 flex min-h-[68px] items-center justify-between gap-4 rounded-2xl border border-[#ff8b84]/30 bg-[#3b1014] px-4 py-3\"><div><div className=\"text-[10px] font-black uppercase tracking-[0.14em] text-white/45\">Event prep</div><div className=\"mt-1 text-sm font-black\">{selectedReadiness.blocking.length} prep issue{selectedReadiness.blocking.length === 1 ? '' : 's'}</div><div className=\"mt-1 text-[11px] font-semibold text-white/45\">Only the exceptions need attention.</div></div><ChevronRight className=\"h-4 w-4 text-white/50\" /></Link> : null}\n\n              {(selected.location || selected.setup) && <div className=\"mt-5 grid min-w-0 gap-3 sm:grid-cols-2\"><div className=\"min-w-0 rounded-2xl border border-white/10 bg-white/[0.04] p-4\"><div className=\"text-[10px] font-black uppercase tracking-[0.16em] text-white/35\">Location</div><div className=\"mt-2 break-words text-sm font-semibold text-white/70\">{selected.location || 'TBD'}</div></div><div className=\"min-w-0 rounded-2xl border border-white/10 bg-white/[0.04] p-4\"><div className=\"text-[10px] font-black uppercase tracking-[0.16em] text-white/35\">Setup</div><div className=\"mt-2 break-words text-sm font-semibold text-white/70\">{selected.setup || 'TBD'}</div></div></div>}\n              {selectedEventIntel ? <details className=\"mt-3 rounded-2xl border border-[#72dbff]/20 bg-[#0ea5e9]/10 p-4\" data-big-papis-selected-event-intel=\"true\"><summary className=\"cursor-pointer list-none\"><div className=\"flex items-center justify-between gap-3\"><div><div className=\"text-[10px] font-black uppercase tracking-[0.16em] text-[#72dbff]\">Event recommendations</div><div className=\"mt-1 text-sm font-black\">Best setup: {setupIntelLabel(selectedEventIntel.setup_recommendation)}</div></div><span className=\"rounded-full border border-[#72dbff]/20 px-3 py-1.5 text-[10px] font-black text-[#bfeeff]\">Review</span></div></summary><div className=\"mt-4 border-t border-white/10 pt-4\">\n                <div className=\"flex items-center justify-between gap-3\"><div className=\"text-[10px] font-black uppercase tracking-[0.16em] text-[#72dbff]\">Setup & flavor details</div>{eventIntelMutation.isPending ? <div className=\"text-[9px] font-black uppercase text-[#9fe7ff]\">Saving…</div> : null}</div>\n                <div className=\"mt-3 text-[9px] font-black uppercase tracking-[0.12em] text-white/40\">Where will you serve?</div>\n                <div className=\"mt-1.5 flex flex-wrap gap-1.5\">{([['indoor', 'Indoor'], ['outdoor', 'Outdoor'], ['mixed', 'Both']] as const).map(([value, label]) => <button key={value} type=\"button\" disabled={eventIntelMutation.isPending} onClick={() => eventIntelMutation.mutate({ booking: selected, intel: withEnvironmentChoice(selectedEventIntel, value) })} className={`rounded-full border px-3 py-1.5 text-[10px] font-black ${selectedEventIntel.environment_confirmed_by_owner && selectedEventIntel.environment === value ? 'border-[#72dbff]/60 bg-[#72dbff]/20 text-white' : 'border-white/10 bg-white/[0.04] text-white/65'}`}>{label}</button>)}</div>\n                <div className=\"mt-1.5 text-xs font-black text-white/75\">{environmentIntelLabel(selectedEventIntel.environment, selectedEventIntel.environment_confidence, selectedEventIntel.environment_confirmed_by_owner)}</div>\n                <div className=\"mt-2 text-sm font-black\">Best setup: {setupIntelLabel(selectedEventIntel.setup_recommendation)}</div>{selectedEventIntel.setup_reason ? <div className=\"mt-1 text-xs font-semibold text-white/55\">{selectedEventIntel.setup_reason}</div> : null}\n                <div className=\"mt-3\"><div className=\"text-[9px] font-black uppercase tracking-[0.12em] text-white/40\">Flavor mix</div><div className=\"mt-2 flex flex-wrap gap-1.5\">{BIG_PAPIS_FLAVORS.map((flavor) => { const checked = eventIntelSelectedFlavors(selectedEventIntel).includes(flavor); const suggested = selectedEventIntel.flavor_recommendations?.some((item) => item.flavor === flavor); return <label key={flavor} className={`inline-flex cursor-pointer items-center gap-1.5 rounded-full border px-2.5 py-1.5 text-[10px] font-black ${checked ? 'border-[#72dbff]/45 bg-[#72dbff]/15 text-white' : 'border-white/10 bg-white/[0.04] text-white/45'}`}><input type=\"checkbox\" checked={checked} disabled={eventIntelMutation.isPending} onChange={(event) => eventIntelMutation.mutate({ booking: selected, intel: withFlavorSelection(selectedEventIntel, flavor, event.target.checked) })} className=\"h-3.5 w-3.5 accent-[#72dbff]\" />{flavor}{suggested ? <span className=\"text-[8px] uppercase tracking-[0.08em] text-[#9fe7ff]\">Suggested</span> : null}</label>; })}</div></div>\n                <div className=\"mt-3\"><div className=\"text-[9px] font-black uppercase tracking-[0.12em] text-white/40\">Confirm with organizer</div><ul className=\"mt-1 space-y-1 text-[10px] font-semibold text-white/55\">{BIG_PAPIS_ORGANIZER_QUESTIONS.map((question) => <li key={question}>• {question}</li>)}</ul></div>\n              </div></details> : null}\n\n              <details id=\"big-papis-public-schedule\" className=\"mt-5 min-w-0 overflow-hidden rounded-2xl border border-white/10 bg-white/[0.04] p-4\">\n                <summary className=\"cursor-pointer list-none\"><div className=\"flex min-w-0 items-center justify-between gap-4\"><div className=\"min-w-0\"><div className=\"text-[10px] font-black uppercase tracking-[0.18em] text-[#72dbff]\">Public schedule</div><div className=\"mt-1 text-sm font-black\">{publicForm.publicSchedule ? 'Published' : 'Private'}</div><div className=\"mt-1 text-[11px] text-white/45\">Only open this when the event should appear publicly.</div></div><div className=\"rounded-full border border-white/10 px-3 py-1.5 text-[10px] font-black text-white/55\">Manage</div></div></summary>\n                <div className=\"mt-4 border-t border-white/10 pt-4\">\n                  <label className=\"inline-flex cursor-pointer items-center gap-2 text-xs font-black\"><input type=\"checkbox\" checked={publicForm.publicSchedule} onChange={(e) => setPublicForm((current) => ({ ...current, publicSchedule: e.target.checked }))} className=\"h-4 w-4 accent-[#72dbff]\" /> Show publicly</label>\n                  {publicForm.publicSchedule ? <div className=\"mt-3 grid min-w-0 gap-2 sm:grid-cols-2 lg:grid-cols-4\">\n                    <select value={publicForm.publicRegion} onChange={(e) => setPublicForm((current) => ({ ...current, publicRegion: e.target.value }))} className=\"min-h-[44px] w-full min-w-0 rounded-lg border border-white/10 bg-[#0b1824] px-3 py-2 text-sm font-bold text-white\"><option value=\"upstate_new_york\">Utica &amp; Mohawk Valley</option></select>\n                    <input value={publicForm.publicVenue} onChange={(e) => setPublicForm((current) => ({ ...current, publicVenue: e.target.value }))} className=\"w-full min-w-0 rounded-lg border border-white/10 bg-[#0b1824] px-3 py-2 text-xs font-semibold text-white\" placeholder={selected.venue_name || 'Public venue'} />\n                    <input value={publicForm.publicCity} onChange={(e) => setPublicForm((current) => ({ ...current, publicCity: e.target.value }))} className=\"w-full min-w-0 rounded-lg border border-white/10 bg-[#0b1824] px-3 py-2 text-xs font-semibold text-white\" placeholder=\"Public city\" />\n                    <input type=\"url\" value={publicForm.publicUrl} onChange={(e) => setPublicForm((current) => ({ ...current, publicUrl: e.target.value }))} className=\"w-full min-w-0 rounded-lg border border-white/10 bg-[#0b1824] px-3 py-2 text-xs font-semibold text-white\" placeholder=\"Directions / public link\" />\n                  </div> : null}\n                  <div className=\"mt-3 flex flex-wrap gap-2\"><button type=\"button\" disabled={publicScheduleMutation.isPending} onClick={() => publicScheduleMutation.mutate({ booking: selected, values: publicForm })} className=\"rounded-full bg-[#72dbff] px-4 py-2 text-[11px] font-black text-[#071019] disabled:opacity-50\">{publicScheduleMutation.isPending ? 'Saving…' : 'Save public schedule'}</button>{publicForm.publicSchedule ? <button type=\"button\" disabled={publicScheduleMutation.isPending} onClick={() => publicScheduleMutation.mutate({ booking: selected, values: { ...publicForm, publicSchedule: false } })} className=\"rounded-full border border-amber-300/25 bg-amber-500/10 px-4 py-2 text-[11px] font-black text-amber-100 disabled:opacity-50\">Remove from public calendar</button> : null}</div>\n                </div>\n              </details>\n\n              <details className=\"mt-5 rounded-2xl border border-white/10 bg-white/[0.04] p-4\"><summary className=\"cursor-pointer list-none\"><div className=\"flex items-center justify-between gap-4\"><div><div className=\"text-[10px] font-black uppercase tracking-[0.18em] text-white/40\">More event tools</div><div className=\"mt-1 text-sm font-black\">Prep, email, agreements, documents, proposals, and money</div></div><span className=\"rounded-full border border-white/10 px-3 py-1.5 text-[10px] font-black text-white/55\">Open</span></div></summary><div className=\"mt-3 grid grid-cols-2 gap-2 border-t border-white/10 pt-4 lg:grid-cols-3\">\n                <Link to={`${BIG_PAPIS_OWNER_BASE_PATH}/inventory?event=${selected.id}`} className=\"rounded-2xl border border-white/10 bg-white/[0.05] p-4\"><ClipboardCheck className=\"h-4 w-4 text-[#ff8b84]\" /><div className=\"mt-2 text-sm font-black\">Event prep</div><div className=\"mt-1 text-xs text-white/40\">Loadout, supplies, and readiness</div></Link>\n                <Link to={`${BIG_PAPIS_OWNER_BASE_PATH}/emails?event=${selected.id}`} className=\"rounded-2xl border border-white/10 bg-white/[0.05] p-4\"><Mail className=\"h-4 w-4 text-[#ff8b84]\" /><div className=\"mt-2 text-sm font-black\">Email</div><div className=\"mt-1 text-xs text-white/40\">Templates and event correspondence</div></Link>\n                <Link to={`${BIG_PAPIS_OWNER_BASE_PATH}/agreements?event=${selected.id}`} className=\"rounded-2xl border border-white/10 bg-white/[0.05] p-4\"><FileText className=\"h-4 w-4 text-[#ff8b84]\" /><div className=\"mt-2 text-sm font-black\">Agreement</div><div className=\"mt-1 text-xs text-white/40\">Create, send and sign</div></Link>\n                <Link to={`${BIG_PAPIS_OWNER_BASE_PATH}/proposals?event=${selected.id}`} className=\"rounded-2xl border border-white/10 bg-white/[0.05] p-4\"><FileText className=\"h-4 w-4 text-[#ff8b84]\" /><div className=\"mt-2 text-sm font-black\">Proposal</div><div className=\"mt-1 text-xs text-white/40\">Price, send, approve, and book</div></Link>\n                <Link to={`${BIG_PAPIS_OWNER_BASE_PATH}/documents?event=${selected.id}`} className=\"rounded-2xl border border-white/10 bg-white/[0.05] p-4\"><FileText className=\"h-4 w-4 text-[#ff8b84]\" /><div className=\"mt-2 text-sm font-black\">Documents</div><div className=\"mt-1 text-xs text-white/40\">Everything attached to the event</div></Link>\n                <Link to={`${BIG_PAPIS_OWNER_BASE_PATH}/invoices?event=${selected.id}`} className=\"rounded-2xl border border-white/10 bg-white/[0.05] p-4\"><Receipt className=\"h-4 w-4 text-[#ff8b84]\" /><div className=\"mt-2 text-sm font-black\">Money</div><div className=\"mt-1 text-xs text-white/40\">Deposit, invoice and balance</div></Link>\n              </div></details>\n\n              <details className=\"mt-5 rounded-2xl border border-white/10 bg-white/[0.04] p-4\">\n                <summary className=\"cursor-pointer list-none\"><div className=\"flex items-center justify-between gap-4\"><div><div className=\"text-[10px] font-black uppercase tracking-[0.18em] text-[#72dbff]\">Full event plan</div><div className=\"mt-1 text-lg font-black\">Event plan & logistics</div><div className=\"mt-1 text-xs font-semibold text-white/45\">Crew, venue requirements, service plan, notes, readiness, and margin are still here when you need them.</div></div><div className=\"rounded-full border border-white/10 px-3 py-1.5 text-[10px] font-black text-white/55\">Open</div></div></summary>\n                <div className=\"mt-4\"><BigPapisEventCockpit booking={selected} /></div>\n              </details>\n            </article>\n          ) : <div className=\"order-1 rounded-[1.8rem] border border-white/10 bg-[#071019]/75 p-8 text-center shadow-2xl shadow-black/20 backdrop-blur-xl xl:order-1\"><CalendarDays className=\"mx-auto h-8 w-8 text-white/30\" /><div className=\"mt-3 text-lg font-black\">No event selected.</div><div className=\"mt-1 text-sm text-white/45\">Choose one from the list or create the next booking.</div><button type=\"button\" onClick={() => setShowCreate(true)} className=\"mt-4 min-h-[44px] rounded-full bg-white px-5 text-xs font-black text-[#071019]\">New event</button></div>}\n        </section>\n        </div>\n      </div>\n    </main>\n  );\n}\n","expectedSha":"be79ddcc8c3a9d432222b03d8a1eb1ff252a337d"}],"branch":"ai/objective-first-repair-b97a508143dc","writes":[],"patches":[],"approved":true,"missionId":"b97a5081-43dc-46f6-b972-6875f4dbbeb2","repository":"noel/KnockLaunchOS","ownerApproved":true,"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"350385d4bcf1e7a35a5f03a1fb2926fba255857533d7a2f9ced99a2e8efe6a4d","replayCount":0,"serializedBytes":112215},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T15:43:09.017594+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:b97a5081-43dc-46f6-b972-6875f4dbbeb2:repository-mutation-intent:350385d4bcf1e7a35a5f03a1fb2926fba255857533d7a2f9ced99a2e8efe6a4d:0","mission_step_id":"ae6f0fe2-77dd-4422-b097-72dbe1e78d16","command_center_event_id":"b97a5081-43dc-46f6-b972-6875f4dbbeb2"},{"id":"b9398659-3094-42ea-ac3a-1230d3f7a418","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/fix-worker-identity-release-proof-20260804-r202608041621","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.30.13-exact-release-proof-terminalization","prNumber":3998,"terminal":false,"missionId":"8dc973e2-1b55-40c1-a83e-58fd49904071","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"8dc973e2-1b55-40c1-a83e-58fd49904071"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1262,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-04T16:22:10.336163+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"3998","receipt_type":"execute_mission","idempotency_key":"mission:8dc973e2-1b55-40c1-a83e-58fd49904071:execute_mission:canonical_release_blocked","mission_step_id":"185cfba5-391b-4065-9ea1-f79a26abd27d","command_center_event_id":"8dc973e2-1b55-40c1-a83e-58fd49904071"},{"id":"b93a7928-4404-47c6-81bb-453091607548","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-4b4b5a5fd8c0","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":46612,"releaseCount":0,"toolCallCount":16,"repeatedCallCount":12,"executorlessWaitMs":942183,"firstUsefulResultAt":"2026-10-02T16:27:36.624Z","recoveryAttemptCount":11,"ownerInterruptionCount":0},"version":null,"prNumber":4497,"terminal":false,"missionId":"4b4b5a5f-d8c0-408e-ba78-a66c24900b8c","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2192,"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":"4b4b5a5f-d8c0-408e-ba78-a66c24900b8c"},"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-02T16:40:42.440977+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4497","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4b4b5a5f-d8c0-408e-ba78-a66c24900b8c:automatic-mission-resume:4497:repair_mission_pr_ready_retryable","mission_step_id":"f0732d09-ce55-4b53-aacc-4558aece0e92","command_center_event_id":"4b4b5a5f-d8c0-408e-ba78-a66c24900b8c"},{"id":"b93cab08-bbd8-43cb-9f9d-ac25731df6da","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5e7815f5fba2","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":22492,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":5,"executorlessWaitMs":21804,"firstUsefulResultAt":"2026-10-03T04:33:46.993Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":4622,"terminal":false,"missionId":"5e7815f5-fba2-4296-8658-3ca17bc88801","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"3bdbc8e8176ba97d621286ba1132bf3baafbe6b3","timingsMs":{"prReadinessMs":873,"approvedPlanMs":0,"shipAndProveMs":2938,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"5e7815f5-fba2-4296-8658-3ca17bc88801"},"performance":null,"deploymentId":"forgejo-main-3bdbc8e8176b","releaseState":null,"workflowRunId":null,"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":1859,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:34:13.677209+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4622","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5e7815f5-fba2-4296-8658-3ca17bc88801:automatic-mission-resume:4622:canonical_release_reconciliation_pending","mission_step_id":"4cb0627a-9b12-46f3-a661-f311a082c8d5","command_center_event_id":"5e7815f5-fba2-4296-8658-3ca17bc88801"},{"id":"b9428382-5f23-4aa5-966f-e242567eaa96","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-flavor-catalog-r2-20260824","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":7640,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.50.18-existing-pr-adoption","prNumber":655,"terminal":false,"missionId":"4cfdf05d-8f32-44fe-8d38-b892e34f12f4","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":"4cfdf05d-8f32-44fe-8d38-b892e34f12f4"},"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":5485,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-24T13:39:43.449296+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"655","receipt_type":"execute_mission","idempotency_key":"mission:4cfdf05d-8f32-44fe-8d38-b892e34f12f4:execute_mission:repair_mission_waiting_for_gate","mission_step_id":"645a0c00-6add-4ec9-be8e-bfd6b12bdee9","command_center_event_id":"4cfdf05d-8f32-44fe-8d38-b892e34f12f4"},{"id":"b9444771-991b-4238-8d17-9a8d566d6390","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue PR #945 and add the repository-managed Brevard ZIP coverage configuration for the hidden licensed-professional match.","wordingChanged":false,"canonicalIntent":"Continue PR #945 and add the repository-managed Brevard ZIP coverage configuration for the hidden licensed-professional match.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"backend-routing","statement":"A valid RoofHelpFinder submission with a configured Brevard ZIP resolves an active Florida roofing tenant with a non-empty license number from tenant_service_areas and forwards a CRM contact into that matched tenant.","proofConditionIds":["repo-proof"]},{"id":"public-privacy","statement":"The public function response confirms only matched/forwarded state and matched area; it never returns professional name, tenant ID, slug, or license number.","proofConditionIds":["repo-proof"]},{"id":"required-fields","statement":"The server requires a valid 5-digit ZIP and homeowners_insurance Yes/No before routing.","proofConditionIds":["repo-proof"]},{"id":"coverage-config","statement":"Repository migration configures the existing licensed Florida roofing tenant for deterministic RoofHelpFinder Brevard residential ZIP coverage.","proofConditionIds":["repo-proof"]}],"objective":"Continue PR #945 and add the repository-managed Brevard ZIP coverage configuration for the hidden licensed-professional match.","constraints":[{"id":"no-new-infra","statement":"Do not add a new vendor, table, external routing service, or public professional identity.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"PR #945 source contains the ZIP-routing Edge Function changes and Brevard service-area migration.","route":"https://roofhelpfinder.com/","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"5a1efe6e2419ea3cac029fe8110ba434c8f1df2be78c00d07864141cb135004f","requestContractRevision":2,"previousRequestContractHash":"43e7d1020f338237dcc4fc9d0b631ca331d2647c0e52409a4dd79a1d8c3b4fc6"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T18:29:13.211438+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:47918e9d-8812-404b-976f-192ac581372a:request-contract-revision:2:5a1efe6e2419ea3cac029fe8110ba434c8f1df2be78c00d07864141cb135004f","mission_step_id":"50c6e1c8-e654-4542-b880-a1bc0988832c","command_center_event_id":"47918e9d-8812-404b-976f-192ac581372a"},{"id":"b94474ba-b82a-46bb-bb70-eb1550a1541f","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"big_papi_operations","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"fc2cacc7-56bf-efc6-8b05-0bb735294bcb"},"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:1e281860-297d-475f-be02-c25adfa69056","mission_step_id":null,"command_center_event_id":"1e281860-297d-475f-be02-c25adfa69056"},{"id":"b94550ae-c005-4f76-978d-cd1bccb13631","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/native-business-context-v1-20260819","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":7251,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":445,"terminal":false,"missionId":"a812cc50-a7e3-467a-99a5-ae9215642476","operation":"automatic_mission_resume","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":"a812cc50-a7e3-467a-99a5-ae9215642476"},"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":1020,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T20:40:07.816588+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"445","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a812cc50-a7e3-467a-99a5-ae9215642476:automatic-mission-resume:445:repair_mission_waiting_for_gate","mission_step_id":"321b5592-dea1-4920-a867-3431398be277","command_center_event_id":"a812cc50-a7e3-467a-99a5-ae9215642476"},{"id":"b948af82-8b3f-421e-a6f1-3e988dbf7dfa","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"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.125-baseline-relative-release-canary","prNumber":null,"terminal":false,"missionId":"d3d83da6-e5e6-4505-8f51-30410a429aa9","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":31889,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":283,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":283,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":283,"repositoryMutationMs":31889,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":283,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"d3d83da6-e5e6-4505-8f51-30410a429aa9"},"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-13T15:39:30.447588+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d3d83da6-e5e6-4505-8f51-30410a429aa9:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"d1f42be0-0986-462e-a9b6-1b1f7985835b","command_center_event_id":"d3d83da6-e5e6-4505-8f51-30410a429aa9"},{"id":"b94d06f5-d87d-410b-8b4e-6452b2293000","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/auth-bootstrap-persisted-recovery","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.182-witness-render-cold-start-aware","prNumber":3077,"terminal":false,"missionId":"45c706c8-0173-432b-99ad-6db1cb3f6806","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8665,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1441,"missionSetupMs":364,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":364,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":364,"repositoryMutationMs":7224,"repositoryProviderMs":7224,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3651,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":364,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":3573},"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":"45c706c8-0173-432b-99ad-6db1cb3f6806"},"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":3227,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T04:02:48.265524+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3077","receipt_type":"execute_mission","idempotency_key":"mission:45c706c8-0173-432b-99ad-6db1cb3f6806:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"4b37d18e-e5c7-4faf-9364-a22c9da113f2","command_center_event_id":"45c706c8-0173-432b-99ad-6db1cb3f6806"},{"id":"b94d390f-2d1d-4be0-b00e-7959a6d430a0","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/PrivateAppShell.tsx","config/system-reference-points/release-reliability-standard-2026-10-05.json","scripts/visual-witness-hosted-runner/src/frontend-build-entrypoint.mjs","scripts/visual-witness-hosted-runner/src/frontend-build-service.mjs"],"continuationObjective":"Continue and complete the existing PCG Marketplace/Live/Forum repair on PR #5203. Preserve exact head 700b3eb298732eda49f3967b09b413c7bf55c3b1. Run Gate, squash merge if green, deploy the frontend release, and verify /prestigious-card-grading/live is live on app.knocklaunch.app. Do not create a replacement PR unless #5203 becomes unmergeable; if that happens, immediately salvage the exact patch onto current main and close/supersede #5203. Do not stop at a blocker when a deterministic safe recovery path exists."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T16:13:11.715297+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:5a5997d4-18d0-4656-8009-80a3de3403d6:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"b4a8d632-5d02-4f72-afc8-3fa1324bfedf","command_center_event_id":"5a5997d4-18d0-4656-8009-80a3de3403d6"},{"id":"b94d6448-4357-48dd-b63a-ad2ccd2650d2","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"da1aca045ef50f64b6d3b63db7d291f0ac2d4ad7","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Repair installed home-screen app trapping users with no refresh. Inspect and fix governing standalone navigation/recovery primitives. Provide reachable Back with safe same-tenant fallback, tenant Home and explicit Refresh app; protect unsaved edits, auth and tenant context; handle messaging/dialog escape and error/loading recovery without swipe-down messaging conflict. Smallest shared repair, no unrelated redesign. Verify standalone interaction on https://app.knocklaunch.app/big-papis/owner/calendar?bpMode=plan and representative sibling. Ship one PR through gate merge deployment and actual live interaction proof.","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":"d0b7ce8b794ced9806b71376920b59fdcb09e683e81f02a8704f8b2714966d27","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":"d0b7ce8b794ced9806b71376920b59fdcb09e683e81f02a8704f8b2714966d27"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-23T03:37:32.765466+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"da1aca045ef50f64b6d3b63db7d291f0ac2d4ad7","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:673b4b6f-4d63-4034-9d88-4f590824c437:request-contract:d0b7ce8b794ced9806b71376920b59fdcb09e683e81f02a8704f8b2714966d27:da1aca045ef50f64b6d3b63db7d291f0ac2d4ad7:verified:","mission_step_id":"a96da3ab-5ff6-41a8-94d1-f376655e6cd4","command_center_event_id":"673b4b6f-4d63-4034-9d88-4f590824c437"},{"id":"b94f5364-7250-4383-9391-74f333c17d32","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Repair the proven live Redfish Connections vanity-route miss on current Forgejo main. The latest main refactored CleanTenantModuleRenderer to use `redfishTarget`, so map `redfishTarget === 'connections'` to the existing RedfishConnections page and add its lazy import. This is the only product change. Continue the same mission as one corrective frontend generation, gate, squash merge, release frontend only, and then prove Find a connection -> search Square -> select Square -> Connect Square without starting external authorization.","wordingChanged":false,"canonicalIntent":"Repair the proven live Redfish Connections vanity-route miss on current Forgejo main. The latest main refactored CleanTenantModuleRenderer to use `redfishTarget`, so map `redfishTarget === 'connections'` to the existing RedfishConnections page and add its lazy import. This is the only product change. Continue the same mission as one corrective frontend generation, gate, squash merge, release frontend only, and then prove Find a connection -> search Square -> select Square -> Connect Square without starting external authorization.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-search","statement":"The live Redfish `/redfish-roofing/connections` vanity route renders the searchable Find a connection experience rather than falling through to the dashboard.","proofConditionIds":["proof-runtime"]},{"id":"outcome-select","statement":"Searching for Square and selecting the result opens the Square activation entrypoint.","proofConditionIds":["proof-interaction"]},{"id":"outcome-owner-connection","statement":"The selected provider flow uses the signed-in owner's real provider authorization/credential path rather than placeholder cards.","proofConditionIds":["proof-runtime","proof-interaction"]}],"objective":"Repair the proven live Redfish Connections vanity-route miss on current Forgejo main. The latest main refactored CleanTenantModuleRenderer to use `redfishTarget`, so map `redfishTarget === 'connections'` to the existing RedfishConnections page and add its lazy import. This is the only product change. Continue the same mission as one corrective frontend generation, gate, squash merge, release frontend only, and then prove Find a connection -> search Square -> select Square -> Connect Square without starting external authorization.","constraints":[{"id":"constraint-scope","statement":"Repair only the Redfish vanity-route mapping; do not change provider logic, Redfish workflows, background, tenant isolation, or unrelated tenants.","proofConditionIds":["proof-runtime"]},{"id":"constraint-no-external-auth","statement":"Automated proof must not start or complete external provider authorization.","proofConditionIds":["proof-interaction"]}],"terminalPolicy":"Only terminal after the corrective frontend release is live and the runtime plus search/select interaction proofs pass without starting external authorization.","proofConditions":[{"id":"proof-runtime","kind":"runtime","claim":"The live Redfish Connections vanity route renders Find a connection.","route":"/redfish-roofing/connections","roleRef":null,"userRef":null,"required":true,"expectedText":"Find a connection","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-interaction","kind":"interaction","claim":"On the live route, confirm Find a connection, search Square, select the Square result, and verify Connect Square appears without clicking the final authorization action.","route":"/redfish-roofing/connections","roleRef":null,"userRef":null,"required":true,"expectedText":"Find a connection","targetedActions":[{"value":"Square","action":"fill","selector":"input[aria-label='Search available connections']"},{"action":"click","selector":"[data-connection-result='square']"},{"text":"Connect Square","action":"expect_text"}],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"a697e3c72bc108d6326f097ce8717da2e2335e1776be809e87a906ec9c9b8c86","requestContractRevision":6,"previousRequestContractHash":"56ee199bf98ff7b7b6631542f39b5deaf492d514da581521d77dcefbd9efa173"},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T00:23:15.047361+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:3b017b72-2311-479c-a64e-d91bdc9875b3:request-contract-revision:6:a697e3c72bc108d6326f097ce8717da2e2335e1776be809e87a906ec9c9b8c86","mission_step_id":"95c7614c-5bbe-4358-b99d-8b6f51f08f88","command_center_event_id":"3b017b72-2311-479c-a64e-d91bdc9875b3"},{"id":"b94fd311-2a16-467a-96d3-41e10b56a4e8","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/planner-fallback-only-20260910","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.98-owner-handoff-overlap","prNumber":2362,"terminal":false,"missionId":"213c833d-7321-4460-b12a-5e0219c339b4","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":22126,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":4610,"approvedPlanMs":0,"missionSetupMs":3534,"providerAuthMs":0,"shipAndProveMs":15373,"ledgerPrepareMs":307,"ledgerReconcileMs":0,"lineageReconcileMs":3227,"resolvePreflightMs":3534,"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 replacement work.","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":1485,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T02:59:22.43584+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"2362","receipt_type":"execute_mission","idempotency_key":"mission:213c833d-7321-4460-b12a-5e0219c339b4:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"f5e99147-a3cf-4ee3-928e-a8f2f1eaca19","command_center_event_id":"213c833d-7321-4460-b12a-5e0219c339b4"},{"id":"b9514b09-611e-43d9-ad14-752a672413cc","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\":\"implementation\",\"status\":\"failed\",\"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\":\"visual_proof\",\"deadlineAt\":\"2026-09-25T16:05:16.16165+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-c8d8c6d675e0\",\"prNumber\":3715,\"sourceSha\":\"e52fc7056f656be0bfe1efa5ce077b6dbb30d9e3\",\"deploymentId\":\"forgejo-main-e52fc7056f65\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T12:16:53.388185+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:c8d8c6d6-75e0-47f9-8427-1f33e91dc2c9:owner-progress-heartbeat:119355907","mission_step_id":"810508ec-c905-41aa-a1d1-87d84c6ce3a5","command_center_event_id":"c8d8c6d6-75e0-47f9-8427-1f33e91dc2c9"},{"id":"b9517bc6-a391-4c8d-9af9-98e34356cbdd","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\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\",\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-25T21:18:30.848415+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-ca36810b0235\",\"prNumber\":3746,\"sourceSha\":\"bf3597fce3fc5c0f9af662456f40c3090cf55222\",\"deploymentId\":\"forgejo-main-bf3597fce3fc\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T17:30:04.867281+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:ca36810b-0235-4523-8947-b20d0893d1a0:owner-progress-heartbeat:119357160","mission_step_id":"288b6b9f-ce89-4e60-a85e-559b788c7b2a","command_center_event_id":"ca36810b-0235-4523-8947-b20d0893d1a0"},{"id":"b9532d19-439e-4243-a3e2-f6ac8878f680","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js"],"reason":"Apply the smallest runtime portion of the already-authorized proof-kind correction after provider POST timeouts.","baseSha":"5b5faac378335d272039a52560918dfda6d06674","issuedAt":1789176836067,"expiresAt":1789177016067,"missionId":"11a7db98-6a2a-4928-ae51-603014ea7da5","authorizationId":"ac1646ce-1980-443d-bf92-7ef5354c8681","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:33:56.477472+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"5b5faac378335d272039a52560918dfda6d06674","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:ac1646ce-1980-443d-bf92-7ef5354c8681","mission_step_id":"af34f54f-242b-42c2-83ba-329671926c35","command_center_event_id":"11a7db98-6a2a-4928-ae51-603014ea7da5"},{"id":"b9534cee-6bd2-4d4e-9507-a66e903c60bd","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"pending"},"mainSha":"705ca29ad8ce11827a6b61d0808041cb7379c909","missing":[],"pending":["frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"aaf63dded95df0d732846f600f8f639ba2b566b9","releaseState":"failed","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"4c9b4d70ecc8934282a931a979603cae08b9f932dcfadda423c2cf671c5aabaf","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/10111","runId":10111,"status":"cancelled","sourceSha":"aaf63dded95df0d732846f600f8f639ba2b566b9","conclusion":null,"failedJobs":[{"id":69994,"name":"Release frontend","status":"cancelled","conclusion":null,"failedSteps":[]}],"diagnostics":{"runId":10111,"logTail":["2026-09-19T19:10:54.0355817Z warning: pass a leading slash before paths such as 'tsconfig.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-19T19:10:54.0356194Z warning: pass a leading slash before paths such as 'tsconfig.app.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-19T19:10:54.0356499Z warning: pass a leading slash before paths such as 'tsconfig.node.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-19T19:10:54.0356764Z warning: pass a leading slash before paths such as 'postcss.config.js' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-19T19:10:54.0356969Z warning: pass a leading slash before paths such as 'tailwind.config.ts' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-19T19:10:54.0357181Z warning: pass a leading slash before paths such as 'components.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-19T19:10:54.0357393Z warning: pass a leading slash before paths such as 'config/cloudflare-native-frontend-build.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-19T19:10:54.0357623Z warning: pass a leading slash before paths such as 'supabase/functions/_shared/tenantTypeRegistry.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-19T19:10:54.0357855Z warning: pass a leading slash before paths such as 'wrangler.toml' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-19T19:10:59.0548980Z Frontend fallback source hydrated only after both promotion transports missed.","2026-09-19T19:11:04.2351595Z Frontend release zstd dependency-cache codec available=true","2026-09-19T19:11:04.7716449Z (node:401) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.","2026-09-19T19:11:04.7717046Z (Use `node --trace-deprecation ...` to show where the warning was created)","2026-09-19T19:11:06.8881364Z Cache Size: ~396 MB (414800553 B)","2026-09-19T19:11:06.8917506Z [command]/usr/bin/tar -xf /tmp/12a01092-11da-4556-801f-203bcd95cd13/cache.tzst -P -C /workspace/noel/KnockLaunchOS --use-compress-program unzstd","2026-09-19T19:11:14.2848165Z Cache restored successfully","2026-09-19T19:11:14.3969611Z Cache restored from key: knocklaunch-gate-node-v2-22.18.0-fabcb6392004cccb50494d3280e955188e7f72e89269a3fe81bacff9c4ad134e","2026-09-19T19:11:14.4980830Z frontend_job_cgroup_memory_limit=4294967296","2026-09-19T19:11:14.6882272Z Frontend release dependency cache hit; skipping duplicate npm ci","2026-09-19T19:11:14.8759188Z Fast UI release: skipping the private sourcemap generation pass; normal minification and exact live verification remain enabled.","2026-09-19T19:11:15.2121053Z ","2026-09-19T19:11:15.2121645Z > vite_react_shadcn_ts@0.0.0 build:cloudflare-native","2026-09-19T19:11:15.2121959Z > node scripts/cloudflare-native-preflight.mjs && node scripts/cloudflare-native-build.mjs && node scripts/cloudflare-native-prepare.mjs && node scripts/cloudflare-native-artifact-guard.mjs","2026-09-19T19:11:15.2122220Z ","2026-09-19T19:11:15.3019541Z {\"ok\":true,\"lane\":\"forgejo-runner-direct-wrangler\",\"worker\":\"knocklaunch-owner-production\",\"branch\":\"main\",\"sourceSha\":\"aaf63dded95df0d732846f600f8f639ba2b566b9\",\"buildUuid\":\"forgejo-10111-1\",\"publicEnvMode\":\"explicit_override_or_public_default_or_live_public_bootstrap\"}","2026-09-19T19:11:15.4056535Z {\"ok\":true,\"proofGate\":\"cloudflare_native_public_env_verified\",\"requiredVariableNames\":[\"VITE_SUPABASE_URL\",\"VITE_SUPABASE_PUBLISHABLE_KEY\",\"VITE_MAPBOX_PUBLIC_TOKEN\"],\"optionalVariableNames\":[\"VITE_PAYMENTS_CLIENT_TOKEN\"],\"explicitOverrideCount\":1,\"publicDefaultCount\":2,\"recoveredCount\":0,\"optionalMissingCount\":1,\"assetsInspected\":0,\"bytesInspected\":0,\"valuesExposed\":false}","2026-09-19T19:11:15.4057536Z {\"ok\":true,\"proofGate\":\"cloudflare_native_production_builder_selected\",\"builder\":\"vite@5.4.19\",\"builderSource\":\"repository_lockfile_node_modules\",\"bundler\":\"rollup\",\"minifier\":\"esbuild\",\"buildHeapMb\":2560,\"runnerClass\":\"heavy-4g\",\"runnerHostMemoryMb\":4096,\"runnerMemoryMb\":3584,\"reservedHeadroomMb\":1024,\"dependencyIsolation\":\"project_package_lock_and_local_node_modules_only\"}","2026-09-19T19:11:15.9532885Z [36mvite v5.4.19 [32mbuilding for production...[36m[39m","2026-09-19T19:11:16.0456574Z transforming...","2026-09-19T19:11:16.3117432Z [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`","2026-09-19T19:11:16.5412805Z Browserslist: browsers data (caniuse-lite) is 10 months old. Please run:","2026-09-19T19:11:16.5413360Z   npx update-browserslist-db@latest","2026-09-19T19:11:16.5413562Z   Why you should do it regularly: https://github.com/browserslist/update-db#readme","2026-09-19T19:11:39.8595930Z ","2026-09-19T19:11:39.8604254Z [1m[33mwarn[39m[22m - The class `duration-[350ms]` is ambiguous and matches multiple utilities.","2026-09-19T19:11:39.8607256Z [1m[33mwarn[39m[22m - If this is content and not a class, replace it with `duration-&lsqb;350ms&rsqb;` to silence this warning.","2026-09-19T19:12:49.1128366Z ⚙️ [runner]: context canceled\\nunable to copy \"/var/run/act/workflow/SUMMARY.md\" from container to host: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.52/containers/3073749cdb075c696325a33f900edfd42dd7a3ca3b7cd6bef538a3e4c8be71d2/archive?path=%2Fvar%2Frun%2Fact%2Fworkflow%2FSUMMARY.md\": context canceled\\nunable to copy \"/var/run/act/workflow/pathcmd.txt\" from container to host: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.52/containers/3073749cdb075c696325a33f900edfd42dd7a3ca3b7cd6bef538a3e4c8be71d2/archive?path=%2Fvar%2Frun%2Fact%2Fworkflow%2Fpathcmd.txt\": context canceled","2026-09-19T19:12:49.8334177Z 🏁  Job failed","2026-09-19T19:12:52.7524109Z context canceled",""],"proofGate":"forgejo_action_run_logs_verified","truncated":false,"failureLines":[{"line":153,"content":"2026-09-19T19:11:15.4056535Z {\"ok\":true,\"proofGate\":\"cloudflare_native_public_env_verified\",\"requiredVariableNames\":[\"VITE_SUPABASE_URL\",\"VITE_SUPABASE_PUBLISHABLE_KEY\",\"VITE_MAPBOX_PUBLIC_TOKEN\"],\"optionalVariableNames\":[\"VITE_PAYMENTS_CLIENT_TOKEN\"],\"explicitOverrideCount\":1,\"publicDefaultCount\":2,\"recoveredCount\":0,\"optionalMissingCount\":1,\"assetsInspected\":0,\"bytesInspected\":0,\"valuesExposed\":false}"},{"line":154,"content":"2026-09-19T19:11:15.4057536Z {\"ok\":true,\"proofGate\":\"cloudflare_native_production_builder_selected\",\"builder\":\"vite@5.4.19\",\"builderSource\":\"repository_lockfile_node_modules\",\"bundler\":\"rollup\",\"minifier\":\"esbuild\",\"buildHeapMb\":2560,\"runnerClass\":\"heavy-4g\",\"runnerHostMemoryMb\":4096,\"runnerMemoryMb\":3584,\"reservedHeadroomMb\":1024,\"dependencyIsolation\":\"project_package_lock_and_local_node_modules_only\"}"},{"line":165,"content":"2026-09-19T19:12:49.8334177Z 🏁  Job failed"}]},"exactSource":true,"fingerprint":"cancelled|release frontend|2026-09-19t19:11:15.4056535z {\"ok\":true,\"proofgate\":\"cloudflare_native_public_env_verified\",\"requiredvariablenames\":[\"vite_supabase_url\",\"vite_supabase_publishable_key\",\"vite_mapbox_public_token\"],\"optionalvariablenames\":[\"vite_payments_client_token\"],\"explicitoverridecount\":1,\"publicdefaultcount\":2,\"recoveredcount\":0,\"optionalmissingcount\":1,\"assetsinspected\":0,\"bytesinspected\":0,\"valuesexposed\":false}|2026-09-19t19:11:15.4057536z {\"ok\":true,\"proofgate\":\"cloudflare_native_production_builder_selected\",\"builder\":\"vite@5.4.19\",\"buildersource\":\"repository_lockfile_node_modules\",\"bundler\":\"rollup\",\"minifier\":\"esbuild\",\"buildheapmb\":2560,\"runnerclass\":\"heavy-4g\",\"runnerhostmemorymb\":4096,\"runnermemorymb\":3584,\"reservedheadroommb\":1024,\"dependencyisolation\":\"project_package_lock_and_local_node_modules_only\"}|2026-09-19t19:12:49.8334177z 🏁  job failed|2026-09-19t19:10:54.0355817z warning: pass a leading slash before paths such as 'tsconfig.json' if you want a singl","failureClass":"release_cancelled_transient","targetStates":{"frontend":"pending"},"safeAutoRetry":true,"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-19T19:15:58.247506+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"aaf63dded95df0d732846f600f8f639ba2b566b9","external_id":"forgejo-main-aaf63dded95d","receipt_type":"canonical_release_status","idempotency_key":"mission:c54e05f1-63c7-4c32-a884-ec3d09b0d61e:forgejo-release-status:aaf63dded95df0d732846f600f8f639ba2b566b9:failed:forgejo-main/source=success|forgejo-release/workflow=failure|frontend-cloudflare/live=pending","mission_step_id":"5f646ce0-7d2d-408d-a385-9681d1d7eb16","command_center_event_id":"c54e05f1-63c7-4c32-a884-ec3d09b0d61e"},{"id":"b9536d84-2a4b-4cbe-bb7d-bc3f26a4c5b1","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_authorization_required","fingerprint":"c0c30edb48ebca8b17b345ebd623a2c39baf5ea67a604622b3c0be10ab6fbfc1"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:18:14.844337+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:0edf75d8-a3a7-4a74-af76-d8488c68ed70:repository-mutation-intent-blocked:c0c30edb48ebca8b17b345ebd623a2c39baf5ea67a604622b3c0be10ab6fbfc1","mission_step_id":"35da0022-152d-4a4b-afca-a16baf77a99d","command_center_event_id":"0edf75d8-a3a7-4a74-af76-d8488c68ed70"},{"id":"b95497a8-4cdb-4b47-95ad-359b77958f66","source":"cc-execution","status":"verified","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","scripts/protected-main-release-recovery.mjs","workers/cc-execution/src/release-target-ownership.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"baseSha":"31965d939835034a028044574d079412e6779bcd","consumedAt":1788484760009,"consumerToken":"8ccf0511-b458-43ba-9780-6510891aa728","authorizationId":"50b914dc-a424-4ad1-9489-33e8fd5b5842"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T01:19:20.842123+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"31965d939835034a028044574d079412e6779bcd","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:50b914dc-a424-4ad1-9489-33e8fd5b5842","mission_step_id":"4e76b214-3fdd-4eec-9a8c-bd4a0552a9ea","command_center_event_id":"9ba8fd67-2054-4864-bfdc-13fe84cc1ef2"},{"id":"b9586b33-7511-432c-80e8-ca88f8590dc3","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/restore-big-papis-original-logo","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.66-repair-generation-continuation","prNumber":1950,"terminal":false,"missionId":"7afd0330-c4c4-47bf-b61e-4afc23372fc5","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"85f065f9d4a14bdad5465e054fa051e30740633a","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7286,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":862,"approvedPlanMs":0,"missionSetupMs":278,"providerAuthMs":0,"shipAndProveMs":5623,"ledgerPrepareMs":278,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":278,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":278,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"7afd0330-c4c4-47bf-b61e-4afc23372fc5"},"performance":null,"deploymentId":"forgejo-main-85f065f9d4a1","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":1477,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T14:53:40.325985+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"85f065f9d4a14bdad5465e054fa051e30740633a","external_id":"forgejo-main-85f065f9d4a1","receipt_type":"execute_mission","idempotency_key":"mission:7afd0330-c4c4-47bf-b61e-4afc23372fc5:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"9b38696c-06d1-4954-9498-b8b5fe6e4e47","command_center_event_id":"7afd0330-c4c4-47bf-b61e-4afc23372fc5"},{"id":"b961237d-0dba-4f7d-ae97-15b4250bb609","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-86fdf179be48","writes":[],"patches":[],"version":1,"approved":true,"missionId":"86fdf179-be48-4ae3-96b0-9501635259dd","objective":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/pcg-google-drive-media/index.ts","src/pages/card-grading/PCGWorkspace.tsx","src/pages/crm/PcgWorkspace.tsx"],"anchored_edits":[{"find":"export const FUNCTION_VERSION=\"1.2.0-pcg-pipeline-canary\";","path":"supabase/functions/pcg-google-drive-media/index.ts","replace":"export const FUNCTION_VERSION=\"1.3.0-drive-preview-cache\";"},{"find":"  const metaResponse=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?fields=id,name,mimeType,size,trashed,appProperties\",{headers:{Authorization:\"Bearer \"+google.accessToken}});","path":"supabase/functions/pcg-google-drive-media/index.ts","replace":"  const metaResponse=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?fields=id,name,mimeType,size,trashed,appProperties,thumbnailLink\",{headers:{Authorization:\"Bearer \"+google.accessToken}});"},{"find":"  const baseHeaders:Record<string,string>={...cors,\"Content-Type\":clean(meta.mimeType)||\"application/octet-stream\",\"Cache-Control\":\"public, max-age=300, s-maxage=3600\",\"Cross-Origin-Resource-Policy\":\"cross-origin\"};","path":"supabase/functions/pcg-google-drive-media/index.ts","replace":"  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\"};"},{"find":"public_delivery:\"signed_stream\"","path":"supabase/functions/pcg-google-drive-media/index.ts","replace":"public_delivery:\"signed_stream_with_preview_cache\""},{"find":"const DRIVE_MEDIA_FN=`${import.meta.env.VITE_SUPABASE_URL}/functions/v1/pcg-google-drive-media`;const CONCURRENCY=4;type DriveMedia={url:string;fileId:string};","path":"src/pages/card-grading/PCGWorkspace.tsx","replace":"const DRIVE_MEDIA_FN=`${import.meta.env.VITE_SUPABASE_URL}/functions/v1/pcg-google-drive-media`;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 CONCURRENCY=4;type DriveMedia={url:string;fileId:string};"},{"find":"card.front_image_url?<img src={card.front_image_url} alt=\"\" className=\"h-full w-full object-contain p-2\"/>","path":"src/pages/card-grading/PCGWorkspace.tsx","replace":"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\"/>"},{"find":"const PCG_STORE_IMAGE='https://images.squarespace-cdn.com/content/v1/6853034cd711cc2240276cf3/83d3ec70-169f-4d22-8916-15e422fb0e52/IMG_8156%2B%281%29.jpeg';","path":"src/pages/crm/PcgWorkspace.tsx","replace":"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'};"},{"find":"{image?<img src={image} alt=\"Graded card\" className=\"h-full w-full object-cover\"/>","path":"src/pages/crm/PcgWorkspace.tsx","replace":"{image?<img src={previewMediaUrl(image)} alt=\"Graded card\" loading=\"lazy\" decoding=\"async\" className=\"h-full w-full object-cover\"/>"}],"implementation":{"files":[],"writes":[]},"requestContract":{"valid":true,"intent":{"evidence":["Owner requires Anthony-owned storage with fast, high-quality image delivery."],"confidence":1,"compilation":{"stages":["owner_intent","scope","live_state","mutation_authority","affected_systems","dependencies","required_proof","release_plan"],"version":2,"explicit":true,"objective":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","proofKinds":["runtime"]},"rawUtterance":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","wordingChanged":false,"canonicalIntent":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","constraints":[{"id":"drive-master","statement":"Original PCG image blobs remain durably stored only in Anthony's Google Workspace Drive.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"no-duplicate-blobs","statement":"Do not persist duplicate original media blobs in Supabase Storage.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"full-resolution","statement":"Original/detail delivery remains full-resolution and Range-capable; previews are only for list/grid surfaces.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Production PCG media health identifies the preview-cache delivery version; Drive remains master storage; preview requests are supported; original signed delivery remains full-resolution; frontend lists request previews.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/pcg-google-drive-media/index.ts","src/pages/card-grading/PCGWorkspace.tsx","src/pages/crm/PcgWorkspace.tsx"],"requestContract":{"valid":true,"intent":{"evidence":["Owner requires Anthony-owned storage with fast, high-quality image delivery."],"confidence":1,"compilation":{"stages":["owner_intent","scope","live_state","mutation_authority","affected_systems","dependencies","required_proof","release_plan"],"version":2,"explicit":true,"objective":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","proofKinds":["runtime"]},"rawUtterance":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","wordingChanged":false,"canonicalIntent":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Complete PCG Drive-backed fast image delivery. Anthony's Google Workspace remains the sole durable owner of original PCG card images. In pcg-google-drive-media, fetch Drive thumbnailLink metadata for `variant=preview`, proxy the authenticated preview with long-lived cache headers and original fallback, keep full-resolution original streaming with Range support and stronger caching, expose a health/version marker for the upgraded delivery path, and update PCG card-list/grid image tags to request `variant=preview` with lazy async decoding while leaving stored original signed URLs unchanged. Do not persist duplicate image blobs in Supabase Storage. Ship through canonical Gate, squash merge, deploy frontend plus pcg-google-drive-media, and prove production.","constraints":[{"id":"drive-master","statement":"Original PCG image blobs remain durably stored only in Anthony's Google Workspace Drive.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"no-duplicate-blobs","statement":"Do not persist duplicate original media blobs in Supabase Storage.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"full-resolution","statement":"Original/detail delivery remains full-resolution and Range-capable; previews are only for list/grid surfaces.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Production PCG media health identifies the preview-cache delivery version; Drive remains master storage; preview requests are supported; original signed delivery remains full-resolution; frontend lists request previews.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[]},"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":"284c583057d96b3068aab4537a38344f3ce633fa29a6605e7fb65f025d2044a5","replayCount":0,"serializedBytes":18405},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T01:26:39.469164+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:86fdf179-be48-4ae3-96b0-9501635259dd:repository-mutation-intent:284c583057d96b3068aab4537a38344f3ce633fa29a6605e7fb65f025d2044a5:0","mission_step_id":"e986b087-857b-40e5-8cca-656d7511f89b","command_center_event_id":"86fdf179-be48-4ae3-96b0-9501635259dd"},{"id":"b9617e35-1df6-4e3a-85c1-6859b11c5dfa","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success","cc-execution/runtime-proof":"success","supabase-edge-production/live":"success"},"mainSha":"7ae623d1dcc28f31dec7ebecba8ccd778fd73088","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"7ae623d1dcc28f31dec7ebecba8ccd778fd73088","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["ai-respond","operator-respond"]},"releaseTargetStates":{"frontend":"success","ccExecution":"success","supabaseEdge":"success"},"requestContractHash":"2ff076160d30aef968861fc6d6ca99b53ee2d243e04c11d5d279d63cdde814e6","forgejoWorkflowProof":{"runId":13000,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success","ccExecution":"success","supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"success","ccExecution":"success","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"7ae623d1dcc28f31dec7ebecba8ccd778fd73088","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-7ae623d1dcc28f31dec7ebecba8ccd778fd73088","compareStatus":"target_job_success_runtime_verified","workflowRunId":13000,"identitySource":"canonical_release_target_job","runtimeVersion":"1.64.0-platform-sidekick-intelligence","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T05:11:26.317539+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"7ae623d1dcc28f31dec7ebecba8ccd778fd73088","external_id":"forgejo-main-7ae623d1dcc2","receipt_type":"canonical_release_status","idempotency_key":"mission:6d3a2677-78dd-41d2-b082-d13d7cc5fa9f:forgejo-release-status:7ae623d1dcc28f31dec7ebecba8ccd778fd73088:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"110af718-b708-4d07-a625-13bff2059c5c","command_center_event_id":"6d3a2677-78dd-41d2-b082-d13d7cc5fa9f"},{"id":"b9627122-0f56-420a-b467-01f4848f5bf5","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-current-control-plane-readiness","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":4512,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":576,"terminal":false,"missionId":"8bd701a1-eb07-479e-ad21-a563b917b0b4","operation":"automatic_mission_resume","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":"8bd701a1-eb07-479e-ad21-a563b917b0b4"},"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":599,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T19:32:45.256397+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"576","receipt_type":"automatic_mission_resume","idempotency_key":"mission:8bd701a1-eb07-479e-ad21-a563b917b0b4:automatic-mission-resume:576:canonical_release_transport_retryable","mission_step_id":"d716c1ba-d65a-4483-8f01-bc3a5b20b8c1","command_center_event_id":"8bd701a1-eb07-479e-ad21-a563b917b0b4"},{"id":"b9643ddc-d092-4250-b3ca-b5b1fc27d284","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"visual-sandbox","action":"verify_visual","reason":"release_verified_visual_proof_pending","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_wait_live_milestone\",\"status\":\"verified\",\"proofGate\":\"owner_wait_live_milestone_recorded\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"visual-sandbox\",\"reason\":\"release_verified_visual_proof_pending\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"visual-sandbox\"},\"acceptance\":{\"total\":2,\"verified\":1,\"pending\":1,\"percent\":50,\"satisfied\":false,\"verifiedIds\":[\"proof-production\"],\"pendingIds\":[\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-05T20:42:56.977964+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-06c187cb8df0\",\"prNumber\":4989,\"sourceSha\":\"3cecc4bed52e8c2a9b24bebbc1694aca1c6e8124\",\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:52:27.562805+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:06c187cb-8df0-46e7-8fdb-fe7dfe3c65fb:owner-progress-heartbeat:119414609","mission_step_id":"94f9991b-4948-4bd5-b09e-b01d2f2ec8b4","command_center_event_id":"06c187cb-8df0-46e7-8fdb-fe7dfe3c65fb"},{"id":"b964506a-8f2e-4d8e-8e2a-57630af979c1","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane only for the Visual Witness runner repair, expose actual-user and role projection through public inspect_route, add bounded transient status/cancel retry, ship and prove live specifically on Dharma Kedarnauth's protected Redfish record under a real active Redfish user, then freeze the control plane again.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane only for the Visual Witness runner repair, expose actual-user and role projection through public inspect_route, add bounded transient status/cancel retry, ship and prove live specifically on Dharma Kedarnauth's protected Redfish record under a real active Redfish user, then freeze the control plane again.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"maintenance-window","statement":"Unfreeze the control plane only for this Visual Witness repair and freeze the control plane again after live proof.","proofConditionIds":["gate","runtime","interaction","freeze"]},{"id":"actual-user-contract","statement":"Public inspect_route accepts and forwards actual-user and role projection inputs to the existing runner.","proofConditionIds":["repo","runtime","interaction"]},{"id":"status-retry","statement":"Status and cancel runner reads retry bounded transient 429, 5xx, or challenge responses without dropping durable mission identity.","proofConditionIds":["repo","gate"]},{"id":"live-proof","statement":"Dharma Kedarnauth's protected Redfish record loads under an actual active Redfish user projection and executes a safe Claims-tab click.","proofConditionIds":["interaction"]}],"objective":"Unfreeze the control plane only for the Visual Witness runner repair, expose actual-user and role projection through public inspect_route, add bounded transient status/cancel retry, ship and prove live specifically on Dharma Kedarnauth's protected Redfish record under a real active Redfish user, then freeze the control plane again.","constraints":[{"id":"security","statement":"Preserve authentication, tenant isolation, role validation, GodMode authority, and mutation safety while the control plane is temporarily unfrozen.","proofConditionIds":["repo","gate"]},{"id":"real-contact","statement":"Use Dharma Kedarnauth as the protected real-contact interaction target and do not substitute James Henderson or Patricia Nelson.","proofConditionIds":["interaction"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Exact source contains public actual-user schema pass-through and bounded transient runner job retry.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"gate","kind":"repository","claim":"KnockLaunch Gate passes exact repair head.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime","kind":"runtime","claim":"Live Command Center exposes the new inspect_route user and role inputs after release.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"interaction","kind":"interaction","claim":"Dharma Kedarnauth's protected Redfish record loads as an actual Redfish user and the Claims tab is clicked without mutating contact data.","route":"/redfish-roofing/leads/95fc090e-5761-4d32-b387-0308d074e524","required":true,"expectedText":null,"targetedActions":[{"id":"open-claims-tab","name":"Claims","role":"tab","type":"click","exact":true,"waitMs":800,"required":true}],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"freeze","kind":"runtime","claim":"Live control-plane capability truth reports the control plane frozen again after the repair proof.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"10ac254509bb05d205fd0e139e83d743e8bf6b84ceb91e0e7e0651ae178ae053","requestContractRevision":3,"previousRequestContractHash":"ed8ae5cd0aa70053eb94aec1760490aeaa8dd15871b41d57561dd99a68793dcf"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-01T12:14:23.041543+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:f8aefa23-cedb-444a-ac27-e663f82d22d3:request-contract-revision:3:10ac254509bb05d205fd0e139e83d743e8bf6b84ceb91e0e7e0651ae178ae053","mission_step_id":"2283cafb-c60f-4203-8afb-6da7977dc836","command_center_event_id":"f8aefa23-cedb-444a-ac27-e663f82d22d3"},{"id":"b9649328-5cbb-4965-85ca-f8dd11970ffb","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-e509c3ae2bc9","prNumber":4601,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"83b646cce4774a690753d03334dbcfa65b0b6063","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:55:13.575337+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"83b646cce4774a690753d03334dbcfa65b0b6063","external_id":"4601","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:e509c3ae-2bc9-4dcb-9bf2-d6243df5d7a0:merged-pr:4601:83b646cce4774a690753d03334dbcfa65b0b6063","mission_step_id":"4457e52d-7ad8-4e56-b1df-dd5bc55fc836","command_center_event_id":"e509c3ae-2bc9-4dcb-9bf2-d6243df5d7a0"},{"id":"b9667c1a-539a-4ad9-9c69-12f1ac555083","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"d1cf2b9b97f814e5dad84810f93107cf97aab4df","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"terminal-evidence","satisfied":true,"statement":"When a supervised Witness run is terminal, publicSupervisor returns terminalReceipt progress, checkpoint accounting, projection, route results, failed results, artifact receipts, proof gate, and failure state, falling back to activeReceipt only if terminalReceipt is absent.","proofConditionIds":["proof-runtime"]},{"id":"lab-canvas","satisfied":true,"statement":"The Lab activity feed receives the completed route screenshot evidence needed for the verified run canvas instead of a verified status with an empty placeholder.","proofConditionIds":["proof-runtime"]}],"satisfied":true,"constraints":[{"id":"active-preserved","satisfied":true,"statement":"For nonterminal supervised runs, activeReceipt remains authoritative so live progress and live evidence behavior do not regress.","proofConditionIds":["proof-runtime"]},{"id":"scope","satisfied":true,"statement":"Do not change authentication, tenant projection, status sanitization, Big Papi product UI, or unrelated Console behavior.","proofConditionIds":["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-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-runtime"]}],"contractHash":"607d363566db68dbe2366c347e77da072883b73c93d2bc7ad89d4d027f685343","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-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":"607d363566db68dbe2366c347e77da072883b73c93d2bc7ad89d4d027f685343"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T03:28:22.143186+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"d1cf2b9b97f814e5dad84810f93107cf97aab4df","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:0a00df36-4edc-41f6-a54d-ba2634c68b01:request-contract:607d363566db68dbe2366c347e77da072883b73c93d2bc7ad89d4d027f685343:d1cf2b9b97f814e5dad84810f93107cf97aab4df:verified:","mission_step_id":"58899ba3-11a4-40a9-a96d-79f2c58871c0","command_center_event_id":"0a00df36-4edc-41f6-a54d-ba2634c68b01"},{"id":"b966976b-b6e6-411a-b150-35556959233b","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.179-terminal-receipt-guard","prNumber":null,"terminal":false,"missionId":"cc3807e4-6a0c-4ae6-942e-81b659759c2b","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":7972,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":2163,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":7972,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":2163,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"cc3807e4-6a0c-4ae6-942e-81b659759c2b"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","interaction"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1296,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-17T18:27:21.671069+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:cc3807e4-6a0c-4ae6-942e-81b659759c2b:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"716d55d0-6811-4ac1-8153-7d7a270f3e3b","command_center_event_id":"cc3807e4-6a0c-4ae6-942e-81b659759c2b"},{"id":"b9669ac0-03ad-4d49-97c1-91c846b43eec","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-a2c9fd69a5a6","prNumber":3308,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"ec028021c257c3436381810b833a96dda2501edc","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T21:42:31.329182+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"ec028021c257c3436381810b833a96dda2501edc","external_id":"3308","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:a2c9fd69-a5a6-4122-82e3-75a700125b8e:merged-pr:3308:ec028021c257c3436381810b833a96dda2501edc","mission_step_id":"34625d1e-d79b-428d-b0c2-9c8c56d7a373","command_center_event_id":"a2c9fd69-a5a6-4122-82e3-75a700125b8e"},{"id":"b9674f80-d98c-4e68-a9fa-ab7cee1b8aaa","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Explicitly unfreeze the KNOCKLAUNCH control plane for this exact four-file corrective generation on reopened PR #3294. Align canonical config and regression coverage with the already-approved autonomous deterministic supervisor.","wordingChanged":false,"canonicalIntent":"Explicitly unfreeze the KNOCKLAUNCH control plane for this exact four-file corrective generation on reopened PR #3294. Align canonical config and regression coverage with the already-approved autonomous deterministic supervisor.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"single-brain","statement":"Cron, health telemetry, canonical config, and Gate invariants identify deterministic mission supervision as the only mission transition brain; aggressive recovery remains compatibility telemetry only.","proofConditionIds":["runtime-proof","gate-proof"]}],"objective":"Explicitly unfreeze the KNOCKLAUNCH control plane for this exact four-file corrective generation on reopened PR #3294. Align canonical config and regression coverage with the already-approved autonomous deterministic supervisor.","constraints":[{"id":"exact-unfreeze-scope","statement":"Owner explicitly authorizes control-plane unfreeze only for config/control-plane-capabilities.json, workers/cc-execution/src/entrypoint-owner-status.js, workers/cc-execution/src/version.js, and workers/cc-execution/test/release-orchestration-invariants.test.js.","proofConditionIds":["runtime-proof","gate-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":["runtime-proof","gate-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":["runtime-proof","gate-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"Live cc-execution version 1.58.193-autonomous-deterministic-supervisor reports deterministicMissionSupervisor telemetry with legacy aggressive recovery decision tree inactive.","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":"gate-proof","kind":"repository","claim":"Canonical Gate passes release-orchestration-invariants.test.js with deterministic autonomous supervisor as the canonical recovery primitive.","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":"Explicitly-unfreeze-the-KNOCKLAUNCH-control-plane-for-this-exact-four-file-corrective-generation-on-","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":["runtime-proof","gate-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":"61688b2eef87ae9e2ab5c53ca752ac818b92a85f925fa3bc5e2b217eb8db3aa4","requestContractRevision":4,"previousRequestContractHash":"be76ed631f8ee145a493c421fba3490586cd492f002c074893853d35985d00a7"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:24:15.975608+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:e037bf60-4a41-44d8-ac74-c3c951500cc3:request-contract:61688b2eef87ae9e2ab5c53ca752ac818b92a85f925fa3bc5e2b217eb8db3aa4","mission_step_id":"ac470618-8851-46d3-97bb-de7cfc5187e4","command_center_event_id":"e037bf60-4a41-44d8-ac74-c3c951500cc3"},{"id":"b967f698-1b4f-4d4a-a6c2-bd98dbff8b37","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success"},"mainSha":"0e181f5cd775730d72ac6660e59fca122698516c","missing":[],"pending":[],"required":["forgejo-main/source"],"sourceSha":"0e181f5cd775730d72ac6660e59fca122698516c","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"27e836da44cb15908446af64d9674708a8ecc2d8bb18dda07e1020006f484cfd","forgejoWorkflowProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T15:36:41.640159+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"0e181f5cd775730d72ac6660e59fca122698516c","external_id":"forgejo-main-0e181f5cd775","receipt_type":"canonical_release_status","idempotency_key":"mission:b4857b05-e928-4ebc-b05a-5427e250f144:forgejo-release-status:0e181f5cd775730d72ac6660e59fca122698516c:verified:forgejo-main/source=success","mission_step_id":"37a713f7-bc6b-444c-9bc9-af9ed21c2ffa","command_center_event_id":"b4857b05-e928-4ebc-b05a-5427e250f144"},{"id":"b96bc90a-1a65-4027-b604-46ea2960046f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-efe81c59df75","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":25595,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":8,"executorlessWaitMs":213758,"firstUsefulResultAt":"2026-09-25T22:52:48.754Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":"1.58.283-heavy-runner-labels","prNumber":3776,"terminal":false,"missionId":"efe81c59-df75-4ed9-b270-98054609505b","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2768,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":840,"missionSetupMs":441,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":324,"ledgerReconcileMs":0,"lineageReconcileMs":117,"resolvePreflightMs":441,"repositoryMutationMs":1928,"repositoryProviderMs":1928,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1824,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":324,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":104},"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":"efe81c59-df75-4ed9-b270-98054609505b"},"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":3032,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T22:54:05.443256+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3776","receipt_type":"execute_mission","idempotency_key":"mission:efe81c59-df75-4ed9-b270-98054609505b:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"b35eea77-2835-4cf1-8bad-f151c4d25093","command_center_event_id":"efe81c59-df75-4ed9-b270-98054609505b"},{"id":"b96e83ae-b4e0-4a89-9522-966e3094bc54","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e372d6c7d711","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":40776,"releaseCount":0,"toolCallCount":24,"repeatedCallCount":19,"executorlessWaitMs":278862,"firstUsefulResultAt":"2026-10-05T21:58:28.785Z","recoveryAttemptCount":19,"ownerInterruptionCount":0},"version":null,"prNumber":5073,"terminal":false,"missionId":"e372d6c7-d711-4900-9a32-7076612f6e73","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2143,"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":"e372d6c7-d711-4900-9a32-7076612f6e73"},"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-05T21:59:00.84211+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5073","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e372d6c7-d711-4900-9a32-7076612f6e73:automatic-mission-resume:5073:repair_mission_pr_ready_retryable","mission_step_id":"d39ea67f-20ce-46b5-a4b9-cc29d90fabe9","command_center_event_id":"e372d6c7-d711-4900-9a32-7076612f6e73"},{"id":"b96fe5fb-96d0-416d-a0a8-83b48367206b","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/fix-mission-control-conductor-contract","reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.3-conductor-bootstrap-recovery","prNumber":null,"terminal":false,"missionId":"d64c1719-944a-49f3-b91d-61c2d905eb19","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"d64c1719-944a-49f3-b91d-61c2d905eb19"},"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":659,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-12T13:04:12.905549+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d64c1719-944a-49f3-b91d-61c2d905eb19:execute_mission:repair_mission_execution_blocked","mission_step_id":"465385ab-28c9-4777-b22d-e097e06797e5","command_center_event_id":"d64c1719-944a-49f3-b91d-61c2d905eb19"},{"id":"b97169ad-2bee-4982-8a56-679f2372c6b1","source":"forgejo","status":"retryable","payload":{"branch":"ai/objective-first-repair-e8e203ee546b","merged":false,"prNumber":4203,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T03:45:40.912967+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":null,"external_id":"4203","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:e8e203ee-546b-4890-9145-d16945ec0415:closed-pr:4203:unmerged","mission_step_id":"17b8f544-fe70-4d35-baed-27386d7b1521","command_center_event_id":"e8e203ee-546b-4890-9145-d16945ec0415"},{"id":"b97181b6-9961-483d-a7a4-ddb26c424f6d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/cancelled-release-current-main","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2853,"terminal":false,"missionId":"6baac90f-0bb9-4761-9211-0c777fa8815f","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":661,"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":"6baac90f-0bb9-4761-9211-0c777fa8815f"},"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":1278,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T19:19:16.599617+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2853","receipt_type":"automatic_mission_resume","idempotency_key":"mission:6baac90f-0bb9-4761-9211-0c777fa8815f:automatic-mission-resume:2853:repair_mission_waiting_for_gate","mission_step_id":"285f1f63-cc60-4dba-b566-8bf34d403c7d","command_center_event_id":"6baac90f-0bb9-4761-9211-0c777fa8815f"},{"id":"b97186bd-e295-4d22-b2f0-5df0f10426c7","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-fc4b382dfbf3","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4429,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":61088,"firstUsefulResultAt":"2026-10-05T19:31:28.995Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.0-release-priority-base-aware-quarantine","prNumber":null,"terminal":false,"missionId":"fc4b382d-fbf3-4395-8941-b2aa4381b8a1","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3458,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":456,"providerAuthMs":0,"ledgerPrepareMs":456,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":456,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":456,"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":"fc4b382d-fbf3-4395-8941-b2aa4381b8a1"},"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":3655,"likelyAffectedFiles":["src/components/ui/universal-loading-screen.tsx","src/__tests__/contracts/tenant-loading-media-precedence.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T19:31:31.851062+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fc4b382d-fbf3-4395-8941-b2aa4381b8a1:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"42668300-87b3-4824-91b4-2c47fbe333ea","command_center_event_id":"fc4b382d-fbf3-4395-8941-b2aa4381b8a1"},{"id":"b97195f6-99c7-4a2b-bc37-f591ccf4e8e3","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"d9a5559d3aa4b2858e9785d1e3c94808a2207e91","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"The live Shell Library presents one selected shell at a time with a large premium preview, four slim choices, plain-English fit guidance, palette swatches, and one clear Use this shell action.","proofConditionIds":["proof-live"]},{"id":"outcome-2","satisfied":true,"statement":"Use this shell carries the chosen visual template into Tenant Builder and preserves that explicit choice unless the owner changes it.","proofConditionIds":["proof-live"]}],"satisfied":true,"constraints":[{"id":"constraint-1","satisfied":true,"statement":"Remove owner-facing implementation jargon such as provisioning layout keys, visual grammar, and route/data/permission ownership explanations from the Shell Library.","proofConditionIds":["proof-live"]},{"id":"constraint-2","satisfied":true,"statement":"Do not change shell persistence, tenant isolation, backend behavior, Supabase functions, auth, or runtime contracts.","proofConditionIds":["proof-live"]},{"id":"constraint-3","satisfied":true,"statement":"Release frontend only through the canonical Forgejo and Cloudflare path.","proofConditionIds":["proof-live"]}],"contractHash":"8eaf1b68cc08eec7cea057342a2c20f77c67d9be9d4d389a7446db3f037bcac1","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-live","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"8eaf1b68cc08eec7cea057342a2c20f77c67d9be9d4d389a7446db3f037bcac1"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T05:02:21.733749+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"d9a5559d3aa4b2858e9785d1e3c94808a2207e91","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:0acb1ac8-5bc6-4217-bc73-2f6e58281a6a:request-contract:8eaf1b68cc08eec7cea057342a2c20f77c67d9be9d4d389a7446db3f037bcac1:d9a5559d3aa4b2858e9785d1e3c94808a2207e91:verified:","mission_step_id":"90b5e8dc-d7a2-4160-b37e-7e0db36c0134","command_center_event_id":"0acb1ac8-5bc6-4217-bc73-2f6e58281a6a"},{"id":"b972add6-776d-47b1-a4c7-01474b62bd36","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-d4116f321e0e","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.63.0-mission-freedom-web-research","prNumber":null,"terminal":false,"missionId":"d4116f32-1e0e-4048-acb1-cbff17785236","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1193,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":360,"providerAuthMs":0,"ledgerPrepareMs":360,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":360,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":360,"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":"d4116f32-1e0e-4048-acb1-cbff17785236"},"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":4219,"likelyAffectedFiles":["src/routes/appRouteClassifier.ts","src/App.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:12:31.117881+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d4116f32-1e0e-4048-acb1-cbff17785236:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"3e7da560-3cd9-4ef1-ac81-5252789464b4","command_center_event_id":"d4116f32-1e0e-4048-acb1-cbff17785236"},{"id":"b972be21-67f3-4caf-a4d9-e4ba3b847479","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e0a990547641","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":24525,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"executorlessWaitMs":17992,"firstUsefulResultAt":"2026-09-25T12:32:26.243Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":3719,"terminal":false,"missionId":"e0a99054-7641-4222-aab5-1e5086e46cec","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"0e1bb523d4d350de10ae4b04a40290b4508bf254","timingsMs":{"prReadinessMs":404,"approvedPlanMs":0,"shipAndProveMs":2273,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"e0a99054-7641-4222-aab5-1e5086e46cec"},"performance":null,"deploymentId":"forgejo-main-0e1bb523d4d3","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"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":1844,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T12:33:02.343807+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3719","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e0a99054-7641-4222-aab5-1e5086e46cec:automatic-mission-resume:3719:canonical_release_reconciliation_pending","mission_step_id":"b12734de-08e6-48e1-98c5-985eb9642d5f","command_center_event_id":"e0a99054-7641-4222-aab5-1e5086e46cec"},{"id":"b97329f9-dad4-4bca-8607-555f46e97145","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/release-cross-ref-promotion-20260910","reason":"pull_request_checks_failed","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.94-mission-generation-terminality","prNumber":2314,"terminal":false,"missionId":"ccaf5826-e23a-490f-8208-f46ad705b40b","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":402,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":302,"approvedPlanMs":0,"missionSetupMs":534,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":335,"ledgerReconcileMs":0,"lineageReconcileMs":199,"resolvePreflightMs":534,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":335,"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":"ccaf5826-e23a-490f-8208-f46ad705b40b"},"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":2064,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T19:35:59.970746+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2314","receipt_type":"execute_mission","idempotency_key":"mission:ccaf5826-e23a-490f-8208-f46ad705b40b:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"ffd383e0-b0c5-4933-8831-971c30d355da","command_center_event_id":"ccaf5826-e23a-490f-8208-f46ad705b40b"},{"id":"b97365a7-793a-476d-85f8-4a5a0e3707bf","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-2552a8588e0e","reason":"retryable_provider_transport:pr_ready_timeout_budget_exhausted","status":"retryable","metrics":{"receiptBytes":45515,"releaseCount":0,"toolCallCount":19,"repeatedCallCount":15,"executorlessWaitMs":383180,"firstUsefulResultAt":"2026-10-02T19:21:01.035Z","recoveryAttemptCount":16,"ownerInterruptionCount":0},"version":null,"prNumber":4519,"terminal":false,"missionId":"2552a858-8e0e-4df7-ae75-df9ef2201231","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":3000,"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":"2552a858-8e0e-4df7-ae75-df9ef2201231"},"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":827,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T19:21:13.940106+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4519","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2552a858-8e0e-4df7-ae75-df9ef2201231:automatic-mission-resume:4519:repair_mission_pr_ready_retryable","mission_step_id":"9a451393-e253-40d4-a71b-c907e329ddd6","command_center_event_id":"2552a858-8e0e-4df7-ae75-df9ef2201231"},{"id":"b97ac403-b7df-4be8-9a37-15fea43e94b6","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-big-papi-promo-autoplay-20260824","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":6471,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.26-throughput-transport","prNumber":693,"terminal":false,"missionId":"026c676f-4485-4c80-b00e-ea792cdfa5cf","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":"026c676f-4485-4c80-b00e-ea792cdfa5cf"},"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":5038,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-24T21:59:15.058973+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"693","receipt_type":"execute_mission","idempotency_key":"mission:026c676f-4485-4c80-b00e-ea792cdfa5cf:execute_mission:canonical_release_transport_retryable","mission_step_id":"dd04ad1e-89b2-43a8-9eb7-91f2ba9309ae","command_center_event_id":"026c676f-4485-4c80-b00e-ea792cdfa5cf"},{"id":"b97b1946-06b5-41b7-b384-e08865c3dc91","source":"cc-execution","status":"recorded","payload":{"objective":"Repair the live Redfish Roofing tenant regression now. Replace only the stripped Redfish dashboard shell with a dense premium roofing operating hub that exposes the existing authoritative modules already in the repository, keeps mobile responsive, avoids unrelated tenants/infrastructure, ships frontend, and proves the live dashboard plus representative app routes.","tenantRef":"redfish-roofing","receivedAt":"2026-08-28T23:50:40.193Z","fingerprint":"6b21d789805e8a87d230fc72290e7ee09379ed7e68d7cc36db6c53bbb2dfc407","workstreamRef":"redfishroofing","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Repair the live Redfish Roofing tenant regression now. Replace only the stripped Redfish dashboard shell with a dense premium roofing operating hub that exposes the existing authoritative modules already in the repository, keeps mobile responsive, avoids unrelated tenants/infrastructure, ships frontend, and proves the live dashboard plus representative app routes.","wordingChanged":false,"canonicalIntent":"Repair the live Redfish Roofing tenant regression now. Replace only the stripped Redfish dashboard shell with a dense premium roofing operating hub that exposes the existing authoritative modules already in the repository, keeps mobile responsive, avoids unrelated tenants/infrastructure, ships frontend, and proves the live dashboard plus representative app routes.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"restore-redfish-capabilities","statement":"The Redfish dashboard exposes the existing roofing lead, sales, canvassing, production, field, communications, documents, money, reporting, team, automation, training, and settings modules instead of the stripped nine-card launcher.","proofConditionIds":["live-dashboard","route-customers","route-canvassing","route-jobs","route-billing"]},{"id":"preserve-redfish-shell","statement":"The restored hub remains a premium Redfish-specific responsive workspace rather than falling back to a generic command center.","proofConditionIds":["live-dashboard"]}],"objective":"Repair the live Redfish Roofing tenant regression now. Replace only the stripped Redfish dashboard shell with a dense premium roofing operating hub that exposes the existing authoritative modules already in the repository, keeps mobile responsive, avoids unrelated tenants/infrastructure, ships frontend, and proves the live dashboard plus representative app routes.","constraints":[{"id":"tenant-isolation","statement":"Do not change unrelated tenants or infrastructure.","proofConditionIds":["repository-scope"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repository-scope","kind":"repository","claim":"Only the RedfishRoofingDashboard source is changed for this repair.","route":"/redfish-roofing/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["frontend"]},{"id":"live-dashboard","kind":"runtime","claim":"Live Redfish dashboard shows restored operating hub.","route":"/redfish-roofing/dashboard","required":true,"expectedText":"All Redfish tools. Nothing hidden.","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["frontend"]},{"id":"route-customers","kind":"runtime","claim":"Redfish customers/leads route opens.","route":"/redfish-roofing/customers","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["frontend"]},{"id":"route-canvassing","kind":"runtime","claim":"Redfish canvassing route opens.","route":"/redfish-roofing/canvassing","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["frontend"]},{"id":"route-jobs","kind":"runtime","claim":"Redfish jobs route opens.","route":"/redfish-roofing/jobs","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["frontend"]},{"id":"route-billing","kind":"runtime","claim":"Redfish billing route opens.","route":"/redfish-roofing/billing","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":null,"conversationContext":null,"requestContractHash":"3dda04f455dc9701647f29e16526721c969439c979ef0057d79cee663a7b731f","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-28T23:50:41.289953+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:55dd6bfd-1aa7-4ac2-adc1-3f92830fd1ba:tenant-workstream-contribution:6b21d789805e8a87d230fc72290e7ee09379ed7e68d7cc36db6c53bbb2dfc407","mission_step_id":null,"command_center_event_id":"55dd6bfd-1aa7-4ac2-adc1-3f92830fd1ba"},{"id":"b97b7a78-505d-402a-8ad5-2dd4ea1dd3e7","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-reduce-overtransparency-20260825","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":1154,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.35-defer-existing-pr-refresh","prNumber":728,"terminal":false,"missionId":"526f9a53-d28f-45da-bf72-fe51cb7ad409","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":"526f9a53-d28f-45da-bf72-fe51cb7ad409"},"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":5097,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T05:03:35.627015+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"728","receipt_type":"execute_mission","idempotency_key":"mission:526f9a53-d28f-45da-bf72-fe51cb7ad409:execute_mission:canonical_release_transport_retryable","mission_step_id":"3b52dfba-775c-4bfa-98da-e5c0b1a2b09a","command_center_event_id":"526f9a53-d28f-45da-bf72-fe51cb7ad409"},{"id":"b97c0940-f40d-4fe7-8fbd-06e1302188bb","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-bf688521a4b8","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.179-terminal-receipt-guard","prNumber":3033,"terminal":false,"missionId":"bf688521-a4b8-4905-b11a-dd615cf361ee","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2157,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1237,"approvedPlanMs":0,"missionSetupMs":1411,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":669,"ledgerReconcileMs":0,"lineageReconcileMs":742,"resolvePreflightMs":1411,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":669,"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":"bf688521-a4b8-4905-b11a-dd615cf361ee"},"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":1971,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T20:18:25.484683+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3033","receipt_type":"execute_mission","idempotency_key":"mission:bf688521-a4b8-4905-b11a-dd615cf361ee:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"58bbd356-7fb1-4086-be95-bcbf8de4c81f","command_center_event_id":"bf688521-a4b8-4905-b11a-dd615cf361ee"},{"id":"b97d5c28-b8b7-4e21-abd5-29f505d46e15","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-e029a3192ea9","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":14281,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-30T04:10:28.673Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":4214,"terminal":false,"missionId":"e029a319-2ea9-4822-813f-1ae26d0810ac","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4985,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1418,"missionSetupMs":319,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":319,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":319,"repositoryMutationMs":3567,"repositoryProviderMs":3567,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2318,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":319,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1249},"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":"e029a319-2ea9-4822-813f-1ae26d0810ac"},"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":3544,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T04:10:34.749615+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4214","receipt_type":"execute_mission","idempotency_key":"mission:e029a319-2ea9-4822-813f-1ae26d0810ac:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"3d39b7a9-6cf7-4c21-85eb-9219c9f4bdff","command_center_event_id":"e029a319-2ea9-4822-813f-1ae26d0810ac"},{"id":"b980dc16-2a76-47d4-90d7-77ff821b6a42","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"b7f613302a853290fb4ada4c18be98dcd980cf0d","sourceSha":"7c31f400eafbc0c1eebff4b3c69b1c234acb2439","sourceInMain":false,"compareStatus":"main_history_page_inconclusive","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T13:34:28.586463+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"7c31f400eafbc0c1eebff4b3c69b1c234acb2439","external_id":"canonical-release-7c31f400eafb","receipt_type":"canonical_release_status","idempotency_key":"mission:37d69cf2-508f-4d1e-8017-305a6dbe863b:forgejo-release-ancestry:7c31f400eafbc0c1eebff4b3c69b1c234acb2439:b7f613302a853290fb4ada4c18be98dcd980cf0d:main_history_page_inconclusive","mission_step_id":"08a952ec-3c12-40bc-a139-02e38274ac0d","command_center_event_id":"37d69cf2-508f-4d1e-8017-305a6dbe863b"},{"id":"b98208b0-7c10-4873-97b2-de02047fe4b6","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"10bb55e0-3ffb-45d6-b0ff-e1f349b8563c","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-a473d2ab1d3f","reason":null,"status":"pending","metrics":{"receiptBytes":39211,"releaseCount":0,"toolCallCount":24,"repeatedCallCount":15,"executorlessWaitMs":4338482,"firstUsefulResultAt":"2026-09-27T20:42:50.079Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3904,"terminal":false,"missionId":"a473d2ab-1d3f-4e82-b34c-2fefe2ec4d37","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"6921a2386a42e1760b44f56dddcf56bc2c1972cb","timingsMs":{"queue":305,"total":478,"execution":173},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"a473d2ab-1d3f-4e82-b34c-2fefe2ec4d37"},"performance":null,"deploymentId":"forgejo-main-6921a2386a42","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"10bb55e0-3ffb-45d6-b0ff-e1f349b8563c","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"10bb55e0-3ffb-45d6-b0ff-e1f349b8563c","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/admin/console","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12318,"releaseTargets":{"frontend":true,"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":1756,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:55:09.97053+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"6921a2386a42e1760b44f56dddcf56bc2c1972cb","external_id":"10bb55e0-3ffb-45d6-b0ff-e1f349b8563c","receipt_type":"visual_proof_started","idempotency_key":"mission:a473d2ab-1d3f-4e82-b34c-2fefe2ec4d37:visual-start:10bb55e0-3ffb-45d6-b0ff-e1f349b8563c","mission_step_id":"502e4070-f95e-4235-8a54-bd9f8b3aa42a","command_center_event_id":"a473d2ab-1d3f-4e82-b34c-2fefe2ec4d37"},{"id":"b9823aaa-d7ce-4f80-8147-a4348cd3a6d1","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:48:54.951887+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:119417955","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"b984e806-8142-4573-b12c-c746cdbb8606","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b5ad5b28af0a","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":79925,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":4,"executorlessWaitMs":1010449,"firstUsefulResultAt":"2026-09-28T23:14:21.034Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":4055,"terminal":false,"missionId":"b5ad5b28-af0a-4ec1-a03a-c76c23cabe23","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"a113e7bc458defbc429fb3e3abb4f1bfeeea9404","timingsMs":{"prReadinessMs":673,"approvedPlanMs":0,"shipAndProveMs":3070,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"b5ad5b28-af0a-4ec1-a03a-c76c23cabe23"},"performance":null,"deploymentId":"forgejo-main-a113e7bc458d","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":1912,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T23:31:40.22056+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4055","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b5ad5b28-af0a-4ec1-a03a-c76c23cabe23:automatic-mission-resume:4055:canonical_release_reconciliation_pending","mission_step_id":"ef2a5f37-e8ac-4c41-be54-ab56a96660f7","command_center_event_id":"b5ad5b28-af0a-4ec1-a03a-c76c23cabe23"},{"id":"b989dcef-4cf9-4c5c-bdd4-5d3adb47193d","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/editable-map-controls-and-parcel-options-r202608032358","reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.5-truthful-release-correlation","prNumber":3922,"terminal":false,"missionId":"b3102df2-2bcc-4fc3-95b4-ffe03a2461d3","operation":"execute_mission","proofGate":"ship_and_prove_release_pending","sourceSha":"c6f2b526ca5fe0e0c61651004e275ff125f9f0ff","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"b3102df2-2bcc-4fc3-95b4-ffe03a2461d3"},"performance":null,"deploymentId":"canonical-release-c6f2b526ca5f","workflowRunId":30864063485,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"sourceReceiptBytes":3510,"ownerActionRequired":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-03T23:58:42.991085+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"c6f2b526ca5fe0e0c61651004e275ff125f9f0ff","external_id":"canonical-release-c6f2b526ca5f","receipt_type":"execute_mission","idempotency_key":"mission:b3102df2-2bcc-4fc3-95b4-ffe03a2461d3:execute_mission:ship_and_prove_release_pending","mission_step_id":"e762a571-f819-489c-870a-47022e5c2dc1","command_center_event_id":"b3102df2-2bcc-4fc3-95b4-ffe03a2461d3"},{"id":"b98b5066-b46a-451f-b069-087be738e994","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mtgo5d9b","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":14907,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":4,"ownerInterruptionCount":0},"version":"1.56.5-premium-motion-source-targets","prNumber":1182,"terminal":false,"missionId":"ab1d7126-7881-4fc6-ad21-9c1e78058e8a","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":18249,"prReadinessMs":18129,"approvedPlanMs":0,"missionSetupMs":1072,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"ab1d7126-7881-4fc6-ad21-9c1e78058e8a"},"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":1807,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-31T03:23:11.761086+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1182","receipt_type":"execute_mission","idempotency_key":"mission:ab1d7126-7881-4fc6-ad21-9c1e78058e8a:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"0af36e10-6838-49d7-aab7-294b9207954c","command_center_event_id":"ab1d7126-7881-4fc6-ad21-9c1e78058e8a"},{"id":"b98d034e-0fec-46b0-a57a-9d01686a0e37","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"0ff44013f6401e288e71cc6f543c300253ba2596","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"0ff44013f6401e288e71cc6f543c300253ba2596","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"0035048225bb9d6e8332a336227814b3d22ff732adc189305a992847ec2894b7","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3974","runId":3974,"status":"waiting","sourceSha":"0ff44013f6401e288e71cc6f543c300253ba2596","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-01T11:28:47.454237+00:00","proof_gate":"canonical_release_pending","source_sha":"0ff44013f6401e288e71cc6f543c300253ba2596","external_id":"forgejo-main-0ff44013f640","receipt_type":"canonical_release_status","idempotency_key":"mission:644c46c5-821e-4b48-9264-991f32c52759:forgejo-release-status:0ff44013f6401e288e71cc6f543c300253ba2596:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"e2c6c5af-521f-417a-bbad-3bc7eeb05d0e","command_center_event_id":"644c46c5-821e-4b48-9264-991f32c52759"},{"id":"b9928a04-568b-45f9-8f54-addc1f9949cf","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"boring-control-plane","reason":"invalid_ai_branch","status":"retryable","metrics":{"receiptBytes":16464,"releaseCount":0,"toolCallCount":18,"repeatedCallCount":13,"executorlessWaitMs":820050,"firstUsefulResultAt":"2026-10-06T19:36:09.906Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":5228,"terminal":false,"missionId":"b65ba8ed-48a3-4fd6-af24-a123af297202","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":"b31fbb48c954515a085210361d930e1b4b8cf9ab","timingsMs":{"prReadinessMs":100,"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":"b65ba8ed-48a3-4fd6-af24-a123af297202"},"performance":null,"deploymentId":null,"releaseState":"pending","workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false},"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":736,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:36:16.463651+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5228","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b65ba8ed-48a3-4fd6-af24-a123af297202:automatic-mission-resume:5228:repair_mission_pr_ready_retryable","mission_step_id":"2696b331-fb24-438f-a612-78593e842ffd","command_center_event_id":"b65ba8ed-48a3-4fd6-af24-a123af297202"},{"id":"b9963776-0092-41f4-8e89-1c021397be7f","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\":\"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\":\"release\",\"deadlineAt\":\"2026-10-05T17:44:44.190545+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-911bc3a670f0\",\"prNumber\":4927,\"sourceSha\":\"b95b63e73436abef3728ddc270b8a20273945958\",\"deploymentId\":\"forgejo-main-b95b63e73436\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:26:49.060887+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:911bc3a6-70f0-4ab3-b463-bb05311024bc:owner-progress-heartbeat:119414267","mission_step_id":"db51fc78-229d-4243-a241-6b1283e12f19","command_center_event_id":"911bc3a6-70f0-4ab3-b463-bb05311024bc"},{"id":"b99c761b-3d1c-4cfe-b5dd-381424f4a97a","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"pcg_commerce_grading","disposition":"superseded_execution_attempt","previousStatus":"retryable","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"fc7fa43d-7d22-d6ce-91d5-49fd0e3041dd"},"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:ee42d05a-9ae3-4e3c-bba7-b510735e97f4","mission_step_id":null,"command_center_event_id":"ee42d05a-9ae3-4e3c-bba7-b510735e97f4"},{"id":"b9a2ce48-568a-47cb-a1ae-88216edd25f6","source":"forgejo","status":"retryable","payload":{"branch":"ai/objective-first-repair-3cc620944e5e","merged":false,"prNumber":4388,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T18:57:57.463597+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":null,"external_id":"4388","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:3cc62094-4e5e-4485-b47a-85d29e68afcd:closed-pr:4388:unmerged","mission_step_id":"1a036c9e-a74b-41fc-bf2b-62e39065cc7b","command_center_event_id":"3cc62094-4e5e-4485-b47a-85d29e68afcd"},{"id":"b9a6bd77-3b6c-46f4-8f03-7d38b65805fc","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/big-papis-overlay-60-20260820","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.48.9-single-mutation-lane","prNumber":null,"terminal":false,"missionId":"55f7c2b9-5aa2-4186-865a-e75ea2aaa7aa","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"55f7c2b9-5aa2-4186-865a-e75ea2aaa7aa"},"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":3603,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T13:55:45.854027+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:55f7c2b9-5aa2-4186-865a-e75ea2aaa7aa:execute_mission:repair_mission_execution_retryable","mission_step_id":"adeaba8b-db0a-42ab-bacd-14f126e5d0d5","command_center_event_id":"55f7c2b9-5aa2-4186-865a-e75ea2aaa7aa"},{"id":"b9a79b23-b54c-434d-be15-f764e1a5cbe5","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0c674ae01c3e","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.113-orphan-cache-absence-proof","prNumber":null,"terminal":false,"missionId":"0c674ae0-1c3e-42e8-9fa3-8bcb9891a26d","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":22384,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":616,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":263,"ledgerReconcileMs":0,"lineageReconcileMs":353,"resolvePreflightMs":616,"repositoryMutationMs":22384,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":263,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0c674ae0-1c3e-42e8-9fa3-8bcb9891a26d"},"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":1563,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T00:44:33.435074+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0c674ae0-1c3e-42e8-9fa3-8bcb9891a26d:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"000c6eaa-422e-48e1-80a6-6f83b178b083","command_center_event_id":"0c674ae0-1c3e-42e8-9fa3-8bcb9891a26d"},{"id":"b9a90694-be9a-4698-adfa-6f48e51dd6f3","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:supabase/functions/operator-respond/index.ts","fingerprint":"37fe363204fd8373780cfefeb57ed5383a6854784b1e988013c5e0cc51839b94"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T16:35:28.009562+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:e168db68-ddf8-4737-84d5-e6002e187d38:repository-mutation-intent-blocked:37fe363204fd8373780cfefeb57ed5383a6854784b1e988013c5e0cc51839b94","mission_step_id":"455c9717-a616-46e4-a2cf-987ff44968e1","command_center_event_id":"e168db68-ddf8-4737-84d5-e6002e187d38"},{"id":"b9a94afa-36d4-4a2d-8176-8eba65bba34f","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-ea1aee12ad72","prNumber":4856,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"edb50262f47e3a9af5c3c9443044862c3b3c4da6","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T21:18:55.608181+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"edb50262f47e3a9af5c3c9443044862c3b3c4da6","external_id":"4856","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:ea1aee12-ad72-4c99-a1e1-9c3be153cfaa:merged-pr:4856:edb50262f47e3a9af5c3c9443044862c3b3c4da6","mission_step_id":"3e97ff5b-e070-4e4c-b9ec-d889cb1de4df","command_center_event_id":"ea1aee12-ad72-4c99-a1e1-9c3be153cfaa"},{"id":"b9a9fbb3-fb75-4ecc-b98b-a8d62f9977ed","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"b30496a836bc31b208b53edf24b1bf834a318910","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"b30496a836bc31b208b53edf24b1bf834a318910","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":"03a7287f52803c55ab203941db960f11696692a5a96f517f6a6eae34c574231d","forgejoWorkflowProof":{"runId":9469,"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-18T04:07:56.858166+00:00","proof_gate":"canonical_release_pending","source_sha":"b30496a836bc31b208b53edf24b1bf834a318910","external_id":"forgejo-main-b30496a836bc","receipt_type":"canonical_release_status","idempotency_key":"mission:45c706c8-0173-432b-99ad-6db1cb3f6806:forgejo-release-status:b30496a836bc31b208b53edf24b1bf834a318910:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"98d97c9b-c2af-4d13-aa40-f8612d187d1e","command_center_event_id":"45c706c8-0173-432b-99ad-6db1cb3f6806"},{"id":"b9abaaa6-8d8f-4241-9eac-1e2839ff031d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/visual-witness-quick-capture-unblock-20260906","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1988,"terminal":false,"missionId":"b42396ae-109e-4a1a-a5f7-dcc57ed7dceb","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1604,"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":"b42396ae-109e-4a1a-a5f7-dcc57ed7dceb"},"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":1294,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T19:52:31.9083+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1988","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b42396ae-109e-4a1a-a5f7-dcc57ed7dceb:automatic-mission-resume:1988:repair_mission_waiting_for_gate","mission_step_id":"dbd484eb-6ef5-42c5-a665-547a8cd2dc21","command_center_event_id":"b42396ae-109e-4a1a-a5f7-dcc57ed7dceb"},{"id":"b9ad214c-9ed4-4fd6-9af5-43d034a259d3","source":"cc-execution","status":"repair_prepared","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/premium-sce-route-redesign","reason":null,"status":"repair_prepared","metrics":{"receiptBytes":3017,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":4052,"terminal":false,"missionId":"d0179f06-5a63-4f59-b60e-20eaa17e438f","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":null,"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"d0179f06-5a63-4f59-b60e-20eaa17e438f"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":918,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-05T13:49:12.240111+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"4052","receipt_type":"execute_mission","idempotency_key":"mission:d0179f06-5a63-4f59-b60e-20eaa17e438f:execute_mission:repair_mission_prepared","mission_step_id":"06506c02-5680-469a-8351-f40a5c29a8ec","command_center_event_id":"d0179f06-5a63-4f59-b60e-20eaa17e438f"},{"id":"b9aea229-3203-4efc-98aa-ae36acc5f2e3","source":"cc-execution","status":"recorded","payload":{"objective":"Ship and prove noel/KnockLaunchOS PR #378","tenantRef":"big-papis","receivedAt":"2026-08-18T16:40:41.016Z","fingerprint":"afa1e5ded459dc3a69603e5f9163390216c3027232e6b7e551be73ea9bac95c7","workstreamRef":"bigpapis","conversationId":null,"canonicalBranch":"ai/big-papis-proposal-generator","requestedBranch":null,"conversationContext":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-18T16:34:34.114805+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:6982e0d3-4b85-4db4-8a28-75e56da4c951:tenant-workstream-contribution:afa1e5ded459dc3a69603e5f9163390216c3027232e6b7e551be73ea9bac95c7","mission_step_id":"dc022e07-2af4-41e3-9b26-9a7920f5c01a","command_center_event_id":"6982e0d3-4b85-4db4-8a28-75e56da4c951"},{"id":"b9b06705-7a30-47dc-bbb8-ce0813b10f0e","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/tenant-readiness-syntax-fix-20260913","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.126-forgejo-bounded-retry","prNumber":null,"terminal":false,"missionId":"62c7b95d-cc16-4a15-8cbd-35a66a3ec643","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":19021,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":483,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":327,"ledgerReconcileMs":0,"lineageReconcileMs":156,"resolvePreflightMs":483,"repositoryMutationMs":19021,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":327,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"62c7b95d-cc16-4a15-8cbd-35a66a3ec643"},"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":1563,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T16:38:09.590224+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:62c7b95d-cc16-4a15-8cbd-35a66a3ec643:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"1d650ab7-4e89-4eed-8bb9-518a528ca2e4","command_center_event_id":"62c7b95d-cc16-4a15-8cbd-35a66a3ec643"},{"id":"b9b35035-8585-4f09-8cbe-8502e832b01c","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/execution-contract-invariants.js","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/source-discovery-policy.js","workers/cc-execution/src/version.js","workers/cc-execution/test/execution-contract-callsite-enforcement.test.js","workers/cc-execution/test/source-discovery-policy.test.js"],"reason":"Owner-authorized repair of repository inspection scope precedence and cross-family source evidence after 1.58.233 live regression.","baseSha":"8698b71867162915b662db8e7adbf4cd108bf443","issuedAt":1790224242789,"expiresAt":1790224422789,"missionId":"4d9f6cc3-d7b3-4c59-aa49-725867a5e65d","authorizationId":"415fe10b-04ba-4803-b7b6-f14d4a2bb06e","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:30:43.085158+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"8698b71867162915b662db8e7adbf4cd108bf443","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:415fe10b-04ba-4803-b7b6-f14d4a2bb06e","mission_step_id":"6e5a4905-adaf-4930-854d-f4eba6adb920","command_center_event_id":"4d9f6cc3-d7b3-4c59-aa49-725867a5e65d"},{"id":"b9b3b325-0311-4b77-8796-a96e80664bb6","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/fix-canonical-release-dispatch-20260803-r202608032050","reason":"pull_request_merge_failed:405:Pull Request is still a draft","status":"blocked","metrics":{"receiptBytes":937,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.2-deferred-visual-proof","prNumber":3905,"terminal":true,"missionId":"c28f9a42-febb-40a6-9150-635f763d186d","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"c28f9a42-febb-40a6-9150-635f763d186d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"sourceReceiptBytes":1016,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-03T20:50:09.096517+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"3905","receipt_type":"execute_mission","idempotency_key":"mission:c28f9a42-febb-40a6-9150-635f763d186d:execute_mission:canonical_release_blocked","mission_step_id":"a605e5a0-3e66-4bfa-856f-a8fcb7123e47","command_center_event_id":"c28f9a42-febb-40a6-9150-635f763d186d"},{"id":"b9b3cb00-358b-412c-80bd-90bc14a402ae","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b","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":"61688b2eef87ae9e2ab5c53ca752ac818b92a85f925fa3bc5e2b217eb8db3aa4","forgejoWorkflowProof":{"runId":10332,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b","compareStatus":"target_job_success_runtime_verified","workflowRunId":10332,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.193-autonomous-deterministic-supervisor","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:27:07.087824+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b","external_id":"forgejo-main-603c85a1a2c4","receipt_type":"canonical_release_status","idempotency_key":"mission:e037bf60-4a41-44d8-ac74-c3c951500cc3:forgejo-release-status:603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"1d679bef-801c-4620-a74a-6808087ba132","command_center_event_id":"e037bf60-4a41-44d8-ac74-c3c951500cc3"},{"id":"b9b3cda6-db3e-447f-bca4-3c75a4cbe890","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.32-owner-contract-auto-hydration","prNumber":null,"terminal":false,"missionId":"7f7877b7-f9f8-47ad-b7b9-26f53f4cf60b","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1443,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":575,"providerAuthMs":0,"ledgerPrepareMs":575,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":575,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":575,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"7f7877b7-f9f8-47ad-b7b9-26f53f4cf60b"},"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":1177,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T09:32:41.49022+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7f7877b7-f9f8-47ad-b7b9-26f53f4cf60b:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"5e18db92-37a4-4ea1-9016-fc14b6db1ddd","command_center_event_id":"7f7877b7-f9f8-47ad-b7b9-26f53f4cf60b"},{"id":"b9b3f941-17ff-4496-b2c4-7d04fc424e56","source":"cc-execution","status":"recorded","payload":{"objective":"Recover Big Papi's owner tenancy from the regressions proven in this conversation. Change only the four exact files supplied. Proposal: use the clean modern cream/pastel customer layout reflected in the owner's uploaded MVGives reference, no ornate outer frame; lock the logo to the same approved NO ICEY LOGO.png asset used by current BigPapisComingSoon; bump the proposal template from v6 to v7 so every v6 saved PDF is stale and must be regenerated before it can be treated/sent as current; keep the PDF capture offscreen and preserve all pricing/data/PDF logic. Today: preserve every current useful section (new inquiry, greeting/stats, next move, action center, advanced dashboard link), restore Inventory and Mail as visible quick actions, and restore the three-day schedule with Utica weather plus click-to-expand event cards that reveal time/location/description and explicit Open event/Event Day actions without navigating on the card click. Add contract assertions so the canonical logo, v7 invalidation, weather strip, expandable events, Inventory/Mail quick actions, and existing Event Day closeout cannot silently regress. One PR, KnockLaunch Gate, squash merge, frontend-only Cloudflare release, then claim-matched production proof on proposal and Today. Do not remove or redesign unrelated tenant features.","tenantRef":"big-papis","receivedAt":"2026-08-30T15:05:59.228Z","fingerprint":"e2d438fb979eacf235e7e62159919816953c9e7ebf5eafd8fdc0fac5076c47f7","workstreamRef":"bigpapis","conversationId":null,"canonicalBranch":"ai/recover-big-papis-proposal-today-20260830","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Recover Big Papi's owner tenancy from the regressions proven in this conversation. Change only the four exact files supplied. Proposal: use the clean modern cream/pastel customer layout reflected in the owner's uploaded MVGives reference, no ornate outer frame; lock the logo to the same approved NO ICEY LOGO.png asset used by current BigPapisComingSoon; bump the proposal template from v6 to v7 so every v6 saved PDF is stale and must be regenerated before it can be treated/sent as current; keep the PDF capture offscreen and preserve all pricing/data/PDF logic. Today: preserve every current useful section (new inquiry, greeting/stats, next move, action center, advanced dashboard link), restore Inventory and Mail as visible quick actions, and restore the three-day schedule with Utica weather plus click-to-expand event cards that reveal time/location/description and explicit Open event/Event Day actions without navigating on the card click. Add contract assertions so the canonical logo, v7 invalidation, weather strip, expandable events, Inventory/Mail quick actions, and existing Event Day closeout cannot silently regress. One PR, KnockLaunch Gate, squash merge, frontend-only Cloudflare release, then claim-matched production proof on proposal and Today. Do not remove or redesign unrelated tenant features.","wordingChanged":false,"canonicalIntent":"Recover Big Papi's owner tenancy from the regressions proven in this conversation. Change only the four exact files supplied. Proposal: use the clean modern cream/pastel customer layout reflected in the owner's uploaded MVGives reference, no ornate outer frame; lock the logo to the same approved NO ICEY LOGO.png asset used by current BigPapisComingSoon; bump the proposal template from v6 to v7 so every v6 saved PDF is stale and must be regenerated before it can be treated/sent as current; keep the PDF capture offscreen and preserve all pricing/data/PDF logic. Today: preserve every current useful section (new inquiry, greeting/stats, next move, action center, advanced dashboard link), restore Inventory and Mail as visible quick actions, and restore the three-day schedule with Utica weather plus click-to-expand event cards that reveal time/location/description and explicit Open event/Event Day actions without navigating on the card click. Add contract assertions so the canonical logo, v7 invalidation, weather strip, expandable events, Inventory/Mail quick actions, and existing Event Day closeout cannot silently regress. One PR, KnockLaunch Gate, squash merge, frontend-only Cloudflare release, then claim-matched production proof on proposal and Today. Do not remove or redesign unrelated tenant features.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"proposal-recovery","statement":"Big Papi proposals use the clean modern cream/pastel layout, the approved NO ICEY logo, and no ornate outer frame; preview and PDF capture use the same renderer.","proofConditionIds":["proposal-runtime","proposal-visual"]},{"id":"proposal-artifact-contract","statement":"The proposal template is v7, making old v6 customer PDFs stale so they cannot be presented or sent as the current customer artifact without regeneration.","proofConditionIds":["proposal-runtime"]},{"id":"today-preserve-and-restore","statement":"Today preserves its current useful operating sections and visibly includes Events, Customers, Money, Inventory, Mail and More quick access plus a three-day schedule with weather and click-to-expand event cards.","proofConditionIds":["today-runtime","today-visual"]}],"objective":"Recover Big Papi's owner tenancy from the regressions proven in this conversation. Change only the four exact files supplied. Proposal: use the clean modern cream/pastel customer layout reflected in the owner's uploaded MVGives reference, no ornate outer frame; lock the logo to the same approved NO ICEY LOGO.png asset used by current BigPapisComingSoon; bump the proposal template from v6 to v7 so every v6 saved PDF is stale and must be regenerated before it can be treated/sent as current; keep the PDF capture offscreen and preserve all pricing/data/PDF logic. Today: preserve every current useful section (new inquiry, greeting/stats, next move, action center, advanced dashboard link), restore Inventory and Mail as visible quick actions, and restore the three-day schedule with Utica weather plus click-to-expand event cards that reveal time/location/description and explicit Open event/Event Day actions without navigating on the card click. Add contract assertions so the canonical logo, v7 invalidation, weather strip, expandable events, Inventory/Mail quick actions, and existing Event Day closeout cannot silently regress. One PR, KnockLaunch Gate, squash merge, frontend-only Cloudflare release, then claim-matched production proof on proposal and Today. Do not remove or redesign unrelated tenant features.","constraints":[{"id":"bounded","statement":"Only src/lib/mobileVendor/eventQuotes.ts, src/pages/mobile-vendor/BigPapisProposalDocument.tsx, src/pages/mobile-vendor/BigPapisToday.tsx, and src/__tests__/contracts/big-papis-event-lifecycle.contract.test.ts may change.","proofConditionIds":["proposal-runtime","today-runtime"]},{"id":"preserve","statement":"Do not remove existing new-inquiry handling, Today stats, Next move, Action center, Advanced dashboard access, proposal pricing/data logic, PDF generation, persistence, Event Day closeout/cancel, or unrelated Big Papi capabilities.","proofConditionIds":["proposal-runtime","today-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proposal-runtime","kind":"runtime","claim":"The production proposal route serves the recovered proposal implementation after release.","route":"/big-papis/owner/proposals?event=724a7477-c868-4694-ade2-7e64fd7b1d39","required":true,"expectedText":"CFLR Groundbreaking","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"proposal-visual","kind":"visual","claim":"The production proposal uses the clean modern cream/pastel presentation with the approved logo and no ornate frame or leaked duplicate.","route":"/big-papis/owner/proposals?event=724a7477-c868-4694-ade2-7e64fd7b1d39","required":true,"expectedText":"CFLR Groundbreaking","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"today-runtime","kind":"runtime","claim":"The production Today route shows the restored Next 3 days schedule and preserved owner operating surface.","route":"/big-papis/owner/dashboard","required":true,"expectedText":"Next 3 days","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"today-visual","kind":"visual","claim":"The production Today route visibly retains the operating sections and shows three-day weather/event cards plus Inventory and Mail quick actions.","route":"/big-papis/owner/dashboard","required":true,"expectedText":"Next 3 days","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":"ai/recover-big-papis-proposal-today-20260830","conversationContext":null,"requestContractHash":"4f2449d8aa1e4d200a69452844f72f0ce563bfeece189fdef9fdf15a74d738cf","requestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-30T15:05:59.790315+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:cc30852a-2d9d-41d4-9188-96a8aa38e519:tenant-workstream-contribution:e2d438fb979eacf235e7e62159919816953c9e7ebf5eafd8fdc0fac5076c47f7","mission_step_id":null,"command_center_event_id":"cc30852a-2d9d-41d4-9188-96a8aa38e519"},{"id":"b9b4d240-ecd6-4f44-ad74-1d430e333785","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the existing ai/unify-tenant-platform-contract branch/PR with the already-written tenant-platform-contract files. Do not synthesize unrelated files or create another PR. Reconcile the existing exact-head Gate and proceed only if the branch content matches the one-contract repair.","wordingChanged":false,"canonicalIntent":"Continue the existing ai/unify-tenant-platform-contract branch/PR with the already-written tenant-platform-contract files. Do not synthesize unrelated files or create another PR. Reconcile the existing exact-head Gate and proceed only if the branch content matches the one-contract repair.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"One canonical tenant platform contract is live and PCG is reconciled against it.","proofConditionIds":["proof-production"]}],"objective":"Continue the existing ai/unify-tenant-platform-contract branch/PR with the already-written tenant-platform-contract files. Do not synthesize unrelated files or create another PR. Reconcile the existing exact-head Gate and proceed only if the branch content matches the one-contract repair.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"The merged production runtime uses the one tenant contract and PCG has canonical private tenant storage rather than generated-media.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"8794128ba7a951962ec18bbfceeaba4917fcf8485c07231948a7928a68a65f14","requestContractRevision":2,"previousRequestContractHash":"709478063071c72d567a489d472ae99547085288aee2d4899dfbc2d09d590533"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-04T01:43:33.088347+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:45654d35-3758-4932-b6b3-e7d72c7df36e:request-contract-revision:2:8794128ba7a951962ec18bbfceeaba4917fcf8485c07231948a7928a68a65f14","mission_step_id":"4cfba9b6-f003-4961-adc5-f6f6063f87d5","command_center_event_id":"45654d35-3758-4932-b6b3-e7d72c7df36e"},{"id":"b9b5260c-d722-4043-9031-656122ed9d41","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-dfd765bf4818","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":19883,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":47269,"firstUsefulResultAt":"2026-09-27T23:46:17.049Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.296-universal-stop","prNumber":3928,"terminal":false,"missionId":"dfd765bf-4818-4c40-9fd3-fc335ab83aab","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4328,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1362,"missionSetupMs":275,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":275,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":275,"repositoryMutationMs":2966,"repositoryProviderMs":2966,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1872,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":275,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1094},"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":"dfd765bf-4818-4c40-9fd3-fc335ab83aab"},"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":3890,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:47:09.580974+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3928","receipt_type":"execute_mission","idempotency_key":"mission:dfd765bf-4818-4c40-9fd3-fc335ab83aab:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"6bf07363-572d-44c2-82f1-b7739a98a9d3","command_center_event_id":"dfd765bf-4818-4c40-9fd3-fc335ab83aab"},{"id":"b9bec498-c58a-4800-8abd-2797ce672d9e","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-a770b0221597","writes":[],"patches":[],"version":1,"approved":true,"missionId":"a770b022-1597-4486-a023-1c9d2554f8ad","objective":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/index-release-fast-lane.js","edits":[{"new_content":"async function inspectMergeQueue(env, repository, body) {\n  const requestedLimit = Number(body.limit || 10);\n  const limit = Number.isInteger(requestedLimit) ? Math.max(1, Math.min(10, requestedLimit)) : 10;\n  const [pullsPayload, runsPayload, mainBranch] = await Promise.all([\n    forgejo(env, repository, \"GET\", `/pulls?state=open&limit=${limit}`),\n    forgejo(env, repository, \"GET\", \"/actions/runs?limit=3\"),\n    forgejo(env, repository, \"GET\", \"/branches/main\"),\n  ]);\n  const currentMainSha = String(mainBranch?.commit?.id || mainBranch?.commit?.sha || \"\").trim();","old_content":"async function inspectMergeQueue(env, repository, body) {\n  const requestedLimit = Number(body.limit || 10);\n  const limit = Number.isInteger(requestedLimit) ? Math.max(1, Math.min(10, requestedLimit)) : 10;\n  const pullsPayload = await forgejo(env, repository, \"GET\", `/pulls?state=open&limit=${limit}`);\n  const runsPayload = await forgejo(env, repository, \"GET\", \"/actions/runs?limit=3\");"},{"new_content":"    const gateState = String(latestGate?.conclusion || latestGate?.status || \"missing\").toLowerCase();\n    const rawFailedGate = [\"failure\", \"cancelled\", \"canceled\", \"timed_out\", \"error\"].includes(gateState);\n    let gateFailureBaseStale = false;\n    let refreshRequired = false;\n    if (rawFailedGate && prNumber && currentMainSha) {\n      const detailedPull = await forgejo(env, repository, \"GET\", `/pulls/${prNumber}`);\n      const failedAgainstBaseSha = String(detailedPull?.merge_base || detailedPull?.merge_base_sha || \"\").trim();\n      gateFailureBaseStale = Boolean(failedAgainstBaseSha && failedAgainstBaseSha !== currentMainSha);\n      refreshRequired = gateFailureBaseStale;\n    }\n    const failedGate = rawFailedGate && !gateFailureBaseStale;\n    queue.push({","old_content":"    const gateState = String(latestGate?.conclusion || latestGate?.status || \"missing\").toLowerCase();\n    const failedGate = [\"failure\", \"cancelled\", \"canceled\", \"timed_out\", \"error\"].includes(gateState);\n    queue.push({"},{"new_content":"      latestGate,\n      failedGate,\n      rawFailedGate,\n      gateFailureBaseStale,\n      refreshRequired,\n      deterministicQuarantineEligible: failedGate,\n      currentMainSha: currentMainSha || null,\n    });","old_content":"      latestGate,\n      failedGate,\n    });"},{"new_content":"async function refreshPullRequest(env, body, ctx = null) {\n  const repository = repositoryOf(body.repository);\n  const activeRunsPayload = await forgejo(env, repository, \"GET\", \"/actions/runs?limit=20\");\n  const activeReleaseStates = new Set([\"queued\", \"waiting\", \"pending\", \"in_progress\", \"running\", \"requested\"]);\n  const activeProductionRelease = actionRunsFrom(activeRunsPayload, 20)\n    .map(runIdentity)\n    .find((run) => run.event === \"push\"\n      && (run.headBranch === \"main\" || run.headBranch === \"refs/heads/main\")\n      && activeReleaseStates.has(String(run.status || \"\")));\n  if (activeProductionRelease) {\n    throw Object.assign(new Error(\"canonical_production_release_in_progress\"), {\n      status: 409,\n      detail: JSON.stringify({ activeReleaseRunId: activeProductionRelease.runId, activeReleaseSourceSha: activeProductionRelease.headSha, collisionScope: \"protected_main_merge_release_boundary\", retryable: true, refreshAttempted: false, ownerActionRequired: false }),\n    });\n  }\n  const before = await inspectPullRequest(env, body);","old_content":"async function refreshPullRequest(env, body, ctx = null) {\n  const before = await inspectPullRequest(env, body);"},{"new_content":"  const prNumber = before.prNumber;","old_content":"  const repository = repositoryOf(body.repository);\n  const prNumber = before.prNumber;"}]},{"path":"src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","edits":[{"new_content":"const missionControl = fs.readFileSync(path.resolve(process.cwd(), 'workers/cc-execution/src/index-mission-control.js'), 'utf8');\nconst fastLane = fs.readFileSync(path.resolve(process.cwd(), 'workers/cc-execution/src/index-release-fast-lane.js'), 'utf8');","old_content":"const missionControl = fs.readFileSync(path.resolve(process.cwd(), 'workers/cc-execution/src/index-mission-control.js'), 'utf8');"},{"new_content":"describe('Command Center existing branch refresh contract', () => {\n  it('gives protected-main production release work priority over ordinary PR refresh', () => {\n    expect(fastLane).toContain('canonical_production_release_in_progress');\n    expect(fastLane).toContain('collisionScope: \"protected_main_merge_release_boundary\"');\n    expect(fastLane).toContain('refreshAttempted: false');\n    expect(fastLane).toContain('run.event === \"push\"');\n    expect(fastLane).toContain('run.headBranch === \"main\" || run.headBranch === \"refs/heads/main\"');\n  });\n\n  it('does not quarantine a deterministic failed head solely because it was tested against an older main', () => {\n    expect(fastLane).toContain('gateFailureBaseStale');\n    expect(fastLane).toContain('failedAgainstBaseSha !== currentMainSha');\n    expect(fastLane).toContain('const failedGate = rawFailedGate && !gateFailureBaseStale;');\n    expect(fastLane).toContain('deterministicQuarantineEligible: failedGate');\n    expect(fastLane).toContain('refreshRequired');\n  });","old_content":"describe('Command Center existing branch refresh contract', () => {"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.65.0-release-priority-base-aware-quarantine\";","old_content":"export const CC_EXECUTION_VERSION = \"1.64.99-positive-mutation-admission\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","wordingChanged":false,"canonicalIntent":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","constraints":[{"id":"single-canonical-control-plane","statement":"No parallel queue, scheduler, release owner, watchdog lane, or fallback orchestrator.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"smallest-safe-forward-repair","statement":"Preserve healthy current production behavior and mutate only the exact canonical cc-execution files required for this repair.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","required":true,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":true,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"a770b022-1597-4486-a023-1c9d2554f8ad","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":{"intent":{"rawUtterance":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","wordingChanged":false,"canonicalIntent":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","constraints":[{"id":"single-canonical-control-plane","statement":"No parallel queue, scheduler, release owner, watchdog lane, or fallback orchestrator.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"smallest-safe-forward-repair","statement":"Preserve healthy current production behavior and mutate only the exact canonical cc-execution files required for this repair.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Harden the canonical KNOCKLAUNCH Forgejo merge/release control plane. Give active protected-main production release/recovery work priority over ordinary automatic PR refresh/regate work, and make deterministic Gate quarantine base-aware so failures inherited from an older main become refresh/regate eligible after main advances while unchanged PR-authored deterministic failures remain quarantined. Do not create parallel queue, scheduler, release, or watchdog machinery. Use only the existing canonical cc-execution path; require canonical Gate, squash merge, cc-execution release, and exact live runtime proof.","required":true,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":true,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner-approved canonical merge/release admission hardening."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner-approved canonical merge/release admission hardening."},"recovery":false,"fingerprint":"6916076f752da4509eb5fef9545c3336c40172be6e7fc63dd6e0fc0a5dfff18b","replayCount":0,"serializedBytes":16902},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T18:56:05.569083+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:a770b022-1597-4486-a023-1c9d2554f8ad:repository-mutation-intent:6916076f752da4509eb5fef9545c3336c40172be6e7fc63dd6e0fc0a5dfff18b:0","mission_step_id":"a3c7515e-ebdf-4844-b49f-6662d12375b6","command_center_event_id":"a770b022-1597-4486-a023-1c9d2554f8ad"},{"id":"b9c05578-b8d1-4274-94ce-d6fa91764e52","source":"github-status","status":"pending","payload":{"failed":[],"states":{"cc-execution/runtime-proof":"pending","canonical-production-release/verified":"pending"},"missing":[],"pending":["canonical-production-release/verified","cc-execution/runtime-proof"],"required":["canonical-production-release/verified","cc-execution/runtime-proof"],"sourceSha":"d435ef955745a60bf2f34f5ffa10cf5165cc403b","releaseState":"pending","exactConductorRun":{"id":31438407082,"status":"in_progress","headSha":"d435ef955745a60bf2f34f5ffa10cf5165cc403b","conclusion":null,"compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":{"buildId":"31437971340-1","liveSha":"24e45bdb3f0c92a7f31865a4db244985d0aa3067","deploymentId":"ai-pr-4570-24e45bdb3f0c-cc-execution","compareStatus":"behind","identitySource":"worker_env_git_sha","runtimeVersion":null,"containsSourceSha":false}},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T22:28:13.320244+00:00","proof_gate":"canonical_release_pending","source_sha":"d435ef955745a60bf2f34f5ffa10cf5165cc403b","external_id":"canonical-release-d435ef955745","receipt_type":"canonical_release_status","idempotency_key":"mission:09ffbfaa-bf26-4a1f-a128-271dc5273f6c:release-status:d435ef955745a60bf2f34f5ffa10cf5165cc403b:31438407082:pending:canonical-production-release/verified=pending|cc-execution/runtime-proof=pending","mission_step_id":"d82e024b-719f-490b-af7b-9fd25aa73b71","command_center_event_id":"09ffbfaa-bf26-4a1f-a128-271dc5273f6c"},{"id":"b9c1e78c-0801-4272-97a4-c9086e809c08","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-mtq2l8uq","reason":null,"status":"synthesis_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":"f721f9b6-87c3-464a-b3d5-537699532173","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":21,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":620,"providerAuthMs":0,"ledgerPrepareMs":620,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":620,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":620,"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":"f721f9b6-87c3-464a-b3d5-537699532173"},"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":4454,"likelyAffectedFiles":["src/lib/tenants/tenantBackgroundOwnership.ts","src/__tests__/contracts/tenantBackgroundOwnership.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T17:15:14.47982+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f721f9b6-87c3-464a-b3d5-537699532173:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"eaaf068d-7c7c-4163-9b27-4d6efa0987eb","command_center_event_id":"f721f9b6-87c3-464a-b3d5-537699532173"},{"id":"b9c3e7d4-79a2-4e21-9984-f8cd4251b224","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"e1cf470e1b26ca8398fac25a804394898961a6b4","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-handoff","satisfied":false,"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":false,"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":false,"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":false,"constraints":[{"id":"constraint-preserve-intake","satisfied":false,"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":false,"statement":"Preserve existing tenant-scoped authorization and publication state persistence.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"constraint-no-fake-api","satisfied":false,"statement":"Do not claim unsupported Squarespace Portfolio automation or fake provider success.","proofConditionIds":["proof-repository","proof-runtime"]},{"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-repository","proof-runtime"]},{"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-repository","proof-runtime"]}],"contractHash":"8a814ee87b009074c47cf657860460c34807a2af43b7dd428c7752a0c8c03558","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"reason":null,"gateRunId":null,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"8a814ee87b009074c47cf657860460c34807a2af43b7dd428c7752a0c8c03558","unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"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":["repository"],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T12:21:02.610345+00:00","proof_gate":"request_contract_pending","source_sha":"e1cf470e1b26ca8398fac25a804394898961a6b4","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511:request-contract:8a814ee87b009074c47cf657860460c34807a2af43b7dd428c7752a0c8c03558:e1cf470e1b26ca8398fac25a804394898961a6b4:pending:repository","mission_step_id":"d722d81b-d4be-467c-b2d6-7e7663ce987f","command_center_event_id":"0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511"},{"id":"b9c4d1cc-d9d1-4931-b249-3ec19ce1cee2","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_scope_mismatch","fingerprint":"8e75ef739d75c0d173fdf98db11a7553a0a305918390c9e09e9ece655bc6ec16"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T21:08:01.756384+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:1118f58b-b5c7-426f-ab73-cab3ff54774b:repository-mutation-intent-blocked:8e75ef739d75c0d173fdf98db11a7553a0a305918390c9e09e9ece655bc6ec16","mission_step_id":"ace230c0-9384-4e0d-aed4-d5ffd5268b7f","command_center_event_id":"1118f58b-b5c7-426f-ab73-cab3ff54774b"},{"id":"b9c6620a-e4e8-41d9-a9b0-b4a283655365","source":"forgejo","status":"waiting","payload":{"branch":"ai/prioritize-corrupt-failed-generations-20260827","prNumber":821,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"418acdfee285914b6781a4f39448b53613b0c0a4","branchDeletedAfterMerge":false,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T12:59:34.794136+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"418acdfee285914b6781a4f39448b53613b0c0a4","external_id":"821","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:73b8f5a1-b2db-4df5-9463-fac7bdcffaca:merged-pr:821:418acdfee285914b6781a4f39448b53613b0c0a4","mission_step_id":"27dedb9b-d6ef-4d41-93cc-f7511d309dcf","command_center_event_id":"73b8f5a1-b2db-4df5-9463-fac7bdcffaca"},{"id":"b9c8e11f-c743-4513-94ee-5e752ee7c4bc","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-289a2e99fe6d","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.182-witness-render-cold-start-aware","prNumber":3215,"terminal":false,"missionId":"289a2e99-fe6d-45de-92ec-b6d79860ae25","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":10609,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":5093,"missionSetupMs":746,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":296,"ledgerReconcileMs":0,"lineageReconcileMs":450,"resolvePreflightMs":746,"repositoryMutationMs":5516,"repositoryProviderMs":5516,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":5112,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":296,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":404},"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":"289a2e99-fe6d-45de-92ec-b6d79860ae25"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3328,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T13:59:20.330275+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3215","receipt_type":"execute_mission","idempotency_key":"mission:289a2e99-fe6d-45de-92ec-b6d79860ae25:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"67009244-b99f-4e32-ad6c-07beffd24eaa","command_center_event_id":"289a2e99-fe6d-45de-92ec-b6d79860ae25"},{"id":"b9c8ee21-d832-4748-ae03-fb7c073e39c7","source":"paul-scheduler:compiler-recovery-v1","status":"started","payload":{"attempt":2,"retryable":true},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-12T01:06:01.256177+00:00","proof_gate":"compiler_scheduler_exact_mission_claimed","source_sha":null,"external_id":null,"receipt_type":"bounded_compiler_scheduler_recovery","idempotency_key":"mission:e96d28b9-f00d-4b33-85c9-7ef1b6107e52:compiler-scheduler-recovery:2:started","mission_step_id":null,"command_center_event_id":"e96d28b9-f00d-4b33-85c9-7ef1b6107e52"},{"id":"b9c93eec-d689-4beb-afe5-0d0c2b496e08","source":"cc-execution","status":"no_change","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-control-plane-speed-20260827","reason":null,"status":"no_change","metrics":{"receiptBytes":5253,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.52.9-exact-open-pr-green-merge","prNumber":null,"terminal":false,"missionId":"38e81cc3-d8b6-48d2-98f8-9b5f8e6cc01d","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"handlerMs":401,"missionSetupMs":365},"nextAction":"pull_request_required","receiptRef":{"mode":"full","missionId":"38e81cc3-d8b6-48d2-98f8-9b5f8e6cc01d"},"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":5195,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T04:46:51.380911+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:38e81cc3-d8b6-48d2-98f8-9b5f8e6cc01d:execute_mission:repair_mission_prepared","mission_step_id":"548e42c9-94d4-49ff-a70d-fb1716ab3e9a","command_center_event_id":"38e81cc3-d8b6-48d2-98f8-9b5f8e6cc01d"},{"id":"b9cb1f27-bbcb-4ec4-9047-f16568595ef8","source":"cc-execution","status":"recorded","payload":{"objective":"Apply the exact replacement file supplied here for the Vista reservation component, preserving the existing RPC behavior while replacing the rejected basic modal with a full-screen branded two-panel booking experience. Keep scope to this exact file. Then run the one PR -> KnockLaunch Gate -> squash merge -> affected frontend deploy -> live proof flow. Do not substitute assets or touch unrelated files.","tenantRef":"la-vista-del-mar","receivedAt":"2026-08-29T19:10:44.915Z","fingerprint":"887c08e3a72605c29a51ae7c24767c5c8f236ce6fa604f4ca3b0afafa22f0fea","workstreamRef":"lavistadelmar","conversationId":null,"canonicalBranch":"ai/objective-first-repair-mter5ijo","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Apply the exact replacement file supplied here for the Vista reservation component, preserving the existing RPC behavior while replacing the rejected basic modal with a full-screen branded two-panel booking experience. Keep scope to this exact file. Then run the one PR -> KnockLaunch Gate -> squash merge -> affected frontend deploy -> live proof flow. Do not substitute assets or touch unrelated files.","wordingChanged":false,"canonicalIntent":"Apply the exact replacement file supplied here for the Vista reservation component, preserving the existing RPC behavior while replacing the rejected basic modal with a full-screen branded two-panel booking experience. Keep scope to this exact file. Then run the one PR -> KnockLaunch Gate -> squash merge -> affected frontend deploy -> live proof flow. Do not substitute assets or touch unrelated files.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Apply the exact replacement file supplied here for the Vista reservation component, preserving the existing RPC behavior while replacing the rejected basic modal with a full-screen branded two-panel booking experience. Keep scope to this exact file. Then run the one PR -> KnockLaunch Gate -> squash merge -> affected frontend deploy -> live proof flow. Do not substitute assets or touch unrelated files.","proofConditionIds":["proof-production"]}],"objective":"Apply the exact replacement file supplied here for the Vista reservation component, preserving the existing RPC behavior while replacing the rejected basic modal with a full-screen branded two-panel booking experience. Keep scope to this exact file. Then run the one PR -> KnockLaunch Gate -> squash merge -> affected frontend deploy -> live proof flow. Do not substitute assets or touch unrelated files.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Vista del Mar reservation experience is the new full-screen premium branded booking flow using the exact supplied logo and video while preserving working reservation behavior.","route":"/la-vista-del-mar","required":true,"expectedText":"Reserve The View","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/objective-first-repair-mter5ijo","conversationContext":null,"requestContractHash":"9fdcdcfdc77ca52014044a8e26aaa97ba5f8811005cc93c56d66c912f29e51b9","requestContractRevision":1},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T19:10:45.438071+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:dab92aa8-3466-4718-8ac0-3926c347831d:tenant-workstream-contribution:887c08e3a72605c29a51ae7c24767c5c8f236ce6fa604f4ca3b0afafa22f0fea","mission_step_id":null,"command_center_event_id":"dab92aa8-3466-4718-8ac0-3926c347831d"},{"id":"b9cc705d-2b30-4820-8224-ed597c624312","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-60d9cfa690f1","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,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3873,"terminal":false,"missionId":"60d9cfa6-90f1-4882-b1a7-20380a7e6924","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3583,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1057,"missionSetupMs":807,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":807,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":807,"repositoryMutationMs":2526,"repositoryProviderMs":2526,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1618,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":807,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":908},"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":"60d9cfa6-90f1-4882-b1a7-20380a7e6924"},"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":3240,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T13:34:50.892856+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3873","receipt_type":"execute_mission","idempotency_key":"mission:60d9cfa6-90f1-4882-b1a7-20380a7e6924:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"562a494c-f65d-42e2-b990-ccb941911764","command_center_event_id":"60d9cfa6-90f1-4882-b1a7-20380a7e6924"},{"id":"b9cf35a7-a096-481a-9b91-9a4a2875c34c","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\":\"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\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\",\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T05:35:03.67855+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-05b8b43505c3\",\"prNumber\":5125,\"sourceSha\":\"2a2b54eabbd34f09fa543042e90973de12ca8548\",\"deploymentId\":\"forgejo-main-2a2b54eabbd3\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T01:40:39.716677+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:05b8b435-05c3-4fe9-9d05-2037ee1ded07:owner-progress-heartbeat:119416722","mission_step_id":"4bd23741-4334-4f31-9d9f-7de47be3f298","command_center_event_id":"05b8b435-05c3-4fe9-9d05-2037ee1ded07"},{"id":"b9cf4549-c1a8-443c-96ef-59fd54a81d41","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"ba79ab9724eb3ae9d950e0000d33709261a3f38a","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"a6183874b68cc095d6fe88b59652943932474425","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"cf4a244a665ba3bb7776b76d4de2c5f82d67b08a1e934767dfdec9f670850afa","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13408","runId":13408,"status":"success","sourceSha":"a6183874b68cc095d6fe88b59652943932474425","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T14:22:49.312516+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"a6183874b68cc095d6fe88b59652943932474425","external_id":"forgejo-main-a6183874b68c","receipt_type":"canonical_release_status","idempotency_key":"mission:10537c19-2b88-4637-9b64-d2a82ec654b0:forgejo-release-status:a6183874b68cc095d6fe88b59652943932474425:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"9648c147-651e-4a5c-9c17-0be2497135d3","command_center_event_id":"10537c19-2b88-4637-9b64-d2a82ec654b0"},{"id":"b9d016c6-6a6b-4102-be2c-bfc90a95c80d","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"a7c57bf853a1ca8853a148e49234101c733bef4f","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Stop the false-positive Forgejo recovery loop. Live durable host-watchdog evidence shows continuous healthy HTTP 200 probes (~70-100 ms), triggerClass=null, capacityAdmissible=true, >80% memory available, no memory/disk/inode pressure, idle eligible runners, and no waiting queue, yet a new allowlisted `forgejo_recover` host-control request is being enqueued about every five minutes and blocked by the hourly restart budget. Inspect current main and live control-plane truth, identify the first causal path that is issuing recovery while the host is healthy, and make the smallest safe repair so automatic/operator continuation does not enqueue or execute `forgejo_recover` when fresh authoritative host evidence is healthy. Preserve legitimate recovery when Forgejo/Actions is actually degraded. Add regression coverage for the healthy-host case, use one PR/canonical gate/squash merge, deploy only affected targets, then verify on live production that the healthy host remains healthy and no new recovery request is produced by the repaired false-positive path.","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":"3bf5d7a3924e22cb692209632edc8bfc8d8ea0f21ffc1009d5ee5aea0aa44700","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":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"3bf5d7a3924e22cb692209632edc8bfc8d8ea0f21ffc1009d5ee5aea0aa44700"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T13:13:18.68752+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"a7c57bf853a1ca8853a148e49234101c733bef4f","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:1bf217dc-cdcf-4c6b-ba5f-7ba85e29f22c:request-contract:3bf5d7a3924e22cb692209632edc8bfc8d8ea0f21ffc1009d5ee5aea0aa44700:a7c57bf853a1ca8853a148e49234101c733bef4f:verified:","mission_step_id":"ff1f316b-d751-489d-9fb2-bdaaa91a66f1","command_center_event_id":"1bf217dc-cdcf-4c6b-ba5f-7ba85e29f22c"},{"id":"b9d27b67-6590-4e7a-85e3-019bea136f9c","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":2112,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":4063,"terminal":false,"missionId":"10f098c5-8c37-41da-a820-a7f55031f676","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"66bd7ef7aee4544dda61fa2a9adec6c6738df650","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"10f098c5-8c37-41da-a820-a7f55031f676"},"performance":null,"deploymentId":"canonical-release-66bd7ef7aee4","workflowRunId":31024622616,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1076,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-05T16:18:27.314107+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"66bd7ef7aee4544dda61fa2a9adec6c6738df650","external_id":"canonical-release-66bd7ef7aee4","receipt_type":"ship_and_prove","idempotency_key":"mission:10f098c5-8c37-41da-a820-a7f55031f676:ship_and_prove:ship_and_prove_release_pending","mission_step_id":"a7675cd7-69c6-4caf-bfb1-c9559fd287dc","command_center_event_id":"10f098c5-8c37-41da-a820-a7f55031f676"},{"id":"b9d42a5d-bcd2-45e5-b869-1bbc235248e2","source":"forgejo","status":"waiting","payload":{"branch":"","prNumber":2169,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"1751f84337d095e8eddcf8f35b72cf38cde0b9d3","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T21:07:41.76048+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"1751f84337d095e8eddcf8f35b72cf38cde0b9d3","external_id":"2169","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:57830716-2c55-454a-bc5d-b1bd0a141c25:merged-pr:2169:1751f84337d095e8eddcf8f35b72cf38cde0b9d3","mission_step_id":"74346f05-83cd-4744-8072-2d4e1881c693","command_center_event_id":"57830716-2c55-454a-bc5d-b1bd0a141c25"},{"id":"b9d52f7e-db75-43f2-8e83-06d5901a2e41","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/roofhelpfinder-video-premium-layout-20260828","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":5780,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":null,"terminal":false,"missionId":"2b5d789a-516c-496a-8b37-bffc3fb0deee","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":204,"prReadinessMs":0,"approvedPlanMs":204,"missionSetupMs":3274,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"2b5d789a-516c-496a-8b37-bffc3fb0deee"},"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":4878,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c3f09b56-5ff5-4521-8a0a-39cbeb4b5275","created_at":"2026-08-28T04:58:52.303839+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2b5d789a-516c-496a-8b37-bffc3fb0deee:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"06798a29-988f-4836-b626-5ff1bb211feb","command_center_event_id":"2b5d789a-516c-496a-8b37-bffc3fb0deee"},{"id":"b9d53bf4-5e55-4b5e-81a7-27f757dfe4ca","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"dj-cockpit-home","satisfied":false,"statement":"The /dj landing is a purpose-built DJ Cockpit with live fanbase pulse, next Creative/Professional work, growth actions, and the four operating lanes.","proofConditionIds":["runtime","visual"]}],"satisfied":false,"constraints":[{"id":"no-fake-data","satisfied":false,"statement":"No invented fans, gigs, bookings, metrics, prices, rewards, dates, or success states.","proofConditionIds":["runtime","visual"]},{"id":"tenant-isolation","satisfied":false,"statement":"Only Entertainment/DJ tenants receive the specialized cockpit landing; other MODES tenants remain behaviorally unchanged.","proofConditionIds":["runtime","visual"]},{"id":"mobile","satisfied":false,"statement":"The DJ Cockpit remains usable on mobile above the current canonical bottom navigation stack.","proofConditionIds":["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":["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":"70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60"},"required":true,"satisfied":true},{"id":"visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/dj","currentSourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","witnessSourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","verificationState":null,"witnessRequestContractHash":"70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:59:40.575684+00:00","proof_gate":"request_contract_pending","source_sha":"7741265580fd56a43e5e5f07fc97385f07b33039","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:request-contract:70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60:7741265580fd56a43e5e5f07fc97385f07b33039:pending:visual","mission_step_id":"673bbbea-02f1-4a22-b126-2f36716d16c7","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"b9d6d714-38ca-4570-b9cb-9af090f24292","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-9c5736f399fd","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":47571,"releaseCount":0,"toolCallCount":32,"repeatedCallCount":23,"executorlessWaitMs":220583,"firstUsefulResultAt":"2026-10-04T12:37:18.297Z","recoveryAttemptCount":21,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":4772,"terminal":false,"missionId":"9c5736f3-99fd-4831-8f26-a76db0c8407f","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2625,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2400,"approvedPlanMs":0,"missionSetupMs":338,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":199,"ledgerReconcileMs":0,"lineageReconcileMs":139,"resolvePreflightMs":338,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":199,"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":"9c5736f3-99fd-4831-8f26-a76db0c8407f"},"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-10-04T12:40:07.149105+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4772","receipt_type":"execute_mission","idempotency_key":"mission:9c5736f3-99fd-4831-8f26-a76db0c8407f:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"59e5388e-5b46-4b73-b4f2-3373493efcb2","command_center_event_id":"9c5736f3-99fd-4831-8f26-a76db0c8407f"},{"id":"b9d77252-b0ae-47bd-94eb-dfaf8e748aa1","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml",".forgejo/workflows/paul-hybrid-bootstrap.yml","scripts/visual-witness-hosted-runner/README.md","scripts/visual-witness-hosted-runner/virtual-witness-operating-contract.json","workers/cc-execution/src/index-visual-witness-resumable.js","workers/cc-execution/src/version.js"],"reason":"Owner explicitly authorized control-plane unfreeze and explicitly directed removal of OnRunner after verified laptop desktop+mobile proof.","baseSha":"bd609b676b0f693f80d9d50e1ba00e22eba2432d","issuedAt":1790459320495,"expiresAt":1790459500495,"missionId":"a8d8c628-f8f4-47a9-9316-b4d85ebfa98b","authorizationId":"36e69a96-bea2-42d1-95a8-122190af3624","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T21:48:40.822539+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"bd609b676b0f693f80d9d50e1ba00e22eba2432d","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:36e69a96-bea2-42d1-95a8-122190af3624","mission_step_id":"405aa809-6b23-4542-8595-0c5fc4e426be","command_center_event_id":"a8d8c628-f8f4-47a9-9316-b4d85ebfa98b"},{"id":"b9d7e02d-721f-489d-b145-2706be785f19","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/shells/TenantOwnedShellBoundary.tsx","content":"import React, { type ReactNode } from 'react';\nimport RedfishWorkspaceShell from '@/components/redfish/RedfishWorkspaceShell';\nimport CurriControlCenterShell from '@/shells/curri/CurriControlCenterShell';\nimport TenantModesShell from '@/shells/TenantModesShell';\nimport PCGTenantShell from '@/shells/pcg/PCGTenantShell';\nimport TennexTenantShell from '@/shells/tennex/TennexTenantShell';\nimport { isModesTenant } from '@/shells/modesTenantShell';\n\nexport type TenantOwnedShellKind = 'default' | 'curri-control-center' | 'modes' | 'redfish' | 'pcg' | 'tennex';\n\ntype ResolveTenantOwnedShellInput = {\n  tenant: any;\n  applicationMode?: string | null;\n  isSelfContainedBigPapisWorkspace: boolean;\n  isSelfContainedPcgWorkspace: boolean;\n  isSelfContainedRedfishWorkspace: boolean;\n};\n\nexport function tenantUsesModesRouteFallback(tenant: any): boolean {\n  return isModesTenant(tenant);\n}\n\nexport function resolveTenantOwnedShellKind({\n  tenant,\n  applicationMode,\n  isSelfContainedBigPapisWorkspace,\n  isSelfContainedPcgWorkspace,\n  isSelfContainedRedfishWorkspace,\n}: ResolveTenantOwnedShellInput): TenantOwnedShellKind {\n  const settings = ((tenant as any)?.settings || {}) as Record<string, any>;\n  const tenantSlug = String(tenant?.company_slug || '').trim().toLowerCase();\n  const curriControlCenter =\n    tenantSlug === 'curri-control-center'\n    || String(settings.workspace_variant || '').trim().toLowerCase() === 'curri_control_center';\n\n  if (curriControlCenter) return 'curri-control-center';\n  if (tenantSlug === 'tennex' || tenantSlug === 'tennex-tax-solutions') return 'tennex';\n  if (isSelfContainedPcgWorkspace) return 'pcg';\n\n  const modesShell =\n    tenantUsesModesRouteFallback(tenant)\n    && applicationMode !== 'standalone'\n    && !isSelfContainedBigPapisWorkspace;\n\n  if (modesShell) return 'modes';\n  if (isSelfContainedRedfishWorkspace) return 'redfish';\n  return 'default';\n}\n\nexport function TenantOwnedShellBoundary({\n  kind,\n  children,\n}: {\n  kind: TenantOwnedShellKind;\n  children: ReactNode;\n}) {\n  switch (kind) {\n    case 'curri-control-center':\n      return <CurriControlCenterShell>{children}</CurriControlCenterShell>;\n    case 'tennex':\n      return <TennexTenantShell>{children}</TennexTenantShell>;\n    case 'pcg':\n      return <PCGTenantShell>{children}</PCGTenantShell>;\n    case 'modes':\n      return <TenantModesShell>{children}</TenantModesShell>;\n    case 'redfish':\n      return <RedfishWorkspaceShell>{children}</RedfishWorkspaceShell>;\n    default:\n      return <>{children}</>;\n  }\n}\n"},{"path":"src/shells/pcg/PCGTenantShell.tsx","content":"import React, { type ReactNode } from 'react';\n\nexport default function PCGTenantShell({ children }: { children: ReactNode }) {\n  return <>{children}</>;\n}\n"},{"path":"src/shells/tennex/TennexTenantShell.tsx","content":"import React, { type ReactNode } from 'react';\nimport TenantModesShell from '@/shells/TenantModesShell';\n\nexport default function TennexTenantShell({ children }: { children: ReactNode }) {\n  return <TenantModesShell>{children}</TenantModesShell>;\n}\n"}],"branch":"ai/objective-first-repair-8face4c243b3","writes":[],"patches":[],"version":1,"approved":true,"missionId":"8face4c2-43b3-407d-aae8-c5976a49bd6f","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":"8face4c2-43b3-407d-aae8-c5976a49bd6f","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/TenantOwnedShellBoundary.tsx"],"requestContract":null,"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":"fbe705c79957c95a380098efb26ed04b3c49fc847a561a2b747ffb86bbaaa620","replayCount":0,"serializedBytes":4290},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T12:37:18.35408+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:8face4c2-43b3-407d-aae8-c5976a49bd6f:repository-mutation-intent:fbe705c79957c95a380098efb26ed04b3c49fc847a561a2b747ffb86bbaaa620:0","mission_step_id":"45915340-8ec8-4ee6-a32c-e5ba56737a75","command_center_event_id":"8face4c2-43b3-407d-aae8-c5976a49bd6f"},{"id":"b9d7f5a9-b6da-415b-aabc-67505283a4fe","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5a4662afe846","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":16276,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":12278,"firstUsefulResultAt":"2026-09-24T23:12:32.043Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.265-runner-slot-occupancy-bounds","prNumber":3681,"terminal":false,"missionId":"5a4662af-e846-4ab4-a647-e6828c342c54","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"d5ee4067d525aad8088317e594b163b2d9f31186","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4813,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":485,"approvedPlanMs":0,"missionSetupMs":513,"providerAuthMs":0,"shipAndProveMs":3749,"ledgerPrepareMs":360,"ledgerReconcileMs":0,"lineageReconcileMs":153,"resolvePreflightMs":513,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":360,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"5a4662af-e846-4ab4-a647-e6828c342c54"},"performance":null,"deploymentId":"forgejo-main-d5ee4067d525","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"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":2801,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T23:13:16.081956+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"d5ee4067d525aad8088317e594b163b2d9f31186","external_id":"forgejo-main-d5ee4067d525","receipt_type":"execute_mission","idempotency_key":"mission:5a4662af-e846-4ab4-a647-e6828c342c54:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"a6132191-50c8-4d31-9eae-04d47b62d834","command_center_event_id":"5a4662af-e846-4ab4-a647-e6828c342c54"},{"id":"b9d7fdda-ad31-4295-acad-d8bb53485124","source":"cc-execution","status":"recorded","payload":{"objective":"Repair the shared adaptive tenant generation contract exposed by C&C Carpet Cleaning and ship it live.","tenantRef":"385f3582-1b06-5a13-85b5-ad36fa03b397","receivedAt":"2026-08-31T02:41:11.565Z","fingerprint":"00c68131bb33df8b770dc6cef7b7cd623e86cb4cee9921385efe028bcf650d70","workstreamRef":"385f35821b065a1385b5ad36fa03b397","conversationId":null,"canonicalBranch":"ai/objective-first-repair-mtgmnf1e","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Repair the shared adaptive tenant generation contract exposed by C&C Carpet Cleaning and ship it live.","wordingChanged":false,"canonicalIntent":"Repair the shared adaptive tenant generation contract exposed by C&C Carpet Cleaning and ship it live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"adaptive-business-specific","statement":"C&C Carpet Cleaning and future MISC tenants use business-specific workspace naming, work vocabulary, modules, and navigation derived from their operating profile and selected capabilities.","proofConditionIds":["source-contract","c-and-c-visual","release"]},{"id":"creation-contract-persisted","statement":"Both admin tenant creation and public demo creation persist a deterministic business operating blueprint for adaptive MISC tenants.","proofConditionIds":["source-contract","release"]},{"id":"legacy-compatible","statement":"Existing adaptive tenants without the new persisted blueprint derive the same normalized blueprint from their existing adaptive profile and enabled applications.","proofConditionIds":["source-contract","c-and-c-visual","release"]}],"objective":"Repair the shared adaptive tenant generation contract exposed by C&C Carpet Cleaning and ship it live.","constraints":[{"id":"constraint-1","statement":"Do not route through or revive Experience Studio.","proofConditionIds":["source-contract"]},{"id":"constraint-2","statement":"Do not patch only C&C; repair the shared platform contract.","proofConditionIds":["source-contract"]},{"id":"constraint-3","statement":"Do not invent business facts not present in intake/profile data.","proofConditionIds":["source-contract"]},{"id":"constraint-4","statement":"Hide unrelated generic platform/demo navigation unless selected/applicable.","proofConditionIds":["source-contract","c-and-c-visual"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"source-contract","kind":"repository","claim":"Current main contains the shared adaptive generation contract, business-specific naming, enabled-module filtering, sidebar filtering, backward-compatible derivation, and both creation-entry-point persistence changes.","route":"https://app.knocklaunch.app/crm/MISC/demo-c-c-carpet-cleaning-1b5e576a/Dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release","kind":"runtime","claim":"The exact merged repair source is deployed to all affected production targets.","route":"https://app.knocklaunch.app/crm/MISC/demo-c-c-carpet-cleaning-1b5e576a/Dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"c-and-c-visual","kind":"visual","claim":"The C&C Carpet Cleaning production dashboard visibly uses Cleaning business vocabulary, does not show duplicate 'Cleaning Service Service Operations' wording, and does not expose unrelated generic sidebar baggage such as Canvassing, Academy, or Scripts & Rebuttals.","route":"https://app.knocklaunch.app/crm/MISC/demo-c-c-carpet-cleaning-1b5e576a/Dashboard","required":true,"expectedText":"Cleaning Operations","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/objective-first-repair-mtgmnf1e","conversationContext":"{\"requestContract\":{\"version\":1,\"source\":\"owner_explicit\",\"objective\":\"The tenant creation application and adaptive fallback must create business-specific usable workspaces instead of generic CRM/service templates, with C&C Carpet Cleaning as the reported failing case.\",\"outcomes\":[{\"id\":\"adaptive-business-specific\",\"statement\":\"C&C Carpet Cleaning and future MISC tenants use business-specific workspace naming, work vocabulary, modules, and navigation derived from their operating profile and selected capabilities.\",\"proofConditionIds\":[\"source-contract\",\"c-and-c-visual\",\"release\"]},{\"id\":\"creation-contract-persisted\",\"statement\":\"Both admin tenant creation and public demo creation persist a deterministic business operating blueprint for adaptive MISC tenants.\",\"proofConditionIds\":[\"source-contract\",\"release\"]},{\"id\":\"legacy-compatible\",\"statement\":\"Existing adaptive tenants without the new persisted blueprint derive the same normalized blueprint from their existing adaptive profile and enabled applications.\",\"proofConditionIds\":[\"source-contract\",\"c-and-c-visual\",\"release\"]}],\"constraints\":[{\"id\":\"constraint-1\",\"statement\":\"Do not route through or revive Experience Studio.\",\"proofConditionIds\":[\"source-contract\"]},{\"id\":\"constraint-2\",\"statement\":\"Do not patch only C&C; repair the shared platform contract.\",\"proofConditionIds\":[\"source-contract\"]},{\"id\":\"constraint-3\",\"statement\":\"Do not invent business facts not present in intake/profile data.\",\"proofConditionIds\":[\"source-contract\"]},{\"id\":\"constraint-4\",\"statement\":\"Hide unrelated generic platform/demo navigation unless selected/applicable.\",\"proofConditionIds\":[\"source-contract\",\"c-and-c-visual\"]}],\"proofConditions\":[{\"id\":\"source-contract\",\"kind\":\"repository\",\"claim\":\"Current main contains the shared adaptive generation contract, business-specific naming, enabled-module filtering, sidebar filtering, backward-compatible derivation, and both creation-entry-point persistence changes.\",\"required\":true},{\"id\":\"release\",\"kind\":\"runtime\",\"claim\":\"The exact merged repair source is deployed to all affected production targets.\",\"required\":true},{\"id\":\"c-and-c-visual\",\"kind\":\"visual\",\"claim\":\"The C&C Carpet Cleaning production dashboard visibly uses Cleaning business vocabulary, does not show duplicate 'Cleaning Service Service Operations' wording, and does not expose unrelated generic sidebar baggage such as Canvassing, Academy, or Scripts & Rebuttals.\",\"required\":true,\"route\":\"https://app.knocklaunch.app/crm/MISC/demo-c-c-carpet-cleaning-1b5e576a/Dashboard\",\"expectedText\":\"Cleaning Operations\"}],\"terminalPolicy\":\"all_required_proof_conditions_satisfied_after_live_release\"}}","requestContractHash":"f776fb9c0fa65642eb2b6486ee863d291dce775869d358ad88ff9fbaa5bf01f3","requestContractRevision":1},"tenant_id":"385f3582-1b06-5a13-85b5-ad36fa03b397","created_at":"2026-08-31T02:41:12.731641+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:3a02c444-f9b4-4fce-9209-6792e1785f92:tenant-workstream-contribution:00c68131bb33df8b770dc6cef7b7cd623e86cb4cee9921385efe028bcf650d70","mission_step_id":null,"command_center_event_id":"3a02c444-f9b4-4fce-9209-6792e1785f92"},{"id":"b9d87187-c83d-4847-b9ee-74b2f421bcd8","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":"ai/objective-first-repair-1dba961ce955","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4511,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":11313,"firstUsefulResultAt":"2026-10-04T10:37:07.710Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":null,"terminal":false,"missionId":"1dba961c-e955-4540-b2a7-7f1c37665baa","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3596,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":252,"providerAuthMs":0,"ledgerPrepareMs":252,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":252,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":252,"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":"1dba961c-e955-4540-b2a7-7f1c37665baa"},"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":3673,"likelyAffectedFiles":["config/capabilities/platform-application-registry.json","src/__tests__/contracts/platform-application-registry.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T10:37:09.776775+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1dba961c-e955-4540-b2a7-7f1c37665baa:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"2442bbde-26df-4884-a993-0734532b43e7","command_center_event_id":"1dba961c-e955-4540-b2a7-7f1c37665baa"},{"id":"b9d940ff-7c48-4761-9a7d-f5c1b3a66712","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-e4c71de0eb63","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.180-forgejo-source-read-resilience","prNumber":3054,"terminal":false,"missionId":"e4c71de0-eb63-4e65-9224-680ede1cac04","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7829,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1161,"missionSetupMs":595,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":595,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":595,"repositoryMutationMs":6668,"repositoryProviderMs":6668,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3026,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":595,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":3642},"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":"e4c71de0-eb63-4e65-9224-680ede1cac04"},"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":3184,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T00:06:30.052045+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3054","receipt_type":"execute_mission","idempotency_key":"mission:e4c71de0-eb63-4e65-9224-680ede1cac04:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"6de0f466-b08d-48b5-8e6f-548bf3e8ec3a","command_center_event_id":"e4c71de0-eb63-4e65-9224-680ede1cac04"},{"id":"b9d95798-cf32-4d0b-a2f5-6ab6a6118ff0","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-505fd36ee309","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":"505fd36e-e309-43d7-8905-9d3fffad6920","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":2811,"providerAuthMs":0,"ledgerPrepareMs":311,"ledgerReconcileMs":0,"lineageReconcileMs":2500,"resolvePreflightMs":2811,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":311,"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":"505fd36e-e309-43d7-8905-9d3fffad6920"},"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":3125,"likelyAffectedFiles":["src/lib/lazyWithRetry.ts","src/App.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:05:59.573805+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:505fd36e-e309-43d7-8905-9d3fffad6920:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"a4b3524c-bc08-431f-a8cd-5eaf1f312df3","command_center_event_id":"505fd36e-e309-43d7-8905-9d3fffad6920"},{"id":"b9da2ea0-7a19-476d-8b5a-279b68019788","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-25e1b5132e66","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":24803,"releaseCount":0,"toolCallCount":15,"repeatedCallCount":7,"executorlessWaitMs":642082,"firstUsefulResultAt":"2026-09-29T20:39:06.233Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":null,"prNumber":4182,"terminal":false,"missionId":"25e1b513-2e66-40ae-8aea-013e14872817","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":"25e1b513-2e66-40ae-8aea-013e14872817"},"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":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T21:00:48.712287+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"4182","receipt_type":"automatic_mission_resume","idempotency_key":"mission:25e1b513-2e66-40ae-8aea-013e14872817:automatic-mission-resume:4182:repair_mission_waiting_for_gate","mission_step_id":"0000f3c9-be46-4de6-8b28-6634a8a0bee8","command_center_event_id":"25e1b513-2e66-40ae-8aea-013e14872817"},{"id":"b9da711d-3241-4096-8169-86c594138567","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.26-direct-route-visual-intent","prNumber":4479,"terminal":false,"missionId":"1e62bd62-a21d-4c54-ac94-4e3978410a32","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"d47647fb6cdc2af57e33a6156d7e20180c9860f8","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"1e62bd62-a21d-4c54-ac94-4e3978410a32"},"performance":null,"deploymentId":"canonical-release-d47647fb6cdc","workflowRunId":31331435747,"releaseTargets":{"frontend":false,"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":1211,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T19:21:47.743524+00:00","proof_gate":"canonical_release_dispatched","source_sha":"d47647fb6cdc2af57e33a6156d7e20180c9860f8","external_id":"canonical-release-d47647fb6cdc","receipt_type":"ship_and_prove","idempotency_key":"mission:1e62bd62-a21d-4c54-ac94-4e3978410a32:ship_and_prove:canonical_release_dispatched:d47647fb6cdc2af57e33a6156d7e20180c9860f8:31331435747","mission_step_id":"df2d9cb7-9dd8-425b-8641-967eacdc4a2b","command_center_event_id":"1e62bd62-a21d-4c54-ac94-4e3978410a32"},{"id":"b9dba334-3323-4c18-add0-63f8963f4b19","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-32ec97f86156","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":3496,"terminal":false,"missionId":"32ec97f8-6156-4518-a1ee-5a57cf1316b4","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5150,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":724,"missionSetupMs":260,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":260,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":260,"repositoryMutationMs":4426,"repositoryProviderMs":4426,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2495,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":260,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1931},"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":"32ec97f8-6156-4518-a1ee-5a57cf1316b4"},"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":3736,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T04:36:57.019792+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3496","receipt_type":"execute_mission","idempotency_key":"mission:32ec97f8-6156-4518-a1ee-5a57cf1316b4:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"75a2a34b-25a9-4fc9-8cea-9848e0a8ff28","command_center_event_id":"32ec97f8-6156-4518-a1ee-5a57cf1316b4"},{"id":"b9dc5841-a281-4d9d-94f6-4084eea2b3cc","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"09d31f76c2ee68d4c8fe7dc298762c381a282e64","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"09d31f76c2ee68d4c8fe7dc298762c381a282e64","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"6c6a2225ece995d6a6eb755324ec8e273d3461ee18bf7475608ba07c92318b8a","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3467","runId":3467,"status":"running","sourceSha":"09d31f76c2ee68d4c8fe7dc298762c381a282e64","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T22:01:55.458167+00:00","proof_gate":"canonical_release_pending","source_sha":"09d31f76c2ee68d4c8fe7dc298762c381a282e64","external_id":"forgejo-main-09d31f76c2ee","receipt_type":"canonical_release_status","idempotency_key":"mission:790c0bf7-875d-40e4-be93-a9c80222acad:forgejo-release-status:09d31f76c2ee68d4c8fe7dc298762c381a282e64:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"21210118-b1a4-4dd7-b366-5242f524a417","command_center_event_id":"790c0bf7-875d-40e4-be93-a9c80222acad"},{"id":"b9dcaf11-0597-4842-916f-b239fbab47fd","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":16328,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":10,"executorlessWaitMs":168661,"firstUsefulResultAt":"2026-10-06T14:52:44.007Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.67.0-stopless-self-heal","prNumber":null,"terminal":false,"missionId":"afa5a214-022d-48bf-9a7c-a8f97fb6dec0","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3366,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":320,"providerAuthMs":0,"ledgerPrepareMs":320,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":320,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":320,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"afa5a214-022d-48bf-9a7c-a8f97fb6dec0"},"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":3352,"likelyAffectedFiles":["config/mission-freedom-provider-cutover.json","config/capabilities/pcg-card-grading-modes.json","config/capabilities/pcg-google-workspace-gmail.json","config/capabilities/pcg-public-card-intake.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T14:52:46.96313+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:afa5a214-022d-48bf-9a7c-a8f97fb6dec0:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"4656086e-8a21-4811-9f54-a6c9755e1865","command_center_event_id":"afa5a214-022d-48bf-9a7c-a8f97fb6dec0"},{"id":"b9dccd6a-1d20-42a7-9542-6d9cc4a795dd","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"4ecf87bf576472c86faae1ed7593b92add93d1aa","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"4ecf87bf576472c86faae1ed7593b92add93d1aa","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"061e9c6b233e1d8b65122a9d849e4cc868c07a9579bd56e6ad2515090bcf8b13","forgejoWorkflowProof":{"runId":16423,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"61fc38ea2e3972abac30de00d836e63c05970629","deploymentId":"forgejo-main-61fc38ea2e3972abac30de00d836e63c05970629","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.67.4-single-mutation-boundary","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T17:30:37.876343+00:00","proof_gate":"canonical_release_pending","source_sha":"4ecf87bf576472c86faae1ed7593b92add93d1aa","external_id":"forgejo-main-4ecf87bf5764","receipt_type":"canonical_release_status","idempotency_key":"mission:825effee-a3ee-4b8a-8249-073b827f502c:forgejo-release-status:4ecf87bf576472c86faae1ed7593b92add93d1aa:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"e27c7a71-e8b1-46bf-8130-317141ffc63c","command_center_event_id":"825effee-a3ee-4b8a-8249-073b827f502c"},{"id":"b9ddc0d6-e498-4c6f-97d9-3369ddf5de62","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-bf688521a4b8","prNumber":3033,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"4faa48a4a6e81063cf997425f9c23f885d553b93","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T20:28:18.058539+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"4faa48a4a6e81063cf997425f9c23f885d553b93","external_id":"3033","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:bf688521-a4b8-4905-b11a-dd615cf361ee:merged-pr:3033:4faa48a4a6e81063cf997425f9c23f885d553b93","mission_step_id":"00f1b85f-fe8e-47ff-8178-a9565502a840","command_center_event_id":"bf688521-a4b8-4905-b11a-dd615cf361ee"},{"id":"b9dde017-74d8-44e9-bd39-e815610b2d8c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/proposal-pdfjs-20260820","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.48.9-single-mutation-lane","prNumber":null,"terminal":false,"missionId":"acb7356f-5392-410c-a7a8-5137464966b9","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"acb7356f-5392-410c-a7a8-5137464966b9"},"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":3512,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T16:12:26.248436+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:acb7356f-5392-410c-a7a8-5137464966b9:execute_mission:repair_mission_execution_retryable","mission_step_id":"24ee85ae-d883-4cbe-98fb-db3b8e9720ff","command_center_event_id":"acb7356f-5392-410c-a7a8-5137464966b9"},{"id":"b9de6ab7-d413-45b2-9deb-c6b3a79f9798","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/personal-owner-proposals-20260912","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2495,"terminal":false,"missionId":"15185a13-fe00-4396-8ed1-6fbe397097f0","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"9ecdb6cdeba660c5beef111dbf7a44a510b22689","timingsMs":{"prReadinessMs":1045,"approvedPlanMs":0,"shipAndProveMs":3830,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"15185a13-fe00-4396-8ed1-6fbe397097f0"},"performance":null,"deploymentId":"forgejo-main-9ecdb6cdeba6","workflowRunId":7381,"releaseTargets":{"frontend":true,"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":2088,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T15:33:20.155914+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2495","receipt_type":"automatic_mission_resume","idempotency_key":"mission:15185a13-fe00-4396-8ed1-6fbe397097f0:automatic-mission-resume:2495:canonical_release_dispatched","mission_step_id":"9036bbf7-d772-46b6-b0b8-5358515234a9","command_center_event_id":"15185a13-fe00-4396-8ed1-6fbe397097f0"},{"id":"b9e0d201-054d-47c7-bc19-8509ab1489dd","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-2a3ffef9bc75","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":20774,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":1,"executorlessWaitMs":404310,"firstUsefulResultAt":"2026-09-25T20:07:02.535Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3764,"terminal":false,"missionId":"2a3ffef9-bc75-4d29-81c7-fb473a88ff79","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"ae115c17465b4ab1152d21e93c540958314dde47","timingsMs":{"prReadinessMs":129,"approvedPlanMs":0,"shipAndProveMs":369,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"2a3ffef9-bc75-4d29-81c7-fb473a88ff79"},"performance":null,"deploymentId":"forgejo-main-ae115c17465b","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["agreement-sign"]},"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":1919,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T20:15:45.736684+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3764","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2a3ffef9-bc75-4d29-81c7-fb473a88ff79:automatic-mission-resume:3764:canonical_release_reconciliation_pending","mission_step_id":"e4570c91-8640-4e00-98c6-eb28f79ba4fa","command_center_event_id":"2a3ffef9-bc75-4d29-81c7-fb473a88ff79"},{"id":"b9e1a6a8-337d-49a5-ad0a-6e990363180c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-170cd815b306","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":2058,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-29T21:20:40.847Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":4187,"terminal":false,"missionId":"170cd815-b306-4e74-bda1-5a306838e0ad","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4785,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":846,"missionSetupMs":596,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":596,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":596,"repositoryMutationMs":3939,"repositoryProviderMs":3939,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2712,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":596,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1227},"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":"170cd815-b306-4e74-bda1-5a306838e0ad"},"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":3980,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T21:25:55.242049+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4187","receipt_type":"execute_mission","idempotency_key":"mission:170cd815-b306-4e74-bda1-5a306838e0ad:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"78f64e30-9fb2-4ac3-b24a-ac9880e55d5c","command_center_event_id":"170cd815-b306-4e74-bda1-5a306838e0ad"},{"id":"b9e342b0-ee9c-4fa0-8a32-977c64bb37be","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","supabase/functions/command-center-autopilot/index.ts","supabase/functions/command-center-autopilot/missionLedger.ts","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly requested the first-class machinery bar pushed further. This upgrade closes the duplicate event/cron split-brain race with durable lease epochs, formalizes fairness, adds synthetic chaos invariants, and exposes recovery error-budget telemetry without adding new infrastructure.","baseSha":"c4f843325b7376cc005df98f5ec76a032247a740","issuedAt":1789919683300,"expiresAt":1789919863300,"missionId":"392e0099-9a83-4bf8-ab58-c4fb841420be","authorizationId":"3fb9b617-b0d7-4769-bc52-d3a064f2a602","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:54:43.641657+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"c4f843325b7376cc005df98f5ec76a032247a740","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:3fb9b617-b0d7-4769-bc52-d3a064f2a602","mission_step_id":"d166f074-fe49-4f45-bc02-94ec96962c9d","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"b9e66a4a-3d1c-4631-bb73-668033ccffc1","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/redesign-big-papi-inventory-20260828","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":35987,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":4,"ownerInterruptionCount":0},"version":"1.55.8-readiness-resilience","prNumber":990,"terminal":false,"missionId":"f3a9238b-1417-46d7-88f7-8f60d2a6bc86","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":{"handlerMs":17696,"prReadinessMs":251,"approvedPlanMs":0,"missionSetupMs":2430,"shipAndProveMs":17439},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"f3a9238b-1417-46d7-88f7-8f60d2a6bc86"},"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":5010,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-29T01:54:04.812407+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"990","receipt_type":"execute_mission","idempotency_key":"mission:f3a9238b-1417-46d7-88f7-8f60d2a6bc86:execute_mission:canonical_release_transport_retryable:current-generation","mission_step_id":"7fe3cc71-c47f-4867-b4a4-6b39aa27d526","command_center_event_id":"f3a9238b-1417-46d7-88f7-8f60d2a6bc86"},{"id":"b9e67399-96e6-42eb-87b9-cf8a9c37d6d7","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"d9ca03ebf51573a5e5e955865658a251349996ce","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"d9ca03ebf51573a5e5e955865658a251349996ce","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/696","runId":696,"status":"running","conclusion":null,"failedJobs":[]},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T12:34:49.530201+00:00","proof_gate":"canonical_release_pending","source_sha":"d9ca03ebf51573a5e5e955865658a251349996ce","external_id":"forgejo-main-d9ca03ebf515","receipt_type":"canonical_release_status","idempotency_key":"mission:a9c4687f-d257-4522-bce4-8780e429bea8:forgejo-release-status:d9ca03ebf51573a5e5e955865658a251349996ce:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"7b3e5773-da4d-45f0-b978-92886ab64919","command_center_event_id":"a9c4687f-d257-4522-bce4-8780e429bea8"},{"id":"b9e76841-d021-4f2d-a1c6-5696a05484ea","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-dbdce2d841be","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2829,"terminal":false,"missionId":"dbdce2d8-41be-42be-8313-7fef179b605e","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":991,"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":"dbdce2d8-41be-42be-8313-7fef179b605e"},"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":1283,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T15:19:56.248044+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2829","receipt_type":"automatic_mission_resume","idempotency_key":"mission:dbdce2d8-41be-42be-8313-7fef179b605e:automatic-mission-resume:2829:repair_mission_waiting_for_gate","mission_step_id":"22cb7d1d-6afb-4ad9-a5af-8cabfaba043e","command_center_event_id":"dbdce2d8-41be-42be-8313-7fef179b605e"},{"id":"b9eb7074-e41f-4775-8423-b4e96697acbc","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-5503c29f9907","prNumber":3422,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"b2a601b97346ced21d79c8ec6cf93fd2fb5b75a0","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T12:36:18.52725+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"b2a601b97346ced21d79c8ec6cf93fd2fb5b75a0","external_id":"3422","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:5503c29f-9907-4456-8aa5-b2021eecdeda:merged-pr:3422:b2a601b97346ced21d79c8ec6cf93fd2fb5b75a0","mission_step_id":"9eaf95e1-298e-4de8-9f84-52998b347a92","command_center_event_id":"5503c29f-9907-4456-8aa5-b2021eecdeda"},{"id":"b9ebe562-dee5-4507-9e4e-a7b49351d6f9","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["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"],"continuationObjective":"Continue the existing durable mission using exact structured edits."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:18:19.272619+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:22f51b0a-71d9-4939-9f28-feefe7771431:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"6f44723d-f246-438c-a0b0-1002a54591b1","command_center_event_id":"22f51b0a-71d9-4939-9f28-feefe7771431"},{"id":"b9ec6cab-6855-415b-9de5-92123f00301d","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-migrations/live":"pending"},"mainSha":"40f4f6eea609e1acbf3c7e5e19c60ac3bfabf787","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"40f4f6eea609e1acbf3c7e5e19c60ac3bfabf787","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false},"requestContractHash":"9a0b5a86040cee6d2ab43b78493f6d08a9c8c69d786e61752af2c8c90e0e0b0d","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3344","runId":3344,"status":"running","sourceSha":"40f4f6eea609e1acbf3c7e5e19c60ac3bfabf787","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-08-29T13:28:22.571463+00:00","proof_gate":"canonical_release_pending","source_sha":"40f4f6eea609e1acbf3c7e5e19c60ac3bfabf787","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:6deaee89-5cef-4633-ac79-325fdac4116a:forgejo-release-status:40f4f6eea609e1acbf3c7e5e19c60ac3bfabf787:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending|supabase-migrations/live=pending","mission_step_id":"58d7ea76-bda0-4592-a476-799ef29ba152","command_center_event_id":"6deaee89-5cef-4633-ac79-325fdac4116a"},{"id":"b9eda212-9456-4ffb-94e7-9ce7ca884bb9","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/whatsmyprogress-static-waitlist-cta-20260902","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":7619,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1396,"terminal":false,"missionId":"93ad3bb7-025b-46dd-a242-494ab5adb185","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":4717,"prReadinessMs":3659,"approvedPlanMs":0,"missionSetupMs":1316,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"93ad3bb7-025b-46dd-a242-494ab5adb185"},"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":1510,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"6789c016-47c0-495a-8560-6b455a5844ba","created_at":"2026-09-02T05:22:14.252287+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1396","receipt_type":"execute_mission","idempotency_key":"mission:93ad3bb7-025b-46dd-a242-494ab5adb185:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"aa15dcc9-9e79-41b8-8dd2-29ee983bb0a0","command_center_event_id":"93ad3bb7-025b-46dd-a242-494ab5adb185"},{"id":"b9ee92de-ea33-4d6c-837c-81ebb13bee95","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same owner-approved Aggressive Recovery control-plane repair. Fix the transient Gate recovery gap discovered on PR #3279: 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":"Continue the same owner-approved Aggressive Recovery control-plane repair. Fix the transient Gate recovery gap discovered on PR #3279: 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":"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"]},{"id":"regression-coverage","statement":"Regression coverage binds automatic mission rehydration to existing stale-main refresh, transient gate recovery including cancelled runs with empty logs, interrupted release reconciliation, and no-replacement-work behavior.","proofConditionIds":["repo-contract"]}],"objective":"Continue the same owner-approved Aggressive Recovery control-plane repair. Fix the transient Gate recovery gap discovered on PR #3279: 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 exposes its latest recovery receipt in health.","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":"Continue-the-same-owner-approved-Aggressive-Recovery-control-plane-repair.-Fix-the-transient-Gate-re","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":"2d6742da6370a30f067ff48ed72cf53a18a65394a634f8d2b52e17f0931d6f01","requestContractRevision":3,"previousRequestContractHash":"b5e966f2895be3824c9b1198cbbe02b43d2c10d7061f3d0adcf62b5f48003e5f"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T06:01:15.108992+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:2d6742da6370a30f067ff48ed72cf53a18a65394a634f8d2b52e17f0931d6f01","mission_step_id":"da34ee0a-552a-47dd-8589-c2779b6502ae","command_center_event_id":"90ef6d5b-28ec-455b-b304-41150b7128ca"},{"id":"b9f11b6f-fe19-4e16-ae5b-82c03bd5a2ac","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-a000aeb398df","prNumber":4692,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"daf57056a25041f9c0648b3e8944e23c3de223a1","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T00:16:39.023887+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"daf57056a25041f9c0648b3e8944e23c3de223a1","external_id":"4692","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:a000aeb3-98df-4204-8422-ca31ce5b1a61:merged-pr:4692:daf57056a25041f9c0648b3e8944e23c3de223a1","mission_step_id":"27c1dc6f-019c-44db-b101-42f189bf8bd9","command_center_event_id":"a000aeb3-98df-4204-8422-ca31ce5b1a61"},{"id":"b9f222b9-98fe-41f0-b387-6b6b75e0dff1","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-999b82510501","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.95-authorization-envelope-continuity","prNumber":null,"terminal":false,"missionId":"999b8251-0501-4787-8014-ccb523f96385","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3938,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":550,"providerAuthMs":0,"ledgerPrepareMs":550,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":550,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":550,"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":"999b8251-0501-4787-8014-ccb523f96385"},"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":4485,"likelyAffectedFiles":["src/hooks/useSessionTracker.ts","src/hooks/useActivityLogger.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T14:55:08.388808+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:999b8251-0501-4787-8014-ccb523f96385:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"aad77082-6927-4732-b5ef-10aca38bc7b9","command_center_event_id":"999b8251-0501-4787-8014-ccb523f96385"},{"id":"b9f76ae0-4e66-4a68-8acf-35b8d526354b","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/thirsty-panda-owner-menu-media-20260817","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":6616,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.46.17-release-orchestration-guardrails","prNumber":337,"terminal":false,"missionId":"fa1d76d2-e316-4698-bef0-b540998398b1","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":"fa1d76d2-e316-4698-bef0-b540998398b1"},"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":9350,"likelyAffectedFiles":["config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T17:27:34.610378+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":"337","receipt_type":"execute_mission","idempotency_key":"mission:fa1d76d2-e316-4698-bef0-b540998398b1:execute_mission:repair_mission_synthesis_ready","mission_step_id":"2ed6317e-68e8-4c78-a9ce-5b6a62037561","command_center_event_id":"fa1d76d2-e316-4698-bef0-b540998398b1"},{"id":"b9f843a4-0f50-490f-b06d-ec9ded79d572","source":"cc-execution","status":"recorded","payload":{"objective":"Frontend-only repair in the shared private tenant shell. Add one installed-PWA escape navigation component owned by PrivateAppShell/TenantWorkspaceRuntime. In installed standalone mode only, render a compact floating navigation control. It must be pointer-draggable, clamped to safe viewport bounds, snap to the nearest safe left/right edge on release, persist its position across route changes/reloads, and stay clear of canonical bottom navigation/avatar safe zones. The control exposes Back, Home, and Reload. Back navigates through usable history. Home uses getTenantDashboardPathForTenant(activeTenant) and preserves the active tenant instead of sending an active tenant to generic tenant selection. Reload refreshes the exact current route. Ordinary browser desktop/mobile behavior remains unchanged. Keep the diff limited to shared frontend source plus focused tests. Ship one fresh ai branch, one PR, canonical KnockLaunch Gate, squash merge, Cloudflare frontend release.","tenantRef":"big-papis","receivedAt":"2026-09-23T03:57:59.989Z","fingerprint":"babbbda98af65296a29a95817973b8d2e8062d2636c24b90007b2520be0abd8c","workstreamRef":"bigpapis","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Frontend-only repair in the shared private tenant shell. Add one installed-PWA escape navigation component owned by PrivateAppShell/TenantWorkspaceRuntime. In installed standalone mode only, render a compact floating navigation control. It must be pointer-draggable, clamped to safe viewport bounds, snap to the nearest safe left/right edge on release, persist its position across route changes/reloads, and stay clear of canonical bottom navigation/avatar safe zones. The control exposes Back, Home, and Reload. Back navigates through usable history. Home uses getTenantDashboardPathForTenant(activeTenant) and preserves the active tenant instead of sending an active tenant to generic tenant selection. Reload refreshes the exact current route. Ordinary browser desktop/mobile behavior remains unchanged. Keep the diff limited to shared frontend source plus focused tests. Ship one fresh ai branch, one PR, canonical KnockLaunch Gate, squash merge, Cloudflare frontend release.","wordingChanged":false,"canonicalIntent":"Frontend-only repair in the shared private tenant shell. Add one installed-PWA escape navigation component owned by PrivateAppShell/TenantWorkspaceRuntime. In installed standalone mode only, render a compact floating navigation control. It must be pointer-draggable, clamped to safe viewport bounds, snap to the nearest safe left/right edge on release, persist its position across route changes/reloads, and stay clear of canonical bottom navigation/avatar safe zones. The control exposes Back, Home, and Reload. Back navigates through usable history. Home uses getTenantDashboardPathForTenant(activeTenant) and preserves the active tenant instead of sending an active tenant to generic tenant selection. Reload refreshes the exact current route. Ordinary browser desktop/mobile behavior remains unchanged. Keep the diff limited to shared frontend source plus focused tests. Ship one fresh ai branch, one PR, canonical KnockLaunch Gate, squash merge, Cloudflare frontend release.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"legacy_derived","version":1,"outcomes":[{"id":"outcome-1","statement":"Frontend-only repair in the shared private tenant shell. Add one installed-PWA escape navigation component owned by PrivateAppShell/TenantWorkspaceRuntime. In installed standalone mode only, render a compact floating navigation control. It must be pointer-draggable, clamped to safe viewport bounds, snap to the nearest safe left/right edge on release, persist its position across route changes/reloads, and stay clear of canonical bottom navigation/avatar safe zones. The control exposes Back, Home, and Reload. Back navigates through usable history. Home uses getTenantDashboardPathForTenant(activeTenant) and preserves the active tenant instead of sending an active tenant to generic tenant selection. Reload refreshes the exact current route. Ordinary browser desktop/mobile behavior remains unchanged. Keep the diff limited to shared frontend source plus focused tests. Ship one fresh ai branch, one PR, canonical KnockLaunch Gate, squash merge, Cloudflare frontend release.","proofConditionIds":["proof-production"]}],"objective":"Frontend-only repair in the shared private tenant shell. Add one installed-PWA escape navigation component owned by PrivateAppShell/TenantWorkspaceRuntime. In installed standalone mode only, render a compact floating navigation control. It must be pointer-draggable, clamped to safe viewport bounds, snap to the nearest safe left/right edge on release, persist its position across route changes/reloads, and stay clear of canonical bottom navigation/avatar safe zones. The control exposes Back, Home, and Reload. Back navigates through usable history. Home uses getTenantDashboardPathForTenant(activeTenant) and preserves the active tenant instead of sending an active tenant to generic tenant selection. Reload refreshes the exact current route. Ordinary browser desktop/mobile behavior remains unchanged. Keep the diff limited to shared frontend source plus focused tests. Ship one fresh ai branch, one PR, canonical KnockLaunch Gate, squash merge, Cloudflare frontend release.","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.","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.","proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Frontend-only repair in the shared private tenant shell. Add one installed-PWA escape navigation component owned by PrivateAppShell/TenantWorkspaceRuntime. In installed standalone mode only, render a compact floating navigation control. It must be pointer-draggable, clamped to safe viewport bounds, snap to the nearest safe left/right edge on release, persist its position across route changes/reloads, and stay clear of canonical bottom navigation/avatar safe zones. The control exposes Back, Home, and Reload. Back navigates through usable history. Home uses getTenantDashboardPathForTenant(activeTenant) and preserves the active tenant instead of sending an active tenant to generic tenant selection. Reload refreshes the exact current route. Ordinary browser desktop/mobile behavior remains unchanged. Keep the diff limited to shared frontend source plus focused tests. Ship one fresh ai branch, one PR, canonical KnockLaunch Gate, squash merge, Cloudflare frontend release.","route":"https://app.knocklaunch.app/big-papis/owner/calendar?bpMode=plan","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Frontend-only-repair-in-the-shared-private-tenant-shell.-Add-one-installed-PWA-escape-navigation-com","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":"e8d1dbeb660fab61ad2b10467672c1b9536f0049bee22fd1aa48597004d5f5ea","requestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-23T03:58:00.390549+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:c7d9e8d1-2eec-40e9-9b33-65f32e1bfb28:tenant-workstream-contribution:babbbda98af65296a29a95817973b8d2e8062d2636c24b90007b2520be0abd8c","mission_step_id":null,"command_center_event_id":"c7d9e8d1-2eec-40e9-9b33-65f32e1bfb28"},{"id":"b9f87758-a144-4bc4-a380-c8ac3359b7ef","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/thirsty-panda-description-clamp-20260817","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":2306,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.17-release-orchestration-guardrails","prNumber":null,"terminal":false,"missionId":"97c30fc2-f7e1-4e80-b593-397f7d609c2d","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":null,"nextAction":"Resolve bounded authoritative Forgejo source targets, then continue this same mission with exact files or anchored_edits. Do not call the synthesis helper again until source exists.","receiptRef":{"mode":"full","missionId":"97c30fc2-f7e1-4e80-b593-397f7d609c2d"},"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":7500,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T19:15:04.907906+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:97c30fc2-f7e1-4e80-b593-397f7d609c2d:execute_mission:repair_mission_source_resolution_required","mission_step_id":"9eacf65d-8528-44ed-a2d8-415a6dc27aa7","command_center_event_id":"97c30fc2-f7e1-4e80-b593-397f7d609c2d"},{"id":"b9fb143c-8bc7-4e42-a1f0-4efbfd7c3d27","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"pending","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"8e3a47d7cde8a16cbf17ba106182c356d688f151","missing":[],"pending":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"620fc2fc2293c9b9c8ae55c737d40c65fed9fcf4","releaseState":"pending","sourceInMain":false,"compareStatus":null,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/422","runId":422,"status":"running","conclusion":null,"failedJobs":[]},"ccExecutionRuntimeProof":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T17:25:46.160391+00:00","proof_gate":"canonical_release_pending","source_sha":"620fc2fc2293c9b9c8ae55c737d40c65fed9fcf4","external_id":"forgejo-main-620fc2fc2293","receipt_type":"canonical_release_status","idempotency_key":"mission:f387f211-1531-4ed9-a56a-7255d2321566:forgejo-release-status:620fc2fc2293c9b9c8ae55c737d40c65fed9fcf4:pending:forgejo-main/source=pending|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"e9a4e687-ec0a-4ff1-a2c0-cfa53c190c36","command_center_event_id":"f387f211-1531-4ed9-a56a-7255d2321566"},{"id":"b9fb74d6-2171-4d23-8f6a-c49f7154ee4d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/tenant-aware-copy-quality-20260816","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4646,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":241,"terminal":false,"missionId":"ad62289c-230d-44d9-bfd3-03e7f28ffb27","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":"ad62289c-230d-44d9-bfd3-03e7f28ffb27"},"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":9604,"likelyAffectedFiles":["src/__tests__/commandCenter/deployDetection.test.ts","src/components/admin/TenantUserCommandCenters.tsx","src/components/TenantRouter.tsx","src/components/WorkflowRouter.tsx","src/components/GlobalCommandPalette.tsx","src/__tests__/contracts/cc-execution-deploy-proof.test.ts","src/__tests__/contracts/cc-execution-onrunner-deploy-lane.contract.test.ts","src/__tests__/contracts/command-center-mission-control.test.ts","src/__tests__/contracts/command-center-mission-preflight.test.ts","src/components/ContactsRouter.tsx","src/components/LeadsRouter.tsx","src/components/RebuttalsRouter.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T13:12:21.469793+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ad62289c-230d-44d9-bfd3-03e7f28ffb27:execute_mission:repair_mission_synthesis_ready","mission_step_id":"40310f84-afa0-4028-9949-750ba4552ce2","command_center_event_id":"ad62289c-230d-44d9-bfd3-03e7f28ffb27"},{"id":"b9fbfa32-73cd-4915-b07e-6115da39e8fc","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"ed5b13497495006e96091672214ce15cd0803b9c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Visual Witness shared-source changes must select both ccExecution and onrunner release targets so primary and virtual witness runtime code cannot drift.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-2","satisfied":true,"statement":"Primary and virtual Visual Witness lanes must return to healthy redundant automatic-failover state.","proofConditionIds":["proof-runtime"]}],"satisfied":false,"constraints":[{"id":"constraint-1","satisfied":false,"statement":"Do not modify product tenant authorization behavior.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"constraint-2","satisfied":false,"statement":"Modify only the event-native release planner, fallback release-target helper, and capability truth for this parity repair.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"constraint-3","satisfied":false,"statement":"Preserve the existing delayed post-preflight tenant projection recovery.","proofConditionIds":["proof-repository","proof-runtime"]}],"contractHash":"35dcecb0a1260833d947bb491126d77a281a883acdcab57377ad39f6aae75725","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"35dcecb0a1260833d947bb491126d77a281a883acdcab57377ad39f6aae75725","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"proof-runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"35dcecb0a1260833d947bb491126d77a281a883acdcab57377ad39f6aae75725"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T17:25:10.124972+00:00","proof_gate":"request_contract_pending","source_sha":"ed5b13497495006e96091672214ce15cd0803b9c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:1f696dc2-3a8f-4fd8-8679-5949fb0c6083:request-contract:35dcecb0a1260833d947bb491126d77a281a883acdcab57377ad39f6aae75725:ed5b13497495006e96091672214ce15cd0803b9c:pending:repository","mission_step_id":"bb4aaf5d-e868-4b38-8639-f055889e748a","command_center_event_id":"1f696dc2-3a8f-4fd8-8679-5949fb0c6083"},{"id":"b9fca192-3df0-422a-bbbe-b3e88ae2b6e6","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/big-papis-fundraiser-readability-20260822","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":763,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":null,"terminal":false,"missionId":"01b5f26a-2b33-4c12-b631-fefe773c8ddd","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 /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"01b5f26a-2b33-4c12-b631-fefe773c8ddd"},"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":7481,"likelyAffectedFiles":["src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","src/__tests__/contracts/canonical-deploy-dispatchers.test.ts","src/components/WorkflowRouter.tsx","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/cc-deploy-controller-liveness.test.ts","src/__tests__/contracts/cc-execution-onrunner-deploy-lane.contract.test.ts","src/components/CallFlow/WorkflowLiveCoachingFocus.tsx","src/components/ContactsRouter.tsx","src/components/LeadsRouter.tsx","src/components/RebuttalsRouter.tsx","src/components/TenantRouter.tsx","src/assets/bigPapisCalendarTruck.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-22T18:54:23.377328+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:01b5f26a-2b33-4c12-b631-fefe773c8ddd:execute_mission:repair_mission_synthesis_ready","mission_step_id":"acfa37e9-871c-4cd4-a9e1-cba489c0f3d3","command_center_event_id":"01b5f26a-2b33-4c12-b631-fefe773c8ddd"},{"id":"b9fca547-eb04-4269-bdc1-5ef10a11965f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-a0d0a71aa4e7","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":70890,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":314476,"firstUsefulResultAt":"2026-10-01T14:05:21.043Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.36-paul-response-contract","prNumber":4366,"terminal":false,"missionId":"a0d0a71a-a4e7-4f48-acf9-14a3b942c829","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4554,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":675,"missionSetupMs":349,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":349,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":349,"repositoryMutationMs":3879,"repositoryProviderMs":3879,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2402,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":349,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1477},"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":"a0d0a71a-a4e7-4f48-acf9-14a3b942c829"},"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":3215,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T14:10:41.454286+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4366","receipt_type":"execute_mission","idempotency_key":"mission:a0d0a71a-a4e7-4f48-acf9-14a3b942c829:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"e8fe4171-c1ec-4386-b6b5-0e3866143d8c","command_center_event_id":"a0d0a71a-a4e7-4f48-acf9-14a3b942c829"},{"id":"b9feb7f0-1b89-4632-a581-ee860da1ac6c","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-c23cb8e10825","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.218-durable-async-repository-mutation","prNumber":null,"terminal":false,"missionId":"c23cb8e1-0825-40c0-befd-36be72161100","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":927,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":927,"missionSetupMs":239,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":239,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":239,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":239,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"c23cb8e1-0825-40c0-befd-36be72161100"},"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":1422,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:12:03.082536+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c23cb8e1-0825-40c0-befd-36be72161100:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"52d6ff09-15a2-43ba-b1fc-305723fa4905","command_center_event_id":"c23cb8e1-0825-40c0-befd-36be72161100"},{"id":"ba04e8a9-ba8c-44fc-bc7b-804f1b185a0f","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.4-release-terminal-proof-unblocks-queue","prNumber":null,"terminal":false,"missionId":"840ead4e-16c0-483a-af78-250b4a16884c","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4180,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":562,"providerAuthMs":0,"ledgerPrepareMs":562,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":562,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":562,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"840ead4e-16c0-483a-af78-250b4a16884c"},"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":3146,"likelyAffectedFiles":["config/control-plane-capabilities.json","config/control-plane-restore-point.json",".forgejo/workflows/frontend-startup-watchdog.yml",".forgejo/workflows/knocklaunch-local-host-autoconnect.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T21:45:45.913135+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:840ead4e-16c0-483a-af78-250b4a16884c:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"4ee8e73e-bd18-47e5-99c8-b7c6a8fe0533","command_center_event_id":"840ead4e-16c0-483a-af78-250b4a16884c"},{"id":"ba06adfd-6136-428b-9701-d0bfe1796483","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ebd3912d2c4b","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":10661,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":303300,"firstUsefulResultAt":"2026-09-27T02:07:25.640Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.292-release-target-parity","prNumber":null,"terminal":false,"missionId":"ebd3912d-2c4b-40b6-948c-663d4f2393f2","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":612,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":612,"missionSetupMs":232,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":232,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":232,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":232,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"ebd3912d-2c4b-40b6-948c-663d4f2393f2"},"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":1421,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T02:12:23.302517+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ebd3912d-2c4b-40b6-948c-663d4f2393f2:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"6fc68e38-c3a3-44d4-932c-7c4e45a6e130","command_center_event_id":"ebd3912d-2c4b-40b6-948c-663d4f2393f2"},{"id":"ba07a955-f409-4f7d-ae4c-136761e31e20","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:64f7b13a-237e-40d9-adf5-0ddafda231bd","mission_step_id":null,"command_center_event_id":"64f7b13a-237e-40d9-adf5-0ddafda231bd"},{"id":"ba07c39b-2497-4cc6-910c-fe2aa45361cf","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/event-booking-finance-tenant-id","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.182-witness-render-cold-start-aware","prNumber":3135,"terminal":false,"missionId":"7f229be8-10c3-4395-8d2d-b3d378a8098d","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":11924,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1243,"missionSetupMs":431,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":431,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":431,"repositoryMutationMs":10681,"repositoryProviderMs":10681,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":5476,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":431,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":5205},"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":"7f229be8-10c3-4395-8d2d-b3d378a8098d"},"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":3173,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T17:37:52.710039+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3135","receipt_type":"execute_mission","idempotency_key":"mission:7f229be8-10c3-4395-8d2d-b3d378a8098d:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"674dfb69-c9ca-41ba-860d-b57c5a19d4fd","command_center_event_id":"7f229be8-10c3-4395-8d2d-b3d378a8098d"},{"id":"ba099bd1-fd65-4443-a79a-e12a166a9208","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"ac211b727ef0f363ca644e4d3e493c56388213b8","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Fix PAUL's false capability-denial regression proven by the owner's screenshot. In GodMode Console, any owner message that asks PAUL to inspect, verify, continue, fix, change, build, improve, deploy, merge, or otherwise interact with current KNOCKLAUNCH must never stay in the no-tools console_answer lane; route it into the canonical operator message lane with authenticated tools. Capability/current-work questions must also use the operator lane. Add a fail-closed final-message guard so a platform-admin response cannot claim PAUL lacks direct KNOCKLAUNCH access when authenticated operator capability exists. Add a durable regression case and contract assertions for this exact failure. Preserve tenant read-only boundaries and all current PAUL v4 behavior. Gate, squash merge, release operator-respond, and prove live.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"godmode-only","satisfied":true,"statement":"Only platform-admin/GodMode routing changes; tenant Sidekick remains read-only and tenant-scoped.","proofConditionIds":["proof-production"]},{"id":"one-operator-lane","satisfied":true,"statement":"Do not add a second execution system; actionable console_answer traffic must reuse the existing canonical operator message/tool lane.","proofConditionIds":["proof-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":["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":"6ea16f76fbe27e222361aaaed9c04e55564d76da1fa8b53138bc6ac6c42a2939","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":["supabaseEdge"],"requiredReleaseTargets":["supabaseEdge"],"migrationReleaseVerified":null,"releaseRequestContractHash":"6ea16f76fbe27e222361aaaed9c04e55564d76da1fa8b53138bc6ac6c42a2939"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T18:16:11.544499+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"ac211b727ef0f363ca644e4d3e493c56388213b8","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:10ded411-26dd-4812-9060-57b96a4451c8:request-contract:6ea16f76fbe27e222361aaaed9c04e55564d76da1fa8b53138bc6ac6c42a2939:ac211b727ef0f363ca644e4d3e493c56388213b8:verified:","mission_step_id":"5970d95b-438e-4cba-8d53-1ad7ba205094","command_center_event_id":"10ded411-26dd-4812-9060-57b96a4451c8"},{"id":"ba09b158-b44f-44ff-abab-9525e1e25c42","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-618c39d52c42","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":22192,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":1,"executorlessWaitMs":243894,"firstUsefulResultAt":"2026-09-24T18:20:29.093Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":3653,"terminal":false,"missionId":"618c39d5-2c42-4512-906b-f385844795a3","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":836,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":621,"approvedPlanMs":0,"missionSetupMs":455,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":258,"ledgerReconcileMs":0,"lineageReconcileMs":197,"resolvePreflightMs":455,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":258,"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":"618c39d5-2c42-4512-906b-f385844795a3"},"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":1969,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T18:24:38.15087+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3653","receipt_type":"execute_mission","idempotency_key":"mission:618c39d5-2c42-4512-906b-f385844795a3:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"fd06e013-0c99-4bca-a9d9-57c847664e9f","command_center_event_id":"618c39d5-2c42-4512-906b-f385844795a3"},{"id":"ba0a3752-65fa-4662-a215-a039e4da6737","source":"forgejo","status":"waiting","payload":{"branch":"ai/forgejo-merge-queue-exact-head-fallback-20260908","prNumber":2179,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"b1774ad1f02d7c9cfedf239102c512ab095bf651","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T21:53:37.81317+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"b1774ad1f02d7c9cfedf239102c512ab095bf651","external_id":"2179","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:210f64b2-71c3-402c-9a7e-52e2cae2546e:merged-pr:2179:b1774ad1f02d7c9cfedf239102c512ab095bf651","mission_step_id":"972c7e31-53cf-43b2-8272-663108ab65ef","command_center_event_id":"210f64b2-71c3-402c-9a7e-52e2cae2546e"},{"id":"ba0b23fe-8bd1-4a3e-ace8-99927f360080","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-7079ed540262","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3311,"terminal":false,"missionId":"7079ed54-0262-4d39-865d-72ec84c5c74d","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":4782,"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":"7079ed54-0262-4d39-865d-72ec84c5c74d"},"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-20T21:53:06.433591+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3311","receipt_type":"automatic_mission_resume","idempotency_key":"mission:7079ed54-0262-4d39-865d-72ec84c5c74d:automatic-mission-resume:3311:repair_mission_pr_ready_retryable","mission_step_id":"21db05da-699c-4d16-9a23-ae188014da53","command_center_event_id":"7079ed54-0262-4d39-865d-72ec84c5c74d"},{"id":"ba0dce37-9759-480f-9c03-d4a44d615ae3","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/connect-customer-facing-experiences","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":null,"terminal":false,"missionId":"bb675754-d0d6-47ee-8daf-e2c34b61b51b","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":"bb675754-d0d6-47ee-8daf-e2c34b61b51b"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":2462,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-05T11:47:01.258607+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:bb675754-d0d6-47ee-8daf-e2c34b61b51b:execute_mission:repair_mission_synthesis_ready","mission_step_id":"3a12cecd-e00e-4b84-9ed0-bc54a9bc76fc","command_center_event_id":"bb675754-d0d6-47ee-8daf-e2c34b61b51b"},{"id":"ba113c8d-c24e-4d3b-83fd-6682ccd68b77","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/mail-mobile-reader-refactor","reason":null,"status":"complete","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":2066,"terminal":false,"missionId":"7d4e4c38-0d9a-4ddb-992b-9484ed952713","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2827,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":326,"providerAuthMs":0,"ledgerPrepareMs":326,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":326,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":326,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"7d4e4c38-0d9a-4ddb-992b-9484ed952713"},"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":2444,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-07T14:28:30.669606+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"2066","receipt_type":"execute_mission","idempotency_key":"mission:7d4e4c38-0d9a-4ddb-992b-9484ed952713:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"827a175d-a4dc-4a5d-af18-0325052e297e","command_center_event_id":"7d4e4c38-0d9a-4ddb-992b-9484ed952713"},{"id":"ba124455-7478-4794-a2d2-48538b4965da","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":150531,"releaseCount":0,"toolCallCount":98,"repeatedCallCount":96,"executorlessWaitMs":4375075,"firstUsefulResultAt":"2026-10-06T12:36:24.932Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.67.0-stopless-self-heal","prNumber":5171,"terminal":false,"missionId":"22451b73-d567-4942-87a9-59f1a21cc342","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4193,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":4000,"approvedPlanMs":0,"missionSetupMs":400,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":287,"ledgerReconcileMs":0,"lineageReconcileMs":113,"resolvePreflightMs":400,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":287,"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":"22451b73-d567-4942-87a9-59f1a21cc342"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"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":1691,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T12:36:24.979054+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"5171","receipt_type":"execute_mission","idempotency_key":"mission:22451b73-d567-4942-87a9-59f1a21cc342:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"f719e6e8-bec9-4bff-b274-3f2da7b20824","command_center_event_id":"22451b73-d567-4942-87a9-59f1a21cc342"},{"id":"ba166be7-e170-4d59-b59f-1073b6361dfc","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner-authorized unique-orphan branch recovery with complete preserved scope plus resumed-PR queue safety fix.","baseSha":"2487281a716d73b698ac967504fe8800500b609d","issuedAt":1790651326315,"expiresAt":1790651506315,"missionId":"5de061b3-8aaa-4304-adf0-beb4e13c907f","authorizationId":"cbadc32a-9811-40ce-959c-52e6b8218846","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:08:46.558877+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"2487281a716d73b698ac967504fe8800500b609d","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:cbadc32a-9811-40ce-959c-52e6b8218846","mission_step_id":"7686a09c-ed80-4120-af5d-7c342d79815e","command_center_event_id":"5de061b3-8aaa-4304-adf0-beb4e13c907f"},{"id":"ba16fc08-6cce-4630-b376-3ab2d2fec27e","source":"forgejo","status":"verified","payload":{"branch":"ai/paul-tool-routing-cost-20260825","prNumber":763,"nextAction":null,"mergeCommitSha":"03a896343e32d2c6622eb498a116b58d884d86e5","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T01:44:00.39741+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"03a896343e32d2c6622eb498a116b58d884d86e5","external_id":"763","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:5e60e6a9-c1af-41bf-ae42-30c864b97b5c:merged-pr:763:03a896343e32d2c6622eb498a116b58d884d86e5","mission_step_id":"99aece44-6717-49ab-8d78-e5d7b6a7da4c","command_center_event_id":"5e60e6a9-c1af-41bf-ae42-30c864b97b5c"},{"id":"ba1701d8-8a7d-43f8-aabd-4c42c6d1ca31","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5d79a4ee37fb","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":21698,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":6,"executorlessWaitMs":153240,"firstUsefulResultAt":"2026-10-05T00:51:05.671Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":"1.64.94-terminal-completion-supervisor","prNumber":4872,"terminal":false,"missionId":"5d79a4ee-37fb-45b9-a387-3242fbd36775","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6461,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2179,"approvedPlanMs":690,"missionSetupMs":282,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":282,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":282,"repositoryMutationMs":3581,"repositoryProviderMs":3581,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2270,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":282,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1311},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"5d79a4ee-37fb-45b9-a387-3242fbd36775"},"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":1534,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T00:53:46.728176+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4872","receipt_type":"execute_mission","idempotency_key":"mission:5d79a4ee-37fb-45b9-a387-3242fbd36775:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"c5f49c26-8ce8-4d58-aaa9-afa0e14f251b","command_center_event_id":"5d79a4ee-37fb-45b9-a387-3242fbd36775"},{"id":"ba175607-928d-4acc-be1b-62f226dc99b1","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0cccfbf4b9c3811fccdfc98fcce33fc391cddebb","sourceSha":"d7ad665c62eccf1124a8bcf5b118e58cacd6c34e","sourceInMain":false,"compareStatus":"main_history_page_inconclusive","ancestryProofResolved":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T18:46:58.930562+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"d7ad665c62eccf1124a8bcf5b118e58cacd6c34e","external_id":"canonical-release-d7ad665c62ec","receipt_type":"canonical_release_status","idempotency_key":"mission:6b1d645e-bb3f-4738-bcd4-750bb6576a4c:forgejo-release-ancestry:d7ad665c62eccf1124a8bcf5b118e58cacd6c34e:0cccfbf4b9c3811fccdfc98fcce33fc391cddebb:main_history_page_inconclusive","mission_step_id":"0d5db0e9-9270-4708-a196-d5597bea2b95","command_center_event_id":"6b1d645e-bb3f-4738-bcd4-750bb6576a4c"},{"id":"ba1a1a6e-90ea-4346-ae89-bd0fb021cde5","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-bc17ba05a9c9","prNumber":3509,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"408a8cb75e551aba18ad4a867c877197ca7fbc2b","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T11:21:08.621119+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"408a8cb75e551aba18ad4a867c877197ca7fbc2b","external_id":"3509","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:bc17ba05-a9c9-4da0-851b-bb322456939b:merged-pr:3509:408a8cb75e551aba18ad4a867c877197ca7fbc2b","mission_step_id":"a00d3f89-1964-4873-9024-4cc90690e448","command_center_event_id":"bc17ba05-a9c9-4da0-851b-bb322456939b"},{"id":"ba1da9e7-d878-4aab-9088-cb8c39e41a34","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fast-ui-p0-pcg-owner-session-corrective-repair-t-e93fca38","reason":"retryable_provider_transport:pr_ready_timeout_budget_exhausted","status":"retryable","metrics":{"receiptBytes":54337,"releaseCount":0,"toolCallCount":36,"repeatedCallCount":26,"executorlessWaitMs":975439,"firstUsefulResultAt":"2026-10-04T02:11:11.887Z","recoveryAttemptCount":15,"ownerInterruptionCount":0},"version":null,"prNumber":4691,"terminal":false,"missionId":"d7089a22-1181-4309-a634-08a98fbf05a6","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":3000,"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":"d7089a22-1181-4309-a634-08a98fbf05a6"},"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":827,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T02:22:53.824178+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4691","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d7089a22-1181-4309-a634-08a98fbf05a6:automatic-mission-resume:4691:repair_mission_pr_ready_retryable","mission_step_id":"5c812e4f-bb38-49b5-8b38-ffd7405a968d","command_center_event_id":"d7089a22-1181-4309-a634-08a98fbf05a6"},{"id":"ba1dd43b-f486-4586-b928-cc5324694ccc","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml"],"reason":"Owner-authorized continuation of the same bounded control plane artifact-promotion repair; fail closed when effective public build inputs required live recovery.","baseSha":"db88e0550684eb167e94bc4ccb2925c1091a99b1","issuedAt":1788188910973,"expiresAt":1788189090973,"missionId":"94e78c83-5df9-45c4-af96-698f150160fd","singleUse":true,"authorizationId":"bff6c788-bec0-4ea5-ae66-977c26262d43"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T15:08:33.189944+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"db88e0550684eb167e94bc4ccb2925c1091a99b1","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:bff6c788-bec0-4ea5-ae66-977c26262d43","mission_step_id":"19dc7b17-67ec-4619-9d9e-a7849533c776","command_center_event_id":"94e78c83-5df9-45c4-af96-698f150160fd"},{"id":"ba1f72e9-9897-4582-be8f-bd955b7aee16","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.31.31-resumable-backup-failover","prNumber":4570,"terminal":false,"missionId":"ed0d1c49-6b1e-417f-8c15-a9e6d77fb73a","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"ed0d1c49-6b1e-417f-8c15-a9e6d77fb73a"},"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":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T22:15:55.620551+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4570","receipt_type":"ship_and_prove","idempotency_key":"mission:ed0d1c49-6b1e-417f-8c15-a9e6d77fb73a:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"f524a63c-50d4-4295-902e-6c1e7da9a538","command_center_event_id":"ed0d1c49-6b1e-417f-8c15-a9e6d77fb73a"},{"id":"ba208fdc-7fe2-4f31-83b2-8c0e44a327dc","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e75b3c5326fd","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":16487,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"executorlessWaitMs":191973,"firstUsefulResultAt":"2026-09-30T12:12:55.862Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4223,"terminal":false,"missionId":"e75b3c53-26fd-45d3-bb77-a3ea6f083eb2","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"c12bca8903905cce6888629ac932609ef9060c5c","timingsMs":{"prReadinessMs":72,"approvedPlanMs":0,"shipAndProveMs":283,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"e75b3c53-26fd-45d3-bb77-a3ea6f083eb2"},"performance":null,"deploymentId":"forgejo-main-c12bca890390","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":1840,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T12:17:15.300181+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4223","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e75b3c53-26fd-45d3-bb77-a3ea6f083eb2:automatic-mission-resume:4223:canonical_release_reconciliation_pending","mission_step_id":"f3df2fbf-014c-4f3d-aac4-7697d8f7a43b","command_center_event_id":"e75b3c53-26fd-45d3-bb77-a3ea6f083eb2"},{"id":"ba221ac1-40fb-4c00-adaf-b1bf74bbf9d2","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-087b9405b4b8","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":4036,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-30T12:53:17.075Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":4228,"terminal":false,"missionId":"087b9405-b4b8-453f-98e7-06d2da99ce2d","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4052,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":568,"missionSetupMs":285,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":285,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":285,"repositoryMutationMs":3484,"repositoryProviderMs":3484,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2189,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":285,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1295},"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":"087b9405-b4b8-453f-98e7-06d2da99ce2d"},"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":3756,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T12:53:22.161281+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4228","receipt_type":"execute_mission","idempotency_key":"mission:087b9405-b4b8-453f-98e7-06d2da99ce2d:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"1938801e-501f-4e22-9622-0bd4fdf85582","command_center_event_id":"087b9405-b4b8-453f-98e7-06d2da99ce2d"},{"id":"ba22e337-f8da-42c1-8848-0bb762a240b9","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-46a23538ac0f","prNumber":4022,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"12cc04a4af5f454af1e25a0c7389a5f920d3e97a","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T17:20:06.207633+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"12cc04a4af5f454af1e25a0c7389a5f920d3e97a","external_id":"4022","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:46a23538-ac0f-498a-85bf-1d527da22391:merged-pr:4022:12cc04a4af5f454af1e25a0c7389a5f920d3e97a","mission_step_id":"6c318291-87c9-429c-8655-1e2c18c6d872","command_center_event_id":"46a23538-ac0f-498a-85bf-1d527da22391"},{"id":"ba250c89-a66e-4d8d-bf59-2bc151561b81","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"workers/cc-execution/test/request-contract-target-evidence.test.js","content":"import test from \"node:test\";\nimport assert from \"node:assert/strict\";\nimport { evaluateRequestContractTargetEvidence } from \"../src/mission-ledger.js\";\n\ntest(\"repository migration wording does not invent a release target\", () => {\n  const result = evaluateRequestContractTargetEvidence({\n    id: \"repo-migration-lease\",\n    kind: \"repository\",\n    claim: \"migration release lease is present in the canonical workflow\",\n  }, [], {});\n  assert.equal(result.satisfied, true);\n  assert.deepEqual(result.requiredReleaseTargets, []);\n  assert.equal(result.migrationRequired, false);\n});\n\ntest(\"runtime migration wording may still infer the migrations target\", () => {\n  const result = evaluateRequestContractTargetEvidence({\n    id: \"runtime-migration\",\n    kind: \"runtime\",\n    claim: \"production migrations are applied and live\",\n  }, [], {});\n  assert.equal(result.satisfied, false);\n  assert.deepEqual(result.requiredReleaseTargets, [\"migrations\"]);\n  assert.equal(result.migrationRequired, true);\n});\n"}],"branch":"ai/objective-first-repair-989ae57e8b34","writes":[],"patches":[],"version":1,"approved":true,"missionId":"989ae57e-8b34-4860-ad0a-f6d203884c42","objective":"Correct request-contract release-target inference and its regression coverage in one bounded generation. Repository proof conditions must never infer production release targets from claim wording; implicit migration-target inference remains allowed only for runtime, release, or scope proof kinds. Update the existing release-orchestration invariant to assert that proof-kind guard, add a focused behavioral test for repository-vs-runtime migration wording, bump cc-execution to 1.64.98-proof-target-fidelity, Gate, merge, release, and prove live.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/test/request-contract-target-evidence.test.js"],"anchored_edits":[{"path":"workers/cc-execution/src/mission-ledger.js","anchor":"  const explicitRequiredTargets = requestContractReleaseTargetList(item.requiredReleaseTargets);\n  const requiredTargets = new Set(explicitRequiredTargets);\n  if (requiredTargets.size === 0 && proofClaimRequiresMigrationTarget(item)) requiredTargets.add(\"migrations\");","replacement":"  const explicitRequiredTargets = requestContractReleaseTargetList(item.requiredReleaseTargets);\n  const requiredTargets = new Set(explicitRequiredTargets);\n  const proofKind = text(item.kind, 80).toLowerCase();\n  const allowsImplicitReleaseInference = [\"runtime\", \"release\", \"scope\"].includes(proofKind);\n  if (requiredTargets.size === 0 && allowsImplicitReleaseInference && proofClaimRequiresMigrationTarget(item)) requiredTargets.add(\"migrations\");"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","anchor":"  assert.match(missionLedgerSource, /requiredTargets\\.size === 0 && proofClaimRequiresMigrationTarget\\(item\\)/);","replacement":"  assert.match(missionLedgerSource, /allowsImplicitReleaseInference && proofClaimRequiresMigrationTarget\\(item\\)/);\n  assert.match(missionLedgerSource, /\\[\"runtime\", \"release\", \"scope\"\\]\\.includes\\(proofKind\\)/);"},{"path":"workers/cc-execution/src/version.js","anchor":"export const CC_EXECUTION_VERSION = \"1.64.97-boring-release-v1\";","replacement":"export const CC_EXECUTION_VERSION = \"1.64.98-proof-target-fidelity\";"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Correct request-contract release-target inference and its regression coverage in one bounded generation. Repository proof conditions must never infer production release targets from claim wording; implicit migration-target inference remains allowed only for runtime, release, or scope proof kinds. Update the existing release-orchestration invariant to assert that proof-kind guard, add a focused behavioral test for repository-vs-runtime migration wording, bump cc-execution to 1.64.98-proof-target-fidelity, Gate, merge, release, and prove live.","wordingChanged":false,"canonicalIntent":"Correct request-contract release-target inference and its regression coverage in one bounded generation. Repository proof conditions must never infer production release targets from claim wording; implicit migration-target inference remains allowed only for runtime, release, or scope proof kinds. Update the existing release-orchestration invariant to assert that proof-kind guard, add a focused behavioral test for repository-vs-runtime migration wording, bump cc-execution to 1.64.98-proof-target-fidelity, Gate, merge, release, and prove live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"fidelity","statement":"Correct request-contract release-target inference and its regression coverage in one bounded generation. Repository proof conditions must never infer production release targets from claim wording; implicit migration-target inference remains allowed only for runtime, release, or scope proof kinds. Update the existing release-orchestration invariant to assert that proof-kind guard, add a focused behavioral test for repository-vs-runtime migration wording, bump cc-execution to 1.64.98-proof-target-fidelity, Gate, merge, release, and prove live.","provenance":{"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"objective":"Correct request-contract release-target inference and its regression coverage in one bounded generation. Repository proof conditions must never infer production release targets from claim wording; implicit migration-target inference remains allowed only for runtime, release, or scope proof kinds. Update the existing release-orchestration invariant to assert that proof-kind guard, add a focused behavioral test for repository-vs-runtime migration wording, bump cc-execution to 1.64.98-proof-target-fidelity, Gate, merge, release, and prove live.","constraints":[{"id":"runtime-preserved","statement":"Runtime/release/scope claims retain existing implicit migration-target inference.","provenance":{"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"live","kind":"runtime","claim":"cc-execution proof-target fidelity fix is live.","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":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/test/request-contract-target-evidence.test.js"],"requestContract":{"intent":{"rawUtterance":"Correct request-contract release-target inference and its regression coverage in one bounded generation. Repository proof conditions must never infer production release targets from claim wording; implicit migration-target inference remains allowed only for runtime, release, or scope proof kinds. Update the existing release-orchestration invariant to assert that proof-kind guard, add a focused behavioral test for repository-vs-runtime migration wording, bump cc-execution to 1.64.98-proof-target-fidelity, Gate, merge, release, and prove live.","wordingChanged":false,"canonicalIntent":"Correct request-contract release-target inference and its regression coverage in one bounded generation. Repository proof conditions must never infer production release targets from claim wording; implicit migration-target inference remains allowed only for runtime, release, or scope proof kinds. Update the existing release-orchestration invariant to assert that proof-kind guard, add a focused behavioral test for repository-vs-runtime migration wording, bump cc-execution to 1.64.98-proof-target-fidelity, Gate, merge, release, and prove live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"fidelity","statement":"Correct request-contract release-target inference and its regression coverage in one bounded generation. Repository proof conditions must never infer production release targets from claim wording; implicit migration-target inference remains allowed only for runtime, release, or scope proof kinds. Update the existing release-orchestration invariant to assert that proof-kind guard, add a focused behavioral test for repository-vs-runtime migration wording, bump cc-execution to 1.64.98-proof-target-fidelity, Gate, merge, release, and prove live.","provenance":{"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"objective":"Correct request-contract release-target inference and its regression coverage in one bounded generation. Repository proof conditions must never infer production release targets from claim wording; implicit migration-target inference remains allowed only for runtime, release, or scope proof kinds. Update the existing release-orchestration invariant to assert that proof-kind guard, add a focused behavioral test for repository-vs-runtime migration wording, bump cc-execution to 1.64.98-proof-target-fidelity, Gate, merge, release, and prove live.","constraints":[{"id":"runtime-preserved","statement":"Runtime/release/scope claims retain existing implicit migration-target inference.","provenance":{"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"live","kind":"runtime","claim":"cc-execution proof-target fidelity fix is live.","required":true,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/test/request-contract-target-evidence.test.js"],"controlPlaneMaintenanceReason":"Owner-authorized release reliability correction for proof target inference and Gate invariant."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/test/request-contract-target-evidence.test.js"],"controlPlaneMaintenanceReason":"Owner-authorized release reliability correction for proof target inference and Gate invariant."},"recovery":false,"fingerprint":"8fa8a3c487d4d0aade7d50b412c175abfbdcb8d4e0854ce9d4ed2696f21bd41a","replayCount":0,"serializedBytes":11719},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:19:47.08067+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:989ae57e-8b34-4860-ad0a-f6d203884c42:repository-mutation-intent:8fa8a3c487d4d0aade7d50b412c175abfbdcb8d4e0854ce9d4ed2696f21bd41a:0","mission_step_id":"b0020dd8-afbc-40c5-b4c6-d5d647be5bee","command_center_event_id":"989ae57e-8b34-4860-ad0a-f6d203884c42"},{"id":"ba277ac2-2f62-49d8-9f7b-262ac854dfa8","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":272,"terminal":false,"missionId":"9e2c2bc1-7901-43f9-b67f-5d69cf2ee22c","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"8d51ac2031d957e902a6ccbbe0a9446d0412271d","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"9e2c2bc1-7901-43f9-b67f-5d69cf2ee22c"},"performance":null,"deploymentId":"forgejo-main-8d51ac2031d9","workflowRunId":883,"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":6583,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-16T18:00:55.82863+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"8d51ac2031d957e902a6ccbbe0a9446d0412271d","external_id":"forgejo-main-8d51ac2031d9","receipt_type":"ship_and_prove","idempotency_key":"mission:9e2c2bc1-7901-43f9-b67f-5d69cf2ee22c:ship_and_prove:ship_and_prove_release_pending:8d51ac2031d957e902a6ccbbe0a9446d0412271d:883","mission_step_id":"ef2c55e9-fa12-4046-8451-23c21f6f2d51","command_center_event_id":"9e2c2bc1-7901-43f9-b67f-5d69cf2ee22c"},{"id":"ba28ba4d-b9f1-4071-816b-0ecadceec537","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/add-vista-owner-navigation-20260828","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":9114,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":914,"terminal":false,"missionId":"8a6ad280-d33f-4a84-9579-ab8cfb8283e3","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":333,"missionSetupMs":947},"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":"8a6ad280-d33f-4a84-9579-ab8cfb8283e3"},"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":9684,"likelyAffectedFiles":["src/components/TenantRouter.tsx","src/components/UnifiedProtectedRoute.tsx","src/components/WorkflowRouter.tsx","src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","src/components/ContactsRouter.tsx","src/components/LeadsRouter.tsx","src/components/RebuttalsRouter.tsx","src/components/CallFlow/steps/OpeningScriptStep.tsx","src/components/GlobalCommandPalette.tsx","src/components/JobTracker/JobPhotoGallery.tsx","src/components/admin/AdminPage.tsx","src/components/admin/AdminPageContext.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T04:05:33.374811+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":"914","receipt_type":"execute_mission","idempotency_key":"mission:8a6ad280-d33f-4a84-9579-ab8cfb8283e3:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"3d892667-c7c0-4663-aae5-e91ac3aa3c3d","command_center_event_id":"8a6ad280-d33f-4a84-9579-ab8cfb8283e3"},{"id":"ba294d6c-2532-49f3-bc22-616ad7300381","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/thirsty-panda-cafe-qsr","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.15-mcp-oauth-tool-security","prNumber":null,"terminal":false,"missionId":"fec7101b-3160-4343-b68d-f2507a3fac65","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":"fec7101b-3160-4343-b68d-f2507a3fac65"},"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":10271,"likelyAffectedFiles":["src/components/admin/TenantUserCommandCenters.tsx","src/components/TenantRouter.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/tenant-template-registry.contract.test.ts","src/__tests__/contracts/unified-protected-route-tenant-scope.contract.test.ts",".forgejo/workflows/knocklaunch.yml","src/components/admin/config/TenantOverviewPanel.tsx","src/components/admin/EnhancedTenantManagement.tsx","src/components/admin/TenantCreationWizard.tsx","src/components/GlobalCommandPalette.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-17T03:22:05.602994+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fec7101b-3160-4343-b68d-f2507a3fac65:execute_mission:repair_mission_synthesis_ready","mission_step_id":"75ac33ed-05a5-4de9-b335-7a2c8adf8963","command_center_event_id":"fec7101b-3160-4343-b68d-f2507a3fac65"},{"id":"ba29dcf0-f261-4ef6-8263-ec6877616b32","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\":\"implementation\",\"status\":\"failed\",\"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-live\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-05T18:52:44.56628+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-72b21c3e664f\",\"prNumber\":4959,\"sourceSha\":\"8b19c53a97a7c8d7626419199391d9da271e7a3b\",\"deploymentId\":\"forgejo-main-8b19c53a97a7\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:53:28.121362+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:72b21c3e-664f-49a0-ae3b-c0d3d178e4c3:owner-progress-heartbeat:119414373","mission_step_id":"b6a0e178-bfe9-41aa-bd57-b61e3e972b67","command_center_event_id":"72b21c3e-664f-49a0-ae3b-c0d3d178e4c3"},{"id":"ba2a50f4-272d-497d-b0c5-636afe844ead","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:scripts/windows/install-knocklaunch-autoconnect.ps1","fingerprint":"79486c36b760c0c960b1bab30ef844d1645154d6335edfce694240ffadb7ed00"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:36:22.77438+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:af8222c2-5907-4d92-b4a9-503465f6fc00:repository-mutation-intent-blocked:79486c36b760c0c960b1bab30ef844d1645154d6335edfce694240ffadb7ed00","mission_step_id":"4e9e448a-b013-480a-8fa1-a8ec7c36b06d","command_center_event_id":"af8222c2-5907-4d92-b4a9-503465f6fc00"},{"id":"ba2bfc17-ae15-43f0-9bc5-1db659f7868b","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/seaside-opacity-removal","reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":5100,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.30.18-repair-continuation-release","prNumber":null,"terminal":false,"missionId":"af80792b-1a57-4ed7-a4a6-a8831f25c523","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"af80792b-1a57-4ed7-a4a6-a8831f25c523"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":417,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-06T03:00:24.296941+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:af80792b-1a57-4ed7-a4a6-a8831f25c523:execute_mission:repair_mission_execution_blocked","mission_step_id":"60fcd4a6-6e6b-456c-b8d3-a5d8ba913557","command_center_event_id":"af80792b-1a57-4ed7-a4a6-a8831f25c523"},{"id":"ba2e2a71-1150-4193-b527-569bcc0b88f6","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"canonical_release_run_not_observed_after_dispatch","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.5-truthful-release-correlation","prNumber":3933,"terminal":true,"missionId":"15f77cfe-9a6e-4dd0-a26b-3793fde9ab0b","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"15f77cfe-9a6e-4dd0-a26b-3793fde9ab0b"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"sourceReceiptBytes":182,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-04T01:16:35.532871+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"3933","receipt_type":"ship_and_prove","idempotency_key":"mission:15f77cfe-9a6e-4dd0-a26b-3793fde9ab0b:ship_and_prove:canonical_release_blocked","mission_step_id":"c05d9343-6f33-409f-9f0a-52413327c8ea","command_center_event_id":"15f77cfe-9a6e-4dd0-a26b-3793fde9ab0b"},{"id":"ba30b05f-e9a5-4d07-8b17-eba63ab46707","source":"forgejo","status":"waiting","payload":{"branch":"ai/legacy-mission-id-terminalization-20260910","prNumber":2281,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"b5e7e1bb2b57a09ae3418e336d80d4b424e6cba5","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T06:16:42.011455+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"b5e7e1bb2b57a09ae3418e336d80d4b424e6cba5","external_id":"2281","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:20aae700-7266-447e-844c-b0d60ddea665:merged-pr:2281:b5e7e1bb2b57a09ae3418e336d80d4b424e6cba5","mission_step_id":"0eec9e76-db11-4b2b-b885-ed4bb93994ed","command_center_event_id":"20aae700-7266-447e-844c-b0d60ddea665"},{"id":"ba31202e-6aa0-466e-961b-8b81076e1210","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1975,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.31.8-visual-objective-proof","prNumber":null,"terminal":false,"missionId":"03c6700a-175b-40a7-b9ff-7ebd9106f53f","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":"03c6700a-175b-40a7-b9ff-7ebd9106f53f"},"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":1886,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-08T04:12:28.722358+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:03c6700a-175b-40a7-b9ff-7ebd9106f53f:execute_mission:repair_mission_synthesis_ready","mission_step_id":"a26d41be-2955-45c2-84ac-2b598abd4d5f","command_center_event_id":"03c6700a-175b-40a7-b9ff-7ebd9106f53f"},{"id":"ba32e05e-ccb1-47c0-b12d-f503f947c59d","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/PrivateAppShell.tsx","config/contracts/PREHISTORIC-001-TENANT-MEDIA.json","config/canonical-platform-primitives.json"],"continuationObjective":"IMPLEMENT, MODIFY, AND SHIP TO PRODUCTION: replacement for failed PR #5095. From current main, make the complete canonical platform-wide Profile & Settings media contract support images and MP4/WebM video for every tenant wherever configurable visual media can render motion. Include brand logo/background/hero/loading media, Website Assets visual slots, WMP/BMD public-surface media slots, and Profile MODES/sub-mode route media. Preserve existing image data/behavior, tenant isolation, storage and publishing. Persist MIME type where canonical stable URLs do not expose extensions; render decorative video muted/autoplay/loop/playsInline with existing framing/fit/opacity/blur/scale controls. Keep favicon and truly static provider surfaces explicitly image/static-only. Gate, squash-merge, deploy frontend and tenant-media-library edge function, and prove production live. This is explicit owner authorization to mutate source and ship."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:32:34.343697+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:d7586885-7b89-43e3-8c02-cf8be031f714:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"78d2ddf3-28fa-48c5-96e6-b2901b919874","command_center_event_id":"d7586885-7b89-43e3-8c02-cf8be031f714"},{"id":"ba33a4b0-43f8-4c59-9b5f-c879b6bc2b2d","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c90b228f2a10","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.175-repository-source-fastpath","prNumber":2972,"terminal":false,"missionId":"c90b228f-2a10-4040-b752-7401578b7892","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"2a192ae13b98d1cb44cca8a76164577192d7ee7e","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7099,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":774,"approvedPlanMs":0,"missionSetupMs":792,"providerAuthMs":0,"shipAndProveMs":5785,"ledgerPrepareMs":423,"ledgerReconcileMs":0,"lineageReconcileMs":369,"resolvePreflightMs":792,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":423,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"c90b228f-2a10-4040-b752-7401578b7892"},"performance":null,"deploymentId":"forgejo-main-2a192ae13b98","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":2531,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T23:23:59.551+00:00","proof_gate":"canonical_release_dispatched","source_sha":"2a192ae13b98d1cb44cca8a76164577192d7ee7e","external_id":"forgejo-main-2a192ae13b98","receipt_type":"execute_mission","idempotency_key":"mission:c90b228f-2a10-4040-b752-7401578b7892:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"ffa719c4-cda5-4767-a31a-9aee58a689e8","command_center_event_id":"c90b228f-2a10-4040-b752-7401578b7892"},{"id":"ba35a5a6-a981-45a2-af14-80f7be613e73","source":"forgejo-runtime","status":"failed","payload":{"failed":["render-onrunner/runtime-proof"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","render-onrunner/runtime-proof":"failure"},"mainSha":"960f6502a72f811c95b56a1a7ed205bb56d6ea50","missing":[],"pending":["forgejo-release/workflow"],"required":["forgejo-main/source","forgejo-release/workflow","render-onrunner/runtime-proof"],"sourceSha":"960f6502a72f811c95b56a1a7ed205bb56d6ea50","releaseState":"failed","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"pending"},"requestContractHash":"1f6303a93b2efcf1cdac77e957f8302b53293ae96b707601b04c7d633f8f8489","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/8081","runId":8081,"status":"running","sourceSha":"960f6502a72f811c95b56a1a7ed205bb56d6ea50","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"onrunner":"pending"},"targetJobCount":7,"observedTargetStates":{"onrunner":"pending"}},"onrunnerRuntimeProof":{"reason":"render_onrunner_source_mismatch","hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":false,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"93a2307c4f51bec3b79306a970a9fd9bcaa29acd","runnerVersion":"onrunner-93a2307c4f51","expectedSourceSha":"960f6502a72f811c95b56a1a7ed205bb56d6ea50"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T06:18:09.946724+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"960f6502a72f811c95b56a1a7ed205bb56d6ea50","external_id":"forgejo-main-960f6502a72f","receipt_type":"canonical_release_status","idempotency_key":"mission:bc6b7ace-3335-40d9-b595-24e150309eab:forgejo-release-status:960f6502a72f811c95b56a1a7ed205bb56d6ea50:failed:forgejo-main/source=success|forgejo-release/workflow=pending|render-onrunner/runtime-proof=failure","mission_step_id":"59b88834-2f16-4c21-9f59-70304863a53b","command_center_event_id":"bc6b7ace-3335-40d9-b595-24e150309eab"},{"id":"ba362ddd-ee27-43de-b6ad-326c5df26779","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\":\"control_plane_maintenance_authorization\",\"status\":\"authorized\",\"proofGate\":\"control_plane_maintenance_scope_authorized\"},\"activeStep\":null,\"nextStep\":null,\"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\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-4a52fe693cf8\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T14:16:16.696513+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:4a52fe69-3cf8-4bab-8a6c-7bdf8168d817:owner-progress-heartbeat:119390945","mission_step_id":"204848fa-52ab-4a31-bce8-51b7a77a7ec5","command_center_event_id":"4a52fe69-3cf8-4bab-8a6c-7bdf8168d817"},{"id":"ba3684a5-c4c3-4dec-b00d-12b7092e62c6","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-024e44a3e05b","reason":"control_plane_maintenance_base_sha_mismatch","status":"blocked","metrics":{"receiptBytes":22938,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":510300,"firstUsefulResultAt":"2026-10-01T10:15:58.201Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.34-mcp-response-budgets","prNumber":null,"terminal":false,"missionId":"024e44a3-e05b-4b36-b233-40ae126f86b9","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":210,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":210,"missionSetupMs":339,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":339,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":339,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":339,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"024e44a3-e05b-4b36-b233-40ae126f86b9"},"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":1669,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T10:24:30.234322+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:024e44a3-e05b-4b36-b233-40ae126f86b9:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"769e955e-0d24-4ec9-82a7-bc2274356436","command_center_event_id":"024e44a3-e05b-4b36-b233-40ae126f86b9"},{"id":"ba37dd9e-ee50-4a14-9300-8aa1418e0050","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-vista-r2-photo-binding-20260827","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":8761,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.54.0-intent-canonicalization","prNumber":883,"terminal":false,"missionId":"d296a85a-3275-49b5-bd1c-a875418240fe","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"00c715c402db8cae6ad95ff8b2f39822525ad073","timingsMs":{"handlerMs":9002,"prReadinessMs":271,"approvedPlanMs":0,"missionSetupMs":559,"shipAndProveMs":8613},"nextAction":null,"receiptRef":{"mode":"full","missionId":"d296a85a-3275-49b5-bd1c-a875418240fe"},"performance":null,"deploymentId":"forgejo-main-00c715c402db","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-photo-studio"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6363,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-27T23:55:56.126455+00:00","proof_gate":"canonical_release_dispatched","source_sha":"00c715c402db8cae6ad95ff8b2f39822525ad073","external_id":"forgejo-main-00c715c402db","receipt_type":"execute_mission","idempotency_key":"mission:d296a85a-3275-49b5-bd1c-a875418240fe:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"ec0a49f9-e945-4953-bbf6-7a9a6dbdb539","command_center_event_id":"d296a85a-3275-49b5-bd1c-a875418240fe"},{"id":"ba389f83-9f63-4d17-b615-5bad73a17eaa","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-06T05:32:39.898071+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/seaside-public-edge-jwt-fix\",\"prNumber\":4114,\"sourceSha\":\"acb8f23ddc93340bc1e980370ad4dce52426cd87\",\"deploymentId\":\"canonical-release-acb8f23ddc93\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T10:11:35.213661+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6b756721-24b0-4854-9b20-01bca607a9a5:owner-progress-heartbeat:119407246","mission_step_id":"ccb1ca9f-c563-458b-8dea-75b1705eb779","command_center_event_id":"6b756721-24b0-4854-9b20-01bca607a9a5"},{"id":"ba3baf86-456f-41f0-920c-1449bffe02ec","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"On the existing CURRI PR #2569 only, repair the exact current TypeScript blocker in src/components/notifications/NotificationBell.tsx. Change the component signature from `export default function NotificationBell()` to accept an optional className prop, e.g. `export default function NotificationBell(_props: { className?: string })`, while keeping `return null;` unchanged. Do not modify any other behavior or file beyond the already-existing CURRI PR changes. Then re-run KnockLaunch Gate, squash merge PR #2569, deploy frontend-only, and prove the live CURRI Profile and Settings interactions.","wordingChanged":false,"canonicalIntent":"On the existing CURRI PR #2569 only, repair the exact current TypeScript blocker in src/components/notifications/NotificationBell.tsx. Change the component signature from `export default function NotificationBell()` to accept an optional className prop, e.g. `export default function NotificationBell(_props: { className?: string })`, while keeping `return null;` unchanged. Do not modify any other behavior or file beyond the already-existing CURRI PR changes. Then re-run KnockLaunch Gate, squash merge PR #2569, deploy frontend-only, and prove the live CURRI Profile and Settings interactions.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"compile","statement":"NotificationBell accepts optional className while continuing to render null, allowing TenantModesShell to typecheck.","proofConditionIds":["repo-proof","release-proof"]},{"id":"curri-live","statement":"CURRI account Profile and Settings navigation is deployed and works in production.","proofConditionIds":["release-proof","profile-proof","settings-proof"]}],"objective":"On the existing CURRI PR #2569 only, repair the exact current TypeScript blocker in src/components/notifications/NotificationBell.tsx. Change the component signature from `export default function NotificationBell()` to accept an optional className prop, e.g. `export default function NotificationBell(_props: { className?: string })`, while keeping `return null;` unchanged. Do not modify any other behavior or file beyond the already-existing CURRI PR changes. Then re-run KnockLaunch Gate, squash merge PR #2569, deploy frontend-only, and prove the live CURRI Profile and Settings interactions.","constraints":[{"id":"bounded","statement":"Only the existing CURRI PR changes plus the one NotificationBell signature compatibility edit are allowed; no backend, auth, data, Supabase, or unrelated tenant behavior changes.","proofConditionIds":["repo-proof","release-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":["repo-proof","release-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":["repo-proof","release-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Forgejo PR #2569 contains the existing CURRI repair plus only the one NotificationBell signature compatibility edit required for typecheck.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":[]},{"id":"release-proof","kind":"release","claim":"PR #2569 passes KnockLaunch Gate, squash merges, and deploys frontend-only to production.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"profile-proof","kind":"interaction","claim":"From CURRI Control Center dashboard, clicking Profile opens the canonical CURRI profile page without the error screen.","route":"/curri-control-center/dashboard","roleRef":"GodMode","userRef":null,"required":true,"expectedText":"Profile & settings","targetedActions":[{"label":"Open CURRI account menu","action":"click","selector":"[data-tenant-modes-account-menu=\"true\"] button"},{"text":"My profile","label":"Open Profile","action":"click"}],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"settings-proof","kind":"interaction","claim":"From CURRI Control Center dashboard, clicking Settings opens the canonical CURRI tenant settings page without the error screen.","route":"/curri-control-center/dashboard","roleRef":"GodMode","userRef":null,"required":true,"expectedText":"Manage your business identity","targetedActions":[{"label":"Open CURRI account menu","action":"click","selector":"[data-tenant-modes-account-menu=\"true\"] button"},{"text":"Workspace settings","label":"Open Settings","action":"click"}],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[],"capabilityManifest":{"id":"On-the-existing-CURRI-PR-2569-only-repair-the-exact-current-TypeScript-blocker-in-src-components-not","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","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","release-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":"1d6adeccbe8c9c7d48108206796a6d2fcf879f4256a672f5c245b0bf8bb3933f","requestContractRevision":2,"previousRequestContractHash":"3f47ab7619f1b774e02b8390f77782ad5a1e22eddb4beb7e5f07582f8dc83907"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T23:43:32.86056+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:2ad8e98b-68e6-4635-a5b0-f1482869aec2:request-contract:1d6adeccbe8c9c7d48108206796a6d2fcf879f4256a672f5c245b0bf8bb3933f","mission_step_id":"6083715b-a0e6-4fdf-b332-76e30e4ded92","command_center_event_id":"2ad8e98b-68e6-4635-a5b0-f1482869aec2"},{"id":"ba3ca29d-3327-4da7-b106-08f2fa24d682","source":"cc-execution","status":"waiting","payload":{"body":{"branch":"ai/objective-first-repair-7a24ce9b04f0","approved":true,"missionId":"7a24ce9b-04f0-4ff9-92b5-95fcbbeb8278","objective":"Continue the existing durable mission using exact structured edits.","repository":"noel/KnockLaunchOS","trackMission":true,"ownerApproved":true,"anchored_edits":[{"path":"supabase/functions/tenant-media-library/index.ts","new_string":"async function r2Get(bucket:string,key:string,range:string|null){if(bucket==='la-vista-del-mar'){const h:Record<string,string>={};if(range)h.Range=range;return await (await vistaClient()).fetch(r2S3(bucket,key),{headers:h})}const h:Record<string,string>={Authorization:`Bearer ${CF_TOKEN}`};if(range)h.Range=range;return await fetch(`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(CF_ACCOUNT)}/r2/buckets/${encodeURIComponent(bucket)}/objects/${encodeKey(key)}`,{headers:h})}\nasync function ensureR2Bucket(bucket:string){if(!CF_ACCOUNT||!CF_TOKEN)throw new Error('r2_not_configured');const base=`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(CF_ACCOUNT)}/r2/buckets`;const existing=await fetch(`${base}/${encodeURIComponent(bucket)}`,{headers:{Authorization:`Bearer ${CF_TOKEN}`}});if(existing.ok)return;if(existing.status!==404)throw new Error(`r2_bucket_check_failed:${existing.status}`);const created=await fetch(base,{method:'POST',headers:{Authorization:`Bearer ${CF_TOKEN}`,'Content-Type':'application/json'},body:JSON.stringify({name:bucket})});const payload=await created.json().catch(()=>null) as any;if(!created.ok||payload?.success===false)throw new Error(`r2_bucket_create_failed:${created.status}`)}\nasync function r2Put(bucket:string,key:string,bytes:Uint8Array,contentType:string){await ensureR2Bucket(bucket);const form=new FormData();form.set('body',new Blob([bytes],{type:contentType}),basename(key));const response=await fetch(`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(CF_ACCOUNT)}/r2/buckets/${encodeURIComponent(bucket)}/objects/${encodeKey(key)}`,{method:'PUT',headers:{Authorization:`Bearer ${CF_TOKEN}`},body:form});const payload=await response.json().catch(()=>null) as any;if(!response.ok||payload?.success===false)throw new Error(`r2_put_failed:${response.status}`)}\nasync function r2Delete(bucket:string,key:string){if(!CF_ACCOUNT||!CF_TOKEN)throw new Error('r2_not_configured');const response=await fetch(`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(CF_ACCOUNT)}/r2/buckets/${encodeURIComponent(bucket)}/objects/${encodeKey(key)}`,{method:'DELETE',headers:{Authorization:`Bearer ${CF_TOKEN}`}});if(!response.ok&&response.status!==404)throw new Error(`r2_delete_failed:${response.status}`)}\nasync function finalizeImageToR2(row:any){const bucket=String(row.bucket_name||'').trim();const key=String(row.storage_key||row.original_key||'').trim();const content=mimeFor(key,row.mime_type);if(String(row.storage_provider||'')!=='supabase'||!content.startsWith('image/'))return row;if(!bucket||!key)throw new Error('asset_storage_bucket_missing');const staged=await admin.storage.from(bucket).download(key);if(staged.error||!staged.data)throw staged.error||new Error('staged_image_missing');const bytes=new Uint8Array(await staged.data.arrayBuffer());await r2Put(bucket,key,bytes,content);const now=new Date().toISOString();const metadata={...record(row.metadata),upload_pending:false,r2_canonical:true,r2_migrated_at:now,r2_source:'supabase_staging'};const saved=await admin.from('tenant_media_assets').update({storage_provider:'r2',bucket_name:bucket,original_key:key,storage_key:key,status:'ready',metadata,updated_at:now}).eq('id',row.id).eq('tenant_id',row.tenant_id).select('*').single();if(saved.error)throw saved.error;const removed=await admin.storage.from(bucket).remove([key]);if(removed.error)console.error('[tenant-media-library] staged_image_cleanup_failed',row.id,removed.error.message);return saved.data}\nfunction relay(req:Request,key:string,upstream:Response)","old_string":"async function r2Get(bucket:string,key:string,range:string|null){if(bucket==='la-vista-del-mar'){const h:Record<string,string>={};if(range)h.Range=range;return await (await vistaClient()).fetch(r2S3(bucket,key),{headers:h})}const h:Record<string,string>={Authorization:`Bearer ${CF_TOKEN}`};if(range)h.Range=range;return await fetch(`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(CF_ACCOUNT)}/r2/buckets/${encodeURIComponent(bucket)}/objects/${encodeKey(key)}`,{headers:h})}function relay(req:Request,key:string,upstream:Response)","expected_replacements":1},{"path":"supabase/functions/tenant-media-library/index.ts","new_string":"if(action==='finalize_upload'){const id=String(body.assetId||'');const found=await admin.from('tenant_media_assets').select('*').eq('id',id).eq('tenant_id',tenantId).single();if(found.error)throw found.error;const content=mimeFor(String(found.data?.storage_key||found.data?.original_key||found.data?.title||''),found.data?.mime_type);if(content.startsWith('image/')){const row=await finalizeImageToR2(found.data);return json({ok:true,asset:await hydrate(req,row)})}const metadata={...record(found.data?.metadata),upload_pending:false};const {data:row,error}=await admin.from('tenant_media_assets').update({status:'ready',metadata,updated_at:new Date().toISOString()}).eq('id',id).eq('tenant_id',tenantId).select('*').single();if(error)throw error;return json({ok:true,asset:await hydrate(req,row)})}","old_string":"if(action==='finalize_upload'){const id=String(body.assetId||'');const found=await admin.from('tenant_media_assets').select('*').eq('id',id).eq('tenant_id',tenantId).single();if(found.error)throw found.error;const metadata={...record(found.data?.metadata),upload_pending:false};const {data:row,error}=await admin.from('tenant_media_assets').update({status:'ready',metadata,updated_at:new Date().toISOString()}).eq('id',id).eq('tenant_id',tenantId).select('*').single();if(error)throw error;return json({ok:true,asset:await hydrate(req,row)})}","expected_replacements":1},{"path":"supabase/functions/tenant-media-library/index.ts","new_string":"if(action==='delete'){const id=String(body.assetId||'');const found=await admin.from('tenant_media_assets').select('*').eq('id',id).eq('tenant_id',tenantId).single();if(found.error)throw found.error;const row:any=found.data;const storageBucket=String(row.bucket_name||'');const storageKey=String(row.storage_key||row.original_key||'');if(row.storage_provider==='supabase'){if(!storageBucket)throw new Error('asset_storage_bucket_missing');const removed=await admin.storage.from(storageBucket).remove([storageKey]);if(removed.error)throw removed.error}else if(row.storage_provider==='r2'){if(!storageBucket||!storageKey)throw new Error('asset_storage_bucket_missing');await r2Delete(storageBucket,storageKey)}const {error}=await admin.from('tenant_media_assets').update({deleted_at:new Date().toISOString(),published:false,updated_at:new Date().toISOString()}).eq('id',id).eq('tenant_id',tenantId);if(error)throw error;return json({ok:true,deleted:id})}","old_string":"if(action==='delete'){const id=String(body.assetId||'');const found=await admin.from('tenant_media_assets').select('*').eq('id',id).eq('tenant_id',tenantId).single();if(found.error)throw found.error;const row:any=found.data;if(row.storage_provider==='supabase'){const storageBucket=String(row.bucket_name||'');if(!storageBucket)throw new Error('asset_storage_bucket_missing');const removed=await admin.storage.from(storageBucket).remove([row.storage_key||row.original_key]);if(removed.error)throw removed.error}const {error}=await admin.from('tenant_media_assets').update({deleted_at:new Date().toISOString(),published:false,updated_at:new Date().toISOString()}).eq('id',id).eq('tenant_id',tenantId);if(error)throw error;return json({ok:true,deleted:id})}","expected_replacements":1}],"update_strategy":"auto","controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"78b0d99207c475087cb8d20fa1cebe502ecb9fa7f97ed8065ee2d14a796e0589","replayCount":0,"serializedBytes":8033},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T13:19:05.412404+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:7a24ce9b-04f0-4ff9-92b5-95fcbbeb8278:repository-mutation-intent:78b0d99207c475087cb8d20fa1cebe502ecb9fa7f97ed8065ee2d14a796e0589:0","mission_step_id":"a38d6f6d-06e5-4a18-85bf-e68633ab0419","command_center_event_id":"7a24ce9b-04f0-4ff9-92b5-95fcbbeb8278"},{"id":"ba3e3f38-8ad9-43bb-bd50-c2ae054d9a71","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/godmode-restore-points-live-state-scroll-20260910","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.90-mission-terminalization","prNumber":2283,"terminal":false,"missionId":"d8c80676-1882-46d0-9b8f-84a26e9c55bc","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8878,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3056,"approvedPlanMs":0,"missionSetupMs":1365,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":367,"ledgerReconcileMs":0,"lineageReconcileMs":998,"resolvePreflightMs":1365,"repositoryMutationMs":5208,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":367,"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":"d8c80676-1882-46d0-9b8f-84a26e9c55bc"},"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":1506,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T06:06:43.671615+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2283","receipt_type":"execute_mission","idempotency_key":"mission:d8c80676-1882-46d0-9b8f-84a26e9c55bc:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"bb079050-736b-4ab8-be4d-4a912941cf4d","command_center_event_id":"d8c80676-1882-46d0-9b8f-84a26e9c55bc"},{"id":"ba40f539-0c91-401f-b4ba-158c2f7f1202","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"27a42020a78e42d6e08c9423a9f2b93209071065","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"durable-chat","satisfied":false,"statement":"Every Sidekick v3 turn is durably appended to the existing Command Center session ledger and survives refresh/reopen.","proofConditionIds":["proof-storage","proof-ui"]},{"id":"session-archive","satisfied":false,"statement":"The Console exposes current sessions plus searchable past chats with restored chat history and searchable Command Center runs/proof.","proofConditionIds":["proof-ui","proof-search"]},{"id":"resume","satisfied":false,"statement":"Selecting a past chat restores its transcript/context and selecting a route-bearing Witness/run entry reopens the Witness around that historical route.","proofConditionIds":["proof-ui"]}],"satisfied":false,"constraints":[{"id":"reuse-ledger","satisfied":true,"statement":"Reuse command_center_events, command_center_messages, and command_center_receipts; do not create a parallel session-history table.","proofConditionIds":["proof-storage"]},{"id":"owner-only","satisfied":true,"statement":"All history/search/append RPCs are system-admin gated and browser access is least-privilege.","proofConditionIds":["proof-storage"]},{"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-ui"]},{"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-ui"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"Preserve the approved Console composition and current full-canvas Witness/Sidekick hierarchy while adding the session drawer.","proofConditionIds":["proof-ui"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Session archive remains usable on desktop and mobile without replacing the existing Console/Witness information hierarchy.","proofConditionIds":["proof-ui"]},{"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-ui"]},{"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-storage","proof-search"]},{"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-storage","proof-search"]}],"contractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-storage","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":true,"releaseTargetStates":{"frontend":"success","migrations":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","migrations"],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"migrationReleaseVerified":true,"releaseRequestContractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618"},"required":true,"satisfied":true},{"id":"proof-ui","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"27a42020a78e42d6e08c9423a9f2b93209071065","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false},{"id":"proof-search","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":true,"releaseTargetStates":{"frontend":"success","migrations":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","migrations"],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"migrationReleaseVerified":true,"releaseRequestContractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend","migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:49:10.32522+00:00","proof_gate":"request_contract_pending","source_sha":"27a42020a78e42d6e08c9423a9f2b93209071065","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:request-contract:0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618:27a42020a78e42d6e08c9423a9f2b93209071065:pending:visual","mission_step_id":"1ce1182e-8649-4534-bc56-38997cd15e2e","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"ba410d09-3cac-4c83-b388-6b01d073713d","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-2de8885eb3fa","prNumber":4578,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"0b424504b606851c53707d3fcb5e93e7c1382d14","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:06:55.719547+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"0b424504b606851c53707d3fcb5e93e7c1382d14","external_id":"4578","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:2de8885e-b3fa-4534-bcf4-73b46fc72746:merged-pr:4578:0b424504b606851c53707d3fcb5e93e7c1382d14","mission_step_id":"0e7c2496-cab2-4e84-a881-e3270c0c93a5","command_center_event_id":"2de8885e-b3fa-4534-bcf4-73b46fc72746"},{"id":"ba4376b9-233c-41d8-bf77-efd2a5ccf863","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/pages/card-grading/PCGWorkspace.tsx"],"continuationObjective":"Continue the same exact PCGWorkspace-only mutation and return the authoritative source bundle for full-file write."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T17:53:46.523504+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:279b5afd-8119-4e81-87ca-7b9e085f5ec1:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"3fa46880-3286-4324-a624-f4581eabb8af","command_center_event_id":"279b5afd-8119-4e81-87ca-7b9e085f5ec1"},{"id":"ba442614-427e-4630-97f6-c9366965564d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/tranzformer-auto-detailing-tenant-v2","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3749,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.47.2-release-lineage-compare","prNumber":null,"terminal":false,"missionId":"cac4ed3a-aa09-4471-8ac2-be7837ccd274","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":"cac4ed3a-aa09-4471-8ac2-be7837ccd274"},"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":9865,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","src/components/admin/TenantUserCommandCenters.tsx","src/__tests__/contracts/command-center-event-runtime.test.ts","scripts/visual-witness-hosted-runner/src/mission-gateway.mjs","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/cc-execution-onrunner-deploy-lane.contract.test.ts","src/__tests__/contracts/command-center-mission-control.test.ts","src/__tests__/contracts/command-center-mission-preflight.test.ts","scripts/supabase-migration-release.mjs","scripts/__tests__/supabase-migration-release.test.mjs","scripts/visual-witness-hosted-runner/contracts/sce-field-intelligence-real-user-canary.json","scripts/visual-witness-hosted-runner/src/async-gateway.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-18T17:20:17.154056+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:cac4ed3a-aa09-4471-8ac2-be7837ccd274:execute_mission:repair_mission_synthesis_ready","mission_step_id":"7d4cf29e-696c-4edc-bb31-b6be807fea0d","command_center_event_id":"cac4ed3a-aa09-4471-8ac2-be7837ccd274"},{"id":"ba45afb2-48ef-4cfe-ad5e-723110350590","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1968,"terminal":false,"missionId":"183963eb-e032-416e-ba0c-6d1b181ea338","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":"8a841db6db637453adf92974b7ad6a075372ed7b","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":"183963eb-e032-416e-ba0c-6d1b181ea338"},"performance":null,"deploymentId":"forgejo-main-8a841db6db63","workflowRunId":5901,"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":841,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T17:18:12.982201+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1968","receipt_type":"automatic_mission_resume","idempotency_key":"mission:183963eb-e032-416e-ba0c-6d1b181ea338:automatic-mission-resume:1968:repair_mission_pr_ready_retryable","mission_step_id":"a2383b1c-5f45-4e22-9141-ad9aa31c8bee","command_center_event_id":"183963eb-e032-416e-ba0c-6d1b181ea338"},{"id":"ba47330f-abe2-4573-8e48-10dc8b89c0e3","source":"cc-execution","status":"recorded","payload":{"objective":"Continue the exact applied state on PR #1586. Append the next verified chunk of the exact owner PCG background asset only; do not ship this intermediate state.","tenantRef":"pcg","receivedAt":"2026-09-03T17:48:23.077Z","fingerprint":"dfe945c7067d93c720b7e4e87bf62c2204a54ddddee8dd79bb6a635102f83e5c","workstreamRef":"pcg","conversationId":null,"canonicalBranch":"ai/pcg-background-legibility-20260903","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the exact applied state on PR #1586. Append the next verified chunk of the exact owner PCG background asset only; do not ship this intermediate state.","wordingChanged":false,"canonicalIntent":"Continue the exact applied state on PR #1586. Append the next verified chunk of the exact owner PCG background asset only; do not ship this intermediate state.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"pcg-background","statement":"The exact PCG cinematic collector desk background is visible as the workspace canvas on desktop and mobile.","proofConditionIds":["proof-runtime","proof-live-visual"]},{"id":"pcg-legibility","statement":"Readable PCG workspace text, placeholders, meta copy, sidebar labels, empty states, and mobile navigation are high-contrast and no longer faded.","proofConditionIds":["proof-runtime","proof-live-visual"]}],"objective":"Continue the exact applied state on PR #1586. Append the next verified chunk of the exact owner PCG background asset only; do not ship this intermediate state.","constraints":[{"id":"preserve-behavior","statement":"Preserve grading, submission, cert, shipping, Stripe, and navigation behavior.","proofConditionIds":["proof-runtime"]},{"id":"exact-background","statement":"Use the exact PCG cinematic collector desk image, not the storefront photo.","proofConditionIds":["proof-live-visual"]},{"id":"single-pr","statement":"Keep one branch and one PR (#1586).","proofConditionIds":["proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-runtime","kind":"runtime","claim":"The exact merged source for this PCG repair is live on the canonical production frontend route.","route":"/crm/misc/pcg/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":"Grading Floor","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-live-visual","kind":"visual","claim":"The production PCG workspace shows the exact cinematic background with crisp readable text.","route":"/crm/misc/pcg/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":"Grading Floor","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/pcg-background-legibility-20260903","conversationContext":null,"requestContractHash":"c4a07a2cbb8755dcb3009bdecb58fd2d1bd4bcbb52e11a90173cd073c6a582da","requestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-03T17:48:24.029093+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:aaf09ce0-7149-4784-8d7d-2727f524f7b8:tenant-workstream-contribution:dfe945c7067d93c720b7e4e87bf62c2204a54ddddee8dd79bb6a635102f83e5c","mission_step_id":null,"command_center_event_id":"aaf09ce0-7149-4784-8d7d-2727f524f7b8"},{"id":"ba47dce3-7f8f-4248-ab70-d9578b71c106","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/release-classifier-alignment-20260910","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.94-mission-generation-terminality","prNumber":2318,"terminal":false,"missionId":"5fec0117-eece-411d-8d9c-9c8fd5b0cba6","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":22450,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1203,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1203,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1203,"repositoryMutationMs":22450,"repositoryProviderMs":17432,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":7374,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1203,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":10058},"nextAction":"Canonical KnockLaunch Gate notifier and mission supervisor own progression from this exact PR head; do not synchronously poll Forgejo from the owner request.","receiptRef":{"mode":"full","missionId":"5fec0117-eece-411d-8d9c-9c8fd5b0cba6"},"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":3781,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T19:56:09.124962+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2318","receipt_type":"execute_mission","idempotency_key":"mission:5fec0117-eece-411d-8d9c-9c8fd5b0cba6:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"5f3b7fc5-ad76-4950-8aa9-ce0875f96713","command_center_event_id":"5fec0117-eece-411d-8d9c-9c8fd5b0cba6"},{"id":"ba48b7bf-f305-45de-9dc1-b4b7569b7c55","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success"},"mainSha":"a069f5bea5f5587543315b82e631f4f3e3a7678c","missing":[],"pending":[],"required":["forgejo-main/source"],"sourceSha":"a069f5bea5f5587543315b82e631f4f3e3a7678c","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"b5a706a1f4aefff694a60b4dc4de8a66d3f6f6879e17ee458bb1da536a43b91c","forgejoWorkflowProof":null,"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T17:53:59.787584+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"a069f5bea5f5587543315b82e631f4f3e3a7678c","external_id":"forgejo-main-a069f5bea5f5","receipt_type":"canonical_release_status","idempotency_key":"mission:d667aa5d-241d-4b99-af50-6088a1f76943:forgejo-release-status:a069f5bea5f5587543315b82e631f4f3e3a7678c:verified:forgejo-main/source=success","mission_step_id":"c1844cf9-c4d2-4a89-896e-104dc927f94b","command_center_event_id":"d667aa5d-241d-4b99-af50-6088a1f76943"},{"id":"ba48c2a6-600a-4bc2-8c53-f2a41012bb97","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.31.8-visual-objective-proof","prNumber":4300,"terminal":false,"missionId":"d2f06e2a-908d-4af6-825e-a5568d80f631","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"d2f06e2a-908d-4af6-825e-a5568d80f631"},"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-08T12:41:48.74312+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4300","receipt_type":"ship_and_prove","idempotency_key":"mission:d2f06e2a-908d-4af6-825e-a5568d80f631:ship_and_prove:canonical_release_blocked","mission_step_id":"9ddf48ea-7652-4059-94d1-14d42046de43","command_center_event_id":"d2f06e2a-908d-4af6-825e-a5568d80f631"},{"id":"ba49f8fb-eb98-424b-ab7e-377405592e37","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":"c07c3ba98b0a64a7a43c8d4ec06df116ae632201","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"c07c3ba98b0a64a7a43c8d4ec06df116ae632201","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["application-api","capability-router"]},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":"dda4f08ce1c0c18cbb01701d24c729bb5ec42fc3971520f53ff04081b40091f7","forgejoWorkflowProof":{"runId":7261,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T00:46:48.452129+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"c07c3ba98b0a64a7a43c8d4ec06df116ae632201","external_id":"forgejo-main-c07c3ba98b0a","receipt_type":"canonical_release_status","idempotency_key":"mission:8a0b96fb-2ddf-4fd7-a193-0ba2b5a6767a:forgejo-release-status:c07c3ba98b0a64a7a43c8d4ec06df116ae632201:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"6ba02dcb-7b2e-45c5-817c-58deddca2975","command_center_event_id":"8a0b96fb-2ddf-4fd7-a193-0ba2b5a6767a"},{"id":"ba4da390-20dd-4d75-8b19-ab5f38c31f1a","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"workers/cc-execution/src/platform-sidekick-intelligence.js","content":"import { createInferenceGateway, inferenceProviderReadiness } from \"./model-provider-gateway.js\";\n\nexport const PLATFORM_SIDEKICK_INTELLIGENCE_VERSION = \"platform-sidekick-intelligence-v1\";\n\nconst text = (value, max = 6000) => String(value ?? \"\").trim().slice(0, max);\nconst json = (body, status = 200) => new Response(JSON.stringify(body), {\n  status,\n  headers: { \"content-type\": \"application/json\", \"cache-control\": \"no-store\" },\n});\n\nfunction redact(value, depth = 0) {\n  if (depth > 8) return \"[truncated]\";\n  if (Array.isArray(value)) return value.slice(0, 80).map((entry) => redact(entry, depth + 1));\n  if (!value || typeof value !== \"object\") return typeof value === \"string\" ? text(value, 12000) : value;\n  const out = {};\n  for (const [key, child] of Object.entries(value)) {\n    out[key] = /(authorization|token|secret|password|api[_-]?key|cookie|bearer|credential)/i.test(key)\n      ? \"[redacted]\"\n      : redact(child, depth + 1);\n  }\n  return out;\n}\n\nfunction normalizeMessages(input) {\n  return (Array.isArray(input) ? input : []).slice(-48).flatMap((entry) => {\n    const role = String(entry?.role || \"\").trim();\n    const content = text(entry?.content, 12000);\n    if (!content && role !== \"assistant\") return [];\n    if (role === \"tool\") {\n      const name = text(entry?.name, 120);\n      return [{ role: \"user\", content: `[Tool result${name ? ` for ${name}` : \"\"}]\\n${content}` }];\n    }\n    if (![\"system\", \"user\", \"assistant\"].includes(role)) return [];\n    return [{ role, content }];\n  });\n}\n\nfunction normalizeTools(input) {\n  return (Array.isArray(input) ? input : []).slice(0, 64).flatMap((entry) => {\n    const fn = entry?.function && typeof entry.function === \"object\" ? entry.function : entry;\n    const name = text(fn?.name, 120);\n    if (!/^[A-Za-z0-9_.:-]{1,120}$/.test(name)) return [];\n    return [{\n      name,\n      description: text(fn?.description, 700),\n      parameters: redact(fn?.parameters && typeof fn.parameters === \"object\" ? fn.parameters : {}),\n    }];\n  });\n}\n\nfunction responseEnvelopeSchema() {\n  return {\n    name: \"platform_sidekick_response\",\n    strict: true,\n    schema: {\n      type: \"object\",\n      additionalProperties: false,\n      required: [\"message\", \"toolCalls\"],\n      properties: {\n        message: { type: \"string\", maxLength: 12000 },\n        toolCalls: {\n          type: \"array\",\n          maxItems: 8,\n          items: {\n            type: \"object\",\n            additionalProperties: false,\n            required: [\"name\", \"arguments\"],\n            properties: {\n              id: { type: \"string\", maxLength: 160 },\n              name: { type: \"string\", maxLength: 120 },\n              arguments: { type: \"object\", additionalProperties: true },\n            },\n          },\n        },\n      },\n    },\n  };\n}\n\nfunction structuredSchema(input) {\n  const candidate = input && typeof input === \"object\" ? input : null;\n  if (!candidate) return null;\n  const schema = candidate.schema && typeof candidate.schema === \"object\" ? candidate.schema : candidate;\n  return {\n    name: text(candidate.name || \"platform_sidekick_structured\", 80) || \"platform_sidekick_structured\",\n    strict: candidate.strict !== false,\n    schema: redact(schema),\n  };\n}\n\nfunction intelligenceSystem({ tools, scope, structured }) {\n  const lines = [\n    \"You are PAUL, the canonical platform-wide intelligence core for every authenticated KNOCKLAUNCH Sidekick.\",\n    \"All Sidekick shells share this reasoning layer. A shell may change tenant, user, role, route, tool catalog, memory boundary, and tone, but never the intelligence standard.\",\n    \"Never widen permissions, infer authorization, cross tenant boundaries, or claim a tool/action ran when this inference layer only proposed it.\",\n    \"Use the supplied caller messages as grounded context. Treat unknowns as unknown instead of inventing platform state.\",\n    \"Be concise, useful, infer-first, and human. Ask a clarification only when a wrong assumption would materially change the outcome or cross a safety/permission boundary.\",\n    `Authenticated scope metadata (boundary context only): ${JSON.stringify(redact(scope || {}))}`,\n  ];\n  if (structured) {\n    lines.push(\"Return only one JSON object matching the supplied structured schema. Do not add prose outside the JSON object.\");\n  } else {\n    lines.push(\"Return only one JSON object with keys message and toolCalls.\");\n    lines.push(\"toolCalls are proposals for the caller to authorize/execute; you never execute them here. Use an empty array when no tool is needed.\");\n    lines.push(`Available caller-scoped tools: ${JSON.stringify(tools)}`);\n  }\n  return lines.join(\"\\n\");\n}\n\nexport async function inferPlatformSidekick(input = {}, env = {}, fetchImpl = fetch) {\n  const gateway = createInferenceGateway(env, fetchImpl);\n  if (!gateway.chatAvailable) {\n    throw Object.assign(new Error(\"platform_sidekick_intelligence_not_configured\"), { status: 503, failureClass: \"prerequisite_required\" });\n  }\n\n  const startedAt = Date.now();\n  const messages = normalizeMessages(input.messages);\n  const tools = normalizeTools(input.tools);\n  const scope = redact(input.scope || {});\n  const requestedSchema = structuredSchema(input.responseSchema);\n  const structured = input.mode === \"structured\" || Boolean(requestedSchema);\n  const system = intelligenceSystem({ tools, scope, structured });\n\n  const result = await gateway.decide({\n    messages: [{ role: \"system\", content: system }, ...messages],\n    responseSchema: structured ? requestedSchema : responseEnvelopeSchema(),\n  });\n\n  if (structured) {\n    return {\n      ok: true,\n      status: \"observed\",\n      intelligenceVersion: PLATFORM_SIDEKICK_INTELLIGENCE_VERSION,\n      mode: \"structured\",\n      surface: text(input.surface, 120) || \"sidekick\",\n      provider: result.provider,\n      model: result.model,\n      usedFallback: result.usedFallback === true,\n      latencyMs: Date.now() - startedAt,\n      structured: result.decision && typeof result.decision === \"object\" ? result.decision : {},\n      readiness: gateway.readiness,\n    };\n  }\n\n  const decision = result.decision && typeof result.decision === \"object\" ? result.decision : {};\n  const allowedTools = new Set(tools.map((tool) => tool.name));\n  const toolCalls = (Array.isArray(decision.toolCalls) ? decision.toolCalls : []).slice(0, 8).flatMap((call, index) => {\n    const name = text(call?.name, 120);\n    if (!allowedTools.has(name)) return [];\n    const args = call?.arguments && typeof call.arguments === \"object\" && !Array.isArray(call.arguments) ? redact(call.arguments) : {};\n    return [{ id: text(call?.id, 160) || `paul_tool_${index + 1}`, name, arguments: args }];\n  });\n\n  return {\n    ok: true,\n    status: \"observed\",\n    intelligenceVersion: PLATFORM_SIDEKICK_INTELLIGENCE_VERSION,\n    mode: \"conversation\",\n    surface: text(input.surface, 120) || \"sidekick\",\n    provider: result.provider,\n    model: result.model,\n    usedFallback: result.usedFallback === true,\n    latencyMs: Date.now() - startedAt,\n    message: text(decision.message, 12000),\n    toolCalls,\n    rawToolCalls: toolCalls.map((call) => ({\n      id: call.id,\n      type: \"function\",\n      function: { name: call.name, arguments: JSON.stringify(call.arguments || {}) },\n    })),\n    readiness: gateway.readiness,\n  };\n}\n\nexport default {\n  async fetch(request, env) {\n    if (request.method !== \"POST\") return json({ ok: false, status: \"blocked\", reason: \"method_not_allowed\" }, 405);\n    const input = await request.json().catch(() => null);\n    if (!input || typeof input !== \"object\") return json({ ok: false, status: \"blocked\", reason: \"invalid_json\" }, 400);\n    try {\n      return json(await inferPlatformSidekick(input, env));\n    } catch (error) {\n      return json({\n        ok: false,\n        status: error?.failureClass || \"retryable\",\n        reason: text(error?.message || error, 300) || \"platform_sidekick_intelligence_failed\",\n        intelligenceVersion: PLATFORM_SIDEKICK_INTELLIGENCE_VERSION,\n        readiness: inferenceProviderReadiness(env),\n      }, Number(error?.status || 503));\n    }\n  },\n};\n"},{"path":"config/platform-sidekick-intelligence.json","content":"{\n  \"version\": \"2026-09-29.1\",\n  \"primitive\": \"platform-sidekick-intelligence\",\n  \"intelligenceIdentity\": \"PAUL\",\n  \"canonicalEndpoint\": \"https://cc-execution.knocklaunch.app/paul/intelligence/respond\",\n  \"providerGateway\": \"workers/cc-execution/src/model-provider-gateway.js\",\n  \"policy\": {\n    \"shared\": [\n      \"reasoning\",\n      \"provider-selection\",\n      \"fallback-policy\",\n      \"inference-behavior\",\n      \"tool-planning-contract\",\n      \"structured-output-contract\"\n    ],\n    \"isolatedByScope\": [\n      \"tenant-data\",\n      \"user-data\",\n      \"role-permissions\",\n      \"memory-records\",\n      \"tool-authorization\",\n      \"write-confirmation\"\n    ],\n    \"directProviderInferenceForbidden\": true,\n    \"chatgptProductDependencyAllowed\": false,\n    \"imageProviderIsSeparateCapability\": true\n  },\n  \"consumers\": [\n    {\n      \"surface\": \"GodMode Console\",\n      \"frontend\": \"src/pages/admin/GodModeCommandConsole.tsx\",\n      \"backend\": \"operator-respond\"\n    },\n    {\n      \"surface\": \"OperatorSidekick\",\n      \"frontend\": \"src/components/admin/OperatorSidekick.tsx\",\n      \"backend\": \"operator-respond\"\n    },\n    {\n      \"surface\": \"Tenant Sidekick\",\n      \"frontend\": \"src/components/ai/AIAssistantPanel.tsx\",\n      \"backend\": \"ai-respond\"\n    },\n    {\n      \"surface\": \"Experience Editor Sidekick\",\n      \"frontend\": \"src/components/experience-editor/ExperienceEditorSidekick.tsx\",\n      \"backend\": \"operator-respond\"\n    },\n    {\n      \"surface\": \"Live Edit Sidekick\",\n      \"frontend\": \"src/components/godmode/LiveEditMode.tsx\",\n      \"backend\": \"operator-respond\"\n    },\n    {\n      \"surface\": \"Route-service Sidekick\",\n      \"frontend\": \"src/components/ai/AIAssistantPanel.tsx\",\n      \"backend\": \"ai-respond\"\n    },\n    {\n      \"surface\": \"Admin Operator\",\n      \"frontend\": \"src/pages/admin/AdminOperator.tsx\",\n      \"backend\": \"operator-respond\"\n    }\n  ]\n}\n"},{"path":"src/__tests__/contracts/platform-sidekick-intelligence.contract.test.ts","content":"import fs from 'node:fs';\nimport path from 'node:path';\nimport { describe, expect, it } from 'vitest';\n\nconst root = process.cwd();\nconst read = (file: string) => fs.readFileSync(path.join(root, file), 'utf8');\n\ndescribe('platform-wide Sidekick intelligence primitive', () => {\n  const manifest = JSON.parse(read('config/platform-sidekick-intelligence.json'));\n  const routed = read('workers/cc-execution/src/entrypoint-routed.js');\n  const core = read('workers/cc-execution/src/platform-sidekick-intelligence.js');\n  const operator = read('supabase/functions/operator-respond/index.ts');\n  const tenant = read('supabase/functions/ai-respond/index.ts');\n  const panel = read('src/components/ai/AIAssistantPanel.tsx');\n  const client = read('src/lib/ai/aiClient.ts');\n  const editor = read('src/components/experience-editor/ExperienceEditorSidekick.tsx');\n  const liveEdit = read('src/components/godmode/LiveEditMode.tsx');\n  const consoleSource = read('src/pages/admin/GodModeCommandConsole.tsx');\n  const adminOperator = read('src/pages/admin/AdminOperator.tsx');\n\n  it('defines one canonical PAUL intelligence endpoint and provider gateway', () => {\n    expect(manifest.primitive).toBe('platform-sidekick-intelligence');\n    expect(manifest.intelligenceIdentity).toBe('PAUL');\n    expect(manifest.policy.directProviderInferenceForbidden).toBe(true);\n    expect(core).toContain('createInferenceGateway');\n    expect(core).toContain('PLATFORM_SIDEKICK_INTELLIGENCE_VERSION');\n    expect(core).toContain('toolCalls are proposals');\n    expect(routed).toContain('/paul/intelligence/respond');\n  });\n\n  it('routes both Sidekick backend families through the same intelligence core', () => {\n    expect(operator).toContain('/paul/intelligence/respond');\n    expect(tenant).toContain('/paul/intelligence/respond');\n    expect(operator).not.toContain('/chat/completions');\n    expect(tenant).not.toContain('https://api.openai.com/v1/chat/completions');\n    expect(tenant).not.toContain('OPENAI_API_KEY');\n    expect(tenant).toContain('platform-sidekick-intelligence');\n  });\n\n  it('preserves scoped shells while sharing intelligence', () => {\n    expect(tenant).toContain(\"from('user_tenant_memberships')\");\n    expect(tenant).toContain('requires_confirmation: true');\n    expect(tenant).toContain(\"from('ai_conversations')\");\n    expect(operator).toContain('forbidden_platform_admin_write_required');\n    expect(manifest.policy.isolatedByScope).toContain('tenant-data');\n    expect(manifest.policy.isolatedByScope).toContain('write-confirmation');\n  });\n\n  it('prevents the route-service Sidekick from bypassing the canonical brain', () => {\n    expect(panel).not.toContain('buildRouteServiceQuickAnswer');\n    expect(panel).toContain('sendAIMessage');\n    expect(panel).toContain('buildRouteServiceSnapshot');\n    expect(client).toContain(\"supabase.functions.invoke('ai-respond'\");\n  });\n\n  it('accounts for every authenticated Sidekick shell', () => {\n    expect(editor).toContain(\"supabase.functions.invoke('operator-respond'\");\n    expect(liveEdit).toContain(\"supabase.functions.invoke('operator-respond'\");\n    expect(consoleSource).toContain(\"supabase.functions.invoke('operator-respond'\");\n    expect(adminOperator).toContain(\"supabase.functions.invoke('operator-respond'\");\n    const surfaces = manifest.consumers.map((entry: any) => entry.surface);\n    expect(surfaces).toEqual(expect.arrayContaining([\n      'GodMode Console',\n      'OperatorSidekick',\n      'Tenant Sidekick',\n      'Experience Editor Sidekick',\n      'Live Edit Sidekick',\n      'Route-service Sidekick',\n      'Admin Operator',\n    ]));\n  });\n});\n"}],"branch":"ai/objective-first-repair-6d3a267778dd","writes":[],"patches":[],"version":1,"approved":true,"missionId":"6d3a2677-78dd-41d2-b082-d13d7cc5fa9f","objective":"Continue the same platform-wide Sidekick intelligence mission with the exact mutation payload. One canonical PAUL inference endpoint must own reasoning for operator-respond and ai-respond while preserving tenant/role/tool/write boundaries.","repository":"noel/KnockLaunchOS","visualProof":false,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.64.0-platform-sidekick-intelligence\";","old_content":"export const CC_EXECUTION_VERSION = \"1.63.3-stale-main-auto-refresh\";"},{"path":"workers/cc-execution/src/entrypoint-routed.js","new_content":"import commandCenterMcpWorker from \"./index-mcp.js\";\nimport platformSidekickIntelligenceWorker from \"./platform-sidekick-intelligence.js\";","old_content":"import commandCenterMcpWorker from \"./index-mcp.js\";"},{"path":"workers/cc-execution/src/entrypoint-routed.js","new_content":"  \"/mission/execute\",\n  \"/paul/intelligence/respond\",\n];","old_content":"  \"/mission/execute\",\n];"},{"path":"workers/cc-execution/src/entrypoint-routed.js","new_content":"    if (path === \"/action/capabilities\" && request.method === \"GET\") return json({ ok: true, status: \"live\", proofGate: \"action_capabilities_current\", runtimeVersion: VERSION, actionSchema: actionSchemaNotice(), commands: Object.entries(ACTION_COMMAND_REGISTRY).map(([command, metadata]) => ({ command, ...metadata })), canonicalVisualLane: { healthCommand: \"inspect_route_health\", startCommand: \"inspect_route_start\", statusCommand: \"inspect_route_status\", cancelCommand: \"inspect_route_cancel\", runtime: \"KNOCKLAUNCH Visual Sandbox\", source: \"scripts/visual-witness-hosted-runner/src/runner-entrypoint.mjs -> universal-witness.mjs\", profile: \"default\", projection: \"GodMode\", fallbackAllowed: false }, platformSidekickIntelligence: { endpoint: \"/paul/intelligence/respond\", identity: \"PAUL\", providerGateway: \"model-provider-gateway\" }, destructiveActionsAllowed: false });","old_content":"    if (path === \"/action/capabilities\" && request.method === \"GET\") return json({ ok: true, status: \"live\", proofGate: \"action_capabilities_current\", runtimeVersion: VERSION, actionSchema: actionSchemaNotice(), commands: Object.entries(ACTION_COMMAND_REGISTRY).map(([command, metadata]) => ({ command, ...metadata })), canonicalVisualLane: { healthCommand: \"inspect_route_health\", startCommand: \"inspect_route_start\", statusCommand: \"inspect_route_status\", cancelCommand: \"inspect_route_cancel\", runtime: \"KNOCKLAUNCH Visual Sandbox\", source: \"scripts/visual-witness-hosted-runner/src/runner-entrypoint.mjs -> universal-witness.mjs\", profile: \"default\", projection: \"GodMode\", fallbackAllowed: false }, destructiveActionsAllowed: false });"},{"path":"workers/cc-execution/src/entrypoint-routed.js","new_content":"    if (path === \"/paul/intelligence/respond\" && request.method === \"POST\") {\n      const denied = requireExecutionAuth(request, env);\n      if (denied) return connectorSafeResponse(denied, path);\n      return connectorSafeWorkerFetch(platformSidekickIntelligenceWorker, request, env, ctx);\n    }\n    if (path === \"/action/execute\" && request.method === \"POST\") return executeActionCommand(request, env, ctx);","old_content":"    if (path === \"/action/execute\" && request.method === \"POST\") return executeActionCommand(request, env, ctx);"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"export const FUNCTION_VERSION = '0.13.0-platform-intelligence';","old_content":"export const FUNCTION_VERSION = '0.12.0-human-first-console';"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"const PLATFORM_ADMIN_EMAIL = 'info@knocklaunch.app';\nconst PLATFORM_SIDEKICK_INTELLIGENCE_VERSION = 'platform-sidekick-intelligence-v1';","old_content":"const PLATFORM_ADMIN_EMAIL = 'info@knocklaunch.app';\nconst MODEL_PROVIDER = String(Deno.env.get('KNOCKLAUNCH_MODEL_PROVIDER') ?? 'openai').trim().toLowerCase();\nconst MODEL_API_KEY = Deno.env.get('KNOCKLAUNCH_MODEL_API_KEY') ?? Deno.env.get('OPENAI_API_KEY') ?? '';\nconst MODEL_NAME = Deno.env.get('KNOCKLAUNCH_MODEL') ?? Deno.env.get('OPENAI_MODEL') ?? 'gpt-5-mini';\nconst MODEL_BASE_URL = String(Deno.env.get('KNOCKLAUNCH_MODEL_BASE_URL') ?? (MODEL_PROVIDER === 'openai' ? 'https://api.openai.com/v1' : '')).trim().replace(/\\/+$/, '');"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"const CC_EXECUTION_KEY = Deno.env.get('CC_EXECUTION_KEY') ?? '';\n\nasync function callPlatformIntelligence(input: Record<string, unknown>) {\n  if (!CC_EXECUTION_KEY) {\n    const error: any = new Error('prerequisite_required:platform_sidekick_intelligence_bridge_not_configured');\n    error.status = 503;\n    throw error;\n  }\n  const response = await fetch(`${CC_EXECUTION_URL}/paul/intelligence/respond`, {\n    method: 'POST',\n    headers: { Authorization: `Bearer ${CC_EXECUTION_KEY}`, 'Content-Type': 'application/json' },\n    body: JSON.stringify(input),\n  });\n  const data = await response.json().catch(() => null);\n  if (!response.ok || !data || data?.ok === false) {\n    const error: any = new Error(`platform_sidekick_intelligence HTTP ${response.status}: ${String(data?.reason ?? data?.error ?? 'unavailable').slice(0, 300)}`);\n    error.status = response.status;\n    throw error;\n  }\n  return data as any;\n}\n\nfunction imageProviderConfig() {","old_content":"const CC_EXECUTION_KEY = Deno.env.get('CC_EXECUTION_KEY') ?? '';\nfunction modelConfig() {\n  if (!MODEL_API_KEY || !MODEL_BASE_URL || !MODEL_NAME) throw new Error('prerequisite_required:model_provider_not_configured');\n  if (!['openai', 'openai-compatible'].includes(MODEL_PROVIDER)) throw new Error(`prerequisite_required:unsupported_model_provider:${MODEL_PROVIDER || 'unset'}`);\n  return { provider: MODEL_PROVIDER, apiKey: MODEL_API_KEY, baseUrl: MODEL_BASE_URL, model: MODEL_NAME };\n}\nfunction imageProviderConfig() {"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"async function callLiveEditPlanner(instruction: string, context: LiveEditPlannerContext) {\n  const schema = {","old_content":"async function callLiveEditPlanner(instruction: string, context: LiveEditPlannerContext) {\n  const model = modelConfig();\n  const schema = {"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"  const intelligence = await callPlatformIntelligence({\n    mode: 'structured',\n    surface: 'live-edit',\n    messages: [{ role: 'system', content: system }, { role: 'user', content: instruction }],\n    responseSchema: { name: 'live_edit_plan', strict: true, schema },\n    scope: { tenantId: context.tenantId, route: context.routePath, surface: 'live-edit' },\n  });\n  const parsed = intelligence.structured ?? {};","old_content":"  const response = await fetch(`${model.baseUrl}/chat/completions`, {\n    method: 'POST',\n    headers: { Authorization: `Bearer ${model.apiKey}`, 'Content-Type': 'application/json' },\n    body: JSON.stringify({\n      model: model.model,\n      messages: [{ role: 'system', content: system }, { role: 'user', content: instruction }],\n      response_format: { type: 'json_schema', json_schema: { name: 'live_edit_plan', strict: true, schema } },\n    }),\n  });\n  if (!response.ok) throw new Error(`${model.provider} HTTP ${response.status}: ${(await response.text()).slice(0, 300)}`);\n  const data = await response.json();\n  const parsed = safeParseJSON(data.choices?.[0]?.message?.content ?? '{}');"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"  return {\n    summary: String(parsed?.summary || '').trim().slice(0, 500),\n    operations,\n    provider: String(intelligence.provider || 'platform-sidekick-intelligence'),\n    model: String(intelligence.model || 'provider-gateway'),\n    intelligenceVersion: String(intelligence.intelligenceVersion || PLATFORM_SIDEKICK_INTELLIGENCE_VERSION),\n  };\n}","old_content":"  return { summary: String(parsed?.summary || '').trim().slice(0, 500), operations };\n}"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"async function callModel(messages: ModelTurn[], availableTools = tools) {\n  const intelligence = await callPlatformIntelligence({\n    mode: 'conversation',\n    surface: 'operator-respond',\n    messages,\n    tools: availableTools,\n  });\n  return {\n    provider: String(intelligence.provider || 'platform-sidekick-intelligence'),\n    model: String(intelligence.model || 'provider-gateway'),\n    message: String(intelligence.message || ''),\n    raw: { tool_calls: Array.isArray(intelligence.rawToolCalls) ? intelligence.rawToolCalls : [] },\n    toolCalls: (Array.isArray(intelligence.toolCalls) ? intelligence.toolCalls : []).map((tc: any): ToolCall => ({\n      id: String(tc.id || crypto.randomUUID()),\n      name: String(tc.name || ''),\n      arguments: tc.arguments && typeof tc.arguments === 'object' ? tc.arguments : {},\n    })),\n    intelligenceVersion: String(intelligence.intelligenceVersion || PLATFORM_SIDEKICK_INTELLIGENCE_VERSION),\n    usedFallback: intelligence.usedFallback === true,\n  };\n}","old_content":"async function callModel(messages: ModelTurn[], availableTools = tools) {\n  const model = modelConfig();\n  const requestBody: Record<string, unknown> = { model: model.model, messages };\n  if (availableTools.length > 0) {\n    requestBody.tools = availableTools;\n    requestBody.tool_choice = 'auto';\n  }\n  const resp = await fetch(`${model.baseUrl}/chat/completions`, {\n    method: 'POST',\n    headers: { Authorization: `Bearer ${model.apiKey}`, 'Content-Type': 'application/json' },\n    body: JSON.stringify(requestBody),\n  });\n  if (!resp.ok) throw new Error(`${model.provider} HTTP ${resp.status}: ${(await resp.text()).slice(0, 400)}`);\n  const data = await resp.json();\n  const msg = data.choices?.[0]?.message ?? {};\n  return {\n    provider: model.provider,\n    model: model.model,\n    message: msg.content ?? '',\n    raw: msg,\n    toolCalls: (msg.tool_calls ?? []).map((tc: any): ToolCall => ({ id: tc.id, name: tc.function?.name, arguments: safeParseJSON(tc.function?.arguments) })),\n  };\n}"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"    model_provider: 'platform-sidekick-intelligence',\n    model: 'canonical-provider-gateway',\n    model_base_url_configured: Boolean(CC_EXECUTION_URL),\n    model_api_key_configured: Boolean(CC_EXECUTION_KEY),\n    platform_intelligence_version: PLATFORM_SIDEKICK_INTELLIGENCE_VERSION,","old_content":"    model_provider: MODEL_PROVIDER,\n    model: MODEL_NAME,\n    model_base_url_configured: Boolean(MODEL_BASE_URL),\n    model_api_key_configured: Boolean(MODEL_API_KEY),"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"        provider: 'platform-sidekick-intelligence',\n        model: 'canonical-provider-gateway',","old_content":"        provider: MODEL_PROVIDER,\n        model: MODEL_NAME,"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"        provider: plan.provider,\n        model: plan.model,\n        intelligenceVersion: plan.intelligenceVersion,\n        published: false,","old_content":"        provider: MODEL_PROVIDER,\n        model: MODEL_NAME,\n        published: false,"},{"path":"supabase/functions/ai-respond/index.ts","new_content":" * Provider strategy: canonical PAUL platform intelligence gateway; tenant tools and data remain scope-isolated.","old_content":" * Provider strategy: direct OpenAI only."},{"path":"supabase/functions/ai-respond/index.ts","new_content":"export const FUNCTION_VERSION = '0.4.0-platform-intelligence';","old_content":"export const FUNCTION_VERSION = '0.3.0-openai-only';"},{"path":"supabase/functions/ai-respond/index.ts","new_content":"const SUPABASE_URL = Deno.env.get('SUPABASE_URL')!;\nconst SERVICE_ROLE = Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')!;\nconst CC_EXECUTION_URL = (Deno.env.get('CC_EXECUTION_URL') ?? 'https://cc-execution.knocklaunch.app').replace(/\\/+$/, '');\nconst CC_EXECUTION_KEY = Deno.env.get('CC_EXECUTION_KEY') ?? '';\nconst PLATFORM_SIDEKICK_INTELLIGENCE_VERSION = 'platform-sidekick-intelligence-v1';","old_content":"const SUPABASE_URL = Deno.env.get('SUPABASE_URL')!;\nconst SERVICE_ROLE = Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')!;\nconst OPENAI_API_KEY = Deno.env.get('OPENAI_API_KEY');\nconst OPENAI_MODEL = Deno.env.get('OPENAI_MODEL') ?? 'gpt-5-mini';"},{"path":"supabase/functions/ai-respond/index.ts","new_content":"    model_provider: 'platform-sidekick-intelligence',\n    platform_intelligence_version: PLATFORM_SIDEKICK_INTELLIGENCE_VERSION,\n    platform_intelligence_bridge_ready: Boolean(CC_EXECUTION_KEY),","old_content":"    model_provider: 'openai',"},{"path":"supabase/functions/ai-respond/index.ts","new_content":"  provider: string;\n  usedFallback?: boolean;\n  intelligenceVersion?: string;","old_content":"  provider: 'openai';"},{"path":"supabase/functions/ai-respond/index.ts","new_content":"async function callModel(\n  messages: ModelTurn[],\n  availableTools = getOpenAIToolList(),\n  scope: Record<string, unknown> = {},\n): Promise<ModelResponse> {\n  if (!CC_EXECUTION_KEY) {\n    const e: any = new Error('prerequisite_required:platform_sidekick_intelligence_bridge_not_configured');\n    e.status = 503;\n    throw e;\n  }\n  const startedAt = Date.now();\n  const resp = await fetch(`${CC_EXECUTION_URL}/paul/intelligence/respond`, {\n    method: 'POST',\n    headers: { Authorization: `Bearer ${CC_EXECUTION_KEY}`, 'Content-Type': 'application/json' },\n    body: JSON.stringify({\n      mode: 'conversation',\n      surface: 'tenant-ai-respond',\n      messages,\n      tools: availableTools,\n      scope,\n    }),\n  });\n  const data = await resp.json().catch(() => null);\n  if (!resp.ok || !data || data?.ok === false) {\n    const e: any = new Error(`platform_sidekick_intelligence HTTP ${resp.status}: ${String(data?.reason ?? data?.error ?? 'unavailable').slice(0, 300)}`);\n    e.status = resp.status;\n    throw e;\n  }\n  return {\n    message: String(data.message || ''),\n    toolCalls: (Array.isArray(data.toolCalls) ? data.toolCalls : []).map((tc: any) => ({\n      id: String(tc.id || crypto.randomUUID()),\n      name: String(tc.name || ''),\n      arguments: tc.arguments && typeof tc.arguments === 'object' ? tc.arguments : {},\n    })),\n    raw: { tool_calls: Array.isArray(data.rawToolCalls) ? data.rawToolCalls : [] },\n    usage: undefined,\n    model: String(data.model || 'provider-gateway'),\n    provider: String(data.provider || 'platform-sidekick-intelligence'),\n    usedFallback: data.usedFallback === true,\n    intelligenceVersion: String(data.intelligenceVersion || PLATFORM_SIDEKICK_INTELLIGENCE_VERSION),\n    latencyMs: Number(data.latencyMs || (Date.now() - startedAt)),\n    httpStatus: resp.status,\n  };\n}","old_content":"async function callOpenAI(messages: ModelTurn[]): Promise<ModelResponse> {\n  if (!OPENAI_API_KEY) throw new Error('OPENAI_API_KEY not configured');\n  const start = Date.now();\n  const resp = await fetch('https://api.openai.com/v1/chat/completions', {\n    method: 'POST',\n    headers: {\n      Authorization: `Bearer ${OPENAI_API_KEY}`,\n      'Content-Type': 'application/json',\n    },\n    body: JSON.stringify({\n      model: OPENAI_MODEL,\n      messages,\n      tools: getOpenAIToolList(),\n      tool_choice: 'auto',\n    }),\n  });\n  const latencyMs = Date.now() - start;\n  if (!resp.ok) {\n    const text = await resp.text();\n    const e: any = new Error(`OpenAI ${resp.status}: ${text.slice(0, 400)}`);\n    e.status = resp.status;\n    throw e;\n  }\n  const json = await resp.json();\n  const choice = json.choices?.[0]?.message ?? {};\n  return {\n    message: choice.content ?? '',\n    toolCalls: (choice.tool_calls ?? []).map((tc: any) => ({\n      id: tc.id,\n      name: tc.function?.name,\n      arguments: safeParseJSON(tc.function?.arguments),\n    })),\n    raw: choice,\n    usage: json.usage,\n    model: OPENAI_MODEL,\n    provider: 'openai',\n    latencyMs,\n    httpStatus: resp.status,\n  };\n}\n\nfunction safeParseJSON(s: any) {\n  if (typeof s !== 'string') return s ?? {};\n  try { return JSON.parse(s); } catch { return {}; }\n}\n\nasync function callModel(messages: ModelTurn[]): Promise<ModelResponse> {\n  return callOpenAI(messages);\n}"},{"path":"supabase/functions/ai-respond/index.ts","new_content":"  let fallbackUsed = false;","old_content":"  const fallbackUsed = false;"},{"path":"supabase/functions/ai-respond/index.ts","new_content":"    modelResp = await callModel(messages, getOpenAIToolList(), { tenantId: tenantOrgId, userId, surface, mode });\n    fallbackUsed = modelResp.usedFallback === true;","old_content":"    modelResp = await callModel(messages);"},{"path":"supabase/functions/ai-respond/index.ts","new_content":"      provider: 'platform-sidekick-intelligence', httpStatus: e?.status ?? 500,","old_content":"      provider: 'openai', httpStatus: e?.status ?? 500,"},{"path":"supabase/functions/ai-respond/index.ts","new_content":"      const second = await callModel(followupMessages, getOpenAIToolList(), { tenantId: tenantOrgId, userId, surface, mode });\n      fallbackUsed = fallbackUsed || second.usedFallback === true;","old_content":"      const second = await callModel(followupMessages);"},{"path":"supabase/functions/ai-respond/index.ts","new_content":"    provider: modelResp.provider,\n    model: modelResp.model,\n    intelligenceVersion: modelResp.intelligenceVersion || PLATFORM_SIDEKICK_INTELLIGENCE_VERSION,\n  });","old_content":"    provider: modelResp.provider,\n    model: modelResp.model,\n  });"},{"path":"src/lib/ai/aiClient.ts","new_content":"  provider: string;\n  model: string;\n  intelligenceVersion?: string;","old_content":"  provider: 'openai' | 'lovable';\n  model: string;"},{"path":"src/components/ai/AIAssistantPanel.tsx","new_content":"import {\n  buildRouteServiceSnapshot,\n  sanitizeRouteServiceResponse,\n} from '@/lib/ai/routeServiceSidekick';","old_content":"import {\n  buildRouteServiceQuickAnswer,\n  buildRouteServiceSnapshot,\n  sanitizeRouteServiceResponse,\n} from '@/lib/ai/routeServiceSidekick';"},{"path":"src/components/ai/AIAssistantPanel.tsx","new_content":"  assistantName = 'KnockLaunch Sidekick',","old_content":"  assistantName = 'KnockLaunch Intelligence',"},{"path":"src/components/ai/AIAssistantPanel.tsx","new_content":"  inputPlaceholder = 'Ask Sidekick…',","old_content":"  inputPlaceholder = 'Ask KnockLaunch…',"},{"path":"src/components/ai/AIAssistantPanel.tsx","new_content":"","old_content":"    const routeQuickAnswer = surface === 'route_service' && routeServiceContext\n      ? buildRouteServiceQuickAnswer(trimmed, routeServiceContext)\n      : null;\n    if (routeQuickAnswer) {\n      setMessages((prev) => [\n        ...prev,\n        { id: `asst-${Date.now()}`, role: 'assistant', content: routeQuickAnswer },\n      ]);\n      setSending(false);\n      return;\n    }\n\n"},{"path":"src/components/ai/AIAssistantPanel.tsx","new_content":"{provider && <Badge variant=\"outline\" className={presentation === 'compact' ? 'ml-1 border-slate-300 bg-white text-[10px] text-slate-700' : 'ml-1 text-[10px]'}>PAUL</Badge>}","old_content":"{provider && <Badge variant=\"outline\" className={presentation === 'compact' ? 'ml-1 border-slate-300 bg-white text-[10px] text-slate-700' : 'ml-1 text-[10px]'}>{provider}</Badge>}"},{"path":"src/__tests__/contracts/lovable-ai-core-eradication.contract.test.ts","new_content":"  it('keeps the live Sidekick on the canonical provider-neutral PAUL intelligence layer', () => {\n    const source = read('supabase/functions/ai-respond/index.ts');\n    expect(source).toContain('/paul/intelligence/respond');\n    expect(source).toContain('platform-sidekick-intelligence');\n    expect(source).not.toContain('https://api.openai.com/v1/chat/completions');\n    expect(source).not.toContain('OPENAI_API_KEY');\n    expect(source).not.toContain('ai.gateway.lovable.dev');\n    expect(source).not.toContain('LOVABLE_API_KEY');\n    expect(source).not.toContain('callLovableAI');\n  });","old_content":"  it('keeps the live Sidekick on direct OpenAI only', () => {\n    const source = read('supabase/functions/ai-respond/index.ts');\n    expect(source).toContain('https://api.openai.com/v1/chat/completions');\n    expect(source).toContain(\"provider: 'openai'\");\n    expect(source).not.toContain('ai.gateway.lovable.dev');\n    expect(source).not.toContain('LOVABLE_API_KEY');\n    expect(source).not.toContain('callLovableAI');\n  });"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"6d3a2677-78dd-41d2-b082-d13d7cc5fa9f","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/entrypoint-routed.js","workers/cc-execution/src/version.js","workers/cc-execution/src/platform-sidekick-intelligence.js","supabase/functions/operator-respond/index.ts","supabase/functions/ai-respond/index.ts","src/lib/ai/aiClient.ts","src/components/ai/AIAssistantPanel.tsx","config/platform-sidekick-intelligence.json","src/__tests__/contracts/platform-sidekick-intelligence.contract.test.ts","src/__tests__/contracts/lovable-ai-core-eradication.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner explicitly requested every Sidekick instance use the same platform-wide intelligence layer."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/entrypoint-routed.js","workers/cc-execution/src/version.js","workers/cc-execution/src/platform-sidekick-intelligence.js","supabase/functions/operator-respond/index.ts","supabase/functions/ai-respond/index.ts","src/lib/ai/aiClient.ts","src/components/ai/AIAssistantPanel.tsx","config/platform-sidekick-intelligence.json","src/__tests__/contracts/platform-sidekick-intelligence.contract.test.ts","src/__tests__/contracts/lovable-ai-core-eradication.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner explicitly requested every Sidekick instance use the same platform-wide intelligence layer."},"recovery":false,"fingerprint":"ed0993aef3a080680c8b8e9ff1341945c47f4506bd7bbb8f8202b8b5af12aefd","replayCount":0,"serializedBytes":37126},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T04:51:02.790902+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:6d3a2677-78dd-41d2-b082-d13d7cc5fa9f:repository-mutation-intent:ed0993aef3a080680c8b8e9ff1341945c47f4506bd7bbb8f8202b8b5af12aefd:0","mission_step_id":"5cfc61cf-0976-4e10-b8ff-6dc74b38e2e4","command_center_event_id":"6d3a2677-78dd-41d2-b082-d13d7cc5fa9f"},{"id":"ba4df6ca-6288-4c3a-b581-e5f7752783a7","source":"cc-execution","status":"no_change","payload":{"ok":true,"jobId":null,"phase":"runtime_proof","branch":"ai/visual-witness-release-derived-bootstrap-20260905","reason":null,"status":"no_change","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.64-mutation-ledger-handoff","prNumber":1840,"terminal":true,"missionId":"85c18dff-fe91-4ae7-9f58-8b4922a9029b","operation":"execute_mission","proofGate":"repair_mission_no_change_verified","sourceSha":"4bd3deec20b68befb571e97ff55013a10f373043","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":13,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":288,"providerAuthMs":0,"ledgerPrepareMs":288,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":288,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":288,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"85c18dff-fe91-4ae7-9f58-8b4922a9029b"},"performance":null,"deploymentId":"forgejo-main-4bd3deec20b6","workflowRunId":5516,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["visual-witness-container-bootstrap"]},"detailsAvailable":true,"ownerFacingState":"LIVE","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1164,"ownerActionRequired":false,"ownerFacingTerminal":true,"continuationRequired":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T13:41:07.325917+00:00","proof_gate":"repair_mission_no_change_verified","source_sha":"4bd3deec20b68befb571e97ff55013a10f373043","external_id":"forgejo-main-4bd3deec20b6","receipt_type":"execute_mission","idempotency_key":"mission:85c18dff-fe91-4ae7-9f58-8b4922a9029b:execute_mission:repair_mission_no_change_verified:current-generation","mission_step_id":"3b93b1f8-23ef-45ba-bc22-15b950777389","command_center_event_id":"85c18dff-fe91-4ae7-9f58-8b4922a9029b"},{"id":"ba4ef65d-998c-4996-a7c9-36a6c8d8e188","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-1d1b23739c6a","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2831,"terminal":false,"missionId":"1d1b2373-9c6a-48d5-944d-c5b81f498414","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"46bb500697d0f10ca65562e88d5be11b89ea5b61","timingsMs":{"prReadinessMs":528,"approvedPlanMs":0,"shipAndProveMs":4341,"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":"1d1b2373-9c6a-48d5-944d-c5b81f498414"},"performance":null,"deploymentId":"forgejo-main-46bb500697d0","workflowRunId":8391,"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-15T16:12:16.775378+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"2831","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1d1b2373-9c6a-48d5-944d-c5b81f498414:automatic-mission-resume:2831:canonical_release_reconciliation_pending","mission_step_id":"fbd2f2e2-5446-47d4-8fa5-6f7ce66d1bcd","command_center_event_id":"1d1b2373-9c6a-48d5-944d-c5b81f498414"},{"id":"ba4ef8a9-ed4b-478b-a2e3-7df51a048310","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-46ebb29acf22","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":28777,"releaseCount":0,"toolCallCount":15,"repeatedCallCount":11,"executorlessWaitMs":37963,"firstUsefulResultAt":"2026-10-06T18:08:02.357Z","recoveryAttemptCount":13,"ownerInterruptionCount":0},"version":"1.67.6-green-gate-promotion","prNumber":5220,"terminal":false,"missionId":"9d1cb93d-f32e-481c-9d31-119227225e23","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":17354,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3001,"approvedPlanMs":11634,"missionSetupMs":1991,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":896,"ledgerReconcileMs":0,"lineageReconcileMs":186,"resolvePreflightMs":1991,"repositoryMutationMs":2711,"repositoryProviderMs":2711,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2466,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":896,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":245},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"9d1cb93d-f32e-481c-9d31-119227225e23"},"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":1542,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T18:08:15.013262+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5220","receipt_type":"execute_mission","idempotency_key":"mission:9d1cb93d-f32e-481c-9d31-119227225e23:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"3d482c6b-9933-45d8-a748-2e5811404d56","command_center_event_id":"9d1cb93d-f32e-481c-9d31-119227225e23"},{"id":"ba517d11-45f7-4db6-b91a-fe9ad2c3a567","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"02f3245ccc326456533ccb73731a618c0ed491f6","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"02f3245ccc326456533ccb73731a618c0ed491f6","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"7f858eef13de14af4fc72649a4ced2faee56661d995012037182b0f67f83b7c8","forgejoWorkflowProof":{"runId":13830,"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-01T12:24:39.698724+00:00","proof_gate":"canonical_release_pending","source_sha":"02f3245ccc326456533ccb73731a618c0ed491f6","external_id":"forgejo-main-02f3245ccc32","receipt_type":"canonical_release_status","idempotency_key":"mission:cf2d48fe-9093-470e-8a89-540d6d33e934:forgejo-release-status:02f3245ccc326456533ccb73731a618c0ed491f6:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"a8da2dce-ca23-4faf-913c-392b7ba3d206","command_center_event_id":"cf2d48fe-9093-470e-8a89-540d6d33e934"},{"id":"ba51de01-9608-45d1-885e-0042e73f1314","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-migrations/live":"pending","supabase-edge-production/live":"pending"},"mainSha":"73581832f3dc13854abbfdf0e5dd06d32add1e01","missing":[],"pending":["forgejo-release/workflow","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":"73581832f3dc13854abbfdf0e5dd06d32add1e01","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T21:56:37.555175+00:00","proof_gate":"canonical_release_pending","source_sha":"73581832f3dc13854abbfdf0e5dd06d32add1e01","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:32930a65-3a4b-4ac7-98a5-eb787674bc0e:forgejo-release-status:73581832f3dc13854abbfdf0e5dd06d32add1e01:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending|supabase-migrations/live=pending","mission_step_id":"a44905a9-1db3-4feb-9661-84966d829210","command_center_event_id":"32930a65-3a4b-4ac7-98a5-eb787674bc0e"},{"id":"ba52b13b-b545-488d-a159-70475dc62433","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-mtk90qtr","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":5195,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":null,"terminal":false,"missionId":"73a43228-4a23-45cc-bdce-36e504279ebc","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":419,"missionSetupMs":5570},"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":"73a43228-4a23-45cc-bdce-36e504279ebc"},"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":4783,"likelyAffectedFiles":["scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer",".forgejo/workflows/knocklaunch.yml","scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/verify-forgejo-watchdog.sh","scripts/validate-command-center-contracts.mjs","src/__tests__/commandCenter/deployDetection.test.ts","scripts/protected-main-release-recovery.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T15:29:59.43817+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:73a43228-4a23-45cc-bdce-36e504279ebc:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"e5346b52-0d87-4771-a8ad-89c25df9431e","command_center_event_id":"73a43228-4a23-45cc-bdce-36e504279ebc"},{"id":"ba547fbb-fdb6-4670-9857-6e6148e8fb2f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"pull_request_not_merge_eligible:github_request_failed","status":"blocked","metrics":{"receiptBytes":2000,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.35.2-release-dedupe-proof","prNumber":4638,"terminal":false,"missionId":"3a19bd05-51c0-4b3f-9f90-4bf131d96825","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"3a19bd05-51c0-4b3f-9f90-4bf131d96825"},"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":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-12T01:00:48.077664+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4638","receipt_type":"ship_and_prove","idempotency_key":"mission:3a19bd05-51c0-4b3f-9f90-4bf131d96825:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"d27728c6-5267-4ee6-bf2d-a59fba2b41b7","command_center_event_id":"3a19bd05-51c0-4b3f-9f90-4bf131d96825"},{"id":"ba55e648-c015-48d1-bd8e-21e684c2968a","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success"},"mainSha":"28197bc1b7b726cfa3a4c3dc4d9e67ff2289c080","missing":[],"pending":[],"required":["forgejo-main/source"],"sourceSha":"28197bc1b7b726cfa3a4c3dc4d9e67ff2289c080","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":null,"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T18:29:07.512506+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"28197bc1b7b726cfa3a4c3dc4d9e67ff2289c080","external_id":"forgejo-main-28197bc1b7b7","receipt_type":"canonical_release_status","idempotency_key":"mission:f97bfa57-c541-435d-baae-e9ba669332c6:forgejo-release-status:28197bc1b7b726cfa3a4c3dc4d9e67ff2289c080:verified:forgejo-main/source=success","mission_step_id":"639e29c8-7820-427c-903f-e7d84f2eddae","command_center_event_id":"f97bfa57-c541-435d-baae-e9ba669332c6"},{"id":"ba565436-7c8b-44d0-8c78-c752ff5f805d","source":"forgejo","status":"waiting","payload":{"branch":"ai/seaside-profile-booking-native","prNumber":4083,"nextAction":null,"mergeCommitSha":"d65dabe6c7655a2be9635cd1b4826696806e69b9","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T02:01:26.708831+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"d65dabe6c7655a2be9635cd1b4826696806e69b9","external_id":"4083","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:844cc666-aa5a-49aa-b5a9-a511084e4b98:merged-pr:4083:d65dabe6c7655a2be9635cd1b4826696806e69b9","mission_step_id":"4b2cd971-4a64-4390-8ca0-be3183eff861","command_center_event_id":"844cc666-aa5a-49aa-b5a9-a511084e4b98"},{"id":"ba5767dc-ad6c-4676-9950-4fdc05a4e623","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":"ai/objective-first-repair-2315c074c80c","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1689,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-02T21:24:34.948Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.52-paul-deep-critic","prNumber":null,"terminal":false,"missionId":"2315c074-c80c-4d43-8fd7-d0eb32e08ec9","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1200,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":291,"providerAuthMs":0,"ledgerPrepareMs":291,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":291,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":291,"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":"2315c074-c80c-4d43-8fd7-d0eb32e08ec9"},"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":3288,"likelyAffectedFiles":["src/PrivateAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T21:24:35.007745+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2315c074-c80c-4d43-8fd7-d0eb32e08ec9:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"3dd744ca-bf91-404e-9949-f81263803ea1","command_center_event_id":"2315c074-c80c-4d43-8fd7-d0eb32e08ec9"},{"id":"ba5a2348-c148-4d12-a08f-57b8361bc068","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:43:42.308326+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:119417934","mission_step_id":"986497ca-c7bb-469a-819a-206da30cca37","command_center_event_id":"b78054b5-ff74-493d-9d49-b3305dbc800c"},{"id":"ba5b4931-76ef-4a19-b4b8-555637192f42","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"f73c4310f6c190d28096414aa1d919016e0e0d79","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"A read-only knowledge/conversation prompt returns a useful response even if owner operating context or durable knowledge retrieval throws, and never bubbles that failure into the frontend transport fallback.","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":"4b779c3efbaf5dfe4dcf78a5ada515d8f6a3ce3f0cd8d32deba598bbdc723592","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":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"4b779c3efbaf5dfe4dcf78a5ada515d8f6a3ce3f0cd8d32deba598bbdc723592"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T00:59:57.268692+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"f73c4310f6c190d28096414aa1d919016e0e0d79","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:b09f8ae7-a58c-4489-9d0d-1211cccc3d24:request-contract:4b779c3efbaf5dfe4dcf78a5ada515d8f6a3ce3f0cd8d32deba598bbdc723592:f73c4310f6c190d28096414aa1d919016e0e0d79:verified:","mission_step_id":"259ed9a3-ef05-4fdf-9729-1bda456bf16b","command_center_event_id":"b09f8ae7-a58c-4489-9d0d-1211cccc3d24"},{"id":"ba5c0c63-d657-4d7e-b7c6-e9ec29af6a87","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Reconcile the same RoofHelpFinder crawl-surface mission now that PR #1189 exact-head KnockLaunch Gate is green. Do not create another branch, PR, or release. Squash merge PR #1189, release only the affected frontend Worker, and complete the required live proof for https://roofhelpfinder.com/sitemap.xml. No Visual Witness.","wordingChanged":false,"canonicalIntent":"Reconcile the same RoofHelpFinder crawl-surface mission now that PR #1189 exact-head KnockLaunch Gate is green. Do not create another branch, PR, or release. Squash merge PR #1189, release only the affected frontend Worker, and complete the required live proof for https://roofhelpfinder.com/sitemap.xml. No Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-crawl","statement":"On RoofHelpFinder hosts, /robots.txt advertises only the RoofHelpFinder sitemap at /sitemap.xml, and /sitemap.xml serves the existing RoofHelpFinder sitemap content.","proofConditionIds":["proof-sitemap-live"]}],"objective":"Reconcile the same RoofHelpFinder crawl-surface mission now that PR #1189 exact-head KnockLaunch Gate is green. Do not create another branch, PR, or release. Squash merge PR #1189, release only the affected frontend Worker, and complete the required live proof for https://roofhelpfinder.com/sitemap.xml. No Visual Witness.","constraints":[{"id":"constraint-1","statement":"Change only scripts/cloudflare-native-owner-worker.mjs.","proofConditionIds":["proof-sitemap-live"]},{"id":"constraint-2","statement":"Do not alter the React app, lead funnel, tracking, claims, redirects, sitemap URL list, Vista media behavior, or other domains.","proofConditionIds":["proof-sitemap-live"]},{"id":"constraint-3","statement":"Use one fresh ai/* branch, one PR, KnockLaunch Gate, squash merge, and deploy only the affected frontend Worker.","proofConditionIds":["proof-sitemap-live"]},{"id":"constraint-4","statement":"Do not run Visual Witness.","proofConditionIds":["proof-sitemap-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-sitemap-live","kind":"runtime","claim":"https://roofhelpfinder.com/sitemap.xml serves the RoofHelpFinder sitemap after the merged release.","route":"https://roofhelpfinder.com/sitemap.xml","required":true,"expectedText":"https://roofhelpfinder.com/palm-bay/roof-leak-repair","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestContractHash":"0bb1f86c1329cd399cbc0a0f999b510d0464e296764262b2281cfbf75225d9f7","requestContractRevision":4,"previousRequestContractHash":"ff96481104052d29ae06e976737a2d457c29903097cd797e3150e7f672eec652"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T13:54:13.07831+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:4e5ed167-968c-4684-b7f2-4a44c8e1238e:request-contract-revision:4:0bb1f86c1329cd399cbc0a0f999b510d0464e296764262b2281cfbf75225d9f7","mission_step_id":"ede7b877-fe4a-4bfb-9a51-8de79be4ae37","command_center_event_id":"4e5ed167-968c-4684-b7f2-4a44c8e1238e"},{"id":"ba5ddb61-6b29-4478-8552-dd228521a01b","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"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 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 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};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};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 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})=>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:''});const[form,setForm]=useState({name:'',email:'',phone:'',tier:'two_weeks',cardCount:'1',delivery:'walk_in',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');\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||''});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 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);const{data,error}=await(supabase as any).from('card_grading_submissions').insert({tenant_id:tenantId,submission_number:submissionNumber,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,notes:form.notes.trim()||null,received_at:now.toISOString(),due_at:due.toISOString()}).select('*').single();if(error||!data){toast.error(error?.message||'Unable to create submission');setBusy(false);return}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',notes:''});await load();setBusy(false);onSubmissionCreated?.({id:String(data.id),submission_number:String(data.submission_number||submissionNumber)})}\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&&!card.slab_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&&!card.front_image_url&&!card.back_image_url)).length;return missing?(missing+' card'+(missing===1?' is':'s are')+' missing official PCG grade, cert, or customer-visible imagery.'):''}if(nextStatus==='shipped'&&!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;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,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]/94/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]/94/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'?renderList('Receive Cards','All submissions',filteredSubs):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={image} alt=\"Graded card\" 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-[#09090a]/94/[.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 .bg-card,.pcg-settings-dark [class*=\"bg-card\"]{background:#09090a!important}.pcg-settings-dark .bg-background,.pcg-settings-dark [class*=\"bg-background\"]{background:#050506!important}.pcg-settings-dark .text-foreground{color:#fff!important}.pcg-settings-dark .text-muted-foreground{color:rgba(255,255,255,.48)!important}.pcg-settings-dark [class*=\"border\"]{border-color:rgba(255,255,255,.10)}`}</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]/94/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><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 right-0 w-full max-w-3xl overflow-y-auto border-l border-white/10 bg-[#09090a]/94 p-4 pb-24 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><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\"><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-[#09090a]/94 px-4 py-2.5 text-sm font-black text-black\">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/PCGWorkspace.tsx","content":"import React,{useEffect,useRef,useState} from 'react';\nimport {Archive,ArrowUpRight,CheckCircle2,Database,FileSpreadsheet,ImagePlus,Layers3,Loader2,PackageCheck,PauseCircle,Radar,RefreshCw,ScanLine,ShieldCheck,UploadCloud,XCircle} from 'lucide-react';\nimport {supabase} from '@/integrations/supabase/client';\nimport {useMultiTenant} from '@/contexts/MultiTenantContext';\nimport {useToast} from '@/hooks/use-toast';\nimport {CRMShell} from '@/components/crm/CRMShell';\nimport {cn} from '@/lib/utils';\nimport PCGGrowthLab,{PCGGrowthPulse} from '@/pages/card-grading/PCGGrowthLab';\nimport {PCG_AUTOGRAPH_NOTE,PCG_CARD_THICKNESSES,PCG_GRADING_SCALE,findPCGGrade} from '@/pages/card-grading/pcgGradingScale';\nconst DRIVE_MEDIA_FN=`${import.meta.env.VITE_SUPABASE_URL}/functions/v1/pcg-google-drive-media`;const CONCURRENCY=4;type DriveMedia={url:string;fileId:string};\ntype CsvRow=Record<string,string>;type BatchItem={key:string;front?:File;back?:File;row?:CsvRow;status:'queued'|'uploading'|'done'|'failed';error?:string};type CardForm={title:string;player:string;year:string;set:string;number:string;category:string;grader:string;grade:string;cert:string;condition:string;qty:string;cost:string;value:string;tags:string;notes:string};type StoredCard={id:string;player_character?:string|null;brand_set?:string|null;year?:string|null;card_number?:string|null;front_image_url?:string|null;grade?:number|null;cert_number?:string|null;metadata?:Record<string,unknown>|null};type SubmissionOption={id:string;submission_number:string;customer_name:string|null;status:string};type DriveState='checking'|'ready'|'missing'|'reconnect';type ExistingBatchCard={id:string;sequence_number:number;import_key:string|null;front_image_url:string|null;back_image_url:string|null};type VaultMode='overview'|'single'|'batch'|'growth';\nconst EMPTY_FORM:CardForm={title:'',player:'',year:'',set:'',number:'',category:'',grader:'',grade:'',cert:'',condition:'',qty:'1',cost:'',value:'',tags:'',notes:''};\nconst fileStem=(name:string)=>name.replace(/\\.[^.]+$/,'').replace(/[-_ ](?:front|back|obverse|reverse)$/i,'');const isBack=(name:string)=>/[-_ ](?:back|reverse)\\.[^.]+$/i.test(name);const rowValue=(row:CsvRow|undefined,...keys:string[])=>keys.map(key=>row?.[key]).find(Boolean)||'';const money=(value:string)=>{const parsed=Number((value||'').replace(/[$,]/g,''));return Number.isFinite(parsed)?parsed:null};\nconst normalizeHeader=(value:string)=>String(value||'').trim().toLowerCase().replace(/[^a-z0-9]+/g,'_').replace(/^_+|_+$/g,'');\nfunction parseDelimited(text:string){const sample=String(text||'').split(/\\r?\\n/,1)[0]||'';const delimiter=(sample.match(/\\t/g)||[]).length>(sample.match(/,/g)||[]).length?'\\t':',';const matrix:string[][]=[];let row:string[]=[];let value='';let quoted=false;for(let index=0;index<text.length;index+=1){const char=text[index];if(quoted){if(char==='\"'&&text[index+1]==='\"'){value+='\"';index+=1}else if(char==='\"'){quoted=false}else{value+=char}continue}if(char==='\"'){quoted=true;continue}if(char===delimiter){row.push(value);value='';continue}if(char==='\\n'){row.push(value);if(row.some(cell=>cell.trim()))matrix.push(row);row=[];value='';continue}if(char!=='\\r')value+=char}row.push(value);if(row.some(cell=>cell.trim()))matrix.push(row);const headerRow=matrix.shift()||[];const seen=new Map<string,number>();const headers=headerRow.map((cell,index)=>{const base=normalizeHeader(cell)||'column_'+(index+1);const count=(seen.get(base)||0)+1;seen.set(base,count);return count===1?base:base+'_'+count});const rows=matrix.map(cells=>Object.fromEntries(headers.map((header,index)=>[header,String(cells[index]??'').trim()]))) as CsvRow[];return{headers,rows,delimiter}}\nfunction parseCsv(text:string){return parseDelimited(text).rows}\nfunction pairFiles(files:File[],rows:CsvRow[]){const map=new Map<string,BatchItem>();for(const file of files.filter(item=>item.type.startsWith('image/'))){const key=fileStem(file.name);const item=map.get(key)||{key,status:'queued' as const};if(isBack(file.name))item.back=file;else if(!item.front)item.front=file;else map.set(`${key}-${map.size+1}`,{key:`${key}-${map.size+1}`,front:file,status:'queued'});map.set(key,item)}for(const item of map.values())item.row=rows.find(row=>fileStem(rowValue(row,'filename','file','front','image')).toLowerCase()===item.key.toLowerCase());return[...map.values()]}\nfunction ModeButton({active,children,onClick}:{active:boolean;children:React.ReactNode;onClick:()=>void}){return <button onClick={onClick} className={cn('rounded-full px-4 py-2 text-xs font-bold transition sm:text-sm',active?'bg-[#d8bb78] text-[#0b0b0c]':'text-white/48 hover:bg-white/[0.05] hover:text-white')}>{children}</button>}\nfunction Stat({label,value,detail,icon:Icon}:{label:string;value:string;detail:string;icon:React.ComponentType<{className?:string}>}){return <div className=\"min-w-0 py-3 sm:border-l sm:border-white/[0.08] sm:px-5 first:sm:border-l-0 first:sm:pl-0\"><div className=\"flex items-center gap-2 text-[10px] font-bold uppercase tracking-[.16em] text-white/32\"><Icon className=\"h-3.5 w-3.5 text-[#d8bb78]\"/>{label}</div><div className=\"mt-2 text-2xl font-black tracking-tight text-white\">{value}</div><div className=\"mt-1 truncate text-xs text-white/35\">{detail}</div></div>}\nfunction Field({label,value,onChange,placeholder}:{label:string;value:string;onChange:(value:string)=>void;placeholder?:string}){return <label className=\"block\"><span className=\"text-[10px] font-bold uppercase tracking-[.13em] text-white/34\">{label}</span><input value={value} onChange={event=>onChange(event.target.value)} placeholder={placeholder} className=\"mt-2 h-11 w-full border-b border-white/[0.12] bg-transparent text-sm text-white outline-none transition placeholder:text-white/18 focus:border-[#d8bb78]/65\"/></label>}\nfunction PCGGradeField({grade:_grade,designation,onChange}:{grade:string;designation:string;onChange:(grade:string,designation:string)=>void}){const selected=findPCGGrade(designation);return <div className=\"sm:col-span-2\"><label className=\"block\"><span className=\"text-[10px] font-bold uppercase tracking-[.13em] text-white/34\">PCG grade</span><select value={designation} onChange={event=>{const option=findPCGGrade(event.target.value);onChange(option?.numeric==null?'':String(option.numeric),option?.designation||'')}} className=\"mt-2 h-11 w-full border border-white/[0.12] bg-[#09090a]/94 px-3 text-sm font-bold text-white outline-none focus:border-[#d8bb78]/65\"><option value=\"\">Select official PCG designation</option>{PCG_GRADING_SCALE.map(option=><option key={option.id} value={option.designation}>{option.designation}</option>)}</select></label>{selected?<details className=\"mt-2 border border-white/[0.08] bg-[#09090a]/94/[.025] px-3 py-2\"><summary className=\"cursor-pointer text-[10px] font-black uppercase tracking-[.13em] text-[#d8bb78]\">Official criteria</summary><p className=\"mt-2 text-xs leading-5 text-white/55\">{selected.criteria||'PCG’s published page does not currently provide usable criteria text for this designation.'}</p><div className=\"mt-2 text-[10px] text-white/35\">Card sizes: {PCG_CARD_THICKNESSES.join(' · ')} · {PCG_AUTOGRAPH_NOTE}</div></details>:null}</div>}\nfunction ImageTile({label,file,onFile}:{label:string;file:File|null;onFile:(file:File|null)=>void}){return <label className=\"group flex min-h-36 cursor-pointer flex-col justify-between border border-white/[0.09] bg-[#09090a]/94/[.025] p-4 transition hover:border-[#d8bb78]/30 hover:bg-[#d8bb78]/[0.035]\"><input type=\"file\" accept=\"image/*\" className=\"hidden\" onChange={event=>onFile(event.target.files?.[0]||null)}/><div className=\"flex items-center justify-between\"><span className=\"text-[10px] font-black uppercase tracking-[.16em] text-white/35\">{label}</span>{file?<CheckCircle2 className=\"h-5 w-5 text-emerald-400\"/>:<ImagePlus className=\"h-5 w-5 text-[#d8bb78]\"/>}</div><div><div className=\"truncate text-sm font-bold text-white/82\">{file?.name||`Choose ${label.toLowerCase()} image`}</div><div className=\"mt-1 text-xs text-white/28\">Private PCG card photography.</div></div></label>}\nfunction DemoCardFace({card}:{card:StoredCard}){const subject=String(card.player_character||card.brand_set||'Trading Card').replace(/^DEMO\\s*[—-]\\s*/i,'');const detail=[card.year,card.brand_set,card.card_number&&`#${card.card_number}`].filter(Boolean).join(' · ');return <div className=\"absolute inset-1.5 flex flex-col overflow-hidden rounded-[14px] border border-[#d8bb78]/45 bg-[radial-gradient(circle_at_72%_18%,rgba(216,187,120,.26),transparent_38%),linear-gradient(145deg,rgba(30,27,20,.98),rgba(7,7,8,.98)_58%,rgba(27,23,15,.98))] p-2.5 shadow-[inset_0_0_0_1px_rgba(255,255,255,.06),0_14px_32px_rgba(0,0,0,.26)]\"><div className=\"flex items-center justify-between gap-1\"><div className=\"flex items-center gap-1.5 text-[8px] font-black uppercase tracking-[.14em] text-[#ecd797]\"><ScanLine className=\"h-3 w-3\"/>PCG Demo</div><div className=\"rounded-full border border-white/10 bg-black/35 px-1.5 py-0.5 text-[7px] font-black uppercase tracking-[.08em] text-white/46\">Trading card</div></div><div className=\"my-auto grid place-items-center\"><div className=\"grid h-14 w-14 place-items-center rounded-[16px] border border-[#d8bb78]/25 bg-[#d8bb78]/[0.08] shadow-[0_0_36px_rgba(216,187,120,.10)]\"><Archive className=\"h-6 w-6 text-[#d8bb78]\"/></div></div><div><div className=\"line-clamp-2 text-sm font-black leading-tight text-white\">{subject}</div><div className=\"mt-1.5 line-clamp-2 text-[9px] font-bold uppercase tracking-[.06em] text-white/42\">{detail||card.cert_number||'PCG sample record'}</div></div></div>}\n\nexport function PCGCardVaultContent({initialMode='overview',initialSubmissionId=''}:{initialMode?:VaultMode;initialSubmissionId?:string}={}){const{activeTenant}=useMultiTenant();const{toast}=useToast();const tenantId=activeTenant?.id||'';const[mode,setMode]=useState<VaultMode>(initialMode);useEffect(()=>{setMode(initialMode)},[initialMode]);const[form,setForm]=useState<CardForm>(EMPTY_FORM);const[front,setFront]=useState<File|null>(null);const[reverse,setReverse]=useState<File|null>(null);const[saving,setSaving]=useState(false);const[rows,setRows]=useState<CsvRow[]>([]);const[items,setItems]=useState<BatchItem[]>([]);const[session,setSession]=useState('');const[running,setRunning]=useState(false);const[recent,setRecent]=useState<StoredCard[]>([]);const[total,setTotal]=useState(0);const[submissionOptions,setSubmissionOptions]=useState<SubmissionOption[]>([]);const[selectedSubmissionId,setSelectedSubmissionId]=useState('');const[driveState,setDriveState]=useState<DriveState>('checking');const stop=useRef(false);const done=items.filter(item=>item.status==='done').length;const failed=items.filter(item=>item.status==='failed').length;const remaining=items.filter(item=>item.status==='queued'||item.status==='failed');const progress=items.length?Math.round(((done+failed)/items.length)*100):0;const selectedSubmission=submissionOptions.find(item=>item.id===selectedSubmissionId)||null;const driveReady=driveState==='ready';\nasync function load(){if(!tenantId)return;setDriveState('checking');const[cardsResult,submissionResult,googleResult]=await Promise.all([(supabase as any).from('card_grading_cards').select('id,player_character,brand_set,year,card_number,front_image_url,grade,cert_number,metadata',{count:'exact'}).eq('tenant_id',tenantId).order('created_at',{ascending:false}).limit(12),(supabase as any).from('card_grading_submissions').select('id,submission_number,customer_name,status').eq('tenant_id',tenantId).order('created_at',{ascending:false}).limit(50),(supabase as any).from('tenant_provider_credentials').select('credential_status,metadata').eq('tenant_id',tenantId).eq('provider','google_workspace').maybeSingle()]);setRecent(cardsResult.data||[]);setTotal(Number(cardsResult.count||0));const eligible=((submissionResult.data||[]) as SubmissionOption[]).filter(item=>['received','intake_imaging','authentication','grading','encapsulation','qa'].includes(String(item.status||'')));setSubmissionOptions(eligible);setSelectedSubmissionId(current=>eligible.some(item=>item.id===initialSubmissionId)?initialSubmissionId:(eligible.some(item=>item.id===current)?current:(eligible[0]?.id||'')));const google=googleResult.data as any;const scopes=Array.isArray(google?.metadata?.granted_scopes)?google.metadata.granted_scopes.map((value:unknown)=>String(value)):[];setDriveState(google?.credential_status==='active'?(scopes.includes('https://www.googleapis.com/auth/drive.file')?'ready':'reconnect'):'missing')}useEffect(()=>{void load()},[tenantId,initialSubmissionId]);\nasync function createSubmission(label:string){const{data,error}=await(supabase as any).from('card_grading_submissions').insert({tenant_id:tenantId,submission_number:`VAULT-${Date.now()}-${crypto.randomUUID().slice(0,6)}`,customer_name:'PCG Internal Inventory',service_tier:'inventory',service_price:0,status:'received',notes:label,payment_status:'unverified'}).select('id').single();if(error)throw error;return data.id}\nasync function upload(file:File,sessionKey:string,key:string,side:string,importKey:string):Promise<DriveMedia>{const{data}=await supabase.auth.getSession();if(!data.session?.access_token)throw new Error('Please sign in again.');const params=new URLSearchParams({tenant_id:tenantId,session_key:sessionKey,import_key:importKey,key,side,name:file.name,content_type:file.type||'application/octet-stream'});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});const payload=await response.json().catch(()=>null);if(!response.ok||!payload?.ok)throw new Error(payload?.error||'Google Drive upload failed');return{url:String(payload.url||''),fileId:String(payload.file_id||'')}}\nasync function storeCard(submissionId:string,importKey:string,frontMedia:DriveMedia|null,backMedia:DriveMedia|null,row?:CsvRow,values:Partial<CardForm>={},target?:{id?:string;sequenceNumber?:number}){const metadata={title:values.title||rowValue(row,'title','name'),grading_company:values.grader||rowValue(row,'grading_company','grader'),condition:values.condition||rowValue(row,'condition'),quantity:Number(values.qty||rowValue(row,'quantity')||1)||1,acquisition_cost:money(values.cost||rowValue(row,'acquisition_cost','cost')),estimated_value:money(values.value||rowValue(row,'estimated_value','value')),tags:String(values.tags||rowValue(row,'tags')).split(/[;,]/).map(item=>item.trim()).filter(Boolean),notes:values.notes||rowValue(row,'notes'),...(frontMedia?.fileId||backMedia?.fileId?{image_storage:'google_workspace_drive',drive_media:{provider:'google_workspace',front_file_id:frontMedia?.fileId||null,back_file_id:backMedia?.fileId||null}}:{})};const payload={tenant_id:tenantId,submission_id:submissionId,sequence_number:target?.sequenceNumber||1,category:values.category||rowValue(row,'category','sport'),year:values.year||rowValue(row,'year'),brand_set:values.set||rowValue(row,'brand_set','set','brand'),player_character:values.player||rowValue(row,'player','subject'),card_number:values.number||rowValue(row,'card_number','card_no'),declared_value:money(values.value||rowValue(row,'estimated_value','value')),grade:money(values.grade||rowValue(row,'grade')),grade_label:values.condition||rowValue(row,'condition'),cert_number:values.cert||rowValue(row,'cert_number','cert','serial'),front_image_url:frontMedia?.url||null,back_image_url:backMedia?.url||null,grader_notes:values.notes||rowValue(row,'notes')||null,status:'received',import_key:importKey,metadata};if(target?.id){const{error}=await(supabase as any).from('card_grading_cards').update(payload).eq('tenant_id',tenantId).eq('id',target.id);if(error)throw error;return}const{error}=await(supabase as any).from('card_grading_cards').upsert(payload,{onConflict:'tenant_id,import_key',ignoreDuplicates:true});if(error)throw error}\nasync function saveSingle(){if(!front&&!reverse)return toast({title:'Add at least one card image'});if(!driveReady)return toast({title:'Google Workspace Drive required',description:driveState==='reconnect'?'Reconnect Google Workspace so PCG has Drive file access.':'Connect Google Workspace before storing new PCG card images.',variant:'destructive'});setSaving(true);try{const sessionKey='single-'+crypto.randomUUID();const submissionId=await createSubmission('Internal inventory card upload');const frontMedia=front?await upload(front,sessionKey,'card','front',sessionKey):null;const backMedia=reverse?await upload(reverse,sessionKey,'card','back',sessionKey):null;await storeCard(submissionId,sessionKey,frontMedia,backMedia,undefined,form);setForm(EMPTY_FORM);setFront(null);setReverse(null);toast({title:'Card stored in PCG',description:'Master imagery is stored in the connected PCG Google Drive.'});await load()}catch(error){toast({title:'Could not save card',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setSaving(false)}}\nasync function runBatch(batch:BatchItem[]){if(!session||!batch.length)return;if(!selectedSubmissionId)return toast({title:'Select a grading order first',description:'Mass Intake attaches images to an existing collector order.',variant:'destructive'});if(!driveReady)return toast({title:'Google Workspace Drive required',description:driveState==='reconnect'?'Reconnect Google Workspace so PCG has Drive file access.':'Connect Google Workspace before starting image intake.',variant:'destructive'});const selected=submissionOptions.find(item=>item.id===selectedSubmissionId);if(!selected)return toast({title:'That grading order is no longer available',description:'Choose another open PCG order.',variant:'destructive'});setRunning(true);stop.current=false;let failedCount=0;try{const existingResult=await(supabase as any).from('card_grading_cards').select('id,sequence_number,import_key,front_image_url,back_image_url').eq('tenant_id',tenantId).eq('submission_id',selectedSubmissionId).order('sequence_number',{ascending:true});if(existingResult.error)throw existingResult.error;const existingCards=(existingResult.data||[]) as ExistingBatchCard[];const byImport=new Map(existingCards.filter(card=>card.import_key).map(card=>[String(card.import_key),card]));const blankSlots=existingCards.filter(card=>!card.import_key&&!card.front_image_url&&!card.back_image_url).sort((a,b)=>a.sequence_number-b.sequence_number);let nextSequence=Math.max(0,...existingCards.map(card=>Number(card.sequence_number)||0))+1;const plans=batch.map(item=>{const importKey=('pcg:'+selectedSubmissionId+':'+item.key).toLowerCase().replace(/[^a-z0-9:._-]+/g,'-');const existing=byImport.get(importKey);if(existing)return{item,importKey,existing:true,targetId:existing.id,sequenceNumber:existing.sequence_number};const slot=blankSlots.shift();return{item,importKey,existing:false,targetId:slot?.id,sequenceNumber:slot?.sequence_number||nextSequence++}});let cursor=0;const worker=async()=>{while(!stop.current){const index=cursor++;if(index>=plans.length)return;const plan=plans[index];const item=plan.item;try{setItems(current=>current.map(row=>row.key===item.key?{...row,status:'uploading',error:undefined}:row));if(!plan.existing){const frontMedia=item.front?await upload(item.front,session,item.key,'front',plan.importKey):null;const backMedia=item.back?await upload(item.back,session,item.key,'back',plan.importKey):null;await storeCard(selectedSubmissionId,plan.importKey,frontMedia,backMedia,item.row,undefined,{id:plan.targetId,sequenceNumber:plan.sequenceNumber})}setItems(current=>current.map(row=>row.key===item.key?{...row,status:'done'}:row))}catch(error){failedCount+=1;setItems(current=>current.map(row=>row.key===item.key?{...row,status:'failed',error:error instanceof Error?error.message:String(error)}:row))}}};await Promise.all(Array.from({length:Math.min(CONCURRENCY,plans.length)},worker));if(!stop.current&&failedCount===0&&selected.status==='received'){const advanced=await(supabase as any).rpc('advance_pcg_grading_submission',{p_tenant_id:tenantId,p_submission_id:selectedSubmissionId,p_status:'intake_imaging'});if(advanced.error)throw advanced.error}toast({title:stop.current?'Batch paused':failedCount?'Batch needs attention':'Order intake complete',description:failedCount?failedCount+' card'+(failedCount===1?'':'s')+' can be retried safely.':selected.submission_number+' now owns these canonical card records and Drive images.'});await load()}catch(error){toast({title:'Mass intake could not finish',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setRunning(false)}}const update=(key:keyof CardForm,value:string)=>setForm(current=>({...current,[key]:value}));\nreturn <div className=\"pcg-card-vault w-full text-white\"><style>{`.pcg-card-vault .text-white\\\\/18,.pcg-card-vault .text-white\\\\/24,.pcg-card-vault .text-white\\\\/28,.pcg-card-vault .text-white\\\\/30,.pcg-card-vault .text-white\\\\/32,.pcg-card-vault .text-white\\\\/34,.pcg-card-vault .text-white\\\\/35,.pcg-card-vault .text-white\\\\/36,.pcg-card-vault .text-white\\\\/38,.pcg-card-vault .text-white\\\\/42,.pcg-card-vault .text-white\\\\/44,.pcg-card-vault .text-white\\\\/48{color:rgba(255,255,255,.68)!important}`}</style><section className=\"border-b border-white/[0.08] pb-6\"><div className=\"flex flex-col gap-5 xl:flex-row xl:items-end xl:justify-between\"><div><div className=\"flex items-center gap-2 text-[10px] font-black uppercase tracking-[.19em] text-[#d8bb78]\"><ScanLine className=\"h-4 w-4\"/>PCG Card Vault</div><h1 className=\"mt-3 text-[34px] font-black leading-none tracking-[-0.045em] sm:text-[46px]\">Card Vault</h1><p className=\"mt-3 max-w-2xl text-sm leading-6 text-white/44\">Capture one card or move an entire collection into PCG. Master imagery stays in the connected PCG Google Drive.</p></div><div className=\"flex max-w-full flex-wrap items-center rounded-2xl border border-white/[0.08] bg-[#09090a]/94/[.025] p-1\"><ModeButton active={mode==='overview'} onClick={()=>setMode('overview')}>Overview</ModeButton><ModeButton active={mode==='single'} onClick={()=>setMode('single')}>Internal inventory</ModeButton><ModeButton active={mode==='batch'} onClick={()=>setMode('batch')}>Mass intake</ModeButton><ModeButton active={mode==='growth'} onClick={()=>setMode('growth')}>Growth Lab</ModeButton></div></div><div className=\"mt-7 grid sm:grid-cols-4\"><Stat icon={Archive} label=\"Cards on file\" value={total.toLocaleString()} detail=\"Canonical PCG records\"/><Stat icon={Layers3} label=\"Current batch\" value={items.length.toLocaleString()} detail={items.length?`${done} stored so far`:'No intake running'}/><Stat icon={PackageCheck} label=\"Exceptions\" value={failed.toLocaleString()} detail={failed?'Ready to retry safely':'No failed uploads'}/><Stat icon={ShieldCheck} label=\"Storage\" value=\"Google Drive\" detail=\"PCG-owned master imagery\"/></div></section>{mode==='overview'?<PCGGrowthPulse tenantId={tenantId} onOpen={()=>setMode('growth')}/>:null}\n{mode==='overview'?<div className=\"mt-7 grid gap-7 xl:grid-cols-[minmax(0,1.15fr)_minmax(350px,.85fr)]\"><section><div className=\"mb-3 text-[10px] font-black uppercase tracking-[.17em] text-white/30\">Start an intake</div><div className=\"grid gap-px overflow-hidden border border-white/[0.08] bg-white/[0.08] sm:grid-cols-2\"><button onClick={()=>setMode('single')} className=\"group min-h-[210px] bg-[#09090a]/94 p-5 text-left transition hover:bg-[#09090a]/94/[.025]\"><div className=\"flex items-start justify-between\"><ImagePlus className=\"h-6 w-6 text-[#d8bb78]\"/><ArrowUpRight className=\"h-5 w-5 text-white/18 transition group-hover:text-[#d8bb78]\"/></div><div className=\"mt-14\"><h2 className=\"text-xl font-black tracking-tight\">Internal inventory card</h2><p className=\"mt-2 text-sm leading-6 text-white/38\">Create a standalone PCG-owned inventory record. This is not a collector grading submission.</p></div></button><button onClick={()=>setMode('batch')} className=\"group min-h-[210px] bg-[#09090a]/94 p-5 text-left transition hover:bg-[#09090a]/94/[.025]\"><div className=\"flex items-start justify-between\"><UploadCloud className=\"h-6 w-6 text-[#d8bb78]\"/><ArrowUpRight className=\"h-5 w-5 text-white/18 transition group-hover:text-[#d8bb78]\"/></div><div className=\"mt-14\"><h2 className=\"text-xl font-black tracking-tight\">Mass card intake</h2><p className=\"mt-2 text-sm leading-6 text-white/38\">Hundreds or thousands, front/back pairing, optional CSV, pause and safe retry.</p></div></button></div></section><section className=\"border-l border-white/[0.08] xl:pl-7\"><div className=\"flex items-center justify-between\"><div><div className=\"text-[10px] font-black uppercase tracking-[.16em] text-white/28\">Storage contract</div><h2 className=\"mt-2 text-lg font-black\">Built for volume</h2></div><Database className=\"h-5 w-5 text-[#d8bb78]\"/></div><div className=\"mt-5 divide-y divide-white/[0.07]\">{[['Google Drive masters','New originals live in the connected PCG Google Workspace, not KnockLaunch storage.'],['Safe retry','Completed imports keep a stable identity.'],['Canonical records','Single and batch intake write to the same card records.']].map(([title,copy])=><div key={title} className=\"py-4 first:pt-0\"><div className=\"flex items-center gap-2 text-sm font-bold text-white/80\"><CheckCircle2 className=\"h-4 w-4 text-emerald-400\"/>{title}</div><p className=\"mt-1.5 pl-6 text-xs leading-5 text-white/32\">{copy}</p></div>)}</div></section></div>:null}\n{mode==='growth'?<div className=\"mt-7\"><PCGGrowthLab tenantId={tenantId}/></div>:null}\n{mode==='single'?<section className=\"mt-7 grid gap-7 xl:grid-cols-[minmax(0,1.35fr)_minmax(320px,.65fr)]\"><div><div className=\"border-b border-white/[0.08] pb-4\"><div className=\"text-[10px] font-black uppercase tracking-[.16em] text-white/28\">Internal inventory</div><h2 className=\"mt-2 text-xl font-black\">Inventory card details</h2></div><div className=\"mt-6 grid gap-x-7 gap-y-5 sm:grid-cols-2\"><Field label=\"Title\" value={form.title} onChange={value=>update('title',value)}/><Field label=\"Player / subject\" value={form.player} onChange={value=>update('player',value)}/><Field label=\"Year\" value={form.year} onChange={value=>update('year',value)}/><Field label=\"Set / brand\" value={form.set} onChange={value=>update('set',value)}/><Field label=\"Card number\" value={form.number} onChange={value=>update('number',value)}/><Field label=\"Sport / category\" value={form.category} onChange={value=>update('category',value)}/><Field label=\"Grading company\" value={form.grader} onChange={value=>update('grader',value)}/><Field label=\"Certification / serial\" value={form.cert} onChange={value=>update('cert',value)}/><PCGGradeField grade={form.grade} designation={form.condition} onChange={(grade,designation)=>setForm(current=>({...current,grade,condition:designation}))}/><Field label=\"Quantity\" value={form.qty} onChange={value=>update('qty',value)}/><Field label=\"Acquisition cost\" value={form.cost} onChange={value=>update('cost',value)} placeholder=\"$0.00\"/><Field label=\"Estimated value\" value={form.value} onChange={value=>update('value',value)} placeholder=\"$0.00\"/><Field label=\"Tags\" value={form.tags} onChange={value=>update('tags',value)} placeholder=\"rookie, refractor, auto\"/></div><label className=\"mt-6 block\"><span className=\"text-[10px] font-bold uppercase tracking-[.13em] text-white/34\">Internal notes</span><textarea value={form.notes} onChange={event=>update('notes',event.target.value)} rows={4} className=\"mt-2 w-full border border-white/[0.09] bg-[#09090a]/94/[.025] p-4 text-sm leading-6 text-white outline-none focus:border-[#d8bb78]/40\"/></label></div><div className=\"self-start border-l border-white/[0.08] xl:pl-7\"><div className=\"text-[10px] font-black uppercase tracking-[.16em] text-white/28\">Card imagery</div><div className=\"mt-4 grid gap-px overflow-hidden border border-white/[0.08] bg-white/[0.08]\"><ImageTile label=\"Front\" file={front} onFile={setFront}/><ImageTile label=\"Back\" file={reverse} onFile={setReverse}/></div><button onClick={()=>void saveSingle()} disabled={saving} className=\"mt-4 flex h-12 w-full items-center justify-center gap-2 bg-[#d8bb78] text-sm font-black text-[#09090a] transition hover:bg-[#e3c886] disabled:opacity-50\">{saving?<Loader2 className=\"h-4 w-4 animate-spin\"/>:<Archive className=\"h-4 w-4\"/>}{saving?'Storing card…':'Store inventory card'}</button></div></section>:null}\n{mode==='batch'?<section className=\"mt-7 space-y-5\"><div className=\"border border-white/[0.08] bg-[#09090a]/94 p-5\"><div className=\"flex flex-col gap-4 lg:flex-row lg:items-end\"><label className=\"min-w-0 flex-1\"><span className=\"text-[10px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">1 · Collector order</span><select value={selectedSubmissionId} onChange={event=>{setSelectedSubmissionId(event.target.value);setSession('');setRows([]);setItems([])}} disabled={running} className=\"mt-2 h-12 w-full border border-white/[0.10] bg-[#09090a]/94 px-3 text-sm font-bold text-white outline-none focus:border-[#d8bb78]/55\"><option value=\"\">Select an open PCG order</option>{submissionOptions.map(option=><option key={option.id} value={option.id}>{option.submission_number} · {option.customer_name||'Collector'} · {option.status.replaceAll('_',' ')}</option>)}</select></label><div className=\"flex flex-wrap items-center gap-2 lg:justify-end\"><span className={cn('inline-flex h-10 items-center gap-2 border px-3 text-xs font-black',driveReady?'border-emerald-400/25 bg-emerald-400/[.07] text-emerald-200':'border-amber-400/25 bg-amber-400/[.07] text-amber-100')}><ShieldCheck className=\"h-4 w-4\"/>{driveState==='checking'?'Checking Drive…':driveReady?'Google Drive ready':driveState==='reconnect'?'Reconnect Google Workspace':'Google Workspace required'}</span><a href=\"?mode=submissions&tool=submissions\" className=\"inline-flex min-h-11 items-center border border-white/[0.10] px-3 py-2 text-xs font-black text-white/65\">Receive Cards</a>{!driveReady&&driveState!=='checking'?<a href=\"?tool=settings\" className=\"inline-flex min-h-11 items-center border border-[#d8bb78]/25 px-3 py-2 text-xs font-black text-[#d8bb78]\">Open settings</a>:null}</div></div><p className=\"mt-3 text-xs leading-5 text-white/42\">{selectedSubmission?'Images and CSV details will become the canonical cards for '+selectedSubmission.submission_number+' · '+(selectedSubmission.customer_name||'Collector')+'. No second submission is created.':'Create or choose the customer’s grading order before loading card images.'}</p></div>{!submissionOptions.length?<div className=\"border border-dashed border-amber-300/20 bg-amber-300/[.04] p-5 text-sm text-amber-100/80\">No open PCG grading orders are available. Create the collector order from <a href=\"?mode=submissions&tool=submissions\" className=\"font-black text-[#d8bb78] underline underline-offset-4\">Receive Cards</a>, then return to Mass Intake.</div>:null}{driveState==='missing'||driveState==='reconnect'?<div className=\"border border-dashed border-amber-300/20 bg-amber-300/[.04] p-5\"><div className=\"text-sm font-black text-amber-100\">{driveState==='reconnect'?'Google Workspace needs Drive permission':'Connect PCG Google Workspace before image intake'}</div><p className=\"mt-1 text-xs leading-5 text-white/45\">New PCG master images are stored in Anthony’s Google Drive. Intake stays locked until that private Drive connection is ready.</p></div>:null}<div className=\"grid gap-px overflow-hidden border border-white/[0.08] bg-white/[0.08] lg:grid-cols-2\"><label className={cn('group flex min-h-[180px] flex-col justify-between bg-[#09090a]/94 p-5',selectedSubmissionId&&driveReady&&!running?'cursor-pointer':'cursor-not-allowed opacity-45')}><input type=\"file\" multiple accept=\"image/*\" disabled={!selectedSubmissionId||!driveReady||running} className=\"hidden\" onChange={event=>{if(!event.target.files)return;setSession('batch-'+crypto.randomUUID());setRows([]);setItems(pairFiles(Array.from(event.target.files),[]))}}/><UploadCloud className=\"h-6 w-6 text-[#d8bb78]\"/><div><h2 className=\"text-xl font-black\">2 · Choose the card image batch</h2><p className=\"mt-2 text-sm leading-6 text-white/36\">Front/back filenames pair automatically. The selected order owns every imported card.</p></div></label><label className={cn('group flex min-h-[180px] flex-col justify-between bg-[#09090a]/94 p-5',items.length&&!running?'cursor-pointer':'cursor-not-allowed opacity-45')}><input type=\"file\" accept=\".csv,text/csv\" disabled={!items.length||running} className=\"hidden\" onChange={event=>event.target.files?.[0]?.text().then(text=>{const parsed=parseCsv(text);setRows(parsed);setItems(current=>current.map(item=>({...item,row:parsed.find(row=>fileStem(rowValue(row,'filename','file','front','image')).toLowerCase()===item.key.toLowerCase())})))})}/><FileSpreadsheet className=\"h-6 w-6 text-[#d8bb78]\"/><div><h2 className=\"text-xl font-black\">3 · Attach CSV details <span className=\"text-white/30\">(optional)</span></h2><p className=\"mt-2 text-sm leading-6 text-white/36\">Map filenames, player, set, year and card number into those same canonical order records.</p></div></label></div><div className=\"border border-white/[0.08] bg-[#09090a]/94\"><div className=\"flex flex-col gap-4 border-b border-white/[0.07] p-5 sm:flex-row sm:items-center\"><div className=\"mr-auto\"><div className=\"text-[10px] font-black uppercase tracking-[.16em] text-white/28\">Mass intake queue</div><div className=\"mt-1 text-lg font-black\">{items.length.toLocaleString()} cards <span className=\"font-medium text-white/30\">· {done} stored · {failed} failed</span></div>{selectedSubmission?<div className=\"mt-1 text-xs font-bold text-[#d8bb78]/80\">{selectedSubmission.submission_number} · {selectedSubmission.customer_name||'Collector'}</div>:null}</div>{running?<button onClick={()=>{stop.current=true}} className=\"inline-flex h-10 items-center gap-2 border border-white/[0.10] px-4 text-xs font-bold\"><PauseCircle className=\"h-4 w-4\"/>Pause intake</button>:<button disabled={!remaining.length||!selectedSubmissionId||!driveReady} onClick={()=>void runBatch(remaining)} className=\"inline-flex h-10 items-center gap-2 bg-[#d8bb78] px-4 text-xs font-black text-black disabled:opacity-35\"><UploadCloud className=\"h-4 w-4\"/>{!driveReady?'Google Drive required':!selectedSubmissionId?'Select an order':failed?'Retry remaining':'Start mass intake'}</button>}</div><div className=\"h-1 bg-white/[0.05]\"><div className=\"h-full bg-[#d8bb78]\" style={{width:`${progress}%`}}/></div><div className=\"max-h-[360px] overflow-auto p-2\">{!items.length?<div className=\"grid min-h-44 place-items-center text-center\"><div><Layers3 className=\"mx-auto h-7 w-7 text-white/16\"/><div className=\"mt-3 text-sm font-bold text-white/48\">No card batch loaded</div><div className=\"mt-1 text-xs text-white/28\">Choose an order, then load its card images.</div></div></div>:items.slice(0,2000).map((item,index)=><div key={`${item.key}-${index}`} className=\"grid grid-cols-[1fr_auto] items-center gap-3 px-3 py-2.5 text-sm\"><div className=\"min-w-0\"><div className=\"truncate font-semibold text-white/72\">{item.key}</div><div className=\"truncate text-[10px] text-white/24\">{item.front?.name}{item.back?' + back':''}</div></div>{item.status==='done'?<CheckCircle2 className=\"h-4 w-4 text-emerald-400\"/>:item.status==='failed'?<XCircle className=\"h-4 w-4 text-rose-400\"/>:item.status==='uploading'?<Loader2 className=\"h-4 w-4 animate-spin text-[#d8bb78]\"/>:<span className=\"text-[10px] text-white/24\">Queued</span>}</div>)}</div></div></section>:null}\n<section className=\"mt-8 border-t border-white/[0.08] pt-6\"><div className=\"flex items-end justify-between\"><div><div className=\"text-[10px] font-black uppercase tracking-[.16em] text-white/28\">Card Vault</div><h2 className=\"mt-1 text-lg font-black\">Recently stored</h2></div><button onClick={()=>void load()} aria-label=\"Refresh stored cards\" className=\"grid h-11 w-11 place-items-center border border-white/[0.08] text-white/36\"><RefreshCw className=\"h-4 w-4\"/></button></div>{recent.length?<div className=\"mt-4 grid grid-cols-2 gap-px overflow-hidden border border-white/[0.07] bg-white/[0.07] sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-8 2xl:grid-cols-9\">{recent.map(card=><article key={card.id} className=\"bg-black/48\"><div className=\"relative aspect-[3/4] overflow-hidden bg-[#080809]\">{card.metadata?.demo?<DemoCardFace card={card}/>:card.front_image_url?<img src={card.front_image_url} alt=\"\" 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>}{card.grade?<div className=\"absolute right-2 top-2 z-10 bg-black/78 px-2 py-1 text-[10px] font-black text-[#e5cd93]\">{card.grade}</div>:null}</div><div className=\"p-2.5\"><div className=\"truncate text-xs font-bold\">{card.player_character||card.brand_set||'Card'}</div><div className=\"mt-1 truncate text-[10px] text-white/30\">{[card.year,card.brand_set,card.card_number&&`#${card.card_number}`].filter(Boolean).join(' · ')||card.cert_number||'PCG record'}</div></div></article>)}</div>:<div className=\"mt-4 grid min-h-36 place-items-center border border-dashed border-white/[0.08] bg-black/20 text-center\"><div><Archive className=\"mx-auto h-7 w-7 text-white/12\"/><div className=\"mt-2 text-sm font-bold text-white/42\">The vault is ready.</div></div></div>}</section></div>}\nexport default function PCGWorkspace(){return <CRMShell><div className=\"mx-auto w-full max-w-[1500px] px-4 py-5 sm:px-6 sm:py-7 xl:px-9 xl:py-8\"><PCGCardVaultContent/></div></CRMShell>}\n"},{"path":"src/pages/card-grading/PCGCompletionCenter.tsx","content":"import React from 'react';\nimport {AlertTriangle,CheckCircle2,Mail,Truck} from 'lucide-react';\nimport {useMultiTenant} from '@/contexts/MultiTenantContext';\nimport {supabase} from '@/integrations/supabase/client';\nimport {formatPCGGrade} from '@/pages/card-grading/pcgGradingScale';\n\ntype Sub={id:string;submission_number:string;customer_name:string|null;customer_email:string|null;status:string;tracking_out:string|null};\ntype Card={id:string;submission_id:string;sequence_number:number;player_character:string|null;year:string|null;brand_set:string|null;grade:number|null;grade_label:string|null;cert_number:string|null;front_image_url:string|null;slab_image_url:string|null};\ntype HandoffStats={total:number;graded:number;certified:number;imaged:number};\nconst esc=(v:unknown)=>String(v??'').replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/\"/g,'&quot;');\n\nexport default function PCGCompletionCenter({mode}:{mode:'completed'|'mailed'}){\n  const{activeTenant}=useMultiTenant();const tenantId=activeTenant?.id||'';const slug=String(activeTenant?.company_slug||'pcg').trim().toLowerCase()||'pcg';const wmpUrl='https://whatsmyprogress.com/'+encodeURIComponent(slug)+'/';\n  const[subs,setSubs]=React.useState<Sub[]>([]);const[cards,setCards]=React.useState<Card[]>([]);const[loading,setLoading]=React.useState(true);const[sending,setSending]=React.useState<string|null>(null);const[armed,setArmed]=React.useState<string|null>(null);const[message,setMessage]=React.useState('');\n  const load=React.useCallback(async()=>{if(!tenantId)return;setLoading(true);const statuses=mode==='completed'?['ready']:['shipped','picked_up'];const s=await(supabase as any).from('card_grading_submissions').select('id,submission_number,customer_name,customer_email,status,tracking_out').eq('tenant_id',tenantId).in('status',statuses).order('updated_at',{ascending:false}).limit(30);const ids=(s.data||[]).map((x:any)=>x.id);let c:any={data:[]};if(ids.length)c=await(supabase as any).from('card_grading_cards').select('id,submission_id,sequence_number,player_character,year,brand_set,grade,grade_label,cert_number,front_image_url,slab_image_url').eq('tenant_id',tenantId).in('submission_id',ids).order('sequence_number',{ascending:true});setSubs(s.data||[]);setCards(c.data||[]);setArmed(null);setLoading(false)},[mode,tenantId]);\n  React.useEffect(()=>{void load()},[load]);\n  const ownCards=(sub:Sub)=>cards.filter(card=>card.submission_id===sub.id);\n  const stats=(sub:Sub):HandoffStats=>{const own=ownCards(sub);return{total:own.length,graded:own.filter(card=>card.grade!=null||Boolean(card.grade_label)).length,certified:own.filter(card=>Boolean(card.cert_number)).length,imaged:own.filter(card=>Boolean(card.slab_image_url||card.front_image_url)).length}};\n  const issues=(sub:Sub)=>{const value:string[]=[];const s=stats(sub);if(mode==='completed'){if(!s.total)value.push('no cards are attached');else{if(s.graded<s.total)value.push(`${s.total-s.graded} card${s.total-s.graded===1?' is':'s are'} missing a grade`);if(s.certified<s.total)value.push(`${s.total-s.certified} card${s.total-s.certified===1?' is':'s are'} missing a cert number`);if(s.imaged<s.total)value.push(`${s.total-s.imaged} card${s.total-s.imaged===1?' is':'s are'} missing a customer-visible image`)}}if(mode==='mailed'&&!sub.tracking_out)value.push('outbound tracking is missing');return value};\n  const send=async(sub:Sub)=>{if(!sub.customer_email||sending)return;setSending(sub.id);setMessage('');const own=ownCards(sub);const images=own.map(card=>card.slab_image_url||card.front_image_url).filter(Boolean) as string[];const shipped=mode==='mailed';const summary=own.length?`<h2 style=\"margin:24px 0 10px\">Your cards</h2><table role=\"presentation\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:100%;border-collapse:collapse\">${own.map(card=>{const name=[card.year,card.brand_set,card.player_character].filter(Boolean).join(' · ')||`Card #${card.sequence_number}`;const grade=formatPCGGrade(card.grade,card.grade_label);const cert=card.cert_number?`PCG#/CERT# ${card.cert_number}`:'Cert pending';return`<tr><td style=\"padding:10px 0;border-bottom:1px solid #e6e2d9\"><strong>${esc(name)}</strong><br><span style=\"color:#68645b;font-size:13px\">${esc(grade)} · ${esc(cert)}</span></td></tr>`}).join('')}</table>`:'';const body=`<!doctype html><html><body data-knocklaunch-email=\"pcg-order-update\" style=\"font-family:Arial,sans-serif;color:#171614;line-height:1.5\"><h1 style=\"margin:0 0 12px\">${shipped?'Your PCG order is on the way':'Your PCG grading order is complete'}</h1><p>Hi ${esc(sub.customer_name||'there')},</p><p>${shipped?'Your graded cards have been mailed back to you.':'Your cards have completed grading and are being prepared for return.'}</p><p><strong>Order:</strong> ${esc(sub.submission_number)}</p>${sub.tracking_out?`<p><strong>Tracking:</strong> ${esc(sub.tracking_out)}</p>`:''}<p><a href=\"${wmpUrl}\">View your live grading progress</a></p>${summary}${images.length?`<h2 style=\"margin:24px 0 10px\">Card images</h2><div>${images.slice(0,20).map((url,index)=>`<img src=\"${esc(url)}\" alt=\"Graded card ${index+1}\" style=\"width:150px;max-width:45%;height:auto;margin:6px;border:1px solid #ddd\"/>`).join('')}</div>`:''}<p style=\"margin-top:24px\">Thank you for choosing Prestigious Card Grading.</p></body></html>`;\n    const result=await supabase.functions.invoke('send-email',{body:{tenantId,to:sub.customer_email,subject:shipped?`Your PCG order ${sub.submission_number} has shipped`:`Your PCG order ${sub.submission_number} is complete`,body,idempotencyKey:`pcg-${mode}:${sub.id}:${sub.status}`,eventType:shipped?'pcg_order_shipped':'pcg_grading_completed',fromName:'Prestigious Card Grading'}});\n    if(result.error||!result.data?.ok)setMessage(result.data?.error||result.error?.message||'Email could not be sent. Check the PCG business mailbox connection.');else setMessage(result.data?.deduped?'This customer update was already sent.':'Customer update sent.');setArmed(null);setSending(null)};\n  const requestSend=(sub:Sub)=>{const warnings=issues(sub);if(warnings.length&&armed!==sub.id){setArmed(sub.id);setMessage(`${sub.submission_number} needs review: ${warnings.join('; ')}. Fix the record, or click Send anyway if this is intentional.`);return}void send(sub)};\n  return <section className=\"mx-auto max-w-[1600px] px-4 pt-4 sm:px-6 lg:px-8\"><div className=\"border border-white/10 bg-[#09090a]/94 p-4\"><div className=\"flex items-center gap-3\">{mode==='mailed'?<Truck className=\"h-5 w-5 text-[#d8bb78]\"/>:<CheckCircle2 className=\"h-5 w-5 text-[#d8bb78]\"/>}<div><div className=\"text-[10px] font-black uppercase tracking-[.17em] text-[#d8bb78]\">{mode==='mailed'?'Shipment handoff':'Completion handoff'}</div><h2 className=\"mt-1 text-xl font-black\">{mode==='mailed'?'Tracking + customer update':'Review & notify customer'}</h2></div></div>{message?<div className=\"mt-4 border border-white/10 bg-white/[.04] p-3 text-sm text-white/65\">{message}</div>:null}{loading?<div className=\"mt-5 text-sm text-white/35\">Loading customer handoffs…</div>:subs.length?<div className=\"mt-5 divide-y divide-white/8\">{subs.map(sub=>{const s=stats(sub);const warnings=issues(sub);const isArmed=armed===sub.id;return <div key={sub.id} className=\"py-3\"><div className=\"flex flex-col gap-4 xl:flex-row xl:items-center\"><div className=\"min-w-0 flex-1\"><div className=\"font-black\">{sub.submission_number} · {sub.customer_name||'Collector'}</div><div className=\"mt-1 truncate text-xs text-white/35\">{sub.customer_email||'Customer email missing'}{sub.tracking_out?` · Tracking ${sub.tracking_out}`:''}</div><div className=\"mt-3 grid max-w-xl grid-cols-4 gap-px overflow-hidden border border-white/[.07] bg-white/[.07]\"><div className=\"bg-[#09090a]/94/[.025] p-2.5\"><div className=\"text-[9px] font-black uppercase text-white/30\">Cards</div><div className=\"mt-1 font-black\">{s.total}</div></div><div className=\"bg-[#09090a]/94/[.025] p-2.5\"><div className=\"text-[9px] font-black uppercase text-white/30\">Graded</div><div className=\"mt-1 font-black\">{s.graded}/{s.total}</div></div><div className=\"bg-[#09090a]/94/[.025] p-2.5\"><div className=\"text-[9px] font-black uppercase text-white/30\">Certs</div><div className=\"mt-1 font-black\">{s.certified}/{s.total}</div></div><div className=\"bg-[#09090a]/94/[.025] p-2.5\"><div className=\"text-[9px] font-black uppercase text-white/30\">Images</div><div className=\"mt-1 font-black\">{s.imaged}/{s.total}</div></div></div>{warnings.length?<div className=\"mt-3 flex max-w-2xl items-start gap-2 text-xs leading-5 text-amber-100/80\"><AlertTriangle className=\"mt-0.5 h-4 w-4 shrink-0 text-amber-300\"/><span>{warnings.join(' · ')}</span></div>:<div className=\"mt-3 inline-flex items-center gap-2 text-xs font-black text-emerald-300\"><CheckCircle2 className=\"h-4 w-4\"/>Customer handoff ready</div>}</div><button disabled={!sub.customer_email||sending===sub.id} onClick={()=>requestSend(sub)} className={`inline-flex min-h-11 shrink-0 items-center justify-center gap-2 px-4 text-xs font-black disabled:opacity-35 ${isArmed&&warnings.length?'border border-amber-300/30 bg-amber-300/[.08] text-amber-100':'bg-[#d8bb78] text-black'}`}><Mail className=\"h-4 w-4\"/>{sending===sub.id?'Sending…':isArmed&&warnings.length?'Send anyway':mode==='mailed'?'Send shipment update':'Send completion email'}</button></div></div>})}</div>:<div className=\"mt-5 border border-dashed border-white/10 p-5 text-sm text-white/35\">No orders are currently in this stage.</div>}</div></section>\n}\n"},{"path":"src/pages/card-grading/PCGBatchPublishingCenter.tsx","content":"import React from 'react';\nimport {supabase} from '@/integrations/supabase/client';\n\ntype Row={id:string;card_id:string;sku:string;title:string;price:number;quantity:number;website_status:string;website_url?:string|null;ebay_status:string;ebay_url?:string|null;error_message?:string|null;card?:any};\nconst label=(v:string)=>v==='live'?'Live':v==='prerequisite_required'?'Setup required':v==='needs_attention'?'Needs attention':v==='sold'?'Sold':v==='uploaded'?'Not listed':v||'Not listed';\n\nexport default function PCGBatchPublishingCenter({tenantId}:{tenantId:string}){\n  const[rows,setRows]=React.useState<Row[]>([]);\n  const[prices,setPrices]=React.useState<Record<string,string>>({});\n  const[busy,setBusy]=React.useState<string[]>([]);\n  const[message,setMessage]=React.useState('');\n\n  const load=React.useCallback(async()=>{\n    if(!tenantId)return;\n    const {data}=await supabase.functions.invoke('pcg-commerce-publisher',{body:{action:'list',tenant_id:tenantId}});\n    if(data?.ok){\n      const items=Array.isArray(data.items)?data.items:[];\n      setRows(items);\n      setPrices(prev=>{\n        const next={...prev};\n        for(const row of items) if(!next[row.card_id]&&Number(row.price)>0) next[row.card_id]=String(row.price);\n        return next;\n      });\n    }\n  },[tenantId]);\n\n  const publish=React.useCallback(async(cardIds:string[])=>{\n    if(!cardIds.length)return;\n    setBusy(v=>Array.from(new Set([...v,...cardIds])));\n    const entries=cardIds.map(id=>[id,Number(prices[id]||0)] as const).filter(([,value])=>value>0);\n    const priceByCard=Object.fromEntries(entries);\n    const {data,error}=await supabase.functions.invoke('pcg-commerce-publisher',{body:{action:'publish_batch',tenant_id:tenantId,card_ids:cardIds,price_by_card:priceByCard}});\n    setBusy(v=>v.filter(id=>!cardIds.includes(id)));\n    if(error||!data?.ok)setMessage(data?.error||'Publishing could not start. Try again.');\n    else setMessage('Publishing pass complete. Any item that needs attention is isolated below.');\n    await load();\n  },[load,prices,tenantId]);\n\n  React.useEffect(()=>{void load()},[load]);\n  React.useEffect(()=>{\n    if(!tenantId)return;\n    const channel=supabase.channel('pcg-commerce-'+tenantId)\n      .on('postgres_changes',{event:'*',schema:'public',table:'card_grading_cards',filter:'tenant_id=eq.'+tenantId},()=>void load())\n      .subscribe();\n    const timer=window.setInterval(()=>void load(),10000);\n    return()=>{window.clearInterval(timer);void supabase.removeChannel(channel)};\n  },[load,tenantId]);\n\n  return <section data-pcg-batch-publishing=\"true\" className=\"relative z-10 mx-auto mb-5 w-full max-w-[1500px] px-3 sm:px-5 lg:px-7\">\n    <div className=\"rounded-3xl border border-white/10 bg-[#09090a]/94 p-4 shadow-[0_10px_28px_rgba(0,0,0,.22)] backdrop-blur-xl sm:p-5\">\n      <div className=\"flex flex-wrap items-center gap-3\">\n        <div className=\"min-w-0 flex-1\"><div className=\"text-[10px] font-black uppercase tracking-[.2em] text-[#d8bb78]/70\">Publishing command center</div><h2 className=\"mt-1 text-xl font-black text-white\">Website + eBay</h2><p className=\"mt-1 text-sm text-white/55\">Completed cards are candidates only. Nothing is listed until you enter an explicit sale price and press Publish.</p><p className=\"mt-1 text-xs font-semibold text-amber-100/75\">A card’s declared or grading value is never treated as permission to sell it.</p></div>\n        <div className=\"rounded-full border border-[#d8bb78]/25 bg-[#d8bb78]/10 px-3 py-1.5 text-[11px] font-black uppercase tracking-[.12em] text-[#d8bb78]\">Owner approval required</div>\n      </div>\n      {message?<div className=\"mt-3 rounded-xl border border-white/10 bg-white/[.05] px-3 py-2 text-sm text-white/70\">{message}</div>:null}\n      <div className=\"mt-4 grid gap-2\">\n        {!rows.length?<div className=\"rounded-2xl border border-white/8 bg-white/[.03] p-4 text-sm text-white/55\">Completed graded cards appear here as sale candidates. Set an explicit sale price and press Publish only for cards PCG is actually authorized to sell.</div>:rows.map(row=>{\n          const working=busy.includes(row.card_id);\n          const price=prices[row.card_id]??String(row.price||'');\n          return <article key={row.id||row.card_id} className=\"grid gap-3 rounded-2xl border border-white/8 bg-white/[.035] p-3 lg:grid-cols-[minmax(0,1fr)_140px_auto] lg:items-center\">\n            <div className=\"min-w-0\"><div className=\"truncate text-sm font-black text-white\">{row.title||row.sku}</div><div className=\"mt-1 flex flex-wrap gap-2 text-[11px] font-bold\"><span className=\"rounded-full bg-white/[.06] px-2 py-1 text-white/65\">{row.sku}</span><span className=\"rounded-full bg-white/[.06] px-2 py-1 text-white/65\">Website: {label(row.website_status)}</span><span className=\"rounded-full bg-white/[.06] px-2 py-1 text-white/65\">eBay: {label(row.ebay_status)}</span></div>{row.error_message?<div className=\"mt-2 text-xs font-semibold text-amber-100/75\">{row.error_message}</div>:null}</div>\n            <label className=\"grid gap-1 text-[10px] font-black uppercase tracking-[.12em] text-white/45\">Explicit sale price<input inputMode=\"decimal\" value={price} onChange={e=>setPrices(v=>({...v,[row.card_id]:e.target.value}))} className=\"h-10 min-w-0 rounded-xl border border-white/10 bg-[#09090a]/94 px-3 text-sm font-bold text-white outline-none focus:border-[#d8bb78]/60\" placeholder=\"0.00\"/></label>\n            <div className=\"flex flex-wrap gap-2 lg:justify-end\">{row.website_url?<a className=\"rounded-lg border border-white/10 px-2.5 py-2 text-xs font-black text-white/75\" href={row.website_url} target=\"_blank\" rel=\"noreferrer\">Website</a>:null}{row.ebay_url?<a className=\"rounded-lg border border-white/10 px-2.5 py-2 text-xs font-black text-white/75\" href={row.ebay_url} target=\"_blank\" rel=\"noreferrer\">eBay</a>:null}<button type=\"button\" disabled={working||!(Number(price)>0)} onClick={()=>void publish([row.card_id])} className=\"rounded-lg border border-[#d8bb78]/30 bg-[#d8bb78]/10 px-2.5 py-2 text-xs font-black text-[#d8bb78] disabled:opacity-40\">{working?'Publishing…':row.website_status==='live'||row.ebay_status==='live'?'Update listing':row.website_status==='uploaded'&&row.ebay_status==='uploaded'?'Publish website + eBay':'Retry'}</button></div>\n          </article>\n        })}\n      </div>\n    </div>\n  </section>;\n}\n"}],"route":"/pcg/workspace","branch":"ai/objective-first-repair-8383247bc3ec","writes":[],"patches":[],"pr_body":"Completes the owner-requested revert by removing the rejected light treatment from all inner PCG routes, not just the MODES landing shell.","version":1,"approved":true,"pr_title":"PCG: complete dark MODES revert","missionId":"8383247b-c3ec-459c-944c-0592b7b4e340","objective":"Complete the owner-requested PCG revert consistently across every inner route. The MODES shell is dark but Receive Cards, Capture/Card Vault, Grade Cards, Publish & Sell, Fulfill/Completion, and PCG Settings still carry the rejected light redesign. Revert those presentation layers together to the dark PCG MODES visual system: near-black workspace/background panels, white text, white low-opacity borders, dark inputs, gold accent, dark completion/publishing cards, dark mobile nav/modal surfaces, and dark PCG settings launcher/embedded settings treatment. Do not redesign, renumber, or restructure workflows. Preserve all current functional fixes: /pcg/workspace routing, Receive->Capture preselection, official grading scale, publishing approval, fulfillment, payments, provider prerequisites, and mobile touch targets. Frontend-only. Completion requires no light-route split on the representative owner paths /pcg/workspace?mode=submissions, /pcg/workspace?mode=submissions&tool=vault&vault=batch, /pcg/workspace?mode=grading, /pcg/workspace?mode=listings, /pcg/workspace?mode=orders, and ?tool=settings.","tenantRef":"pcg","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/crm/PcgWorkspace.tsx","src/pages/card-grading/PCGWorkspace.tsx","src/pages/card-grading/PCGCompletionCenter.tsx","src/pages/card-grading/PCGBatchPublishingCenter.tsx"],"commit_message":"Revert all PCG routes to dark MODES","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/crm/PcgWorkspace.tsx","src/pages/card-grading/PCGWorkspace.tsx","src/pages/card-grading/PCGCompletionCenter.tsx","src/pages/card-grading/PCGBatchPublishingCenter.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":"70f34ba53679a706cb5a3e9e8aa6a1b58f38ce18286c758e554932011c65536a","replayCount":0,"serializedBytes":107478},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T20:11:26.413745+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:8383247b-c3ec-459c-944c-0592b7b4e340:repository-mutation-intent:70f34ba53679a706cb5a3e9e8aa6a1b58f38ce18286c758e554932011c65536a:0","mission_step_id":"72689ac2-79fe-4480-8ad3-b08ddfe56498","command_center_event_id":"8383247b-c3ec-459c-944c-0592b7b4e340"},{"id":"ba5f9260-20ba-47a6-af08-29239eb95ab7","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["scripts/visual-witness-hosted-runner/src/universal-witness.mjs","config/capabilities/owner-new-business-pipeline.json","scripts/phase3b-sanitize-and-publish-v2.ts","config/capabilities/pcg-card-grading-modes.json"],"continuationObjective":"Implement and ship the PCG upload pipeline hardening and Squarespace outbound publish path exactly as the owner described in the current conversation. No Visual Witness."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T10:53:49.624573+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:9c7f2976-5eed-4529-935e-81d6725f1a7f:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"b8c54f44-8ca1-40f2-913b-5e2f8b1a9b6d","command_center_event_id":"9c7f2976-5eed-4529-935e-81d6725f1a7f"},{"id":"ba604235-0c05-47ff-baa2-91ee329291d1","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"/creative-studio","branch":"ai/objective-first-repair-01018640eadf","writes":[],"patches":[],"approved":true,"missionId":"01018640-eadf-4b23-a2f6-266526b06bd6","objective":"Repair the Creative Studio flyer editor so the mobile panel state has an on-screen navigation control and reusable proposal/invoice presentation templates are visible and selectable from Saved. Preserve current desktop behavior and existing document records.","repository":"noel/KnockLaunchOS","ownerApproved":true,"sourceTargets":["src/pages/applications/CreativeStudioApplicationRoute.tsx"],"anchored_edits":[{"path":"src/pages/applications/CreativeStudioApplicationRoute.tsx","anchor":"              <div><div className=\"mb-2 text-[10px] font-black uppercase tracking-[.16em] text-white/30\">Templates</div>{reusableTemplates.length ? <div className=\"space-y-2\">{reusableTemplates.map(item => <div key={item.id} className=\"rounded-xl border border-white/10 bg-white/[.035] p-3\"><button type=\"button\" onClick={() => applySaved(item)} className=\"w-full text-left\"><div className=\"truncate font-semibold\">{item.label}</div><div className=\"mt-1 text-[11px] text-white/35\">{FORMATS[item.format_key as FlyerFormat]?.shortLabel || item.format_key}</div></button><button type=\"button\" onClick={() => void saveProposalPresentation(tenantId, normalizeProposalFreeform(item.presentation)).then(openProposals).catch(() => setError('Template could not be applied to Proposals.'))} className=\"mt-2 text-xs font-semibold text-emerald-300\">Use in Proposals</button></div>)}</div> : <div className=\"rounded-xl border border-dashed border-white/10 p-3 text-xs text-white/35\">Reusable templates will appear here.</div>}</div>","replacement":"              <div><div className=\"mb-2 text-[10px] font-black uppercase tracking-[.16em] text-white/30\">Templates</div>{reusableTemplates.length ? <div className=\"space-y-2\">{reusableTemplates.map(item => <div key={item.id} className=\"rounded-xl border border-white/10 bg-white/[.035] p-3\"><button type=\"button\" onClick={() => applySaved(item)} className=\"w-full text-left\"><div className=\"truncate font-semibold\">{item.label}</div><div className=\"mt-1 text-[11px] text-white/35\">{FORMATS[item.format_key as FlyerFormat]?.shortLabel || item.format_key}</div></button><button type=\"button\" onClick={() => void saveProposalPresentation(tenantId, normalizeProposalFreeform(item.presentation)).then(openProposals).catch(() => setError('Template could not be applied to Proposals.'))} className=\"mt-2 text-xs font-semibold text-emerald-300\">Use in Proposals</button></div>)}</div> : <div className=\"rounded-xl border border-dashed border-white/10 p-3 text-xs text-white/35\">Reusable templates will appear here.</div>}</div>\n              {reusableDocumentLayers.length ? <div><div className=\"mb-2 text-[10px] font-black uppercase tracking-[.16em] text-white/30\">Document layer stacks</div><div className=\"space-y-2\">{reusableDocumentLayers.map(item => <div key={item.id} className=\"rounded-xl border border-sky-300/15 bg-sky-300/[.04] p-3\"><div className=\"text-[10px] font-black uppercase tracking-[.14em] text-sky-300/65\">{item.kind}</div><div className=\"mt-1 truncate font-semibold\">{item.label}</div><p className=\"mt-1 text-[11px] leading-4 text-white/35\">Reuse the editable presentation stack instead of flattening it into a screenshot.</p><button type=\"button\" onClick={() => applyDocumentLayerStack(item)} className=\"mt-2 min-h-9 w-full rounded-lg border border-sky-300/20 bg-sky-300/10 px-3 text-xs font-bold text-sky-200\">Remix as flyer</button></div>)}</div></div> : null}"},{"path":"src/pages/applications/CreativeStudioApplicationRoute.tsx","anchor":"      </div>\n    </div>\n  );\n}\n\nfunction ProposalTemplates","replacement":"      </div>\n\n      <nav data-creative-mobile-dock=\"true\" className=\"fixed inset-x-2 bottom-[calc(env(safe-area-inset-bottom)+0.5rem)] z-40 grid grid-cols-6 gap-1 rounded-2xl border border-white/10 bg-[#090d13]/95 p-1.5 text-white shadow-2xl backdrop-blur-xl xl:hidden\">\n        {([\n          ['canvas', ImageIcon, 'Canvas'],\n          ['layouts', LayoutTemplate, 'Layouts'],\n          ['saved', Save, 'Saved'],\n          ['assets', Library, 'Assets'],\n          ['layers', Layers3, 'Layers'],\n          ['edit', SlidersHorizontal, 'Edit'],\n        ] as Array<[MobilePanel, React.ComponentType<{ className?: string }>, string]>).map(([key, Icon, label]) => <button key={key} type=\"button\" onClick={() => { setMobilePanel(key); if (key === 'layouts' || key === 'saved' || key === 'assets' || key === 'layers') setLeftTab(key); }} className={cx('grid min-h-12 place-items-center rounded-xl px-1 text-[10px] font-bold transition', mobilePanel === key ? 'bg-emerald-400 text-emerald-950' : 'text-white/55 active:bg-white/10')}><Icon className=\"h-4 w-4\" /><span>{label}</span></button>)}\n      </nav>\n    </div>\n  );\n}\n\nfunction ProposalTemplates"}],"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"9e07f04f17a9f271d608a71134bf0b4c2f561af8dde79158800a046f271ecb1b","replayCount":0,"serializedBytes":5066},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:15:54.659597+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:01018640-eadf-4b23-a2f6-266526b06bd6:repository-mutation-intent:9e07f04f17a9f271d608a71134bf0b4c2f561af8dde79158800a046f271ecb1b:0","mission_step_id":"c8339d00-a006-45ae-9788-2b94e316dacc","command_center_event_id":"01018640-eadf-4b23-a2f6-266526b06bd6"},{"id":"ba6188fe-28b5-4028-b3b6-04c99c59b7ff","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"97fa469ca281e7d3d73343fc1b70a5ab726aff5c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"transport-reliability","satisfied":true,"statement":"Healthy Forgejo/provider latency no longer becomes a fatal connection solely because a read exceeds the old 1.2-4 second budgets; shared idempotent reads use a bounded 5 second first attempt and approximately 15 second total budget with at most one retry, and exhausted transient transport is explicitly retryable/degraded.","proofConditionIds":["repo-proof","runtime-proof","watchdog-proof"]},{"id":"gate-pressure","satisfied":true,"statement":"KnockLaunch Gate uses resilient bounded Forgejo freshness reads and checks stale protected-main state before expensive dependency/typecheck work without adding redundant normal-path provider reads; final protected-main freshness remains fail-closed.","proofConditionIds":["repo-proof","release-proof"]},{"id":"live-release","satisfied":true,"statement":"The repair passes KnockLaunch Gate, squash-merges through Forgejo, deploys only affected Command Center/control-plane targets, and the new runtime is live.","proofConditionIds":["release-proof","runtime-proof"]}],"satisfied":true,"constraints":[{"id":"write-safety","satisfied":true,"statement":"Forgejo writes remain single-attempt except existing exact read-back reconciliation; no blind write retry is introduced.","proofConditionIds":["repo-proof"]},{"id":"host-safety","satisfied":true,"statement":"Verified healthy-host provider transport latency is not host restart authority and must not create restart loops or spend automatic host restart budget.","proofConditionIds":["repo-proof","watchdog-proof"]},{"id":"scope","satisfied":true,"statement":"Change only the exact Forgejo transport, Gate freshness, capability-contract, regression-test, and Command Center version files required by this failure class; do not run Visual Witness.","proofConditionIds":["repo-proof","release-proof"]}],"contractHash":"f5e425191c15f0f7fbce6d2c1a4469bcf7437788a282387ff5d2258dd57ed01f","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-proof","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"f5e425191c15f0f7fbce6d2c1a4469bcf7437788a282387ff5d2258dd57ed01f","repositoryProofStatus":"verified","repositoryProofSourceSha":"97fa469ca281e7d3d73343fc1b70a5ab726aff5c"},"required":true,"satisfied":true},{"id":"release-proof","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"f5e425191c15f0f7fbce6d2c1a4469bcf7437788a282387ff5d2258dd57ed01f"},"required":true,"satisfied":true},{"id":"runtime-proof","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"f5e425191c15f0f7fbce6d2c1a4469bcf7437788a282387ff5d2258dd57ed01f"},"required":true,"satisfied":true},{"id":"watchdog-proof","kind":"host_watchdog","evidence":{"expectedText":null,"heartbeatAgeMs":38910,"maintenanceProof":"migration=pack-bitmaps-v13 status=success observed_at=2026-09-04T04:49:54Z warning: garbage found: ./objects/pack/tmp_pack_VYdAHs warning: garbage found: ./objects/pack/tmp_pack_VYdAHs canonical_repo=/data/git/repositories/noel/knocklaunchos.git before=count: 69428,size: 352160,in-pack: 157475,packs: 51,size-pack: 70814,prune-packable: 0,garbage: 1,size-garbage: 65898, after=count: 10317,size: 51500,in-pack: 216586,packs: 2,size-pack: 91470,prune-packable: 0,garbage: 1,size-garbage: 65898,","heartbeatVerified":true},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":4},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T21:19:05.791165+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"97fa469ca281e7d3d73343fc1b70a5ab726aff5c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:bbe450ac-8efa-4745-8a8f-c98149163993:request-contract:f5e425191c15f0f7fbce6d2c1a4469bcf7437788a282387ff5d2258dd57ed01f:97fa469ca281e7d3d73343fc1b70a5ab726aff5c:verified:","mission_step_id":"973afc63-fd0d-4625-9828-9c30e38b5f9e","command_center_event_id":"bbe450ac-8efa-4745-8a8f-c98149163993"},{"id":"ba61e49a-958c-4ecf-8592-5491200ee114","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"d03e5fefcbaf4c2007c2751f9e45f2a842885fd1","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"d03e5fefcbaf4c2007c2751f9e45f2a842885fd1","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":"db56aa23ad8909b64ac47f0eef8381bfd078bb00d745d8c61251cb45eb182485","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/7537","runId":7537,"status":"success","sourceSha":"d03e5fefcbaf4c2007c2751f9e45f2a842885fd1","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-12T20:59:26.324118+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"d03e5fefcbaf4c2007c2751f9e45f2a842885fd1","external_id":"forgejo-main-d03e5fefcbaf","receipt_type":"canonical_release_status","idempotency_key":"mission:2ffcdc5c-3c8a-492f-af41-f29a4288f40f:forgejo-release-status:d03e5fefcbaf4c2007c2751f9e45f2a842885fd1:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"d3d13135-2100-4a1e-968b-9f7e70d7aff3","command_center_event_id":"2ffcdc5c-3c8a-492f-af41-f29a4288f40f"},{"id":"ba61fe99-18f2-4625-8599-14b6e8fa926b","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\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\",\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-09-29T22:12:29.829918+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-34ed79c3424f\",\"prNumber\":4164,\"sourceSha\":\"1e7b7a6018d51da08b268dcb42992fa14b3efd6e\",\"deploymentId\":\"forgejo-main-1e7b7a6018d5\"}"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T18:53:53.495119+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:34ed79c3-424f-41e8-8712-6766db49a62c:owner-progress-heartbeat:119380535","mission_step_id":"49e2a379-63ae-44c6-999d-4c722223e1dc","command_center_event_id":"34ed79c3-424f-41e8-8712-6766db49a62c"},{"id":"ba623217-cb71-41b8-93b5-4c46b6946c62","source":"cc-execution","status":"recorded","payload":{"objective":"Ship the existing PCG construction-gate change already present on branch ai/fast-ui-owner-explicitly-authorizes-this-final-p-01eb5b2d and PR #4722. Public prestigiouscardgrading.com must show Under Construction while /prestigious-card-grading remains the editable full preview.","tenantRef":"PCG","receivedAt":"2026-10-04T10:00:33.847Z","fingerprint":"6b000e16e706121282aed25e8bfdb75ec11fc440d69c9ed9bc8b7f2c21c08d9e","workstreamRef":"pcg","conversationId":null,"canonicalBranch":"ai/fast-ui-owner-explicitly-authorizes-this-final-p-01eb5b2d","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":"Ship the existing PCG construction-gate change already present on branch ai/fast-ui-owner-explicitly-authorizes-this-final-p-01eb5b2d and PR #4722. Public prestigiouscardgrading.com must show Under Construction while /prestigious-card-grading remains the editable full preview.","proofKinds":["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":"Ship the existing PCG construction-gate change already present on branch ai/fast-ui-owner-explicitly-authorizes-this-final-p-01eb5b2d and PR #4722. Public prestigiouscardgrading.com must show Under Construction while /prestigious-card-grading remains the editable full preview.","wordingChanged":false,"canonicalIntent":"Ship the existing PCG construction-gate change already present on branch ai/fast-ui-owner-explicitly-authorizes-this-final-p-01eb5b2d and PR #4722. Public prestigiouscardgrading.com must show Under Construction while /prestigious-card-grading remains the editable full preview.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"public-construction","statement":"prestigiouscardgrading.com renders Under Construction to public visitors","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"preview-preserved","statement":"The internal /prestigious-card-grading route remains the full editable PCG preview","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Ship the existing PCG construction-gate change already present on branch ai/fast-ui-owner-explicitly-authorizes-this-final-p-01eb5b2d and PR #4722. Public prestigiouscardgrading.com must show Under Construction while /prestigious-card-grading remains the editable full preview.","constraints":[{"id":"existing-pr","statement":"Use the existing PCG construction-gate change; do not invent a parallel public site system.","provenance":{"reason":null,"source":"explicit_request_contract","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":"hard_safety_invariant","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":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"adaptivePolicy":{"risk":{"tier":"bounded","blastRadius":"narrow"},"proof":{"requiredKinds":["runtime"],"visualProofScope":"none","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":"https://prestigiouscardgrading.com/","roleRef":null,"tenantRef":"PCG","sourceTargets":["src/PublicAppShell.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":["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":"parallel_non_overlapping_tenant_work","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":["frontend","release_ownership"],"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 the existing PCG construction-gate change already present on branch ai/fast-ui-owner-explicitly-authorizes-this-final-p-01eb5b2d and PR #4722. Public prestigiouscardgrading.com must show Under Construction while /prestigious-card-grading remains the editable full preview.","canonicalIntent":"Ship the existing PCG construction-gate change already present on branch ai/fast-ui-owner-explicitly-authorizes-this-final-p-01eb5b2d and PR #4722. Public prestigiouscardgrading.com must show Under Construction while /prestigious-card-grading remains the editable full preview.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"The exact PCG custom domain is live with Under Construction and the internal preview remains available","route":"https://prestigiouscardgrading.com/","roleRef":null,"userRef":null,"required":true,"expectedText":"Under Construction","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Ship-the-existing-PCG-construction-gate-change-already-present-on-branch-ai-fast-ui-owner-explicitly","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","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":"ai/fast-ui-owner-explicitly-authorizes-this-final-p-01eb5b2d","conversationContext":null,"requestContractHash":"b12eb094eb1d68d563dcd3748a8fc4ec16ac971745f414be5065956a54c944ab","requestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T10:00:34.062591+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:84bf37e6-4cd7-4daf-9ffb-ee5b2490274a:tenant-workstream-contribution:6b000e16e706121282aed25e8bfdb75ec11fc440d69c9ed9bc8b7f2c21c08d9e","mission_step_id":null,"command_center_event_id":"84bf37e6-4cd7-4daf-9ffb-ee5b2490274a"},{"id":"ba6359bc-a698-4509-a9e1-d6b78092df03","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/modes-mobile-viewport-v2","reason":"auto_progress_pr_read_failed:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.116-request-proof-fail-closed","prNumber":2466,"terminal":false,"missionId":"1ae92270-c429-441b-a978-ce7812f02705","operation":"execute_mission","proofGate":"repair_mission_auto_progress_authorization_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4000,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":846,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":846,"ledgerReconcileMs":267,"lineageReconcileMs":0,"resolvePreflightMs":846,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1113,"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":"1ae92270-c429-441b-a978-ce7812f02705"},"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":1489,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:29:42.620432+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"2466","receipt_type":"execute_mission","idempotency_key":"mission:1ae92270-c429-441b-a978-ce7812f02705:execute_mission:repair_mission_auto_progress_authorization_retryable:current-generation","mission_step_id":"06857285-8d84-49ff-bccb-285c18fe99e0","command_center_event_id":"1ae92270-c429-441b-a978-ce7812f02705"},{"id":"ba637aad-65cc-42a7-afd3-e2abf6d51a20","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"visual-sandbox","action":"verify_visual","reason":"release_verified_existing_visual_job_pending_reconciliation","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_wait_live_milestone\",\"status\":\"verified\",\"proofGate\":\"owner_wait_live_milestone_recorded\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"visual-sandbox\",\"reason\":\"release_verified_existing_visual_job_pending_reconciliation\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"visual-sandbox\"},\"acceptance\":{\"total\":2,\"verified\":1,\"pending\":1,\"percent\":50,\"satisfied\":false,\"verifiedIds\":[\"proof-production\"],\"pendingIds\":[\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-05T23:46:45.64443+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-7791ad07591c\",\"prNumber\":5040,\"sourceSha\":\"0cc2d4abb7f3b0d9a089fbc6c9a9cc610cf1bcf9\",\"deploymentId\":\"forgejo-main-0cc2d4abb7f3\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T19:52:13.978018+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:7791ad07-591c-40c5-9b55-60767bb92a7b:owner-progress-heartbeat:119415328","mission_step_id":"068bbcd6-4863-4023-8996-962b72674990","command_center_event_id":"7791ad07-591c-40c5-9b55-60767bb92a7b"},{"id":"ba63b85d-6f9a-4602-bf8f-11ba37b6bd84","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","scripts/validate-command-center-contracts.mjs","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/version.js"],"reason":"Bounded merge-queue supervisor throughput repair: scan three candidates, preserve unique/manual work, continue after safe superseded Gate cleanup, keep collision-scoped release serialization, and align stale refresh recovery to 30 seconds.","baseSha":"ee58325d6f14ec5da42a8799ce779de57b94e676","issuedAt":1789175870927,"expiresAt":1789176050927,"missionId":"0dac9869-97af-4272-b9fc-10aea3b19559","authorizationId":"72b3f696-d729-416c-97d3-9ae1597bfece","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:17:51.446123+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ee58325d6f14ec5da42a8799ce779de57b94e676","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:72b3f696-d729-416c-97d3-9ae1597bfece","mission_step_id":"9339d582-ba95-435e-9db4-405b4bc9753e","command_center_event_id":"0dac9869-97af-4272-b9fc-10aea3b19559"},{"id":"ba6463f6-6006-4b79-a799-ca8b0f1c0c03","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/queue-salvage-contract.test.js"],"baseSha":"fedf757db869674236b87c874462446b281fb2d8","issuedAt":1791555674755,"expiresAt":1791555854755,"missionId":"edbbe484-e397-4419-9147-c88fd66ff57e","autoRefreeze":true,"authorizationId":"503892b1-10f6-473f-abed-32fae3e10323","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-09T14:21:15.362835+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"fedf757db869674236b87c874462446b281fb2d8","external_id":"503892b1-10f6-473f-abed-32fae3e10323","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:edbbe484-e397-4419-9147-c88fd66ff57e:503892b1-10f6-473f-abed-32fae3e10323","mission_step_id":null,"command_center_event_id":"edbbe484-e397-4419-9147-c88fd66ff57e"},{"id":"ba667c2c-8304-413b-80e4-4ee18e099faf","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-a69c32754d1f","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":3497,"terminal":false,"missionId":"a69c3275-4d1f-4ff3-a5ef-2f2a131a617c","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5811,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":687,"missionSetupMs":253,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":253,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":253,"repositoryMutationMs":5124,"repositoryProviderMs":5124,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2588,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":253,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2536},"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":"a69c3275-4d1f-4ff3-a5ef-2f2a131a617c"},"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":3114,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T04:41:19.955205+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3497","receipt_type":"execute_mission","idempotency_key":"mission:a69c3275-4d1f-4ff3-a5ef-2f2a131a617c:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"d6267248-6e5a-4c71-bed9-250cf1a81a8f","command_center_event_id":"a69c3275-4d1f-4ff3-a5ef-2f2a131a617c"},{"id":"ba67bb11-161e-4a84-a6a1-81ad1e9a0740","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":2938,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.46.17-release-orchestration-guardrails","prNumber":341,"terminal":false,"missionId":"4c68fb6d-bc06-4819-8319-6c768eaa0544","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"078f149e472a06fd6ad7b0b28bc74d717a4d7158","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"4c68fb6d-bc06-4819-8319-6c768eaa0544"},"performance":null,"deploymentId":"forgejo-main-078f149e472a","workflowRunId":1139,"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":6511,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T18:16:08.259626+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"078f149e472a06fd6ad7b0b28bc74d717a4d7158","external_id":"forgejo-main-078f149e472a","receipt_type":"ship_and_prove","idempotency_key":"mission:4c68fb6d-bc06-4819-8319-6c768eaa0544:ship_and_prove:ship_and_prove_release_pending:078f149e472a06fd6ad7b0b28bc74d717a4d7158:1139","mission_step_id":"79268ff7-6ed5-41ca-93b2-0d891499b940","command_center_event_id":"4c68fb6d-bc06-4819-8319-6c768eaa0544"},{"id":"ba6a257c-1b65-4ce0-8826-58561dfd3a57","source":"cc-execution","status":"recorded","payload":{"objective":"From current Forgejo main 79f9f922fa55046b5ae57df70f76b4cfc21ad4ec, add financing to Redfish roofing jobs as a PAYMENT OVERLAY, not a third exclusive funding type. Preserve jobs.funding_type strictly as retail|insurance and preserve the existing insurance dual claim/payout pipeline unchanged. Add jobs.financing_mode none|partial|full plus financed_amount numeric. Redfish job details must let the user set None, Partial, or Full financing and record the financed dollar amount. Retail jobs may therefore be direct pay, retail + partial financing, or fully financed. Insurance jobs may also carry financing without hiding or replacing the insurance claim/payout lane. Do not fabricate remaining-balance math because jobs has no authoritative contract total field. Use owner-facing roofing language. One fresh branch, one PR, KnockLaunch Gate, squash merge, apply only the additive migration and frontend release, then prove live schema and exact frontend artifact. No Visual Witness.","tenantRef":"redfishroofing","receivedAt":"2026-08-29T12:29:32.983Z","fingerprint":"164441bee85ec511611bdea5786a941183088241caadb324b57faa42e12e9a49","workstreamRef":"redfishroofing","conversationId":null,"canonicalBranch":"ai/redfish-financing-overlay-20260829","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"From current Forgejo main 79f9f922fa55046b5ae57df70f76b4cfc21ad4ec, add financing to Redfish roofing jobs as a PAYMENT OVERLAY, not a third exclusive funding type. Preserve jobs.funding_type strictly as retail|insurance and preserve the existing insurance dual claim/payout pipeline unchanged. Add jobs.financing_mode none|partial|full plus financed_amount numeric. Redfish job details must let the user set None, Partial, or Full financing and record the financed dollar amount. Retail jobs may therefore be direct pay, retail + partial financing, or fully financed. Insurance jobs may also carry financing without hiding or replacing the insurance claim/payout lane. Do not fabricate remaining-balance math because jobs has no authoritative contract total field. Use owner-facing roofing language. One fresh branch, one PR, KnockLaunch Gate, squash merge, apply only the additive migration and frontend release, then prove live schema and exact frontend artifact. No Visual Witness.","wordingChanged":false,"canonicalIntent":"From current Forgejo main 79f9f922fa55046b5ae57df70f76b4cfc21ad4ec, add financing to Redfish roofing jobs as a PAYMENT OVERLAY, not a third exclusive funding type. Preserve jobs.funding_type strictly as retail|insurance and preserve the existing insurance dual claim/payout pipeline unchanged. Add jobs.financing_mode none|partial|full plus financed_amount numeric. Redfish job details must let the user set None, Partial, or Full financing and record the financed dollar amount. Retail jobs may therefore be direct pay, retail + partial financing, or fully financed. Insurance jobs may also carry financing without hiding or replacing the insurance claim/payout lane. Do not fabricate remaining-balance math because jobs has no authoritative contract total field. Use owner-facing roofing language. One fresh branch, one PR, KnockLaunch Gate, squash merge, apply only the additive migration and frontend release, then prove live schema and exact frontend artifact. No Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"financing-overlay","statement":"Redfish jobs support financing mode None, Partial, or Full independently of Retail vs Insurance funding type.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"partial-retail","statement":"A Retail job can be marked Partial financing and record a financed dollar amount without changing the job to Insurance or a third funding class.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"insurance-preserved","statement":"Insurance jobs retain the existing roof production plus claim/payout pipeline even when financing is present.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"no-fake-balance","statement":"The UI does not invent remaining-balance calculations without an authoritative contract total.","proofConditionIds":["repo-proof"]}],"objective":"From current Forgejo main 79f9f922fa55046b5ae57df70f76b4cfc21ad4ec, add financing to Redfish roofing jobs as a PAYMENT OVERLAY, not a third exclusive funding type. Preserve jobs.funding_type strictly as retail|insurance and preserve the existing insurance dual claim/payout pipeline unchanged. Add jobs.financing_mode none|partial|full plus financed_amount numeric. Redfish job details must let the user set None, Partial, or Full financing and record the financed dollar amount. Retail jobs may therefore be direct pay, retail + partial financing, or fully financed. Insurance jobs may also carry financing without hiding or replacing the insurance claim/payout lane. Do not fabricate remaining-balance math because jobs has no authoritative contract total field. Use owner-facing roofing language. One fresh branch, one PR, KnockLaunch Gate, squash merge, apply only the additive migration and frontend release, then prove live schema and exact frontend artifact. No Visual Witness.","constraints":[{"id":"preserve-funding-type","statement":"jobs.funding_type remains constrained to retail|insurance.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"additive-schema","statement":"Only additive financing fields are introduced; existing claim/payment models and RPCs are not replaced.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Merged source and migration implement financing as an independent overlay and preserve Retail/Insurance plus claim payout logic.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","migrations"],"requiredReleaseTargets":[]},{"id":"runtime-proof","kind":"runtime","claim":"Live schema exposes valid financing overlay fields and the exact merged frontend release is live.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","migrations"],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/redfish-financing-overlay-20260829","conversationContext":null,"requestContractHash":"98153ed881d962c337a9882b88d064fdf12e65d3a3db25f722d62eaddfe8b4f1","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-29T12:29:33.501983+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:2924c327-f815-47e6-af58-e7fcfc64447c:tenant-workstream-contribution:164441bee85ec511611bdea5786a941183088241caadb324b57faa42e12e9a49","mission_step_id":null,"command_center_event_id":"2924c327-f815-47e6-af58-e7fcfc64447c"},{"id":"ba6b8202-63d1-4d87-a962-0eb805a49804","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":"0d73748473ce376232fafcb400fd7e8fba573d14","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"sourceSha":"0d73748473ce376232fafcb400fd7e8fba573d14","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["visual-witness-container-bootstrap"]},"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"requestContractHash":"8973c9e952a9299b392aa344f7860980fe6d64998931c9f1aaebf390b1923e1b","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5498","runId":5498,"status":"success","sourceSha":"0d73748473ce376232fafcb400fd7e8fba573d14","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"0d73748473ce376232fafcb400fd7e8fba573d14","proofGate":"cc_execution_historical_runtime_identity_verified","deploymentId":"forgejo-main-0d73748473ce376232fafcb400fd7e8fba573d14","compareStatus":"exact_release_workflow_runtime_verified","workflowRunId":5498,"identitySource":"canonical_release_workflow_exact_runtime_identity","runtimeVersion":"1.58.64-mutation-ledger-handoff","containsSourceSha":true,"historicalExactSourceProof":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T13:18:10.864778+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"0d73748473ce376232fafcb400fd7e8fba573d14","external_id":"forgejo-main-0d73748473ce","receipt_type":"canonical_release_status","idempotency_key":"mission:6adc83f0-2c6a-4d1f-bba0-d0a01753ce67:forgejo-release-status:0d73748473ce376232fafcb400fd7e8fba573d14:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success|supabase-edge-production/live=success","mission_step_id":"7e3bc945-6a03-4aa0-a0e0-2e1256e03c47","command_center_event_id":"6adc83f0-2c6a-4d1f-bba0-d0a01753ce67"},{"id":"ba6be139-479d-4adb-87d8-2aa26c0a76e2","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"5aae82510af2826dbdc5e2a0d33abdf139b476e4","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"5aae82510af2826dbdc5e2a0d33abdf139b476e4","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1134","runId":1134,"status":"running","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T17:58:28.291232+00:00","proof_gate":"canonical_release_pending","source_sha":"5aae82510af2826dbdc5e2a0d33abdf139b476e4","external_id":"forgejo-main-5aae82510af2","receipt_type":"canonical_release_status","idempotency_key":"mission:ee9956ef-be15-412f-9474-bb25b9abae4b:forgejo-release-status:5aae82510af2826dbdc5e2a0d33abdf139b476e4:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"43afacf8-838a-42a2-9ef7-bce15532e30c","command_center_event_id":"ee9956ef-be15-412f-9474-bb25b9abae4b"},{"id":"ba6c2a66-fdfd-4122-a2f1-5d051657c117","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-37b3f8786536","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":10768,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":6685,"firstUsefulResultAt":"2026-09-24T14:22:46.487Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3623,"terminal":false,"missionId":"37b3f878-6536-4a7d-b7c4-64d249432721","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":602,"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":"37b3f878-6536-4a7d-b7c4-64d249432721"},"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":1285,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:22:59.139833+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3623","receipt_type":"automatic_mission_resume","idempotency_key":"mission:37b3f878-6536-4a7d-b7c4-64d249432721:automatic-mission-resume:3623:repair_mission_waiting_for_gate","mission_step_id":"254e3b0d-688a-4197-9db6-c0119a6bdeaf","command_center_event_id":"37b3f878-6536-4a7d-b7c4-64d249432721"},{"id":"ba6d79e3-91a3-4eac-b26a-15a7469ff66c","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"8c6a52496642117d593928d4a926b161c464737d","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8c6a52496642117d593928d4a926b161c464737d","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":"603c1f08db2874e600ea48999a6c1a870392fe83657bf83820f45dbe79ba5661","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/11827","runId":11827,"status":"running","sourceSha":"8c6a52496642117d593928d4a926b161c464737d","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":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T15:51:40.592414+00:00","proof_gate":"canonical_release_pending","source_sha":"8c6a52496642117d593928d4a926b161c464737d","external_id":"forgejo-main-8c6a52496642","receipt_type":"canonical_release_status","idempotency_key":"mission:bdb936b2-e84f-409b-98ae-f50b6415629c:forgejo-release-status:8c6a52496642117d593928d4a926b161c464737d:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"e8e3549d-fa21-4ca6-a049-d05f0a75c3d6","command_center_event_id":"bdb936b2-e84f-409b-98ae-f50b6415629c"},{"id":"ba6ea0ac-ca9a-43e0-a19d-d55df099d727","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js"],"reason":"Prime structured exact mutation continuation","baseSha":"dede5d8a61389d28e9ae138f3083d8b74c97a363","issuedAt":1791001790537,"expiresAt":1791001970537,"missionId":"b3ca3479-91c0-454a-bb5c-1c3e25da1d1d","authorizationId":"40cfd43b-2559-4858-a321-92b6cbda988c","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:29:50.870557+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"dede5d8a61389d28e9ae138f3083d8b74c97a363","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:40cfd43b-2559-4858-a321-92b6cbda988c","mission_step_id":"d636642c-284f-400d-9ac6-e102d306147d","command_center_event_id":"b3ca3479-91c0-454a-bb5c-1c3e25da1d1d"},{"id":"ba6ebeaf-3291-4125-8038-299219c0ab50","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-77174d0d53b4","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":10975,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":33905,"firstUsefulResultAt":"2026-10-02T22:30:58.665Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.56-paul-eval-diagnostics","prNumber":4544,"terminal":false,"missionId":"77174d0d-53b4-416b-a3bf-936689f55c8c","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4022,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":588,"missionSetupMs":243,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":243,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":243,"repositoryMutationMs":3434,"repositoryProviderMs":3434,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2113,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":243,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1321},"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":"77174d0d-53b4-416b-a3bf-936689f55c8c"},"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":3239,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T22:31:37.801635+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4544","receipt_type":"execute_mission","idempotency_key":"mission:77174d0d-53b4-416b-a3bf-936689f55c8c:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"0e1c1545-a8ac-4925-926d-458b46e76841","command_center_event_id":"77174d0d-53b4-416b-a3bf-936689f55c8c"},{"id":"ba6f7901-7835-4906-9bf5-b4ae08899840","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/pcg-upload-squarespace-handoff","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":80130,"releaseCount":0,"toolCallCount":39,"repeatedCallCount":31,"executorlessWaitMs":368590,"firstUsefulResultAt":"2026-10-04T12:12:23.837Z","recoveryAttemptCount":30,"ownerInterruptionCount":0},"version":null,"prNumber":4764,"terminal":false,"missionId":"0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"e1cf470e1b26ca8398fac25a804394898961a6b4","timingsMs":{"prReadinessMs":3000,"approvedPlanMs":0,"shipAndProveMs":2811,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511"},"performance":null,"deploymentId":"forgejo-main-e1cf470e1b26","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-commerce-publisher"]},"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":1911,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T12:19:35.23706+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4764","receipt_type":"automatic_mission_resume","idempotency_key":"mission:0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511:automatic-mission-resume:4764:canonical_release_reconciliation_pending","mission_step_id":"4c064d6b-a06e-415e-bd1a-0bc5c5b76dc4","command_center_event_id":"0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511"},{"id":"ba709138-c85a-47fc-aa18-311a8401d5c6","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"503a82e2b084466f8cd10b02ed64fce63906610f","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repository-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"da7fa11253c29697e0a7da8d30148d5d6c48f0c0","prNumber":4674,"gateRunId":null,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"https://git.knocklaunch.app/noel/KnockLaunchOS/commit/da7fa11253c29697e0a7da8d30148d5d6c48f0c0","mergeCommitSha":"503a82e2b084466f8cd10b02ed64fce63906610f"}],"requestContractHash":"78a38d59e459f24726077177e5be615517cfdd2ddb2edf344f1169e30cd1c750","namedGateEvidenceReceiptVersion":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T21:24:06.148773+00:00","proof_gate":"request_contract_repository_verified","source_sha":"503a82e2b084466f8cd10b02ed64fce63906610f","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:850a73db-30fe-47b2-9651-e2dff4f26843:request-contract-repository:78a38d59e459f24726077177e5be615517cfdd2ddb2edf344f1169e30cd1c750:503a82e2b084466f8cd10b02ed64fce63906610f","mission_step_id":"10ad060b-2f1e-48d6-bae0-78030c74ffb0","command_center_event_id":"850a73db-30fe-47b2-9651-e2dff4f26843"},{"id":"ba70d98a-2968-48fe-a9d2-219c21d6b4f8","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"3a9b91856e8d51698c529862efc5656f452994ac","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"merge-existing-pr","satisfied":false,"statement":"Existing Forgejo PR #1763 at head fba4d56cb9298263b185bebd112b69cea9b5e262 is squash merged through protected main after its successful KnockLaunch Gate.","proofConditionIds":["proof-repository","proof-release"]},{"id":"frontend-live","satisfied":true,"statement":"Only the affected frontend production target is released and the exact resulting artifact is live on production.","proofConditionIds":["proof-release","proof-runtime"]}],"satisfied":false,"constraints":[{"id":"single-path","satisfied":false,"statement":"Do not create another branch or pull request and do not mutate source during this continuation.","proofConditionIds":["proof-repository"]},{"id":"frontend-only","satisfied":true,"statement":"Do not release Command Center, Supabase, migrations, OnRunner, or unrelated targets.","proofConditionIds":["proof-release"]}],"contractHash":"2058c8e4fd97de48ab1b4e0b8db4e1d0f1e98fa17e2115570ded59e16b0568d5","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"2058c8e4fd97de48ab1b4e0b8db4e1d0f1e98fa17e2115570ded59e16b0568d5","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"proof-release","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"2058c8e4fd97de48ab1b4e0b8db4e1d0f1e98fa17e2115570ded59e16b0568d5"},"required":true,"satisfied":true},{"id":"proof-runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"2058c8e4fd97de48ab1b4e0b8db4e1d0f1e98fa17e2115570ded59e16b0568d5"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"b565f644-6d3c-4b61-97d6-f91a06dae0ec","created_at":"2026-09-04T22:39:24.835919+00:00","proof_gate":"request_contract_pending","source_sha":"3a9b91856e8d51698c529862efc5656f452994ac","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:dbc857c8-2f22-4325-a80e-36d8747281e7:request-contract:2058c8e4fd97de48ab1b4e0b8db4e1d0f1e98fa17e2115570ded59e16b0568d5:3a9b91856e8d51698c529862efc5656f452994ac:pending:repository","mission_step_id":"ed95b8a0-081e-4a04-8925-95c3a36c0abd","command_center_event_id":"dbc857c8-2f22-4325-a80e-36d8747281e7"},{"id":"ba729f75-706b-4c4e-86cd-6446ae67131e","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Fix the recurring owner-request control plane failure class: eliminate planner re-entry when exact source targets are already supplied; normalize an owner-approved exact directive into an explicit executable request contract when the caller omits request-contract JSON; safely infer omitted proof kinds from actions/routes/release intent; default unlinked outcomes/constraints to all declared proof conditions instead of rejecting them; and accept equivalent control plane wording such as control-plane/control_plane in maintenance authorization. Preserve fail-closed behavior for ambiguous intent and malformed explicit interaction claims. Add a regression contract. Ship cc-execution only and prove the live runtime uses the new behavior.","wordingChanged":false,"canonicalIntent":"Fix the recurring owner-request control plane failure class: eliminate planner re-entry when exact source targets are already supplied; normalize an owner-approved exact directive into an explicit executable request contract when the caller omits request-contract JSON; safely infer omitted proof kinds from actions/routes/release intent; default unlinked outcomes/constraints to all declared proof conditions instead of rejecting them; and accept equivalent control plane wording such as control-plane/control_plane in maintenance authorization. Preserve fail-closed behavior for ambiguous intent and malformed explicit interaction claims. Add a regression contract. Ship cc-execution only and prove the live runtime uses the new behavior.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"planner-bypass","statement":"When exact sourceTargets are supplied without mutation content, the mission skips repair-plan guessing and returns the exact source scope for one synthesis continuation.","proofConditionIds":["repo-regression","runtime-health"]},{"id":"owner-contract-normalization","statement":"A clear owner-approved directive can be normalized into an explicit executable request contract without requiring caller-authored request-contract JSON.","proofConditionIds":["repo-regression","runtime-health"]},{"id":"proof-normalization","statement":"Omitted proof kind is inferred safely and outcomes/constraints without explicit proof links default to all declared proof conditions, while explicit malformed interaction claims remain rejected.","proofConditionIds":["repo-regression","runtime-health"]},{"id":"maintenance-wording-normalization","statement":"Control plane maintenance authorization accepts equivalent separators in control plane wording without weakening authorization scope or owner approval requirements.","proofConditionIds":["repo-regression","runtime-health"]}],"objective":"Fix the recurring owner-request control plane failure class: eliminate planner re-entry when exact source targets are already supplied; normalize an owner-approved exact directive into an explicit executable request contract when the caller omits request-contract JSON; safely infer omitted proof kinds from actions/routes/release intent; default unlinked outcomes/constraints to all declared proof conditions instead of rejecting them; and accept equivalent control plane wording such as control-plane/control_plane in maintenance authorization. Preserve fail-closed behavior for ambiguous intent and malformed explicit interaction claims. Add a regression contract. Ship cc-execution only and prove the live runtime uses the new behavior.","constraints":[{"id":"ambiguity-fails-closed","statement":"Ambiguous or clarification-required intent remains blocked and is not auto-authorized.","proofConditionIds":["repo-regression"]},{"id":"interaction-safety","statement":"An explicitly declared interaction proof without a route and executable targeted action remains invalid.","proofConditionIds":["repo-regression"]},{"id":"maintenance-scope-safety","statement":"Control plane maintenance still requires owner approval, a reason, exact path scope, a durable mission, and current-main source identity.","proofConditionIds":["repo-regression"]},{"id":"single-owner-release","statement":"Deploy only cc-execution for this control plane change.","proofConditionIds":["runtime-health"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-regression","kind":"repository","claim":"Current Forgejo source contains the control plane normalization/bypass repair and regression contract.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]},{"id":"runtime-health","kind":"runtime","claim":"Live cc-execution runtime identifies the released source after the control plane repair.","route":"https://cc-execution.knocklaunch.app/health","required":true,"expectedText":"cc-execution","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"940b3cb925879d639ba40192b349c1018c8b124466d7bf16d0d37d6cf1b89924","requestContractRevision":2,"previousRequestContractHash":"829a94263bad9e8173575e9fcf65df8d8a477a025bf61b91535a72310b3b6350"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T02:12:03.495048+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:330fc4d0-0edb-4da7-92f5-85aa28587ef6:request-contract-revision:2:940b3cb925879d639ba40192b349c1018c8b124466d7bf16d0d37d6cf1b89924","mission_step_id":"d316bab8-a692-4b6c-848a-4abfbd931bf6","command_center_event_id":"330fc4d0-0edb-4da7-92f5-85aa28587ef6"},{"id":"ba75ecaf-be3b-49d7-b0db-09819613f8f2","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\":\"implementation\",\"status\":\"failed\",\"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-05T15:25:39.258349+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-f326dba11be9\",\"prNumber\":4901,\"sourceSha\":\"3c05aa9dd9e6cfac8369b32cd4da8dbd0ec6317d\",\"deploymentId\":\"forgejo-main-3c05aa9dd9e6\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T12:31:09.493807+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:f326dba1-1be9-480f-bf21-8146eb824e21:owner-progress-heartbeat:119413564","mission_step_id":"c015225b-dd3c-4798-adbb-e7409983a517","command_center_event_id":"f326dba1-1be9-480f-bf21-8146eb824e21"},{"id":"ba771586-4d19-457d-9e29-a2580e98497e","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"cc-execution","action":"reconcile_request_contract","reason":"release_verified_contract_pending","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"visual_proof_status\",\"status\":\"verified\",\"proofGate\":\"interactive_visual_witness_verified\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_request_contract\",\"lane\":\"cc-execution\",\"reason\":\"release_verified_contract_pending\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_request_contract\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":2,\"verified\":1,\"pending\":1,\"percent\":50,\"satisfied\":false,\"verifiedIds\":[\"proof-production\"],\"pendingIds\":[\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-09-25T20:59:03.039869+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-66c317c2a86c\",\"prNumber\":3750,\"sourceSha\":\"7e056d7356a0c8c2b18db3aadc61ae10b3414b05\",\"deploymentId\":\"forgejo-main-7e056d7356a0\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T18:03:28.016566+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:66c317c2-a86c-4d3a-a6ff-34d2e5d73827:owner-progress-heartbeat:119357293","mission_step_id":"c8247758-4f59-4c2b-af05-9807345d5f85","command_center_event_id":"66c317c2-a86c-4d3a-a6ff-34d2e5d73827"},{"id":"ba7b0142-3d31-4d82-88e5-4b4d89b25857","source":"forgejo","status":"waiting","payload":{"branch":"ai/visual-witness-retry-browser-recycle-20260912","prNumber":2541,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"c90af793e718d1ee37b2d1804823fbede6db817c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T21:04:15.26943+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"c90af793e718d1ee37b2d1804823fbede6db817c","external_id":"2541","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:09f7f797-1696-409b-af67-34e5d7e06a21:merged-pr:2541:c90af793e718d1ee37b2d1804823fbede6db817c","mission_step_id":"2fe7e885-6008-4032-8a9b-0b9026e7694c","command_center_event_id":"09f7f797-1696-409b-af67-34e5d7e06a21"},{"id":"ba7b5655-34f2-4e03-896d-39f286961003","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"2ccb22619e12026d386c2e94b5eab9d4fb908222","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"2ccb22619e12026d386c2e94b5eab9d4fb908222","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":"b0104a8a0a8206b6db360fa0079c97333f552d71864180391279a77331fe013a","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/7368","runId":7368,"status":"running","sourceSha":"2ccb22619e12026d386c2e94b5eab9d4fb908222","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":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T15:17:43.578153+00:00","proof_gate":"canonical_release_pending","source_sha":"2ccb22619e12026d386c2e94b5eab9d4fb908222","external_id":"forgejo-main-2ccb22619e12","receipt_type":"canonical_release_status","idempotency_key":"mission:72bfee10-f0e5-4f81-b4ca-326bef91ade0:forgejo-release-status:2ccb22619e12026d386c2e94b5eab9d4fb908222:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"c34b6728-73e6-4b52-9736-455e2a92a4eb","command_center_event_id":"72bfee10-f0e5-4f81-b4ca-326bef91ade0"},{"id":"ba7b67dc-61d5-48f6-a396-15b4ddfcc15f","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"4747da28-7f10-4eba-b1e2-ae64e2bad91d","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-ad5217265005","reason":null,"status":"pending","metrics":{"receiptBytes":62357,"releaseCount":0,"toolCallCount":28,"repeatedCallCount":13,"executorlessWaitMs":582728,"firstUsefulResultAt":"2026-09-27T18:08:06.106Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3892,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","timingsMs":{"queue":211,"total":318,"execution":107},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"ad521726-5005-4ffb-97fb-21390e2a3628"},"performance":null,"deploymentId":"forgejo-main-e0cc5db94104","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"4747da28-7f10-4eba-b1e2-ae64e2bad91d","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"4747da28-7f10-4eba-b1e2-ae64e2bad91d","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/speedy-panda-party-rentals","runnerSourceSha":null,"selectedViewports":["mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12257,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":"verified","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1768,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:17:50.103769+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","external_id":"4747da28-7f10-4eba-b1e2-ae64e2bad91d","receipt_type":"visual_proof_started","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:visual-start:4747da28-7f10-4eba-b1e2-ae64e2bad91d","mission_step_id":"837746b2-5597-4690-acab-21abec3ba174","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"ba7bf1be-816b-46c8-a05b-95c15b901ad1","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"659ae3b39ff774f32aba39c56da28c4f0c2248e7","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"659ae3b39ff774f32aba39c56da28c4f0c2248e7","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/589","runId":589,"status":"running","conclusion":null,"failedJobs":[]},"onrunnerRuntimeProof":null,"ccExecutionRuntimeProof":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-15T22:57:40.678404+00:00","proof_gate":"canonical_release_pending","source_sha":"659ae3b39ff774f32aba39c56da28c4f0c2248e7","external_id":"forgejo-main-659ae3b39ff7","receipt_type":"canonical_release_status","idempotency_key":"mission:3c7ce9bc-4b44-49b4-b0d2-afaf2f8a1e31:forgejo-release-status:659ae3b39ff774f32aba39c56da28c4f0c2248e7:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"0bc7bb80-695f-44e8-82b6-c3f3d9b76d20","command_center_event_id":"3c7ce9bc-4b44-49b4-b0d2-afaf2f8a1e31"},{"id":"ba7cc43e-0055-4c2b-abda-61f1ee4bd684","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-689762a60b05","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.251-forgejo-targeted-source","prNumber":null,"terminal":false,"missionId":"689762a6-0b05-4d62-9910-5a0e98eeb80a","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":844,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":344,"providerAuthMs":0,"ledgerPrepareMs":344,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":344,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":344,"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":"689762a6-0b05-4d62-9910-5a0e98eeb80a"},"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":4519,"likelyAffectedFiles":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/test/objective-intent-boundary.test.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-09-24T13:40:38.582564+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:689762a6-0b05-4d62-9910-5a0e98eeb80a:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"7b78a135-e3f8-421a-9e8f-994bdfb5189f","command_center_event_id":"689762a6-0b05-4d62-9910-5a0e98eeb80a"},{"id":"ba7fc1c7-b753-40b8-9592-4a6ddf1611e7","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"02f3245ccc326456533ccb73731a618c0ed491f6","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Ship a full Tennex client-meeting hardening release on current protected main. Harden Tennex workspace readiness, Connections capability health, Google Workspace Gmail Calendar and Drive readiness, QuickBooks realm readiness, Campaign Studio durable execution, Mail/Calendar/Documents/Contacts/Profile/Settings route safety, and analytics cleanliness. Preserve customer/contact rows unchanged during this engineering mission. Production proof exercises navigation/readiness only and excludes outbound email actions. Gate, squash merge, release frontend plus affected Supabase Edge and migration targets, and verify Tennex identity on the full route family on desktop and mobile.","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":"871b0e527d80b2d5508c4531af772fb480a3e7ceba16c4d39eae61a594deada7","releaseBound":true,"witnessBound":true,"visualRequested":true,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":"missing_required_release_targets:migrations","satisfied":false,"releaseState":"verified","missingTargets":["migrations"],"disallowedTargets":[],"migrationRequired":true,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":["migrations"],"migrationReleaseVerified":false,"releaseRequestContractHash":"871b0e527d80b2d5508c4531af772fb480a3e7ceba16c4d39eae61a594deada7"},"required":true,"satisfied":false},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/tennex-tax-solutions/workspace","currentSourceSha":"02f3245ccc326456533ccb73731a618c0ed491f6","witnessSourceSha":"02f3245ccc326456533ccb73731a618c0ed491f6","verificationState":"verified","witnessRequestContractHash":"871b0e527d80b2d5508c4531af772fb480a3e7ceba16c4d39eae61a594deada7"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["runtime"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T12:30:50.841305+00:00","proof_gate":"request_contract_pending","source_sha":"02f3245ccc326456533ccb73731a618c0ed491f6","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:e941883c-e08c-4d2b-ac54-4eeb4afee0b1:request-contract:871b0e527d80b2d5508c4531af772fb480a3e7ceba16c4d39eae61a594deada7:02f3245ccc326456533ccb73731a618c0ed491f6:pending:runtime","mission_step_id":"9349c4e8-08ab-41a2-8afe-3b64530ff659","command_center_event_id":"e941883c-e08c-4d2b-ac54-4eeb4afee0b1"},{"id":"ba7fd97c-5460-48e5-870c-b98c11732266","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":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":1968,"terminal":false,"missionId":"183963eb-e032-416e-ba0c-6d1b181ea338","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":"8a841db6db637453adf92974b7ad6a075372ed7b","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":326,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":326,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":326,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":326,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"183963eb-e032-416e-ba0c-6d1b181ea338"},"performance":null,"deploymentId":"forgejo-main-8a841db6db63","workflowRunId":5901,"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":1293,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T17:33:18.345312+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":"8a841db6db637453adf92974b7ad6a075372ed7b","external_id":"forgejo-main-8a841db6db63","receipt_type":"execute_mission","idempotency_key":"mission:183963eb-e032-416e-ba0c-6d1b181ea338:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"3096c6c2-a3d3-4a11-a097-34cf20267843","command_center_event_id":"183963eb-e032-416e-ba0c-6d1b181ea338"},{"id":"ba8020e3-e7bb-4463-b0aa-cf105e09a7e4","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\":4,\"verified\":0,\"pending\":4,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-crew-home\",\"proof-calendar\",\"proof-event\",\"proof-popup\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-26T00:39:55.262746+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-f250504fc6e6\",\"prNumber\":3769,\"sourceSha\":\"1efd98a76363d60124492c0696d3bd773fd5a3fb\",\"deploymentId\":\"forgejo-main-1efd98a76363\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T21:47:03.720706+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:f250504f-c6e6-4a24-a499-d57851237fcf:owner-progress-heartbeat:119358188","mission_step_id":"2835ae5d-c393-4e28-bda3-faca6cb633a7","command_center_event_id":"f250504f-c6e6-4a24-a499-d57851237fcf"},{"id":"ba80e1c3-6ce8-44f3-87f9-33a589dded08","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-33d1d8d56278","prNumber":3706,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"d6a7a4aa9943631f6171fa0adb8145cda760e9f4","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T11:12:28.638458+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"d6a7a4aa9943631f6171fa0adb8145cda760e9f4","external_id":"3706","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:33d1d8d5-6278-49a9-8e8c-ca393444723f:merged-pr:3706:d6a7a4aa9943631f6171fa0adb8145cda760e9f4","mission_step_id":"bedb5657-c933-4aa0-8c14-9b63aed3641e","command_center_event_id":"33d1d8d5-6278-49a9-8e8c-ca393444723f"},{"id":"ba82b351-2798-4825-8826-b850d1189349","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"bc8cddda8a5a07632ab1abd5a77bfa4a2a5eda68","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"bc8cddda8a5a07632ab1abd5a77bfa4a2a5eda68","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1177","runId":1177,"status":"running","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T20:52:24.348587+00:00","proof_gate":"canonical_release_pending","source_sha":"bc8cddda8a5a07632ab1abd5a77bfa4a2a5eda68","external_id":"forgejo-main-bc8cddda8a5a","receipt_type":"canonical_release_status","idempotency_key":"mission:1f0d8bbf-5eba-4951-b460-4b3eeb67fe44:forgejo-release-status:bc8cddda8a5a07632ab1abd5a77bfa4a2a5eda68:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"2aa2d885-2c7e-45f4-89e8-8ae74329543a","command_center_event_id":"1f0d8bbf-5eba-4951-b460-4b3eeb67fe44"},{"id":"ba831e83-3a1e-47d5-9188-e483fcd9a7cf","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_invalid","fingerprint":"519c7cdb7e5eb0d56f6a8f892d44047c1c32012ab92ed878fd842718f2ddcb0c"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T19:44:07.02843+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:3320ace3-d01b-4c34-8d5d-93564403939e:repository-mutation-intent-blocked:519c7cdb7e5eb0d56f6a8f892d44047c1c32012ab92ed878fd842718f2ddcb0c","mission_step_id":"1e340119-990e-4c50-a2e7-5a401f57cc78","command_center_event_id":"3320ace3-d01b-4c34-8d5d-93564403939e"},{"id":"ba867d0e-484f-46e5-96ce-b84b17e561d5","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow","frontend-cloudflare/live"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"failure"},"mainSha":"18eff3c59c85054dd40ad2e23536f4dbab981608","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"f611d0c570e7854d7787c9ec4a12d299193ab3c2","releaseState":"failed","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"failure"},"requestContractHash":"7b5ee9289bd1e4c6884abd946a4310cc5f143549af1a5f6e1d5efb207aade5c7","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13305","runId":13305,"status":"failure","sourceSha":"f611d0c570e7854d7787c9ec4a12d299193ab3c2","conclusion":null,"failedJobs":[{"id":91898,"name":"Release frontend","status":"failure","conclusion":null,"failedSteps":[]}],"diagnostics":{"runId":13305,"logTail":["2026-09-30T04:09:05.1038111Z       \"version_id\": \"2172bcdc-69e3-4fcb-93b0-4ecb3057b191\",","2026-09-30T04:09:05.1038221Z       \"percentage\": 0","2026-09-30T04:09:05.1038324Z     }","2026-09-30T04:09:05.1038422Z   ],","2026-09-30T04:09:05.1038516Z   \"created_on\": \"2026-09-30T04:07:57.401983Z\"","2026-09-30T04:09:05.1038658Z }","2026-09-30T04:09:05.1044758Z {\"ok\":true,\"proofGate\":\"frontend_last_known_good_already_active\",\"stableVersionId\":\"18ddd877-dc1d-49fe-8014-c0f422d6889e\",\"reason\":\"frontend_worker_transaction_failed\"}","2026-09-30T04:09:05.9751035Z {\"ok\":true,\"proofGate\":\"cloudflare_worker_routes_synced\",\"script\":\"knocklaunch-owner-production\",\"zones\":[{\"name\":\"321autounlock.com\",\"action\":\"resolved\",\"status\":\"active\",\"nameServers\":[\"beau.ns.cloudflare.com\",\"kristin.ns.cloudflare.com\"]},{\"name\":\"bigpapiscoquitoiceys.com\",\"action\":\"resolved\",\"status\":\"active\",\"nameServers\":[\"beau.ns.cloudflare.com\",\"kristin.ns.cloudflare.com\"]},{\"name\":\"bookmedirectly.com\",\"action\":\"resolved\",\"status\":\"active\",\"nameServers\":[\"beau.ns.cloudflare.com\",\"kristin.ns.cloudflare.com\"]},{\"name\":\"bychefap.com\",\"action\":\"resolved\",\"status\":\"active\",\"nameServers\":[\"beau.ns.cloudflare.com\",\"kristin.ns.cloudflare.com\"]},{\"name\":\"knocklaunch.app\",\"action\":\"resolved\",\"status\":\"active\",\"nameServers\":[\"beau.ns.cloudflare.com\",\"kristin.ns.cloudflare.com\"]},{\"name\":\"prestigeouscardgrading.com\",\"action\":\"skipped_missing\",\"status\":\"missing\",\"nameServers\":[]},{\"name\":\"roofhelpfinder.com\",\"action\":\"resolved\",\"status\":\"active\",\"nameServers\":[\"beau.ns.cloudflare.com\",\"kristin.ns.cloudflare.com\"]},{\"name\":\"whatsmyprogress.com\",\"action\":\"resolved\",\"status\":\"active\",\"nameServers\":[\"beau.ns.cloudflare.com\",\"kristin.ns.cloudflare.com\"]}],\"applied\":[{\"pattern\":\"321autounlock.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"app.knocklaunch.app/*\",\"action\":\"unchanged\"},{\"pattern\":\"bigpapiscoquitoiceys.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"bookmedirectly.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"bychefap.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"knocklaunch.app/*\",\"action\":\"unchanged\"},{\"pattern\":\"roofhelpfinder.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"whatsmyprogress.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"www.321autounlock.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"www.bigpapiscoquitoiceys.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"www.bookmedirectly.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"www.bychefap.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"www.roofhelpfinder.com/*\",\"action\":\"unchanged\"},{\"pattern\":\"www.whatsmyprogress.com/*\",\"action\":\"unchanged\"}]}","2026-09-30T04:11:07.8939347Z {\"ok\":false,\"reason\":\"frontend_public_tenant_routes_not_converged:{\\\"https://bookmedirectly.com/speedy-panda-party-rentals/\\\":{\\\"status\\\":200,\\\"exact\\\":false,\\\"expected\\\":\\\"05be188e4a2626e2f0cc04fbff88483aeaf79b4f4d61c750c06a2e045af2577b\\\",\\\"actual\\\":\\\"9a907ea2e7e9664af4bff0c8e4bf3a760424324b9c316dd12de7eabc205e878b\\\",\\\"finalUrl\\\":\\\"https://bookmedirectly.com/speedy-panda-party-rentals/?__kl_public_tenant_route_proof=1790741464846\\\",\\\"cacheStatus\\\":\\\"HIT\\\"},\\\"https://whatsmyprogress.com/speedy-panda-party-rentals/\\\":{\\\"status\\\":200,\\\"exact\\\":false,\\\"expected\\\":\\\"05be188e4a2626e2f0cc04fbff88483aeaf79b4f4d61c750c06a2e045af2577b\\\",\\\"actual\\\":\\\"9a907ea2e7e9664af4bff0c8e4bf3a760424324b9c316dd12de7eabc205e878b\\\",\\\"finalUrl\\\":\\\"https://whatsmyprogress.com/speedy-panda-party-rentals/?__kl_public_tenant_route_proof=1790741464872\\\",\\\"cacheStatus\\\":\\\"HIT\\\"}}\"}","2026-09-30T04:11:07.9053949Z ::error::frontend last-known-good rollback failed reason=frontend_worker_transaction_failed","2026-09-30T04:11:07.9054891Z ::error::frontend wrangler upload classified: hint=_vite_react_shadcn_ts@0.0.0_deploy:cloudflare-native:wrangler_rollback_failed exit=1","2026-09-30T04:11:07.9799047Z ::error::frontend_release_failure stage=deploy class=WRANGLER hint=_vite_react_shadcn_ts@0.0.0_deploy:cloudflare-native:wrangler_rollback_failed","2026-09-30T04:11:07.9901524Z   ⚙  Setting output failure_stage=deploy","2026-09-30T04:11:07.9901966Z   ⚙  Setting output failure_class=WRANGLER","2026-09-30T04:11:07.9902085Z   ⚙  Setting output failure_hint=_vite_react_shadcn_ts@0.0.0_deploy:cloudflare-native:wrangler_rollback_failed","2026-09-30T04:11:07.9902209Z   ⚙  Setting output release_ok=false","2026-09-30T04:11:07.9949503Z ⚙️ [runner]: exitcode '1': failure","2026-09-30T04:11:07.9950339Z skipping post step for 'Save frontend release dependency cache after install'; main step was skipped","2026-09-30T04:11:08.0272795Z Skipping step 'Restore frontend release dependency cache' due to 'success()'","2026-09-30T04:11:08.0443857Z Skipping step 'Restore pinned frontend Wrangler tool cache' due to 'success()'","2026-09-30T04:11:08.0751044Z ⭐ Run Post https://data.forgejo.org/actions/checkout@v4","2026-09-30T04:11:08.0785709Z   🐳  docker exec cmd=[node /var/run/act/actions/00/3bcd3338258e3a727a94c0e5d98da1acbfd63de6a7ee74ac378bcc973712d4/dist/index.js] user= workdir=","2026-09-30T04:11:08.2811182Z [command]/usr/bin/git version","2026-09-30T04:11:08.2971415Z git version 2.39.5","2026-09-30T04:11:08.3002766Z   ⚙  ***","2026-09-30T04:11:08.3022100Z Temporarily overriding HOME='/tmp/b443ef1c-74f7-4e27-afe1-9dd6161cf9b9' before making global git config changes","2026-09-30T04:11:08.3023636Z Adding repository directory to the temporary git global config as a safe directory","2026-09-30T04:11:08.3048807Z [command]/usr/bin/git config --global --add safe.directory /workspace/noel/KnockLaunchOS","2026-09-30T04:11:08.3112389Z [command]/usr/bin/git config --local --name-only --get-regexp core\\.sshCommand","2026-09-30T04:11:08.3169513Z [command]/usr/bin/git submodule foreach --recursive sh -c \"git config --local --name-only --get-regexp 'core\\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :\"","2026-09-30T04:11:08.3803961Z [command]/usr/bin/git config --local --name-only --get-regexp http\\.https\\:\\/\\/git\\.knocklaunch\\.app\\/\\.extraheader","2026-09-30T04:11:08.3841703Z http.https://git.knocklaunch.app/.extraheader","2026-09-30T04:11:08.3856045Z [command]/usr/bin/git config --local --unset-all http.https://git.knocklaunch.app/.extraheader","2026-09-30T04:11:08.3907882Z [command]/usr/bin/git submodule foreach --recursive sh -c \"git config --local --name-only --get-regexp 'http\\.https\\:\\/\\/git\\.knocklaunch\\.app\\/\\.extraheader' && git config --local --unset-all 'http.https://git.knocklaunch.app/.extraheader' || :\"","2026-09-30T04:11:08.4341599Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\\.gitdir:","2026-09-30T04:11:08.4386545Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url","2026-09-30T04:11:08.4929858Z   ✅  Success - Post https://data.forgejo.org/actions/checkout@v4","2026-09-30T04:11:08.5165061Z 🏁  Job failed","2026-09-30T04:11:11.9929736Z Job 'Release frontend' failed",""],"proofGate":"forgejo_action_run_logs_verified","truncated":true,"failureLines":[{"line":2077,"content":"2026-09-30T04:07:42.5796823Z error: API request failed"},{"line":2080,"content":"2026-09-30T04:07:42.5798870Z     sentry reported an error: Invalid token (http status: 401)"},{"line":2383,"content":"2026-09-30T04:11:07.9053949Z ::error::frontend last-known-good rollback failed reason=frontend_worker_transaction_failed"},{"line":2384,"content":"2026-09-30T04:11:07.9054891Z ::error::frontend wrangler upload classified: hint=_vite_react_shadcn_ts@0.0.0_deploy:cloudflare-native:wrangler_rollback_failed exit=1"},{"line":2385,"content":"2026-09-30T04:11:07.9799047Z ::error::frontend_release_failure stage=deploy class=WRANGLER hint=_vite_react_shadcn_ts@0.0.0_deploy:cloudflare-native:wrangler_rollback_failed"},{"line":2390,"content":"2026-09-30T04:11:07.9949503Z ⚙️ [runner]: exitcode '1': failure"},{"line":2411,"content":"2026-09-30T04:11:08.5165061Z 🏁  Job failed"},{"line":2412,"content":"2026-09-30T04:11:11.9929736Z Job 'Release frontend' failed"}]},"exactSource":true,"fingerprint":"failure|release frontend|2026-09-30t04:07:42.5796823z error: api request failed|2026-09-30t04:07:42.5798870z     sentry reported an error: invalid token (http status: 401)|2026-09-30t04:11:07.9053949z ::error::frontend last-known-good rollback failed reason=frontend_worker_transaction_failed|2026-09-30t04:11:07.9054891z ::error::frontend wrangler upload classified: hint=_vite_react_shadcn_ts@0.0.0_deploy:cloudflare-native:wrangler_rollback_failed exit=1|2026-09-30t04:11:07.9799047z ::error::frontend_release_failure stage=deploy class=wrangler hint=_vite_react_shadcn_ts@0.0.0_deploy:cloudflare-native:wrangler_rollback_failed|2026-09-30t04:11:07.9949503z ⚙️ [runner]: exitcode '1': failure|2026-09-30t04:11:08.5165061z 🏁  job failed|2026-09-30t04:11:11.9929736z job 'release frontend' failed|2026-09-30t04:09:05.1038111z       \"version_id\": \"2172bcdc-69e3-4fcb-93b0-4ecb3057b191\",|2026-09-30t04:09:05.1038221z       \"percentage\": 0|2026-09-30t04:09:05.1038324z     }|2026-09-30t04:09:05.103842","failureClass":"code_failure","targetStates":{"frontend":"failure"},"safeAutoRetry":false,"targetJobCount":6,"observedTargetStates":{"frontend":"failure"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T04:53:55.525031+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"f611d0c570e7854d7787c9ec4a12d299193ab3c2","external_id":"forgejo-main-f611d0c570e7","receipt_type":"canonical_release_status","idempotency_key":"mission:8560364a-3f30-4d30-ab5a-6cdcb9da628d:forgejo-release-status:f611d0c570e7854d7787c9ec4a12d299193ab3c2:failed:forgejo-main/source=success|forgejo-release/workflow=failure|frontend-cloudflare/live=failure","mission_step_id":"472e2c18-8878-4938-a9d0-0611d5f0eb75","command_center_event_id":"8560364a-3f30-4d30-ab5a-6cdcb9da628d"},{"id":"ba8766fb-07aa-4bd9-a94f-658f1a99f8f8","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"2c0f009ccc6ebbf608a2d248712753c77302a11a","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"2c0f009ccc6ebbf608a2d248712753c77302a11a","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1993","runId":1993,"status":"running","sourceSha":"2c0f009ccc6ebbf608a2d248712753c77302a11a","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T16:14:41.23672+00:00","proof_gate":"canonical_release_pending","source_sha":"2c0f009ccc6ebbf608a2d248712753c77302a11a","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:19f7cd36-103c-4e6e-8a4f-5c99208b7d59:forgejo-release-status:2c0f009ccc6ebbf608a2d248712753c77302a11a:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"8eccb304-99a7-4913-adfe-cab49d6387cc","command_center_event_id":"19f7cd36-103c-4e6e-8a4f-5c99208b7d59"},{"id":"ba8858f5-2bed-400a-a32d-5babe8ef59e2","source":"github","status":"retryable","payload":{"baseSha":"06f757827be6cf2eaa8b0f7cf17369cfdd68ffe7","nextBranch":"ai/cc-durable-mission-continuation-recovery-20260807-g3","branchCreated":true,"mergeCommitSha":"06f757827be6cf2eaa8b0f7cf17369cfdd68ffe7","nextGeneration":3,"previousBranch":"ai/cc-durable-mission-continuation-recovery-20260807-g2","previousPrNumber":4183},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-07T04:38:32.67938+00:00","proof_gate":"merged_pr_deleted_branch_reconciled","source_sha":"06f757827be6cf2eaa8b0f7cf17369cfdd68ffe7","external_id":"4183","receipt_type":"source_lineage_reconciled","idempotency_key":"mission:2571e941-2dc9-455e-a7ba-4b6ef7016025:generation:3:merged-pr-deleted-branch","mission_step_id":"87b2a1e9-35a2-4969-834d-1ecb85926599","command_center_event_id":"2571e941-2dc9-455e-a7ba-4b6ef7016025"},{"id":"ba8b2c2a-7340-4a57-9121-cff87f874292","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-164055f02d85","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.98-proof-target-fidelity","prNumber":null,"terminal":false,"missionId":"164055f0-2d85-416f-8bdc-1d3a05c9bfeb","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4752,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":789,"providerAuthMs":0,"ledgerPrepareMs":789,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":789,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":789,"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":"164055f0-2d85-416f-8bdc-1d3a05c9bfeb"},"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":7352,"likelyAffectedFiles":["src/shells/pcg/PCGTenantShell.tsx","src/PcgAppShell.tsx","src/pages/card-grading/PCGCanonicalWorkspaceRoute.tsx","src/pages/card-grading/PCGModesWorkspace.tsx","src/pages/crm/PcgWorkspace.tsx","src/pages/card-grading/PCGAIGradingWorkbench.tsx","src/pages/card-grading/CardGradingPopulationReport.tsx","src/pages/card-grading/PCGCompletionCenter.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:25:40.544749+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:164055f0-2d85-416f-8bdc-1d3a05c9bfeb:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"95d21304-28a7-4fdf-ad18-091263e92b0a","command_center_event_id":"164055f0-2d85-416f-8bdc-1d3a05c9bfeb"},{"id":"ba8bd354-a497-41e2-9be3-eb4c3d00a946","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/godmode-owner-invite-no-reset-20260910","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2352,"terminal":false,"missionId":"bde0b351-479f-4cee-8ed8-5989208fd556","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"aa7a6b5196e1443b5404f17e5b930eaf08b026dc","timingsMs":{"prReadinessMs":284,"approvedPlanMs":0,"shipAndProveMs":16097,"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":"bde0b351-479f-4cee-8ed8-5989208fd556"},"performance":null,"deploymentId":"forgejo-main-aa7a6b5196e1","workflowRunId":6921,"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-10T23:57:47.110894+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"2352","receipt_type":"automatic_mission_resume","idempotency_key":"mission:bde0b351-479f-4cee-8ed8-5989208fd556:automatic-mission-resume:2352:canonical_release_reconciliation_pending","mission_step_id":"32ae6ccb-4a37-4503-83c1-0c135429c448","command_center_event_id":"bde0b351-479f-4cee-8ed8-5989208fd556"},{"id":"ba8c1b9f-8c56-41e6-8543-b2145cc38577","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"success"},"mainSha":"111d2ec86c2928d4cf76b9f90d2b53eb31d4698c","missing":[],"pending":["forgejo-release/workflow"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"111d2ec86c2928d4cf76b9f90d2b53eb31d4698c","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"111d2ec86c2928d4cf76b9f90d2b53eb31d4698c","deploymentId":"forgejo-main-111d2ec86c2928d4cf76b9f90d2b53eb31d4698c","compareStatus":"identical","identitySource":"local_build_metadata","runtimeVersion":"1.48.4-single-mutation-lane","containsSourceSha":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T03:47:51.745289+00:00","proof_gate":"canonical_release_pending","source_sha":"111d2ec86c2928d4cf76b9f90d2b53eb31d4698c","external_id":"forgejo-main-111d2ec86c29","receipt_type":"canonical_release_status","idempotency_key":"mission:b7397365-f5ea-49ee-81c0-a7acfb235dd6:forgejo-release-status:111d2ec86c2928d4cf76b9f90d2b53eb31d4698c:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=success","mission_step_id":"2e5fd146-7aac-4ce3-9f20-5f6bd5e4bde7","command_center_event_id":"b7397365-f5ea-49ee-81c0-a7acfb235dd6"},{"id":"ba8c8002-fff9-41e9-9126-df809bb974bf","source":"cc-execution","status":"verified","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"baseSha":"3fce5559a26993c9637336cd58c869f32ff1c09f","consumedAt":1788313272937,"consumerToken":"3fe8de23-c5e5-4763-b05c-4644dc383780","authorizationId":"0e7a7706-67f8-4b6f-8183-eef637546795"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T01:41:13.958103+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"3fce5559a26993c9637336cd58c869f32ff1c09f","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:0e7a7706-67f8-4b6f-8183-eef637546795","mission_step_id":"142fd1ae-9b79-4c79-bc8e-bf6116a751f3","command_center_event_id":"f73ce7e4-6d3f-42e0-8233-98f0ed1ffba7"},{"id":"ba8d478e-1c48-4565-bdce-8aef1a3bba41","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"pull_request_not_merge_eligible:pull_request_base_refreshed_gate_required:{\"previousHeadSha\":\"608acb5558f6e0ea01a7a12abf8299f147041fdf\",\"refreshedHeadSha\":\"e39e21d1a30c19e5f441f2f8c766c6ce78cd0484\",\"baseSha\":\"d91df588cf092b99b4fa8a35ab3049361d2a8500\"}","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.1-predictive-reliability-speed-guardrails","prNumber":93,"terminal":false,"missionId":"bb61c047-557d-4e26-a127-5396a915a6cf","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"bb61c047-557d-4e26-a127-5396a915a6cf"},"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":1751,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T03:18:18.348281+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"93","receipt_type":"ship_and_prove","idempotency_key":"mission:bb61c047-557d-4e26-a127-5396a915a6cf:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"81f185ff-5cac-4562-811a-3fb728ea3b63","command_center_event_id":"bb61c047-557d-4e26-a127-5396a915a6cf"},{"id":"ba8f8c1e-c980-4073-aa38-f17595a2d327","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","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\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"release_freshness_reconciliation_pending\",\"proofGate\":\"canonical_release_freshness_reconciliation_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"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-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-05T04:37:38.387399+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-336f64f93ed2\",\"prNumber\":4880,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T01:10:04.246388+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:336f64f9-3ed2-47c9-a214-4d052e58f04a:owner-progress-heartbeat:119410840","mission_step_id":"2a2cac73-f9e9-4736-a15e-12b064d4ebf1","command_center_event_id":"336f64f9-3ed2-47c9-a214-4d052e58f04a"},{"id":"ba8f9b74-70fc-403a-900a-61553a682846","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a1789dfb1569","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":32750,"releaseCount":0,"toolCallCount":20,"repeatedCallCount":15,"executorlessWaitMs":226211,"firstUsefulResultAt":"2026-10-03T17:54:48.685Z","recoveryAttemptCount":15,"ownerInterruptionCount":0},"version":null,"prNumber":4661,"terminal":false,"missionId":"a1789dfb-1569-4cf6-8641-2064483c3a30","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2194,"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":"a1789dfb-1569-4cf6-8641-2064483c3a30"},"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-03T17:56:14.094396+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4661","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a1789dfb-1569-4cf6-8641-2064483c3a30:automatic-mission-resume:4661:repair_mission_pr_ready_retryable","mission_step_id":"f2b3d07d-4132-4a75-8739-4b4ef4bad239","command_center_event_id":"a1789dfb-1569-4cf6-8641-2064483c3a30"},{"id":"ba8fc80f-0662-432f-9f8d-11c0d85cea82","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-48366c2c136c","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":29054,"releaseCount":0,"toolCallCount":15,"repeatedCallCount":5,"executorlessWaitMs":64801,"firstUsefulResultAt":"2026-10-05T01:03:59.313Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":"1.64.94-terminal-completion-supervisor","prNumber":4876,"terminal":false,"missionId":"48366c2c-136c-4011-9464-428b2d3d3d64","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"0113579a4bb279807370d82499e413b6924a5173","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":962,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":57,"approvedPlanMs":0,"missionSetupMs":762,"providerAuthMs":0,"shipAndProveMs":335,"ledgerPrepareMs":762,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":762,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":762,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"48366c2c-136c-4011-9464-428b2d3d3d64"},"performance":null,"deploymentId":"forgejo-main-0113579a4bb2","releaseState":null,"workflowRunId":15507,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["communication-hub"]},"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":2777,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T01:06:40.686739+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"0113579a4bb279807370d82499e413b6924a5173","external_id":"forgejo-main-0113579a4bb2","receipt_type":"execute_mission","idempotency_key":"mission:48366c2c-136c-4011-9464-428b2d3d3d64:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"b7fa650f-9a5c-470b-b8a9-65c9e6dcc72c","command_center_event_id":"48366c2c-136c-4011-9464-428b2d3d3d64"},{"id":"ba913aeb-0ca9-4d4c-bf69-1e6cdcd75562","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d12f8e723dd5","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.136-historical-cc-backfill-preflight","prNumber":null,"terminal":false,"missionId":"d12f8e72-3dd5-4df5-b351-683dfa8d8670","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":259,"providerAuthMs":0,"ledgerPrepareMs":259,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":259,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":259,"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":"d12f8e72-3dd5-4df5-b351-683dfa8d8670"},"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":3932,"likelyAffectedFiles":["src/pages/SelectTenant.tsx","src/__tests__/contracts/platform-workspace-unification.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T19:28:41.394622+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d12f8e72-3dd5-4df5-b351-683dfa8d8670:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"24127ebd-a50e-4ca8-9fa6-93c60d4258ae","command_center_event_id":"d12f8e72-3dd5-4df5-b351-683dfa8d8670"},{"id":"ba91905a-c9e7-4d6f-aa2e-fce98618041e","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-ff8940facc03","prNumber":2632,"nextAction":null,"mergeCommitSha":"03ea8087244383f20cd3a0efbc9081e41ee5a38c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T06:24:56.217588+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"03ea8087244383f20cd3a0efbc9081e41ee5a38c","external_id":"2632","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:ff8940fa-cc03-4463-8513-2b47a4842b1b:merged-pr:2632:03ea8087244383f20cd3a0efbc9081e41ee5a38c","mission_step_id":"2d5d2802-172c-4c3b-9d7a-29156ec2e986","command_center_event_id":"ff8940fa-cc03-4463-8513-2b47a4842b1b"},{"id":"ba92c7f6-79ee-4e9b-949e-4a399427b53a","source":"forgejo","status":"waiting","payload":{"branch":"ai/big-papis-dependency-pass","prNumber":2899,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"e9b915ae5a4d2166c2b2b68ef9b691d4dc858776","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T13:52:21.928918+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"e9b915ae5a4d2166c2b2b68ef9b691d4dc858776","external_id":"2899","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:65f9c078-7455-4320-a65f-993b85d1ae16:merged-pr:2899:e9b915ae5a4d2166c2b2b68ef9b691d4dc858776","mission_step_id":"3f8e3c34-80e5-4c87-9b89-72574731a018","command_center_event_id":"65f9c078-7455-4320-a65f-993b85d1ae16"},{"id":"ba92dce1-ae6d-4dbe-af17-aafbfc6e853c","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"github_request_failed","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.23-targeted-owner-preflight","prNumber":4379,"terminal":false,"missionId":"95c92fff-e3dc-4f81-a542-05feb2fcf84c","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"95c92fff-e3dc-4f81-a542-05feb2fcf84c"},"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":154,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-08T19:57:47.670926+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4379","receipt_type":"ship_and_prove","idempotency_key":"mission:95c92fff-e3dc-4f81-a542-05feb2fcf84c:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"38fa2f9d-9693-4d2b-8fba-7a4aaf11c798","command_center_event_id":"95c92fff-e3dc-4f81-a542-05feb2fcf84c"},{"id":"ba932ee4-8e87-4901-9bc0-e408f1cb254b","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"onrunner","action":"verify_visual","reason":"release_verified_visual_proof_pending","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"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\":\"verify_visual\",\"lane\":\"onrunner\",\"reason\":\"release_verified_visual_proof_pending\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"onrunner\"},\"acceptance\":{\"total\":2,\"verified\":1,\"pending\":1,\"percent\":50,\"satisfied\":false,\"verifiedIds\":[\"proof-production\"],\"pendingIds\":[\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-09-25T20:59:03.039869+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-66c317c2a86c\",\"prNumber\":3750,\"sourceSha\":\"7e056d7356a0c8c2b18db3aadc61ae10b3414b05\",\"deploymentId\":\"forgejo-main-7e056d7356a0\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T17:55:54.298242+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:66c317c2-a86c-4d3a-a6ff-34d2e5d73827:owner-progress-heartbeat:119357263","mission_step_id":"c8247758-4f59-4c2b-af05-9807345d5f85","command_center_event_id":"66c317c2-a86c-4d3a-a6ff-34d2e5d73827"},{"id":"ba93a58d-d7c9-479f-80f3-490abb0f0909","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/release-lineage-compare-20260817","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.47.1-cancelled-release-corrective-retry","prNumber":356,"terminal":false,"missionId":"f23c6e2f-17b6-4ff8-babd-5b4fefdd1b63","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":"f23c6e2f-17b6-4ff8-babd-5b4fefdd1b63"},"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":5719,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-17T21:42:43.150034+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"356","receipt_type":"execute_mission","idempotency_key":"mission:f23c6e2f-17b6-4ff8-babd-5b4fefdd1b63:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"e928e629-cf31-4a46-9441-bbab90eb9349","command_center_event_id":"f23c6e2f-17b6-4ff8-babd-5b4fefdd1b63"},{"id":"ba94da15-7269-4bd2-bedb-6a0e67cf403f","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/redfish-tenant-revolution-20260828","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":7007,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":946,"terminal":false,"missionId":"96b34660-334a-4181-b4ee-9c13f9ff538b","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"512074acca02cd635755b18ea9b463c159738496","timingsMs":{"handlerMs":29960,"prReadinessMs":1681,"approvedPlanMs":18716,"missionSetupMs":840,"shipAndProveMs":8622},"nextAction":null,"receiptRef":{"mode":"full","missionId":"96b34660-334a-4181-b4ee-9c13f9ff538b"},"performance":null,"deploymentId":"forgejo-main-512074acca02","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":8022,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-28T18:27:59.734269+00:00","proof_gate":"canonical_release_dispatched","source_sha":"512074acca02cd635755b18ea9b463c159738496","external_id":"forgejo-main-512074acca02","receipt_type":"execute_mission","idempotency_key":"mission:96b34660-334a-4181-b4ee-9c13f9ff538b:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"a639e17b-591d-46f4-8be0-ccf41085ff77","command_center_event_id":"96b34660-334a-4181-b4ee-9c13f9ff538b"},{"id":"ba96e605-8a6d-4df2-b51b-35eaeb7213f9","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/bind-production-worker-routes","reason":"pull_request_checks_pending","status":"retryable","metrics":{"receiptBytes":2239,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":149,"terminal":false,"missionId":"da5b442c-ba5e-4dd8-be48-4267c4ae216c","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":"da5b442c-ba5e-4dd8-be48-4267c4ae216c"},"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":916,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T17:25:34.45198+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"149","receipt_type":"automatic_mission_resume","idempotency_key":"mission:da5b442c-ba5e-4dd8-be48-4267c4ae216c:automatic-mission-resume:149:repair_mission_pr_ready_retryable","mission_step_id":"7a5bd9a9-dd58-4956-ab91-35bd7fdd022e","command_center_event_id":"da5b442c-ba5e-4dd8-be48-4267c4ae216c"}],"rows":400,"limit":400,"table":"command_center_receipts","format":"knocklaunch-table-chunk-v1","offset":32000,"schema":"public","order_key":"id"}