{"data":[{"id":"9f3fdd7e-133a-485e-a046-b7ce79b144f6","source":"forgejo","status":"waiting","payload":{"branch":"ai/release-reconciliation-contract-coherence-20260911","prNumber":2421,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"e0aa6c99c2ae222610d5a4c58986c52508d49dfe","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:56:33.864808+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"e0aa6c99c2ae222610d5a4c58986c52508d49dfe","external_id":"2421","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:e06fb523-117b-497b-97e9-0cfa043318cb:merged-pr:2421:e0aa6c99c2ae222610d5a4c58986c52508d49dfe","mission_step_id":"47dc2a93-637b-48ad-8c63-85824a572243","command_center_event_id":"e06fb523-117b-497b-97e9-0cfa043318cb"},{"id":"9f414c9c-ba8c-4c2b-9442-79966e2b2f1f","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-53213a39bb66","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.131-forgejo-heartbeat-forwarding","prNumber":2665,"terminal":false,"missionId":"53213a39-bb66-4224-b68a-8bd17206abae","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"cd78716d87ba09dbbbc580808871d01fb410eed7","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":16875,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":859,"approvedPlanMs":0,"missionSetupMs":377,"providerAuthMs":0,"shipAndProveMs":9629,"ledgerPrepareMs":264,"ledgerReconcileMs":0,"lineageReconcileMs":113,"resolvePreflightMs":377,"repositoryMutationMs":6378,"repositoryProviderMs":5507,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2287,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":264,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":3220},"nextAction":null,"receiptRef":{"mode":"full","missionId":"53213a39-bb66-4224-b68a-8bd17206abae"},"performance":null,"deploymentId":"forgejo-main-cd78716d87ba","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":4534,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T17:45:07.495388+00:00","proof_gate":"canonical_release_dispatched","source_sha":"cd78716d87ba09dbbbc580808871d01fb410eed7","external_id":"forgejo-main-cd78716d87ba","receipt_type":"execute_mission","idempotency_key":"mission:53213a39-bb66-4224-b68a-8bd17206abae:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"3ca5d7dc-1acf-410e-b8ed-77dc8a76723f","command_center_event_id":"53213a39-bb66-4224-b68a-8bd17206abae"},{"id":"9f416935-4bc2-43f0-b96b-2349d4cd1751","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"1e7b7a6018d51da08b268dcb42992fa14b3efd6e","requestContractProof":{"legacy":true,"present":false,"satisfied":true,"visualRequested":false,"visualSatisfied":true,"pendingProofKinds":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T13:29:55.880833+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"1e7b7a6018d51da08b268dcb42992fa14b3efd6e","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:f9ebd1a5-5de1-4e1b-a201-6dfc8e5dd4cb:request-contract:legacy:1e7b7a6018d51da08b268dcb42992fa14b3efd6e:verified:","mission_step_id":"5c1c8c30-1ecd-4e09-8410-535e3bb052a0","command_center_event_id":"f9ebd1a5-5de1-4e1b-a201-6dfc8e5dd4cb"},{"id":"9f465a80-1f3b-42cd-b79b-f4912eb96708","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextStep\":{\"key\":\"runtime_proof\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"production-release-conductor\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-28T01:17:39.602991+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-aa491cdd210c\",\"prNumber\":3913,\"sourceSha\":\"8b410b546118745ad17305253ffaeca80f0f0d1b\",\"deploymentId\":\"forgejo-main-8b410b546118\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T22:21:16.581378+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:aa491cdd-210c-441a-a600-c1f41137bfb3:owner-progress-heartbeat:119369845","mission_step_id":"972ddd60-c4f1-4980-8027-babe0bb06758","command_center_event_id":"aa491cdd-210c-441a-a600-c1f41137bfb3"},{"id":"9f46bf22-b285-4140-a589-d600a82a9948","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"28d6c5c5059f3d25bb6d38b1fe7cd081946f1703","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"28d6c5c5059f3d25bb6d38b1fe7cd081946f1703","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"785311e948879fcb8de0cf554eee7e6bc35e577e8111150b9588bea9e54c06f8","forgejoWorkflowProof":{"runId":14843,"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-03T16:20:48.150996+00:00","proof_gate":"canonical_release_pending","source_sha":"28d6c5c5059f3d25bb6d38b1fe7cd081946f1703","external_id":"forgejo-main-28d6c5c5059f","receipt_type":"canonical_release_status","idempotency_key":"mission:5f172727-24f9-42e6-a95a-333acb748d80:forgejo-release-status:28d6c5c5059f3d25bb6d38b1fe7cd081946f1703:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"f6266ff5-35fe-4354-af46-445ea4e14864","command_center_event_id":"5f172727-24f9-42e6-a95a-333acb748d80"},{"id":"9f479031-4426-4a6d-8ea2-4bdeba4a8b47","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":"7e200016020a693f0bf289681f8709a2323a540c","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"7e200016020a693f0bf289681f8709a2323a540c","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["owner-search-console","owner-seo-audit"]},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":"4c93c4e7f79f7bb7916b41035c27f8cf4c08d75d3c80efa077f59cb0254c20df","forgejoWorkflowProof":{"runId":7549,"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-12T21:22:53.907804+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"7e200016020a693f0bf289681f8709a2323a540c","external_id":"forgejo-main-7e200016020a","receipt_type":"canonical_release_status","idempotency_key":"mission:87ffa1d6-dd82-42de-94a1-8f33edbb537b:forgejo-release-status:7e200016020a693f0bf289681f8709a2323a540c:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"3ab4534c-b4a8-495c-b488-834b5e6d6b6b","command_center_event_id":"87ffa1d6-dd82-42de-94a1-8f33edbb537b"},{"id":"9f47dc95-76dc-4a14-b9e0-6d9f83bbcb7b","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-04T18:39:19.814Z"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T14:55:21.220236+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:1ad939a3-5e09-4454-ab4d-759ac2b0ccf4:owner-wait-live","mission_step_id":"71d3055d-132c-4b33-8959-d17af6f37edd","command_center_event_id":"1ad939a3-5e09-4454-ab4d-759ac2b0ccf4"},{"id":"9f488b51-9039-41a9-a0cd-8e1e84c433b0","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Run 5222 missing package-lock manifest hydration.","baseSha":"35431881b2be8ff1bb51fe19e147d7865d90bdc0","issuedAt":1788532318916,"expiresAt":1788532498916,"missionId":"f67115ab-1891-4fea-b8d4-4ce71203ae10","authorizationId":"78bea399-e113-414c-aefd-e594fc6a7c68","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T14:31:59.539767+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"35431881b2be8ff1bb51fe19e147d7865d90bdc0","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:78bea399-e113-414c-aefd-e594fc6a7c68","mission_step_id":"44f8dc01-b987-4775-b428-e04ef926468d","command_center_event_id":"f67115ab-1891-4fea-b8d4-4ce71203ae10"},{"id":"9f48b564-5b97-4783-ba7d-3a5a7eac991e","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/harden-big-papis-loyalty-integrity-20260824","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":12012,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":715,"terminal":false,"missionId":"7eed82bb-7243-4960-bbf9-33c7f4de34aa","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"6411d0c73486c8e85a2d10d28ed6f00c1f2f874a","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"7eed82bb-7243-4960-bbf9-33c7f4de34aa"},"performance":null,"deploymentId":"forgejo-main-6411d0c73486","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["mobile-vendor-growth","mobile-vendor-loyalty-member"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1948,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-25T02:03:04.053747+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"715","receipt_type":"automatic_mission_resume","idempotency_key":"mission:7eed82bb-7243-4960-bbf9-33c7f4de34aa:automatic-mission-resume:715:canonical_release_dispatched","mission_step_id":"bc07a573-fcc5-4fe3-8a98-9b688da3c35e","command_center_event_id":"7eed82bb-7243-4960-bbf9-33c7f4de34aa"},{"id":"9f4cd4d3-ad08-407d-86e5-b0275873f659","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"failure","supabase-edge-production/live":"failure"},"mainSha":"ea8a0b6a021a1c4d6cfcb45a9f35d66cb9bc3e53","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"ea8a0b6a021a1c4d6cfcb45a9f35d66cb9bc3e53","releaseState":"failed","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true},"requestContractHash":"9975896f1bcda85fec5bce0d773771b1fa3aca745679d40088665e8ab19aa86b","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3713","runId":3713,"status":"failure","sourceSha":"ea8a0b6a021a1c4d6cfcb45a9f35d66cb9bc3e53","conclusion":null,"failedJobs":[{"id":23660,"name":"Release Supabase Edge Functions","status":"failure","conclusion":null,"failedSteps":[]}],"diagnostics":{"runId":3713,"logTail":["2026-08-30T21:47:07.3956442Z do so (now or later) by using -c with the switch command. Example:","2026-08-30T21:47:07.3956676Z ","2026-08-30T21:47:07.3956931Z   git switch -c <new-branch-name>","2026-08-30T21:47:07.3957145Z ","2026-08-30T21:47:07.3957419Z Or undo this operation with:","2026-08-30T21:47:07.3957564Z ","2026-08-30T21:47:07.3957766Z   git switch -","2026-08-30T21:47:07.3957930Z ","2026-08-30T21:47:07.3958099Z Turn off this advice by setting config variable advice.detachedHead to false","2026-08-30T21:47:07.3958385Z ","2026-08-30T21:47:07.3958544Z HEAD is now at ea8a0b6 Make tenant creation manifest-driven (#1154)","2026-08-30T21:47:07.3992403Z ##[endgroup]","2026-08-30T21:47:07.4069147Z [command]/usr/bin/git log -1 --format=%H","2026-08-30T21:47:07.4119722Z ea8a0b6a021a1c4d6cfcb45a9f35d66cb9bc3e53","2026-08-30T21:47:07.4147190Z ::remove-matcher owner=checkout-git::","2026-08-30T21:47:14.2612733Z WARNING: Docker is not running","2026-08-30T21:47:14.2672816Z Uploading asset (admin-tenant-preview): supabase/functions/admin-tenant-preview/index.ts","2026-08-30T21:47:15.0211421Z unexpected deploy status 400: {\"message\":\"Failed to bundle the function (reason: The module's source code could not be parsed: Expected unicode escape at file:///tmp/user_fn_ymntrajfubicyxwwdxxa_8dbc9456-6c9c-4cc8-ae93-db280042762b_93/source/supabase/functions/admin-tenant-preview/index.ts:4:29\\n\\n  const BLUEPRINT_VERSION = 5;\\\\nconst TENANT_MANIFEST_SCHEMA_VERSION = 1;\\n                              ~).\"}","2026-08-30T21:47:15.0212367Z Try rerunning the command with --debug to troubleshoot the error.","2026-08-30T21:47:15.1371261Z ⚙️ [runner]: exitcode '1': failure","2026-08-30T21:47:15.1376371Z ⭐ Run Post https://data.forgejo.org/actions/checkout@v4","2026-08-30T21:47:15.1415156Z   🐳  docker exec cmd=[node /var/run/act/actions/96/e97d24b8d1a75082e377099f2fc1a01e2e8bdfd8024ad9e19d575539205647/dist/index.js] user= workdir=","2026-08-30T21:47:15.3778984Z [command]/usr/bin/git version","2026-08-30T21:47:15.3839588Z git version 2.39.5","2026-08-30T21:47:15.3884303Z   ⚙  ***","2026-08-30T21:47:15.3907974Z Temporarily overriding HOME='/tmp/f7eb476b-fc9c-4b52-b150-4401401ee61c' before making global git config changes","2026-08-30T21:47:15.3909942Z Adding repository directory to the temporary git global config as a safe directory","2026-08-30T21:47:15.3918643Z [command]/usr/bin/git config --global --add safe.directory /workspace/noel/KnockLaunchOS","2026-08-30T21:47:15.4018452Z [command]/usr/bin/git config --local --name-only --get-regexp core\\.sshCommand","2026-08-30T21:47:15.4097176Z [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-08-30T21:47:15.4573068Z [command]/usr/bin/git config --local --name-only --get-regexp http\\.https\\:\\/\\/git\\.knocklaunch\\.app\\/\\.extraheader","2026-08-30T21:47:15.4611440Z http.https://git.knocklaunch.app/.extraheader","2026-08-30T21:47:15.4630328Z [command]/usr/bin/git config --local --unset-all http.https://git.knocklaunch.app/.extraheader","2026-08-30T21:47:15.4691059Z [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-08-30T21:47:15.5133487Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\\.gitdir:","2026-08-30T21:47:15.5195030Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url","2026-08-30T21:47:15.5769863Z   ✅  Success - Post https://data.forgejo.org/actions/checkout@v4","2026-08-30T21:47:15.6024392Z 🏁  Job failed","2026-08-30T21:47:16.8129743Z Job 'Release Supabase Edge Functions' failed",""],"proofGate":"forgejo_action_run_logs_verified","truncated":true,"failureLines":[{"line":207,"content":"2026-08-30T21:44:21.4641827Z {\"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":713,"content":"2026-08-30T21:46:20.5725879Z {\"ok\":true,\"proofGate\":\"cloudflare_native_artifact_guard_verified\",\"htmlBytes\":1121,\"jsFiles\":400,\"cssFiles\":8,\"totalJsBytes\":17696182,\"totalCssBytes\":946681,\"htmlAssetRefs\":4,\"roofHelpFinderSitemapBytes\":3436,\"roofHelpFinderRobotsReferenceVerified\":true}"},{"line":884,"content":"2026-08-30T21:46:55.1233008Z > node -e \"(async()=>{const fs=require('fs');const crypto=require('crypto');const cfg=JSON.parse(fs.readFileSync('config/cloudflare-native-frontend-build.json','utf8'));const local=fs.readFileSync('dist/index.html');const hash=(b)=>crypto.createHash('sha256').update(b).digest('hex');const expected=hash(local);const deadline=Date.now()+Math.max(60000,Number(process.env.KNOCKLAUNCH_FRONTEND_PROOF_TIMEOUT_MS||240000));const interval=Math.max(1000,Number(process.env.KNOCKLAUNCH_FRONTEND_PROOF_INTERVAL_MS||3000));let last={};let attempts=0;while(Date.now()<deadline){attempts++;let all=true;for(const d of cfg.proofDomains||[]){try{const u=new URL('/',d);u.searchParams.set('__kl_release_proof',Date.now()+'-'+attempts);const r=await fetch(u,{redirect:'follow',headers:{'cache-control':'no-cache, no-store, max-age=0','pragma':'no-cache'}});const actual=hash(Buffer.from(await r.arrayBuffer()));last[d]={status:r.status,expected,actual,exact:r.ok&&actual===expected,finalUrl:r.url,cacheStatus:r.headers.get('cf-cache-status')};if(!r.ok||actual!==expected)all=false}catch(e){all=false;last[d]={error:String(e&&e.message||e)}}}if((cfg.proofDomains||[]).length&&all){console.log(JSON.stringify({ok:true,proofGate:'frontend_exact_artifact_live_verified',expected,domains:last,attempts}));return}await new Promise(r=>setTimeout(r,interval))}console.error(JSON.stringify({ok:false,reason:'frontend_exact_artifact_not_converged',expected,domains:last,attempts}));process.exit(1)})().catch(e=>{console.error(e);process.exit(1)})\"; exit $?; node scripts/cloudflare-native-verify.mjs"},{"line":998,"content":"2026-08-30T21:47:15.0211421Z unexpected deploy status 400: {\"message\":\"Failed to bundle the function (reason: The module's source code could not be parsed: Expected unicode escape at file:///tmp/user_fn_ymntrajfubicyxwwdxxa_8dbc9456-6c9c-4cc8-ae93-db280042762b_93/source/supabase/functions/admin-tenant-preview/index.ts:4:29\\n\\n  const BLUEPRINT_VERSION = 5;\\\\nconst TENANT_MANIFEST_SCHEMA_VERSION = 1;\\n                              ~).\"}"},{"line":999,"content":"2026-08-30T21:47:15.0212367Z Try rerunning the command with --debug to troubleshoot the error."},{"line":1000,"content":"2026-08-30T21:47:15.1371261Z ⚙️ [runner]: exitcode '1': failure"},{"line":1018,"content":"2026-08-30T21:47:15.6024392Z 🏁  Job failed"},{"line":1019,"content":"2026-08-30T21:47:16.8129743Z Job 'Release Supabase Edge Functions' failed"}]},"exactSource":true,"fingerprint":"failure|release supabase edge functions|[object object]|[object object]|[object object]|[object object]|[object object]|[object object]|[object object]|[object object]","failureClass":"code_failure","safeAutoRetry":false},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"781c9b334806982b04a5444075f1360d5e2a2ccc","sourceSha":"ea8a0b6a021a1c4d6cfcb45a9f35d66cb9bc3e53","changedPaths":["src/lib/tenants/tenantManifest.ts","scripts/tenant-module-architecture-guard.mjs","src/__tests__/contracts/tenant-onboarding-application.contract.test.ts","src/pages/admin/TenantOnboarding.tsx","supabase/functions/admin-tenant-preview/index.ts"],"changedPathCount":5,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T21:58:02.577408+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"ea8a0b6a021a1c4d6cfcb45a9f35d66cb9bc3e53","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:743076d7-d502-4138-b287-bb69be1ec1ea:forgejo-release-status:ea8a0b6a021a1c4d6cfcb45a9f35d66cb9bc3e53:failed:forgejo-main/source=success|forgejo-release/workflow=failure|supabase-edge-production/live=failure|frontend-cloudflare/live=failure","mission_step_id":"4a43cdbc-a2df-4f26-9fcd-6bc3466c1ca7","command_center_event_id":"743076d7-d502-4138-b287-bb69be1ec1ea"},{"id":"9f4d6a54-37c5-41cb-9c19-505dd5b8f153","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.17-release-orchestration-guardrails","prNumber":322,"terminal":false,"missionId":"06c57e41-c899-485d-8339-02b2d7c81823","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"fd75089633746e60f83a8446fba0130f095c9aca","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"06c57e41-c899-485d-8339-02b2d7c81823"},"performance":null,"deploymentId":"forgejo-main-fd7508963374","workflowRunId":1047,"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":4213,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-17T05:11:21.802855+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"fd75089633746e60f83a8446fba0130f095c9aca","external_id":"forgejo-main-fd7508963374","receipt_type":"ship_and_prove","idempotency_key":"mission:06c57e41-c899-485d-8339-02b2d7c81823:ship_and_prove:ship_and_prove_release_pending:fd75089633746e60f83a8446fba0130f095c9aca:1047","mission_step_id":"fabc5dd6-af2d-4043-8cb3-e8745db14e27","command_center_event_id":"06c57e41-c899-485d-8339-02b2d7c81823"},{"id":"9f4ebd5e-e71c-4ced-bfb5-6c26a01969b7","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"d65dabe6c7655a2be9635cd1b4826696806e69b9","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"public-preview","satisfied":true,"statement":"A production public PCG preview exists under /prestigious-card-grading with premium responsive branding, canonical service/contact data, grading information, WMP and submission access.","proofConditionIds":["runtime"]},{"id":"cert-lookup","satisfied":true,"statement":"Public PCG certification lookup returns safe canonical card details by cert number without exposing customer or submission PII.","proofConditionIds":["runtime"]},{"id":"legacy-resolution","satisfied":true,"statement":"The PCG public backend can resolve migrated legacy pcgslab.com source paths to canonical card data for future redirect compatibility.","proofConditionIds":["runtime"]}],"satisfied":true,"constraints":[{"id":"no-dns","satisfied":true,"statement":"Do not modify DNS or route pcgslab.com traffic in this objective.","proofConditionIds":["runtime"]},{"id":"safe-public-data","satisfied":true,"statement":"Public responses include only business/public card data and never customer/submission PII.","proofConditionIds":["runtime"]},{"id":"preserve-wmp","satisfied":true,"statement":"Existing order-number plus email progress lookup remains compatible.","proofConditionIds":["runtime"]},{"id":"scope","satisfied":true,"statement":"Only pcg-customer-progress, PCGPublicSite, and publicRoutes may change.","proofConditionIds":["runtime"]},{"id":"no-witness","satisfied":true,"statement":"Do not run Visual Witness.","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":"72c874d200d03e86375a85b30f2cf6a859f052f78ccebb95225b4f38c398f72a","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":{"frontend":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"72c874d200d03e86375a85b30f2cf6a859f052f78ccebb95225b4f38c398f72a"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:50:05.21739+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"d65dabe6c7655a2be9635cd1b4826696806e69b9","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:5596752e-68e1-43eb-b3eb-c883cdd77f75:request-contract:72c874d200d03e86375a85b30f2cf6a859f052f78ccebb95225b4f38c398f72a:d65dabe6c7655a2be9635cd1b4826696806e69b9:verified:","mission_step_id":"3bc825c3-2bfa-4632-8900-cf4474800bba","command_center_event_id":"5596752e-68e1-43eb-b3eb-c883cdd77f75"},{"id":"9f4f2eda-f5eb-4a6a-8f6b-147f27e189a5","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-24ad5e68ba5d","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3423,"terminal":false,"missionId":"24ad5e68-ba5d-49e3-a2eb-d64034602c60","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":543,"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":"24ad5e68-ba5d-49e3-a2eb-d64034602c60"},"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-22T12:38:06.951843+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3423","receipt_type":"automatic_mission_resume","idempotency_key":"mission:24ad5e68-ba5d-49e3-a2eb-d64034602c60:automatic-mission-resume:3423:repair_mission_waiting_for_gate","mission_step_id":"6615d8fd-816c-4217-a223-7ebfcf36233e","command_center_event_id":"24ad5e68-ba5d-49e3-a2eb-d64034602c60"},{"id":"9f501b3b-2261-4d6f-8981-d1df2110a9f3","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":"Give PAUL first-class external web research in normal conversation. When the owner explicitly asks PAUL to look something up, search the web/internet/online, research a topic, find current/latest public information, verify or confirm something online/from sources, or gather public information, the canonical platform-sidekick intelligence core must invoke the already-live provider-neutral research gateway before answering. Inject the returned web evidence and numbered sources into PAUL's grounded context, require source-number attribution and explicit uncertainty/conflict handling, return research metadata/sources with the response, and fail closed if explicit research was requested but external research failed instead of silently answering from memory as if verified. Do not leak tenant/private context into public search queries: use only the latest owner utterance as the external research query. Preserve read-only semantics, tenant boundaries, Mission Freedom, tool authorization, correction/continuation behavior, and existing model routing. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove the live runtime plus production intelligence eval. Do not use Visual Witness.","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":"Give PAUL first-class external web research in normal conversation. When the owner explicitly asks PAUL to look something up, search the web/internet/online, research a topic, find current/latest public information, verify or confirm something online/from sources, or gather public information, the canonical platform-sidekick intelligence core must invoke the already-live provider-neutral research gateway before answering. Inject the returned web evidence and numbered sources into PAUL's grounded context, require source-number attribution and explicit uncertainty/conflict handling, return research metadata/sources with the response, and fail closed if explicit research was requested but external research failed instead of silently answering from memory as if verified. Do not leak tenant/private context into public search queries: use only the latest owner utterance as the external research query. Preserve read-only semantics, tenant boundaries, Mission Freedom, tool authorization, correction/continuation behavior, and existing model routing. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove the live runtime plus production intelligence eval. Do not use Visual Witness.","wordingChanged":false,"canonicalIntent":"Give PAUL first-class external web research in normal conversation. When the owner explicitly asks PAUL to look something up, search the web/internet/online, research a topic, find current/latest public information, verify or confirm something online/from sources, or gather public information, the canonical platform-sidekick intelligence core must invoke the already-live provider-neutral research gateway before answering. Inject the returned web evidence and numbered sources into PAUL's grounded context, require source-number attribution and explicit uncertainty/conflict handling, return research metadata/sources with the response, and fail closed if explicit research was requested but external research failed instead of silently answering from memory as if verified. Do not leak tenant/private context into public search queries: use only the latest owner utterance as the external research query. Preserve read-only semantics, tenant boundaries, Mission Freedom, tool authorization, correction/continuation behavior, and existing model routing. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove the live runtime plus production intelligence eval. Do not use Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"research-in-loop","statement":"Explicit owner requests for outside/public information invoke PAUL's external research gateway before the conversational answer is generated.","provenance":{"reason":"Owner wants PAUL able to look up anything and gather outside information.","source":"owner_explicit_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"grounded-sources","statement":"PAUL grounds research answers in returned external evidence, carries source metadata, attributes numbered sources, and distinguishes confirmed facts, conflicts, and uncertainty.","provenance":{"reason":"Owner wants requests confirmed by gathered information.","source":"owner_explicit_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"fail-closed-research","statement":"If explicit external research fails, PAUL reports that failure and does not represent memory/model knowledge as externally verified.","provenance":{"reason":"Prevent fabricated verification.","source":"safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"objective":"Give PAUL first-class external web research in normal conversation. When the owner explicitly asks PAUL to look something up, search the web/internet/online, research a topic, find current/latest public information, verify or confirm something online/from sources, or gather public information, the canonical platform-sidekick intelligence core must invoke the already-live provider-neutral research gateway before answering. Inject the returned web evidence and numbered sources into PAUL's grounded context, require source-number attribution and explicit uncertainty/conflict handling, return research metadata/sources with the response, and fail closed if explicit research was requested but external research failed instead of silently answering from memory as if verified. Do not leak tenant/private context into public search queries: use only the latest owner utterance as the external research query. Preserve read-only semantics, tenant boundaries, Mission Freedom, tool authorization, correction/continuation behavior, and existing model routing. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove the live runtime plus production intelligence eval. Do not use Visual Witness.","constraints":[{"id":"privacy","statement":"Only the latest owner utterance may be sent as the public research query; do not send prior private tenant/conversation context to public search.","provenance":{"reason":"Protect private operational context while enabling research.","source":"implementation_constraint","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"platform-invariants","statement":"Preserve read-only semantics, tenant isolation, authorization, Mission Freedom, correction/continuation behavior, and existing model routing.","provenance":{"reason":"Core PAUL invariants.","source":"platform_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"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":["live"]},{"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":["live"]}],"adaptivePolicy":{"risk":{"tier":"high","blastRadius":"sensitive"},"proof":{"requiredKinds":["runtime"],"visualProofScope":"targeted","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":"deadline_sensitive","deadlineSignals":["before answering"],"deadlineExplicit":true},"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"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"serialize_overlapping_mutations","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":true,"viewports":["desktop","mobile"],"behavioral":false,"visualProofScope":"targeted"},"dependencies":{"requiredDomains":["backend_runtime","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":[]},"inputSignals":{"rawUtterance":"Give PAUL first-class external web research in normal conversation. When the owner explicitly asks PAUL to look something up, search the web/internet/online, research a topic, find current/latest public information, verify or confirm something online/from sources, or gather public information, the canonical platform-sidekick intelligence core must invoke the already-live provider-neutral research gateway before answering. Inject the returned web evidence and numbered sources into PAUL's grounded context, require source-number attribution and explicit uncertainty/conflict handling, return research metadata/sources with the response, and fail closed if explicit research was requested but external research failed instead of silently answering from memory as if verified. Do not leak tenant/private context into public search queries: use only the latest owner utterance as the external research query. Preserve read-only semantics, tenant boundaries, Mission Freedom, tool authorization, correction/continuation behavior, and existing model routing. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove the live runtime plus production intelligence eval. Do not use Visual Witness.","canonicalIntent":"Give PAUL first-class external web research in normal conversation. When the owner explicitly asks PAUL to look something up, search the web/internet/online, research a topic, find current/latest public information, verify or confirm something online/from sources, or gather public information, the canonical platform-sidekick intelligence core must invoke the already-live provider-neutral research gateway before answering. Inject the returned web evidence and numbered sources into PAUL's grounded context, require source-number attribution and explicit uncertainty/conflict handling, return research metadata/sources with the response, and fail closed if explicit research was requested but external research failed instead of silently answering from memory as if verified. Do not leak tenant/private context into public search queries: use only the latest owner utterance as the external research query. Preserve read-only semantics, tenant boundaries, Mission Freedom, tool authorization, correction/continuation behavior, and existing model routing. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove the live runtime plus production intelligence eval. Do not use Visual Witness.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"live","kind":"runtime","claim":"External-research-enabled PAUL runtime is live on merged cc-execution source lineage and production intelligence eval remains green.","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":"Give-PAUL-first-class-external-web-research-in-normal-conversation.-When-the-owner-explicitly-asks-P","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":["live"]},"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":"f6aef415cc04d610e1d00ea1603f0bc95662b6e9c8f3da190e2ea82aaa38c747","requestContractRevision":2,"previousRequestContractHash":"a05f8731d264a548b6dc2b2bbc8f0241e0488eab9448d42918497d2d8bedb8d9"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:20:36.226328+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:d1a1ef79-1501-4f8e-a91e-00f7dd865011:request-contract:f6aef415cc04d610e1d00ea1603f0bc95662b6e9c8f3da190e2ea82aaa38c747","mission_step_id":"ad9c9456-19bf-41e6-8c95-b3ad9f359d3f","command_center_event_id":"d1a1ef79-1501-4f8e-a91e-00f7dd865011"},{"id":"9f5297aa-6c1a-4fb3-987c-ee8d1e0090e7","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Control plane maintenance continuation: update the stale hard-safety contracts that still encode the retired 4 GB frontend release envelope so they validate the new dedicated docker-8g lane and 8 GB host budget. Do not touch Visual Witness.","wordingChanged":false,"canonicalIntent":"Control plane maintenance continuation: update the stale hard-safety contracts that still encode the retired 4 GB frontend release envelope so they validate the new dedicated docker-8g lane and 8 GB host budget. Do not touch Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"frontend-8g-contracts","statement":"Control plane hard-safety tests validate docker-8g, 7168 MiB container memory, 5632 MiB frontend heap, and keep the 4 GB control-plane budget separate from the dedicated frontend lane.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Control plane maintenance continuation: update the stale hard-safety contracts that still encode the retired 4 GB frontend release envelope so they validate the new dedicated docker-8g lane and 8 GB host budget. Do not touch Visual Witness.","constraints":[{"id":"existing-hardware-only","statement":"Use only existing infrastructure; do not create, resize, or purchase resources.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"visual-witness-excluded","statement":"Do not modify Visual Witness source, config, or runtime.","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"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"The same control-plane PR reruns Gate with updated hard-safety contracts and reaches green on the exact refreshed head before merge.","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":"Control-plane-maintenance-continuation:-update-the-stale-hard-safety-contracts-that-still-encode-the","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":"0195b29534602b426df67b41952e1f2ed6313c76920e5300b7b5c012c1e8d447","requestContractRevision":3,"previousRequestContractHash":"6eba5f349db48091754fb5c05f4e109872deaafa160e1f0983d096362317d0e7"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T13:27:29.91695+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:bdb936b2-e84f-409b-98ae-f50b6415629c:request-contract:0195b29534602b426df67b41952e1f2ed6313c76920e5300b7b5c012c1e8d447","mission_step_id":"dd2537a7-d502-4b60-8d2a-ad943e48569d","command_center_event_id":"bdb936b2-e84f-409b-98ae-f50b6415629c"},{"id":"9f531bd3-3070-411a-9b41-d534003c15c8","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_authorization_required","fingerprint":"fa086af1a9e4c2d0046c305ecf69d8d8f0be3b2021febd08e38434746176644e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T00:23:35.854249+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:af46c0ea-2bb9-438a-a769-9680a672882d:repository-mutation-intent-blocked:fa086af1a9e4c2d0046c305ecf69d8d8f0be3b2021febd08e38434746176644e","mission_step_id":"a7923046-7f86-4943-a4c4-1446ffcdf7d3","command_center_event_id":"af46c0ea-2bb9-438a-a769-9680a672882d"},{"id":"9f54dc3e-ae62-4bf6-b561-582f1b8a5e67","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"implementation\"],\"pendingIds\":[\"preflight\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-04T00:28:27.062291+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/register-late-visible-editor-layers-r202608040018\",\"prNumber\":3925,\"sourceSha\":\"67d7e7c1fe56d86b4168482a3a4eae09d7cfee2f\",\"deploymentId\":\"canonical-release-67d7e7c1fe56\"}"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T21:59:27.184735+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:49e6beda-4418-44aa-b781-0fe7ec17a189:owner-progress-heartbeat:119329437","mission_step_id":"031dd289-1b2e-4b37-8a20-ba3ad7f6ab94","command_center_event_id":"49e6beda-4418-44aa-b781-0fe7ec17a189"},{"id":"9f55dc48-f980-4461-aeaf-524c53edb9b1","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":"375b6e196ffd6df3dd2eb6273085695d7f20d2a7","issuedAt":1791000654593,"expiresAt":1791000834593,"missionId":"e7589b23-963e-4706-8c5f-3100e2766eeb","authorizationId":"d573ae70-d515-459d-992d-642b2f21df94","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:10:54.884164+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"375b6e196ffd6df3dd2eb6273085695d7f20d2a7","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:d573ae70-d515-459d-992d-642b2f21df94","mission_step_id":"d990b784-1351-4bb9-b235-75ec45abba64","command_center_event_id":"e7589b23-963e-4706-8c5f-3100e2766eeb"},{"id":"9f565621-ca46-4f99-ab04-34964224c7ce","source":"cc-execution","status":"blocked","payload":{"reason":"orphaned_branch_recovery_scope_mismatch:ai/modes-route-media-standard","fingerprint":"ca3ec47d175d705f4ece24ddb5847a17a59337188c8279fde9a3e305bc039f6c"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:49:53.165765+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:662b4e15-f878-4c65-a24d-5d7218ebbff4:repository-mutation-intent-blocked:ca3ec47d175d705f4ece24ddb5847a17a59337188c8279fde9a3e305bc039f6c","mission_step_id":"378ba30b-10a0-4680-ac73-1e9079854105","command_center_event_id":"662b4e15-f878-4c65-a24d-5d7218ebbff4"},{"id":"9f57767d-3894-4820-8742-9d6c644e4c7d","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-10b94cd190ad","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":122143,"releaseCount":0,"toolCallCount":19,"repeatedCallCount":8,"executorlessWaitMs":425114,"firstUsefulResultAt":"2026-10-06T02:59:44.826Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":5152,"terminal":false,"missionId":"10b94cd1-90ad-46bd-a864-548ea1c53b2a","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"9f348ceb2c0264336b39d36da97795ad7b3e20bd","timingsMs":{"prReadinessMs":61,"approvedPlanMs":0,"shipAndProveMs":243,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"10b94cd1-90ad-46bd-a864-548ea1c53b2a"},"performance":null,"deploymentId":"forgejo-main-9f348ceb2c02","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":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":1721,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T03:06:55.135277+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"5152","receipt_type":"automatic_mission_resume","idempotency_key":"mission:10b94cd1-90ad-46bd-a864-548ea1c53b2a:automatic-mission-resume:5152:canonical_release_reconciliation_pending","mission_step_id":"e37b63c9-27fb-435e-a02c-b86a28ab16ea","command_center_event_id":"10b94cd1-90ad-46bd-a864-548ea1c53b2a"},{"id":"9f57fced-c271-4ab8-8350-b8443c1e820d","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":"70f9220b843127b6bd36377cb97b8fa0a48a9fde","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":"70f9220b843127b6bd36377cb97b8fa0a48a9fde","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["irslogiqs-sync","upsert-tenant-provider-secret"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"11c2fb8948b49e472ba22714ea9c493baf658e08839fd5abea30f88857354002","forgejoWorkflowProof":{"runId":14418,"source":"signed_push_receipt","status":"waiting","results":{},"conclusion":"waiting","targetStates":{"frontend":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:53:54.949138+00:00","proof_gate":"canonical_release_pending","source_sha":"70f9220b843127b6bd36377cb97b8fa0a48a9fde","external_id":"forgejo-main-70f9220b8431","receipt_type":"canonical_release_status","idempotency_key":"mission:4b4b5a5f-d8c0-408e-ba78-a66c24900b8c:forgejo-release-status:70f9220b843127b6bd36377cb97b8fa0a48a9fde:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"6deb27f4-9356-4736-8717-672678cd1e3f","command_center_event_id":"4b4b5a5f-d8c0-408e-ba78-a66c24900b8c"},{"id":"9f5818e0-be77-411c-ae2e-a09735569b30","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"scripts/resolve-autonomous-change-plan.mjs","content":"import fs from 'node:fs';\nimport path from 'node:path';\nimport { execFileSync } from 'node:child_process';\nimport { releaseTargetsFromChangedPaths } from './release-target-ownership.mjs';\n\nconst DEFAULT_REPOSITORY = 'noel/KnockLaunchOS';\nconst SENSITIVE_PATH = /(^|\\/)(\\.env[^/]*|secrets?|private|\\.cloudflare|\\.wrangler|\\.lovable)(\\/|$)|\\.(pem|key|p12|pfx|asc|gpg)$|credential|private[-_]key|service[-_]account/i;\n\nconst normalize = (value) => String(value || '').replaceAll('\\\\', '/').replace(/^\\.\\//, '').trim();\nconst EXTERNAL_EDGE_RELEASE_SLUGS = new Set(['cc-execution']);\n\nfunction loadPhysicalDeployableEdgeFunctions(repositoryRoot) {\n  const registryPath = path.join(repositoryRoot, 'supabase/functions/_shared/edgeFunctionRegistry.ts');\n  const source = fs.readFileSync(registryPath, 'utf8');\n  const physical = new Map();\n  for (const match of source.matchAll(/entry\\(\\{([\\s\\S]*?)\\}\\)/g)) {\n    const block = match[1];\n    if (!/deployableByCommandCenter:\\s*true/.test(block)) continue;\n    const sourcePath = block.match(/path:\\s*\"([^\"]+)\"/)?.[1];\n    const physicalSlug = sourcePath?.match(/^supabase\\/functions\\/([^/]+)\\/index\\.ts$/)?.[1];\n    if (!physicalSlug || EXTERNAL_EDGE_RELEASE_SLUGS.has(physicalSlug)) continue;\n    physical.set(physicalSlug, { slug: physicalSlug, sourcePath });\n  }\n  return [...physical.values()].sort((a, b) => a.slug.localeCompare(b.slug));\n}\n\nconst SOURCE_EXTENSION_RE = /\\.(?:[cm]?[jt]sx?)$/;\nconst SHARED_IMPORT_RE = /_shared\\/([a-zA-Z0-9_./-]+)/g;\n\nfunction sharedModuleKey(file) {\n  return normalize(file)\n    .replace(/^supabase\\/functions\\/_shared\\//, '')\n    .replace(SOURCE_EXTENSION_RE, '');\n}\n\nfunction resolveSharedSourceFile(repositoryRoot, moduleKey) {\n  const root = path.join(repositoryRoot, 'supabase/functions/_shared');\n  const candidates = [\n    moduleKey,\n    `${moduleKey}.ts`,\n    `${moduleKey}.tsx`,\n    `${moduleKey}.js`,\n    `${moduleKey}.mjs`,\n    `${moduleKey}.cjs`,\n    path.join(moduleKey, 'index.ts'),\n    path.join(moduleKey, 'index.tsx'),\n    path.join(moduleKey, 'index.js'),\n  ];\n  for (const candidate of candidates) {\n    const absolute = path.join(root, candidate);\n    if (fs.existsSync(absolute) && fs.statSync(absolute).isFile()) return absolute;\n  }\n  return null;\n}\n\nfunction sourceReferencesChangedShared(repositoryRoot, sourceFile, changedModules, visited = new Set()) {\n  if (visited.has(sourceFile)) return false;\n  visited.add(sourceFile);\n\n  const source = fs.readFileSync(sourceFile, 'utf8');\n  for (const moduleKey of changedModules) {\n    if (source.includes(`_shared/${moduleKey}`)) return true;\n  }\n\n  for (const match of source.matchAll(SHARED_IMPORT_RE)) {\n    const importedModule = match[1].replace(SOURCE_EXTENSION_RE, '');\n    const sharedSource = resolveSharedSourceFile(repositoryRoot, importedModule);\n    if (sharedSource && sourceReferencesChangedShared(repositoryRoot, sharedSource, changedModules, visited)) {\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction functionReferencesChangedShared(repositoryRoot, slug, changedModules) {\n  const root = path.join(repositoryRoot, 'supabase/functions', slug);\n  if (!fs.existsSync(root)) return false;\n  const pending = [root];\n  while (pending.length) {\n    const current = pending.pop();\n    for (const entry of fs.readdirSync(current, { withFileTypes: true })) {\n      const absolute = path.join(current, entry.name);\n      if (entry.isDirectory()) {\n        pending.push(absolute);\n        continue;\n      }\n      if (!SOURCE_EXTENSION_RE.test(entry.name)) continue;\n      if (sourceReferencesChangedShared(repositoryRoot, absolute, changedModules)) return true;\n    }\n  }\n  return false;\n}\n\nfunction resolveSharedEdgeFunctionConsumers(repositoryRoot, changedSharedFiles) {\n  const changedModules = changedSharedFiles.map(sharedModuleKey).filter(Boolean);\n  if (!changedModules.length) return [];\n  return loadPhysicalDeployableEdgeFunctions(repositoryRoot)\n    .filter(({ slug }) => functionReferencesChangedShared(repositoryRoot, slug, changedModules))\n    .map(({ slug }) => slug);\n}\n\nexport function resolveChangedFunctionConfigSlugs(beforeSource, afterSource) {\n  const parse = (source) => {\n    const sections = new Map();\n    let slug = null;\n    let body = [];\n    const flush = () => {\n      if (slug) sections.set(slug, body.join('\\n').trim());\n      slug = null;\n      body = [];\n    };\n    for (const line of String(source || '').split(/\\r?\\n/)) {\n      const match = line.match(/^\\s*\\[functions\\.([a-z0-9][a-z0-9-]{1,63})\\]\\s*$/);\n      if (match) {\n        flush();\n        slug = match[1];\n        continue;\n      }\n      if (slug && /^\\s*\\[/.test(line)) flush();\n      if (slug) body.push(line.trim());\n    }\n    flush();\n    return sections;\n  };\n  const before = parse(beforeSource);\n  const after = parse(afterSource);\n  return [...new Set([...before.keys(), ...after.keys()])]\n    .filter((slug) => before.get(slug) !== after.get(slug))\n    .sort();\n}\n\nfunction resolveConfigFunctionChanges(repositoryRoot, baseSha) {\n  if (!baseSha) return [];\n  const before = execFileSync('git', ['show', `${baseSha}:supabase/config.toml`], {\n    cwd: repositoryRoot,\n    encoding: 'utf8',\n  });\n  const after = fs.readFileSync(path.join(repositoryRoot, 'supabase/config.toml'), 'utf8');\n  return resolveChangedFunctionConfigSlugs(before, after);\n}\n\nfunction readFilesFromArgs(argv) {\n  const files = [];\n  const fromIndex = argv.indexOf('--files-from');\n  if (fromIndex >= 0) {\n    const source = argv[fromIndex + 1];\n    if (!source) throw new Error('--files-from requires a path');\n    files.push(...fs.readFileSync(source, 'utf8').split(/\\r?\\n/));\n  }\n  const jsonIndex = argv.indexOf('--files-json');\n  if (jsonIndex >= 0) {\n    const raw = argv[jsonIndex + 1];\n    if (!raw) throw new Error('--files-json requires a JSON array');\n    const parsed = JSON.parse(raw);\n    if (!Array.isArray(parsed)) throw new Error('--files-json must be a JSON array');\n    files.push(...parsed);\n  }\n  return [...new Set(files.map(normalize).filter(Boolean))].sort();\n}\n\nexport function resolveChangePlan(files, options = {}) {\n  const repositoryRoot = options.repositoryRoot || process.cwd();\n  const normalized = [...new Set(files.map(normalize).filter(Boolean))].sort();\n  const directEdgeFunctionCandidates = normalized\n    .map((file) => file.match(/^supabase\\/functions\\/([^/]+)\\//)?.[1])\n    .filter((slug) => slug && slug !== '_shared' && !EXTERNAL_EDGE_RELEASE_SLUGS.has(slug));\n  const changedSharedRuntimeFiles = normalized.filter((file) =>\n    file.startsWith('supabase/functions/_shared/')\n      && file !== 'supabase/functions/_shared/edgeFunctionRegistry.ts'\n  );\n  const sharedConsumers = changedSharedRuntimeFiles.length\n    ? resolveSharedEdgeFunctionConsumers(repositoryRoot, changedSharedRuntimeFiles)\n    : [];\n  const configChanged = normalized.includes('supabase/config.toml');\n  const configChangedSlugs = configChanged\n    ? (options.configFunctionSlugs ?? resolveConfigFunctionChanges(repositoryRoot, options.baseSha))\n    : [];\n  const deployablePhysicalSlugs = new Set(loadPhysicalDeployableEdgeFunctions(repositoryRoot).map(({ slug }) => slug));\n  const directEdgeFunctionSlugs = directEdgeFunctionCandidates.filter((slug) => deployablePhysicalSlugs.has(slug));\n  const unresolvedDirectEdgeFunctionSlugs = directEdgeFunctionCandidates.filter((slug) => !deployablePhysicalSlugs.has(slug));\n  const configEdgeFunctionSlugs = configChangedSlugs.filter((slug) => deployablePhysicalSlugs.has(slug));\n  const unresolvedEdgeConfigSlugs = configChangedSlugs.filter((slug) => !deployablePhysicalSlugs.has(slug));\n  const edgeFunctionSlugs = [...new Set([...directEdgeFunctionSlugs, ...sharedConsumers, ...configEdgeFunctionSlugs])].sort();\n  const has = (test) => normalized.some((file) => test(file));\n  const platformReleaseTargets = releaseTargetsFromChangedPaths(normalized);\n\n  const sensitivePaths = normalized.filter((file) => SENSITIVE_PATH.test(file));\n  const workflowChanged = has((file) => file.startsWith('.forgejo/workflows/'));\n  const conductorContractChanged = has((file) => [\n    'scripts/release-target-ownership.mjs',\n    'scripts/protected-main-release-recovery.mjs',\n    'scripts/resolve-production-workflow-run.mjs',\n    'scripts/resolve-autonomous-change-plan.mjs',\n    '.forgejo/workflows/knocklaunch.yml',\n  ].includes(file));\n  const commandCenterContractChanged = has((file) =>\n    file.startsWith('workers/cc-execution/') ||\n    file.startsWith('supabase/functions/cc-tools/') ||\n    ['scripts/validate-command-center-contracts.mjs', 'scripts/resolve-autonomous-change-plan.mjs'].includes(file)\n  );\n\n  const release = {\n    cc_execution: platformReleaseTargets.ccExecution,\n    onrunner: false,\n    frontend: platformReleaseTargets.frontend,\n    cc_read_proxy: false,\n    edge_functions: edgeFunctionSlugs.length > 0,\n    edge_function_slugs: edgeFunctionSlugs,\n    migrations: platformReleaseTargets.migrations,\n  };\n  release.runtime = release.cc_execution;\n  release.conductor_owned = release.cc_execution\n    || release.edge_functions\n    || release.migrations;\n\n  const repairs = {\n    refresh_lockfile: normalized.includes('package.json') && !normalized.includes('package-lock.json'),\n  };\n\n  const requiredChecks = ['Canonical Pull Request Gate'];\n\n  return {\n    schemaVersion: 1,\n    repository: options.repository || DEFAULT_REPOSITORY,\n    planVersion: 1,\n    files: normalized,\n    classifications: {\n      documentation_only: normalized.length > 0 && normalized.every((file) => file.startsWith('docs/') || file.endsWith('.md')),\n      workflow_changed: workflowChanged,\n      conductor_contract_changed: conductorContractChanged,\n      command_center_contract_changed: commandCenterContractChanged,\n      database_migration: release.migrations,\n      edge_config_changed: configChanged,\n      unresolved_edge_function_slugs: [...new Set(unresolvedDirectEdgeFunctionSlugs)].sort(),\n      unresolved_edge_config_slugs: unresolvedEdgeConfigSlugs,\n      sensitive_paths: sensitivePaths,\n    },\n    release,\n    repairs,\n    requiredChecks,\n    safeToAutomate: sensitivePaths.length === 0 && unresolvedDirectEdgeFunctionSlugs.length === 0 && unresolvedEdgeConfigSlugs.length === 0,\n  };\n}\n\nfunction writeGitHubOutput(file, plan) {\n  const entries = {\n    plan_json: JSON.stringify(plan),\n    changed: plan.files.join('\\n'),\n    runtime: String(plan.release.runtime),\n    cc_execution: String(plan.release.cc_execution),\n    onrunner: String(plan.release.onrunner),\n    frontend: String(plan.release.frontend),\n    cc_read_proxy: String(plan.release.cc_read_proxy),\n    edge_functions: String(plan.release.edge_functions),\n    edge_function_slugs: JSON.stringify(plan.release.edge_function_slugs),\n    migrations: String(plan.release.migrations),\n    conductor_owned: String(plan.release.conductor_owned),\n    refresh_lockfile: String(plan.repairs.refresh_lockfile),\n    safe_to_automate: String(plan.safeToAutomate),\n  };\n  const lines = [];\n  for (const [key, value] of Object.entries(entries)) {\n    const marker = `KNOCKLAUNCH_${key}_${Date.now()}`;\n    lines.push(`${key}<<${marker}`, value, marker);\n  }\n  fs.appendFileSync(file, `${lines.join('\\n')}\\n`);\n}\n\nif (import.meta.url === `file://${process.argv[1]}`) {\n  const files = readFilesFromArgs(process.argv.slice(2));\n  const baseShaIndex = process.argv.indexOf('--base-sha');\n  const baseSha = baseShaIndex >= 0 ? process.argv[baseShaIndex + 1] : undefined;\n  const plan = resolveChangePlan(files, { baseSha });\n  const outputIndex = process.argv.indexOf('--github-output');\n  if (outputIndex >= 0) {\n    const destination = process.argv[outputIndex + 1];\n    if (!destination) throw new Error('--github-output requires a path');\n    writeGitHubOutput(destination, plan);\n  }\n  process.stdout.write(`${JSON.stringify(plan, null, 2)}\\n`);\n  if (!plan.safeToAutomate) process.exitCode = 2;\n}\n"},{"path":"scripts/__tests__/resolve-autonomous-change-plan.test.mjs","content":"import './resolve-production-workflow-run.test.mjs';\nimport './resolve-production-drift-plan.test.mjs';\nimport test from 'node:test';\nimport assert from 'node:assert/strict';\nimport { resolveChangePlan, resolveChangedFunctionConfigSlugs } from '../resolve-autonomous-change-plan.mjs';\n\nconst expectCanonicalGate = (plan) => {\n  assert.deepEqual(plan.requiredChecks, ['Canonical Pull Request Gate']);\n};\n\ntest('frontend-only changes classify provider-native frontend without waking the conductor', () => {\n  const plan = resolveChangePlan(['src/App.tsx']);\n  assert.equal(plan.release.frontend, true);\n  assert.equal(plan.release.cc_execution, false);\n  assert.equal(plan.release.onrunner, false);\n  assert.equal(plan.release.edge_functions, false);\n  assert.equal(plan.release.migrations, false);\n  assert.equal(plan.release.conductor_owned, false);\n  assert.equal(plan.safeToAutomate, true);\n  expectCanonicalGate(plan);\n});\n\ntest('test-only frontend files do not trigger a production frontend release', () => {\n  const plan = resolveChangePlan([\n    'src/__tests__/contracts/cc-execution-deploy-proof.test.ts',\n    'src/components/example/Thing.spec.tsx',\n  ]);\n  assert.equal(plan.release.frontend, false);\n  assert.equal(plan.release.conductor_owned, false);\n  expectCanonicalGate(plan);\n});\n\ntest('mixed frontend runtime and tests still trigger the frontend release', () => {\n  const plan = resolveChangePlan([\n    'src/App.tsx',\n    'src/__tests__/contracts/app.contract.test.ts',\n  ]);\n  assert.equal(plan.release.frontend, true);\n  expectCanonicalGate(plan);\n});\n\ntest('Universal Witness source is owned by the cc-execution release lane', () => {\n  const plan = resolveChangePlan(['scripts/visual-witness-hosted-runner/src/universal-witness.mjs']);\n  assert.equal(plan.release.cc_execution, true);\n  assert.equal(plan.release.onrunner, false);\n  assert.equal(plan.release.runtime, true);\n  assert.equal(plan.release.frontend, false);\n  expectCanonicalGate(plan);\n});\n\ntest('workflow changes remain classified without inventing another PR gate', () => {\n  const plan = resolveChangePlan(['.forgejo/workflows/knocklaunch.yml']);\n  assert.equal(plan.classifications.workflow_changed, true);\n  assert.equal('regenerate_control_plane_projections' in plan.repairs, false);\n  expectCanonicalGate(plan);\n});\n\ntest('deploy-workflow edits do not impersonate runtime source changes', () => {\n  const plan = resolveChangePlan(['.forgejo/workflows/knocklaunch.yml']);\n  assert.equal(plan.classifications.workflow_changed, true);\n  assert.equal(plan.release.cc_execution, false);\n  assert.equal(plan.release.runtime, false);\n  assert.equal(plan.release.conductor_owned, false);\n  expectCanonicalGate(plan);\n});\n\ntest('release-planner contract edits remain validation-only', () => {\n  const plan = resolveChangePlan(['scripts/resolve-autonomous-change-plan.mjs']);\n  assert.equal(plan.classifications.conductor_contract_changed, true);\n  assert.equal(plan.release.runtime, false);\n  assert.equal(plan.release.edge_functions, false);\n  assert.equal(plan.release.conductor_owned, false);\n  expectCanonicalGate(plan);\n});\n\ntest('migration changes are classified for conductor-routed migration release', () => {\n  const plan = resolveChangePlan(['supabase/migrations/20260729000000_example.sql']);\n  assert.equal(plan.release.migrations, true);\n  assert.equal(plan.release.edge_functions, false);\n  assert.equal(plan.release.conductor_owned, true);\n  assert.equal(plan.classifications.database_migration, true);\n  expectCanonicalGate(plan);\n});\n\ntest('retired read-proxy source no longer owns a production release target', () => {\n  const plan = resolveChangePlan(['workers/cc-read-proxy/src/worker.ts']);\n  assert.equal(plan.release.cc_read_proxy, false);\n  assert.equal(plan.release.frontend, false);\n  assert.equal(plan.release.conductor_owned, false);\n  expectCanonicalGate(plan);\n});\n\ntest('package metadata drift requests a lockfile refresh', () => {\n  const plan = resolveChangePlan(['package.json']);\n  assert.equal(plan.repairs.refresh_lockfile, true);\n  assert.equal(plan.release.frontend, true);\n  expectCanonicalGate(plan);\n});\n\ntest('changed Edge Function source resolves exact deployable slugs', () => {\n  const plan = resolveChangePlan(['supabase/functions/lawn-care-service-request/index.ts']);\n  assert.equal(plan.release.edge_functions, true);\n  assert.equal(plan.release.conductor_owned, true);\n  assert.deepEqual(plan.release.edge_function_slugs, ['lawn-care-service-request']);\n  assert.deepEqual(plan.classifications.unresolved_edge_function_slugs, []);\n  assert.equal(plan.safeToAutomate, true);\n  expectCanonicalGate(plan);\n});\n\ntest('unregistered Edge Function source changes fail closed before merge', () => {\n  const plan = resolveChangePlan(['supabase/functions/definitely-not-registered/index.ts']);\n  assert.equal(plan.release.edge_functions, false);\n  assert.deepEqual(plan.classifications.unresolved_edge_function_slugs, ['definitely-not-registered']);\n  assert.equal(plan.safeToAutomate, false);\n  expectCanonicalGate(plan);\n});\n\ntest('registry metadata changes do not redeploy unrelated shared consumers', () => {\n  const plan = resolveChangePlan(['supabase/functions/_shared/edgeFunctionRegistry.ts']);\n  assert.equal(plan.release.edge_functions, false);\n  assert.equal(plan.release.conductor_owned, false);\n  assert.deepEqual(plan.release.edge_function_slugs, []);\n  expectCanonicalGate(plan);\n});\n\ntest('unreferenced shared Edge runtime changes do not wake deployment lanes', () => {\n  const plan = resolveChangePlan(['supabase/functions/_shared/tenantAuth.ts']);\n  assert.equal(plan.release.edge_functions, false);\n  assert.equal(plan.release.conductor_owned, false);\n  assert.deepEqual(plan.release.edge_function_slugs, []);\n  expectCanonicalGate(plan);\n});\n\ntest('tenant validation changes release only the exact registered consumer', () => {\n  const plan = resolveChangePlan(['supabase/functions/_shared/tenantValidation.ts']);\n  assert.equal(plan.release.edge_functions, true);\n  assert.equal(plan.release.conductor_owned, true);\n  assert.deepEqual(plan.release.edge_function_slugs, ['canvassing-visits']);\n  assert.equal(plan.release.edge_function_slugs.includes('fire-pending-voicemail-drops'), false);\n  assert.equal(plan.release.edge_function_slugs.includes('ops-sentinel'), false);\n  assert.equal(plan.release.edge_function_slugs.includes('ops-sentinel-rollup'), false);\n  assert.equal(plan.release.edge_function_slugs.includes('permit-intelligence'), false);\n  assert.equal(plan.release.edge_function_slugs.includes('score-recalculate'), false);\n  expectCanonicalGate(plan);\n});\n\ntest('Supabase config comparison resolves only changed function sections', () => {\n  const before = '[functions]\\n  [functions.cc-tools]\\n    verify_jwt = false\\n  [functions.cc-agent]\\n    verify_jwt = false\\n';\n  const after = '[functions]\\n  [functions.cc-tools]\\n    verify_jwt = true\\n  [functions.cc-agent]\\n    verify_jwt = false\\n';\n  assert.deepEqual(resolveChangedFunctionConfigSlugs(before, after), ['cc-tools']);\n});\n\ntest('registered Supabase function config changes produce exact Edge releases', () => {\n  const plan = resolveChangePlan(['supabase/config.toml'], { configFunctionSlugs: ['cc-tools'] });\n  assert.deepEqual(plan.release.edge_function_slugs, ['cc-tools']);\n  assert.equal(plan.release.edge_functions, true);\n  assert.equal(plan.release.conductor_owned, true);\n  assert.equal(plan.safeToAutomate, true);\n  expectCanonicalGate(plan);\n});\n\ntest('unregistered Supabase function config changes fail closed', () => {\n  const plan = resolveChangePlan(['supabase/config.toml'], { configFunctionSlugs: ['not-registered'] });\n  assert.deepEqual(plan.classifications.unresolved_edge_config_slugs, ['not-registered']);\n  assert.equal(plan.safeToAutomate, false);\n  expectCanonicalGate(plan);\n});\n\ntest('documentation-only changes still have one canonical PR owner', () => {\n  const plan = resolveChangePlan(['docs/README.md']);\n  assert.equal(plan.classifications.documentation_only, true);\n  expectCanonicalGate(plan);\n});\n\ntest('sensitive paths fail closed before automation', () => {\n  const plan = resolveChangePlan(['.env.production']);\n  assert.equal(plan.safeToAutomate, false);\n  assert.deepEqual(plan.classifications.sensitive_paths, ['.env.production']);\n  expectCanonicalGate(plan);\n});\n"},{"path":"scripts/validate-production-release-identities.mjs","delete":true}],"branch":"ai/objective-first-repair-3dd1b3ac1eeb","writes":[],"patches":[],"prTitle":"Modernize release planner ownership","version":1,"approved":true,"missionId":"3dd1b3ac-1eeb-4f8e-a9a0-d1fb2acc50dd","objective":"Migrate the legacy autonomous change planner to the current Forgejo-native release target owner and retire the obsolete manifest-based production identity validator.","sourceSha":"e46aed38e1aeac8d10812c1010f6d2f2581d5a01","repository":"noel/KnockLaunchOS","autoProgress":true,"commitMessage":"cleanup: modernize release planner ownership","ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/resolve-autonomous-change-plan.mjs","scripts/__tests__/resolve-autonomous-change-plan.test.mjs","scripts/validate-production-release-identities.mjs"],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"evidence":["Current canonical release classification is scripts/release-target-ownership.mjs; the legacy planner still read production-release-targets.json and old GitHub/OnRunner/cc-read-proxy ownership."],"rawUtterance":"get rid of the crusty shit. lovable, github referneces, old ways of doing things, old control plane ancient info etc. clean up the repo from old stuff too. ERRYTHANG","wordingChanged":true,"canonicalIntent":"Migrate the legacy autonomous change planner to the current Forgejo-native release target owner and retire the obsolete manifest-based production identity validator.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"planner-current","statement":"resolve-autonomous-change-plan uses release-target-ownership.mjs, no longer references the retired GitHub repository/workflows/manifest, and classifies witness source as cc-execution with onrunner false.","proofConditionIds":["runtime"]},{"id":"validator-retired","statement":"The obsolete manifest-based validate-production-release-identities.mjs is removed.","proofConditionIds":["runtime"]},{"id":"tests-current","statement":"Planner tests assert the current Forgejo/cc-execution release model and no longer import obsolete release identity/status tests.","proofConditionIds":["runtime"]}],"objective":"Migrate the legacy autonomous change planner to the current Forgejo-native release target owner and retire the obsolete manifest-based production identity validator.","constraints":[{"id":"preserve-forgejo-compatibility","statement":"Keep output field compatibility where harmless, including onrunner/cc_read_proxy fields fixed false, until remaining consumers are migrated.","proofConditionIds":["runtime"]},{"id":"no-witness","statement":"No Visual Witness is required.","proofConditionIds":["runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime","kind":"runtime","claim":"The planner cleanup is merged on protected main, Gate passes, and current Prime machinery remains healthy.","required":true,"requireCapacityAdmissible":true,"minConsecutiveHealthyHeartbeats":1}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/resolve-autonomous-change-plan.mjs","scripts/__tests__/resolve-autonomous-change-plan.test.mjs","scripts/validate-production-release-identities.mjs"],"requestContract":{"intent":{"evidence":["Current canonical release classification is scripts/release-target-ownership.mjs; the legacy planner still read production-release-targets.json and old GitHub/OnRunner/cc-read-proxy ownership."],"rawUtterance":"get rid of the crusty shit. lovable, github referneces, old ways of doing things, old control plane ancient info etc. clean up the repo from old stuff too. ERRYTHANG","wordingChanged":true,"canonicalIntent":"Migrate the legacy autonomous change planner to the current Forgejo-native release target owner and retire the obsolete manifest-based production identity validator.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"planner-current","statement":"resolve-autonomous-change-plan uses release-target-ownership.mjs, no longer references the retired GitHub repository/workflows/manifest, and classifies witness source as cc-execution with onrunner false.","proofConditionIds":["runtime"]},{"id":"validator-retired","statement":"The obsolete manifest-based validate-production-release-identities.mjs is removed.","proofConditionIds":["runtime"]},{"id":"tests-current","statement":"Planner tests assert the current Forgejo/cc-execution release model and no longer import obsolete release identity/status tests.","proofConditionIds":["runtime"]}],"objective":"Migrate the legacy autonomous change planner to the current Forgejo-native release target owner and retire the obsolete manifest-based production identity validator.","constraints":[{"id":"preserve-forgejo-compatibility","statement":"Keep output field compatibility where harmless, including onrunner/cc_read_proxy fields fixed false, until remaining consumers are migrated.","proofConditionIds":["runtime"]},{"id":"no-witness","statement":"No Visual Witness is required.","proofConditionIds":["runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime","kind":"runtime","claim":"The planner cleanup is merged on protected main, Gate passes, and current Prime machinery remains healthy.","required":true,"requireCapacityAdmissible":true,"minConsecutiveHealthyHeartbeats":1}]},"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":"3f169d05e2d93cc90f21cd73f2cb19ef9a9521c162ad41a5c75a6d028c1084ab","replayCount":0,"serializedBytes":26961},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T18:51:51.890763+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:3dd1b3ac-1eeb-4f8e-a9a0-d1fb2acc50dd:repository-mutation-intent:3f169d05e2d93cc90f21cd73f2cb19ef9a9521c162ad41a5c75a6d028c1084ab:0","mission_step_id":"95bb7c9a-ef49-4950-bcc4-783981272a43","command_center_event_id":"3dd1b3ac-1eeb-4f8e-a9a0-d1fb2acc50dd"},{"id":"9f5fd9c5-04e2-4f67-80e3-cf819bffea48","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-68755858af6c","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":18297,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":165962,"firstUsefulResultAt":"2026-09-28T13:13:49.119Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.301-premium-visual-system","prNumber":3989,"terminal":false,"missionId":"68755858-af6c-43d2-a352-acdd00f4204d","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3901,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":570,"missionSetupMs":267,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":267,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":267,"repositoryMutationMs":3331,"repositoryProviderMs":3331,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2133,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":267,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1198},"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":"68755858-af6c-43d2-a352-acdd00f4204d"},"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":3420,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:16:39.756278+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3989","receipt_type":"execute_mission","idempotency_key":"mission:68755858-af6c-43d2-a352-acdd00f4204d:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"8179d412-bfdc-4bd4-8a47-f0121d7e5eae","command_center_event_id":"68755858-af6c-43d2-a352-acdd00f4204d"},{"id":"9f60763c-6a5e-4770-a6c3-1d42bf144f9c","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"pending","supabase-migrations/live":"success"},"mainSha":"4221cb0460219e71e754d7eb98d20fb37d974dcc","missing":[],"pending":["frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"33a4b253cd4159062471fc8ba666a0284320fd4a","releaseState":"failed","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","migrations":"success"},"requestContractHash":"527e0f4037fc5acef6a2fb76764a6bd8cec862dd1b638b7ee64ee1081a665d03","forgejoWorkflowProof":{"runId":11762,"source":"signed_push_receipt","status":"cancelled","results":{},"conclusion":"cancelled","fingerprint":"cancelled||","failureClass":"release_cancelled_transient","targetStates":{"frontend":"pending","migrations":"success"},"safeAutoRetry":true,"targetJobCount":7,"observedTargetStates":{"frontend":"pending","migrations":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T13:03:47.02963+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"33a4b253cd4159062471fc8ba666a0284320fd4a","external_id":"forgejo-main-33a4b253cd41","receipt_type":"canonical_release_status","idempotency_key":"mission:57e68511-4448-4401-8262-7e3bd2248d78:forgejo-release-status:33a4b253cd4159062471fc8ba666a0284320fd4a:failed:forgejo-main/source=success|forgejo-release/workflow=failure|frontend-cloudflare/live=pending|supabase-migrations/live=success","mission_step_id":"54a5f030-86c4-4ada-95a7-86349e02f18b","command_center_event_id":"57e68511-4448-4401-8262-7e3bd2248d78"},{"id":"9f620aaf-a789-4831-8e6d-3eb4e7720a2b","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-27T05:20:00.405Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T05:20:00.652371+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:4700f8d8-104c-4a02-93af-70c06242b7b0:owner-wait-live","mission_step_id":"c8f4f128-68ac-4af2-91d6-f515cf08bb22","command_center_event_id":"4700f8d8-104c-4a02-93af-70c06242b7b0"},{"id":"9f634eea-a356-4319-b9ad-c52b31edb132","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":"9ca5e024fe5ff55413b0c92da2cd6b220c7c4984","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":"9ca5e024fe5ff55413b0c92da2cd6b220c7c4984","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-google-drive-media"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"61b9cf7ea67237a299a91c719c759fdaac18e9172775614b88de30294ecde770","forgejoWorkflowProof":{"runId":13579,"source":"signed_push_receipt","status":"waiting","results":{},"conclusion":"waiting","targetStates":{"frontend":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T02:13:42.717922+00:00","proof_gate":"canonical_release_pending","source_sha":"9ca5e024fe5ff55413b0c92da2cd6b220c7c4984","external_id":"forgejo-main-9ca5e024fe5f","receipt_type":"canonical_release_status","idempotency_key":"mission:6c55ed71-1994-4ccc-bb65-da22cb2bdd6e:forgejo-release-status:9ca5e024fe5ff55413b0c92da2cd6b220c7c4984:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"7e557913-108e-4727-9344-903f05abad8c","command_center_event_id":"6c55ed71-1994-4ccc-bb65-da22cb2bdd6e"},{"id":"9f645a7a-6c4c-44a6-85fa-446b65b6b439","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"0fd2a2ae03016a841fe885954e0e4ab57ce9d02f","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"0fd2a2ae03016a841fe885954e0e4ab57ce9d02f","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["system-backup"]},"releaseTargetStates":{"supabaseEdge":"success"},"requestContractHash":"07d080c7df100edc1fab415b75bd79dff91a2d6a70b697384a7e4a4093adc510","forgejoWorkflowProof":{"runId":16242,"source":"signed_push_receipt","status":"blocked","results":{},"conclusion":"blocked","targetStates":{"supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T04:24:45.119983+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"0fd2a2ae03016a841fe885954e0e4ab57ce9d02f","external_id":"forgejo-main-0fd2a2ae0301","receipt_type":"canonical_release_status","idempotency_key":"mission:8296e610-c41a-43dd-b222-f792135b41dc:forgejo-release-status:0fd2a2ae03016a841fe885954e0e4ab57ce9d02f:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"831dc07e-a16f-4610-a2ac-7654ca539c23","command_center_event_id":"8296e610-c41a-43dd-b222-f792135b41dc"},{"id":"9f661b38-b0e6-4c65-8f50-9a81f73335be","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-03b5a1f3b5be","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":97423,"releaseCount":0,"toolCallCount":59,"repeatedCallCount":54,"executorlessWaitMs":206916,"firstUsefulResultAt":"2026-10-06T01:25:24.123Z","recoveryAttemptCount":56,"ownerInterruptionCount":0},"version":null,"prNumber":5124,"terminal":false,"missionId":"03b5a1f3-b5be-43e7-bf32-4110ae7cf880","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2048,"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":"03b5a1f3-b5be-43e7-bf32-4110ae7cf880"},"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-06T01:25:49.698096+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5124","receipt_type":"automatic_mission_resume","idempotency_key":"mission:03b5a1f3-b5be-43e7-bf32-4110ae7cf880:automatic-mission-resume:5124:repair_mission_pr_ready_retryable","mission_step_id":"fdbdffd3-1e8c-4aac-92be-b47d1481a95c","command_center_event_id":"03b5a1f3-b5be-43e7-bf32-4110ae7cf880"},{"id":"9f67b5d6-aa2d-491b-a2e4-0984dc6acea1","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-edge-production/live":"pending"},"mainSha":"761a706c5cb73c36df6aa7103503637a8c80dc70","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"761a706c5cb73c36df6aa7103503637a8c80dc70","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["irslogiqs-sync"]},"releaseTargetStates":{"supabaseEdge":"pending"},"requestContractHash":"c50989597a8a38a454b2de27cd6b013f6ea4fd7ee2199bf7d56c3028b3beeab8","forgejoWorkflowProof":{"runId":14672,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:44:11.926726+00:00","proof_gate":"canonical_release_pending","source_sha":"761a706c5cb73c36df6aa7103503637a8c80dc70","external_id":"forgejo-main-761a706c5cb7","receipt_type":"canonical_release_status","idempotency_key":"mission:a98e9ff9-11a2-4da2-a400-3513004f56c2:forgejo-release-status:761a706c5cb73c36df6aa7103503637a8c80dc70:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending","mission_step_id":"ff809a7f-46b8-4c66-b4c4-893a784f6904","command_center_event_id":"a98e9ff9-11a2-4da2-a400-3513004f56c2"},{"id":"9f68a718-3738-4206-b55d-805fc376ce9a","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/big-papis-customer-client-distinction-20260830","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":10672,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.3-source-scope-boundary","prNumber":1118,"terminal":false,"missionId":"9687bc05-465b-40e1-bc2c-5318a80d2305","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"f05737d753191686e7bc4345b64beb22bb5091c5","timingsMs":{"handlerMs":18825,"prReadinessMs":1846,"approvedPlanMs":6082,"missionSetupMs":416,"shipAndProveMs":10752},"nextAction":null,"receiptRef":{"mode":"full","missionId":"9687bc05-465b-40e1-bc2c-5318a80d2305"},"performance":null,"deploymentId":"forgejo-main-f05737d75319","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":8057,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-30T16:22:50.033118+00:00","proof_gate":"canonical_release_dispatched","source_sha":"f05737d753191686e7bc4345b64beb22bb5091c5","external_id":"forgejo-main-f05737d75319","receipt_type":"execute_mission","idempotency_key":"mission:9687bc05-465b-40e1-bc2c-5318a80d2305:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"b885bde0-06f2-41bf-9021-ce0cffe5c48a","command_center_event_id":"9687bc05-465b-40e1-bc2c-5318a80d2305"},{"id":"9f6b14c8-b14e-4a5d-adbf-dc59db462284","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-mtgbylrp","prNumber":1154,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"ea8a0b6a021a1c4d6cfcb45a9f35d66cb9bc3e53","branchDeletedAfterMerge":false,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T21:57:59.017676+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"ea8a0b6a021a1c4d6cfcb45a9f35d66cb9bc3e53","external_id":"1154","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:743076d7-d502-4138-b287-bb69be1ec1ea:merged-pr:1154:ea8a0b6a021a1c4d6cfcb45a9f35d66cb9bc3e53","mission_step_id":"ca1d2c37-0a4e-406d-a95b-96b86a3227cb","command_center_event_id":"743076d7-d502-4138-b287-bb69be1ec1ea"},{"id":"9f6c9f13-37a5-46ea-b963-5040f7c96e80","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0cccfbf4b9c3811fccdfc98fcce33fc391cddebb","sourceSha":"ddf9714987cabd9dccb38dcac71c5d8239a7001a","sourceInMain":false,"compareStatus":"main_history_page_inconclusive","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T18:56:26.970364+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"ddf9714987cabd9dccb38dcac71c5d8239a7001a","external_id":"canonical-release-ddf9714987ca","receipt_type":"canonical_release_status","idempotency_key":"mission:b2a67a71-d9f8-4bfd-ad85-0fbb5efd150b:forgejo-release-ancestry:ddf9714987cabd9dccb38dcac71c5d8239a7001a:0cccfbf4b9c3811fccdfc98fcce33fc391cddebb:main_history_page_inconclusive","mission_step_id":"eb4f45e4-3587-4440-98e0-865450ecae5b","command_center_event_id":"b2a67a71-d9f8-4bfd-ad85-0fbb5efd150b"},{"id":"9f6dc917-097b-442d-9cc9-050428d671ce","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/dynamic-gate-memory-20260911","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.110-dynamic-gate-capacity","prNumber":2429,"terminal":false,"missionId":"6a9d1c7c-481b-4809-ae3c-840c1f18ed5d","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"594921aea18018220cb12c3e6bda98261a14e871","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":14572,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1239,"approvedPlanMs":0,"missionSetupMs":966,"providerAuthMs":0,"shipAndProveMs":12638,"ledgerPrepareMs":376,"ledgerReconcileMs":0,"lineageReconcileMs":590,"resolvePreflightMs":966,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":376,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6a9d1c7c-481b-4809-ae3c-840c1f18ed5d"},"performance":null,"deploymentId":"forgejo-main-594921aea180","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2738,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T21:49:05.630847+00:00","proof_gate":"canonical_release_dispatched","source_sha":"594921aea18018220cb12c3e6bda98261a14e871","external_id":"forgejo-main-594921aea180","receipt_type":"execute_mission","idempotency_key":"mission:6a9d1c7c-481b-4809-ae3c-840c1f18ed5d:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"764311bd-65ba-4907-b819-04ac5757924d","command_center_event_id":"6a9d1c7c-481b-4809-ae3c-840c1f18ed5d"},{"id":"9f6f0bac-df63-4b61-ab3b-b420a3b32837","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-90e18e9a0e48","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.118-architecture-exclusivity","prNumber":2510,"terminal":false,"missionId":"90e18e9a-0e48-482f-aa0c-1f222cdda17a","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":20245,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":5263,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":263,"ledgerReconcileMs":0,"lineageReconcileMs":5000,"resolvePreflightMs":5263,"repositoryMutationMs":20245,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":263,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"90e18e9a-0e48-482f-aa0c-1f222cdda17a"},"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":1557,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T16:18:37.958236+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:90e18e9a-0e48-482f-aa0c-1f222cdda17a:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"346160e8-140f-4b7b-b7ce-2a24a39051a0","command_center_event_id":"90e18e9a-0e48-482f-aa0c-1f222cdda17a"},{"id":"9f6f4e2e-4797-4a4a-827b-64bac3a3196f","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success"},"mainSha":"e89962ba561d6e196286970b21f497b0b9b2601e","missing":[],"pending":[],"required":["forgejo-main/source"],"sourceSha":"e89962ba561d6e196286970b21f497b0b9b2601e","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"556a15b09ef44d53ac5948a49ebcd0196ffc84e9f45effdd1a4f211f307d1ab4","forgejoWorkflowProof":null,"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:36:12.889053+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"e89962ba561d6e196286970b21f497b0b9b2601e","external_id":"forgejo-main-e89962ba561d","receipt_type":"canonical_release_status","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:forgejo-release-status:e89962ba561d6e196286970b21f497b0b9b2601e:verified:forgejo-main/source=success","mission_step_id":"9f0f01f5-d496-496d-b4be-113a75f77c29","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"9f6f5058-0788-498d-9508-0690a63c3996","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-4adeff75f590","prNumber":4427,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"5789c78328f15f40979faf5a9de973830588b934","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:30:52.797609+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"5789c78328f15f40979faf5a9de973830588b934","external_id":"4427","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:4adeff75-f590-4e0b-8da0-1b5cdd2e1d17:merged-pr:4427:5789c78328f15f40979faf5a9de973830588b934","mission_step_id":"ea90e533-6688-4a7b-816d-651d6069d2b2","command_center_event_id":"4adeff75-f590-4e0b-8da0-1b5cdd2e1d17"},{"id":"9f706875-656d-4b1d-b512-76ba0fd85a1b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-59da736f65cb","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.123-modes-storage-validated-oauth","prNumber":2606,"terminal":false,"missionId":"59da736f-65cb-4f0f-925a-0e49bd89c367","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":19705,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":4722,"approvedPlanMs":0,"missionSetupMs":1369,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":290,"ledgerReconcileMs":0,"lineageReconcileMs":1079,"resolvePreflightMs":1369,"repositoryMutationMs":14205,"repositoryProviderMs":8884,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":7370,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":290,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1514},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"59da736f-65cb-4f0f-925a-0e49bd89c367"},"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":1541,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T02:22:02.019308+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2606","receipt_type":"execute_mission","idempotency_key":"mission:59da736f-65cb-4f0f-925a-0e49bd89c367:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"4a4ddd8a-ede1-43bb-972b-a643ac1682ff","command_center_event_id":"59da736f-65cb-4f0f-925a-0e49bd89c367"},{"id":"9f715be6-6f7b-479e-8ba4-5b41835b6136","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/frontend-artifact-promotion-memory-20260903","reason":"anchored_edit_anchor_not_unique:.forgejo/workflows/knocklaunch.yml","status":"blocked","metrics":{"receiptBytes":5573,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.12-three-runner-observability","prNumber":null,"terminal":false,"missionId":"7529b052-0b98-4cd0-989d-7b2bb99acbf3","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":4932,"prReadinessMs":0,"approvedPlanMs":4932,"missionSetupMs":1798,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"7529b052-0b98-4cd0-989d-7b2bb99acbf3"},"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":1046,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T00:34:56.318378+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7529b052-0b98-4cd0-989d-7b2bb99acbf3:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"ce479576-a7b9-4df7-b9ab-c69f87c4de75","command_center_event_id":"7529b052-0b98-4cd0-989d-7b2bb99acbf3"},{"id":"9f72d4c4-8be3-47d8-8141-f4fe5cafef8b","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"f9d8b5cfe1334ce810d45878e13cfcd606095af4","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"semantic-audit-live","satisfied":false,"statement":"The live cleanup worker counts only true legacy storage bucket references and no longer counts tenant-media-library Edge Function URLs.","proofConditionIds":["gate-proof","release-proof","runtime-proof"]}],"satisfied":false,"constraints":[{"id":"no-delete-before-zero","satisfied":true,"statement":"No legacy bucket is deleted before corrected live audit returns zero.","proofConditionIds":["runtime-proof"]}],"contractHash":"de8aedb69fee77966d5be77cb450d385715d885c3deb782db4673096d2131268","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"gate-proof","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"de8aedb69fee77966d5be77cb450d385715d885c3deb782db4673096d2131268","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"release-proof","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["supabaseEdge"],"releaseRequestContractHash":"de8aedb69fee77966d5be77cb450d385715d885c3deb782db4673096d2131268"},"required":true,"satisfied":true},{"id":"runtime-proof","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["supabaseEdge"],"releaseRequestContractHash":"de8aedb69fee77966d5be77cb450d385715d885c3deb782db4673096d2131268"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T23:53:11.690141+00:00","proof_gate":"request_contract_pending","source_sha":"f9d8b5cfe1334ce810d45878e13cfcd606095af4","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:56eadf4e-7f95-4186-a785-2af371f342bf:request-contract:de8aedb69fee77966d5be77cb450d385715d885c3deb782db4673096d2131268:f9d8b5cfe1334ce810d45878e13cfcd606095af4:pending:repository","mission_step_id":"cc59bd07-d2ba-4a17-a7dd-5ada23b7b193","command_center_event_id":"56eadf4e-7f95-4186-a785-2af371f342bf"},{"id":"9f7315d2-abc7-4cd3-ae14-1acc6ac85646","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-6e305bba8ec4","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":33057,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":5,"executorlessWaitMs":2810515,"firstUsefulResultAt":"2026-09-25T12:15:43.908Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":3718,"terminal":false,"missionId":"6e305bba-8ec4-4562-99e4-679473849b9a","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5442,"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":"6e305bba-8ec4-4562-99e4-679473849b9a"},"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-25T12:16:48.900436+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3718","receipt_type":"automatic_mission_resume","idempotency_key":"mission:6e305bba-8ec4-4562-99e4-679473849b9a:automatic-mission-resume:3718:repair_mission_pr_ready_retryable","mission_step_id":"d7dc5b7a-1440-4fbb-be38-9c8a02d063a7","command_center_event_id":"6e305bba-8ec4-4562-99e4-679473849b9a"},{"id":"9f7610c5-d017-4631-a9cc-ce5fea9ed69b","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\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"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\":6,\"verified\":2,\"pending\":4,\"percent\":33,\"satisfied\":false,\"verifiedIds\":[\"preflight\",\"implementation\"],\"pendingIds\":[\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-08-07T04:34:38.451878+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/experience-editor-ux-overhaul\",\"prNumber\":4169,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T13:37:31.518118+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:d4abac23-f6e0-41be-8998-71281d9dbc8f:owner-progress-heartbeat:119408070","mission_step_id":"0fe2fcfd-ebb2-4933-b871-38ade9732bed","command_center_event_id":"d4abac23-f6e0-41be-8998-71281d9dbc8f"},{"id":"9f771c04-9dae-4943-a6ad-401b8c4e7dda","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-8e5af9bedf95","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":63000,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":2,"executorlessWaitMs":114414,"firstUsefulResultAt":"2026-10-02T17:11:49.261Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4501,"terminal":false,"missionId":"8e5af9be-df95-4edc-a55f-38287e002ce8","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":1974,"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":"8e5af9be-df95-4edc-a55f-38287e002ce8"},"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-02T17:13:34.633478+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4501","receipt_type":"automatic_mission_resume","idempotency_key":"mission:8e5af9be-df95-4edc-a55f-38287e002ce8:automatic-mission-resume:4501:repair_mission_pr_ready_retryable","mission_step_id":"3eb23126-8422-4c05-a72f-dcb6f2e8a541","command_center_event_id":"8e5af9be-df95-4edc-a55f-38287e002ce8"},{"id":"9f78060c-2e66-4753-bc3b-e5227fd7b798","source":"cc-execution","status":"corrective_generation_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1615dccb9b98","reason":"refresh_conflict_requires_corrective_generation","status":"corrective_generation_required","metrics":{"receiptBytes":23024,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":3,"executorlessWaitMs":75559,"firstUsefulResultAt":"2026-09-27T23:49:58.446Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":"1.58.298-witness-intent","prNumber":3931,"terminal":false,"missionId":"1615dccb-9b98-4dbf-89c9-2e2e8326eb83","operation":"execute_mission","proofGate":"repair_mission_refresh_conflict_requires_corrective_generation","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5772,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2606,"approvedPlanMs":3053,"missionSetupMs":356,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":255,"ledgerReconcileMs":0,"lineageReconcileMs":101,"resolvePreflightMs":356,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":255,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Create exactly one fresh repair generation from current main under the same request contract; preserve this conflicted PR as evidence until the corrective generation proves preservation.","receiptRef":{"mode":"full","missionId":"1615dccb-9b98-4dbf-89c9-2e2e8326eb83"},"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":2464,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:51:37.025541+00:00","proof_gate":"repair_mission_refresh_conflict_requires_corrective_generation","source_sha":null,"external_id":"3931","receipt_type":"execute_mission","idempotency_key":"mission:1615dccb-9b98-4dbf-89c9-2e2e8326eb83:execute_mission:repair_mission_refresh_conflict_requires_corrective_generation:current-generation","mission_step_id":"3fd2f999-5eb2-4d49-89ab-ee3ae37b18d0","command_center_event_id":"1615dccb-9b98-4dbf-89c9-2e2e8326eb83"},{"id":"9f7885fc-a44d-4a94-a6a2-40b6aab3ac26","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/enforce-done-means-live-20260906","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1940,"terminal":false,"missionId":"91008e2a-afbf-495e-ae34-ce14b0e311c3","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1594,"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":"91008e2a-afbf-495e-ae34-ce14b0e311c3"},"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":1281,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T13:32:56.468077+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1940","receipt_type":"automatic_mission_resume","idempotency_key":"mission:91008e2a-afbf-495e-ae34-ce14b0e311c3:automatic-mission-resume:1940:repair_mission_waiting_for_gate","mission_step_id":"d5b7a140-7bfe-4e96-8872-c598883f9adb","command_center_event_id":"91008e2a-afbf-495e-ae34-ce14b0e311c3"},{"id":"9f7a3eb9-e6dc-4ca1-ad31-5e51adfa012d","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-cdc15e3a7afa","reason":"existing_branch_without_open_pr_branch_diverged_or_unproven:ai/objective-first-repair-cdc15e3a7afa","status":"blocked","metrics":{"receiptBytes":3720,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":1048819,"firstUsefulResultAt":"2026-09-27T23:44:32.192Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.299-visible-intent","prNumber":null,"terminal":false,"missionId":"cdc15e3a-7afa-4b4e-ba1f-dfb95d748dbb","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1069,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1069,"missionSetupMs":274,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":274,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":274,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":274,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"cdc15e3a-7afa-4b4e-ba1f-dfb95d748dbb"},"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":1580,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T00:02:02.989563+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:cdc15e3a-7afa-4b4e-ba1f-dfb95d748dbb:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"a704fc6f-2c26-4bcd-ab16-aee9e7f19ae4","command_center_event_id":"cdc15e3a-7afa-4b4e-ba1f-dfb95d748dbb"},{"id":"9f7bbd4d-e559-4f34-9fad-3e5e3cb5b93f","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"pull_request_already_merged","status":"retryable","metrics":{"receiptBytes":1152,"releaseCount":1,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.5-stale-pr-refresh","prNumber":4698,"terminal":false,"missionId":"c9945164-f298-4dec-8344-167ca07a2548","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":"9c53a9d6a0e42de258b6542b55ec0a57b7d1bc1e","timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"c9945164-f298-4dec-8344-167ca07a2548"},"performance":null,"deploymentId":"canonical-release-9c53a9d6a0e4","workflowRunId":31614333690,"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":488,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-12T15:49:39.91012+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":"9c53a9d6a0e42de258b6542b55ec0a57b7d1bc1e","external_id":"canonical-release-9c53a9d6a0e4","receipt_type":"execute_mission","idempotency_key":"mission:c9945164-f298-4dec-8344-167ca07a2548:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"3a192288-34bd-4a20-a748-c95b2b8464e1","command_center_event_id":"c9945164-f298-4dec-8344-167ca07a2548"},{"id":"9f7fcd8a-716a-4fe6-8814-e7627906968e","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-673b4b6f4d63","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3487,"terminal":false,"missionId":"673b4b6f-4d63-4034-9d88-4f590824c437","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"da1aca045ef50f64b6d3b63db7d291f0ac2d4ad7","timingsMs":{"prReadinessMs":115,"approvedPlanMs":0,"shipAndProveMs":357,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"673b4b6f-4d63-4034-9d88-4f590824c437"},"performance":null,"deploymentId":"forgejo-main-da1aca045ef5","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":1915,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-23T03:35:27.936467+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3487","receipt_type":"automatic_mission_resume","idempotency_key":"mission:673b4b6f-4d63-4034-9d88-4f590824c437:automatic-mission-resume:3487:canonical_release_dispatched","mission_step_id":"9b58951d-7ec9-4063-9009-08cf675e1df8","command_center_event_id":"673b4b6f-4d63-4034-9d88-4f590824c437"},{"id":"9f80c3d4-befe-4aa6-9580-af859f05fdd0","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-2ed0df57d89c","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":18886,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":138267,"firstUsefulResultAt":"2026-10-03T15:57:16.263Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":4642,"terminal":false,"missionId":"2ed0df57-d89c-4313-a05b-0dd15ac7a3f5","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"3a5d507f2e54029ff61840b9117ec70988493ef4","timingsMs":{"prReadinessMs":724,"approvedPlanMs":0,"shipAndProveMs":1307,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"2ed0df57-d89c-4313-a05b-0dd15ac7a3f5"},"performance":null,"deploymentId":"forgejo-main-3a5d507f2e54","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":1802,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T15:59:41.817913+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4642","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2ed0df57-d89c-4313-a05b-0dd15ac7a3f5:automatic-mission-resume:4642:canonical_release_reconciliation_pending","mission_step_id":"8f01097d-b49b-4d09-8d9c-8ca34fed2880","command_center_event_id":"2ed0df57-d89c-4313-a05b-0dd15ac7a3f5"},{"id":"9f811384-19af-4c0b-b023-b660877b5be8","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same photo incident mission from existing green PR #916 exact head b3a71d951462fdf12ba0395682bd6f24c24f8aeb. Do not change source further. Squash merge through Forgejo, deploy only tenant-photo-studio, and complete the existing request-contract proofs: both galleries non-empty, both leads and representative assets are real non-SVG images, and dashboard real photos visible desktop/mobile. No unrelated release.","wordingChanged":false,"canonicalIntent":"Continue the same photo incident mission from existing green PR #916 exact head b3a71d951462fdf12ba0395682bd6f24c24f8aeb. Do not change source further. Squash merge through Forgejo, deploy only tenant-photo-studio, and complete the existing request-contract proofs: both galleries non-empty, both leads and representative assets are real non-SVG images, and dashboard real photos visible desktop/mobile. No unrelated release.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"false-green-eliminated","statement":"La Vista R2 failures can no longer be hidden behind successful SVG placeholder responses.","proofConditionIds":["proof-source","proof-real-images"]},{"id":"photos-proven","statement":"The View and The Nest real photos are proven working in production.","proofConditionIds":["proof-edge-live","proof-galleries","proof-real-images","proof-dashboard"]}],"objective":"Continue the same photo incident mission from existing green PR #916 exact head b3a71d951462fdf12ba0395682bd6f24c24f8aeb. Do not change source further. Squash merge through Forgejo, deploy only tenant-photo-studio, and complete the existing request-contract proofs: both galleries non-empty, both leads and representative assets are real non-SVG images, and dashboard real photos visible desktop/mobile. No unrelated release.","constraints":[{"id":"single-file","statement":"Only tenant-photo-studio changes.","proofConditionIds":["proof-source"]},{"id":"no-media-mutation","statement":"No R2 objects, media settings, gallery keys, or lead keys are mutated.","proofConditionIds":["proof-source","proof-edge-live"]},{"id":"edge-only","statement":"Only tenant-photo-studio is deployed.","proofConditionIds":["proof-edge-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-source","kind":"runtime","claim":"Exact merged diff changes only streamR2 fail-loud behavior in tenant-photo-studio and preserves token-derived S3 source already on main.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-edge-live","kind":"runtime","claim":"Production tenant-photo-studio runs the exact merged source and no unrelated target is released.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-galleries","kind":"runtime","claim":"The View and The Nest gallery endpoints are both non-empty.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-real-images","kind":"runtime","claim":"Both lead endpoints and representative individual gallery assets return real image content types, never SVG placeholders.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-dashboard","kind":"visual","claim":"The live dashboard visibly renders real The View and The Nest photos on desktop and mobile.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"556a1c64d21d9e6e2e499f66b75947a4aa4f13c997bfd6dbd73132692156e1ed","requestContractRevision":5,"previousRequestContractHash":"61826688762551cc23f3c5b2506511c93becd65aebcc7757876da807f185fbec"},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T04:02:36.33349+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:6e5cf2a3-fcc1-4ee6-aecc-4c3bf43ddd2b:request-contract-revision:5:556a1c64d21d9e6e2e499f66b75947a4aa4f13c997bfd6dbd73132692156e1ed","mission_step_id":"19fc6c3a-a963-43e8-8f7b-c3ed953be59a","command_center_event_id":"6e5cf2a3-fcc1-4ee6-aecc-4c3bf43ddd2b"},{"id":"9f8116e3-d1c6-42eb-bf9a-9df626576db2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-d6cd243d5f8d","reason":"retryable_provider_transport:pr_ready_timeout_budget_exhausted","status":"retryable","metrics":{"receiptBytes":85643,"releaseCount":0,"toolCallCount":34,"repeatedCallCount":29,"executorlessWaitMs":1959155,"firstUsefulResultAt":"2026-09-29T02:48:33.777Z","recoveryAttemptCount":28,"ownerInterruptionCount":0},"version":null,"prNumber":4089,"terminal":false,"missionId":"d6cd243d-5f8d-4268-a43e-590d637909e6","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":10501,"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":"d6cd243d-5f8d-4268-a43e-590d637909e6"},"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":828,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:04:00.558748+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4089","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d6cd243d-5f8d-4268-a43e-590d637909e6:automatic-mission-resume:4089:repair_mission_pr_ready_retryable","mission_step_id":"41b7b2d0-ddee-4b73-ab0d-9b7a74f39247","command_center_event_id":"d6cd243d-5f8d-4268-a43e-590d637909e6"},{"id":"9f818308-13d8-4526-bef3-d66858730e33","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"e4c5fcfed527091fd7bdf7ac90af6dff1b37af99","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"e4c5fcfed527091fd7bdf7ac90af6dff1b37af99","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":null,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3309","runId":3309,"status":"success","sourceSha":"e4c5fcfed527091fd7bdf7ac90af6dff1b37af99","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-29T03:16:58.713565+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"e4c5fcfed527091fd7bdf7ac90af6dff1b37af99","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:a9de83cd-fbda-4570-a745-a733dfed41b9:forgejo-release-status:e4c5fcfed527091fd7bdf7ac90af6dff1b37af99:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"2d1a0fb6-39e9-49b5-8efa-f60aa2479ebe","command_center_event_id":"a9de83cd-fbda-4570-a745-a733dfed41b9"},{"id":"9f830e6b-97c1-4f6d-8c3d-f9eb1377df60","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"4ce000664d882c4fdbb767d745d604a5c4829a22","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"retry-msi-qualification","satisfied":false,"statement":"The MSI proof workflow documents the required Windows WSL keepalive and its merge retriggers the existing isolated msi-local qualification.","proofConditionIds":["proof-repository"]}],"satisfied":false,"constraints":[{"id":"comment-only","satisfied":false,"statement":"Only one comment is added to .forgejo/workflows/msi-runner-proof.yml; workflow behavior and production machinery remain unchanged.","proofConditionIds":["proof-repository"]},{"id":"no-production-change","satisfied":false,"statement":"Do not alter runner labels, provider secrets, production workflows, releases, migrations, or application runtime.","proofConditionIds":["proof-repository"]},{"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"]},{"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"]}],"contractHash":"1517f8a95a2f5c7c455b9d084d8d3684151b42ffef2fa0cf6fc341f9cfa2843f","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":{},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"1517f8a95a2f5c7c455b9d084d8d3684151b42ffef2fa0cf6fc341f9cfa2843f","unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"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-26T14:57:18.575943+00:00","proof_gate":"request_contract_pending","source_sha":"4ce000664d882c4fdbb767d745d604a5c4829a22","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:03ef25c3-f36d-46b4-a42f-7eb541bbd374:request-contract:1517f8a95a2f5c7c455b9d084d8d3684151b42ffef2fa0cf6fc341f9cfa2843f:4ce000664d882c4fdbb767d745d604a5c4829a22:pending:repository","mission_step_id":"bfd63f3f-610e-4bc7-9aa2-8d4d29748cd3","command_center_event_id":"03ef25c3-f36d-46b4-a42f-7eb541bbd374"},{"id":"9f83c233-a360-40a9-8fba-e8bdcdc5432e","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-82d67a44471d","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.201-audit-machinery-reliability","prNumber":null,"terminal":false,"missionId":"82d67a44-471d-467c-8653-76f108d0c6eb","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":164,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":585,"providerAuthMs":0,"ledgerPrepareMs":585,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":585,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":585,"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":"82d67a44-471d-467c-8653-76f108d0c6eb"},"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":6589,"likelyAffectedFiles":["scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer","scripts/command-center-host-agent/verify-forgejo-watchdog.sh","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts",".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","config/control-plane-restore-point.json","src/__tests__/contracts/control-plane-orphan-branch-recovery.contract.test.ts","scripts/protected-main-release-recovery.mjs","scripts/validate-command-center-contracts.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T12:11:16.948907+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:82d67a44-471d-467c-8653-76f108d0c6eb:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"1d64a555-a10e-4b5c-b53e-4adf72553cac","command_center_event_id":"82d67a44-471d-467c-8653-76f108d0c6eb"},{"id":"9f849242-4a23-4fe7-ad31-119cdf4891fb","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"3e6b921c3ada9102173bcbee2bedfd007afd0f6c","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repo","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"2ff6823f2f6e78f764b118638623b1f50ba730eb","prNumber":2612,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/7722/jobs/1","mergeCommitSha":"3e6b921c3ada9102173bcbee2bedfd007afd0f6c"}],"requestContractHash":"ef049e14212ef6d280966a3f865afbe3abea50c7c1e31085cc10e354533c5218"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T03:07:19.610759+00:00","proof_gate":"request_contract_repository_verified","source_sha":"3e6b921c3ada9102173bcbee2bedfd007afd0f6c","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:985b7759-0812-44de-ae30-94145fb73c42:request-contract-repository:ef049e14212ef6d280966a3f865afbe3abea50c7c1e31085cc10e354533c5218:3e6b921c3ada9102173bcbee2bedfd007afd0f6c","mission_step_id":"a84a5e93-899d-48d5-ac11-8096d50163a1","command_center_event_id":"985b7759-0812-44de-ae30-94145fb73c42"},{"id":"9f86f0f8-1a0f-4dec-a8c5-e60f8ad8f995","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-294d5eb52ede","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":13923,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":16296,"firstUsefulResultAt":"2026-10-04T15:41:02.396Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4815,"terminal":false,"missionId":"294d5eb5-2ede-403a-b336-dac8dc2011bf","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2341,"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":"294d5eb5-2ede-403a-b336-dac8dc2011bf"},"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-04T15:41:12.834225+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4815","receipt_type":"automatic_mission_resume","idempotency_key":"mission:294d5eb5-2ede-403a-b336-dac8dc2011bf:automatic-mission-resume:4815:repair_mission_pr_ready_retryable","mission_step_id":"ca889086-6bb1-4b8f-896d-4457a23b181d","command_center_event_id":"294d5eb5-2ede-403a-b336-dac8dc2011bf"},{"id":"9f87e725-8695-4081-970a-44c06d8629a7","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"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';\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};\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};\nfunction parseCsv(text:string){const lines=text.replace(/\\r/g,'').split('\\n').filter(Boolean);const headers=(lines.shift()||'').split(',').map(item=>item.trim().toLowerCase().replace(/[^a-z0-9]+/g,'_'));return lines.map(line=>Object.fromEntries(line.split(',').map((item,index)=>[headers[index],item.trim()]))) as CsvRow[]}\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 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-black/28 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>}\nexport function PCGCardVaultContent(){const{activeTenant}=useMultiTenant();const{toast}=useToast();const tenantId=activeTenant?.id||'';const[mode,setMode]=useState<'overview'|'single'|'batch'|'growth'>('overview');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 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;\nasync function load(){if(!tenantId)return;const{data,count}=await(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);setRecent(data||[]);setTotal(Number(count||0))}useEffect(()=>{void load()},[tenantId]);\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 Card Vault',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>={}){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{error}=await(supabase as any).from('card_grading_cards').upsert({tenant_id:tenantId,submission_id:submissionId,sequence_number: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},{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'});setSaving(true);try{const sessionKey='single-'+crypto.randomUUID();const submissionId=await createSubmission('Single Card Vault 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;setRunning(true);stop.current=false;const submissionId=await createSubmission('Card Vault batch · '+items.length+' cards');let cursor=0;const worker=async()=>{while(!stop.current){const index=cursor++;if(index>=batch.length)return;const item=batch[index];const importKey=(session+':'+item.key).toLowerCase().replace(/[^a-z0-9:._-]+/g,'-');try{setItems(current=>current.map(row=>row.key===item.key?{...row,status:'uploading',error:undefined}:row));const{data:existing}=await(supabase as any).from('card_grading_cards').select('id').eq('tenant_id',tenantId).eq('import_key',importKey).maybeSingle();if(!existing?.id){const frontMedia=item.front?await upload(item.front,session,item.key,'front',importKey):null;const backMedia=item.back?await upload(item.back,session,item.key,'back',importKey):null;await storeCard(submissionId,importKey,frontMedia,backMedia,item.row)}setItems(current=>current.map(row=>row.key===item.key?{...row,status:'done'}:row))}catch(error){setItems(current=>current.map(row=>row.key===item.key?{...row,status:'failed',error:error instanceof Error?error.message:String(error)}:row))}}};try{await Promise.all(Array.from({length:Math.min(CONCURRENCY,batch.length)},worker));toast({title:stop.current?'Batch paused':'Batch complete',description:'Completed cards keep this batch identity, so retries do not duplicate Drive images or card records.'});await load()}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,.72)!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 w-fit items-center rounded-full border border-white/[0.08] bg-black/28 p-1\"><ModeButton active={mode==='overview'} onClick={()=>setMode('overview')}>Overview</ModeButton><ModeButton active={mode==='single'} onClick={()=>setMode('single')}>Single intake</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-[#0d0d0f]\"><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\">Single card intake</h2><p className=\"mt-2 text-sm leading-6 text-white/38\">Front/back imagery, identity, grade, cert, value, cost, tags and notes.</p></div></button><button onClick={()=>setMode('batch')} className=\"group min-h-[210px] bg-[#09090a]/94 p-5 text-left transition hover:bg-[#0d0d0f]\"><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\">Card record</div><h2 className=\"mt-2 text-xl font-black\">Identification & grading</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=\"Grade\" value={form.grade} onChange={value=>update('grade',value)}/><Field label=\"Certification / serial\" value={form.cert} onChange={value=>update('cert',value)}/><Field label=\"Condition\" value={form.condition} onChange={value=>update('condition',value)}/><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-black/24 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 in PCG'}</button></div></section>:null}\n{mode==='batch'?<section className=\"mt-7 space-y-5\"><div className=\"grid gap-px overflow-hidden border border-white/[0.08] bg-white/[0.08] lg:grid-cols-2\"><label className=\"group flex min-h-[180px] cursor-pointer flex-col justify-between bg-[#09090a]/94 p-5\"><input type=\"file\" multiple accept=\"image/*\" 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\">Choose the card image batch</h2><p className=\"mt-2 text-sm leading-6 text-white/36\">Hundreds or thousands. Front/back filenames pair automatically.</p></div></label><label className=\"group flex min-h-[180px] cursor-pointer flex-col justify-between bg-[#09090a]/94 p-5\"><input type=\"file\" accept=\".csv,text/csv\" 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\">Attach a CSV manifest</h2><p className=\"mt-2 text-sm leading-6 text-white/36\">Map filenames and card details into the same canonical records.</p></div></label></div><div className=\"border border-white/[0.08] bg-[#09090a]/82\"><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></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} 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\"/>{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></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()} className=\"grid h-9 w-9 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","expectedSha":"2566e1e869a243a9b2f88ebbcd2f303d88f898e7"},{"path":"src/pages/connections/TenantConnections.tsx","content":"import { useCallback, useEffect, useMemo, useState, type ComponentType } from 'react';\nimport { useLocation, useSearchParams } from 'react-router-dom';\nimport { Briefcase, Calendar, CheckCircle2, Cloud, ExternalLink, FileSignature, Folder, KeyRound, Landmark, Loader2, Mail, MessageSquare, Phone, PlugZap, Search, ShieldCheck, Users, WalletCards, XCircle } from 'lucide-react';\nimport { Badge } from '@/components/ui/badge';\nimport { Button } from '@/components/ui/button';\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';\nimport { CompactDisclosureContent, CompactDisclosureItem, CompactDisclosureList, CompactDisclosureTrigger } from '@/components/ui/compact-disclosure';\nimport { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from '@/components/ui/dialog';\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { supabase } from '@/integrations/supabase/client';\nimport { toast } from '@/lib/notify';\ntype ProviderKey='square'|'zoho_mail'|'twilio'|'resend'|'stripe'|'google_workspace'|'microsoft_365'|'monday'|'quickbooks'|'slack'|'dropbox'|'hubspot'|'docusign';\ntype ConnectionKind='oauth'|'secret'; type ConnectionDriver='square'|'zoho'|'secret'|'broker';\ntype ConnectionRow={provider:string;credential_status:string|null;last_verified_at:string|null;verification_notes:string|null;phone_number:string|null;sending_domain:string|null;metadata:Record<string,any>|null};\ntype ProviderDefinition={key:ProviderKey;label:string;category:string;description:string;kind:ConnectionKind;driver:ConnectionDriver;icon:ComponentType<{className?:string}>;keywords:string[];capabilities:string[];permissions:string[]};\ntype BrokerAvailability=Record<string,{configured:boolean;connected:boolean;status:string;last_verified_at?:string|null}>; type ConnectionsTab='mine'|'find';\nconst PROVIDERS:ProviderDefinition[]=[\n{key:'google_workspace',label:'Google Workspace',category:'Calendar, files & Gmail',description:'Gmail sending, Calendar, Drive, and the Google tools your business already uses.',kind:'oauth',driver:'broker',icon:Calendar,keywords:['google','workspace','gmail','email','calendar','drive','files'],capabilities:['Gmail sending','Calendar events','Drive files used with KnockLaunch'],permissions:['Send email from the connected Gmail account','View and manage calendar events','Use only Drive files opened or created through KnockLaunch','Basic Google account identity']},\n{key:'microsoft_365',label:'Microsoft 365',category:'Calendar',description:'Outlook, Microsoft calendar, and connected business account tools.',kind:'oauth',driver:'broker',icon:Cloud,keywords:['microsoft','office','365','outlook','calendar'],capabilities:['Microsoft 365 calendar'],permissions:['Basic Microsoft account identity','View and manage calendar events','Offline access for scheduled calendar sync']},\n{key:'monday',label:'monday.com',category:'Work management',description:'Boards, workspaces, tasks, and team work management.',kind:'oauth',driver:'broker',icon:Briefcase,keywords:['monday','boards','work','project','tasks','workspaces'],capabilities:['Boards','Workspaces','Users'],permissions:['Read account identity','Read and update boards','Read workspaces','Read users']},\n{key:'quickbooks',label:'QuickBooks Online',category:'Accounting',description:'Accounting, invoices, books, and company financial records with tenant-safe schema-aware sync.',kind:'oauth',driver:'broker',icon:Landmark,keywords:['quickbooks','intuit','accounting','books','finance','invoices','customers','payments'],capabilities:['Customers','Invoices','Payments','QuickBooks schema identity & sync health'],permissions:['Read the connected QuickBooks company accounting data','Preserve QuickBooks entity IDs, references, SyncToken versions, and company realm identity','Future write actions require explicit KnockLaunch actions and current QuickBooks concurrency tokens']},\n{key:'square',label:'Square',category:'Payments',description:'Payments, invoices, customers, and finance sync through Square.',kind:'oauth',driver:'square',icon:WalletCards,keywords:['payments','invoices','money','point of sale','pos','customers','cards'],capabilities:['Payments','Invoices','Customers','Finance sync'],permissions:['Square permissions are requested by the existing payment connector and shown by Square during authorization']},\n{key:'stripe',label:'Stripe',category:'Payments',description:'Payments and billing through a tenant-owned Stripe account.',kind:'secret',driver:'secret',icon:WalletCards,keywords:['payments','cards','billing','invoices','money'],capabilities:['Payments'],permissions:['Uses only the Stripe account permissions belonging to the supplied tenant-owned API key']},\n{key:'slack',label:'Slack',category:'Team messaging',description:'Channels, team messaging, and KnockLaunch notifications.',kind:'oauth',driver:'broker',icon:MessageSquare,keywords:['slack','chat','messages','notifications','channels'],capabilities:['Channel list','KnockLaunch notifications'],permissions:['View channel names','Post messages as the KnockLaunch app']},\n{key:'dropbox',label:'Dropbox',category:'Files',description:'Files, documents, photos, and connected app-folder storage.',kind:'oauth',driver:'broker',icon:Folder,keywords:['dropbox','files','documents','storage','photos'],capabilities:['KnockLaunch app-folder files'],permissions:['Read account identity','Read and write files inside the Dropbox app folder configured for KnockLaunch']},\n{key:'hubspot',label:'HubSpot',category:'CRM',description:'CRM contacts and customer records from your HubSpot account.',kind:'oauth',driver:'broker',icon:Users,keywords:['hubspot','crm','contacts','customers','leads'],capabilities:['Contacts'],permissions:['Read contacts','Create and update contacts']},\n{key:'docusign',label:'DocuSign',category:'E-signature',description:'Signature envelopes and document signing workflows.',kind:'oauth',driver:'broker',icon:FileSignature,keywords:['docusign','esign','signature','documents','envelopes'],capabilities:['Envelope signing'],permissions:['Create and manage signature envelopes','Maintain authorized background access until disconnected']},\n{key:'zoho_mail',label:'Zoho Mail',category:'Email',description:'Business email and inbox access through your Zoho mailbox.',kind:'oauth',driver:'zoho',icon:Mail,keywords:['zoho','email','mail','inbox','messages','homeowner communication'],capabilities:['Business email','Inbox'],permissions:['Mailbox access is limited to the existing Zoho Mail connector scopes shown during provider authorization']},\n{key:'twilio',label:'Twilio',category:'Phone & SMS',description:'Calling, phone numbers, and SMS through a tenant-owned account.',kind:'secret',driver:'secret',icon:Phone,keywords:['phone','calls','calling','sms','text','messaging'],capabilities:['Calling','SMS'],permissions:['Uses only the tenant-owned Twilio account represented by the supplied Account SID and auth token']},\n{key:'resend',label:'Resend',category:'Email delivery',description:'Outbound email delivery for your verified sending domain.',kind:'secret',driver:'secret',icon:Mail,keywords:['resend','email','outbound','delivery','domain','messages'],capabilities:['Outbound email delivery'],permissions:['Uses only the tenant-owned Resend API key supplied here']}\n];\nconst PROVIDER_MAP=new Map(PROVIDERS.map(p=>[p.key,p])); const CONNECTOR_URLS:Record<ProviderKey,string>={google_workspace:'https://workspace.google.com/',microsoft_365:'https://www.microsoft365.com/',monday:'https://monday.com/',quickbooks:'https://qbo.intuit.com/',square:'https://squareup.com/dashboard',stripe:'https://dashboard.stripe.com/',slack:'https://app.slack.com/',dropbox:'https://www.dropbox.com/home',hubspot:'https://app.hubspot.com/',docusign:'https://app.docusign.com/',zoho_mail:'https://mail.zoho.com/',twilio:'https://console.twilio.com/',resend:'https://resend.com/api-keys'};\nfunction statusLabel(s?:string|null){if(s==='active')return'Connected';if(s==='pending')return'Needs verification';if(s==='invalid')return'Needs attention';if(s==='disabled')return'Disconnected';return'Not connected'} function statusBadgeClass(s?:string|null){if(s==='active')return'border-emerald-400/20 bg-emerald-500/10 text-emerald-200';if(s==='invalid')return'border-destructive/30 bg-destructive/10 text-destructive-foreground';if(s==='pending')return'border-amber-400/25 bg-amber-400/10 text-amber-200';return'border-border bg-muted/40 text-muted-foreground'} function providerLabel(p:string){return PROVIDER_MAP.get(p as ProviderKey)?.label||p.replaceAll('_',' ').replace(/\\b\\w/g,l=>l.toUpperCase())} function connectionDetail(r:ConnectionRow){if(r.provider==='zoho_mail')return String(r.metadata?.email||'Business mailbox');if(r.provider==='square')return String(r.metadata?.square_location_name||'Square account');if(r.provider==='twilio')return r.phone_number||'Twilio account';if(r.provider==='resend')return r.sending_domain||'Resend account';if(r.metadata?.team_name)return String(r.metadata.team_name);if(r.metadata?.realm_id)return`QuickBooks company ${r.metadata.realm_id}`;return r.verification_notes||'Provider account'}\nexport default function TenantConnections(){const{activeTenant}=useMultiTenant();const tenantId=activeTenant?.id||'';const location=useLocation();const businessName=activeTenant?.company_dba_name||activeTenant?.company_legal_name||activeTenant?.name||'this business';const returnPath=typeof window!=='undefined'&&window.location.pathname.startsWith('/')?window.location.pathname:(location.pathname||'/connections');const[searchParams,setSearchParams]=useSearchParams();const[rows,setRows]=useState<ConnectionRow[]>([]);const[brokerAvailability,setBrokerAvailability]=useState<BrokerAvailability>({});const[loading,setLoading]=useState(true);const[query,setQuery]=useState('');const[selected,setSelected]=useState<ProviderDefinition|null>(null);const[connecting,setConnecting]=useState(false);const[disconnectArmed,setDisconnectArmed]=useState(false);const[tab,setTab]=useState<ConnectionsTab>('find');const[tabTouched,setTabTouched]=useState(false);const[secretForm,setSecretForm]=useState({apiSecret:'',accountSid:'',fromNumber:'',fromEmail:'',fromName:'',publishableKey:''});const loadConnections=useCallback(async()=>{if(!tenantId)return;setLoading(true);try{const[c,catalog]=await Promise.all([supabase.from('tenant_provider_credentials' as any).select('provider,credential_status,last_verified_at,verification_notes,phone_number,sending_domain,metadata').eq('tenant_id',tenantId).order('provider'),supabase.functions.invoke('tenant-provider-connections',{body:{action:'catalog',tenant_id:tenantId}})]);if(c.error)throw c.error;setRows((c.data||[]) as unknown as ConnectionRow[]);if(!catalog.error&&catalog.data?.ok===true&&Array.isArray(catalog.data.providers)){const n:BrokerAvailability={};for(const p of catalog.data.providers)n[String(p.key)]={configured:p.configured===true,connected:p.connected===true,status:String(p.status||'missing'),last_verified_at:p.last_verified_at||null};setBrokerAvailability(n)}else setBrokerAvailability({})}catch(e:any){toast.error(e?.message||'Could not load connections')}finally{setLoading(false)}},[tenantId]);useEffect(()=>{void loadConnections()},[loadConnections]);useEffect(()=>{const square=searchParams.get('square'),mail=searchParams.get('mail'),connection=searchParams.get('connection'),provider=searchParams.get('provider');if(!square&&!mail&&!connection)return;if(square==='connected')toast.success('Square connected');else if(square==='error')toast.error('Square connection was not completed');if(mail==='connected')toast.success('Zoho Mail connected');else if(mail==='error')toast.error('Zoho Mail connection was not completed');if(connection==='connected')toast.success(`${providerLabel(provider||'provider')} connected`);else if(connection==='error')toast.error(`${providerLabel(provider||'provider')} connection was not completed`);void loadConnections();const next=new URLSearchParams(searchParams);['square','reason','mail','mail_code','connection','provider'].forEach(k=>next.delete(k));setSearchParams(next,{replace:true})},[loadConnections,searchParams,setSearchParams]);const connectionMap=useMemo(()=>new Map(rows.map(r=>[r.provider,r])),[rows]);const activeRows=useMemo(()=>rows.filter(r=>r.credential_status==='active'),[rows]);const savedRows=useMemo(()=>rows.filter(r=>r.credential_status&&r.credential_status!=='missing').sort((a,b)=>{const rank=(s?:string|null)=>s==='active'?0:s==='invalid'?1:s==='pending'?2:3;return rank(a.credential_status)-rank(b.credential_status)||providerLabel(a.provider).localeCompare(providerLabel(b.provider))}),[rows]);const attentionCount=useMemo(()=>rows.filter(r=>r.credential_status==='invalid'||r.credential_status==='pending').length,[rows]);const results=useMemo(()=>{const n=query.trim().toLowerCase();return n?PROVIDERS.filter(p=>[p.label,p.category,p.description,...p.keywords,...p.capabilities].join(' ').toLowerCase().includes(n)):PROVIDERS},[query]);useEffect(()=>{if(!loading&&!tabTouched)setTab(activeRows.length>0?'mine':'find')},[activeRows.length,loading,tabTouched]);const providerConfigured=useCallback((p:ProviderDefinition)=>p.driver!=='broker'||brokerAvailability[p.key]?.configured===true,[brokerAvailability]);const chooseProvider=(p:ProviderDefinition)=>{setSecretForm({apiSecret:'',accountSid:'',fromNumber:'',fromEmail:'',fromName:'',publishableKey:''});setDisconnectArmed(false);setSelected(p)};const openProviderApp=(p:ProviderDefinition)=>window.open(CONNECTOR_URLS[p.key],'_blank','noopener,noreferrer');const connectOauth=async(p:ProviderDefinition)=>{if(!tenantId)return;setConnecting(true);try{if(p.driver==='square'){const{data,error}=await supabase.functions.invoke('finance-square',{body:{action:'authorize_url',tenant_id:tenantId,return_path:returnPath}});if(error||data?.ok!==true||!data?.authorize_url)throw new Error(data?.error||error?.message||'Could not start Square connection');window.location.assign(String(data.authorize_url));return}if(p.driver==='zoho'){const{data,error}=await supabase.functions.invoke('zoho-mail',{body:{action:'authorize_url',tenantId,returnPath}});if(error||data?.ok!==true||!data?.authorize_url)throw new Error(data?.error||error?.message||'Could not start Zoho Mail connection');window.location.assign(String(data.authorize_url));return}if(p.driver==='broker'){const{data,error}=await supabase.functions.invoke('tenant-provider-connections',{body:{action:'authorize_url',tenant_id:tenantId,provider:p.key,return_path:returnPath}});if(error||data?.ok!==true||!data?.authorize_url)throw new Error(data?.error||error?.message||`Could not start ${p.label} connection`);window.location.assign(String(data.authorize_url));return}throw new Error('This provider does not use OAuth')}catch(e:any){toast.error(e?.message||`Could not connect ${p.label}`);setConnecting(false)}};const connectSecretProvider=async(p:ProviderDefinition)=>{if(!tenantId)return;if(!secretForm.apiSecret.trim()){toast.error('Enter the provider credential first');return}setConnecting(true);try{const body:Record<string,string>={tenant_id:tenantId,provider:p.key,api_secret:secretForm.apiSecret.trim()};if(p.key==='twilio'){body.account_sid=secretForm.accountSid.trim();body.from_number=secretForm.fromNumber.trim()}else if(p.key==='resend'){body.from_email=secretForm.fromEmail.trim();body.from_name=secretForm.fromName.trim()}else if(p.key==='stripe')body.publishable_key=secretForm.publishableKey.trim();const stored=await supabase.functions.invoke('upsert-tenant-provider-secret',{body});if(stored.error||stored.data?.ok!==true)throw new Error(stored.data?.error||stored.error?.message||`Could not save ${p.label} connection`);const verified=await supabase.functions.invoke('verify-tenant-provider',{body:{tenant_id:tenantId,provider:p.key}});if(verified.error||verified.data?.ok!==true)throw new Error(verified.data?.error||verified.error?.message||`${p.label} could not be verified`);toast.success(`${p.label} connected`);setSelected(null);setSecretForm({apiSecret:'',accountSid:'',fromNumber:'',fromEmail:'',fromName:'',publishableKey:''});await loadConnections()}catch(e:any){toast.error(e?.message||`Could not connect ${p.label}`)}finally{setConnecting(false)}};const disconnectProvider=async(p:ProviderDefinition)=>{if(!tenantId)return;if(!disconnectArmed){setDisconnectArmed(true);return}setConnecting(true);try{const{data,error}=await supabase.functions.invoke('tenant-provider-connections',{body:{action:'revoke',tenant_id:tenantId,provider:p.key}});if(error||data?.ok!==true)throw new Error(data?.error||error?.message||`Could not disconnect ${p.label}`);toast.success(`${p.label} disconnected`);setSelected(null);setDisconnectArmed(false);await loadConnections()}catch(e:any){toast.error(e?.message||`Could not disconnect ${p.label}`)}finally{setConnecting(false)}};const selectedStatus=selected?connectionMap.get(selected.key)?.credential_status:null,selectedConnected=selectedStatus==='active',selectedConfigured=selected?providerConfigured(selected):false;const tenantSlug=String(activeTenant?.company_slug||'').trim().toLowerCase();const pcgUsesGoogle=tenantSlug==='pcg'||tenantSlug==='prestigious-card-grading';const googleWorkspace=PROVIDER_MAP.get('google_workspace')!;const googleRow=connectionMap.get('google_workspace');const googleConnected=googleRow?.credential_status==='active';const googleMeta=(googleRow?.metadata||{}) as Record<string,unknown>;const googleScopes=Array.isArray(googleMeta.granted_scopes)?googleMeta.granted_scopes.map(value=>String(value)):[];const googleDriveReady=googleConnected&&googleScopes.includes('https://www.googleapis.com/auth/drive.file');return <section className=\"mx-auto w-full max-w-6xl space-y-5\" data-tenant-connections=\"true\"><Card className=\"overflow-hidden border-border/70 bg-card/95 shadow-sm\"><CardHeader className=\"gap-5 p-5 sm:p-6\"><div className=\"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between\"><div className=\"flex min-w-0 items-start gap-3\"><span className=\"grid h-11 w-11 shrink-0 place-items-center rounded-2xl border border-primary/20 bg-primary/10 text-primary shadow-sm\"><PlugZap className=\"h-5 w-5\"/></span><div className=\"min-w-0\"><CardTitle className=\"text-2xl tracking-tight sm:text-3xl\">Connections</CardTitle><CardDescription className=\"mt-1 max-w-2xl text-sm leading-6\">Connect and manage the services {businessName} uses without leaving the workspace workflow.</CardDescription></div></div><Badge variant=\"outline\" className=\"w-fit border-primary/20 bg-primary/5 px-3 py-1.5 text-xs font-semibold\">Owner controls</Badge></div><div className=\"grid gap-2 sm:grid-cols-3\"><div className=\"rounded-2xl border border-border/70 bg-background/55 px-4 py-3\"><p className=\"text-xs font-medium text-muted-foreground\">Connected</p><p className=\"mt-1 text-2xl font-semibold tracking-tight\">{activeRows.length}</p></div><div className=\"rounded-2xl border border-border/70 bg-background/55 px-4 py-3\"><p className=\"text-xs font-medium text-muted-foreground\">Needs attention</p><p className=\"mt-1 text-2xl font-semibold tracking-tight\">{attentionCount}</p></div><div className=\"rounded-2xl border border-border/70 bg-background/55 px-4 py-3\"><p className=\"text-xs font-medium text-muted-foreground\">Available providers</p><p className=\"mt-1 text-2xl font-semibold tracking-tight\">{PROVIDERS.length}</p></div></div></CardHeader></Card>{pcgUsesGoogle?<Card data-pcg-google-workspace-required=\"true\" className=\"border-primary/20 bg-primary/[.035]\"><CardHeader className=\"gap-3 sm:flex-row sm:items-start sm:justify-between\"><div><CardTitle className=\"text-base\">PCG uses Google Workspace Drive + Gmail</CardTitle><CardDescription className=\"mt-1\">PCG master card imagery is stored in the connected Google Drive, while completion and shipment emails use Gmail from the same Workspace connection. No Google password is stored in KnockLaunch.</CardDescription></div><Badge variant=\"outline\" className={googleDriveReady?statusBadgeClass('active'):'border-amber-400/25 bg-amber-400/10 text-amber-200'}>{googleDriveReady?'Drive ready':googleConnected?'Reconnect for Drive':'Setup required'}</Badge></CardHeader><CardContent className=\"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between\"><p className=\"text-sm text-muted-foreground\">Existing PCG records remain usable if Google is disconnected, but new card-image intake requires Google Drive access. Reconnect if Drive permission is missing; Gmail completion and shipment sends use the same Workspace authorization.</p><Button className=\"shrink-0\" onClick={()=>chooseProvider(googleWorkspace)}>{googleDriveReady?'Manage Google Workspace':googleConnected?'Reconnect Google Workspace':'Connect Google account'}</Button></CardContent></Card>:null}<Tabs value={tab} onValueChange={v=>{setTab(v as ConnectionsTab);setTabTouched(true)}} className=\"space-y-4\"><TabsList className=\"grid w-full grid-cols-2 sm:w-[360px]\"><TabsTrigger value=\"mine\" className=\"gap-2\">My connections{activeRows.length>0?<Badge variant=\"secondary\" className=\"px-1.5 py-0 text-[10px]\">{activeRows.length}</Badge>:null}</TabsTrigger><TabsTrigger value=\"find\">Find a connection</TabsTrigger></TabsList><TabsContent value=\"mine\" className=\"space-y-4\">{loading?<Card className=\"border-border/70 bg-card/90\"><CardContent className=\"flex min-h-32 items-center justify-center\"><Loader2 className=\"h-5 w-5 animate-spin text-muted-foreground\"/></CardContent></Card>:null}{!loading&&savedRows.length===0?<Card className=\"border-dashed border-border/80 bg-card/70\"><CardContent className=\"flex flex-col items-center px-5 py-10 text-center\"><span className=\"grid h-12 w-12 place-items-center rounded-2xl bg-primary/10 text-primary\"><PlugZap className=\"h-5 w-5\"/></span><p className=\"mt-4 font-semibold\">No connections yet</p><p className=\"mt-1 max-w-md text-sm leading-6 text-muted-foreground\">Add the tools this business actually uses. Connected services will stay organized here.</p><Button className=\"mt-5\" onClick={()=>{setTab('find');setTabTouched(true)}}>Find a connection</Button></CardContent></Card>:null}{!loading&&savedRows.length>0?<CompactDisclosureList type=\"single\" collapsible data-compact-disclosure-list=\"connections-saved\">{savedRows.map(r=>{const p=PROVIDER_MAP.get(r.provider as ProviderKey),Icon=p?.icon||PlugZap,active=r.credential_status==='active';return <CompactDisclosureItem key={r.provider} value={r.provider} data-connection-row={r.provider}><CompactDisclosureTrigger><span className=\"flex min-w-0 flex-1 items-center gap-3 pr-2\"><span className=\"grid h-9 w-9 shrink-0 place-items-center rounded-xl border border-border/70 bg-muted/40 text-foreground\"><Icon className=\"h-4 w-4\"/></span><span className=\"min-w-0 flex-1\"><span className=\"block truncate text-sm font-semibold text-foreground\">{providerLabel(r.provider)}</span><span className=\"mt-0.5 block truncate text-xs font-normal text-muted-foreground\">{connectionDetail(r)}</span></span><Badge variant=\"outline\" className={statusBadgeClass(r.credential_status)}>{statusLabel(r.credential_status)}</Badge></span></CompactDisclosureTrigger><CompactDisclosureContent><div className=\"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between\">{r.last_verified_at?<p className=\"text-xs text-muted-foreground\">Verified {new Date(r.last_verified_at).toLocaleString()}</p>:<p className=\"text-xs text-muted-foreground\">Verification pending</p>}<div className=\"flex flex-wrap gap-2\">{p?<Button size=\"sm\" onClick={()=>chooseProvider(p)}>{active?'Manage':r.credential_status==='invalid'?'Fix connection':'Review'}</Button>:null}{p?<Button size=\"sm\" variant=\"outline\" onClick={()=>openProviderApp(p)}>Open app <ExternalLink className=\"ml-1.5 h-3.5 w-3.5\"/></Button>:null}</div></div></CompactDisclosureContent></CompactDisclosureItem>})}</CompactDisclosureList>:null}</TabsContent><TabsContent value=\"find\" className=\"space-y-4\"><Card className=\"border-border/70 bg-card/95 shadow-sm\"><CardContent className=\"p-4 sm:p-5\"><div className=\"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between\"><div className=\"relative min-w-0 flex-1\"><Search className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground\"/><Input value={query} onChange={e=>setQuery(e.target.value)} placeholder=\"Search payments, email, calendar, files, CRM…\" className=\"h-11 pl-10\" aria-label=\"Search available connectors\"/></div><p className=\"shrink-0 text-xs font-medium text-muted-foreground\">{results.length} of {PROVIDERS.length} providers</p></div></CardContent></Card>{results.length>0?<div className=\"min-w-0 max-w-full overflow-hidden rounded-2xl border border-border/70 bg-card/90\" data-connector-list=\"connections-catalog\">{results.map(p=>{const Icon=p.icon,row=connectionMap.get(p.key),connected=row?.credential_status==='active';return <div key={p.key} className=\"flex min-w-0 max-w-full items-center gap-3 border-b border-border/70 px-3 py-3 last:border-b-0 sm:px-4\" data-connection-result={p.key} data-connector-url={CONNECTOR_URLS[p.key]}><span className=\"grid h-9 w-9 shrink-0 place-items-center rounded-xl border border-primary/15 bg-primary/8 text-primary\"><Icon className=\"h-4 w-4\"/></span><span className=\"min-w-0 flex-1 overflow-hidden\"><span className=\"block truncate text-sm font-semibold text-foreground\">{p.label}</span><span className=\"mt-0.5 block truncate text-xs font-normal text-muted-foreground\">{p.description}</span></span><Button size=\"sm\" className=\"shrink-0\" onClick={()=>chooseProvider(p)} data-connector-action={p.key}>{connected?'Manage':'Connect'}</Button></div>})}</div>:<Card className=\"border-dashed border-border/80 bg-card/70\"><CardContent className=\"px-5 py-10 text-center\"><Search className=\"mx-auto h-6 w-6 text-muted-foreground\"/><p className=\"mt-3 font-semibold\">No matching connection</p><p className=\"mt-1 text-sm text-muted-foreground\">Try a provider name or a category like payments, email, calendar, files, or CRM.</p></CardContent></Card>}</TabsContent></Tabs><Dialog open={Boolean(selected)} onOpenChange={open=>{if(!open&&!connecting){setSelected(null);setDisconnectArmed(false)}}}>{selected?<DialogContent className=\"sm:max-w-xl\"><DialogHeader><DialogTitle className=\"flex items-center gap-2\"><selected.icon className=\"h-5 w-5 text-primary\"/>{selectedConnected?`Manage ${selected.label}`:`Connect ${selected.label}`}</DialogTitle><DialogDescription>{selected.description}</DialogDescription></DialogHeader><div className=\"grid gap-3 rounded-2xl border bg-muted/25 p-4 sm:grid-cols-2\"><div><p className=\"text-xs font-bold uppercase tracking-wide text-muted-foreground\">KnockLaunch can use</p><div className=\"mt-2 flex flex-wrap gap-1.5\">{selected.capabilities.map(c=><Badge key={c} variant=\"outline\">{c}</Badge>)}</div></div><div><p className=\"text-xs font-bold uppercase tracking-wide text-muted-foreground\">Permission boundary</p><ul className=\"mt-2 space-y-1 text-sm text-muted-foreground\">{selected.permissions.map(p=><li key={p}>• {p}</li>)}</ul></div></div>{selected.driver==='broker'&&!selectedConfigured&&!selectedConnected?<div className=\"flex gap-3 rounded-2xl border border-amber-400/20 bg-amber-400/[.06] p-4 text-sm text-muted-foreground\"><ShieldCheck className=\"mt-0.5 h-5 w-5 shrink-0 text-amber-300\"/><p>This provider is in the approved catalog, but its KnockLaunch OAuth application is not activated yet. No authorization request can start and no provider token can be stored until platform setup is complete.</p></div>:selected.kind==='oauth'?<div className=\"rounded-2xl border bg-muted/30 p-4 text-sm text-muted-foreground\"><div className=\"flex gap-3\"><ShieldCheck className=\"mt-0.5 h-5 w-5 shrink-0 text-primary\"/><p>You’ll sign in directly with {selected.label}. KnockLaunch stores only the provider authorization encrypted on the server; your provider password is never entered here.</p></div></div>:<div className=\"space-y-4\"><div className=\"flex gap-3 rounded-2xl border bg-muted/30 p-4 text-sm text-muted-foreground\"><KeyRound className=\"mt-0.5 h-5 w-5 shrink-0 text-primary\"/><p>The credential is encrypted server-side and verified live with {selected.label} before the connection becomes active.</p></div>{selected.key==='twilio'?<><div className=\"space-y-1.5\"><Label>Account SID</Label><Input value={secretForm.accountSid} onChange={e=>setSecretForm(c=>({...c,accountSid:e.target.value}))} placeholder=\"AC…\" autoComplete=\"off\"/></div><div className=\"space-y-1.5\"><Label>Auth token</Label><Input type=\"password\" value={secretForm.apiSecret} onChange={e=>setSecretForm(c=>({...c,apiSecret:e.target.value}))} autoComplete=\"new-password\"/></div><div className=\"space-y-1.5\"><Label>Sending number</Label><Input value={secretForm.fromNumber} onChange={e=>setSecretForm(c=>({...c,fromNumber:e.target.value}))} placeholder=\"+1…\" autoComplete=\"off\"/></div></>:null}{selected.key==='resend'?<><div className=\"space-y-1.5\"><Label>API key</Label><Input type=\"password\" value={secretForm.apiSecret} onChange={e=>setSecretForm(c=>({...c,apiSecret:e.target.value}))} autoComplete=\"new-password\"/></div><div className=\"space-y-1.5\"><Label>From email</Label><Input type=\"email\" value={secretForm.fromEmail} onChange={e=>setSecretForm(c=>({...c,fromEmail:e.target.value}))} placeholder=\"info@yourcompany.com\"/></div><div className=\"space-y-1.5\"><Label>From name</Label><Input value={secretForm.fromName} onChange={e=>setSecretForm(c=>({...c,fromName:e.target.value}))} placeholder={businessName}/></div></>:null}{selected.key==='stripe'?<><div className=\"space-y-1.5\"><Label>Secret key</Label><Input type=\"password\" value={secretForm.apiSecret} onChange={e=>setSecretForm(c=>({...c,apiSecret:e.target.value}))} placeholder=\"sk_…\" autoComplete=\"new-password\"/></div><div className=\"space-y-1.5\"><Label>Publishable key</Label><Input value={secretForm.publishableKey} onChange={e=>setSecretForm(c=>({...c,publishableKey:e.target.value}))} placeholder=\"pk_…\" autoComplete=\"off\"/></div></>:null}</div>}{selectedConnected?<div className=\"flex items-center gap-2 rounded-xl border border-emerald-400/20 bg-emerald-400/[.07] px-3 py-2 text-sm text-emerald-200\"><CheckCircle2 className=\"h-4 w-4\"/>This provider is currently connected.</div>:selectedStatus==='invalid'?<div className=\"flex items-center gap-2 rounded-xl border border-red-400/20 bg-red-400/[.07] px-3 py-2 text-sm text-red-200\"><XCircle className=\"h-4 w-4\"/>The saved credential needs to be replaced and verified again.</div>:null}{disconnectArmed?<div className=\"rounded-xl border border-red-400/20 bg-red-400/[.07] px-3 py-2 text-sm text-red-100\">Disconnecting removes KnockLaunch’s stored authorization immediately. Click Confirm disconnect to continue.</div>:null}<DialogFooter className=\"gap-2 sm:gap-2\"><Button variant=\"outline\" onClick={()=>{setSelected(null);setDisconnectArmed(false)}} disabled={connecting}>Cancel</Button>{selectedConnected?<Button variant=\"destructive\" onClick={()=>void disconnectProvider(selected)} disabled={connecting} data-revoke-connection={selected.key}>{connecting?<Loader2 className=\"mr-2 h-4 w-4 animate-spin\"/>:null}{disconnectArmed?'Confirm disconnect':`Disconnect ${selected.label}`}</Button>:null}{(!selectedConnected||selectedConfigured)&&(selected.driver!=='broker'||selectedConfigured)?<Button onClick={()=>selected.kind==='oauth'?void connectOauth(selected):void connectSecretProvider(selected)} disabled={connecting} data-activate-connection={selected.key}>{connecting?<Loader2 className=\"mr-2 h-4 w-4 animate-spin\"/>:<PlugZap className=\"mr-2 h-4 w-4\"/>}{selectedConnected?`Reconnect ${selected.label}`:`Connect ${selected.label}`}</Button>:null}</DialogFooter></DialogContent>:null}</Dialog></section>}\n","expectedSha":"1d44a454e8651b7b5f90980577aa38068764ba69"},{"path":"supabase/functions/pcg-google-drive-media/index.ts","content":"import {serve} from \"https://deno.land/std@0.190.0/http/server.ts\";\nimport {createClient} from \"https://esm.sh/@supabase/supabase-js@2.45.0\";\nimport {decryptSecret,encryptSecret} from \"../_shared/tenantCrypto.ts\";\n\nexport const FUNCTION_VERSION=\"1.0.0-pcg-google-drive-media\";\nconst SUPABASE_URL=Deno.env.get(\"SUPABASE_URL\")||\"\";\nconst SERVICE_ROLE=Deno.env.get(\"SUPABASE_SERVICE_ROLE_KEY\")||\"\";\nconst DRIVE_SCOPE=\"https://www.googleapis.com/auth/drive.file\";\nconst GOOGLE_FILES=\"https://www.googleapis.com/drive/v3/files\";\nconst GOOGLE_UPLOAD=\"https://www.googleapis.com/upload/drive/v3/files\";\ntype StoredToken={access_token?:string;refresh_token?:string|null;expires_at?:string|null;token_type?:string|null;scope?:string|null;metadata?:Record<string,unknown>};\n\nconst cors={\"Access-Control-Allow-Origin\":\"*\",\"Access-Control-Allow-Headers\":\"authorization, content-type, range, x-client-info, apikey\",\"Access-Control-Allow-Methods\":\"GET, HEAD, POST, OPTIONS\"};\nconst json=(body:unknown,status=200)=>new Response(JSON.stringify(body),{status,headers:{...cors,\"Content-Type\":\"application/json\",\"Cache-Control\":\"no-store\"}});\nconst clean=(value:unknown)=>String(value??\"\").trim();\nconst safeName=(value:string)=>value.replace(/[\\\\/]+/g,\"-\").replace(/[\\u0000-\\u001f]+/g,\" \").trim().slice(0,180)||\"pcg-card-image\";\nconst bytesToHex=(bytes:Uint8Array)=>Array.from(bytes).map(value=>value.toString(16).padStart(2,\"0\")).join(\"\");\nasync function sha256(value:string){return bytesToHex(new Uint8Array(await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(value))))}\nfunction base64Url(bytes:Uint8Array){let binary=\"\";for(const value of bytes)binary+=String.fromCharCode(value);return btoa(binary).replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=+$/,\"\")}\nasync function signingKey(){const digest=await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(SERVICE_ROLE+\":pcg-google-drive-media:v1\"));return crypto.subtle.importKey(\"raw\",digest,{name:\"HMAC\",hash:\"SHA-256\"},false,[\"sign\"])}\nasync function signature(tenantId:string,fileId:string){const key=await signingKey();return base64Url(new Uint8Array(await crypto.subtle.sign(\"HMAC\",key,new TextEncoder().encode(tenantId+\":\"+fileId))))}\nfunction sameSignature(a:string,b:string){if(a.length!==b.length)return false;let mismatch=0;for(let i=0;i<a.length;i++)mismatch|=a.charCodeAt(i)^b.charCodeAt(i);return mismatch===0}\nasync function publicUrl(tenantId:string,fileId:string){return SUPABASE_URL+\"/functions/v1/pcg-google-drive-media/media?tenant=\"+encodeURIComponent(tenantId)+\"&file=\"+encodeURIComponent(fileId)+\"&sig=\"+encodeURIComponent(await signature(tenantId,fileId))}\n\nasync function refreshGoogleToken(admin:any,tenantId:string,credential:any){\n  const granted=Array.isArray(credential?.metadata?.granted_scopes)?credential.metadata.granted_scopes.map((value:unknown)=>String(value)):[];\n  if(credential?.credential_status!==\"active\")return{ok:false as const,code:\"provider_prerequisite_required\",error:\"Connect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  if(!granted.includes(DRIVE_SCOPE))return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections to add Google Drive permission.\"};\n  const{data:secret,error:secretError}=await admin.from(\"tenant_provider_secrets\").select(\"ciphertext,iv\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\").maybeSingle();\n  if(secretError)throw secretError;\n  if(!secret?.ciphertext||!secret?.iv)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  let token=JSON.parse(await decryptSecret(secret.ciphertext,secret.iv)) as StoredToken;\n  const expiresAt=token.expires_at?new Date(token.expires_at).getTime():0;\n  if(expiresAt&&expiresAt<=Date.now()+5*60*1000){\n    if(!token.refresh_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n    const clientId=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_ID\")||\"\",clientSecret=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_SECRET\")||\"\";\n    if(!clientId||!clientSecret)return{ok:false as const,code:\"provider_platform_not_configured\",error:\"Google Workspace is not enabled on KnockLaunch yet.\"};\n    const response=await fetch(\"https://oauth2.googleapis.com/token\",{method:\"POST\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:new URLSearchParams({grant_type:\"refresh_token\",refresh_token:token.refresh_token,client_id:clientId,client_secret:clientSecret})});\n    const payload=await response.json().catch(()=>({}));\n    if(!response.ok||!payload?.access_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n    token={...token,access_token:String(payload.access_token),expires_at:payload.expires_in?new Date(Date.now()+Number(payload.expires_in)*1000).toISOString():token.expires_at,scope:payload.scope?String(payload.scope):token.scope,token_type:payload.token_type?String(payload.token_type):token.token_type};\n    const encrypted=await encryptSecret(JSON.stringify(token));\n    await admin.from(\"tenant_provider_secrets\").update({ciphertext:encrypted.ciphertext,iv:encrypted.iv,verified_at:new Date().toISOString(),verification_error:null}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n    await admin.from(\"tenant_provider_credentials\").update({last_verified_at:new Date().toISOString(),verification_notes:\"Google Workspace token refreshed for PCG Drive media.\"}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n  }\n  if(!token.access_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  return{ok:true as const,accessToken:token.access_token,metadata:(credential?.metadata||{}) as Record<string,unknown>};\n}\nasync function googleWorkspace(admin:any,tenantId:string){\n  const{data:credential,error}=await admin.from(\"tenant_provider_credentials\").select(\"credential_status,metadata\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\").maybeSingle();\n  if(error)throw error;\n  return refreshGoogleToken(admin,tenantId,credential);\n}\nasync function requirePcgMember(req:Request,admin:any,tenantId:string){\n  const auth=clean(req.headers.get(\"Authorization\"));\n  if(!auth.startsWith(\"Bearer \"))return{ok:false as const,status:401,error:\"Please sign in again.\"};\n  const{data,error}=await admin.auth.getUser(auth.slice(7));\n  if(error||!data.user?.id)return{ok:false as const,status:401,error:\"Please sign in again.\"};\n  const{data:isMember,error:memberError}=await admin.rpc(\"is_tenant_member\",{_user_id:data.user.id,_tenant_id:tenantId});\n  if(memberError)throw memberError;\n  if(!isMember)return{ok:false as const,status:403,error:\"This PCG workspace is not available to your account.\"};\n  const{data:tenant,error:tenantError}=await admin.from(\"tenants\").select(\"company_slug,name,settings\").eq(\"id\",tenantId).maybeSingle();\n  if(tenantError)throw tenantError;\n  const slug=clean(tenant?.company_slug).toLowerCase(),settings=(tenant?.settings||{}) as Record<string,unknown>;\n  const isPcg=slug===\"pcg\"||slug===\"prestigious-card-grading\"||clean(settings.routing_family).toUpperCase()===\"CARD_GRADING_OPS\"||clean(settings.workspace_type).toLowerCase()===\"card_grading\"||clean(tenant?.name).toLowerCase().includes(\"prestigious card grading\");\n  if(!isPcg)return{ok:false as const,status:403,error:\"This storage adapter is reserved for the PCG workspace.\"};\n  return{ok:true as const,userId:data.user.id};\n}\nasync function driveJson(accessToken:string,url:string,init:RequestInit={}){\n  const response=await fetch(url,{...init,headers:{Authorization:\"Bearer \"+accessToken,\"Content-Type\":\"application/json\",...(init.headers||{})}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive request failed (\"+response.status+\").\");\n  return payload;\n}\nasync function ensureFolder(admin:any,tenantId:string,accessToken:string,metadata:Record<string,unknown>){\n  let folderId=clean(metadata.pcg_drive_folder_id);\n  if(folderId){\n    const check=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(folderId)+\"?fields=id,trashed,mimeType\",{headers:{Authorization:\"Bearer \"+accessToken}});\n    if(check.ok){const info=await check.json().catch(()=>({}));if(info?.id&&!info?.trashed&&info?.mimeType===\"application/vnd.google-apps.folder\")return folderId}\n  }\n  const created=await driveJson(accessToken,GOOGLE_FILES+\"?fields=id,name\",{method:\"POST\",body:JSON.stringify({name:\"KNOCKLAUNCH PCG Card Images\",mimeType:\"application/vnd.google-apps.folder\",appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId}})});\n  folderId=clean(created.id);\n  if(!folderId)throw new Error(\"Google Drive did not return the PCG folder identifier.\");\n  await admin.from(\"tenant_provider_credentials\").update({metadata:{...metadata,pcg_drive_folder_id:folderId,pcg_drive_storage_owner:\"tenant_google_workspace\"}}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n  return folderId;\n}\nfunction qValue(value:string){return value.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\")}\nasync function findExisting(accessToken:string,folderId:string,importHash:string,side:string){\n  const q=\"'\"+qValue(folderId)+\"' in parents and trashed=false and appProperties has { key='knocklaunch_import_hash' and value='\"+qValue(importHash)+\"' } and appProperties has { key='knocklaunch_side' and value='\"+qValue(side)+\"' }\";\n  const response=await fetch(GOOGLE_FILES+\"?spaces=drive&pageSize=1&fields=files(id,name,mimeType)&q=\"+encodeURIComponent(q),{headers:{Authorization:\"Bearer \"+accessToken}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive could not check the PCG retry identity.\");\n  return Array.isArray(payload.files)&&payload.files[0]?.id?payload.files[0]:null;\n}\nasync function uploadMedia(req:Request,admin:any,url:URL){\n  const tenantId=clean(url.searchParams.get(\"tenant_id\")),sessionKey=clean(url.searchParams.get(\"session_key\")),importKey=clean(url.searchParams.get(\"import_key\")),key=clean(url.searchParams.get(\"key\")),side=clean(url.searchParams.get(\"side\")).toLowerCase();\n  const originalName=safeName(clean(url.searchParams.get(\"name\"))),contentType=clean(url.searchParams.get(\"content_type\")||req.headers.get(\"Content-Type\")||\"application/octet-stream\");\n  if(!tenantId||!sessionKey||!importKey||!key||![\"front\",\"back\",\"slab\"].includes(side))return json({ok:false,error:\"PCG image upload metadata is incomplete.\"},400);\n  if(!contentType.startsWith(\"image/\"))return json({ok:false,error:\"PCG Drive intake accepts image files only.\"},415);\n  if(!req.body)return json({ok:false,error:\"Choose an image to upload.\"},400);\n  const auth=await requirePcgMember(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:google.error},409);\n  const folderId=await ensureFolder(admin,tenantId,google.accessToken,google.metadata);\n  const importHash=await sha256(importKey),sessionHash=await sha256(sessionKey);\n  const existing=await findExisting(google.accessToken,folderId,importHash,side);\n  if(existing?.id)return json({ok:true,deduped:true,file_id:String(existing.id),url:await publicUrl(tenantId,String(existing.id))});\n  const fileName=safeName(key+\"-\"+side+\"-\"+originalName);\n  const created=await driveJson(google.accessToken,GOOGLE_FILES+\"?fields=id,name,mimeType\",{method:\"POST\",body:JSON.stringify({name:fileName,mimeType:contentType,parents:[folderId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_import_hash:importHash,knocklaunch_session_hash:sessionHash,knocklaunch_side:side}})});\n  const fileId=clean(created.id);if(!fileId)throw new Error(\"Google Drive did not create the PCG image record.\");\n  try{\n    const headers:Record<string,string>={Authorization:\"Bearer \"+google.accessToken,\"Content-Type\":contentType};\n    const length=clean(req.headers.get(\"Content-Length\"));if(length)headers[\"Content-Length\"]=length;\n    const uploaded=await fetch(GOOGLE_UPLOAD+\"/\"+encodeURIComponent(fileId)+\"?uploadType=media&fields=id,name,mimeType,size\",{method:\"PATCH\",headers,body:req.body});\n    const payload=await uploaded.json().catch(()=>({}));\n    if(!uploaded.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive image upload failed (\"+uploaded.status+\").\");\n    return json({ok:true,file_id:fileId,url:await publicUrl(tenantId,fileId),storage_owner:\"google_workspace\",master_copy:true});\n  }catch(error){\n    await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+google.accessToken}}).catch(()=>null);\n    throw error;\n  }\n}\nasync function serveMedia(req:Request,admin:any,url:URL){\n  const tenantId=clean(url.searchParams.get(\"tenant\")),fileId=clean(url.searchParams.get(\"file\")),sig=clean(url.searchParams.get(\"sig\"));\n  if(!tenantId||!fileId||!sig)return new Response(\"Not found\",{status:404,headers:cors});\n  const expected=await signature(tenantId,fileId);if(!sameSignature(sig,expected))return new Response(\"Not found\",{status:404,headers:cors});\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return new Response(\"PCG image temporarily unavailable\",{status:503,headers:{...cors,\"Cache-Control\":\"no-store\"}});\n  const metaResponse=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?fields=id,name,mimeType,size,trashed,appProperties\",{headers:{Authorization:\"Bearer \"+google.accessToken}});\n  const meta=await metaResponse.json().catch(()=>({}));\n  if(!metaResponse.ok||meta?.trashed||clean(meta?.appProperties?.knocklaunch_app)!==\"pcg_card_media\"||clean(meta?.appProperties?.knocklaunch_tenant_id)!==tenantId)return new Response(\"Not found\",{status:404,headers:cors});\n  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\"};\n  if(meta.size)baseHeaders[\"Content-Length\"]=String(meta.size);\n  if(req.method===\"HEAD\")return new Response(null,{status:200,headers:baseHeaders});\n  const providerHeaders:Record<string,string>={Authorization:\"Bearer \"+google.accessToken};const range=clean(req.headers.get(\"Range\"));if(range)providerHeaders.Range=range;\n  const media=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?alt=media\",{headers:providerHeaders});\n  if(!media.ok&&media.status!==206)return new Response(\"PCG image temporarily unavailable\",{status:502,headers:{...cors,\"Cache-Control\":\"no-store\"}});\n  const responseHeaders=new Headers(baseHeaders);for(const name of [\"content-length\",\"content-range\",\"etag\",\"last-modified\"])if(media.headers.get(name))responseHeaders.set(name,media.headers.get(name)!);\n  return new Response(media.body,{status:media.status,headers:responseHeaders});\n}\n\nserve(async(req)=>{\n  if(req.method===\"OPTIONS\")return new Response(null,{headers:cors});\n  const admin=createClient(SUPABASE_URL,SERVICE_ROLE),url=new URL(req.url);\n  if(req.method===\"GET\"&&url.pathname.endsWith(\"/health\"))return json({ok:true,service:\"pcg-google-drive-media\",version:FUNCTION_VERSION,master_storage:\"tenant_google_workspace_drive\",public_delivery:\"signed_stream\"});\n  try{\n    if((req.method===\"GET\"||req.method===\"HEAD\")&&url.pathname.endsWith(\"/media\"))return await serveMedia(req,admin,url);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/upload\"))return await uploadMedia(req,admin,url);\n    return json({ok:false,error:\"Method not allowed\"},405);\n  }catch(error){\n    console.error(\"[pcg-google-drive-media]\",error);\n    return json({ok:false,error:error instanceof Error?error.message:\"PCG Google Drive media failed.\"},500);\n  }\n});\n"},{"path":"config/capabilities/pcg-card-grading-modes.json","content":"{\"schemaVersion\":1,\"id\":\"pcg-card-grading-modes\",\"owner\":\"KNOCKLAUNCH Core\",\"surfaces\":[\"src/pages/card-grading/PCGCanonicalWorkspaceRoute.tsx\",\"src/pages/card-grading/PCGModesWorkspace.tsx\",\"src/pages/card-grading/PCGCompletionCenter.tsx\",\"src/pages/card-grading/PCGBatchPublishingCenter.tsx\",\"src/pages/whats-my-progress/PCGWhatsMyProgressHome.tsx\",\"src/pages/whats-my-progress/WhatsMyProgressTenantHome.tsx\"],\"dependencies\":{\"backendRuntime\":[\"supabase/functions/pcg-google-drive-media\",\"supabase/functions/pcg-customer-progress\",\"supabase/functions/pcg-commerce-publisher\",\"supabase/functions/pcg-commerce-webhook\",\"supabase/functions/send-email\"],\"providers\":[{\"id\":\"google_workspace\",\"optional\":true,\"unavailableState\":\"prerequisite_required\"},{\"id\":\"pcg_website\",\"optional\":true,\"unavailableState\":\"prerequisite_required\"},{\"id\":\"ebay\",\"optional\":true,\"unavailableState\":\"prerequisite_required\"}]},\"lifecycle\":{\"states\":[\"prepare\",\"deploy\",\"verify\",\"activate\"],\"compatibilityWindow\":[\"N\",\"N-1\"],\"activationRequirements\":[\"schema and tenant-scoped data ready\",\"frontend and edge runtime ready\",\"production route and customer-progress proof\",\"commerce publisher returns truthful per-channel state\",\"PCG Google Workspace Drive owns new master card imagery or intake returns prerequisite_required\",\"Drive-backed signed media delivery serves workspace, WMP, website and commerce without public Drive folders\"]},\"release\":{\"runtimeFirst\":true},\"canary\":{\"required\":true},\"proofLedger\":{\"authority\":\"command_center_mission_ledger\",\"bind\":[\"request_contract_hash\",\"source_sha\",\"release_receipt\",\"runtime_identity\",\"canary\",\"activation_state\",\"drift_state\",\"quarantine_state\"]}}","expectedSha":"e048f88b2427418d71f128cc20f83da638f1795a"},{"path":"supabase/config.toml","content":"project_id = \"ymntrajfubicyxwwdxxa\"\n\n[functions]\n  [functions.console-ops]\n    # Session and current platform-admin authority are checked inside the function.\n    verify_jwt = false\n  [functions.qr-suite]\n    verify_jwt = false\n  [functions.owner-seo-audit]\n    # Private Knock Launch OS owner tool. The function validates the bearer and requires the authenticated user to match the fixed personal tenant owner_id before scanning the fixed hostname allowlist.\n    verify_jwt = false\n  [functions.owner-search-console]\n    # Private Knock Launch OS owner Search Console tool. OAuth/data authorization is enforced in-function against the fixed personal tenant owner and fixed web-property allowlist.\n    verify_jwt = false\n  [functions.activity-timeline]\n    verify_jwt = false\n  [functions.admin]\n    verify_jwt = true\n  [functions.admin-create-user]\n    verify_jwt = true\n  [functions.admin-impersonate]\n    verify_jwt = true\n  [functions.admin-leads]\n    verify_jwt = true\n  [functions.admin-operations]\n    verify_jwt = true\n  [functions.admin-reset-password]\n    verify_jwt = false\n  [functions.admin-status]\n    verify_jwt = true\n  [functions.admin-tenant-preview]\n    verify_jwt = true\n  [functions.admin-tenant-mode-image-upload]\n    # Authenticated MODES media mutation. The function validates the Bearer JWT and tenant authority in-function before service-role writes.\n    verify_jwt = false\n  [functions.aerial-orders]\n    verify_jwt = true\n  [functions.agreement-sign]\n    verify_jwt = false\n  [functions.agreements]\n    verify_jwt = true\n  [functions.analytics-engine]\n    verify_jwt = false\n  [functions.ai-respond]\n    verify_jwt = false\n  [functions.auto-unlock-document-scan]\n    # Public 321 Auto Unlock document scan. The function rate-limits and only returns confidence-gated intake fields; it performs no database or storage writes.\n    verify_jwt = false\n  [functions.auto-unlock-intake]\n    # Public 321 Auto Unlock intake. Server-validates identity/authority selections, creates an awaiting-signature request, and prepares the existing KnockLaunch e-sign agreement.\n    verify_jwt = false\n  [functions.whatsmyprogress-waitlist]\n    # Public WhatsMyProgress.com launch waitlist. The function enforces allowed origins, validation, rate limits, dedupe, and fixed tenant binding internally.\n    verify_jwt = false\n  [functions.roof-damage-analysis]\n    # Authenticated tenant-user inspection analysis. The function validates the bearer and tenant membership internally before service-role reads or writes.\n    verify_jwt = false\n  [functions.cc-agent]\n    verify_jwt = false\n  [functions.cc-tools]\n    verify_jwt = false\n  [functions.cc-action-logs]\n    verify_jwt = false\n  [functions.cc-deploy-request]\n    verify_jwt = false\n  [functions.cc-deploy-controller]\n    verify_jwt = false\n  [functions.cc-notify-owner]\n    verify_jwt = false\n  [functions.command-center-autopilot]\n    verify_jwt = false\n  [functions.apopka-search]\n    verify_jwt = false\n  [functions.appointments-operations]\n    verify_jwt = false\n  [functions.audit-fix-leads]\n    verify_jwt = true\n  [functions.auth-email-hook]\n    verify_jwt = false\n  [functions.auth-login]\n    verify_jwt = false\n  [functions.auth-operations]\n    verify_jwt = false\n  [functions.background-enrich]\n    verify_jwt = false\n  [functions.batch-document-upload]\n    # Authenticated tenant-scoped upload. Function additionally proves active membership/role\n    # before using service-role storage/database writes.\n    verify_jwt = true\n  [functions.batch-photo-commit]\n    verify_jwt = false\n  [functions.brevard-bass-search]\n    verify_jwt = false\n  [functions.bulk-enrich-permits]\n    verify_jwt = false\n  [functions.bulk-geocode]\n    verify_jwt = false\n  [functions.calls]\n    verify_jwt = true\n  [functions.calls-manage]\n    verify_jwt = false\n  [functions.call-session-status]\n    verify_jwt = false\n  [functions.initiate-call]\n    # Authenticated CRM click-to-call. The function also validates the bearer token internally.\n    verify_jwt = true\n  [functions.canvassing-doors]\n    verify_jwt = true\n  [functions.cape-canaveral-bsa-search]\n    verify_jwt = false\n  [functions.check-global-pool]\n    verify_jwt = true\n  [functions.claim-global-lead]\n    verify_jwt = true\n  [functions.claim-lead]\n    verify_jwt = true\n  [functions.clermont-energov-search]\n    verify_jwt = false\n  [functions.cocoa-beach-opengov-search]\n    verify_jwt = false\n  [functions.cocoa-citizenserve-search]\n    verify_jwt = false\n  [functions.communication-hub]\n    verify_jwt = false\n  [functions.communication-setup-request]\n    # Authenticated workspace setup request. The function re-validates the bearer and tenant membership before service-role writes.\n    verify_jwt = true\n  [functions.compile-leads]\n    verify_jwt = false\n  [functions.config-manage]\n    verify_jwt = true\n  [functions.contacts]\n    # Contacts validates Supabase user JWTs or exact single-use Capability Layer leases in-function.\n    verify_jwt = false\n  [functions.calendar-domain]\n    # Native Calendar validates Supabase user JWTs or exact single-use Capability Layer leases in-function.\n    verify_jwt = false\n  [functions.crm-ai]\n    verify_jwt = false\n  [functions.customer-portal]\n    verify_jwt = false\n  [functions.shared-claims]\n    # Cross-tenant claim collaboration requires an authenticated bearer JWT.\n    verify_jwt = true\n  [functions.daytona-beach-ims-search]\n    verify_jwt = false\n  [functions.deland-accela-search]\n    verify_jwt = false\n  [functions.deltona-citizenserve-search]\n    verify_jwt = false\n  [functions.dialogue-operations]\n    verify_jwt = false\n  [functions.dnc-operations]\n    verify_jwt = false\n  [functions.documents]\n    verify_jwt = false\n  [functions.document-request-public]\n    verify_jwt = false\n  [functions.lawn-care-service-request]\n    # Public customer intake. The function performs its own validation and only\n    # writes through the service-role client after resolving an active tenant.\n    verify_jwt = false\n  [functions.mobile-vendor-event-request]\n    # Public event intake. The function validates required fields and resolves\n    # an active mobile-vendor tenant before any service-role write.\n    verify_jwt = false\n  [functions.entertainment-fanbase]\n    # Mixed auth: public fan join is validated in-function; owner/admin cockpit actions\n    # authenticate the bearer and prove tenant authority before service-role access.\n    verify_jwt = false\n  [functions.mobile-vendor-growth]\n    # Public club join/unsubscribe are validated in-function; owner loyalty and\n    # campaign actions authenticate the bearer and prove tenant authority.\n    verify_jwt = false\n  [functions.mobile-vendor-loyalty-member]\n    # Customer OTP/session actions self-authorize with hashed member sessions;\n    # owner review actions authenticate bearer and tenant authority in-function.\n    verify_jwt = false\n  [functions.mobile-vendor-email-intelligence]\n    # Provider-agnostic inbound email ingestion. The function authenticates a\n    # provider webhook secret or a tenant bearer token before service-role access.\n    verify_jwt = false\n  [functions.opportunity-radar]\n    # The function performs its own bearer/service authorization and exposes\n    # an anonymous /health endpoint for canonical runtime proof.\n    verify_jwt = false\n  [functions.drive-import]\n    verify_jwt = true\n  [functions.drive-operations]\n    verify_jwt = false\n  [functions.drive-sync]\n    verify_jwt = true\n  [functions.duplicate-management]\n    verify_jwt = false\n  [functions.edgewater-bsa-search]\n    verify_jwt = false\n  [functions.emergency-reset]\n    verify_jwt = false\n  [functions.extract-for-contact]\n    verify_jwt = false\n  [functions.field-operations]\n    verify_jwt = false\n  [functions.fill-pdf-form]\n    verify_jwt = true\n  [functions.flagler-beach-bsa-search]\n    verify_jwt = false\n  [functions.followups-operations]\n    verify_jwt = false\n  [functions.fort-pierce-legacy-arcgis]\n    verify_jwt = false\n  [functions.gas-proxy]\n    verify_jwt = true\n  [functions.generate-roof-report]\n    verify_jwt = true\n  [functions.generate-pa-claim-review]\n    # Authenticated PA report generation. The function validates the bearer token,\n    # tenant membership, and feature entitlement internally before service-role access.\n    verify_jwt = false\n  [functions.geocode]\n    verify_jwt = false\n  [functions.global-unassigned-leads]\n    verify_jwt = true\n  [functions.health-check]\n    verify_jwt = false\n  [functions.import-noaa-storms]\n    verify_jwt = false\n  [functions.ims-search]\n    verify_jwt = false\n  [functions.indian-river-search]\n    verify_jwt = false\n  [functions.invoices]\n    verify_jwt = true\n  [functions.jobs]\n    verify_jwt = true\n  [functions.kissimmee-accela-search]\n    verify_jwt = false\n  [functions.lakeland-accela-search]\n    verify_jwt = false\n  [functions.lead-auto-repair]\n    verify_jwt = true\n  [functions.lead-bulk-cleanup]\n    verify_jwt = true\n  [functions.lead-duplicate-detection]\n    verify_jwt = true\n  [functions.lead-quality-scan]\n    verify_jwt = true\n  [functions.leads]\n    verify_jwt = true\n  [functions.leads-add]\n    verify_jwt = false\n  [functions.leads-claim]\n    verify_jwt = false\n  [functions.leads-list]\n    verify_jwt = false\n  [functions.leads-outcome]\n    verify_jwt = false\n  [functions.leesburg-etrakit-search]\n    verify_jwt = false\n  [functions.marion-county-energov-search]\n    verify_jwt = false\n  [functions.mark-document-request-uploaded]\n    verify_jwt = false\n  [functions.melbourne-energov-search]\n    verify_jwt = false\n  [functions.new-smyrna-beach-energov-search]\n    verify_jwt = false\n  [functions.ocala-energov-search]\n    verify_jwt = false\n  [functions.ormond-beach-energov-search]\n    verify_jwt = false\n  [functions.palm-coast-energov-search]\n    verify_jwt = false\n  [functions.parse-hail-intel]\n    verify_jwt = false\n  [functions.permits-import]\n    verify_jwt = false\n  [functions.photos]\n    verify_jwt = true\n  [functions.tenant-photo-studio]\n    verify_jwt = false\n  [functions.pipeline-automation]\n    verify_jwt = false\n  [functions.pipelines-manage]\n    verify_jwt = true\n  [functions.port-orange-smartgov-search]\n    verify_jwt = false\n  [functions.process-email-queue]\n    verify_jwt = true\n  [functions.process-lead-batch]\n    verify_jwt = true\n  [functions.property-discovery]\n    verify_jwt = false\n  [functions.property-enrichment]\n    verify_jwt = false\n  [functions.property-lookup]\n    verify_jwt = true\n  [functions.recent-storms-in-bounds]\n    verify_jwt = false\n  [functions.release-lead]\n    verify_jwt = true\n  [functions.repair-unassigned-pool]\n    verify_jwt = true\n  [functions.rockledge-bsa-search]\n    verify_jwt = false\n  [functions.roof-ai-detection]\n    verify_jwt = false\n  [functions.roof-edge-detection]\n    verify_jwt = false\n  [functions.roof-estimator]\n    verify_jwt = false\n  [functions.roof-operations]\n    verify_jwt = false\n  [functions.satellite-beach-bsa-search]\n    verify_jwt = false\n  [functions.scrape-spc-storms]\n    verify_jwt = false\n  [functions.security-operations]\n    # Mixed public/private security endpoint: anonymous access is restricted in-function to\n    # login lockout telemetry; all session, alert, permission, and admin actions authenticate\n    # the bearer and enforce self/tenant/platform scope before service-role access.\n    verify_jwt = false\n  [functions.seminole-parcel-sync]\n    verify_jwt = false\n  [functions.seminole-search]\n    verify_jwt = false\n  [functions.send-email]\n    verify_jwt = true\n  [functions.self-serve-demo]\n    # Public demo discovery/capture. Bounds website scanning, rejects private-network targets, and never provisions production tenants or executes outbound automation.\n    verify_jwt = false\n  [functions.submit-demo-request]\n    # Public intake validates and rate-limits input in-function; all privileged writes use the service role server-side.\n    verify_jwt = false\n  [functions.zoho-mail]\n    # OAuth callback is public; all tenant actions authenticate the bearer and tenant authority inside the function.\n    verify_jwt = false\n  [functions.capability-router]\n    # Capability Router authenticates Supabase user JWTs and verified cc-execution bearers in-function so delegated execution can reach its lease gate.\n    verify_jwt = false\n  [functions.application-api]\n    # Application API supports public catalog/customer-token reads plus tenant-user and delegated Command Center execution; authorization is enforced in-function.\n    verify_jwt = false\n  [functions.mail360]\n    # Legacy function retained only for rollback history; active tenant email uses zoho-mail.\n    verify_jwt = true\n  [functions.pcg-google-drive-media]\n    # Mixed access: upload requires an authenticated tenant member; signed image GET/HEAD validates an HMAC and PCG Drive ownership in-function.\n    verify_jwt = false\n\n  [functions.pcg-commerce-webhook]\n    # PCG commerce provider callbacks authenticate with a dedicated high-entropy channel secret in-function.\n    verify_jwt = false\n  [functions.mail360-webhook]\n    # Mail360 provider callbacks authenticate with the dedicated high-entropy webhook secret in-function.\n    verify_jwt = false\n  [functions.send-invitation]\n    verify_jwt = false\n  [functions.accept-invitation]\n    # Public inspection is token-scoped; acceptance validates the bearer JWT inside the function.\n    verify_jwt = false\n  [functions.send-sms]\n    verify_jwt = true\n  [functions.sequence-executor]\n    verify_jwt = false\n  [functions.signup-manage]\n    verify_jwt = false\n  [functions.sms-webhook]\n    verify_jwt = false\n  [functions.st-augustine-energov-search]\n    verify_jwt = false\n  [functions.st-cloud-etrakit-search]\n    verify_jwt = false\n  [functions.st-johns-county-energov-search]\n    verify_jwt = false\n  [functions.storm-data-proxy]\n    verify_jwt = false\n  [functions.storm-lookup]\n    verify_jwt = false\n  [functions.tenant-context]\n    # Authenticated tenant-context lookup; live runtime already enforces gateway JWT.\n    verify_jwt = true\n  [functions.tenant-manage]\n    verify_jwt = true\n  [functions.tenant-search]\n    verify_jwt = false\n  [functions.territory-tools]\n    verify_jwt = true\n  [functions.titusville-bsa-search]\n    verify_jwt = false\n  [functions.unified-enrich]\n    verify_jwt = false\n  [functions.universal-extractor]\n    verify_jwt = false\n  [functions.user-roles-manage]\n    verify_jwt = true\n  [functions.user-whoami]\n    verify_jwt = true\n  [functions.verify-admin]\n    verify_jwt = false\n  [functions.view-config-manage]\n    verify_jwt = true\n  [functions.web-search-storms]\n    verify_jwt = false\n  [functions.west-melbourne-bsa-search]\n    verify_jwt = false\n  [functions.winter-haven-energov-search]\n    verify_jwt = false\n  [functions.workflows]\n    verify_jwt = true\n  [functions.workflows-manage]\n    verify_jwt = true\n  [functions.workspace-operations]\n    verify_jwt = false\n  [functions.send-transactional-email]\n    verify_jwt = true\n  [functions.preview-transactional-email]\n    verify_jwt = false\n  [functions.handle-email-unsubscribe]\n    verify_jwt = false\n  [functions.handle-email-suppression]\n    verify_jwt = false\n  [functions.academy-roleplay]\n    verify_jwt = true\n  [functions.academy-sync-from-workflow]\n    verify_jwt = true\n  [functions.create-checkout]\n    verify_jwt = false\n  [functions.get-stripe-price]\n    verify_jwt = false\n  [functions.payments-webhook]\n    verify_jwt = false\n  [functions.finance-reports]\n    # Mixed auth: owner/admin actions validate the Supabase bearer in-function;\n    # scheduled dispatch validates the existing cc-execution machine bearer.\n    verify_jwt = false\n  [functions.finance-square]\n    # Square OAuth callback and payment webhook are public provider callbacks;\n    # owner actions authenticate the bearer and tenant authority inside the function.\n    verify_jwt = false\n  [functions.tenant-provider-connections]\n    # OAuth callbacks are public provider redirects; every tenant action validates\n    # the bearer and tenant owner/platform-admin authority inside the function.\n    verify_jwt = false\n\n  [functions.integrations-health]\n    verify_jwt = false\n  [functions.provision-trial-user]\n    # Legacy one-shot provisioning is restricted to signed-in platform admins.\n    verify_jwt = true\n  [functions.get-shared-storm-report]\n    verify_jwt = false\n  [functions.send-storm-report]\n    verify_jwt = true\n  [functions.twilio-amd-webhook]\n    verify_jwt = false\n  [functions.twilio-voice-webhook]\n    verify_jwt = false\n  [functions.twilio-recording-webhook]\n    verify_jwt = false\n  [functions.twilio-voicemail-webhook]\n    verify_jwt = false\n  [functions.twilio-sms-inbound-webhook]\n    verify_jwt = false\n  [functions.twilio-transcription-webhook]\n    verify_jwt = false\n  [functions.twilio-media-stream]\n    verify_jwt = false\n  [functions.compliance-daily-audit]\n    verify_jwt = false\n  [functions.twiml-bridge-confirm]\n    verify_jwt = false\n  [functions.twiml-transfer-target]\n    verify_jwt = false\n  [functions.twilio-transfer]\n    verify_jwt = true\n  [functions.twilio-transfer-complete]\n    verify_jwt = true\n  [functions.twiml-supervise]\n    verify_jwt = false\n  [functions.twilio-supervise]\n    verify_jwt = true\n  [functions.twiml-inbound-router]\n    verify_jwt = false\n  [functions.twiml-inbound-router-fallback]\n    verify_jwt = false\n  [functions.twiml-ivr-handle]\n    verify_jwt = false\n  [functions.twiml-ring-group]\n    verify_jwt = false\n  [functions.queue-callback-dispatch]\n    verify_jwt = true\n  [functions.twiml-voicemail-box]\n    verify_jwt = false\n  [functions.voicemail-recording-callback]\n    verify_jwt = false\n  [functions.analyze-voicemail]\n    verify_jwt = false\n  [functions.analyze-call-recording]\n    verify_jwt = false\n  [functions.twilio-browser-token]\n    verify_jwt = true\n  [functions.twiml-browser-dial]\n    verify_jwt = false\n  [functions.pa-lor-webhook]","expectedSha":"951f31c9076e1304a5ea5568c4363aee09f281c4"}],"branch":"ai/objective-first-repair-d6ba33d31386","writes":[],"patches":[],"version":1,"approved":true,"missionId":"d6ba33d3-1386-4f48-8041-193965842c64","repository":"noel/KnockLaunchOS","commitMessage":"PCG: store card masters in Google Drive","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"d6ba33d3-1386-4f48-8041-193965842c64","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"89baefb400fba3cdd72a75f0bb168a2391447a53acce74cbb6ef2f5e137294b3","replayCount":0,"serializedBytes":97485},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T00:27:26.005816+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:d6ba33d3-1386-4f48-8041-193965842c64:repository-mutation-intent:89baefb400fba3cdd72a75f0bb168a2391447a53acce74cbb6ef2f5e137294b3:0","mission_step_id":"397c5c07-20e9-4284-895a-4b9312e08ab8","command_center_event_id":"d6ba33d3-1386-4f48-8041-193965842c64"},{"id":"9f8a135d-2433-4791-bec7-09234b60c928","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b2142252305a","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":11708,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":3,"executorlessWaitMs":328314,"firstUsefulResultAt":"2026-10-03T12:35:03.686Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4628,"terminal":false,"missionId":"b2142252-305a-45a4-9760-fee37236be2f","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"06ef4e83921c6bb092d03d88cf15f939c9a49b7b","timingsMs":{"prReadinessMs":95,"approvedPlanMs":0,"shipAndProveMs":728,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"b2142252-305a-45a4-9760-fee37236be2f"},"performance":null,"deploymentId":"forgejo-main-06ef4e83921c","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":1885,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T12:53:01.477039+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4628","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b2142252-305a-45a4-9760-fee37236be2f:automatic-mission-resume:4628:canonical_release_reconciliation_pending","mission_step_id":"757bf208-dd95-475a-aab2-b62fd213ddd9","command_center_event_id":"b2142252-305a-45a4-9760-fee37236be2f"},{"id":"9f8bbc20-e104-41ff-a8c2-d78da9634e2c","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-410787c76bdc","writes":[],"patches":[],"version":1,"approved":true,"missionId":"410787c7-6bdc-46a0-922c-cae767cd09a1","objective":"Continue the PCG Recent Uploads full-history rail mission with exact bounded edits to the current main sources.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/card-grading/PCGModesWorkspace.tsx","src/components/interaction/HorizontalEntityRail.tsx"],"anchored_edits":[{"path":"src/components/interaction/HorizontalEntityRail.tsx","anchor":"type HorizontalEntityRailProps={children:React.ReactNode;className?:string;itemClassName?:string;ariaLabel?:string};","replacement":"type HorizontalEntityRailProps={children:React.ReactNode;className?:string;itemClassName?:string;ariaLabel?:string;onNearEnd?:()=>void;nearEndThresholdPx?:number};"},{"path":"src/components/interaction/HorizontalEntityRail.tsx","anchor":"export function HorizontalEntityRail({children,className,itemClassName,ariaLabel='Scrollable items'}:HorizontalEntityRailProps){","replacement":"export function HorizontalEntityRail({children,className,itemClassName,ariaLabel='Scrollable items',onNearEnd,nearEndThresholdPx=320}:HorizontalEntityRailProps){"},{"path":"src/components/interaction/HorizontalEntityRail.tsx","anchor":"  const suppressClickRef=React.useRef(false);","replacement":"  const suppressClickRef=React.useRef(false);\n  const maybeLoadMore=React.useCallback(()=>{const rail=railRef.current;if(!rail||!onNearEnd)return;const remaining=rail.scrollWidth-rail.clientWidth-rail.scrollLeft;if(remaining<=nearEndThresholdPx)onNearEnd()},[nearEndThresholdPx,onNearEnd]);\n  React.useEffect(()=>{maybeLoadMore()},[children,maybeLoadMore]);"},{"path":"src/components/interaction/HorizontalEntityRail.tsx","anchor":"onClickCapture={(event)=>{if(!suppressClickRef.current)return;event.preventDefault();event.stopPropagation()}}","replacement":"onClickCapture={(event)=>{if(!suppressClickRef.current)return;event.preventDefault();event.stopPropagation()}} onScroll={maybeLoadMore}"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","anchor":"const PCGBatchPublishingCenter=React.lazy(()=>import('@/pages/card-grading/PCGBatchPublishingCenter'));","replacement":"const PCGBatchPublishingCenter=React.lazy(()=>import('@/pages/card-grading/PCGBatchPublishingCenter'));\nconst RECENT_UPLOAD_PAGE_SIZE=18;"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","anchor":"  const[recentUploads,setRecentUploads]=React.useState<RecentUpload[]>([]);\n  const[adminOpen,setAdminOpen]=React.useState(false);","replacement":"  const[recentUploads,setRecentUploads]=React.useState<RecentUpload[]>([]);\n  const[recentUploadsLoading,setRecentUploadsLoading]=React.useState(false);\n  const[recentUploadsHasMore,setRecentUploadsHasMore]=React.useState(true);\n  const recentUploadsOffsetRef=React.useRef(0);\n  const recentUploadsLoadingRef=React.useRef(false);\n  const[adminOpen,setAdminOpen]=React.useState(false);"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","anchor":"      (supabase as any).from('card_grading_cards').select('id,submission_id,front_image_url,player_character,brand_set,year,pcg_submission_number,created_at').eq('tenant_id',tenantId).eq('is_demo',false).order('created_at',{ascending:false}).limit(6)","replacement":"      (supabase as any).from('card_grading_cards').select('id,submission_id,front_image_url,player_character,brand_set,year,pcg_submission_number,created_at').eq('tenant_id',tenantId).eq('is_demo',false).order('created_at',{ascending:false}).order('id',{ascending:false}).range(0,RECENT_UPLOAD_PAGE_SIZE-1)"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","anchor":"      setSubmissionSummaries(rows);\n      setRecentUploads((cardResult?.data||[]) as RecentUpload[]);\n      setCounts(next);","replacement":"      const cards=(cardResult?.data||[]) as RecentUpload[];\n      setSubmissionSummaries(rows);\n      setRecentUploads(cards);\n      recentUploadsOffsetRef.current=cards.length;\n      setRecentUploadsHasMore(cards.length===RECENT_UPLOAD_PAGE_SIZE);\n      setCounts(next);"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","anchor":"  },[tenantId]);\n\n  const setMode=React.useCallback","replacement":"  },[tenantId]);\n\n  const loadMoreRecentUploads=React.useCallback(()=>{\n    if(!tenantId||!recentUploadsHasMore||recentUploadsLoadingRef.current)return;\n    recentUploadsLoadingRef.current=true;\n    setRecentUploadsLoading(true);\n    const start=recentUploadsOffsetRef.current;\n    void (supabase as any).from('card_grading_cards').select('id,submission_id,front_image_url,player_character,brand_set,year,pcg_submission_number,created_at').eq('tenant_id',tenantId).eq('is_demo',false).order('created_at',{ascending:false}).order('id',{ascending:false}).range(start,start+RECENT_UPLOAD_PAGE_SIZE-1).then((result:any)=>{\n      const rows=(result?.data||[]) as RecentUpload[];\n      recentUploadsOffsetRef.current=start+rows.length;\n      setRecentUploads(previous=>{const seen=new Set(previous.map(card=>card.id));return [...previous,...rows.filter(card=>!seen.has(card.id))]});\n      setRecentUploadsHasMore(rows.length===RECENT_UPLOAD_PAGE_SIZE);\n    }).catch(()=>{}).finally(()=>{recentUploadsLoadingRef.current=false;setRecentUploadsLoading(false)});\n  },[recentUploadsHasMore,tenantId]);\n\n  const setMode=React.useCallback"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","anchor":"{recentUploads.length?<HorizontalEntityRail ariaLabel=\"Recent PCG card uploads\" itemClassName=\"basis-[72%] sm:basis-[42%] md:basis-[31%] lg:basis-[24%] xl:basis-[20%] 2xl:basis-[18%]\">{recentUploads.map(card=>{const submission=submissionsById.get(card.submission_id);return <button key={card.id} type=\"button\" onClick={()=>submission?openSubmissionStage(card.submission_id,submission.status):navigate('/pcg/card-vault')} className=\"block w-full min-w-0 overflow-hidden rounded-xl border border-white/[.08] bg-black/40 text-left transition hover:border-[#d8bb78]/30 hover:bg-white/[.04]\"><div className=\"aspect-[4/3] bg-black/55\">{card.front_image_url?<img src={card.front_image_url} alt=\"\" draggable={false} className=\"h-full w-full select-none object-contain\"/>:<div className=\"grid h-full place-items-center text-[9px] font-black text-white/20\">NO IMAGE</div>}</div><div className=\"p-2\"><div className=\"truncate text-[10px] font-black text-white\">{[card.year,card.player_character||card.brand_set].filter(Boolean).join(' · ')||'Card'}</div><div className=\"mt-1 truncate text-[9px] font-semibold text-white/35\">Submission #{card.pcg_submission_number||submission?.submission_number||'—'}</div></div></button>})}</HorizontalEntityRail>:<div className=\"rounded-xl border border-dashed border-white/[.08] px-3 py-5 text-center text-xs font-semibold text-white/35\">No card uploads yet.</div>}","replacement":"{recentUploads.length?<HorizontalEntityRail ariaLabel=\"Recent PCG card uploads\" itemClassName=\"basis-[72%] sm:basis-[42%] md:basis-[31%] lg:basis-[24%] xl:basis-[20%] 2xl:basis-[18%]\" onNearEnd={loadMoreRecentUploads}>{recentUploads.map(card=>{const submission=submissionsById.get(card.submission_id);return <button key={card.id} type=\"button\" onClick={()=>submission?openSubmissionStage(card.submission_id,submission.status):navigate('/pcg/card-vault')} className=\"block w-full min-w-0 overflow-hidden rounded-xl border border-white/[.08] bg-black/40 text-left transition hover:border-[#d8bb78]/30 hover:bg-white/[.04]\"><div className=\"aspect-[4/3] bg-black/55\">{card.front_image_url?<img src={card.front_image_url} alt=\"\" draggable={false} className=\"h-full w-full select-none object-contain\"/>:<div className=\"grid h-full place-items-center text-[9px] font-black text-white/20\">NO IMAGE</div>}</div><div className=\"p-2\"><div className=\"truncate text-[10px] font-black text-white\">{[card.year,card.player_character||card.brand_set].filter(Boolean).join(' · ')||'Card'}</div><div className=\"mt-1 truncate text-[9px] font-semibold text-white/35\">Submission #{card.pcg_submission_number||submission?.submission_number||'—'}</div></div></button>})}<div aria-live=\"polite\" className=\"grid h-full min-h-[140px] place-items-center rounded-xl border border-dashed border-white/[.08] bg-black/20 px-3 text-center text-[10px] font-bold text-white/35\">{recentUploadsLoading?'Loading more cards…':recentUploadsHasMore?'Keep scrolling':'End of uploads'}</div></HorizontalEntityRail>:<div className=\"rounded-xl border border-dashed border-white/[.08] px-3 py-5 text-center text-xs font-semibold text-white/35\">No card uploads yet.</div>}"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"410787c7-6bdc-46a0-922c-cae767cd09a1","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/card-grading/PCGModesWorkspace.tsx","src/components/interaction/HorizontalEntityRail.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":"29ad26be010faae3c34e9ef4bc27c8e6590abeed78cd2ea06dbcee1fef6b9506","replayCount":0,"serializedBytes":9452},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T17:24:22.265249+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:410787c7-6bdc-46a0-922c-cae767cd09a1:repository-mutation-intent:29ad26be010faae3c34e9ef4bc27c8e6590abeed78cd2ea06dbcee1fef6b9506:0","mission_step_id":"aa1eea8d-7460-4617-a6cb-e77a15a4b390","command_center_event_id":"410787c7-6bdc-46a0-922c-cae767cd09a1"},{"id":"9f8df34e-4f8f-431f-86bc-cbc5d926a075","source":"cc-execution","status":"verified","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts"],"baseSha":"ad80ed0ec7a6d4713132436eb58931e56913fa2c","consumedAt":1788296919076,"consumerToken":"44f66cb7-3706-4005-9399-741b67df4264","authorizationId":"51a37978-81bb-4070-9c02-c2378c328ff2"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-01T21:08:39.855619+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"ad80ed0ec7a6d4713132436eb58931e56913fa2c","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:51a37978-81bb-4070-9c02-c2378c328ff2","mission_step_id":"2c1f9842-48a3-484e-9d20-e5375a14bb6b","command_center_event_id":"bb28a4f7-2bbe-4ac0-84c9-009170fb701a"},{"id":"9f8e7810-c69e-46f7-9a3e-e446e5d24f32","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/curri-realtor-shell-restore-20260906","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.68-visual-witness-self-heal-proof","prNumber":null,"terminal":false,"missionId":"60d21db1-0f31-41e2-a13e-4b6a0a7dd59a","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6290,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":238,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":238,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":238,"repositoryMutationMs":6290,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":238,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"60d21db1-0f31-41e2-a13e-4b6a0a7dd59a"},"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":1549,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-06T19:37:31.813642+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:60d21db1-0f31-41e2-a13e-4b6a0a7dd59a:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"549af2de-0e52-4d30-8c9b-b6a365f79ea8","command_center_event_id":"60d21db1-0f31-41e2-a13e-4b6a0a7dd59a"},{"id":"9f9298a0-6890-47e3-9db5-1c9a1dfef5a1","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mission-control.js"],"reason":"PR #2278 is current, mergeable, and passed exact-head KnockLaunch Gate run 6712, but Command Center mission authorization repeatedly fails at the hard 2500ms Forgejo read budget. This bounded repair widens only that retry window so the canonical release can proceed.","baseSha":"7cf6f3d1f046dcf00b4502e5221e3d1d561f5666","issuedAt":1789019117913,"expiresAt":1789019297913,"missionId":"61600fed-3d4b-4b15-85d2-706e74288564","authorizationId":"fc479d17-ea7a-41b8-8d89-e87bfc166413","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T05:45:18.461003+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"7cf6f3d1f046dcf00b4502e5221e3d1d561f5666","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:fc479d17-ea7a-41b8-8d89-e87bfc166413","mission_step_id":"28281bd9-2a50-4b37-ad1f-5eea32bb7a9b","command_center_event_id":"61600fed-3d4b-4b15-85d2-706e74288564"},{"id":"9f92f153-2b23-4071-b2e8-077d5e919dc4","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"48821c8d-ded3-4b57-8a78-e053c34adef3","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-8c04bea84e20","reason":null,"status":"pending","metrics":{"receiptBytes":145198,"releaseCount":0,"toolCallCount":78,"repeatedCallCount":40,"executorlessWaitMs":4645352,"firstUsefulResultAt":"2026-09-28T13:17:30.172Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3993,"terminal":false,"missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"7d477d4a1e4117ce0180b206604417728935ac6a","timingsMs":{"queue":235,"total":308,"execution":73},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},"performance":null,"deploymentId":"forgejo-main-7d477d4a1e41","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"48821c8d-ded3-4b57-8a78-e053c34adef3","tenant":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"48821c8d-ded3-4b57-8a78-e053c34adef3","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/redfish-roofing/roof-measurement","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":1,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":"failed","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1817,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T14:34:56.716507+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"7d477d4a1e4117ce0180b206604417728935ac6a","external_id":"48821c8d-ded3-4b57-8a78-e053c34adef3","receipt_type":"visual_proof_started","idempotency_key":"mission:8c04bea8-4e20-43c8-8b0e-56d79150cdd6:visual-start:48821c8d-ded3-4b57-8a78-e053c34adef3","mission_step_id":"d411668f-fe4a-4ab5-80d6-0d9bde8b75cc","command_center_event_id":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},{"id":"9f931430-7dc6-4ddc-9aaf-dd99136a5dee","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-43feefa098cc","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.118-architecture-exclusivity","prNumber":2545,"terminal":false,"missionId":"43feefa0-98cc-4464-b8f7-d463532417ea","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":15577,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":271,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":271,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":271,"repositoryMutationMs":15577,"repositoryProviderMs":14235,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":5828,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":271,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":8407},"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":"43feefa0-98cc-4464-b8f7-d463532417ea"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3308,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:47:15.791994+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2545","receipt_type":"execute_mission","idempotency_key":"mission:43feefa0-98cc-4464-b8f7-d463532417ea:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"00fe7747-0642-4b1e-80b6-1ef60d870394","command_center_event_id":"43feefa0-98cc-4464-b8f7-d463532417ea"},{"id":"9f980823-f243-4261-8543-1377895eb9df","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/tennex-source-campaigns-v3","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":166268,"releaseCount":0,"toolCallCount":32,"repeatedCallCount":27,"executorlessWaitMs":707640,"firstUsefulResultAt":"2026-10-02T02:04:09.508Z","recoveryAttemptCount":26,"ownerInterruptionCount":0},"version":"1.64.47-paul-owner-answer-quality","prNumber":4451,"terminal":false,"missionId":"ab056dde-4d50-4093-b12c-f8181863b8fe","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3647,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":996,"missionSetupMs":580,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":498,"ledgerReconcileMs":0,"lineageReconcileMs":82,"resolvePreflightMs":580,"repositoryMutationMs":2651,"repositoryProviderMs":2651,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2545,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":498,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":106},"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":"ab056dde-4d50-4093-b12c-f8181863b8fe"},"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":3193,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T02:04:15.984309+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4451","receipt_type":"execute_mission","idempotency_key":"mission:ab056dde-4d50-4093-b12c-f8181863b8fe:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"3553676e-7ce6-4094-8aee-9aed0cd5e541","command_center_event_id":"ab056dde-4d50-4093-b12c-f8181863b8fe"},{"id":"9f991895-9723-4055-a656-375eb33564c2","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-ed7c5a5800e8","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.223-durable-witness-lane-affinity","prNumber":null,"terminal":false,"missionId":"ed7c5a58-00e8-40e5-be11-a9cde2ac69a1","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":296,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":657,"providerAuthMs":0,"ledgerPrepareMs":657,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":657,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":657,"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":"ed7c5a58-00e8-40e5-be11-a9cde2ac69a1"},"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":6353,"likelyAffectedFiles":["src/PrivateAppShell.tsx","scripts/visual-witness-hosted-runner/src/server-tenant-projection.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T18:53:05.258924+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ed7c5a58-00e8-40e5-be11-a9cde2ac69a1:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"f9ab7fb9-ee55-47e6-84fe-bfd9e8ab57c7","command_center_event_id":"ed7c5a58-00e8-40e5-be11-a9cde2ac69a1"},{"id":"9f995723-ff05-41bb-8ad9-2c4fe77d1116","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"c3ee69403788b8f2f0a109c4173d93f9dc13053e","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"c3ee69403788b8f2f0a109c4173d93f9dc13053e","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"3aa6b8d41ce822d5ad63b289cf23bfd8be99c9ab5b4b1a6b8c7afd5462c4a296","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13054","runId":13054,"status":"waiting","sourceSha":"c3ee69403788b8f2f0a109c4173d93f9dc13053e","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T14:44:41.339701+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"c3ee69403788b8f2f0a109c4173d93f9dc13053e","external_id":"forgejo-main-c3ee69403788","receipt_type":"canonical_release_status","idempotency_key":"mission:841a01ac-fc83-41c5-8be1-1b50df4c9f7f:forgejo-release-status:c3ee69403788b8f2f0a109c4173d93f9dc13053e:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"3e6e2aee-4604-4985-95c2-4f7095c8978e","command_center_event_id":"841a01ac-fc83-41c5-8be1-1b50df4c9f7f"},{"id":"9f9986b0-e7be-4741-ab07-5a00b5ded142","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\":\"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\":[\"release\",\"runtime\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-04T04:29:37.47936+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":4696,\"sourceSha\":\"8b75d4ea5290755e92513299921260ac2739f50c\",\"deploymentId\":\"forgejo-main-8b75d4ea5290\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T01:35:27.738362+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:7885e8ef-2225-4511-bbad-af7852cfcdd1:owner-progress-heartbeat:119405181","mission_step_id":"d2004713-a253-46bc-ab13-b7a556dac480","command_center_event_id":"7885e8ef-2225-4511-bbad-af7852cfcdd1"},{"id":"9f99f76b-9783-494f-8744-abdb1cf90ba6","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":628,"terminal":false,"missionId":"c9c5e449-d1df-4435-8521-68ca92fbc114","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":"c9c5e449-d1df-4435-8521-68ca92fbc114"},"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":5022,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-23T19:35:27.434654+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"628","receipt_type":"execute_mission","idempotency_key":"mission:c9c5e449-d1df-4435-8521-68ca92fbc114:execute_mission:canonical_release_transport_retryable","mission_step_id":"b6711f45-7ace-4a09-8aae-0e51fd2768fc","command_center_event_id":"c9c5e449-d1df-4435-8521-68ca92fbc114"},{"id":"9f9d917c-dbeb-42d1-b85d-3e075f441041","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-24T05:48:15.970Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:36:50.270737+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:0a680ea0-28cd-4751-b264-c7ac0f65951b:owner-wait-live","mission_step_id":"17b53691-1b97-40a2-8810-29374aae5548","command_center_event_id":"0a680ea0-28cd-4751-b264-c7ac0f65951b"},{"id":"9f9f2679-ec8c-4697-a1e6-69a0b83eba5e","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_not_unique:supabase/functions/tenant-media-library/index.ts","fingerprint":"9636d6d22f435a9e7c992b82385b2aef67b65f4c7c3d5388767c8a448b8406bc"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T14:13:48.997612+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:52ddb3fe-0c65-45da-a9a3-0ddd1cd1551c:repository-mutation-intent-blocked:9636d6d22f435a9e7c992b82385b2aef67b65f4c7c3d5388767c8a448b8406bc","mission_step_id":"8f4c791b-e75b-4735-bb54-2dfa91efd673","command_center_event_id":"52ddb3fe-0c65-45da-a9a3-0ddd1cd1551c"},{"id":"9fa226dd-714f-465c-a7a7-444df7b6758a","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"9b964322bbe93724d1aa2c64d2c865312d9b96fc","requestContractProof":{"legacy":true,"present":false,"satisfied":true,"visualRequested":false,"visualSatisfied":true,"pendingProofKinds":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T01:31:42.365559+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"9b964322bbe93724d1aa2c64d2c865312d9b96fc","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:4fde40ec-5e2e-4256-9712-de2e31f34d37:request-contract:legacy:9b964322bbe93724d1aa2c64d2c865312d9b96fc:verified:","mission_step_id":"65bbdb3a-d1f7-42ee-9f12-ec4757ba1ef3","command_center_event_id":"4fde40ec-5e2e-4256-9712-de2e31f34d37"},{"id":"9fa3dbff-972c-4159-bf00-73d229fcd7eb","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/PcgAppShell.tsx","src/shells/pcg/PCGTenantShell.tsx","src/pages/card-grading/PCGCanonicalWorkspaceRoute.tsx"],"continuationObjective":"Repair the substantial PCG production regression without abandoning the dedicated PCG shell or approved dashboard zoom. Restore stable tenant membership/bootstrap, exactly one avatar, stable PCG-local routing, canonical PCG modes/routes including Card Vault, and repair Card Vault search/data behavior so the migrated PCG card data is available. Carry the repair through Gate, squash merge, affected production release, and live production proof."},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-03T23:11:36.799419+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:d6630708-0b54-4507-b300-af7c3ae1a0cd:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"b723a2fb-80c4-4732-94c1-57ac27aba492","command_center_event_id":"d6630708-0b54-4507-b300-af7c3ae1a0cd"},{"id":"9fa3fa68-0389-4318-86c3-2d07d3286908","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/installed-app-release-convergence","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.214-mcp-repository-source-resolution","prNumber":3449,"terminal":false,"missionId":"913ec110-b052-4618-9d7f-51f7f585c9c8","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5114,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1060,"missionSetupMs":481,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":481,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":481,"repositoryMutationMs":4054,"repositoryProviderMs":4054,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2471,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":481,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1583},"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":"913ec110-b052-4618-9d7f-51f7f585c9c8"},"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":3290,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T17:20:25.986163+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3449","receipt_type":"execute_mission","idempotency_key":"mission:913ec110-b052-4618-9d7f-51f7f585c9c8:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"25e47937-f458-435d-af7a-b8e13c99c217","command_center_event_id":"913ec110-b052-4618-9d7f-51f7f585c9c8"},{"id":"9fa54c92-d32e-43d1-8cbf-c63f4acb2ee9","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3c9c7b2c9ad3","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.113-orphan-cache-absence-proof","prNumber":2447,"terminal":false,"missionId":"3c9c7b2c-9ad3-4eba-b110-a17b882a1436","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3951,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3201,"approvedPlanMs":0,"missionSetupMs":4952,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":469,"ledgerReconcileMs":0,"lineageReconcileMs":4483,"resolvePreflightMs":4952,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":469,"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":"3c9c7b2c-9ad3-4eba-b110-a17b882a1436"},"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-11T23:52:35.78417+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2447","receipt_type":"execute_mission","idempotency_key":"mission:3c9c7b2c-9ad3-4eba-b110-a17b882a1436:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"9fa9881f-9c56-42f9-9d3f-3847fe9eeeda","command_center_event_id":"3c9c7b2c-9ad3-4eba-b110-a17b882a1436"},{"id":"9fa702d4-eaa1-439f-977c-451d674044a3","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Recover the exact already-written platform business activity branch into its missing Forgejo pull request without changing branch contents. Preserve the existing platform-wide activity/attribution mission and do not merge or release yet.","wordingChanged":false,"canonicalIntent":"Recover the exact already-written platform business activity branch into its missing Forgejo pull request without changing branch contents. Preserve the existing platform-wide activity/attribution mission and do not merge or release yet.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"A single canonical platform activity-event primitive underlies tenant and owner-oversight activity history, with immutable event identity, tenant/business identity, actor/role, entity type/id, event type, occurred_at, source/origin, correlation/context metadata, and a human-readable summary.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-2","statement":"Lead attribution is part of the primitive and preserves first-touch/original source, current/latest source where applicable, source category/channel, campaign/UTM/referrer/landing/import/manual origin metadata, and append-only source-change history.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-3","statement":"Meaningful lifecycle activity is captured or projected from authoritative records for contacts/accounts/customers, leads/opportunities, assignment/stage changes, estimates, proposals/e-sign, documents, communications/notes where capturable, closed-won/lost outcomes, invoices/payments/revenue where present, and tenant/user lifecycle events; closed records remain queryable and source-to-revenue lineage is preserved where data exists.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-4","statement":"Redfish Roofing has a Redfish-scoped consumer for Jimmy's existing authorized owner role, with entity history and attribution wired into the tenant experience and no cross-tenant exposure.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-5","statement":"The KnockLaunch owner tenant consumes the same platform primitive as an oversight surface across businesses/tenants, including business signup/onboarding, membership/invitation changes, meaningful usage/workflow events already capturable, lifecycle milestones, records, documents/transactions where applicable, and tenant status; it is not the owner of the primitive itself.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-6","statement":"Recoverable historical activity is backfilled from authoritative existing records/audit/telemetry; when exact historical chronology was never captured, only clearly identified baseline/snapshot entries are created, never fabricated event precision. Existing specialized estimates, proposals, invoicing, CRM/contact, authentication, role behavior, and telemetry remain intact.","proofConditionIds":["proof-repository","proof-runtime"]}],"objective":"Recover the exact already-written platform business activity branch into its missing Forgejo pull request without changing branch contents. Preserve the existing platform-wide activity/attribution mission and do not merge or release yet.","constraints":[{"id":"constraint-1","statement":"Current Forgejo main and config/control-plane-capabilities.json govern implementation and release; use one ai/* branch, one PR, KnockLaunch Gate, squash merge, affected-target deployment, and live runtime proof.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"constraint-2","statement":"Tenant isolation is default. Cross-tenant reads are permitted only to the existing authorized platform-owner oversight scope; Redfish/Jimmy remains Redfish-only and full tenant-wide history is owner/manager/admin scoped.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"constraint-3","statement":"Extend existing authoritative audit/activity/telemetry contracts rather than creating a duplicate logging system or replacing specialized business technology.","proofConditionIds":["proof-repository"]},{"id":"constraint-4","statement":"Owner-facing and Jimmy-facing UI uses business language rather than developer/infrastructure jargon. Visual Witness is not requested for this nonvisual implementation.","proofConditionIds":["proof-repository","proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Current Forgejo source and exact merged diff prove the platform event/attribution contract, authoritative integrations, Redfish tenant-scoped owner consumer, owner-oversight consumer, tenant isolation, and preservation of specialized modules.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-runtime","kind":"runtime","claim":"After KnockLaunch Gate, squash merge, and affected-target release, exact live production runtime/source identity plus deployed Supabase contract prove the platform activity/attribution primitive and both authorized consumer surfaces are live.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"132d9fdcb8c09ef3f2c4623cb7851016f8ef7bb8fb90294b6745acdff809fe05","requestContractRevision":3,"previousRequestContractHash":"5f60299fb346cd079e4007ef1c134bb2515766eb1218fed437f3f0776c2dc822"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T17:15:18.942024+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:abdae48d-be22-4be6-937e-739088f658ba:request-contract:132d9fdcb8c09ef3f2c4623cb7851016f8ef7bb8fb90294b6745acdff809fe05","mission_step_id":"d7e854a1-d791-4c27-a3e1-ac531538bad2","command_center_event_id":"abdae48d-be22-4be6-937e-739088f658ba"},{"id":"9fa70743-c754-418a-bd32-feebdb84ef3f","source":"cc-execution","status":"recorded","payload":{"objective":"Make both PCG MODES headers explicitly viewport-width so they cannot be constrained by an ancestor scroll container. Preserve all existing controls and behavior.","tenantRef":"pcg","receivedAt":"2026-09-20T04:47:47.119Z","fingerprint":"620d346e221facdaf3cfeb7e14cd6f0ed4be23ee6e5344630b4d6469143023f0","workstreamRef":"pcg","conversationId":null,"canonicalBranch":"ai/pcg-header-viewport-width","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Make both PCG MODES headers explicitly viewport-width so they cannot be constrained by an ancestor scroll container. Preserve all existing controls and behavior.","wordingChanged":false,"canonicalIntent":"Make both PCG MODES headers explicitly viewport-width so they cannot be constrained by an ancestor scroll container. Preserve all existing controls and behavior.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"legacy_derived","version":1,"outcomes":[{"id":"outcome-1","statement":"Make both PCG MODES headers explicitly viewport-width so they cannot be constrained by an ancestor scroll container. Preserve all existing controls and behavior.","proofConditionIds":["proof-production","proof-visual"]}],"objective":"Make both PCG MODES headers explicitly viewport-width so they cannot be constrained by an ancestor scroll container. Preserve all existing controls and behavior.","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":"Make both PCG MODES headers explicitly viewport-width so they cannot be constrained by an ancestor scroll container. Preserve all existing controls and behavior.","route":"/pcg/DASHBOARD","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":"Make both PCG MODES headers explicitly viewport-width so they cannot be constrained by an ancestor scroll container. Preserve all existing controls and behavior.","route":"/pcg/DASHBOARD","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Make-both-PCG-MODES-headers-explicitly-viewport-width-so-they-cannot-be-constrained-by-an-ancestor-s","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":"ai/pcg-header-viewport-width","conversationContext":null,"requestContractHash":"82b9a885f9ef27b4b4a2005a9de6a32c84ecb421115dc703a8ed51be9811de5e","requestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-20T04:47:47.457658+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:45e508fb-7168-4481-9e80-c823b74c6bbf:tenant-workstream-contribution:620d346e221facdaf3cfeb7e14cd6f0ed4be23ee6e5344630b4d6469143023f0","mission_step_id":null,"command_center_event_id":"45e508fb-7168-4481-9e80-c823b74c6bbf"},{"id":"9fabe7bd-1417-4634-8a7d-1f919922c12d","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\":null,\"activeStep\":null,\"nextStep\":null,\"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\":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\":null,\"prNumber\":4230,\"sourceSha\":\"ec9f2b7b2da7562f28ae7a06d67da9041c512bf3\",\"deploymentId\":\"canonical-release-ec9f2b7b2da7\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T18:56:44.534526+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:ab7ee2ac-f48d-4c96-8748-821f76b135a4:owner-progress-heartbeat:119409346","mission_step_id":"d080bf95-6061-40e8-847f-f5d3508540cb","command_center_event_id":"ab7ee2ac-f48d-4c96-8748-821f76b135a4"},{"id":"9fac4eea-46a7-4e8b-9808-162aa1954eef","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"974e225089871d6848a4f9abacb8e988dffa8b8d","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Explicit tenant-anchored route-family requests resolve without false ambiguity while genuinely ambiguous tenant targets still fail closed.","proofConditionIds":["proof-route-family-resolver-live"]}],"satisfied":true,"constraints":[{"id":"scope","satisfied":true,"statement":"Limit the change to the Console tenant resolver and its focused route-family regression contract. Do not broaden tenant matching generally or weaken genuine ambiguity safeguards.","proofConditionIds":["proof-route-family-resolver-live"]},{"id":"preserve-genuine-ambiguity","satisfied":true,"statement":"Requests without a current-tenant anchor or a high-confidence exact/learned tenant match must continue to require the existing confidence and runner-up gap before resolution.","proofConditionIds":["proof-route-family-resolver-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":["proof-route-family-resolver-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":["proof-route-family-resolver-live"]}],"contractHash":"b9af49c6c19788fa015d932349ebd0f7c699d056f075258be7140dedca9ac78a","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-route-family-resolver-live","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"migrationReleaseVerified":null,"releaseRequestContractHash":"b9af49c6c19788fa015d932349ebd0f7c699d056f075258be7140dedca9ac78a"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:32:17.456944+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"974e225089871d6848a4f9abacb8e988dffa8b8d","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:67c84226-55df-4c5b-8503-8e7afe25a113:request-contract:b9af49c6c19788fa015d932349ebd0f7c699d056f075258be7140dedca9ac78a:974e225089871d6848a4f9abacb8e988dffa8b8d:verified:","mission_step_id":"4fc9b74d-6f59-40d2-becc-a41993a8c570","command_center_event_id":"67c84226-55df-4c5b-8503-8e7afe25a113"},{"id":"9faca5c6-0929-48bd-9d47-d9d2abe06d9b","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"bf805794-9d47-4ce9-8133-cf7d4966e134"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T18:44:29.867294+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:bf805794-9d47-4ce9-8133-cf7d4966e134:mission-cancel:bf805794-9d47-4ce9-8133-cf7d4966e134","mission_step_id":"c3ea9deb-c7ea-46c2-bde8-762e961dd6b0","command_center_event_id":"bf805794-9d47-4ce9-8133-cf7d4966e134"},{"id":"9fade6ac-a025-4f24-a874-e65834163ad6","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-dfd765bf4818","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.296-universal-stop","prNumber":null,"terminal":false,"missionId":"dfd765bf-4818-4c40-9fd3-fc335ab83aab","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1658,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":368,"providerAuthMs":0,"ledgerPrepareMs":368,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":368,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":368,"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":"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":3834,"likelyAffectedFiles":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-visual-proof-inference.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:46:17.089814+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:dfd765bf-4818-4c40-9fd3-fc335ab83aab:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"a2d66ec8-4603-4b28-a656-a8b7a1fabeaf","command_center_event_id":"dfd765bf-4818-4c40-9fd3-fc335ab83aab"},{"id":"9faf91e3-fdc0-4a68-b5d0-aba6a6f84176","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly requested tightening the CI/control-plane machinery after repeated zombie Gate and false failure-line incidents.","baseSha":"c1928d1627b6cd58fa76daa3333d76f76f7b2bfb","issuedAt":1790094962703,"expiresAt":1790095142703,"missionId":"40640cbd-a14e-4862-82a9-e99470a84d9f","authorizationId":"c07e73be-8cf7-4108-999c-a90e5a357ae4","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T16:36:03.064855+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"c1928d1627b6cd58fa76daa3333d76f76f7b2bfb","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c07e73be-8cf7-4108-999c-a90e5a357ae4","mission_step_id":"9812736d-4c1b-4524-8df8-c2765a490c66","command_center_event_id":"40640cbd-a14e-4862-82a9-e99470a84d9f"},{"id":"9fafcd6e-95b5-469d-b3e4-566efedc3ede","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"a8f69b2133e43498f2606c45a8fa30b5f38a9b03","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"a8f69b2133e43498f2606c45a8fa30b5f38a9b03","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":"27de6287b087ffb9f5c6b1240a2363b45ebd25c6432cf6a8d4331d44b50a42dc","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/11650","runId":11650,"status":"success","sourceSha":"a8f69b2133e43498f2606c45a8fa30b5f38a9b03","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"a8f69b2133e43498f2606c45a8fa30b5f38a9b03","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-a8f69b2133e43498f2606c45a8fa30b5f38a9b03","compareStatus":"target_job_success_runtime_verified","workflowRunId":11650,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.264-paul-optional-runner-topology","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T22:25:08.156449+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"a8f69b2133e43498f2606c45a8fa30b5f38a9b03","external_id":"forgejo-main-a8f69b2133e4","receipt_type":"canonical_release_status","idempotency_key":"mission:cf0b811b-d5d7-416b-a134-8f6d12ec904a:forgejo-release-status:a8f69b2133e43498f2606c45a8fa30b5f38a9b03:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"af06ad93-ce1a-47d3-8435-9a8ba4657437","command_center_event_id":"cf0b811b-d5d7-416b-a134-8f6d12ec904a"},{"id":"9fafd75f-0a70-4a2d-a433-8214f3bb2038","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-079cf617d06c","writes":[],"patches":[],"version":1,"approved":true,"pr_title":"Console: start every fresh visit as a new conversation","missionId":"079cf617-d06c-4a5a-a95e-bdfe2746ad2e","objective":"Continue the exact fresh-conversation Console mission. Apply only the corrected small anchors that remove sessionStorage auto-resume/persistence while preserving explicit history reopening.","sourceSha":"8b410b546118745ad17305253ffaeca80f0f0d1b","repository":"noel/KnockLaunchOS","visualProof":false,"autoProgress":true,"verifyVisual":false,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"  const [currentSessionId, setCurrentSessionId] = useState('');","old_content":"  const [currentSessionId, setCurrentSessionId] = useState(() => typeof window === 'undefined' ? '' : (window.sessionStorage.getItem('kl-console-session-v1') || ''));"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"","old_content":"        window.sessionStorage.setItem('kl-console-session-v1', id);"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"","old_content":"    window.sessionStorage.setItem('kl-console-session-v1', sessionId);"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"","old_content":"  useEffect(() => {\n    const remembered = typeof window === 'undefined' ? '' : (window.sessionStorage.getItem('kl-console-session-v1') || '');\n    if (remembered && !messages.length) void openConsoleSession(remembered, false);\n  }, []);"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"","old_content":"    window.sessionStorage.removeItem('kl-console-session-v1');"}],"commit_message":"fix: start console chats as new conversations","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"079cf617-d06c-4a5a-a95e-bdfe2746ad2e","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"3024eb47a668fd8fca01dc5cda62ca5d57960e99bcde05aad0c4b525284494bb","replayCount":0,"serializedBytes":2501},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T22:26:17.702247+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:079cf617-d06c-4a5a-a95e-bdfe2746ad2e:repository-mutation-intent:3024eb47a668fd8fca01dc5cda62ca5d57960e99bcde05aad0c4b525284494bb:0","mission_step_id":"4a05065b-5e41-44ff-86ee-3c6ad68e7798","command_center_event_id":"079cf617-d06c-4a5a-a95e-bdfe2746ad2e"},{"id":"9fafd9c5-a9f0-47a1-9f37-01696236f060","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-93a7d38bc20e","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":25218,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":2,"executorlessWaitMs":267868,"firstUsefulResultAt":"2026-09-24T05:09:46.463Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.240-stale-gate-regression-guard","prNumber":3589,"terminal":false,"missionId":"93a7d38b-c20e-4426-9b29-b7b4b1ade3e8","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"d1c8305d8963edfb99077ca917a6e86470742c3f","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5441,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":571,"approvedPlanMs":0,"missionSetupMs":428,"providerAuthMs":0,"shipAndProveMs":4373,"ledgerPrepareMs":279,"ledgerReconcileMs":0,"lineageReconcileMs":149,"resolvePreflightMs":428,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":279,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"93a7d38b-c20e-4426-9b29-b7b4b1ade3e8"},"performance":null,"deploymentId":"forgejo-main-d1c8305d8963","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":2894,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:14:25.956053+00:00","proof_gate":"canonical_release_dispatched","source_sha":"d1c8305d8963edfb99077ca917a6e86470742c3f","external_id":"forgejo-main-d1c8305d8963","receipt_type":"execute_mission","idempotency_key":"mission:93a7d38b-c20e-4426-9b29-b7b4b1ade3e8:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"de5d7bb6-aa78-4026-a024-bd2fb3a54be4","command_center_event_id":"93a7d38b-c20e-4426-9b29-b7b4b1ade3e8"},{"id":"9fb17e1a-9ca3-4354-95bd-57d49feb5208","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"},"mainSha":"8b410b546118745ad17305253ffaeca80f0f0d1b","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","frontend-cloudflare/live"],"sourceSha":"8b410b546118745ad17305253ffaeca80f0f0d1b","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success","ccExecution":"success"},"requestContractHash":"ae42ed38c0b6893cbe1a4216b3678bfffb729485eb1bc9d4c79989e8ac56c17b","forgejoWorkflowProof":{"runId":12328,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success","ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success","ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"8b410b546118745ad17305253ffaeca80f0f0d1b","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-8b410b546118745ad17305253ffaeca80f0f0d1b","compareStatus":"target_job_success_runtime_verified","workflowRunId":12328,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.293-scheduler-v2","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T22:22:39.975404+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"8b410b546118745ad17305253ffaeca80f0f0d1b","external_id":"forgejo-main-8b410b546118","receipt_type":"canonical_release_status","idempotency_key":"mission:aa491cdd-210c-441a-a600-c1f41137bfb3:forgejo-release-status:8b410b546118745ad17305253ffaeca80f0f0d1b:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success|frontend-cloudflare/live=success","mission_step_id":"9459d1dc-e894-4909-bde3-c997022ad922","command_center_event_id":"aa491cdd-210c-441a-a600-c1f41137bfb3"},{"id":"9fb198db-4c54-47a8-aa0f-6aa9ef835f2c","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/App.tsx","content":"import { Toaster as Sonner } from \"@/components/ui/sonner\";\nimport { TooltipProvider } from \"@/components/ui/tooltip\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { BrowserRouter, MemoryRouter, Navigate, useLocation, useNavigationType } from \"react-router-dom\";\nimport { HelmetProvider } from \"react-helmet-async\";\nimport React, { Suspense } from \"react\";\nimport { ErrorBoundary } from \"@/components/ErrorBoundary\";\nimport { AuthProvider } from \"./contexts/AuthContext\";\nimport StandaloneAppRecovery from \"@/components/pwa/StandaloneAppRecovery\";\nimport { InstallPrompt } from \"@/components/pwa/InstallPrompt\";\nimport { SecurityInspectionGuard } from \"@/components/security/SecurityInspectionGuard\";\nimport { UserActivityTracker } from \"@/components/activity/UserActivityTracker\";\nimport { OfflineQueryPersistenceBoot } from \"@/lib/offline/queryPersistence\";\nimport { OfflinePlatformBoot } from \"@/lib/offline/platformBoot\";\nimport { GlobalA11y } from \"@/components/ux/GlobalA11y\";\nimport { UniversalLoadingScreen } from \"@/components/ui/universal-loading-screen\";\nimport { DegradedServiceScreen } from \"@/components/system/DegradedServiceScreen\";\nimport BigPapisNextStopClub from \"@/components/mobile-vendor/BigPapisNextStopClub\";\nimport BigPapisComingSoon from \"@/components/mobile-vendor/BigPapisComingSoon\";\nimport BigPapisBookingReferralPage from \"@/pages/mobile-vendor/BigPapisBookingReferralPage\";\nimport { classifyAppRoute } from \"@/routes/appRouteClassifier\";\nimport { useAppRouteDocumentEffects } from \"@/runtime/useAppRouteDocumentEffects\";\nimport { lazyWithRetry } from \"@/lib/lazyWithRetry\";\nimport { resolveTenantMailProvider } from \"@/lib/degradedService\";\n\nexport { AUTHENTICATED_CORE_ROUTE_PATHS, PUBLIC_ROUTE_PATHS, VISUAL_WITNESS_ROUTE_SEEDS } from \"@/routes/appRouteClassifier\";\n\nfunction RoofHelpFinderLoadingScreen() {\n  return (\n    <div className=\"flex min-h-screen items-center justify-center overflow-hidden bg-[#07110e] px-6\">\n      <div className=\"flex flex-col items-center text-center\">\n        <div className=\"text-center\">\n          <div className=\"text-xs font-black uppercase tracking-[0.34em] text-[#b9e3c7]\">Roof Help Finder</div>\n          <div className=\"mt-3 text-3xl font-black tracking-tight text-white sm:text-4xl\">Finding the right roof help</div>\n        </div>\n        <div className=\"mt-6 h-1.5 w-36 overflow-hidden rounded-full bg-white/10\">\n          <div className=\"h-full w-2/3 animate-pulse rounded-full bg-[#b9e3c7]\" />\n        </div>\n      </div>\n    </div>\n  );\n}\n\nconst PublicAppShell = lazyWithRetry(() => import(\"./PublicAppShell\"));\nconst PrivateAppShell = lazyWithRetry(() => import(\"./PrivateAppShell\"));\nconst PlatformMessagesHost = lazyWithRetry(() => import(\"./components/messages/PlatformMessagesHost\"));\nconst BuildMyDemo = lazyWithRetry(() => import(\"./pages/BuildMyDemo\"));\n\nconst ExperiencePreviewApp = React.lazy(async () => {\n  const module: any = await import(\"@/components/experience-editor/ExperiencePreviewApp\");\n  return { default: module.default ?? module.ExperiencePreviewApp };\n});\n\nconst queryClient = new QueryClient({\n  defaultOptions: {\n    queries: {\n      staleTime: 30_000,\n      gcTime: 24 * 60 * 60_000,\n      refetchOnWindowFocus: false,\n      refetchOnReconnect: false,\n      retry: 1,\n    },\n  },\n});\n\nfunction PlatformScrollRestoration() {\n  const location = useLocation();\n  const navigationType = useNavigationType();\n  const routeKey = location.key || `${location.pathname}${location.search}${location.hash}`;\n  const storageKey = `__kl_route_scroll_v3__:${routeKey}`;\n\n  const resolveScrollOwner = React.useCallback(() => {\n    if (typeof document === \"undefined\") return null;\n    return document.querySelector<HTMLElement>(\n      '[data-route-scroll-owner=\"tenant\"], [data-tenant-modes-content=\"true\"], [data-big-papis-route-frame=\"true\"]',\n    );\n  }, []);\n\n  React.useEffect(() => {\n    if (typeof window === \"undefined\") return undefined;\n    const previous = window.history.scrollRestoration;\n    window.history.scrollRestoration = \"manual\";\n    return () => {\n      window.history.scrollRestoration = previous;\n    };\n  }, []);\n\n  React.useEffect(() => {\n    if (typeof window === \"undefined\") return undefined;\n    const owner = resolveScrollOwner();\n    let pendingFrame: number | null = null;\n\n    const persist = () => {\n      pendingFrame = null;\n      try {\n        sessionStorage.setItem(storageKey, JSON.stringify({\n          windowX: window.scrollX,\n          windowY: window.scrollY,\n          ownerLeft: owner?.scrollLeft ?? null,\n          ownerTop: owner?.scrollTop ?? null,\n        }));\n      } catch {}\n    };\n\n    const schedulePersist = () => {\n      if (pendingFrame !== null) return;\n      pendingFrame = window.requestAnimationFrame(persist);\n    };\n\n    window.addEventListener('scroll', schedulePersist, { passive: true });\n    owner?.addEventListener('scroll', schedulePersist, { passive: true });\n    window.addEventListener('pagehide', persist);\n\n    return () => {\n      persist();\n      window.removeEventListener('scroll', schedulePersist);\n      owner?.removeEventListener('scroll', schedulePersist);\n      window.removeEventListener('pagehide', persist);\n      if (pendingFrame !== null) window.cancelAnimationFrame(pendingFrame);\n    };\n  }, [resolveScrollOwner, storageKey]);\n\n  React.useEffect(() => {\n    if (typeof window === \"undefined\" || typeof document === \"undefined\") return undefined;\n\n    let cancelled = false;\n    let settled = false;\n    let firstFrame: number | null = null;\n    let secondFrame: number | null = null;\n    const timers: number[] = [];\n    let attempts = 0;\n\n    const hasOpenOverlay = () => Boolean(document.querySelector(\n      '[role=\"dialog\"][data-state=\"open\"], [data-radix-dialog-content][data-state=\"open\"], [data-vaul-drawer][data-state=\"open\"], [data-vaul-drawer-wrapper][data-state=\"open\"], [data-scroll-lock-active=\"true\"]',\n    ));\n\n    const isVisibleTarget = (element: HTMLElement | null): element is HTMLElement => {\n      if (!element || element.hidden || element.closest('[hidden], [aria-hidden=\"true\"]')) return false;\n      const rect = element.getBoundingClientRect();\n      const style = window.getComputedStyle(element);\n      return rect.width > 0 && rect.height > 0 && style.display !== 'none' && style.visibility !== 'hidden';\n    };\n\n    const resolveHashTarget = () => {\n      if (!location.hash) return null;\n      let hashValue = location.hash.slice(1);\n      try { hashValue = decodeURIComponent(hashValue); } catch {}\n      if (!hashValue) return null;\n      const byId = document.getElementById(hashValue);\n      if (byId instanceof HTMLElement && isVisibleTarget(byId)) return byId;\n      return Array.from(document.getElementsByName(hashValue)).find(\n        (element): element is HTMLElement => element instanceof HTMLElement && isVisibleTarget(element),\n      ) || null;\n    };\n\n    const resolveDestinationTarget = () => {\n      const hashTarget = resolveHashTarget();\n      if (hashTarget) return hashTarget;\n      const appMain = document.getElementById('app-main');\n      if (!(appMain instanceof HTMLElement)) return null;\n      const selectors = [\n        '[data-route-entry-anchor]:not([data-route-entry-anchor=\"false\"])',\n        '[data-navigation-anchor]:not([data-navigation-anchor=\"false\"])',\n        '[data-page-title]',\n        '[data-route-title]',\n        'h1',\n        '[role=\"heading\"][aria-level=\"1\"]',\n        '[data-page-content]',\n        '[data-route-content]',\n        '[data-page-root]',\n        '[data-page-shell]',\n      ];\n      for (const selector of selectors) {\n        const target = appMain.querySelector<HTMLElement>(selector);\n        if (isVisibleTarget(target)) return target;\n      }\n      return null;\n    };\n\n    const restorePopPosition = () => {\n      let stored: { windowX?: number; windowY?: number; ownerLeft?: number | null; ownerTop?: number | null } | null = null;\n      try { stored = JSON.parse(sessionStorage.getItem(storageKey) || 'null'); } catch {}\n      if (!stored) return false;\n      const owner = resolveScrollOwner();\n      if (owner && Number.isFinite(stored.ownerTop)) {\n        owner.scrollTo({\n          top: Math.max(0, Number(stored.ownerTop)),\n          left: Math.max(0, Number(stored.ownerLeft || 0)),\n          behavior: 'auto',\n        });\n      } else {\n        window.scrollTo({\n          top: Math.max(0, Number(stored.windowY || 0)),\n          left: Math.max(0, Number(stored.windowX || 0)),\n          behavior: 'auto',\n        });\n      }\n      return true;\n    };\n\n    const landAtRouteStart = () => {\n      const target = resolveDestinationTarget();\n      if (target) {\n        target.scrollIntoView({ block: 'start', inline: 'nearest', behavior: 'auto' });\n        return;\n      }\n      const owner = resolveScrollOwner();\n      if (owner) owner.scrollTo({ top: 0, left: owner.scrollLeft, behavior: 'auto' });\n      else window.scrollTo({ top: 0, left: window.scrollX, behavior: 'auto' });\n    };\n\n    const settle = () => {\n      if (cancelled || settled) return;\n      attempts += 1;\n      if (hasOpenOverlay()) {\n        if (attempts < 4) timers.push(window.setTimeout(settle, 120));\n        return;\n      }\n      if (navigationType === 'POP' && restorePopPosition()) {\n        settled = true;\n        return;\n      }\n      landAtRouteStart();\n      settled = true;\n    };\n\n    firstFrame = window.requestAnimationFrame(() => {\n      secondFrame = window.requestAnimationFrame(settle);\n    });\n    timers.push(window.setTimeout(settle, 320));\n\n    return () => {\n      cancelled = true;\n      if (firstFrame !== null) window.cancelAnimationFrame(firstFrame);\n      if (secondFrame !== null) window.cancelAnimationFrame(secondFrame);\n      timers.forEach((timer) => window.clearTimeout(timer));\n    };\n  }, [location.hash, navigationType, resolveScrollOwner, storageKey]);\n\n  return null;\n}\n\nfunction AppRouteShell() {\n  const location = useLocation();\n  const hostname = typeof window !== 'undefined' ? window.location.hostname : '';\n  const {\n    isBigPapisCustomHost,\n    isRoofHelpFinderCustomHost,\n    isPublicRoute,\n    isLawnCareRoute,\n    isBigPapisRoute,\n    legacyBigPapisOwnerTarget,\n    isSelfContainedBookingRoute,\n    bigPapisCustomHostSurface,\n  } = classifyAppRoute(location.pathname, hostname);\n  const cachedTenantName = typeof window !== 'undefined' ? window.localStorage.getItem('active_tenant_name') || undefined : undefined;\n  const cachedTenantLogo = typeof window !== 'undefined' ? window.localStorage.getItem('active_tenant_logo') || undefined : undefined;\n  const cachedTenantSlug = typeof window !== 'undefined' ? window.localStorage.getItem('active_tenant_slug') || undefined : undefined;\n  const cachedTenantId = typeof window !== 'undefined' ? window.localStorage.getItem('active_tenant_id') || undefined : undefined;\n  const isKnockLaunchOwnerRoute = /^\\/knock-launch-(?:os|crm)(?:\\/|$)/i.test(location.pathname);\n\n  React.useEffect(() => {\n    resolveTenantMailProvider();\n  }, [cachedTenantId, cachedTenantName, cachedTenantSlug]);\n\n  useAppRouteDocumentEffects({\n    pathname: location.pathname,\n    search: location.search,\n    isPublicRoute,\n    isLawnCareRoute,\n    isBigPapisRoute,\n    isSelfContainedBookingRoute,\n  });\n\n  if (legacyBigPapisOwnerTarget) {\n    return <Navigate to={`${legacyBigPapisOwnerTarget}${location.search || ''}${location.hash || ''}`} replace />;\n  }\n\n  if (location.pathname === \"/admin/routes\") {\n    return <Navigate to=\"/admin/system-config?tab=routes\" replace />;\n  }\n\n  if (bigPapisCustomHostSurface === 'loyalty') {\n    return (\n      <div className=\"min-h-screen bg-[#030407]\">\n        <BigPapisNextStopClub />\n      </div>\n    );\n  }\n\n  if (bigPapisCustomHostSurface === 'refer-redirect') {\n    return <Navigate to={`/referrals${location.search || ''}`} replace />;\n  }\n\n  if (bigPapisCustomHostSurface === 'referrals') {\n    return <BigPapisBookingReferralPage />;\n  }\n\n  if (bigPapisCustomHostSurface === 'coming-soon') {\n    return <BigPapisComingSoon />;\n  }\n\n  return (\n    <>\n    <main\n      id=\"app-main\"\n      tabIndex={-1}\n      data-route-mobile-mode={isLawnCareRoute ? \"lawn-care\" : undefined}\n      data-lawn-shell-contract={isLawnCareRoute ? \"sleek-v2.2\" : undefined}\n      data-responsive-app-contract=\"canonical-v2\"\n      className={[\n        \"kl-responsive-app-root min-h-screen min-w-0 w-full max-w-full outline-none\",\n        isLawnCareRoute ? \"kl-lawn-care-route-shell\" : \"\",\n        isBigPapisRoute ? \"kl-big-papis-route-shell\" : \"\",\n      ].filter(Boolean).join(\" \")}\n    >\n      <Suspense\n        fallback={isKnockLaunchOwnerRoute ? null : isBigPapisCustomHost ? null : isRoofHelpFinderCustomHost ? (\n          <RoofHelpFinderLoadingScreen />\n        ) : (\n          <UniversalLoadingScreen\n            brandName={!isPublicRoute ? cachedTenantName : undefined}\n            logoUrl={!isPublicRoute ? cachedTenantLogo : undefined}\n            tenantKey={!isPublicRoute ? cachedTenantSlug : undefined}\n            title={isPublicRoute ? \"Loading KNOCKLAUNCH\" : undefined}\n            subtitle={isPublicRoute ? \"Preparing your workspace.\" : undefined}\n          />\n        )}\n      >\n        {isPublicRoute ? <PublicAppShell /> : <PrivateAppShell />}\n      </Suspense>\n    </main>\n    {!isPublicRoute ? <Suspense fallback={null}><PlatformMessagesHost /></Suspense> : null}\n    </>\n  );\n}\n\nfunction ServiceUnavailableApplicationRoot() {\n  return (\n    <HelmetProvider>\n      <DegradedServiceScreen />\n    </HelmetProvider>\n  );\n}\n\nfunction PublicDemoRouteShell() {\n  return (\n    <BrowserRouter useTransitions={false}>\n      <PlatformScrollRestoration />\n      <GlobalA11y />\n      <Suspense\n        fallback={\n          <div className=\"flex min-h-screen items-center justify-center bg-[#07110e] px-6 text-center text-white\">\n            <div>\n              <div className=\"text-xs font-black uppercase tracking-[.22em] text-emerald-300\">KNOCKLAUNCH</div>\n              <div className=\"mt-2 text-lg font-black\">Preparing your demo…</div>\n            </div>\n          </div>\n        }\n      >\n        <BuildMyDemo />\n      </Suspense>\n    </BrowserRouter>\n  );\n}\n\nfunction IsolatedExperiencePreviewRoot() {\n  const initialRoute = new URLSearchParams(window.location.search).get('klExperienceRoute') || '/';\n\n  return (\n    <ErrorBoundary>\n      <QueryClientProvider client={queryClient}>\n        <OfflineQueryPersistenceBoot client={queryClient} />\n        <HelmetProvider>\n          <TooltipProvider>\n            <Sonner />\n            <MemoryRouter initialEntries={[initialRoute]}>\n              <PlatformScrollRestoration />\n              <GlobalA11y />\n              <Suspense\n                fallback={\n                  <UniversalLoadingScreen\n                    title=\"Loading Preview\"\n                    subtitle=\"Preparing the experience canvas.\"\n                  />\n                }\n              >\n                <ExperiencePreviewApp />\n              </Suspense>\n            </MemoryRouter>\n          </TooltipProvider>\n        </HelmetProvider>\n      </QueryClientProvider>\n    </ErrorBoundary>\n  );\n}\n\nfunction PublicDemoApplicationRoot() {\n  return (\n    <ErrorBoundary>\n      <QueryClientProvider client={queryClient}>\n        <HelmetProvider>\n          <TooltipProvider>\n            <Sonner />\n            <PublicDemoRouteShell />\n          </TooltipProvider>\n        </HelmetProvider>\n      </QueryClientProvider>\n    </ErrorBoundary>\n  );\n}\n\nfunction StandardApplicationRoot() {\n  return (\n    <ErrorBoundary>\n      <QueryClientProvider client={queryClient}>\n        <OfflineQueryPersistenceBoot client={queryClient} />\n        <OfflinePlatformBoot />\n        <HelmetProvider>\n          <AuthProvider>\n            <TooltipProvider>\n              <Sonner />\n              <BrowserRouter useTransitions={false}>\n                <PlatformScrollRestoration />\n                <GlobalA11y />\n                <SecurityInspectionGuard />\n                <UserActivityTracker />\n                <StandaloneAppRecovery />\n                <AppRouteShell />\n                <InstallPrompt />\n              </BrowserRouter>\n            </TooltipProvider>\n          </AuthProvider>\n        </HelmetProvider>\n      </QueryClientProvider>\n    </ErrorBoundary>\n  );\n}\n\nfunction shouldUseServiceUnavailableRoot() {\n  if (typeof window === \"undefined\") return false;\n  const pathname = window.location.pathname.toLowerCase().replace(/\\/+$/g, \"\") || \"/\";\n  return pathname === \"/service-unavailable\";\n}\n\nfunction shouldUsePublicDemoRoot() {\n  if (typeof window === \"undefined\") return false;\n  const pathname = window.location.pathname.toLowerCase().replace(/\\/+$/g, \"\") || \"/\";\n  return pathname === \"/demo\" || pathname.startsWith(\"/demo/\") || pathname === \"/build-my-demo\";\n}\n\nfunction shouldUseIsolatedExperiencePreviewRoot() {\n  if (typeof window === \"undefined\") return false;\n  const params = new URLSearchParams(window.location.search);\n  return params.has(\"klExperienceRuntime\") && params.has(\"klExperienceRoute\");\n}\n\nconst App = () =>\n  shouldUseServiceUnavailableRoot()\n    ? <ServiceUnavailableApplicationRoot />\n    : shouldUseIsolatedExperiencePreviewRoot()\n      ? <IsolatedExperiencePreviewRoot />\n      : shouldUsePublicDemoRoot()\n        ? <PublicDemoApplicationRoot />\n        : <StandardApplicationRoot />;\n\nexport default App;\n"},{"path":"src/components/pwa/StandaloneAppRecovery.tsx","content":"import React from 'react';\nimport { createPortal } from 'react-dom';\nimport { useLocation, useNavigationType } from 'react-router-dom';\nimport { ArrowLeft, Home, RefreshCw } from 'lucide-react';\nimport { getTenantInfoStrict, getTenantDashboardPathForTenant, getTenantBasePath } from '@/lib/tenantUtils';\n\n// Kept outside the lazy route tree so loading a route cannot hide recovery.\nexport default function StandaloneAppRecovery() {\n  const location = useLocation();\n  const navigationType = useNavigationType();\n  const [standalone, setStandalone] = React.useState(false);\n  const [host, setHost] = React.useState<HTMLElement | null>(null);\n  const entries = React.useRef<Array<{key:string;url:string;tenant:string}>>([]);\n  React.useEffect(() => {\n    const media = window.matchMedia('(display-mode: standalone)');\n    const sync = () => setStandalone(media.matches || Boolean((navigator as Navigator & {standalone?:boolean}).standalone));\n    sync(); media.addEventListener('change', sync);\n    return () => media.removeEventListener('change', sync);\n  }, []);\n  React.useEffect(() => {\n    let tenant = '';\n    try { tenant = getTenantInfoStrict().tenantOrgId; } catch {}\n    const entry = {key:location.key,url:location.pathname+location.search+location.hash,tenant};\n    const previous = entries.current;\n    const index = previous.findIndex(item => item.key === entry.key);\n    if (navigationType === 'POP' && index >= 0) entries.current = previous.slice(0,index+1);\n    else if (navigationType === 'REPLACE') entries.current = [...previous.slice(0,-1),entry];\n    else if (previous.at(-1)?.key !== entry.key) entries.current = [...previous.slice(-30),entry];\n  }, [location.key,location.pathname,location.search,location.hash,navigationType]);\n  React.useEffect(() => {\n    if (!standalone) return;\n    // Place recovery inside the active modal's focus/pointer boundary, not behind it.\n    const sync = () => {\n      const dialogs = Array.from(document.querySelectorAll<HTMLElement>('[role=\"dialog\"],[role=\"alertdialog\"],dialog[open]'))\n        .filter(el => el.getClientRects().length > 0 && el.getAttribute('data-state') !== 'closed' && !el.closest('[inert]'));\n      setHost(dialogs.at(-1) || document.body);\n    };\n    sync();\n    const observer = new MutationObserver(sync);\n    observer.observe(document.body,{subtree:true,childList:true,attributes:true,attributeFilter:['data-state','open','hidden','style']});\n    return () => observer.disconnect();\n  }, [standalone]);\n  const leave = (action:'back'|'home'|'refresh') => {\n    if (action === 'back' && host && host !== document.body) {\n      // The existing modal owner handles dismissal and retains its draft state.\n      document.dispatchEvent(new KeyboardEvent('keydown',{key:'Escape',code:'Escape',bubbles:true,cancelable:true}));\n      return;\n    }\n    if (!window.confirm(action === 'refresh'\n      ? 'Refresh this screen? Save any unfinished changes first.'\n      : 'Leave this screen? Save any unfinished changes first.')) return;\n    if (action === 'refresh') { window.location.reload(); return; }\n    let home = '/select-tenant?manual=1';\n    let tenant = '';\n    let base = '';\n    try {\n      const info = getTenantInfoStrict();\n      tenant = info.tenantOrgId;\n      base = getTenantBasePath();\n      home = getTenantDashboardPathForTenant({tenant_type:info.tenantType,company_slug:info.tenantSlug,name:info.tenantDisplayName});\n    } catch {}\n    const previous = entries.current.at(-2);\n    // Never blindly history.back() into another tenant, login, or an external page.\n    const sameTenant = previous && previous.tenant === tenant && tenant &&\n      (previous.url.split(/[?#]/)[0] === base || previous.url.startsWith(base+'/'));\n    window.location.assign(action === 'back' && sameTenant ? previous.url : home);\n  };\n  if (!standalone || !host) return null;\n  return createPortal(\n    <nav aria-label=\"App recovery\" data-kl-gesture-exclude data-no-viewport-reset\n      style={{position:'fixed',left:'max(8px, env(safe-area-inset-left))',bottom:'calc(env(safe-area-inset-bottom) + 5.25rem)',zIndex:2147483647,pointerEvents:'auto'}}\n      className=\"flex rounded-2xl border border-emerald-300/30 bg-[#07110e] p-1 text-white shadow-xl\">\n      {([{id:'back',label:'Back',Icon:ArrowLeft},{id:'home',label:'Home',Icon:Home},{id:'refresh',label:'Refresh',Icon:RefreshCw}] as const).map(({id,label,Icon}) =>\n        <button key={id} type=\"button\" aria-label={id === 'refresh' ? 'Refresh app' : label}\n          onClick={() => leave(id)} className=\"flex min-h-11 min-w-14 flex-col items-center justify-center gap-0.5 rounded-xl px-2 text-[11px] font-semibold hover:bg-white/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-emerald-300\">\n          <Icon size={16} aria-hidden=\"true\"/>{label}\n        </button>)}\n    </nav>,host);\n}\n"}],"route":"https://app.knocklaunch.app/big-papis/owner/calendar?bpMode=plan","branch":"ai/objective-first-repair-673b4b6f4d63","writes":[],"patches":[],"approved":true,"missionId":"673b4b6f-4d63-4034-9d88-4f590824c437","objective":"Add installed app recovery Back Home Refresh outside lazy routes, preserve storage/auth, confirm possible unfinished changes before reload/navigation; modal back sends existing Escape dismissal. Canonical gate and deploy then verify standalone interactions. Source inspection proves missing shared recovery and overscroll suppression.","repository":"noel/KnockLaunchOS","ownerApproved":true,"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"ae4793dba4d3de5360a75243d4a0c0a51cb07670f2e69763ae251e96f42bb720","replayCount":0,"serializedBytes":23752},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-23T03:28:05.982382+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:673b4b6f-4d63-4034-9d88-4f590824c437:repository-mutation-intent:ae4793dba4d3de5360a75243d4a0c0a51cb07670f2e69763ae251e96f42bb720:0","mission_step_id":"ec6c12ea-49b5-4e3e-abf0-9cede08344f8","command_center_event_id":"673b4b6f-4d63-4034-9d88-4f590824c437"},{"id":"9fb455c0-66e4-43d1-9ac0-a820d6e694be","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"cc726263ac64a97a622e88e5dc6d68043c7bc9f3","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"cc726263ac64a97a622e88e5dc6d68043c7bc9f3","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":"2adc6a210df6089331d1880f83e24e5535782f75d007de3ef5b9a87712f7b2ec","forgejoWorkflowProof":{"runId":7343,"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-12T14:05:46.419234+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"cc726263ac64a97a622e88e5dc6d68043c7bc9f3","external_id":"forgejo-main-cc726263ac64","receipt_type":"canonical_release_status","idempotency_key":"mission:d4db8b8e-4c1f-47e1-a16c-eaab319a0cfa:forgejo-release-status:cc726263ac64a97a622e88e5dc6d68043c7bc9f3:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"e276bfea-1c2f-4788-85d0-9c430f321143","command_center_event_id":"d4db8b8e-4c1f-47e1-a16c-eaab319a0cfa"},{"id":"9fba3be2-8b46-4c52-8bf7-5e28527eb3c4","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":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2094,"terminal":false,"missionId":"99644076-7efd-44f3-96e9-49f5cb19bed8","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":2526,"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":"99644076-7efd-44f3-96e9-49f5cb19bed8"},"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":1280,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T19:52:21.510993+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2094","receipt_type":"automatic_mission_resume","idempotency_key":"mission:99644076-7efd-44f3-96e9-49f5cb19bed8:automatic-mission-resume:2094:repair_mission_waiting_for_gate","mission_step_id":"48c238d1-aa77-4471-80fa-7c5897a74637","command_center_event_id":"99644076-7efd-44f3-96e9-49f5cb19bed8"},{"id":"9fbb159c-71e5-44d7-aaf1-2895d7e7b40d","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-96c224c39adb","prNumber":3857,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"1048fa75e380e9aeb00a048936ff3f336557dd5b","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T04:38:28.999347+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"1048fa75e380e9aeb00a048936ff3f336557dd5b","external_id":"3857","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:96c224c3-9adb-40b3-8a67-c8908e874587:merged-pr:3857:1048fa75e380e9aeb00a048936ff3f336557dd5b","mission_step_id":"f5cc6ddf-b260-4a49-8138-3d2dfd6839e2","command_center_event_id":"96c224c3-9adb-40b3-8a67-c8908e874587"},{"id":"9fbd8cf5-9c79-4947-adc5-a87a3b4464eb","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Control plane maintenance continuation for existing PR #944 on its refreshed head: preserve the stale-unique auto-parking repair and exclude serverless-fast-gate PRs from the runner-bound notify-gate-success job because their canonical KnockLaunch Gate success is already recorded outside the heavy runner and existing merge recovery handles them. Normal runner Gate PRs retain the notifier. Same PR, no new lane, then gate/merge/release cc-execution.","wordingChanged":false,"canonicalIntent":"Control plane maintenance continuation for existing PR #944 on its refreshed head: preserve the stale-unique auto-parking repair and exclude serverless-fast-gate PRs from the runner-bound notify-gate-success job because their canonical KnockLaunch Gate success is already recorded outside the heavy runner and existing merge recovery handles them. Normal runner Gate PRs retain the notifier. Same PR, no new lane, then gate/merge/release cc-execution.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"auto-park","statement":"Scheduled merge recovery parks stale unique backlog after the existing one-hour guard while preserving branch/content.","proofConditionIds":["repo","gate","runtime"]},{"id":"fast-throughput","statement":"Serverless-fast-gate PRs do not enqueue the runner-bound notifier while normal gated PRs retain it.","proofConditionIds":["repo","gate","runtime"]}],"objective":"Control plane maintenance continuation for existing PR #944 on its refreshed head: preserve the stale-unique auto-parking repair and exclude serverless-fast-gate PRs from the runner-bound notify-gate-success job because their canonical KnockLaunch Gate success is already recorded outside the heavy runner and existing merge recovery handles them. Normal runner Gate PRs retain the notifier. Same PR, no new lane, then gate/merge/release cc-execution.","constraints":[{"id":"preserve","statement":"No unique source or branch deletion for parked work.","proofConditionIds":["repo"]},{"id":"no-new-lane","statement":"Reuse existing serverless success status and merge supervisor; add no notifier, merge, gate, or release lane.","proofConditionIds":["repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Main contains safe auto-parking plus serverless-fast-gate notifier exclusion with regression coverage.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"gate","kind":"repository","claim":"PR #944 exact head passes KnockLaunch Gate and squash-merges.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime","kind":"runtime","claim":"Live cc-execution runs the merged source.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"3ec89d30ec6a827661830f681f929f02b046dc039632c909fbebcd22e81d54a7","requestContractRevision":5,"previousRequestContractHash":"6f6ce4ba15289074c100ac5bdfe41e0aef2215ff4c6c9f7a84df6a0312d747f3"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T18:30:47.941262+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:b1272341-5433-4b30-9ff3-041731695f8d:request-contract-revision:5:3ec89d30ec6a827661830f681f929f02b046dc039632c909fbebcd22e81d54a7","mission_step_id":"6dacb0ae-8782-48b5-81e7-1487733355df","command_center_event_id":"b1272341-5433-4b30-9ff3-041731695f8d"},{"id":"9fbdc193-8298-44f4-b461-2367313690cb","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-54b18b7de35d","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.94-mission-generation-terminality","prNumber":null,"terminal":false,"missionId":"54b18b7d-e35d-4b94-8a8b-f743f8a1fa4f","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":405,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":327,"providerAuthMs":0,"ledgerPrepareMs":327,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":327,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":327,"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":"54b18b7d-e35d-4b94-8a8b-f743f8a1fa4f"},"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":5714,"likelyAffectedFiles":["src/pages/auth/OAuthLogin.tsx","src/pages/auth/OAuthConsent.tsx","src/integrations/supabase/primeAuthClient.ts","src/__tests__/contracts/oauth-auth-platform-login-boundary.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T16:02:57.513089+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:54b18b7d-e35d-4b94-8a8b-f743f8a1fa4f:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c469fc4b-c497-48cb-9d5c-1b267d7f2031","command_center_event_id":"54b18b7d-e35d-4b94-8a8b-f743f8a1fa4f"},{"id":"9fbe4d08-a275-4f4c-9995-28b2985d2abe","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-52965df63d7f","reason":"anchored_edit_anchor_not_unique:workers/cc-execution/src/platform-sidekick-intelligence.js","status":"blocked","metrics":{"receiptBytes":40176,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":85394,"firstUsefulResultAt":"2026-10-03T01:39:38.242Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.67-paul-source-page-research","prNumber":null,"terminal":false,"missionId":"52965df6-3d7f-4d71-975f-b4799a5d40a3","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1459,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1459,"missionSetupMs":275,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":275,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":275,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":275,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"52965df6-3d7f-4d71-975f-b4799a5d40a3"},"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":1563,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:40:48.880582+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:52965df6-3d7f-4d71-975f-b4799a5d40a3:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"585a88fb-85e2-4200-a6b5-36af0e8937ed","command_center_event_id":"52965df6-3d7f-4d71-975f-b4799a5d40a3"},{"id":"9fc1f90c-c7df-4059-be0c-a3f2fd42b1b3","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"11d5809c0c1d5544741bb34c7921f28eac35ad18","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"11d5809c0c1d5544741bb34c7921f28eac35ad18","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"47a93f7d716b99686b8d5432c8061330d4c36aacd2b11de7e01af2d1073b5f66","forgejoWorkflowProof":{"runId":15731,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"11d5809c0c1d5544741bb34c7921f28eac35ad18","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-11d5809c0c1d5544741bb34c7921f28eac35ad18","compareStatus":"target_job_success_runtime_verified","workflowRunId":15731,"identitySource":"canonical_release_target_job","runtimeVersion":"1.64.96-cloudflare-release-reconciliation","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:35:19.617912+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"11d5809c0c1d5544741bb34c7921f28eac35ad18","external_id":"forgejo-main-11d5809c0c1d","receipt_type":"canonical_release_status","idempotency_key":"mission:8b66998e-aee2-48dc-9c41-2ccd2cbb7230:forgejo-release-status:11d5809c0c1d5544741bb34c7921f28eac35ad18:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"d7ec4561-cac3-4046-abd5-d42cad169629","command_center_event_id":"8b66998e-aee2-48dc-9c41-2ccd2cbb7230"},{"id":"9fc2dd38-ed32-4009-832f-3b186699bac1","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-7f7877b7f9f8","reason":"control_plane_maintenance_base_sha_mismatch","status":"blocked","metrics":{"receiptBytes":20842,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"executorlessWaitMs":526432,"firstUsefulResultAt":"2026-10-01T09:32:41.448Z","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_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":88,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":88,"missionSetupMs":393,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":393,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":393,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":393,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"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":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1554,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T09:40:08.464872+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7f7877b7-f9f8-47ad-b7b9-26f53f4cf60b:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"bc081b6a-03ab-4e6d-8907-a84172b2be4c","command_center_event_id":"7f7877b7-f9f8-47ad-b7b9-26f53f4cf60b"},{"id":"9fc50958-ddfe-4ea5-8d53-7c4692e32432","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"ef134e86914abefef2e15d731a45f1a471f0cec3","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"ef134e86914abefef2e15d731a45f1a471f0cec3","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":"deac5ad5a3efee84b2d44a063937809c29d8af49626ae2c673ff8160844b2a4c","forgejoWorkflowProof":{"runId":11823,"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-25T14:42:29.414713+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"ef134e86914abefef2e15d731a45f1a471f0cec3","external_id":"forgejo-main-ef134e86914a","receipt_type":"canonical_release_status","idempotency_key":"mission:ecd530c4-7b5e-43cb-a8f2-8cd448423bce:forgejo-release-status:ef134e86914abefef2e15d731a45f1a471f0cec3:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"fbf55825-b4cd-433b-9d22-94ebdfab4a01","command_center_event_id":"ecd530c4-7b5e-43cb-a8f2-8cd448423bce"},{"id":"9fc7ede9-2a8a-4aae-900b-717360fcacab","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-ab1767b52ca9","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.217-deterministic-exact-mutation-branch","prNumber":null,"terminal":false,"missionId":"ab1767b5-2ca9-472d-b112-abeb27181fe4","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":223,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":496,"providerAuthMs":0,"ledgerPrepareMs":496,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":496,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":496,"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":"ab1767b5-2ca9-472d-b112-abeb27181fe4"},"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":7082,"likelyAffectedFiles":["src/PrivateAppShell.tsx","scripts/visual-witness-hosted-runner/src/frontend-build-entrypoint.mjs","scripts/visual-witness-hosted-runner/src/frontend-build-service.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T01:28:42.608475+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ab1767b5-2ca9-472d-b112-abeb27181fe4:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"fc9315d1-41f4-4b88-bd4a-a285af97eb95","command_center_event_id":"ab1767b5-2ca9-472d-b112-abeb27181fe4"},{"id":"9fc7f2aa-885e-414d-a5c1-4ccc8cf109b5","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success"},"mainSha":"384c8f11482f15054115d063d867f038b5332877","missing":[],"pending":[],"required":["forgejo-main/source"],"sourceSha":"384c8f11482f15054115d063d867f038b5332877","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"a65e47fc2bbc46787ac28ec2a859e8871381005a46a813f74f96fee76bf508a4","forgejoWorkflowProof":null,"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T23:36:36.602339+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"384c8f11482f15054115d063d867f038b5332877","external_id":"forgejo-main-384c8f11482f","receipt_type":"canonical_release_status","idempotency_key":"mission:6b9fb71c-b8c2-44f8-8236-406ec4564362:forgejo-release-status:384c8f11482f15054115d063d867f038b5332877:verified:forgejo-main/source=success","mission_step_id":"a174e450-8888-420f-a271-c11d62820b82","command_center_event_id":"6b9fb71c-b8c2-44f8-8236-406ec4564362"},{"id":"9fc85ca6-e6b1-41bc-a68c-fb1c947bb247","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"ee2bed51ee56746831d4275b356702b0f4142535","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-live-edit-godmode-auth","satisfied":true,"statement":"Canonical GodMode users who can open GodMode Live Edit can successfully invoke live_edit_plan without weakening unrelated operator-respond authorization.","proofConditionIds":["proof-production","proof-interaction"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency used by the Live Edit Sidekick authorization repair must be wired and proven through the applicable backend runtime, authentication/authorization, release ownership, and live production behavior.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"The authorization repair is not accepted until Gate passes, affected targets release, and claim-matched production interaction succeeds; unrelated operator-respond capabilities must remain unchanged.","proofConditionIds":["proof-production","proof-interaction"]},{"id":"authorization-scope","satisfied":true,"statement":"Broaden authorization only for action live_edit_plan to canonical GodMode plus the existing tenant owner/admin path. Do not broaden mission control, history, console answer, repository, or other operator-respond actions.","proofConditionIds":["proof-production","proof-interaction"]},{"id":"visual-artifact-scope","satisfied":true,"statement":"Acceptance is limited to the PCG dashboard Live Edit interaction; do not redesign the dashboard or introduce unrelated visual surfaces.","proofConditionIds":["proof-interaction"]},{"id":"visual-content-truth","satisfied":true,"statement":"Do not invent business content, metrics, customer data, or visual facts during the acceptance interaction.","proofConditionIds":["proof-interaction"]},{"id":"tenant-visual-isolation","satisfied":true,"statement":"Acceptance work is isolated to PCG and must not import or mutate another tenant's identity, content, or state.","proofConditionIds":["proof-interaction"]},{"id":"visual-viewport-authority","satisfied":true,"statement":"Desktop is the authoritative viewport for this targeted corrective interaction proof.","proofConditionIds":["proof-interaction"]}],"contractHash":"ed6761f5f47a33b86671823ef6ea2200d19c1817ab34788a539030fd4caf1d57","releaseBound":true,"witnessBound":true,"visualRequested":true,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"ed6761f5f47a33b86671823ef6ea2200d19c1817ab34788a539030fd4caf1d57"},"required":true,"satisfied":true},{"id":"proof-interaction","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/pcg/DASHBOARD","currentSourceSha":"ee2bed51ee56746831d4275b356702b0f4142535","witnessSourceSha":"ee2bed51ee56746831d4275b356702b0f4142535","verificationState":"verified","witnessRequestContractHash":"ed6761f5f47a33b86671823ef6ea2200d19c1817ab34788a539030fd4caf1d57"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T04:45:28.150529+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"ee2bed51ee56746831d4275b356702b0f4142535","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:2a3a900f-81fb-4a47-bf0e-5b942206cce3:request-contract:ed6761f5f47a33b86671823ef6ea2200d19c1817ab34788a539030fd4caf1d57:ee2bed51ee56746831d4275b356702b0f4142535:verified:","mission_step_id":"a17a4a89-a290-4559-a7eb-688704152d83","command_center_event_id":"2a3a900f-81fb-4a47-bf0e-5b942206cce3"},{"id":"9fc93d0a-7386-4dcb-ac66-d72935564cd0","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","release-targets/detection":"pending"},"mainSha":"35431881b2be8ff1bb51fe19e147d7865d90bdc0","missing":[],"pending":["release-targets/detection"],"required":["forgejo-main/source","release-targets/detection"],"sourceSha":"35431881b2be8ff1bb51fe19e147d7865d90bdc0","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":null,"releaseTargetStates":{},"requestContractHash":"c53381e3a9ac5efba0e722ccfb61a3462df8b6eb5abe5f453fa7bff25712107e","forgejoWorkflowProof":null,"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T14:38:11.986329+00:00","proof_gate":"canonical_release_pending","source_sha":"35431881b2be8ff1bb51fe19e147d7865d90bdc0","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:3cf5ba12-444d-46ba-9a5d-4d4230bc2833:forgejo-release-status:35431881b2be8ff1bb51fe19e147d7865d90bdc0:pending:forgejo-main/source=success|release-targets/detection=pending","mission_step_id":"5dd0fcff-9300-4065-82d3-310d5820f88d","command_center_event_id":"3cf5ba12-444d-46ba-9a5d-4d4230bc2833"},{"id":"9fce25da-29c6-49a3-aa2f-f90bc1365461","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"fde6166a154141510fbfb9f9554299aadda724f9","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"fde6166a154141510fbfb9f9554299aadda724f9","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["irslogiqs-sync"]},"releaseTargetStates":{"supabaseEdge":"success"},"requestContractHash":"dfd46972025f2240546111ce9ba47d3398adcae7eca29e4515751c6189045c63","forgejoWorkflowProof":{"runId":14653,"source":"signed_push_receipt","status":"blocked","results":{},"conclusion":"blocked","targetStates":{"supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:22:18.600223+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"fde6166a154141510fbfb9f9554299aadda724f9","external_id":"forgejo-main-fde6166a1541","receipt_type":"canonical_release_status","idempotency_key":"mission:97edc04c-5ad2-47e2-a673-2909a8fbbb71:forgejo-release-status:fde6166a154141510fbfb9f9554299aadda724f9:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"d1869e52-2ad5-4bfd-9bb0-51e34fd01bc3","command_center_event_id":"97edc04c-5ad2-47e2-a673-2909a8fbbb71"},{"id":"9fcf3bdc-36ed-48c9-9b4d-ec20d12b2987","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-8edbee57f264","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":33526,"releaseCount":0,"toolCallCount":21,"repeatedCallCount":15,"executorlessWaitMs":145786,"firstUsefulResultAt":"2026-10-06T16:57:34.357Z","recoveryAttemptCount":15,"ownerInterruptionCount":0},"version":null,"prNumber":5211,"terminal":false,"missionId":"8edbee57-f264-488f-bc7c-4961b8e830c5","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"0405d742e67a974233a90328f3519400f00be0f6","timingsMs":{"prReadinessMs":752,"approvedPlanMs":0,"shipAndProveMs":3708,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"8edbee57-f264-488f-bc7c-4961b8e830c5"},"performance":null,"deploymentId":"forgejo-main-0405d742e67a","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":1942,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T17:00:09.712347+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"5211","receipt_type":"automatic_mission_resume","idempotency_key":"mission:8edbee57-f264-488f-bc7c-4961b8e830c5:automatic-mission-resume:5211:canonical_release_reconciliation_pending","mission_step_id":"534f2ed9-bdfe-48eb-a3ef-2993d2436ed5","command_center_event_id":"8edbee57-f264-488f-bc7c-4961b8e830c5"},{"id":"9fd091f3-9e37-48be-b6f5-6044daa83d60","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-aa1ae1505687","writes":[],"patches":[],"version":1,"approved":true,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/TenantModesShell.tsx"],"anchored_edits":[{"path":"src/shells/TenantModesShell.tsx","anchor":"import { useMultiTenant } from '@/contexts/MultiTenantContext';","replacement":"import { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { supabase } from '@/integrations/supabase/client';"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/TenantModesShell.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":"32351bd3956481eeed5de74b261169271e41163f852e007bb88c441f0cebd183","replayCount":0,"serializedBytes":1269},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:54:07.418439+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:repository-mutation-intent:32351bd3956481eeed5de74b261169271e41163f852e007bb88c441f0cebd183:0","mission_step_id":"70255b83-58a2-47d0-a0a9-e78f3e8b3182","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"9fd19629-c47f-4929-819a-e92018071688","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-30-day-calendar","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3335,"terminal":false,"missionId":"4b6ccbad-c933-4828-ba3c-62bb86b06f90","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"8b43a6e32d003df61d69af7d5e974ac3c0f64e32","timingsMs":{"prReadinessMs":546,"approvedPlanMs":0,"shipAndProveMs":3565,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"4b6ccbad-c933-4828-ba3c-62bb86b06f90"},"performance":null,"deploymentId":"forgejo-main-8b43a6e32d00","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":1841,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T02:17:18.903185+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3335","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4b6ccbad-c933-4828-ba3c-62bb86b06f90:automatic-mission-resume:3335:canonical_release_dispatched","mission_step_id":"3e9cb48a-43e0-4589-823c-99a45032c283","command_center_event_id":"4b6ccbad-c933-4828-ba3c-62bb86b06f90"},{"id":"9fd21bee-2b8c-4bd3-b587-a1256e7f3077","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-6b0c4a4439a6","reason":"control_plane_frozen_explicit_unfreeze_required","status":"blocked","metrics":{"receiptBytes":20790,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":22782,"firstUsefulResultAt":"2026-09-27T23:48:57.858Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.297-clause-visual-intent","prNumber":null,"terminal":false,"missionId":"6b0c4a44-39a6-44f8-8139-4f57a7c29807","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":269,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":269,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":269,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":269,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6b0c4a44-39a6-44f8-8139-4f57a7c29807"},"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":1459,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:48:58.560506+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:6b0c4a44-39a6-44f8-8139-4f57a7c29807:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"a32e5997-929e-413f-95cc-944d4dc05f5b","command_center_event_id":"6b0c4a44-39a6-44f8-8139-4f57a7c29807"},{"id":"9fd5e9cd-9332-4454-a11b-1cf16576d6e1","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/recover-release-run-by-source-20260819","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.3-single-mutation-lane","prNumber":471,"terminal":false,"missionId":"b7397365-f5ea-49ee-81c0-a7acfb235dd6","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":"b7397365-f5ea-49ee-81c0-a7acfb235dd6"},"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":5017,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T03:41:50.096231+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"471","receipt_type":"execute_mission","idempotency_key":"mission:b7397365-f5ea-49ee-81c0-a7acfb235dd6:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"0b3f05fe-04c5-461d-9630-0ac4882c035b","command_center_event_id":"b7397365-f5ea-49ee-81c0-a7acfb235dd6"},{"id":"9fd6cd2b-03b3-4740-a999-01942419a316","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\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-10-06T18:43:10.123974+00:00\",\"recoveryAction\":\"continue_implementation\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:26:08.352445+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:5a5997d4-18d0-4656-8009-80a3de3403d6:owner-progress-heartbeat:119420984","mission_step_id":"b4a8d632-5d02-4f72-afc8-3fa1324bfedf","command_center_event_id":"5a5997d4-18d0-4656-8009-80a3de3403d6"},{"id":"9fd829a1-9963-45a8-998d-66abe1449dbb","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"UNFREEZE only to complete the exact Gate hydration contract exposed by run 8591; bounded workflow plus regression-test correction, no product/runtime behavior change outside cc-execution proof machinery.","baseSha":"205e2f18ab9f13384f5ce0b5fadfaed64eb65ab5","issuedAt":1789530872536,"expiresAt":1789531052536,"missionId":"88fcafec-cd22-4bee-ac3a-53f3055600e0","authorizationId":"e90cb100-d561-45d7-9ec6-8366d7723765","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T03:54:33.058025+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"205e2f18ab9f13384f5ce0b5fadfaed64eb65ab5","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:e90cb100-d561-45d7-9ec6-8366d7723765","mission_step_id":"f48cbfa1-0811-4e2b-896a-03494314aaa7","command_center_event_id":"88fcafec-cd22-4bee-ac3a-53f3055600e0"},{"id":"9fd83e78-e603-4371-8b93-e85730f879b1","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":"233a243ae8316a1bd71e95e8528301e5422fbfb4","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"233a243ae8316a1bd71e95e8528301e5422fbfb4","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-google-drive-media"]},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":"a940ee9da464c78b20e6e83fda38a8d83c47d99d449adfdcfbd0ceb0eb753446","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13543","runId":13543,"status":"success","sourceSha":"233a243ae8316a1bd71e95e8528301e5422fbfb4","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success","supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"success","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T01:01:50.705252+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"233a243ae8316a1bd71e95e8528301e5422fbfb4","external_id":"forgejo-main-233a243ae831","receipt_type":"canonical_release_status","idempotency_key":"mission:13c3e62e-7d20-4bf8-a376-5f9cb86b15f3:forgejo-release-status:233a243ae8316a1bd71e95e8528301e5422fbfb4:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"047e7897-0c73-4b81-8c8c-fba64f451b9c","command_center_event_id":"13c3e62e-7d20-4bf8-a376-5f9cb86b15f3"},{"id":"9fd9c807-cbf6-4a1d-b300-52799f87c27c","source":"cc-execution","status":"recorded","payload":{"objective":"Implement the owner's exact Vista del Mar hero layout request on the current Forgejo main: move the existing title and description into the empty right-side hero space on desktop, center the existing Patillas, Puerto Rico badge directly under the logo, keep mobile stacked and readable, and change nothing else. Ship through one PR, KnockLaunch Gate, squash merge, and frontend-only Cloudflare release. No Visual Witness unless the owner requests it.","tenantRef":"la-vista-del-mar","receivedAt":"2026-08-30T00:00:45.202Z","fingerprint":"3e9ea62dd77fc0b7fc79725bc5efb844ede1befcfffafeddda6dd81d2f18482f","workstreamRef":"lavistadelmar","conversationId":null,"canonicalBranch":"ai/vista-hero-layout-20260829","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Implement the owner's exact Vista del Mar hero layout request on the current Forgejo main: move the existing title and description into the empty right-side hero space on desktop, center the existing Patillas, Puerto Rico badge directly under the logo, keep mobile stacked and readable, and change nothing else. Ship through one PR, KnockLaunch Gate, squash merge, and frontend-only Cloudflare release. No Visual Witness unless the owner requests it.","wordingChanged":false,"canonicalIntent":"Implement the owner's exact Vista del Mar hero layout request on the current Forgejo main: move the existing title and description into the empty right-side hero space on desktop, center the existing Patillas, Puerto Rico badge directly under the logo, keep mobile stacked and readable, and change nothing else. Ship through one PR, KnockLaunch Gate, squash merge, and frontend-only Cloudflare release. No Visual Witness unless the owner requests it.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-hero-right","statement":"Desktop hero places the existing title and description in the open right-side space.","proofConditionIds":["proof-live-release"]},{"id":"outcome-location-under-logo","statement":"Patillas, Puerto Rico is centered directly beneath the Vista del Mar logo.","proofConditionIds":["proof-live-release"]},{"id":"outcome-mobile-stack","statement":"Mobile keeps logo, location, title, and description stacked and readable.","proofConditionIds":["proof-live-release"]}],"objective":"Implement the owner's exact Vista del Mar hero layout request on the current Forgejo main: move the existing title and description into the empty right-side hero space on desktop, center the existing Patillas, Puerto Rico badge directly under the logo, keep mobile stacked and readable, and change nothing else. Ship through one PR, KnockLaunch Gate, squash merge, and frontend-only Cloudflare release. No Visual Witness unless the owner requests it.","constraints":[{"id":"constraint-file","statement":"Only src/pages/rental/ShortTermRentalPublic.tsx may change.","proofConditionIds":["proof-live-release"]},{"id":"constraint-preserve","statement":"Do not change wording, logo backing, background media, stay cards, reservation behavior, Why Book Direct, footer, metadata, or booking/data logic.","proofConditionIds":["proof-live-release"]},{"id":"constraint-witness","statement":"Do not use Visual Witness unless the owner later explicitly requests it; owner visual confirmation is the final visual acceptance.","proofConditionIds":["proof-live-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-live-release","kind":"runtime","claim":"The exact merge SHA containing the bounded hero layout change is successfully released through the canonical frontend path and is serving the Vista del Mar public route.","route":"https://app.knocklaunch.app/la-vista-del-mar","required":true,"expectedText":"Stay by the sea in Patillas, Puerto Rico.","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/vista-hero-layout-20260829","conversationContext":"{\"ownerDirectives\":[\"Move the title and description into the empty space shown on the right side of the hero.\",\"Center Patillas, Puerto Rico directly under the logo.\",\"Change nothing else.\",\"No Visual Witness unless requested; owner will confirm the live page.\"]}","requestContractHash":"a0bdc42ca81718ce1894ad8f64e58b5d7c4f601af922da0d6ab6487fe96ddc45","requestContractRevision":1},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-30T00:00:45.724998+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:eeb2af23-8930-483a-b22d-fa7bce50809e:tenant-workstream-contribution:3e9ea62dd77fc0b7fc79725bc5efb844ede1befcfffafeddda6dd81d2f18482f","mission_step_id":null,"command_center_event_id":"eeb2af23-8930-483a-b22d-fa7bce50809e"},{"id":"9fdd6c20-63ea-4a4e-aa77-ec13f0d6612e","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5985fcd91c4f","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":27077,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":4,"executorlessWaitMs":207194,"firstUsefulResultAt":"2026-10-02T00:23:45.142Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":"1.64.41-device-deploy-keys","prNumber":4424,"terminal":false,"missionId":"5985fcd9-1c4f-491d-af2a-278f521b5414","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2422,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2308,"approvedPlanMs":0,"missionSetupMs":382,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":265,"ledgerReconcileMs":0,"lineageReconcileMs":117,"resolvePreflightMs":382,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":265,"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":"5985fcd9-1c4f-491d-af2a-278f521b5414"},"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":1522,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:27:17.999246+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4424","receipt_type":"execute_mission","idempotency_key":"mission:5985fcd9-1c4f-491d-af2a-278f521b5414:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"56060d22-25b6-4754-abc6-6400f3c32939","command_center_event_id":"5985fcd9-1c4f-491d-af2a-278f521b5414"},{"id":"9fdd9c72-902d-4b89-9dce-0b46b470640d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-087a734ed691","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":22139,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"executorlessWaitMs":26618,"firstUsefulResultAt":"2026-09-27T23:48:31.348Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.297-clause-visual-intent","prNumber":3929,"terminal":false,"missionId":"087a734e-d691-40e3-9aab-50ae14ca4cc8","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3168,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":539,"missionSetupMs":296,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":296,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":296,"repositoryMutationMs":2629,"repositoryProviderMs":2629,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1581,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":296,"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":"087a734e-d691-40e3-9aab-50ae14ca4cc8"},"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":3105,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:49:02.117125+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3929","receipt_type":"execute_mission","idempotency_key":"mission:087a734e-d691-40e3-9aab-50ae14ca4cc8:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"5f3b88a3-44ba-4dfb-8346-c95382435d53","command_center_event_id":"087a734e-d691-40e3-9aab-50ae14ca4cc8"},{"id":"9fde5ee4-3df1-4c9d-b077-65ef902b6b50","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/cc-release-live-fastpath-20260825","reason":"forgejo_release_source_not_contained_in_current_main","status":"blocked","metrics":{"receiptBytes":10056,"releaseCount":1,"toolCallCount":9,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.50.41-known-release-run-fastpath","prNumber":739,"terminal":false,"missionId":"ec249474-6ed2-482a-8460-b023e74d8e04","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"f0ff3892288902b99a842f1be1e448538a6025f0","timingsMs":{"handlerMs":7870,"prReadinessMs":1083,"approvedPlanMs":0,"missionSetupMs":375,"shipAndProveMs":6787},"nextAction":null,"receiptRef":{"mode":"full","missionId":"ec249474-6ed2-482a-8460-b023e74d8e04"},"performance":null,"deploymentId":"forgejo-main-f0ff38922889","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":5102,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T14:38:51.320513+00:00","proof_gate":"canonical_release_blocked","source_sha":"f0ff3892288902b99a842f1be1e448538a6025f0","external_id":"forgejo-main-f0ff38922889","receipt_type":"execute_mission","idempotency_key":"mission:ec249474-6ed2-482a-8460-b023e74d8e04:execute_mission:canonical_release_blocked","mission_step_id":"44a658e5-4305-4468-ac5b-4b076e06ff67","command_center_event_id":"ec249474-6ed2-482a-8460-b023e74d8e04"},{"id":"9fdeb9f7-62ad-411f-9af8-3bb3784065ae","source":"cc-execution","status":"recorded","payload":{"objective":"Continue existing PR #1983 only and complete the universal media crop repair before merge by adding proposal-engine persistence for static-media crop. Do not create another PR.","tenantRef":"bigpapis","receivedAt":"2026-09-06T18:53:51.499Z","fingerprint":"23d826b97116dfa79ed513ba6f0000662b100f8a0191898a8fac767174145e6d","workstreamRef":"bigpapis","conversationId":null,"canonicalBranch":"ai/proposal-editor-universal-media-crop","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue existing PR #1983 only and complete the universal media crop repair before merge by adding proposal-engine persistence for static-media crop. Do not create another PR.","wordingChanged":false,"canonicalIntent":"Continue existing PR #1983 only and complete the universal media crop repair before merge by adding proposal-engine persistence for static-media crop. Do not create another PR.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"universal-crop","statement":"On the live Big Papi Proposal Editor, C and Alt/Option crop work on logo and other editable media, not only ornament instances, and crop is non-destructive and distinct from resize.","proofConditionIds":["repo","release","interaction"]},{"id":"crop-persistence","statement":"Static-media crop values for logo, artwork, frame, and static ornaments survive Save and reopen through proposal-engine sanitizer.","proofConditionIds":["repo","release","interaction"]}],"objective":"Continue existing PR #1983 only and complete the universal media crop repair before merge by adding proposal-engine persistence for static-media crop. Do not create another PR.","constraints":[{"id":"same-pr","statement":"Use existing PR #1983 only; do not create another PR.","proofConditionIds":["repo"]},{"id":"preserve-assets","statement":"Do not modify approved logo or ornament pixels/assets.","proofConditionIds":["repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"PR #1983 contains the frontend universal crop primitive plus proposal-engine crop persistence, passes KnockLaunch Gate on exact head, and squash merges.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","supabaseEdge"],"requiredReleaseTargets":["frontend","supabaseEdge"]},{"id":"release","kind":"runtime","claim":"Production frontend and proposal-engine serve the exact merged #1983 source.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","supabaseEdge"],"requiredReleaseTargets":["frontend","supabaseEdge"]},{"id":"interaction","kind":"interaction","claim":"On live Big Papi Proposal Editor, select logo and use C crop; use Alt/Option crop on logo or artwork; crop an ornament; verify normal resize remains separate; save and reopen and verify static-media crop persists.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[{"action":"select_logo"},{"action":"toggle_crop_with_c"},{"action":"crop_logo"},{"action":"alt_drag_crop_logo_or_artwork"},{"action":"crop_ornament"},{"action":"normal_resize_media"},{"action":"save_and_reopen_verify_crop"}],"allowedReleaseTargets":["frontend","supabaseEdge"],"requiredReleaseTargets":["frontend","supabaseEdge"]}],"validationErrors":[]},"requestedBranch":"ai/proposal-editor-universal-media-crop","conversationContext":null,"requestContractHash":"105fa21f7bad1b4f69f72752672f2c3c7283468142256f91b9b65102e5dce679","requestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T18:53:52.050594+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:66ee9a22-19ef-4296-afdf-e20b26b99b96:tenant-workstream-contribution:23d826b97116dfa79ed513ba6f0000662b100f8a0191898a8fac767174145e6d","mission_step_id":null,"command_center_event_id":"66ee9a22-19ef-4296-afdf-e20b26b99b96"},{"id":"9fe119de-a74b-47c4-9542-7ddb913e89fb","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-6f54f4fa36c2","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":23882,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"executorlessWaitMs":18563,"firstUsefulResultAt":"2026-10-05T23:50:30.720Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":5099,"terminal":false,"missionId":"6f54f4fa-36c2-421d-aac8-170cc986046a","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2330,"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":"6f54f4fa-36c2-421d-aac8-170cc986046a"},"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-05T23:50:43.020794+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5099","receipt_type":"automatic_mission_resume","idempotency_key":"mission:6f54f4fa-36c2-421d-aac8-170cc986046a:automatic-mission-resume:5099:repair_mission_pr_ready_retryable","mission_step_id":"ee489250-081c-45d3-8d41-89c7b463d2d3","command_center_event_id":"6f54f4fa-36c2-421d-aac8-170cc986046a"},{"id":"9fe1b0f3-0ac9-4061-8d40-6e5425742015","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-8ec9fc6ce597","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1545,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-01T10:05:24.029Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.33-compact-mission-status","prNumber":null,"terminal":false,"missionId":"8ec9fc6c-e597-4933-b659-57b3fc06bb33","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1296,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":335,"providerAuthMs":0,"ledgerPrepareMs":335,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":335,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":335,"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":"8ec9fc6c-e597-4933-b659-57b3fc06bb33"},"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":3564,"likelyAffectedFiles":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/mcp.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-10-01T10:05:36.878925+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8ec9fc6c-e597-4933-b659-57b3fc06bb33:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"299fdf3f-ab20-4e13-9b50-cc679629cca1","command_center_event_id":"8ec9fc6c-e597-4933-b659-57b3fc06bb33"},{"id":"9fe24c4b-973b-4711-b77d-1a611b8b8363","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":"b3159e8a3821fb5e61b9fdfde318eea67633a496","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":"b3159e8a3821fb5e61b9fdfde318eea67633a496","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-23T16:15:20.081232+00:00","proof_gate":"canonical_release_pending","source_sha":"b3159e8a3821fb5e61b9fdfde318eea67633a496","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:65ea226e-1197-46b6-bea7-e875cb9676a5:forgejo-release-status:b3159e8a3821fb5e61b9fdfde318eea67633a496:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"6a8dcadc-9300-451c-b839-696021ca95a8","command_center_event_id":"65ea226e-1197-46b6-bea7-e875cb9676a5"},{"id":"9fe2a855-1d82-4441-9a43-8d9c10dc3d12","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","render-onrunner/runtime-proof":"success"},"mainSha":"d9f903da15356bbeff8815cf8ddb107a45b30687","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","render-onrunner/runtime-proof"],"sourceSha":"d9f903da15356bbeff8815cf8ddb107a45b30687","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"success"},"requestContractHash":"29fa38e08fddecbce33ca0423106feb6241069a8216c202ec109574e1a443e2f","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/11194","runId":11194,"status":"success","sourceSha":"d9f903da15356bbeff8815cf8ddb107a45b30687","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"onrunner":"success"},"targetJobCount":7,"observedTargetStates":{"onrunner":"success"}},"onrunnerRuntimeProof":{"reason":null,"hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":true,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"d9f903da15356bbeff8815cf8ddb107a45b30687","runnerVersion":"onrunner-d9f903da1535","expectedSourceSha":"d9f903da15356bbeff8815cf8ddb107a45b30687"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T12:02:30.217054+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"d9f903da15356bbeff8815cf8ddb107a45b30687","external_id":"forgejo-main-d9f903da1535","receipt_type":"canonical_release_status","idempotency_key":"mission:436bb0c1-f01b-42cd-8396-31418978e59a:forgejo-release-status:d9f903da15356bbeff8815cf8ddb107a45b30687:verified:forgejo-main/source=success|forgejo-release/workflow=success|render-onrunner/runtime-proof=success","mission_step_id":"2966fb3f-905b-4c1b-89b0-4152975e2649","command_center_event_id":"436bb0c1-f01b-42cd-8396-31418978e59a"},{"id":"9fe377ac-7cec-40cf-9fb6-5140ec6efc5d","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"612107b7464cbad42322ca1935d85a81b5387949","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"612107b7464cbad42322ca1935d85a81b5387949","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":"2fe6d721d603354a80431a0a76f85daa4ab56dca505665a5158361184902a729","forgejoWorkflowProof":{"runId":8172,"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-14T16:53:56.980793+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"612107b7464cbad42322ca1935d85a81b5387949","external_id":"forgejo-main-612107b7464c","receipt_type":"canonical_release_status","idempotency_key":"mission:fd9b2e81-c8b2-4228-8f78-0f232a455286:forgejo-release-status:612107b7464cbad42322ca1935d85a81b5387949:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"61369eb3-4e57-4f7d-b677-c2041aab912c","command_center_event_id":"fd9b2e81-c8b2-4228-8f78-0f232a455286"},{"id":"9fe88978-5865-4bc7-8984-d8b09da70d68","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3585dc83384a","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":617512,"releaseCount":0,"toolCallCount":385,"repeatedCallCount":376,"executorlessWaitMs":13716395,"firstUsefulResultAt":"2026-10-06T13:39:54.413Z","recoveryAttemptCount":86,"ownerInterruptionCount":0},"version":null,"prNumber":5179,"terminal":false,"missionId":"3585dc83-384a-43cb-8a6d-6b76096e58d1","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":"3585dc83-384a-43cb-8a6d-6b76096e58d1"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1006,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:48:46.258434+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"5179","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3585dc83-384a-43cb-8a6d-6b76096e58d1:automatic-mission-resume:5179:repair_mission_waiting_for_gate","mission_step_id":"cef74365-3e18-40f7-a958-2f4250a8fc7d","command_center_event_id":"3585dc83-384a-43cb-8a6d-6b76096e58d1"},{"id":"9fe9fb87-1534-433c-8fe4-4999de400365","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","workers/cc-execution/src/index-scoped-repo-patch.js","workers/cc-execution/src/scoped-repo-patch-policy.js","workers/cc-execution/src/version.js","workers/cc-execution/test/control-plane-light-gate-policy.test.js"],"reason":"Owner-authorized latency hardening: route already-eligible light control-plane Gate work to paul-light and centralize scoped mutation latency policy.","baseSha":"6d65a15a32bec593f3a9344f85719d8575ba4a33","issuedAt":1790226661495,"expiresAt":1790226841495,"missionId":"93a7d38b-c20e-4426-9b29-b7b4b1ade3e8","authorizationId":"3374ff0e-85ba-4b10-8466-de24b098e339","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:11:01.823599+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"6d65a15a32bec593f3a9344f85719d8575ba4a33","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:3374ff0e-85ba-4b10-8466-de24b098e339","mission_step_id":"a9d6277c-3c67-4ba9-b8f3-593dcf94a6ed","command_center_event_id":"93a7d38b-c20e-4426-9b29-b7b4b1ade3e8"},{"id":"9fea4d58-920c-4f7b-b038-e630484c19fb","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-69956e2ac4fd","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":101071,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":219506,"firstUsefulResultAt":"2026-09-29T01:06:25.670Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":4066,"terminal":false,"missionId":"69956e2a-c4fd-4bdb-adfd-1f8ad4fca1a6","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"195ea5935b8a6b0073080fb5bb210759845cccaf","timingsMs":{"prReadinessMs":622,"approvedPlanMs":0,"shipAndProveMs":2794,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"69956e2a-c4fd-4bdb-adfd-1f8ad4fca1a6"},"performance":null,"deploymentId":"forgejo-main-195ea5935b8a","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":1894,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T01:10:11.330174+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4066","receipt_type":"automatic_mission_resume","idempotency_key":"mission:69956e2a-c4fd-4bdb-adfd-1f8ad4fca1a6:automatic-mission-resume:4066:canonical_release_reconciliation_pending","mission_step_id":"2f607354-5753-4e1b-aca1-561525543b77","command_center_event_id":"69956e2a-c4fd-4bdb-adfd-1f8ad4fca1a6"},{"id":"9feb00a5-41f6-4a34-b1f2-d2acc17f8304","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-ba8ed4fd64b8","writes":[],"patches":[],"version":1,"approved":true,"missionId":"ba8ed4fd-64b8-4eea-a971-73ddca7142d9","objective":"P0 production outage hotfix: restore all authenticated KNOCKLAUNCH tenant routes. Clean-browser reproduction and direct module import prove the current production main bundle crashes before React mounts with Error: 'First-class application marketing points to an unregistered tenant workspace surface: marketing.' MarketingApplicationRoute exists and marketing is intentionally registered as a direct first-class tenant application, but REGISTERED_TENANT_WORKSPACE_SURFACES omits 'marketing'. Add marketing to the registered tenant workspace surfaces. Add a Gate-visible tenantStartupSafety regression lock by statically importing APPLICATION_CAPABILITY_REGISTRY so any future module-level application-registry assertion failure bricks Gate instead of production, and explicitly prove the marketing application resolves workspaceSurface='marketing'. One focused PR, Gate, squash merge, frontend release, then prove in a clean browser that importing the deployed main bundle succeeds and both app.knocklaunch.app/pcg/workspace and knocklaunch.app/pcg/workspace reach React instead of the bootstrap emergency screen. No visual witness unless runtime proof is insufficient.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/config/applicationCapabilityRegistry.ts","src/__tests__/contracts/tenantStartupSafety.test.ts"],"anchored_edits":[{"path":"src/config/applicationCapabilityRegistry.ts","edits":[{"new_content":"  'dashboard','contacts','communications','communications/email','calendar','invoices','billing/payments','billing','proposals','creative-studio','documents','booking','tasks','jobs','reports','analytics','marketing','opportunity-radar','field-intelligence','canvassing','lawn-care','inventory','card-grading','operations','claim-operations','realtor-operations','qr-suite','roof-estimator/admin','academy',","old_content":"  'dashboard','contacts','communications','communications/email','calendar','invoices','billing/payments','billing','proposals','creative-studio','documents','booking','tasks','jobs','reports','analytics','opportunity-radar','field-intelligence','canvassing','lawn-care','inventory','card-grading','operations','claim-operations','realtor-operations','qr-suite','roof-estimator/admin','academy',"}]},{"path":"src/__tests__/contracts/tenantStartupSafety.test.ts","edits":[{"new_content":"import { getTenantFeatures, TENANT_FEATURES } from '@/lib/tenantFeatures';\nimport { APPLICATION_CAPABILITY_REGISTRY } from '@/config/applicationCapabilityRegistry';","old_content":"import { getTenantFeatures, TENANT_FEATURES } from '@/lib/tenantFeatures';"},{"new_content":"  it('keeps every first-class application registry assertion safe at startup, including Marketing', () => {\n    const marketing = APPLICATION_CAPABILITY_REGISTRY.find((entry) => entry.id === 'marketing');\n    expect(marketing).toBeTruthy();\n    expect(marketing?.workspaceSurface).toBe('marketing');\n    expect(marketing?.routeAdapter).toBe('tenant-workspace');\n  });\n\n  it('gives mobile lazy chunks a bounded startup window without removing recovery guards', () => {","old_content":"  it('gives mobile lazy chunks a bounded startup window without removing recovery guards', () => {"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/config/applicationCapabilityRegistry.ts","src/__tests__/contracts/tenantStartupSafety.test.ts"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"042bb7b7e0d303519f46b4985ee2648ea7dc69e7e13d3ab5fc6d79f9815276ad","replayCount":0,"serializedBytes":4153},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T01:01:17.614882+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:ba8ed4fd-64b8-4eea-a971-73ddca7142d9:repository-mutation-intent:042bb7b7e0d303519f46b4985ee2648ea7dc69e7e13d3ab5fc6d79f9815276ad:0","mission_step_id":"e275c288-1fa1-4a08-ab09-80a4ea4c8562","command_center_event_id":"ba8ed4fd-64b8-4eea-a971-73ddca7142d9"},{"id":"9fec554c-f230-44d1-b7bf-da438d923845","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"bf2e8f974a1d971cc105267093ca44bd1c65a653","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"bf2e8f974a1d971cc105267093ca44bd1c65a653","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":"da4f047286bf8b517fad71560d7fc017e32af8bcbaa8a7883fb439ab9f5ceda9","forgejoWorkflowProof":{"runId":10713,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"47ae9f3619a850334ffa1f5ef905d9e934db24e5","deploymentId":"forgejo-main-47ae9f3619a850334ffa1f5ef905d9e934db24e5","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.212-parallel-patch-planning","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T10:37:56.356174+00:00","proof_gate":"canonical_release_pending","source_sha":"bf2e8f974a1d971cc105267093ca44bd1c65a653","external_id":"forgejo-main-bf2e8f974a1d","receipt_type":"canonical_release_status","idempotency_key":"mission:fd102760-45f9-46da-824a-6eac972d3e62:forgejo-release-status:bf2e8f974a1d971cc105267093ca44bd1c65a653:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"2a8caadf-6524-4c85-9abd-701767904fe5","command_center_event_id":"fd102760-45f9-46da-824a-6eac972d3e62"},{"id":"9feedea3-bf3a-46d7-9346-c00eabf8dbe0","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/sign-agreement-continuous-scroll-clean","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.212-parallel-patch-planning","prNumber":3404,"terminal":false,"missionId":"0291b6d5-7b41-4c52-9805-1237f859f207","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4815,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":752,"missionSetupMs":520,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":520,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":520,"repositoryMutationMs":4063,"repositoryProviderMs":4063,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2417,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":520,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1646},"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":"0291b6d5-7b41-4c52-9805-1237f859f207"},"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":3852,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T03:36:55.949467+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3404","receipt_type":"execute_mission","idempotency_key":"mission:0291b6d5-7b41-4c52-9805-1237f859f207:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"f8b3fa3d-545b-4b3d-8867-1cb3534958ca","command_center_event_id":"0291b6d5-7b41-4c52-9805-1237f859f207"},{"id":"9fefe4af-f495-4d2e-8725-b52a443ed986","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/polish-encore-route-family","reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":3978,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.30.18-repair-continuation-release","prNumber":4103,"terminal":false,"missionId":"3e4e02f4-822f-49b6-b8b9-586f1fb64502","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"3e4e02f4-822f-49b6-b8b9-586f1fb64502"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":401,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-06T01:08:16.553874+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":"4103","receipt_type":"execute_mission","idempotency_key":"mission:3e4e02f4-822f-49b6-b8b9-586f1fb64502:execute_mission:repair_mission_execution_blocked","mission_step_id":"d8538f8b-a67e-48a3-a448-faaa6fe74ece","command_center_event_id":"3e4e02f4-822f-49b6-b8b9-586f1fb64502"},{"id":"9ff040e0-8f60-4a70-8842-58d1c3daed84","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue existing PR #1622 on branch ai/objective-first-repair-mtm1k4dw. Apply only the remaining bounded frontend changes: current-logo-aware proposal PDF fingerprinting and a premium full-screen Proposal Studio with a much larger customer proposal, collapsible Layers and Properties, zoom controls, compact chrome, and mobile-safe behavior. Preserve all proposal facts, pricing, history, design controls, and save behavior. Do not create another branch or PR. Do not ship until the final exact PR head is gated.","wordingChanged":false,"canonicalIntent":"Continue existing PR #1622 on branch ai/objective-first-repair-mtm1k4dw. Apply only the remaining bounded frontend changes: current-logo-aware proposal PDF fingerprinting and a premium full-screen Proposal Studio with a much larger customer proposal, collapsible Layers and Properties, zoom controls, compact chrome, and mobile-safe behavior. Preserve all proposal facts, pricing, history, design controls, and save behavior. Do not create another branch or PR. Do not ship until the final exact PR head is gated.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"approved-logo","statement":"Every Big Papi proposal preview, Proposal Studio preview, and newly generated PDF renders the active tenant logo, with /brand/big-papis-logo.webp as the Big Papi fallback; historical brand_snapshot logos are never rendered.","proofConditionIds":["repo-proof","visual-proof"]},{"id":"pdf-freshness","statement":"A proposal PDF generated under stale branding is not reported or sent as current after the logo correction; render fingerprinting includes the effective current logo and renderer revision.","proofConditionIds":["repo-proof","interaction-proof"]},{"id":"premium-studio","statement":"Proposal Studio opens as a full-screen focus workspace above tenant chrome, makes the proposal materially larger, and provides working Layers/Properties collapse controls and zoom controls while preserving existing design controls.","proofConditionIds":["repo-proof","visual-proof","interaction-proof"]}],"objective":"Continue existing PR #1622 on branch ai/objective-first-repair-mtm1k4dw. Apply only the remaining bounded frontend changes: current-logo-aware proposal PDF fingerprinting and a premium full-screen Proposal Studio with a much larger customer proposal, collapsible Layers and Properties, zoom controls, compact chrome, and mobile-safe behavior. Preserve all proposal facts, pricing, history, design controls, and save behavior. Do not create another branch or PR. Do not ship until the final exact PR head is gated.","constraints":[{"id":"frontend-only","statement":"Do not change Supabase data, backend functions, proposal pricing, customer facts, proposal history, auth, control plane, or other tenants.","proofConditionIds":["repo-proof"]},{"id":"one-pr","statement":"Continue existing PR #1622 only; do not create a duplicate branch or PR.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"PR #1622 contains only the bounded Big Papi proposal frontend files required for current-logo rendering, PDF freshness, and the premium Studio UI.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":[]},{"id":"interaction-proof","kind":"interaction","claim":"On the live Big Papi Proposals route, opening Design enters Proposal Studio; Layers and Properties can be collapsed/reopened and zoom controls change the proposal canvas without saving proposal facts.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[{"action":"click","target":"Design"},{"action":"click","target":"Hide layers"},{"action":"click","target":"Show layers"},{"action":"click","target":"Zoom in"},{"action":"click","target":"Hide properties"},{"action":"click","target":"Show properties"}],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"visual-proof","kind":"visual","claim":"The live Proposal Studio is full-screen, proposal-first, materially larger than the rejected screenshot, and the proposal displays the current approved Big Papi logo rather than the disapproved historical artwork.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestContractHash":"3be558b5ae5439f3a6741eb40af1961970802bf260e0c6723a302c74369c41cc","requestContractRevision":2,"previousRequestContractHash":"888416ee0923cfe78c865840ae7173598d7da4b7b1d75b18e7ba42cd4e5a5f51"},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-03T21:44:16.290267+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:b679394a-b67a-4e26-a3b6-85f781feb7ab:request-contract-revision:2:3be558b5ae5439f3a6741eb40af1961970802bf260e0c6723a302c74369c41cc","mission_step_id":"ea9ebcd1-5d73-4977-ac27-b5c82954c5cd","command_center_event_id":"b679394a-b67a-4e26-a3b6-85f781feb7ab"},{"id":"9ff08501-246e-4a2b-9f32-9fff09f7869c","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"dbae7fd88a75242e229155e0d05b517835338e5e","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"dbae7fd88a75242e229155e0d05b517835338e5e","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":"dc218d7262961e25bcc168b7c6517016054f69a3ee23a3292fb365f412c1489b","forgejoWorkflowProof":{"runId":10901,"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-22T17:15:57.045861+00:00","proof_gate":"canonical_release_pending","source_sha":"dbae7fd88a75242e229155e0d05b517835338e5e","external_id":"forgejo-main-dbae7fd88a75","receipt_type":"canonical_release_status","idempotency_key":"mission:aa51cc48-fb70-45c5-a4d2-3fec38854ac4:forgejo-release-status:dbae7fd88a75242e229155e0d05b517835338e5e:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"303b0446-2f2b-4cca-9d85-b62dce5a7a33","command_center_event_id":"aa51cc48-fb70-45c5-a4d2-3fec38854ac4"},{"id":"9ff2026a-a6db-42fb-855c-c101fb8c0ca0","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-8fab9106a8de","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":168124,"releaseCount":0,"toolCallCount":67,"repeatedCallCount":37,"executorlessWaitMs":4270088,"firstUsefulResultAt":"2026-09-28T14:21:48.654Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4005,"terminal":false,"missionId":"8fab9106-a8de-4203-a8a4-2e3f007112f9","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5552,"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":"8fab9106-a8de-4203-a8a4-2e3f007112f9"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["interaction","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-28T15:32:58.778619+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4005","receipt_type":"automatic_mission_resume","idempotency_key":"mission:8fab9106-a8de-4203-a8a4-2e3f007112f9:automatic-mission-resume:4005:repair_mission_pr_ready_retryable","mission_step_id":"1507603d-0981-43df-a650-1d30f35b881f","command_center_event_id":"8fab9106-a8de-4203-a8a4-2e3f007112f9"},{"id":"9ff21b70-a4e9-4e36-936b-8bc43750a914","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/historical-release-proof-recovery","reason":"auto_progress_pr_read_failed:502","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2676,"terminal":false,"missionId":"7481862c-26f9-442b-9f72-082d1a22cfed","operation":"automatic_mission_resume","proofGate":"repair_mission_auto_progress_authorization_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":0,"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":"7481862c-26f9-442b-9f72-082d1a22cfed"},"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":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T19:53:10.395881+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"2676","receipt_type":"automatic_mission_resume","idempotency_key":"mission:7481862c-26f9-442b-9f72-082d1a22cfed:automatic-mission-resume:2676:repair_mission_auto_progress_authorization_retryable","mission_step_id":"ba951f48-5378-4a74-8cea-7ed02749de9b","command_center_event_id":"7481862c-26f9-442b-9f72-082d1a22cfed"},{"id":"9ff252dd-8498-41c5-848b-e5934f2f4115","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Continue the owner-authorized control-plane maintenance after deterministic gate test failures. Change only the regression test file, re-gate the same PR, deploy the repaired runtime, then refreeze the control plane.","baseSha":"645e4c99eccf3ccdfc5b2cc63dbabab5d2d9f224","issuedAt":1788599047990,"expiresAt":1788599227990,"missionId":"23641945-9fb4-4c4e-8748-8375ab892303","authorizationId":"c07201b0-03f2-45d6-9ac0-4ae3ef256e87","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T09:04:08.381166+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"645e4c99eccf3ccdfc5b2cc63dbabab5d2d9f224","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c07201b0-03f2-45d6-9ac0-4ae3ef256e87","mission_step_id":"93be3b15-8ac5-492d-9dc2-6790e7978d5a","command_center_event_id":"23641945-9fb4-4c4e-8748-8375ab892303"},{"id":"9ff6338b-888b-4bb6-a1d8-52bf841ab34d","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\":\"release\",\"deadlineAt\":\"2026-09-28T15:03:12.334845+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-e329c2cf399f\",\"prNumber\":3979,\"sourceSha\":\"4f70a39ed17809e512c4737c6c1c8f5dcc6c2591\",\"deploymentId\":\"forgejo-main-4f70a39ed178\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T12:07:04.85957+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:e329c2cf-399f-4c64-924d-2c496c09ddc7:owner-progress-heartbeat:119373148","mission_step_id":"e8e6d0e2-c0ce-4897-a110-15cbbf75a992","command_center_event_id":"e329c2cf-399f-4c64-924d-2c496c09ddc7"},{"id":"9ff7b216-e848-49d1-8588-39b552a7088e","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"96daea1699a803ddb0e9392e36749bbb529bbe74","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"96daea1699a803ddb0e9392e36749bbb529bbe74","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":"c8caac5d68878c695c43d85f21bda2e462d71d958649f99680c8989b6ea0fbc6","forgejoWorkflowProof":{"runId":7239,"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":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-11T22:49:10.626277+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"96daea1699a803ddb0e9392e36749bbb529bbe74","external_id":"forgejo-main-96daea1699a8","receipt_type":"canonical_release_status","idempotency_key":"mission:a02cf123-b0d3-49ab-97db-620b61f0f760:forgejo-release-status:96daea1699a803ddb0e9392e36749bbb529bbe74:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"95744278-8fc0-402b-bbec-1ea754c667a9","command_center_event_id":"a02cf123-b0d3-49ab-97db-620b61f0f760"},{"id":"9ff9b16c-8c28-48a1-8f9b-29c7d09dca92","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-nonmail-mobile-20260820","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":2190,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.9-single-mutation-lane","prNumber":493,"terminal":false,"missionId":"39ab3580-cd9f-4243-ba0c-23b8b6ba2a21","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"39ab3580-cd9f-4243-ba0c-23b8b6ba2a21"},"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":4443,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T16:07:59.714724+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:39ab3580-cd9f-4243-ba0c-23b8b6ba2a21:execute_mission:repair_mission_execution_retryable","mission_step_id":"0180f4e1-2bfa-4e10-b096-08068c98c3cc","command_center_event_id":"39ab3580-cd9f-4243-ba0c-23b8b6ba2a21"},{"id":"9ffb890b-56ea-4a21-b4c5-82e6f92d8985","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/seaside-route-family-fullscreen-canvas-contrast","reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":1153,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.18-repair-continuation-release","prNumber":null,"terminal":false,"missionId":"19c69926-4513-4fbe-bd91-d5321bcc16f5","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"19c69926-4513-4fbe-bd91-d5321bcc16f5"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":961,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-06T11:41:55.788058+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:19c69926-4513-4fbe-bd91-d5321bcc16f5:execute_mission:repair_mission_execution_blocked","mission_step_id":"9cacfa47-2224-411e-9be3-2696a5a4d076","command_center_event_id":"19c69926-4513-4fbe-bd91-d5321bcc16f5"},{"id":"9ffbd061-2e2a-431f-ae1b-377a763d94c8","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-9fe83658ab6e","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":"9fe83658-ab6e-4409-97ac-b2b68653ad36","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":"9fe83658-ab6e-4409-97ac-b2b68653ad36"},"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":7580,"likelyAffectedFiles":["config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-23T22:39:58.643436+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9fe83658-ab6e-4409-97ac-b2b68653ad36:execute_mission:repair_mission_synthesis_ready","mission_step_id":"dc5beae8-2e55-4600-bcf1-e3a3064f3ab4","command_center_event_id":"9fe83658-ab6e-4409-97ac-b2b68653ad36"},{"id":"9ffcfb7a-3339-4e8e-aaca-01d3669954ff","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"8297e77def23df42a3dd1c9dd2835d560b278bd7","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8297e77def23df42a3dd1c9dd2835d560b278bd7","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"f5319d6265025a811078cb351b66669210dc13420acf6f4211f2d3b62265f7bb","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6679","runId":6679,"status":"running","sourceSha":"8297e77def23df42a3dd1c9dd2835d560b278bd7","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-10T04:21:34.650941+00:00","proof_gate":"canonical_release_pending","source_sha":"8297e77def23df42a3dd1c9dd2835d560b278bd7","external_id":"forgejo-main-8297e77def23","receipt_type":"canonical_release_status","idempotency_key":"mission:3b84be22-531a-4511-9534-6adbe08640c5:forgejo-release-status:8297e77def23df42a3dd1c9dd2835d560b278bd7:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"433f7105-1484-4e2a-a029-5cd45bbd60d2","command_center_event_id":"3b84be22-531a-4511-9534-6adbe08640c5"},{"id":"9ffd20a8-dac3-4000-a088-68e23d73ff89","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"459a1c4b70b701f1e80b339f911bc83fbcd4c17a","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"459a1c4b70b701f1e80b339f911bc83fbcd4c17a","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"495279ced658ea257e25ab9b001e71f9b4fbcabac3189267b9bd3cff6ef50920","forgejoWorkflowProof":{"runId":16066,"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-05T22:44:46.81528+00:00","proof_gate":"canonical_release_pending","source_sha":"459a1c4b70b701f1e80b339f911bc83fbcd4c17a","external_id":"forgejo-main-459a1c4b70b7","receipt_type":"canonical_release_status","idempotency_key":"mission:11114093-96cb-44ea-ad68-3d75f6f539cf:forgejo-release-status:459a1c4b70b701f1e80b339f911bc83fbcd4c17a:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"9fc2ac36-2933-4525-bd63-0438e54cbeb4","command_center_event_id":"11114093-96cb-44ea-ad68-3d75f6f539cf"},{"id":"9fff85cb-8479-462a-b320-71604f42bb56","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-9cc6dad66432","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":11698,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"executorlessWaitMs":18268,"firstUsefulResultAt":"2026-09-25T23:15:54.341Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":3778,"terminal":false,"missionId":"9cc6dad6-6432-40f5-b534-aba02e720e9c","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"f67000a5931beedd2f4cde04c97ee1bac58e1a84","timingsMs":{"prReadinessMs":659,"approvedPlanMs":0,"shipAndProveMs":3261,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"9cc6dad6-6432-40f5-b534-aba02e720e9c"},"performance":null,"deploymentId":"forgejo-main-f67000a5931b","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":1890,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T23:16:29.463013+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3778","receipt_type":"automatic_mission_resume","idempotency_key":"mission:9cc6dad6-6432-40f5-b534-aba02e720e9c:automatic-mission-resume:3778:canonical_release_reconciliation_pending","mission_step_id":"3eb8ab95-9a9f-4091-b906-e3242e3ded56","command_center_event_id":"9cc6dad6-6432-40f5-b534-aba02e720e9c"},{"id":"a004d2c2-0d65-4409-9ee7-87671ddfbb63","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-64e0593aefa6","prNumber":4788,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"78c897179420d7ef7228abc23b0f77e95c57b2a0","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T13:24:30.182842+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"78c897179420d7ef7228abc23b0f77e95c57b2a0","external_id":"4788","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:64e0593a-efa6-447d-8529-3acc58e28fd6:merged-pr:4788:78c897179420d7ef7228abc23b0f77e95c57b2a0","mission_step_id":"d1de98b2-4d77-4064-9ecd-d14c23b6f76a","command_center_event_id":"64e0593a-efa6-447d-8529-3acc58e28fd6"},{"id":"a0053133-0d62-4c46-b7aa-6cae65078e56","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-d1e4919b1c34","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":13689,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":20153,"firstUsefulResultAt":"2026-10-01T18:58:32.467Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4389,"terminal":false,"missionId":"d1e4919b-1c34-439c-ba50-1f59ebcdeef6","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2246,"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":"d1e4919b-1c34-439c-ba50-1f59ebcdeef6"},"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-10-01T18:58:43.956155+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4389","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d1e4919b-1c34-439c-ba50-1f59ebcdeef6:automatic-mission-resume:4389:repair_mission_pr_ready_retryable","mission_step_id":"5649f550-4837-4e03-a36c-446ec9aea7e3","command_center_event_id":"d1e4919b-1c34-439c-ba50-1f59ebcdeef6"},{"id":"a006ffb4-f940-4885-99b5-932e465c97ea","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/control-plane-zstd-gate-cache-20260902","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":26708,"releaseCount":0,"toolCallCount":20,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1367,"terminal":false,"missionId":"c04c059f-2b9f-42b2-ae41-8a80eadfcab5","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"91f21bf36d7c10090e58045bc7808f300b35f96d","timingsMs":{"handlerMs":14577,"prReadinessMs":2026,"approvedPlanMs":0,"missionSetupMs":4487,"shipAndProveMs":10798},"nextAction":null,"receiptRef":{"mode":"full","missionId":"c04c059f-2b9f-42b2-ae41-8a80eadfcab5"},"performance":null,"deploymentId":"forgejo-main-91f21bf36d7c","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2302,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T02:53:22.211971+00:00","proof_gate":"canonical_release_dispatched","source_sha":"91f21bf36d7c10090e58045bc7808f300b35f96d","external_id":"forgejo-main-91f21bf36d7c","receipt_type":"execute_mission","idempotency_key":"mission:c04c059f-2b9f-42b2-ae41-8a80eadfcab5:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"a54a52f2-6689-4b17-824d-c7cc4a16db1d","command_center_event_id":"c04c059f-2b9f-42b2-ae41-8a80eadfcab5"},{"id":"a0084656-3054-4e28-9a16-95673fab6a58","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c33036a4a8f1","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":8720,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":4605,"firstUsefulResultAt":"2026-09-30T03:36:37.861Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":4205,"terminal":false,"missionId":"c33036a4-a8f1-4a49-99af-64d87fec6c5a","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2055,"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":"c33036a4-a8f1-4a49-99af-64d87fec6c5a"},"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-30T03:37:13.416165+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4205","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c33036a4-a8f1-4a49-99af-64d87fec6c5a:automatic-mission-resume:4205:repair_mission_pr_ready_retryable","mission_step_id":"87347718-77b3-4e9a-b3f5-b30b07140209","command_center_event_id":"c33036a4-a8f1-4a49-99af-64d87fec6c5a"},{"id":"a00aeb12-26ef-4795-8118-d922c2c70d16","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-proposal-pdf-v5-20260820","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":2541,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.9-single-mutation-lane","prNumber":505,"terminal":false,"missionId":"e3375a2f-be15-4218-9bc0-4efcd04ec1b9","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":"e3375a2f-be15-4218-9bc0-4efcd04ec1b9"},"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":5002,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-20T19:40:19.606629+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"505","receipt_type":"execute_mission","idempotency_key":"mission:e3375a2f-be15-4218-9bc0-4efcd04ec1b9:execute_mission:canonical_release_transport_retryable","mission_step_id":"1e0c2486-c8d6-4fbf-9046-1b5ac5029af3","command_center_event_id":"e3375a2f-be15-4218-9bc0-4efcd04ec1b9"},{"id":"a00cd80f-a87e-45ac-acf2-e612cc22892f","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:workers/cc-execution/src/index-mission-control.js","fingerprint":"22985a9239f064e7d7ee31fad27d71e9af93bb44a9aaad01c5974e6d7b4796bb"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T22:52:25.66952+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:df428b37-f8be-4b09-8a6a-8f7cc4fee28a:repository-mutation-intent-blocked:22985a9239f064e7d7ee31fad27d71e9af93bb44a9aaad01c5974e6d7b4796bb","mission_step_id":"fec4a80a-9a0e-4b56-86f8-585553f06659","command_center_event_id":"df428b37-f8be-4b09-8a6a-8f7cc4fee28a"},{"id":"a00d5403-e896-409d-8a33-fbd1c0305160","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"89247f1fbc228392282089a83548255b8b457980","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"runner-functional","satisfied":true,"statement":"Quick interactive audits must reach the interaction loop without long screenshot capture blocking them.","proofConditionIds":["repo","runtime","interaction"]}],"satisfied":true,"constraints":[{"id":"runner-first","satisfied":true,"statement":"Runner repair completes before broader hardening.","proofConditionIds":["runtime","interaction"]}],"contractHash":"10f4419c160f512a7248cabbeb37c735696b05b625d768c12159dbbdd0c2b949","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"10f4419c160f512a7248cabbeb37c735696b05b625d768c12159dbbdd0c2b949","repositoryProofStatus":"verified","repositoryProofSourceSha":"89247f1fbc228392282089a83548255b8b457980"},"required":true,"satisfied":true},{"id":"runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["onrunner"],"releaseRequestContractHash":"10f4419c160f512a7248cabbeb37c735696b05b625d768c12159dbbdd0c2b949"},"required":true,"satisfied":true},{"id":"interaction","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["onrunner"],"releaseRequestContractHash":"10f4419c160f512a7248cabbeb37c735696b05b625d768c12159dbbdd0c2b949"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["onrunner"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T19:57:07.874323+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"89247f1fbc228392282089a83548255b8b457980","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:b42396ae-109e-4a1a-a5f7-dcc57ed7dceb:request-contract:10f4419c160f512a7248cabbeb37c735696b05b625d768c12159dbbdd0c2b949:89247f1fbc228392282089a83548255b8b457980:verified:","mission_step_id":"973e3cfa-45ba-422f-9daf-55108634ffa8","command_center_event_id":"b42396ae-109e-4a1a-a5f7-dcc57ed7dceb"},{"id":"a00f8eeb-d58e-4277-b716-ca445f459a34","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"af3dc9345deb3d216a24b7a593a5207df644bad6","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Repair PAUL's broad tenant mobile UX audit flow and Console live-pane synchronization on current protected main. Reproduce the current behavior from an owner prompt equivalent to: \"analyze the entire mobile Big Papi's experience from the perspective of Will; ensure all routes are easy to navigate, effective in their usage types, look premium and match the intended mode and color scheme.\" Current defects: PAUL initially anchors on /dashboard, then moves routes too slowly; and when PAUL navigates to another route, the Console live pane remains visually stuck on /dashboard instead of showing the actual currently inspected route. Implement the smallest safe production repair so that broad tenant/route-family audit intent: (1) resolves the canonical tenant route inventory up front rather than defaulting to /dashboard; (2) plans a coverage set across all relevant Big Papi mobile routes and mode families; (3) reuses one authenticated mobile inspection session where possible; (4) inspects independent routes concurrently or in bounded parallel batches when safe, while reserving deeper sequential interaction for routes whose workflows require it; (5) gathers route-specific evidence for navig","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"visual-artifact-scope","satisfied":true,"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"]},{"id":"visual-content-truth","satisfied":true,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-production"]},{"id":"tenant-visual-isolation","satisfied":true,"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"]},{"id":"visual-viewport-authority","satisfied":true,"statement":"The requested mobile viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport unless explicitly requested.","proofConditionIds":["proof-production"]},{"id":"reference-visual-fidelity","satisfied":true,"statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","proofConditionIds":["proof-production"]},{"id":"responsive-visual-continuity","satisfied":true,"statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","proofConditionIds":["proof-production"]},{"id":"reference-visual-authority","satisfied":true,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-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":"541023ba276e5aab928ad58df49484c507d6b98f61c2e61373fe60345e066c25","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","ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"541023ba276e5aab928ad58df49484c507d6b98f61c2e61373fe60345e066c25"},"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-28T23:55:27.021596+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"af3dc9345deb3d216a24b7a593a5207df644bad6","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:c792f012-f023-42e5-a38f-b3bedb27e053:request-contract:541023ba276e5aab928ad58df49484c507d6b98f61c2e61373fe60345e066c25:af3dc9345deb3d216a24b7a593a5207df644bad6:verified:","mission_step_id":"860704b9-ba7c-4ebd-9a46-cecaf6572d2b","command_center_event_id":"c792f012-f023-42e5-a38f-b3bedb27e053"},{"id":"a010afb2-0682-4665-927f-b98a8c5e05d0","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/dynamic-gate-capacity-20260911","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.109-merge-queue-fair-recovery","prNumber":2427,"terminal":false,"missionId":"46081abf-7bdd-4cf3-8cad-bf08f5051d31","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":23578,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1126,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1126,"ledgerReconcileMs":313,"lineageReconcileMs":0,"resolvePreflightMs":1126,"repositoryMutationMs":23578,"repositoryProviderMs":17381,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":9214,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1439,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":8167},"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":"46081abf-7bdd-4cf3-8cad-bf08f5051d31"},"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":4258,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T21:43:51.867027+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2427","receipt_type":"execute_mission","idempotency_key":"mission:46081abf-7bdd-4cf3-8cad-bf08f5051d31:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"b292ed89-b329-4199-a2d4-ab66f268acc1","command_center_event_id":"46081abf-7bdd-4cf3-8cad-bf08f5051d31"},{"id":"a0115a8e-ae0d-46ec-a67b-442da8eea2ca","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\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-25T05:52:59.188766+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-3511737f41cb\",\"prNumber\":3698,\"sourceSha\":\"0b1ff26426618b96116bdcbbcdf1053337c35aa0\",\"deploymentId\":\"forgejo-main-0b1ff2642661\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T10:47:20.283117+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:3511737f-41cb-4ea0-bc42-27eb82eed9b5:owner-progress-heartbeat:119355549","mission_step_id":"85312eaa-e2e5-420c-b9cf-fa2d5b3e8124","command_center_event_id":"3511737f-41cb-4ea0-bc42-27eb82eed9b5"},{"id":"a0128562-eaad-4eed-9600-342f5b279d8b","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"0e1bb523d4d350de10ae4b04a40290b4508bf254","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Prove whether the existing Forgejo runner labeled paul-light is literally executing on the DigitalOcean droplet named PAUL before any secret-bearing bootstrap is attempted. This is backend infrastructure verification only. Add one zero-secret Forgejo workflow that runs only when its own workflow file lands on main, targets paul-light, verifies the exact current PAUL droplet identity through DigitalOcean metadata, verifies the expected approximately 2 GB host memory, proves access to the host Docker socket via the Docker Engine API, and emits only sanitized host/container identity evidence. Fail closed on any mismatch. Do not deploy or configure the visual witness yet, do not expose credentials, do not touch canonical Gate/release runner scheduling, and do not require visual proof.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"zero-secret-probe","satisfied":true,"statement":"The probe must not inject or expose repository, Supabase, Cloudflare, Render, or witness credentials. It may emit only sanitized host identity, memory, Docker API identity, and non-secret container names/images.","proofConditionIds":["proof-production"]},{"id":"fail-closed-host-identity","satisfied":true,"statement":"The workflow must fail closed unless paul-light proves the exact current DigitalOcean PAUL droplet identity, expected approximately 2 GB memory class, and host Docker socket authority.","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":"6b153b932dc1a1a3a75f3bf530e228750c4c9fd508d6b3575ec85af470397d68","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":{},"unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"6b153b932dc1a1a3a75f3bf530e228750c4c9fd508d6b3575ec85af470397d68"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T12:33:04.979144+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"0e1bb523d4d350de10ae4b04a40290b4508bf254","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:e0a99054-7641-4222-aab5-1e5086e46cec:request-contract:6b153b932dc1a1a3a75f3bf530e228750c4c9fd508d6b3575ec85af470397d68:0e1bb523d4d350de10ae4b04a40290b4508bf254:verified:","mission_step_id":"f8a3453f-f3fd-4452-9a2d-1b5515bffde6","command_center_event_id":"e0a99054-7641-4222-aab5-1e5086e46cec"},{"id":"a015d5db-eccf-4381-8b94-c9103834f4c4","source":"forgejo","status":"waiting","payload":{"branch":"ai/roofhelpfinder-edge-seo-20260829","prNumber":1011,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"91914339d3447259168f491ee550748ca907596b","branchDeletedAfterMerge":false,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T13:09:43.640347+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"91914339d3447259168f491ee550748ca907596b","external_id":"1011","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:a52594e7-8ead-4574-ac5a-962989ce9906:merged-pr:1011:91914339d3447259168f491ee550748ca907596b","mission_step_id":"5d9c4475-e98e-4fa4-b630-3b07a91373b1","command_center_event_id":"a52594e7-8ead-4574-ac5a-962989ce9906"},{"id":"a015f7d9-812a-4f66-ab1b-6696f47161dd","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3a33a7f6e8bd","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":11504,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":3,"executorlessWaitMs":180852,"firstUsefulResultAt":"2026-10-02T21:24:39.318Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.52-paul-deep-critic","prNumber":4533,"terminal":false,"missionId":"3a33a7f6-e8bd-40ca-92a9-65e1e94f241f","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"3b6fa3175433f553599b4ce105330026c98d771b","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2811,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":697,"approvedPlanMs":0,"missionSetupMs":333,"providerAuthMs":0,"shipAndProveMs":1702,"ledgerPrepareMs":271,"ledgerReconcileMs":0,"lineageReconcileMs":62,"resolvePreflightMs":333,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":271,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"3a33a7f6-e8bd-40ca-92a9-65e1e94f241f"},"performance":null,"deploymentId":"forgejo-main-3b6fa3175433","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"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":2486,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T21:27:47.919606+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"3b6fa3175433f553599b4ce105330026c98d771b","external_id":"forgejo-main-3b6fa3175433","receipt_type":"execute_mission","idempotency_key":"mission:3a33a7f6-e8bd-40ca-92a9-65e1e94f241f:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"82a1ff19-dd3d-4fb7-a783-2f550069da4d","command_center_event_id":"3a33a7f6-e8bd-40ca-92a9-65e1e94f241f"},{"id":"a016526e-1f5f-420e-805c-9ad2b146b387","source":"cc-execution","status":"recorded","payload":{"objective":"Post-merge corrective generation after merged PR #1453. Finish Redfish Roofing + Windows + Exteriors prospecting: generalize remaining Redfish-only Homeowners CRM copy; make frontend lead queue and authoritative claim-lead backend stop globally excluding Redfish leads solely because a roof is new while preserving roof-age filtering for other roofing tenants; suppress advanced stages including contract/authorization/contingency signed, sold/closed-won, production, completed, invoiced, and paid from prospecting/claiming; preserve DNC/address/tenant/cooldown/atomic claim rules; restore the unproven new-roofs-queue surface to the honest specialized label Recent Roof Permits while Property Opportunities remains the broad multi-service permit/property intelligence surface. Keep Roof Measurement/Estimate roof-only. One corrective branch/PR, canonical gate, deploy frontend and claim-lead Edge Function, production proof. No visual witness.","tenantRef":"Redfish","receivedAt":"2026-09-02T17:48:47.475Z","fingerprint":"1358a89f02eaf0ec5509b417a494e1c0739e1c3d5c2aa51e832bce96b20f28bc","workstreamRef":"redfish","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Post-merge corrective generation after merged PR #1453. Finish Redfish Roofing + Windows + Exteriors prospecting: generalize remaining Redfish-only Homeowners CRM copy; make frontend lead queue and authoritative claim-lead backend stop globally excluding Redfish leads solely because a roof is new while preserving roof-age filtering for other roofing tenants; suppress advanced stages including contract/authorization/contingency signed, sold/closed-won, production, completed, invoiced, and paid from prospecting/claiming; preserve DNC/address/tenant/cooldown/atomic claim rules; restore the unproven new-roofs-queue surface to the honest specialized label Recent Roof Permits while Property Opportunities remains the broad multi-service permit/property intelligence surface. Keep Roof Measurement/Estimate roof-only. One corrective branch/PR, canonical gate, deploy frontend and claim-lead Edge Function, production proof. No visual witness.","wordingChanged":false,"canonicalIntent":"Post-merge corrective generation after merged PR #1453. Finish Redfish Roofing + Windows + Exteriors prospecting: generalize remaining Redfish-only Homeowners CRM copy; make frontend lead queue and authoritative claim-lead backend stop globally excluding Redfish leads solely because a roof is new while preserving roof-age filtering for other roofing tenants; suppress advanced stages including contract/authorization/contingency signed, sold/closed-won, production, completed, invoiced, and paid from prospecting/claiming; preserve DNC/address/tenant/cooldown/atomic claim rules; restore the unproven new-roofs-queue surface to the honest specialized label Recent Roof Permits while Property Opportunities remains the broad multi-service permit/property intelligence surface. Keep Roof Measurement/Estimate roof-only. One corrective branch/PR, canonical gate, deploy frontend and claim-lead Edge Function, production proof. No visual witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"redfish-multiservice","statement":"Redfish shared CRM and lead/prospecting flows support Roofing, Windows, and Exteriors without roof-only contamination.","proofConditionIds":["production-release"]},{"id":"prospecting-suppression","statement":"Customers at signed/advanced/production/completed financial stages are suppressed from lead generation and claim queues.","proofConditionIds":["production-release"]},{"id":"honest-permit-surfaces","statement":"Property Opportunities remains broad multi-service permit/property intelligence, while the separate roof-permit queue is honestly labeled Recent Roof Permits.","proofConditionIds":["production-release"]}],"objective":"Post-merge corrective generation after merged PR #1453. Finish Redfish Roofing + Windows + Exteriors prospecting: generalize remaining Redfish-only Homeowners CRM copy; make frontend lead queue and authoritative claim-lead backend stop globally excluding Redfish leads solely because a roof is new while preserving roof-age filtering for other roofing tenants; suppress advanced stages including contract/authorization/contingency signed, sold/closed-won, production, completed, invoiced, and paid from prospecting/claiming; preserve DNC/address/tenant/cooldown/atomic claim rules; restore the unproven new-roofs-queue surface to the honest specialized label Recent Roof Permits while Property Opportunities remains the broad multi-service permit/property intelligence surface. Keep Roof Measurement/Estimate roof-only. One corrective branch/PR, canonical gate, deploy frontend and claim-lead Edge Function, production proof. No visual witness.","constraints":[{"id":"preserve-other-tenants","statement":"Preserve existing roof-age behavior for non-Redfish roofing tenants and do not change unrelated tenants.","proofConditionIds":["production-release"]},{"id":"preserve-roof-tools","statement":"Roof Measurement and Roof Estimate remain explicitly roof-only.","proofConditionIds":["production-release"]},{"id":"no-visual","statement":"Do not run Visual Witness.","proofConditionIds":["production-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"production-release","kind":"runtime","claim":"The corrective frontend and claim-lead backend changes are merged through the canonical gate and deployed to production with release receipts.","route":"/redfish-roofing/homeowners","roleRef":null,"userRef":null,"required":true,"expectedText":"Homeowners","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":null,"conversationContext":null,"requestContractHash":"a7ac39f7f97845e20e5a69bd031d892b825ed8b884dba26765ca3f444733e6a9","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T17:48:48.031475+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:c4fb99da-9ddd-44f8-81ee-34ec9d53847f:tenant-workstream-contribution:1358a89f02eaf0ec5509b417a494e1c0739e1c3d5c2aa51e832bce96b20f28bc","mission_step_id":null,"command_center_event_id":"c4fb99da-9ddd-44f8-81ee-34ec9d53847f"},{"id":"a01b1746-7ce0-439b-b92e-044900c56ae8","source":"forgejo","status":"waiting","payload":{"branch":"ai/server-admin-authority-bounded-retry-20260906","prNumber":2000,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"1ba6ccd683efbabbae62994893a9313d440d939c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T21:05:42.734431+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"1ba6ccd683efbabbae62994893a9313d440d939c","external_id":"2000","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:94d25ca8-9ec8-45fd-b274-e351ea206e73:merged-pr:2000:1ba6ccd683efbabbae62994893a9313d440d939c","mission_step_id":"534873ff-d32a-4b1c-95a1-72af012bb6ae","command_center_event_id":"94d25ca8-9ec8-45fd-b274-e351ea206e73"},{"id":"a01b715e-d2a4-4043-9858-c23dee12d333","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":"05b77e3e5958b4460793a8ba4a8903abb75cc09f","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"sourceSha":"05b77e3e5958b4460793a8ba4a8903abb75cc09f","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1471","runId":1471,"status":"success","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"05b77e3e5958b4460793a8ba4a8903abb75cc09f","deploymentId":"forgejo-main-05b77e3e5958b4460793a8ba4a8903abb75cc09f","compareStatus":"identical","identitySource":"local_build_metadata","runtimeVersion":"1.47.6-live-release-idempotency","containsSourceSha":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T15:56:25.330468+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"05b77e3e5958b4460793a8ba4a8903abb75cc09f","external_id":"forgejo-main-05b77e3e5958","receipt_type":"canonical_release_status","idempotency_key":"mission:cbe4f2a8-bd98-4f91-bcfe-8ef16e270cd6:forgejo-release-status:05b77e3e5958b4460793a8ba4a8903abb75cc09f:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success|supabase-edge-production/live=success","mission_step_id":"6557aae7-e1be-4e5f-a4cc-7d54b39c0446","command_center_event_id":"cbe4f2a8-bd98-4f91-bcfe-8ef16e270cd6"},{"id":"a01bb9a3-054b-41ee-98ac-ab946afdba06","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/test/capability-release-reconciliation.test.js"],"reason":"Fix proven false terminal cc-execution control-plane release failure while authoritative workflow is still active.","baseSha":"d9e54d51a5e3fae00cbc058015a402afe322011b","issuedAt":1790122370346,"expiresAt":1790122550346,"missionId":"69c4dc4c-0c19-4260-b754-633bed778141","authorizationId":"3651b2ed-305c-44c8-b171-39ea0757fbe0","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T00:12:51.012422+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"d9e54d51a5e3fae00cbc058015a402afe322011b","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:3651b2ed-305c-44c8-b171-39ea0757fbe0","mission_step_id":"e704cf4d-621f-41d2-8df7-09200a3e1a57","command_center_event_id":"69c4dc4c-0c19-4260-b754-633bed778141"},{"id":"a01dfcee-eea9-442d-b5e8-b3eabb2f378f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"source_lineage_merged_pr_authoritative\",\"status\":\"waiting\",\"proofGate\":\"forgejo_merged_pr_is_authoritative_source_lineage\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-03T01:19:01.411205+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-272da635e5f9\",\"prNumber\":4541,\"sourceSha\":\"7d82bd7ac62e14842094c1986f380e18425740f9\",\"deploymentId\":\"forgejo-main-7d82bd7ac62e\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T22:21:03.846684+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:272da635-e5f9-44c5-bb59-4ed641eff854:owner-progress-heartbeat:119398644","mission_step_id":"5ddf1932-08f5-48ca-a2c4-51d20d1f811a","command_center_event_id":"272da635-e5f9-44c5-bb59-4ed641eff854"},{"id":"a01e8bfa-8a0e-4746-ad29-e38aacfe824a","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"30032705bccc5280ad7056398c04b395737de48e","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"30032705bccc5280ad7056398c04b395737de48e","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":"9ccab6c751ecb9bc0a8d26ad52bb3151b818897c85fa86a4026f1a2cc0162f17","forgejoWorkflowProof":{"runId":7142,"source":"signed_push_receipt","status":"waiting","results":{},"conclusion":"waiting","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-11T18:59:20.248134+00:00","proof_gate":"canonical_release_pending","source_sha":"30032705bccc5280ad7056398c04b395737de48e","external_id":"forgejo-main-30032705bccc","receipt_type":"canonical_release_status","idempotency_key":"mission:7ccdd3b3-2896-4e6f-9b89-90780d32730e:forgejo-release-status:30032705bccc5280ad7056398c04b395737de48e:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"c0904bc9-5d38-4098-ac5f-beed614694a3","command_center_event_id":"7ccdd3b3-2896-4e6f-9b89-90780d32730e"},{"id":"a0209fec-0180-4bd5-8450-0ddf388b2364","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1b5bf6e2b3e1","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":30591,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":82637,"firstUsefulResultAt":"2026-09-24T04:20:06.201Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.231-execution-contract-invariants","prNumber":3572,"terminal":false,"missionId":"1b5bf6e2-b3e1-4999-a394-fb9eeb818009","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3363,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1015,"missionSetupMs":536,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":406,"ledgerReconcileMs":0,"lineageReconcileMs":130,"resolvePreflightMs":536,"repositoryMutationMs":2348,"repositoryProviderMs":2348,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2161,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":406,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":187},"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":"1b5bf6e2-b3e1-4999-a394-fb9eeb818009"},"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":3046,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:20:14.006232+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3572","receipt_type":"execute_mission","idempotency_key":"mission:1b5bf6e2-b3e1-4999-a394-fb9eeb818009:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"f83e26cb-1123-47c0-93c0-e12bb01bca28","command_center_event_id":"1b5bf6e2-b3e1-4999-a394-fb9eeb818009"},{"id":"a020dc84-31f6-4464-bad6-da93a143c04d","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"durable_state:pull_request","handoff":null,"capability":"light-control-plane","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T19:50:38.159976+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-dbcdd5155b02\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:29:48.400367+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:dbcdd515-5b02-4805-9d7f-aaf2e66c4fe4:owner-progress-heartbeat:119420999","mission_step_id":"7caebc0f-3f43-4271-90b0-639962c3f05c","command_center_event_id":"dbcdd515-5b02-4805-9d7f-aaf2e66c4fe4"},{"id":"a022e06a-af04-4aaf-9068-c6f5562fdac8","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-schedule-screenshot-durable-import-20260824","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":11207,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.50.19-parallel-workstream-identity","prNumber":674,"terminal":false,"missionId":"aebde09d-0ae3-4b4b-8307-df3820f6d913","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":"aebde09d-0ae3-4b4b-8307-df3820f6d913"},"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":5426,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-24T17:41:48.48467+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"674","receipt_type":"execute_mission","idempotency_key":"mission:aebde09d-0ae3-4b4b-8307-df3820f6d913:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"12d8ee2f-54d6-4c55-ad5b-2d04eb8dba58","command_center_event_id":"aebde09d-0ae3-4b4b-8307-df3820f6d913"},{"id":"a024ed01-f475-4c49-897b-545937865df0","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/forgejo-merge-queue-read-budget-20260908","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.77-mcp-oauth-es256","prNumber":2171,"terminal":false,"missionId":"1f07bf0e-80ec-4f8d-99b0-bba05910a0d4","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":14289,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":271,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":271,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":271,"repositoryMutationMs":14289,"repositoryProviderMs":12234,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":4549,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":271,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":7685},"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":"1f07bf0e-80ec-4f8d-99b0-bba05910a0d4"},"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":3648,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T21:11:54.974149+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2171","receipt_type":"execute_mission","idempotency_key":"mission:1f07bf0e-80ec-4f8d-99b0-bba05910a0d4:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"87fb0cf2-b5df-41fc-b5e1-c6c9db7c856f","command_center_event_id":"1f07bf0e-80ec-4f8d-99b0-bba05910a0d4"},{"id":"a025b2fc-bf37-4446-9d58-f0ec27a38aa9","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":1006,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.27-tenant-scope-security","prNumber":4505,"terminal":false,"missionId":"e33d87a9-6a95-4811-a01c-090ab48faf09","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"0a735d08f6865c4353420156ede9b28a948f0823","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"e33d87a9-6a95-4811-a01c-090ab48faf09"},"performance":null,"deploymentId":"canonical-release-0a735d08f686","workflowRunId":31348415771,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1300,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T01:56:25.515862+00:00","proof_gate":"canonical_release_dispatched","source_sha":"0a735d08f6865c4353420156ede9b28a948f0823","external_id":"canonical-release-0a735d08f686","receipt_type":"ship_and_prove","idempotency_key":"mission:e33d87a9-6a95-4811-a01c-090ab48faf09:ship_and_prove:canonical_release_dispatched:0a735d08f6865c4353420156ede9b28a948f0823:31348415771","mission_step_id":"eee19cf8-380b-4203-9909-084cd7fc4321","command_center_event_id":"e33d87a9-6a95-4811-a01c-090ab48faf09"},{"id":"a027096f-1777-4eeb-8147-539dd49f407e","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4663,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":71485,"firstUsefulResultAt":"2026-10-06T20:02:05.852Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.67.12-pr-merge-base-freshness","prNumber":null,"terminal":false,"missionId":"be1c0d1e-27f2-4ac1-a1de-5a193a23c677","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2785,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":611,"providerAuthMs":0,"ledgerPrepareMs":611,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":611,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":611,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"be1c0d1e-27f2-4ac1-a1de-5a193a23c677"},"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":3269,"likelyAffectedFiles":["src/PrivateAppShell.tsx","config/system-reference-points/release-reliability-standard-2026-10-05.json","config/platform-standards.json","config/capabilities/platform-application-registry.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T20:02:07.601637+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:be1c0d1e-27f2-4ac1-a1de-5a193a23c677:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"7d3b96b5-75fb-4955-a699-3eeadb06c566","command_center_event_id":"be1c0d1e-27f2-4ac1-a1de-5a193a23c677"},{"id":"a027c2ee-2065-4c71-bde0-d6a318cfa7a6","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-edge-production/live":"success"},"mainSha":"5ac113ece54e905cf3a78f5c1074ca4eb439bd9c","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"5ac113ece54e905cf3a78f5c1074ca4eb439bd9c","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-media-library"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"success"},"requestContractHash":"b967e9a6c3be773626b9055a6c93ca88542efbe4b1385ddea2470337e44b2a69","forgejoWorkflowProof":{"runId":8586,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T03:41:38.217372+00:00","proof_gate":"canonical_release_pending","source_sha":"5ac113ece54e905cf3a78f5c1074ca4eb439bd9c","external_id":"forgejo-main-5ac113ece54e","receipt_type":"canonical_release_status","idempotency_key":"mission:72aecc11-2401-4241-888f-2331d963a580:forgejo-release-status:5ac113ece54e905cf3a78f5c1074ca4eb439bd9c:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=success|frontend-cloudflare/live=pending","mission_step_id":"a402d278-31f3-44f1-b89e-5e78d1112c0e","command_center_event_id":"72aecc11-2401-4241-888f-2331d963a580"},{"id":"a028a31a-edda-4999-a4a0-a075b480d58c","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"94bcbbdf18a6f407adb76f44ccde1bde6e701166","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"94bcbbdf18a6f407adb76f44ccde1bde6e701166","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"a3b7972e94575f0814133547665d0be0dc5918fba84d7dbf7d8bbd76ee5a4247","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6395","runId":6395,"status":"success","sourceSha":"94bcbbdf18a6f407adb76f44ccde1bde6e701166","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"94bcbbdf18a6f407adb76f44ccde1bde6e701166","proofGate":"cc_execution_historical_runtime_identity_verified","deploymentId":"forgejo-main-94bcbbdf18a6f407adb76f44ccde1bde6e701166","compareStatus":"exact_release_workflow_runtime_verified","workflowRunId":6395,"identitySource":"canonical_release_workflow_exact_runtime_identity","runtimeVersion":"1.58.77-mcp-oauth-es256","containsSourceSha":true,"historicalExactSourceProof":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T20:08:16.785593+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"94bcbbdf18a6f407adb76f44ccde1bde6e701166","external_id":"forgejo-main-94bcbbdf18a6","receipt_type":"canonical_release_status","idempotency_key":"mission:53a8b409-7e08-4acd-b1c0-cea0f070fa30:forgejo-release-status:94bcbbdf18a6f407adb76f44ccde1bde6e701166:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"a2bdf136-b6b6-48ac-8b4c-b0a1233aff21","command_center_event_id":"53a8b409-7e08-4acd-b1c0-cea0f070fa30"},{"id":"a02cdfa6-d5c9-4744-bf64-74eea08a8e4e","source":"cc-execution","status":"recorded","payload":{"objective":"Continue the SAME layout-only repair. Do not touch ORB, R2 metadata, backend, runtime, auth, database, or any file except src/components/rental/VistaReservationApplication.tsx. Apply the exact full-file replacement below. Preserve the exact current logo/video URLs unchanged. Layout acceptance: premium hospitality composition; true full-screen portal; balanced 58/42 desktop split; purposeful branded left composition; wider cleaner booking surface; check-in/check-out/guests share one row on desktop; compact guest details; one main surface with subtle dividers; CTA substantially higher; no skinny form rail; no giant dead region at 25% zoom. Preserve all RPC/validation/submit behavior. Then one PR -> KnockLaunch Gate -> squash merge -> frontend-only Cloudflare release -> live visual proof after clicking Reserve The View. No ORB/media-delivery changes in this mission.","tenantRef":"la-vista-del-mar","receivedAt":"2026-08-29T19:28:15.826Z","fingerprint":"ea516ff5de5ffd514cf2b290798e319a7f3d9175dae5d0ccb95442afdf81ada9","workstreamRef":"lavistadelmar","conversationId":null,"canonicalBranch":"ai/objective-first-repair-mtert7zy","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the SAME layout-only repair. Do not touch ORB, R2 metadata, backend, runtime, auth, database, or any file except src/components/rental/VistaReservationApplication.tsx. Apply the exact full-file replacement below. Preserve the exact current logo/video URLs unchanged. Layout acceptance: premium hospitality composition; true full-screen portal; balanced 58/42 desktop split; purposeful branded left composition; wider cleaner booking surface; check-in/check-out/guests share one row on desktop; compact guest details; one main surface with subtle dividers; CTA substantially higher; no skinny form rail; no giant dead region at 25% zoom. Preserve all RPC/validation/submit behavior. Then one PR -> KnockLaunch Gate -> squash merge -> frontend-only Cloudflare release -> live visual proof after clicking Reserve The View. No ORB/media-delivery changes in this mission.","wordingChanged":false,"canonicalIntent":"Continue the SAME layout-only repair. Do not touch ORB, R2 metadata, backend, runtime, auth, database, or any file except src/components/rental/VistaReservationApplication.tsx. Apply the exact full-file replacement below. Preserve the exact current logo/video URLs unchanged. Layout acceptance: premium hospitality composition; true full-screen portal; balanced 58/42 desktop split; purposeful branded left composition; wider cleaner booking surface; check-in/check-out/guests share one row on desktop; compact guest details; one main surface with subtle dividers; CTA substantially higher; no skinny form rail; no giant dead region at 25% zoom. Preserve all RPC/validation/submit behavior. Then one PR -> KnockLaunch Gate -> squash merge -> frontend-only Cloudflare release -> live visual proof after clicking Reserve The View. No ORB/media-delivery changes in this mission.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"layout-premium","statement":"The live reservation page uses a premium balanced 58/42 composition with purposeful left-side content and a wider, cleaner booking surface.","proofConditionIds":["production-proof","visual-proof"]},{"id":"layout-compact","statement":"Dates and guest count are compact in one row, guest details are materially less vertically stacked, and the CTA is much higher in the viewport.","proofConditionIds":["production-proof","visual-proof","interaction-proof"]},{"id":"function-preserved","statement":"Existing reservation controls and behavior remain intact without a real reservation being submitted.","proofConditionIds":["production-proof","interaction-proof"]}],"objective":"Continue the SAME layout-only repair. Do not touch ORB, R2 metadata, backend, runtime, auth, database, or any file except src/components/rental/VistaReservationApplication.tsx. Apply the exact full-file replacement below. Preserve the exact current logo/video URLs unchanged. Layout acceptance: premium hospitality composition; true full-screen portal; balanced 58/42 desktop split; purposeful branded left composition; wider cleaner booking surface; check-in/check-out/guests share one row on desktop; compact guest details; one main surface with subtle dividers; CTA substantially higher; no skinny form rail; no giant dead region at 25% zoom. Preserve all RPC/validation/submit behavior. Then one PR -> KnockLaunch Gate -> squash merge -> frontend-only Cloudflare release -> live visual proof after clicking Reserve The View. No ORB/media-delivery changes in this mission.","constraints":[{"id":"layout-only","statement":"Only src/components/rental/VistaReservationApplication.tsx may change. Do not alter ORB/R2/media delivery, backend, runtime, database, auth, or control-plane files.","proofConditionIds":["production-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"production-proof","kind":"runtime","claim":"The layout-repaired frontend source is the version serving production /la-vista-del-mar after the frontend release and the repair remains scoped to the reservation component.","route":"/la-vista-del-mar","required":true,"expectedText":"Reserve The View","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"visual-proof","kind":"visual","claim":"After clicking Reserve The View on production, the page has a balanced premium two-column hospitality layout, no giant dead left field, no skinny admin-form rail, compact form hierarchy, and materially improved use of the viewport.","route":"/la-vista-del-mar","required":true,"expectedText":"Reserve The View","targetedActions":[{"action":"click","target":"Reserve The View"}],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"interaction-proof","kind":"interaction","claim":"After opening Reserve The View, check-in, check-out, guests, availability, guest name/email/phone, notes, close/back, and submit controls are present and usable without submitting a reservation.","route":"/la-vista-del-mar","required":true,"expectedText":"Check availability","targetedActions":[{"action":"click","target":"Reserve The View"}],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":"ai/objective-first-repair-mtert7zy","conversationContext":null,"requestContractHash":"2bad55449d34266a81ee3ec486620700b55cd94ee64bb91893f88af468b7d75e","requestContractRevision":1},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T19:28:16.556035+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:4ee5064d-d61f-49fe-9cab-21051b8aad21:tenant-workstream-contribution:ea516ff5de5ffd514cf2b290798e319a7f3d9175dae5d0ccb95442afdf81ada9","mission_step_id":null,"command_center_event_id":"4ee5064d-d61f-49fe-9cab-21051b8aad21"},{"id":"a02d726c-7825-43fe-add7-f35289686bae","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"pending","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"2b57df054966516cba427d986810cbcd97979d5c","missing":[],"pending":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"f32ba59c2245de2fb7ab052f5ff9eeddb18b90b3","releaseState":"pending","sourceInMain":false,"compareStatus":"ancestry_read_retryable","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false},"releaseTargetStates":{},"requestContractHash":"a1e90a6abc30697d1c31d4999ad625de36c46cd94ff129db53737b1b21902dae","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"releaseSourceVerified":false,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"cdcfa5f1a0eb1ad29009ed5c33d93aea5402c0d5","sourceSha":"f32ba59c2245de2fb7ab052f5ff9eeddb18b90b3","changedPaths":["src/pages/card-grading/PCGModesWorkspace.tsx","src/pages/card-grading/PCGReceiveCardsGallery.tsx"],"changedPathCount":2,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T20:12:01.172186+00:00","proof_gate":"canonical_release_pending","source_sha":"f32ba59c2245de2fb7ab052f5ff9eeddb18b90b3","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:1516d7a1-0075-486e-ad83-4a2ff802803d:forgejo-release-status:f32ba59c2245de2fb7ab052f5ff9eeddb18b90b3:pending:forgejo-main/source=pending|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"ff39b999-5fb6-4581-9135-7b08e75ea7ec","command_center_event_id":"1516d7a1-0075-486e-ad83-4a2ff802803d"},{"id":"a02deac9-57e5-4a50-b16e-685aa347c00e","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_invalid","fingerprint":"2aa4bbcb9243e69fb0775d729e4479de6d2cef5f55c1ef73230259a7facd94c4"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T16:13:46.253031+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:f0ac1d5e-587a-4296-9ce6-84d1af484100:repository-mutation-intent-blocked:2aa4bbcb9243e69fb0775d729e4479de6d2cef5f55c1ef73230259a7facd94c4","mission_step_id":"5e9ea1e4-6c7c-4d64-8387-6082f3e15462","command_center_event_id":"f0ac1d5e-587a-4296-9ce6-84d1af484100"},{"id":"a02ed33c-bf7d-4e1c-b9f9-f3a741107076","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"1c85c52ff2a4def5744f5f3cd090fef56700597b","sourceSha":"257b160256d8c924dfbf90c9b2a6ca15bcfe9f29","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T22:33:12.589231+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"257b160256d8c924dfbf90c9b2a6ca15bcfe9f29","external_id":"canonical-release-257b160256d8","receipt_type":"canonical_release_status","idempotency_key":"mission:0938e2c6-0024-4315-b899-fb48cbcc4b44:forgejo-release-ancestry:257b160256d8c924dfbf90c9b2a6ca15bcfe9f29:1c85c52ff2a4def5744f5f3cd090fef56700597b:ancestry_read_retryable","mission_step_id":"c9257c74-4aeb-49f7-9bc7-26903170a425","command_center_event_id":"0938e2c6-0024-4315-b899-fb48cbcc4b44"},{"id":"a0307d0a-0a84-4b0d-a199-e96c5f6e5abc","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly requested this exact control plane queue repair so the merge queue stops freezing.","baseSha":"2dafff03dc088ec965677cd7c046f444587bacb3","issuedAt":1787954754633,"expiresAt":1787954934633,"missionId":"7c6a769a-7290-4180-b59a-8fac247c57d1","singleUse":true,"authorizationId":"e5e402b3-9ba9-48d5-aad4-51a051b13f40"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T22:05:55.58669+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"2dafff03dc088ec965677cd7c046f444587bacb3","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:e5e402b3-9ba9-48d5-aad4-51a051b13f40","mission_step_id":"ddaa3b3c-8107-41a8-9369-5f523f7e2030","command_center_event_id":"7c6a769a-7290-4180-b59a-8fac247c57d1"},{"id":"a03100d1-c32c-4761-9066-348d7000a11f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-7e95ab36263f","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":22139,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":63511,"firstUsefulResultAt":"2026-09-29T16:56:44.537Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.3-paul-adaptive-reasoning","prNumber":4149,"terminal":false,"missionId":"7e95ab36-263f-441b-a886-10e229080126","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5793,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1816,"missionSetupMs":293,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":293,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":293,"repositoryMutationMs":3977,"repositoryProviderMs":3977,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2764,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":293,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1213},"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":"7e95ab36-263f-441b-a886-10e229080126"},"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":5104,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T16:57:54.939935+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4149","receipt_type":"execute_mission","idempotency_key":"mission:7e95ab36-263f-441b-a886-10e229080126:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"6d7d7c4f-5416-44c4-a315-6065a160da27","command_center_event_id":"7e95ab36-263f-441b-a886-10e229080126"},{"id":"a031583a-d315-4581-ae56-3ad841703a8e","source":"cc-execution","status":"recorded","payload":{"objective":"Replace the Vista del Mar reservation page completely with a visually beautiful premium hospitality reservation experience centered on the owner-provided logo and video, while preserving working reservation logic.","tenantRef":"lavistadelmar","receivedAt":"2026-08-29T18:59:41.514Z","fingerprint":"ba9b57377e116b4775ed76214a0b1c4c0c58c4a66399947526505592f5f8aa10","workstreamRef":"lavistadelmar","conversationId":"vista-del-mar-premium-rebuild-20260829","canonicalBranch":"ai/vista-premium-reservation-rebuild-20260829","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Replace the Vista del Mar reservation page completely with a visually beautiful premium hospitality reservation experience centered on the owner-provided logo and video, while preserving working reservation logic.","wordingChanged":false,"canonicalIntent":"Replace the Vista del Mar reservation page completely with a visually beautiful premium hospitality reservation experience centered on the owner-provided logo and video, while preserving working reservation logic.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"premium-reservation-page","statement":"The live /la-vista-del-mar route is a full-width premium hospitality reservation page with the supplied logo and video as prominent visual elements, large readable typography, two stay choices, and direct reservation CTAs.","proofConditionIds":["live-premium-page","visual-premium-page"]},{"id":"working-reservations","statement":"Existing direct availability and reservation submission behavior remains intact for The View and The Nest.","proofConditionIds":["live-premium-page"]}],"objective":"Replace the Vista del Mar reservation page completely with a visually beautiful premium hospitality reservation experience centered on the owner-provided logo and video, while preserving working reservation logic.","constraints":[{"id":"exact-assets","statement":"Use exact logo f991cbe5-47ee-47b0-bb91-b30b47939038.png and exact video la-vista-del-mar/VISTA DEL MAR VIDEO.mp4 from the existing public R2 asset host.","proofConditionIds":["live-premium-page","visual-premium-page"]},{"id":"frontend-only","statement":"Do not alter backend RPC contracts, auth, database schema, runtime/control-plane, or unrelated tenants.","proofConditionIds":["live-premium-page"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"live-premium-page","kind":"runtime","claim":"The live /la-vista-del-mar page contains the premium page marker and exact R2 logo/video URLs while preserving the reservation component.","route":"/la-vista-del-mar","required":true,"expectedText":"Vista del Mar — Private seaside stays in Puerto Rico","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"visual-premium-page","kind":"visual","claim":"The live /la-vista-del-mar page presents as a full-width premium hospitality reservation experience rather than a small dark CRM-like island, with a cinematic video hero and prominent logo.","route":"/la-vista-del-mar","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":"ai/vista-premium-reservation-rebuild-20260829","conversationContext":"{\"ownerDirectives\":[\"Throw the whole current page away and make it an actual reservation page.\",\"Make it visually beautiful and premium.\",\"Use the provided logo and video as the visual centerpiece.\",\"Stop wasting time and ship the replacement.\"]}","requestContractHash":"b23b4698de415bcce237990fe749cad8c33d940e3ba7dd6e88746384dd162d16","requestContractRevision":1},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T18:59:42.133432+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:77af8353-1ebe-48ca-9cd4-762435160757:tenant-workstream-contribution:ba9b57377e116b4775ed76214a0b1c4c0c58c4a66399947526505592f5f8aa10","mission_step_id":null,"command_center_event_id":"77af8353-1ebe-48ca-9cd4-762435160757"},{"id":"a0326ae9-27a9-4d72-8b6b-371319487cb1","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-f4b1607ae57d","prNumber":3009,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"acefee049bc05a443c6640da88ff33d9c67a39fc","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T15:00:51.394615+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"acefee049bc05a443c6640da88ff33d9c67a39fc","external_id":"3009","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:f4b1607a-e57d-4783-993a-8fe22cf04a48:merged-pr:3009:acefee049bc05a443c6640da88ff33d9c67a39fc","mission_step_id":"87e8fe0e-d574-4d93-8a4e-92409bc610e7","command_center_event_id":"f4b1607a-e57d-4783-993a-8fe22cf04a48"},{"id":"a0328303-86a9-4855-a190-f8d0eda3ff5b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-77035d30540c","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":30750,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":15386,"firstUsefulResultAt":"2026-09-30T21:29:51.239Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4281,"terminal":false,"missionId":"77035d30-540c-44ac-93b2-04fdefec9a5b","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2219,"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":"77035d30-540c-44ac-93b2-04fdefec9a5b"},"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-30T21:30:03.020845+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4281","receipt_type":"automatic_mission_resume","idempotency_key":"mission:77035d30-540c-44ac-93b2-04fdefec9a5b:automatic-mission-resume:4281:repair_mission_pr_ready_retryable","mission_step_id":"bfb445a0-d8a5-41cf-8a29-22d38014ae7a","command_center_event_id":"77035d30-540c-44ac-93b2-04fdefec9a5b"},{"id":"a0335d32-1242-41e7-9ccc-3ac33a3fefb5","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Apply the exact canvassing notes continuity implementation already prepared for this mission, using only the two authorized paths.","wordingChanged":false,"canonicalIntent":"Apply the exact canvassing notes continuity implementation already prepared for this mission, using only the two authorized paths.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"canvassing-draft-continuity","statement":"The canonical canvassing/property notes editor autosaves and restores a parcel-scoped local draft through the existing useOfflineDraft/OfflineManager primitive.","proofConditionIds":["repo","live"]},{"id":"canvassing-restore-precedence","statement":"A restored local draft is not overwritten by a slower remote parcel-note read during hydration.","proofConditionIds":["repo"]},{"id":"canvassing-truthful-state","statement":"The notes editor visibly distinguishes local-only/offline, saving, confirmed saved, and retry-needed states instead of silently swallowing save failures.","proofConditionIds":["repo","live"]},{"id":"canvassing-safe-save-boundary","statement":"The existing parcel persistence mutation remains online-only; local draft is preserved on offline or remote failure and cleared only after confirmed remote save.","proofConditionIds":["repo","live"]},{"id":"canvassing-regression-coverage","statement":"Deterministic tests cover local restore/autosave wiring, restore precedence, online-only remote save, clear-on-confirmed-save, and draft preservation on failure.","proofConditionIds":["repo"]}],"objective":"Apply the exact canvassing notes continuity implementation already prepared for this mission, using only the two authorized paths.","constraints":[{"id":"single-offline-owner","statement":"OfflineManager/useOfflineDraft remain the only offline persistence owner; no second queue, database, or offline subsystem is introduced.","proofConditionIds":["repo","live"]},{"id":"no-offline-authority-expansion","statement":"No offline write/function allowlists are broadened and lead creation, disqualification, destructive, bulk, auth/security, payment, and signature actions are unchanged/fail-closed.","proofConditionIds":["repo"]},{"id":"exact-source-scope","statement":"Mutation is limited to PropertyNotesEditor and one new deterministic contract test.","proofConditionIds":["repo"]},{"id":"canonical-release","statement":"One fresh branch, one PR, KnockLaunch Gate, squash merge, frontend-only release, and terminal exact live proof.","proofConditionIds":["live"]},{"id":"no-visual-witness","statement":"No Visual Witness is run because no visual claim is required.","proofConditionIds":["repo"]},{"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","live"]},{"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","live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Merged source contains the bounded canvassing notes offline-first integration and deterministic tests with offline authority unchanged.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"live","kind":"runtime","claim":"The exact merged canvassing-notes generation is live through the canonical frontend production owner only.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[],"capabilityManifest":{"id":"Apply-the-exact-canvassing-notes-continuity-implementation-already-prepared-for-this-mission-using-o","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","live"]},"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":"d75595f1953f8e3c95e032c0ede4d4f599674d4ed67354a47784462a894f74c9","requestContractRevision":3,"previousRequestContractHash":"49adefc6c968a4a0dd632984d3c59ea9440074242d2e4a2aa528940094e43e01"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:45:31.662831+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:43feefa0-98cc-4464-b8f7-d463532417ea:request-contract:d75595f1953f8e3c95e032c0ede4d4f599674d4ed67354a47784462a894f74c9","mission_step_id":"00fe7747-0642-4b1e-80b6-1ef60d870394","command_center_event_id":"43feefa0-98cc-4464-b8f7-d463532417ea"},{"id":"a0357514-9e0d-4d9e-acd2-3c6038ec149a","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-2e723a9ab751","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":128739,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":6713,"firstUsefulResultAt":"2026-09-29T19:45:13.396Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":4172,"terminal":false,"missionId":"2e723a9a-b751-493e-964f-7054b87ea906","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"63fe15549a54f465ade1a3ff9d5f8c2c628b7a41","timingsMs":{"prReadinessMs":664,"approvedPlanMs":0,"shipAndProveMs":3246,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"2e723a9a-b751-493e-964f-7054b87ea906"},"performance":null,"deploymentId":"forgejo-main-63fe15549a54","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":1803,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T19:45:26.460936+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4172","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2e723a9a-b751-493e-964f-7054b87ea906:automatic-mission-resume:4172:canonical_release_reconciliation_pending","mission_step_id":"b97d6128-1446-444a-9821-2580d7339637","command_center_event_id":"2e723a9a-b751-493e-964f-7054b87ea906"},{"id":"a0361a2e-9248-4f7c-ba83-be939187d7e8","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-06T18:40:32.926598+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-40caf963e29f\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T18:22:10.859203+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:40caf963-e29f-44d5-ab71-25e1a2f16296:owner-progress-heartbeat:119420728","mission_step_id":"7b5c695b-51a3-4fa2-aab0-5198c43f61cb","command_center_event_id":"40caf963-e29f-44d5-ab71-25e1a2f16296"},{"id":"a039c864-24eb-4e7d-8235-82befba58169","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-video-background-no-blue-20260825","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":4690,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.50.35-defer-existing-pr-refresh","prNumber":721,"terminal":false,"missionId":"b9a960bc-ac79-4751-9e60-6d610a1de65a","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":"9935a48d81a05814831cbc228dfa00fc6d608fc4","timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"b9a960bc-ac79-4751-9e60-6d610a1de65a"},"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":5095,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T04:33:07.565074+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"721","receipt_type":"execute_mission","idempotency_key":"mission:b9a960bc-ac79-4751-9e60-6d610a1de65a:execute_mission:canonical_release_transport_retryable","mission_step_id":"eda08613-ecbd-4aa7-9e56-7b7e152b0d3f","command_center_event_id":"b9a960bc-ac79-4751-9e60-6d610a1de65a"},{"id":"a03b3bd6-368d-4f7b-b77e-c043974b3f59","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/version.js"],"reason":"Repair the proven merge-queue Actions snapshot ordering defect so healthy Actions state is captured before expensive exact PR resolution, then prove live and refreeze.","baseSha":"ee58325d6f14ec5da42a8799ce779de57b94e676","issuedAt":1789176148634,"expiresAt":1789176328634,"missionId":"2c8226cd-14c3-4f6d-86e7-2cb017cbe05c","authorizationId":"88bcd825-0b4a-4a53-ba8a-9ca81e5b0b9f","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:22:29.125942+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:88bcd825-0b4a-4a53-ba8a-9ca81e5b0b9f","mission_step_id":"5abb5290-bd3f-4c1c-832a-ebdb63267acd","command_center_event_id":"2c8226cd-14c3-4f6d-86e7-2cb017cbe05c"},{"id":"a03d565b-9d18-4be8-b3af-0d3024dbc637","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"657ea3683884d21271aef457a583f62be561a652","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-tenant-workspace-compatibility","satisfied":false,"statement":"tenantWorkspaceRuntimeProfile delegates legacy/named workspace presentation compatibility classification to one pure tenantWorkspaceCompatibility resolver while retaining the existing operating contract as the primary generic source of shell, navigation, viewport, and background ownership.","proofConditionIds":["proof-repository","proof-production"]}],"satisfied":false,"constraints":[{"id":"constraint-two-files","satisfied":false,"statement":"Only src/lib/tenants/tenantWorkspaceCompatibility.ts and src/lib/tenants/tenantWorkspaceRuntimeProfile.ts may be mutated.","proofConditionIds":["proof-repository"]},{"id":"constraint-exact-presentation","satisfied":false,"statement":"Preserve exact current Lawn Care, MS Lawn Barber, Seaside, Big Papis, Savage Pizza, Cafe QSR, Roof Help Finder, Redfish, PCG, Book Me Directly, Auto Unlock, prospect-demo, CURRI, background ownership, self-contained, chromeless, viewport and returned runtime flags.","proofConditionIds":["proof-repository","proof-production"]},{"id":"constraint-contract-priority","satisfied":false,"statement":"Preserve operating-contract shell/chrome decisions as higher priority than legacy compatibility and do not change persisted tenant contracts or tenant data.","proofConditionIds":["proof-repository"]},{"id":"constraint-no-cross-system","satisfied":false,"statement":"Do not change auth, database, backend, control-plane source, routing outputs, application adapters, or release architecture.","proofConditionIds":["proof-repository"]}],"contractHash":"80fe47ba504cf161fe8062811bd81be8830a733a480a746b5b603c21ee83f92d","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"80fe47ba504cf161fe8062811bd81be8830a733a480a746b5b603c21ee83f92d","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"proof-production","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"80fe47ba504cf161fe8062811bd81be8830a733a480a746b5b603c21ee83f92d"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T21:36:07.420822+00:00","proof_gate":"request_contract_pending","source_sha":"657ea3683884d21271aef457a583f62be561a652","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:60aafa87-912d-4cf8-86d9-e69ea6c47649:request-contract:80fe47ba504cf161fe8062811bd81be8830a733a480a746b5b603c21ee83f92d:657ea3683884d21271aef457a583f62be561a652:pending:repository","mission_step_id":"567c97b1-e94f-4e61-a898-2a77b2d2e164","command_center_event_id":"60aafa87-912d-4cf8-86d9-e69ea6c47649"},{"id":"a03d5687-b048-4d4e-a4b1-a5b4d3c517d2","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"a9580c18b59dc4873f0b1661de3549c6f419810e","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"a9580c18b59dc4873f0b1661de3549c6f419810e","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-media-library"]},"releaseTargetStates":{"supabaseEdge":"success"},"requestContractHash":"2c157797589882bccc6568b1cd9efed43f4bdabc12aa5e3e4c9d643f529b20b0","forgejoWorkflowProof":{"runId":9872,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T04:25:17.823505+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"a9580c18b59dc4873f0b1661de3549c6f419810e","external_id":"forgejo-main-a9580c18b59d","receipt_type":"canonical_release_status","idempotency_key":"mission:6801e5f4-cfda-4afa-b0eb-72b0cb12a3dc:forgejo-release-status:a9580c18b59dc4873f0b1661de3549c6f419810e:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"e533b4ec-1727-47f5-a4fb-3211b8d0ac34","command_center_event_id":"6801e5f4-cfda-4afa-b0eb-72b0cb12a3dc"},{"id":"a03ffee7-a885-48d2-87fb-d4d048a76c27","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-c146635ddb81","prNumber":2978,"nextAction":null,"mergeCommitSha":"0114d779ae60681d3e3279e48664ad5759780d98","branchDeletedAfterMerge":false,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T00:46:35.735652+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"0114d779ae60681d3e3279e48664ad5759780d98","external_id":"2978","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:c146635d-db81-460d-982c-91628423bc40:merged-pr:2978:0114d779ae60681d3e3279e48664ad5759780d98","mission_step_id":"6507ba81-3770-4056-b3ba-f16e022bfe62","command_center_event_id":"c146635d-db81-460d-982c-91628423bc40"},{"id":"a040d0af-70f5-4f46-94e7-b4a4d42dc6c8","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"d647e78129ef2460b1b8865503f3d052c709bf44","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"d647e78129ef2460b1b8865503f3d052c709bf44","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"c89f410c658e984840cd16b0bf0cb29fce004d583ae02f522375d1da59894a38","forgejoWorkflowProof":{"runId":14937,"source":"exact_live_cc_execution_runtime_identity","status":"running","liveSha":"d647e78129ef2460b1b8865503f3d052c709bf44","results":{},"proofGate":"cc_execution_exact_live_runtime_substitutes_transient_workflow_receipt","sourceSha":"d647e78129ef2460b1b8865503f3d052c709bf44","conclusion":"running","deploymentId":"forgejo-main-d647e78129ef2460b1b8865503f3d052c709bf44","targetStates":{"ccExecution":"pending"},"runtimeVersion":"1.64.80-paul-durable-continuation","targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"},"workflowReceiptSubstituted":true},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"d647e78129ef2460b1b8865503f3d052c709bf44","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-d647e78129ef2460b1b8865503f3d052c709bf44","compareStatus":"identical","workflowRunId":14937,"identitySource":"local_build_metadata","runtimeVersion":"1.64.80-paul-durable-continuation","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T21:34:01.876919+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"d647e78129ef2460b1b8865503f3d052c709bf44","external_id":"forgejo-main-d647e78129ef","receipt_type":"canonical_release_status","idempotency_key":"mission:96b1c888-c43f-46db-8312-4fa0ee51a55c:forgejo-release-status:d647e78129ef2460b1b8865503f3d052c709bf44:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"ab8cf8a7-f095-4142-8957-4667b6974c34","command_center_event_id":"96b1c888-c43f-46db-8312-4fa0ee51a55c"},{"id":"a04139ef-8f05-4ff8-9f94-6b7c96ee3d5b","source":"cc-execution","status":"verified","payload":{"paths":["config/control-plane-capabilities.json","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/version.js"],"baseSha":"2dafff03dc088ec965677cd7c046f444587bacb3","consumedAt":1787951799937,"consumerToken":"83296cdd-27c0-4907-9225-3039c81830fc","authorizationId":"3b99d6c6-4673-4eae-b9bb-51708aeea02b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T21:16:41.02738+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"2dafff03dc088ec965677cd7c046f444587bacb3","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:3b99d6c6-4673-4eae-b9bb-51708aeea02b","mission_step_id":"ddaa3b3c-8107-41a8-9369-5f523f7e2030","command_center_event_id":"7c6a769a-7290-4180-b59a-8fac247c57d1"},{"id":"a042869f-f850-4e86-8bb8-10630167bb35","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/pcg-background-legibility-20260903","reason":"existing_branch_refresh_failed:1586:200","status":"blocked","metrics":{"receiptBytes":14611,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.5-merge-queue-operators","prNumber":1586,"terminal":false,"missionId":"aaf09ce0-7149-4784-8d7d-2727f524f7b8","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":10028,"prReadinessMs":0,"approvedPlanMs":10028,"missionSetupMs":877,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"aaf09ce0-7149-4784-8d7d-2727f524f7b8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":996,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-03T17:48:29.121436+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:aaf09ce0-7149-4784-8d7d-2727f524f7b8:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"6282f61b-ccd5-4cce-9809-69cc35758456","command_center_event_id":"aaf09ce0-7149-4784-8d7d-2727f524f7b8"},{"id":"a043c5ba-2e72-467b-bca1-68aebde3ad36","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"57596638db3f087773d2f171fe346dd78e1c01bb","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"retry-v13","satisfied":true,"statement":"A failed pack-bitmaps-v13 receipt no longer suppresses healthy-cycle maintenance; only a successful v13 receipt short-circuits future optimization.","proofConditionIds":["repo","host"]},{"id":"host-proof","satisfied":true,"statement":"The Forgejo host produces a fresh signed maintenance proof showing migration=pack-bitmaps-v13 status=success after the corrected cruft-pack run.","proofConditionIds":["host"]},{"id":"refrozen","satisfied":true,"statement":"The corrective runtime is live on exact merged source and the control plane is refrozen.","proofConditionIds":["repo","runtime"]}],"satisfied":true,"constraints":[{"id":"hard-safety","satisfied":true,"statement":"Preserve protected main, exact-head Gate, exact-source runtime proof, canonical bare-repository targeting, no arbitrary host shell, single-thread low-priority repack, and no ref/history rewrite.","proofConditionIds":["repo","runtime","host"]}],"contractHash":"76f6191eb51c91e0f430ad3833f5740ca7a9fd9df5837cf08d5b7b7cd98eeb88","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"76f6191eb51c91e0f430ad3833f5740ca7a9fd9df5837cf08d5b7b7cd98eeb88"},"required":true,"satisfied":true},{"id":"runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"76f6191eb51c91e0f430ad3833f5740ca7a9fd9df5837cf08d5b7b7cd98eeb88"},"required":true,"satisfied":true},{"id":"host","kind":"host_watchdog","evidence":{"expectedText":"migration=pack-bitmaps-v13 status=success","heartbeatAgeMs":28510,"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":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T04:55:49.885208+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"57596638db3f087773d2f171fe346dd78e1c01bb","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:f37d7aa8-4980-41c1-a818-cb2c32a25da8:request-contract:76f6191eb51c91e0f430ad3833f5740ca7a9fd9df5837cf08d5b7b7cd98eeb88:57596638db3f087773d2f171fe346dd78e1c01bb:verified:","mission_step_id":"a905e141-8798-4b69-ad0f-58ccc92b7cbd","command_center_event_id":"f37d7aa8-4980-41c1-a818-cb2c32a25da8"},{"id":"a044c2b0-ae07-4624-b28b-5cbfa2cf2e61","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"github_request_failed","status":"blocked","metrics":{"receiptBytes":2947,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.31.23-targeted-owner-preflight","prNumber":4369,"terminal":false,"missionId":"61ee4812-fcea-405a-8cbc-cb9f1069dcf6","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"61ee4812-fcea-405a-8cbc-cb9f1069dcf6"},"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":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-08T18:39:35.398609+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4369","receipt_type":"ship_and_prove","idempotency_key":"mission:61ee4812-fcea-405a-8cbc-cb9f1069dcf6:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"68a236d2-40cc-468c-a9e3-dd960794d748","command_center_event_id":"61ee4812-fcea-405a-8cbc-cb9f1069dcf6"},{"id":"a044f230-fa64-4959-b03a-ec8b82b36024","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Recover the already-applied exact control-plane repair branch after the prior atomic commit response timed out. Exact branch read-back proves all intended files are already applied at 11f22be4f32ad8cc8f43b58d7531a3fcd6260a2e; create/reuse the single PR without rewriting source.","baseSha":"edc872234591b69f19ce40a560202ff2a0a08f61","issuedAt":1788197020408,"expiresAt":1788197200408,"missionId":"7e104e17-8700-4533-982f-fee4412662b8","singleUse":true,"authorizationId":"70faee86-4bf4-4e50-bac0-7795d1aef197"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T17:23:41.37233+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"edc872234591b69f19ce40a560202ff2a0a08f61","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:70faee86-4bf4-4e50-bac0-7795d1aef197","mission_step_id":"924f394b-1eb5-42ea-853a-119e9232436d","command_center_event_id":"7e104e17-8700-4533-982f-fee4412662b8"},{"id":"a046c620-98b5-4b09-aae1-2cd9082553fc","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-7079ed540262","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.197-deterministic-owner-progress","prNumber":3311,"terminal":false,"missionId":"7079ed54-0262-4d39-865d-72ec84c5c74d","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3195,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2081,"approvedPlanMs":0,"missionSetupMs":832,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":268,"ledgerReconcileMs":0,"lineageReconcileMs":564,"resolvePreflightMs":832,"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":"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":1971,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T21:56:29.348539+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3311","receipt_type":"execute_mission","idempotency_key":"mission:7079ed54-0262-4d39-865d-72ec84c5c74d:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"2888007c-eaec-4cd4-9a48-5b0e31ea12ae","command_center_event_id":"7079ed54-0262-4d39-865d-72ec84c5c74d"},{"id":"a04a6a08-6605-4913-9869-f137b5988cab","source":"cc-execution","status":"recorded","payload":{"objective":"Continue only PR #1858. Include AGENT in field-user behavior so Realtor Mode remains usable. Add targeted regression coverage for GodMode Owner default, session-scoped REALTOR Realtor Mode, avatar labels, and Agent field access. Then continue the same PR through Gate, squash merge, affected frontend release, and runtime proof.","tenantRef":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","receivedAt":"2026-09-05T16:41:42.979Z","fingerprint":"f09854b0b4a3ed96246024f4807924f79f9f4c5710bc3db95ca728c8fa7364aa","workstreamRef":"90ed5bf48abd4d3aaf7c024664b5b99d","conversationId":null,"canonicalBranch":"ai/godmode-owner-realtor-mode-20260905","requestContract":{"valid":true,"intent":{"evidence":["single_active_workstream:godmode-effective-owner-realtor-mode","existing_pr:1858","existing_branch:ai/godmode-owner-realtor-mode-20260905","tenant:Realty World Curri Properties"],"confidence":1,"rawUtterance":"And then put the option for realtor mode in the avatar menu, which is also still showing CRM ops, by the way.","wordingChanged":true,"canonicalIntent":"For REALTOR tenants such as Curri, make the avatar menu tenant-role aware: show an Owner Mode / Realtor Mode switch instead of generic CRM Ops tenant-facing language. GodMode should default to the tenant owner experience and Realtor Mode must function as the scoped agent experience without changing stored ownership.","resolutionStatus":"resolved","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-avatar-mode","statement":"For REALTOR tenants, the avatar menu exposes Owner Mode and Realtor Mode and does not present generic CRM Ops as the tenant-facing mode.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-realtor-functional","statement":"GodMode defaults to Owner Mode in the tenant and Realtor Mode behaves as a usable agent experience when selected.","proofConditionIds":["proof-repository","proof-runtime"]}],"objective":"For REALTOR tenants such as Curri, make the avatar menu tenant-role aware: show an Owner Mode / Realtor Mode switch instead of generic CRM Ops tenant-facing language. GodMode should default to the tenant owner experience and Realtor Mode must function as the scoped agent experience without changing stored ownership.","constraints":[{"id":"constraint-no-owner-mutation","statement":"Do not mutate tenants.owner_id, persisted owner records, or tenant membership rows to implement the view modes.","proofConditionIds":["proof-repository"]},{"id":"constraint-same-pr","statement":"Continue the existing branch and PR #1858; do not create a duplicate branch or pull request.","proofConditionIds":["proof-repository"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"PR #1858 contains the shared Owner/Realtor projection, REALTOR avatar switch, and Agent field-role handling without persisted ownership mutation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-runtime","kind":"runtime","claim":"After the frontend release, REALTOR tenant runtime uses Owner Mode by default for GodMode and exposes a functional Realtor Mode switch in the avatar menu.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/godmode-owner-realtor-mode-20260905","conversationContext":null,"requestContractHash":"d6ebb4fed4f78a0ea316d897970070908efab831d43faf44dfc48b7ccb8ed101","requestContractRevision":1},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-05T16:41:43.673879+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:c4d815b4-45c7-45d8-9f28-884d162fdcff:tenant-workstream-contribution:f09854b0b4a3ed96246024f4807924f79f9f4c5710bc3db95ca728c8fa7364aa","mission_step_id":null,"command_center_event_id":"c4d815b4-45c7-45d8-9f28-884d162fdcff"},{"id":"a04ae2c2-cc5a-45d8-a377-c26b0d4d040e","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.29.0-retired-surface-purge","prNumber":3879,"terminal":false,"missionId":"14e67de8-275f-4a91-becf-11e8a2ae9ba6","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"25d592c80361b2d9d9df3ca535d6c904492796cf","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"14e67de8-275f-4a91-becf-11e8a2ae9ba6"},"performance":null,"deploymentId":"canonical-release-25d592c80361","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"ccExecution":true,"supabaseEdge":true},"detailsAvailable":true,"sourceReceiptBytes":1283,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-03T14:44:43.218441+00:00","proof_gate":"canonical_release_dispatched","source_sha":"25d592c80361b2d9d9df3ca535d6c904492796cf","external_id":"canonical-release-25d592c80361","receipt_type":"ship_and_prove","idempotency_key":"mission:14e67de8-275f-4a91-becf-11e8a2ae9ba6:ship_and_prove:canonical_release_dispatched","mission_step_id":"d21b15c9-e02f-48d0-ace0-3e5936bd3be2","command_center_event_id":"14e67de8-275f-4a91-becf-11e8a2ae9ba6"},{"id":"a04b8aea-4256-4bfc-b443-747f3b633827","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/vista-readability-navigation-20260829","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4420,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.2-queue-readiness-budget","prNumber":null,"terminal":false,"missionId":"d749a388-0ba5-4cb5-8d28-952baebcacd2","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":334,"missionSetupMs":4288},"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":"d749a388-0ba5-4cb5-8d28-952baebcacd2"},"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":9672,"likelyAffectedFiles":["src/components/TenantRouter.tsx","src/components/ContactsRouter.tsx","src/components/LeadsRouter.tsx","src/components/RebuttalsRouter.tsx","src/components/WorkflowRouter.tsx","src/booking-route-viewport.css","src/components/admin/ExitPreviewBanner.tsx","src/components/admin/FilePreviewModal.tsx","src/components/admin/LeadManagement/AdminSoftDeleteManager.tsx","src/components/admin/LeadManagement/DataQuality/AutoFixAllDialog.tsx","src/components/CallFlow/CallAnalyticsView.tsx","src/components/GlobalCommandPalette.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T18:28:07.225971+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d749a388-0ba5-4cb5-8d28-952baebcacd2:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"1001441e-7ea5-4b2b-ac35-16bc5153a58f","command_center_event_id":"d749a388-0ba5-4cb5-8d28-952baebcacd2"},{"id":"a04c9e20-55d8-41ec-b751-8556a9b5d912","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"f6999a78109fab838d1fde2d5c924b78997421e4","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"owner-ui","satisfied":true,"statement":"The Knock Launch OS overview and shared owner shell no longer present as a generic dark card dashboard; they use a clear founder command hierarchy with Build, Sell, Operate, and Money sectors, compact live attention information, dense portfolio rows, and integrated responsive navigation.","proofConditionIds":["repo","release"]}],"satisfied":true,"constraints":[{"id":"frontend-only","satisfied":true,"statement":"Only the two owner frontend files may change; existing routes, queries, permissions, links, actions, data behavior and backend behavior are preserved.","proofConditionIds":["repo"]},{"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":["repo","release"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo","release"]}],"contractHash":"c2844eee5cbdf1864af3bcb0953152b0443dd8f0a28f08fdd32aa1e41f28dd22","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"c2844eee5cbdf1864af3bcb0953152b0443dd8f0a28f08fdd32aa1e41f28dd22","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"f6999a78109fab838d1fde2d5c924b78997421e4"},"required":true,"satisfied":true},{"id":"release","kind":"release","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"c2844eee5cbdf1864af3bcb0953152b0443dd8f0a28f08fdd32aa1e41f28dd22"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T19:58:28.548459+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"f6999a78109fab838d1fde2d5c924b78997421e4","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:0fef309f-3b54-4494-9781-96f1083a7c9e:request-contract:c2844eee5cbdf1864af3bcb0953152b0443dd8f0a28f08fdd32aa1e41f28dd22:f6999a78109fab838d1fde2d5c924b78997421e4:verified:","mission_step_id":"cdaa0604-6d24-4322-9a37-78af777ff4b8","command_center_event_id":"0fef309f-3b54-4494-9781-96f1083a7c9e"},{"id":"a04d9e8d-3bbd-4475-a6cd-e30fc19630d6","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"source_lineage_merged_pr_authoritative\",\"status\":\"waiting\",\"proofGate\":\"forgejo_merged_pr_is_authoritative_source_lineage\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-01T12:15:35.660105+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-31e9561c0b84\",\"prNumber\":4318,\"sourceSha\":\"fe3c79c8dbeb3319c18cecef25b27e45389bdfe9\",\"deploymentId\":\"forgejo-main-fe3c79c8dbeb\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T08:20:05.159199+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:31e9561c-0b84-49a5-8792-58676cdb81f2:owner-progress-heartbeat:119389520","mission_step_id":"63671dcc-5e1c-4931-893a-eea52e9db832","command_center_event_id":"31e9561c-0b84-49a5-8792-58676cdb81f2"},{"id":"a04e1ca1-be31-4b09-a157-afa858c698a5","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/event-booking-finance-tenant-id","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3135,"terminal":false,"missionId":"7f229be8-10c3-4395-8d2d-b3d378a8098d","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"216a2af90c8730b5d4cda61f1bf435e53ad29c5d","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4511,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":711,"approvedPlanMs":0,"missionSetupMs":1668,"providerAuthMs":0,"shipAndProveMs":2563,"ledgerPrepareMs":344,"ledgerReconcileMs":0,"lineageReconcileMs":1324,"resolvePreflightMs":1668,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":344,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"7f229be8-10c3-4395-8d2d-b3d378a8098d"},"performance":null,"deploymentId":"forgejo-main-216a2af90c87","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"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":2646,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T17:40:16.914068+00:00","proof_gate":"canonical_release_dispatched","source_sha":"216a2af90c8730b5d4cda61f1bf435e53ad29c5d","external_id":"forgejo-main-216a2af90c87","receipt_type":"execute_mission","idempotency_key":"mission:7f229be8-10c3-4395-8d2d-b3d378a8098d:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"53607a4b-c2bb-4c2f-aa97-7a5fde85107f","command_center_event_id":"7f229be8-10c3-4395-8d2d-b3d378a8098d"},{"id":"a04e46e1-51e7-4965-a881-3c0ce321d09f","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/tenant-premium-loading-screens-20260901","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":8913,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":4,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1332,"terminal":false,"missionId":"3010f376-fd23-4188-80cf-6ef781271f37","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":4049,"prReadinessMs":3035,"approvedPlanMs":0,"missionSetupMs":1049,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"3010f376-fd23-4188-80cf-6ef781271f37"},"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":1076,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T00:23:01.598323+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1332","receipt_type":"execute_mission","idempotency_key":"mission:3010f376-fd23-4188-80cf-6ef781271f37:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"acfbe467-4814-495c-888b-7f8dd0221daa","command_center_event_id":"3010f376-fd23-4188-80cf-6ef781271f37"},{"id":"a04fe7d2-2167-4bf8-bc55-704a1b409adc","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-visual-witness-mobile-inspector-20260804","reason":"pull_request_not_merge_eligible:pr_not_merge_eligible","status":"blocked","metrics":{"receiptBytes":4040,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":4028,"terminal":false,"missionId":"3c7cf4c9-c27f-4360-b71c-fb9b6e660263","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"3c7cf4c9-c27f-4360-b71c-fb9b6e660263"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":924,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-05T02:44:27.508411+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4028","receipt_type":"execute_mission","idempotency_key":"mission:3c7cf4c9-c27f-4360-b71c-fb9b6e660263:execute_mission:canonical_release_blocked","mission_step_id":"d80688c5-ceb0-43fc-a573-efdfc50eb6fa","command_center_event_id":"3c7cf4c9-c27f-4360-b71c-fb9b6e660263"},{"id":"a0514c0c-0324-4c10-9eec-a68d99587422","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-4beefb54002b","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1683,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-25T21:57:38.952Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.282-lineage-main-guard","prNumber":null,"terminal":false,"missionId":"4beefb54-002b-4db5-b843-b18254fbaf23","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1040,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":329,"providerAuthMs":0,"ledgerPrepareMs":329,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":329,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":329,"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":"4beefb54-002b-4db5-b843-b18254fbaf23"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual","runtime","runtime","runtime","runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4290,"likelyAffectedFiles":["src/pages/mobile-vendor/BigPapisToday.tsx","src/pages/applications/CalendarApplicationRoute.tsx","src/pages/proposals/UniversalProposalWorkspace.tsx","src/lib/proposals/proposalEngine.ts","src/lib/mobileVendor/eventBookings.ts","src/lib/mobileVendor/bigPapisBackOfficeModes.ts","src/PrivateAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T21:57:54.030709+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:4beefb54-002b-4db5-b843-b18254fbaf23:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"f87f7e84-f6e2-45d7-9480-33731ad21e76","command_center_event_id":"4beefb54-002b-4db5-b843-b18254fbaf23"},{"id":"a0520f91-cd5b-4877-abac-9c8611f73a05","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"68fd7359f7726171494b41f862f0cdd89f8acd91","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"68fd7359f7726171494b41f862f0cdd89f8acd91","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1803","runId":1803,"status":"running","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T19:02:15.796499+00:00","proof_gate":"canonical_release_pending","source_sha":"68fd7359f7726171494b41f862f0cdd89f8acd91","external_id":"forgejo-main-68fd7359f772","receipt_type":"canonical_release_status","idempotency_key":"mission:ef124fc5-8800-40cf-a945-34c50f29b060:forgejo-release-status:68fd7359f7726171494b41f862f0cdd89f8acd91:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"85354e5d-012f-4b8c-844b-c3cbe2341fb0","command_center_event_id":"ef124fc5-8800-40cf-a945-34c50f29b060"},{"id":"a052e273-1549-4369-924c-5f9092201f32","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"reason":"Repair PAUL durable same-mission continuation scope persistence required by owner execution invariant.","baseSha":"ef9e44e428a7dfffedd7f0caedad67ae5885bf1a","issuedAt":1791063637044,"expiresAt":1791063817044,"missionId":"25acfaac-ccd4-4a71-9b73-22f3f9a3e7ea","authorizationId":"12421de3-1bc7-43a1-b90f-de26f78102f8","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T21:40:37.999019+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ef9e44e428a7dfffedd7f0caedad67ae5885bf1a","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:12421de3-1bc7-43a1-b90f-de26f78102f8","mission_step_id":"4e0c377e-6099-47e2-9f1b-e731fe111983","command_center_event_id":"25acfaac-ccd4-4a71-9b73-22f3f9a3e7ea"},{"id":"a054f944-2628-45c1-a83a-7c53f2e936aa","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending","render-onrunner/runtime-proof":"pending"},"mainSha":"b28d4e96c7b94f8da1544570def9be44fadf020d","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof","render-onrunner/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","render-onrunner/runtime-proof"],"sourceSha":"b28d4e96c7b94f8da1544570def9be44fadf020d","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"pending","ccExecution":"pending"},"requestContractHash":"56142877dd85d574dc5a86eea6367e6e795b17f9b66b670ce6024d37390561c1","forgejoWorkflowProof":{"runId":11172,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"onrunner":"pending","ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"onrunner":"pending","ccExecution":"pending"}},"onrunnerRuntimeProof":{"reason":"render_onrunner_source_mismatch","hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":false,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"eea3642b74485b8d6c0c728d78b73e0d8ee7cf9d","runnerVersion":"onrunner-eea3642b7448","expectedSourceSha":"b28d4e96c7b94f8da1544570def9be44fadf020d"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"045ad6ef183cffd706c89a3cd45f14775e60917e","deploymentId":"forgejo-main-045ad6ef183cffd706c89a3cd45f14775e60917e","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.222-lineage-budget-primary-witness","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T11:11:03.522058+00:00","proof_gate":"canonical_release_pending","source_sha":"b28d4e96c7b94f8da1544570def9be44fadf020d","external_id":"forgejo-main-b28d4e96c7b9","receipt_type":"canonical_release_status","idempotency_key":"mission:327fbd8a-71db-4501-b47e-e1ab49d54700:forgejo-release-status:b28d4e96c7b94f8da1544570def9be44fadf020d:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending|render-onrunner/runtime-proof=pending","mission_step_id":"1995ee67-e78a-4bb8-9ec0-92fd2cea73f0","command_center_event_id":"327fbd8a-71db-4501-b47e-e1ab49d54700"},{"id":"a05974f2-e6d6-4fc0-abf8-90618abd499e","source":"cc-execution","status":"recorded","payload":{"objective":"On current Forgejo main, make event_bookings the canonical source of truth for Big Papi business-event facts while preserving Calendar as the scheduling/delegation/public-private layer. Requirements: (1) src/lib/calendar/calendarEngine.ts: when a user_calendar_events row links event_booking_id, render canonical title/date/start/end/location/event_type/status/stage/contact from the linked event_booking; merge booking metadata with calendar metadata so calendar-only delegation/visibility/assignment metadata can override without duplicating event facts. Continue suppressing the duplicate synthetic booking for an already-linked row. Calendar-only items and legacy contact appointments remain unchanged. (2) src/lib/mobileVendor/eventBookings.ts: createEventBooking must stop auto-inserting a duplicate user_calendar_events row. update/stage flow must not rely on syncing duplicate date/title/time/location fields. Calendar projection must show booking changes directly. (3) supabase/functions/mobile-vendor-event-request/index.ts: screenshot commit must create the Booked event_booking only, with current provenance/event_intelligence/private defaults, and must stop inserting a duplicate user_calendar_events row. Keep duplicate checks against both tables for backward compatibility. Public/private behavior must remain intact: booking metadata public_schedule/public_region/public venue/city/url and private visibility metadata must continue feeding the normalized calendar and public_schedule endpoint. (4) Add regression coverage proving manual and screenshot event creation no longer dual-write calendar rows; linked legacy calendar rows display canonical booking facts while preserving calendar metadata; public/private metadata remains available. Do not touch unrelated tenants/routes or existing tournament events. One PR, KnockLaunch Gate, squash merge, release only affected frontend + mobile-vendor-event-request, live proof. No Visual Witness.","tenantRef":"766cfaa7-ac42-46c8-bbef-69d13268a29d","receivedAt":"2026-08-23T16:01:06.539Z","fingerprint":"8b5938e03d8c4e4d52b6e6a19968dfe63480b9320313ce43a2035cf59b0bec24","workstreamRef":"766cfaa7ac4246c8bbef69d13268a29d","conversationId":null,"canonicalBranch":"ai/fix-big-papis-events-runtime-stub-20260823","requestedBranch":"ai/unify-big-papis-event-calendar-truth-20260823","conversationContext":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-23T16:01:07.241759+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:c6adc074-4e27-402c-ae48-68e73b25b6e8:tenant-workstream-contribution:8b5938e03d8c4e4d52b6e6a19968dfe63480b9320313ce43a2035cf59b0bec24","mission_step_id":"9171c29d-e94d-45d9-8353-a41e7e987322","command_center_event_id":"c6adc074-4e27-402c-ae48-68e73b25b6e8"},{"id":"a05c9224-d4dc-4417-bba7-0947840eb5d4","source":"cc-execution","status":"blocked","payload":{"reason":"existing_branch_without_open_pr_branch_diverged_or_unproven:ai/modes-route-media-standard","fingerprint":"3f9c68e30f28b2ac2dde9c1c73c7d221efdaa4c0c5243f56ca4ff68d97459f00"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T03:57:00.984323+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:234d3eab-0142-439e-90d7-1da38728fb6e:repository-mutation-intent-blocked:3f9c68e30f28b2ac2dde9c1c73c7d221efdaa4c0c5243f56ca4ff68d97459f00","mission_step_id":"910ba0a6-3144-4487-a068-c9fa65860277","command_center_event_id":"234d3eab-0142-439e-90d7-1da38728fb6e"},{"id":"a05f2151-105f-46f4-ba03-808f6bf3984f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/fast-ui-rebase-revalidation","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.210-platform-source-resolution","prNumber":3400,"terminal":false,"missionId":"f63eea8e-19d0-4bc5-910c-1715b1f0e961","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6227,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":2656,"missionSetupMs":367,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":367,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":367,"repositoryMutationMs":3571,"repositoryProviderMs":3571,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2117,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":367,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1454},"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":"f63eea8e-19d0-4bc5-910c-1715b1f0e961"},"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":3893,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T03:09:23.419161+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3400","receipt_type":"execute_mission","idempotency_key":"mission:f63eea8e-19d0-4bc5-910c-1715b1f0e961:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"7a3cffe6-f639-4b00-8bfc-45be8876d3b4","command_center_event_id":"f63eea8e-19d0-4bc5-910c-1715b1f0e961"},{"id":"a06013b4-7afe-49c5-8e0e-9262cd7efb1f","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"0af99665682939d4f0716a6071575a7750328f58","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"vista-logo","satisfied":true,"statement":"The Launch Hub uses Vista del Mar's canonical tenant company_logo_url instead of the blocked tenant-photo-studio override.","proofConditionIds":["repo-vista-logo","runtime-launch-hub"]}],"satisfied":true,"constraints":[{"id":"bounded-frontend","satisfied":true,"statement":"Only the Launch Hub logo source behavior changes; auth, routing, app selection, tenant data, and unrelated routes remain unchanged.","proofConditionIds":["repo-vista-logo","runtime-launch-hub"]}],"contractHash":"d653e533335d84990b3f44632a68d7ee10850399fe88c1bfbc42a5b237907421","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-vista-logo","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"d653e533335d84990b3f44632a68d7ee10850399fe88c1bfbc42a5b237907421","repositoryProofStatus":"verified","repositoryProofSourceSha":"0af99665682939d4f0716a6071575a7750328f58"},"required":true,"satisfied":true},{"id":"runtime-launch-hub","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"d653e533335d84990b3f44632a68d7ee10850399fe88c1bfbc42a5b237907421"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T05:25:39.281283+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"0af99665682939d4f0716a6071575a7750328f58","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:3708a390-6c43-4d8e-a0c3-89a9b3f2fcf6:request-contract:d653e533335d84990b3f44632a68d7ee10850399fe88c1bfbc42a5b237907421:0af99665682939d4f0716a6071575a7750328f58:verified:","mission_step_id":"67e14cd3-e6db-4336-a4b6-c6707e82a426","command_center_event_id":"3708a390-6c43-4d8e-a0c3-89a9b3f2fcf6"},{"id":"a060ebf5-5ecf-4d62-bdad-14d3ed704c06","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":"Correct Big Papi's static Facebook image resolver in supabase/functions/tenant-photo-studio/index.ts based on live HTTP 415 evidence. Resolve the allowlisted lookaside.fbsbx.com redirect server-side through the public Facebook photo HTML og:image to an allowlisted Facebook CDN image, validate actual image bytes and size, and return only static image bytes with browser-safe headers. Preserve existing KnockLaunch R2 behavior and never become a generic proxy. Deploy tenant-photo-studio and prove the live Big Papi homepage has no 415/ORB Facebook media failures.","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":"Correct Big Papi's static Facebook image resolver in supabase/functions/tenant-photo-studio/index.ts based on live HTTP 415 evidence. Resolve the allowlisted lookaside.fbsbx.com redirect server-side through the public Facebook photo HTML og:image to an allowlisted Facebook CDN image, validate actual image bytes and size, and return only static image bytes with browser-safe headers. Preserve existing KnockLaunch R2 behavior and never become a generic proxy. Deploy tenant-photo-studio and prove the live Big Papi homepage has no 415/ORB Facebook media failures.","wordingChanged":false,"canonicalIntent":"Correct Big Papi's static Facebook image resolver in supabase/functions/tenant-photo-studio/index.ts based on live HTTP 415 evidence. Resolve the allowlisted lookaside.fbsbx.com redirect server-side through the public Facebook photo HTML og:image to an allowlisted Facebook CDN image, validate actual image bytes and size, and return only static image bytes with browser-safe headers. Preserve existing KnockLaunch R2 behavior and never become a generic proxy. Deploy tenant-photo-studio and prove the live Big Papi homepage has no 415/ORB Facebook media failures.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Correct Big Papi's static Facebook image resolver in supabase/functions/tenant-photo-studio/index.ts based on live HTTP 415 evidence. Resolve the allowlisted lookaside.fbsbx.com redirect server-side through the public Facebook photo HTML og:image to an allowlisted Facebook CDN image, validate actual image bytes and size, and return only static image bytes with browser-safe headers. Preserve existing KnockLaunch R2 behavior and never become a generic proxy. Deploy tenant-photo-studio and prove the live Big Papi homepage has no 415/ORB Facebook media failures.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Correct Big Papi's static Facebook image resolver in supabase/functions/tenant-photo-studio/index.ts based on live HTTP 415 evidence. Resolve the allowlisted lookaside.fbsbx.com redirect server-side through the public Facebook photo HTML og:image to an allowlisted Facebook CDN image, validate actual image bytes and size, and return only static image bytes with browser-safe headers. Preserve existing KnockLaunch R2 behavior and never become a generic proxy. Deploy tenant-photo-studio and prove the live Big Papi homepage has no 415/ORB Facebook media failures.","constraints":[{"id":"bounded-proxy","statement":"Remain fail-closed and allow only the existing KnockLaunch R2 host, lookaside.fbsbx.com, facebook.com/www.facebook.com as HTML intermediates, and *.fbcdn.net/lookaside.fbsbx.com as final image origins.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"static-only","statement":"Customers receive only static image bytes from the KNOCKLAUNCH endpoint; never Facebook redirects or HTML.","provenance":{"reason":null,"source":"current_explicit_owner_request","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":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["runtime"],"visualProofScope":"targeted","interactionRequired":true,"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":true,"viewports":["desktop","mobile"],"behavioral":true,"visualProofScope":"targeted"},"dependencies":{"requiredDomains":["frontend","backend_runtime","schema_data_storage","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"Correct Big Papi's static Facebook image resolver in supabase/functions/tenant-photo-studio/index.ts based on live HTTP 415 evidence. Resolve the allowlisted lookaside.fbsbx.com redirect server-side through the public Facebook photo HTML og:image to an allowlisted Facebook CDN image, validate actual image bytes and size, and return only static image bytes with browser-safe headers. Preserve existing KnockLaunch R2 behavior and never become a generic proxy. Deploy tenant-photo-studio and prove the live Big Papi homepage has no 415/ORB Facebook media failures.","canonicalIntent":"Correct Big Papi's static Facebook image resolver in supabase/functions/tenant-photo-studio/index.ts based on live HTTP 415 evidence. Resolve the allowlisted lookaside.fbsbx.com redirect server-side through the public Facebook photo HTML og:image to an allowlisted Facebook CDN image, validate actual image bytes and size, and return only static image bytes with browser-safe headers. Preserve existing KnockLaunch R2 behavior and never become a generic proxy. Deploy tenant-photo-studio and prove the live Big Papi homepage has no 415/ORB Facebook media failures.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Correct Big Papi's static Facebook image resolver in supabase/functions/tenant-photo-studio/index.ts based on live HTTP 415 evidence. Resolve the allowlisted lookaside.fbsbx.com redirect server-side through the public Facebook photo HTML og:image to an allowlisted Facebook CDN image, validate actual image bytes and size, and return only static image bytes with browser-safe headers. Preserve existing KnockLaunch R2 behavior and never become a generic proxy. Deploy tenant-photo-studio and prove the live Big Papi homepage has no 415/ORB Facebook media failures.","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":"Correct-Big-Papi-s-static-Facebook-image-resolver-in-supabase-functions-tenant-photo-studio-index.ts","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":"d9e1665b9343b55c0d73fef595ed9fab6290763fef4de25115eee2f85f893067","requestContractRevision":2,"previousRequestContractHash":"520a86eb0cfc2d56620d5ddc5d7702c8932b8af722dd274bdfd3850c1121ad08"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T12:57:12.668904+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:993714c5-4a87-4fd5-b700-f73c468a404b:request-contract:d9e1665b9343b55c0d73fef595ed9fab6290763fef4de25115eee2f85f893067","mission_step_id":"74ea0aff-eaaf-436b-ad06-3d03fcbe63d8","command_center_event_id":"993714c5-4a87-4fd5-b700-f73c468a404b"},{"id":"a062fdb0-ba64-418a-878f-456eba9f3d6e","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-edge-production/live":"pending"},"mainSha":"f2534a8ac2c4bedda627b83087c1e62eb7be1c16","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"f2534a8ac2c4bedda627b83087c1e62eb7be1c16","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["mobile-vendor-event-request"]},"releaseTargetStates":{"supabaseEdge":"pending"},"requestContractHash":"c871fec6cc0551d2db40c339209367f2f8ba96f52cd69a19f6f5c303dab754bd","forgejoWorkflowProof":{"runId":14630,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T00:42:47.32034+00:00","proof_gate":"canonical_release_pending","source_sha":"f2534a8ac2c4bedda627b83087c1e62eb7be1c16","external_id":"forgejo-main-f2534a8ac2c4","receipt_type":"canonical_release_status","idempotency_key":"mission:4afad3cf-5e56-4a5a-a43e-da15cd38f666:forgejo-release-status:f2534a8ac2c4bedda627b83087c1e62eb7be1c16:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending","mission_step_id":"7319a612-e614-4c54-bb96-9fedd98c8df0","command_center_event_id":"4afad3cf-5e56-4a5a-a43e-da15cd38f666"},{"id":"a06cea63-96b9-4e32-a651-f5a6afca67e3","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"92fcc35a-3992-482c-a258-4a180a53d208","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-f924689dbbf3","reason":null,"status":"pending","metrics":{"receiptBytes":153980,"releaseCount":0,"toolCallCount":15,"repeatedCallCount":5,"executorlessWaitMs":1439804,"firstUsefulResultAt":"2026-09-29T15:44:42.639Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4141,"terminal":false,"missionId":"f924689d-bbf3-4d65-9a92-2f614a4cdd05","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"4975c7e7e892e00098d740ca15073946d05cf588","timingsMs":{"queue":377,"total":448,"execution":71},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"f924689d-bbf3-4d65-9a92-2f614a4cdd05"},"performance":null,"deploymentId":"forgejo-main-4975c7e7e892","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"92fcc35a-3992-482c-a258-4a180a53d208","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"92fcc35a-3992-482c-a258-4a180a53d208","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/admin/account?section=settings","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":13085,"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":1781,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T16:08:44.560393+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"4975c7e7e892e00098d740ca15073946d05cf588","external_id":"92fcc35a-3992-482c-a258-4a180a53d208","receipt_type":"visual_proof_started","idempotency_key":"mission:f924689d-bbf3-4d65-9a92-2f614a4cdd05:visual-start:92fcc35a-3992-482c-a258-4a180a53d208","mission_step_id":"2e8f24a8-b923-4968-975e-a600f9b4439c","command_center_event_id":"f924689d-bbf3-4d65-9a92-2f614a4cdd05"},{"id":"a06f584d-c761-4670-96e9-bb5a691f896e","source":"forgejo-runtime","status":"superseded","payload":{"reason":"forgejo_release_source_not_contained_in_current_main","mainSha":"efa8f20edb79c93b25e31c3d626898abca3a10be","sourceSha":"ac6d24b77c6491325e50b598ba68b17eb17b3710","deploymentId":"forgejo-main-ac6d24b77c64","releaseState":"superseded","sourceInMain":false,"compareStatus":null,"workflowRunId":3667},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T19:04:09.827584+00:00","proof_gate":"canonical_release_source_superseded_by_current_main","source_sha":"ac6d24b77c6491325e50b598ba68b17eb17b3710","external_id":"forgejo-main-ac6d24b77c64","receipt_type":"canonical_release_status","idempotency_key":"mission:60fb70b3-1f1b-4f4f-89b8-420fd52d5513:forgejo-release-status:ac6d24b77c6491325e50b598ba68b17eb17b3710:superseded:efa8f20edb79c93b25e31c3d626898abca3a10be","mission_step_id":"cd1f6d8d-f247-437c-8fd7-787dc6f5b2c3","command_center_event_id":"60fb70b3-1f1b-4f4f-89b8-420fd52d5513"},{"id":"a070770d-6475-448e-b753-58d81c6972d5","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-7e96041f978c","prNumber":4615,"nextAction":null,"mergeCommitSha":"7456832120adb1febf660544b8ae81452b69c709","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"669daee1-57e8-4960-937c-ce397106f32e","created_at":"2026-10-03T03:55:30.682682+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"7456832120adb1febf660544b8ae81452b69c709","external_id":"4615","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:7e96041f-978c-4e84-a1b3-548267fb5994:merged-pr:4615:7456832120adb1febf660544b8ae81452b69c709","mission_step_id":"3e4c17db-00d5-454f-a300-835a845e5f3d","command_center_event_id":"7e96041f-978c-4e84-a1b3-548267fb5994"},{"id":"a0713486-77c7-4f95-9c67-1b95fd1e9f68","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_authorization_required","fingerprint":"2af899359c513c2304c6cc5431605bcb61e81b0162b4bce2fb3bdbf2f74f2f12"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T09:28:35.812898+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:5e6baf80-a12e-4d6a-a9bf-280179ff43cf:repository-mutation-intent-blocked:2af899359c513c2304c6cc5431605bcb61e81b0162b4bce2fb3bdbf2f74f2f12","mission_step_id":"4b1cd0ed-1a72-4472-972c-e8425f268113","command_center_event_id":"5e6baf80-a12e-4d6a-a9bf-280179ff43cf"},{"id":"a0774c75-7d25-489a-b4f1-b0b51f992f93","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/visual-witness-ccexecution-dispatch-recovery","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1747,"terminal":false,"missionId":"1bcd5732-244c-40f8-910f-61ff47e29794","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"ae5dc1585e4bfe276059e5f20530643477d051c2","timingsMs":{"prReadinessMs":945,"approvedPlanMs":0,"shipAndProveMs":7162,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"1bcd5732-244c-40f8-910f-61ff47e29794"},"performance":null,"deploymentId":"forgejo-main-ae5dc1585e4b","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1979,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T19:53:46.283388+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"1747","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1bcd5732-244c-40f8-910f-61ff47e29794:automatic-mission-resume:1747:canonical_release_dispatched","mission_step_id":"6b6cb5e5-8397-4406-af43-3374c3bf2fa4","command_center_event_id":"1bcd5732-244c-40f8-910f-61ff47e29794"},{"id":"a077e807-7955-43b5-952a-076b845eb54d","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue mission 3fb6cedf-a90c-4e45-a284-4994c89805d1 after the blocked patch-format attempt. Replace exactly the two intended files with nonempty content, then gate, squash merge, frontend release, and runtime proof. No anchored edits.","wordingChanged":false,"canonicalIntent":"Continue mission 3fb6cedf-a90c-4e45-a284-4994c89805d1 after the blocked patch-format attempt. Replace exactly the two intended files with nonempty content, then gate, squash merge, frontend release, and runtime proof. No anchored edits.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Ctrl+Shift+E discovers and edits ordinary visible text across normal rendered containers without tenant-by-tenant pre-wiring.","proofConditionIds":["proof-source","proof-production"]}],"objective":"Continue mission 3fb6cedf-a90c-4e45-a284-4994c89805d1 after the blocked patch-format attempt. Replace exactly the two intended files with nonempty content, then gate, squash merge, frontend release, and runtime proof. No anchored edits.","constraints":[{"id":"constraint-1","statement":"No unrelated UI or product behavior changes; preserve explicit locks and dynamic/runtime exclusions; do not use anchored edits.","proofConditionIds":["proof-source"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-source","kind":"repository","claim":"Shared Live Edit model and regression contract implement broad ordinary-copy discovery while preserving exclusions.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-production","kind":"runtime","claim":"Merged source SHA is released to the affected production frontend.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"f873ddde33dc8fba2d3282d74953666d8e915e1d35483d276584c4ae3166b4eb","requestContractRevision":2,"previousRequestContractHash":"b3c676ab3a25317e3f6e39f0032248df085e53a53d43c23cb4663087a25993fe"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T00:57:01.74105+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:3fb6cedf-a90c-4e45-a284-4994c89805d1:request-contract-revision:2:f873ddde33dc8fba2d3282d74953666d8e915e1d35483d276584c4ae3166b4eb","mission_step_id":"5d5dbcfe-9ac8-4cdd-abc8-a858ae83ed9d","command_center_event_id":"3fb6cedf-a90c-4e45-a284-4994c89805d1"},{"id":"a07b16e2-d252-41c9-9fc1-25a01165032a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/fix-forgejo-artifact-handoff-20260831","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.5-premium-motion-source-targets","prNumber":1196,"terminal":false,"missionId":"d554217c-b44a-4e25-97f8-0d1ffd925a3c","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":17610,"prReadinessMs":1401,"approvedPlanMs":16201,"missionSetupMs":2510,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"d554217c-b44a-4e25-97f8-0d1ffd925a3c"},"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":1508,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T15:22:57.969424+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1196","receipt_type":"execute_mission","idempotency_key":"mission:d554217c-b44a-4e25-97f8-0d1ffd925a3c:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"ba1be507-2952-4ea3-908f-695e37f9bb73","command_center_event_id":"d554217c-b44a-4e25-97f8-0d1ffd925a3c"},{"id":"a07b58a1-8676-43d8-b827-b8efffc0e52c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-442ab3779a77","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":207321,"releaseCount":1,"toolCallCount":37,"repeatedCallCount":21,"executorlessWaitMs":1910953,"firstUsefulResultAt":"2026-09-30T01:05:19.367Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4192,"terminal":false,"missionId":"442ab377-9a77-41b0-9ae1-ac6edc326cc4","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2077,"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":"442ab377-9a77-41b0-9ae1-ac6edc326cc4"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T01:35:16.458612+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4192","receipt_type":"automatic_mission_resume","idempotency_key":"mission:442ab377-9a77-41b0-9ae1-ac6edc326cc4:automatic-mission-resume:4192:repair_mission_pr_ready_retryable","mission_step_id":"92555b5d-7725-4493-a91b-6114355cf215","command_center_event_id":"442ab377-9a77-41b0-9ae1-ac6edc326cc4"},{"id":"a07bce3c-3aca-4d05-98e9-3b31d69abcfe","source":"cc-execution","status":"authorized","payload":{"paths":["scripts/visual-witness-hosted-runner/src/route-origin-policy.mjs","scripts/visual-witness-hosted-runner/src/universal-witness.mjs","scripts/visual-witness-hosted-runner/test/route-origin-policy.test.mjs","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/test/visual-witness-custom-domain-origin.test.js"],"reason":"Owner explicitly requested this shared Visual Witness control plane authorization repair so KNOCKLAUNCH-owned customer domains can be inspected automatically without opening arbitrary external origins.","baseSha":"71271075fcddbd9d14c47c0b0da1a6fe80960592","issuedAt":1787944297389,"expiresAt":1787944477389,"missionId":"f36f22f7-6bae-4298-84f4-6b6fe8a14ccf","singleUse":true,"authorizationId":"26d001b1-a47c-4be2-b431-6a0a5fe65140"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T19:11:38.382305+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"71271075fcddbd9d14c47c0b0da1a6fe80960592","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:26d001b1-a47c-4be2-b431-6a0a5fe65140","mission_step_id":"0e4afc29-3944-4b15-a373-4aaef7d2bc2e","command_center_event_id":"f36f22f7-6bae-4298-84f4-6b6fe8a14ccf"},{"id":"a07d452e-82cd-4788-8383-8f4d3c8ecc96","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","handoff":null,"capability":"light-control-plane","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T17:50:57.180045+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-e908936ef307\",\"prNumber\":5181,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T14:50:16.213697+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:e908936e-f307-463c-9631-a6fa61f98025:owner-progress-heartbeat:119419881","mission_step_id":"baa11ec4-7bb2-455c-ac85-399bd7143d21","command_center_event_id":"e908936e-f307-463c-9631-a6fa61f98025"},{"id":"a07db040-a338-48bd-a2a3-a01b56921dad","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/fix-big-papi-entrance-replay-20260821","reason":"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":562,"terminal":false,"missionId":"d7c2dd72-89c1-41a4-b18f-ed8aa5692200","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":"d7c2dd72-89c1-41a4-b18f-ed8aa5692200"},"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":4708,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T16:42:34.290258+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"562","receipt_type":"execute_mission","idempotency_key":"mission:d7c2dd72-89c1-41a4-b18f-ed8aa5692200:execute_mission:canonical_release_transport_retryable","mission_step_id":"51923d60-b86c-4a3a-9e23-4416f0fbfe4d","command_center_event_id":"d7c2dd72-89c1-41a4-b18f-ed8aa5692200"},{"id":"a07f1f68-b831-4f87-acdf-3fa00bb758f4","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"b48a59e7985ce1554ec7ca6a110e95a9fbc62547","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Live Console resolves the Big Papi tenant through an owner-authorized browser-callable wrapper and opens the actual Big Papi dashboard in Witness without asking which page.","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"scope","satisfied":false,"statement":"Change only src/pages/admin/GodModeCommandConsole.tsx and one Supabase migration; do not modify Witness runtime, console-v3, operator-cockpit-v3, or layout.","proofConditionIds":["proof-production","proof-visual"]},{"id":"auth-boundary","satisfied":true,"statement":"The Console resolver wrapper must authorize the signed-in system admin and preserve least-privilege execution of the internal resolver.","proofConditionIds":["proof-production"]},{"id":"capability-completeness","satisfied":true,"statement":"Frontend, schema/auth dependency, release, and live proof must all be complete before terminal success.","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":"e8b4f26ecd7cbd12002668501fc2ee808fe6af326881461888d10107a3dda0b4","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":true,"releaseTargetStates":{"frontend":"success","migrations":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","migrations"],"allowedReleaseTargets":["frontend","migrations"],"requiredReleaseTargets":["frontend","migrations"],"migrationReleaseVerified":true,"releaseRequestContractHash":"e8b4f26ecd7cbd12002668501fc2ee808fe6af326881461888d10107a3dda0b4"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"b48a59e7985ce1554ec7ca6a110e95a9fbc62547","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend","migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T15:40:51.660831+00:00","proof_gate":"request_contract_pending","source_sha":"b48a59e7985ce1554ec7ca6a110e95a9fbc62547","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:181f544e-f91a-4eec-9b78-1f5b27d7bf09:request-contract:e8b4f26ecd7cbd12002668501fc2ee808fe6af326881461888d10107a3dda0b4:b48a59e7985ce1554ec7ca6a110e95a9fbc62547:pending:visual","mission_step_id":"0e05ced4-43a9-4814-899b-9ec805f0b147","command_center_event_id":"181f544e-f91a-4eec-9b78-1f5b27d7bf09"},{"id":"a07fa1ff-f49c-42e4-a7ae-f2de3b0e1603","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"711a56440ffa4f7ac1663494771a0bfd84a0bc58","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"optional-preview-url","satisfied":true,"statement":"versions upload requires an exact candidate Worker Version ID but does not fail when no public preview/version URL is emitted.","proofConditionIds":["runtime-proof"]},{"id":"override-canary","satisfied":true,"statement":"After a candidate is present in the active deployment at 0% traffic, canary requests target configured production proof domains and include Cloudflare-Workers-Version-Overrides with knocklaunch-owner-production mapped to the exact candidate version ID.","proofConditionIds":["runtime-proof"]},{"id":"stable-until-proven","satisfied":true,"statement":"The stable Worker remains at 100% traffic until the exact candidate passes source, index, and asset canary checks; promotion and rollback behavior remain fail-closed.","proofConditionIds":["runtime-proof"]},{"id":"privacy-preserved","satisfied":true,"statement":"workers_dev remains disabled and preview_urls are not enabled as part of this repair.","proofConditionIds":["runtime-proof"]}],"satisfied":true,"constraints":[{"id":"scope","satisfied":true,"statement":"Change only the exact frontend version-deploy canary behavior and its contract; do not alter unrelated release machinery or tenant UI.","proofConditionIds":["runtime-proof"]},{"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-proof"]},{"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-proof"]}],"contractHash":"4f2e23e0ea3c4b2a8d7583b9e08ef45203d7f6ae37d21066d658e70f69b750c2","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"runtime-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{},"unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"4f2e23e0ea3c4b2a8d7583b9e08ef45203d7f6ae37d21066d658e70f69b750c2"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T03:59:40.319651+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"711a56440ffa4f7ac1663494771a0bfd84a0bc58","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:3328d67a-5c3c-458e-b3b1-865e5e4f8a9f:request-contract:4f2e23e0ea3c4b2a8d7583b9e08ef45203d7f6ae37d21066d658e70f69b750c2:711a56440ffa4f7ac1663494771a0bfd84a0bc58:verified:","mission_step_id":"4832b34e-469a-4a88-8c20-ab263cc31ca9","command_center_event_id":"3328d67a-5c3c-458e-b3b1-865e5e4f8a9f"},{"id":"a0824ef0-3dd4-4db8-a817-4770f1bd57e7","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/cloudflare-credential-manager","reason":null,"status":"complete","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.61-known-cleanup-runs-fallback","prNumber":1748,"terminal":false,"missionId":"05014277-8ab7-4cf0-bb07-3a2517a6c2f1","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3101,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1597,"providerAuthMs":0,"ledgerPrepareMs":1414,"ledgerReconcileMs":0,"lineageReconcileMs":183,"resolvePreflightMs":1597,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1414,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"05014277-8ab7-4cf0-bb07-3a2517a6c2f1"},"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":2792,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T20:29:39.259231+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"1748","receipt_type":"execute_mission","idempotency_key":"mission:05014277-8ab7-4cf0-bb07-3a2517a6c2f1:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"3a186a77-a3c5-4dc2-a9fc-2a4f39da5967","command_center_event_id":"05014277-8ab7-4cf0-bb07-3a2517a6c2f1"},{"id":"a08254ed-05d7-4bc0-96b5-e9c796511d45","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_frozen_explicit_unfreeze_required","fingerprint":"ddd4a36ce2a46a2ecc91f4ae98ca80009735491ca15d9035fba343247fa2d3a1"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T00:29:10.876053+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:0ea9aaf7-6aa5-4736-acc4-c0d38e98e393:repository-mutation-intent-blocked:ddd4a36ce2a46a2ecc91f4ae98ca80009735491ca15d9035fba343247fa2d3a1","mission_step_id":"7198ae48-ea51-4771-9c8a-22dbd6db94f8","command_center_event_id":"0ea9aaf7-6aa5-4736-acc4-c0d38e98e393"},{"id":"a083cfc6-277a-473f-b49a-3c3f58b25beb","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"/big-papis/dashboard","branch":"ai/objective-first-repair-8f30988d874f","writes":[],"patches":[],"version":1,"approved":true,"missionId":"8f30988d-874f-43a3-bb8f-31c933d3d4b9","objective":"Repair Big Papi's Coquito Iceys production tenant for Will's real daily use. Simplify the operator flow, remove ambiguity and bloat, preserve required capabilities and branding, ship through Gate/release, and prove the primary workflow live.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/mobile-vendor/BigPapisToday.tsx"],"anchored_edits":[{"path":"src/pages/mobile-vendor/BigPapisToday.tsx","anchor":"  const selectedOfficeMode = activeOfficeMode ? officeModes.find((mode) => mode.id === activeOfficeMode) || null : null;","replacement":"  const selectedOfficeMode = activeMode === 'office' ? officeModes.find((mode) => mode.id === (activeOfficeMode || 'operations')) || null : null;"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"8f30988d-874f-43a3-bb8f-31c933d3d4b9","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/mobile-vendor/BigPapisToday.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":"ce164964c529dae9f4efdf9c85376918fa40114934c9f27b9328529346415cc2","replayCount":0,"serializedBytes":1665},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T11:56:28.349168+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:8f30988d-874f-43a3-bb8f-31c933d3d4b9:repository-mutation-intent:ce164964c529dae9f4efdf9c85376918fa40114934c9f27b9328529346415cc2:0","mission_step_id":"f5f6facb-789b-41b1-b00a-15809a9874bc","command_center_event_id":"8f30988d-874f-43a3-bb8f-31c933d3d4b9"},{"id":"a083e1f3-bed2-4d42-8125-b41a0795c705","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":null,"status":"in_progress","metrics":{"receiptBytes":5492,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"executorlessWaitMs":1117468,"firstUsefulResultAt":"2026-09-24T14:19:53.775Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.259-release-main-reread-eliminated","prNumber":null,"terminal":false,"missionId":"1c30ad83-9d34-46c5-8333-157a248d351c","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2407,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":375,"providerAuthMs":0,"shipAndProveMs":2116,"ledgerPrepareMs":375,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":375,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":375,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"1c30ad83-9d34-46c5-8333-157a248d351c"},"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":1469,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:19:53.808847+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1c30ad83-9d34-46c5-8333-157a248d351c:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"fbb3a653-c7b9-4ccf-8bb1-13fe8227cf5a","command_center_event_id":"1c30ad83-9d34-46c5-8333-157a248d351c"},{"id":"a0842b9a-2337-4875-b46b-f635cd0325bb","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-6ec489ab6bce","reason":"canonical_release_queue_busy:12955","status":"blocked","metrics":{"receiptBytes":38278,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":3,"executorlessWaitMs":145236,"firstUsefulResultAt":"2026-09-29T03:50:26.269Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.63.2-gate-starvation-auto-recovery","prNumber":4100,"terminal":false,"missionId":"6ec489ab-6bce-4c25-adfd-f436832e37ae","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"530fb6635b53e16be4ceb4754fa20f9ebdaa698b","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1119,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":95,"approvedPlanMs":0,"missionSetupMs":301,"providerAuthMs":0,"shipAndProveMs":637,"ledgerPrepareMs":301,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":301,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":301,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6ec489ab-6bce-4c25-adfd-f436832e37ae"},"performance":null,"deploymentId":"forgejo-main-530fb6635b53","releaseState":"pending","workflowRunId":12952,"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":1403,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:54:40.065899+00:00","proof_gate":"canonical_release_blocked","source_sha":"530fb6635b53e16be4ceb4754fa20f9ebdaa698b","external_id":"forgejo-main-530fb6635b53","receipt_type":"execute_mission","idempotency_key":"mission:6ec489ab-6bce-4c25-adfd-f436832e37ae:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"8441aa46-10ce-4066-9b3a-be23cbf59086","command_center_event_id":"6ec489ab-6bce-4c25-adfd-f436832e37ae"},{"id":"a088fc1e-0e3a-47a8-93ea-baa6ecd19d4a","source":"github-status","status":"verified","payload":{"failed":[],"states":{"canonical-web/source-proof":"success","canonical-web-production/live":"success","canonical-production-release/verified":"success"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"a47a41427de46f4e58f889794714132d52f1f6ed","releaseState":"verified","exactConductorRun":{"id":31067226795,"status":"completed","headSha":"a47a41427de46f4e58f889794714132d52f1f6ed","conclusion":"success","sourceMatches":true},"ccExecutionRuntimeProof":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-06T03:04:57.277623+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"a47a41427de46f4e58f889794714132d52f1f6ed","external_id":"canonical-release-a47a41427de4","receipt_type":"canonical_release_status","idempotency_key":"mission:54b95b5e-769f-4f65-abf7-8a5ec58ef86a:release-status:a47a41427de46f4e58f889794714132d52f1f6ed:verified:canonical-production-release/verified=success","mission_step_id":"0f1b6d6e-db2c-479e-b20b-ed1e044da743","command_center_event_id":"54b95b5e-769f-4f65-abf7-8a5ec58ef86a"},{"id":"a08b1057-ffa7-4929-b83b-950e3e8f520d","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"1bcd27da77d1f318d8780b643d46ae936d7f09ed","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"trigger-rpc-closed","satisfied":true,"statement":"Anonymous and authenticated API roles cannot directly execute SECURITY DEFINER trigger functions.","proofConditionIds":["repo-proof","advisor-proof"]},{"id":"trigger-behavior-preserved","satisfied":true,"statement":"Existing database triggers remain installed and their backing functions remain present after grant revocation.","proofConditionIds":["runtime-proof"]}],"satisfied":true,"constraints":[{"id":"scope","satisfied":true,"statement":"Do not change non-trigger RPC grants, public booking/intake RPCs, application code, or trigger definitions.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"release","satisfied":true,"statement":"Use canonical migrations-only release and verify production before completion.","proofConditionIds":["advisor-proof","runtime-proof"]},{"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":["repo-proof","advisor-proof","runtime-proof"]},{"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":["repo-proof","advisor-proof","runtime-proof"]}],"contractHash":"868a898e77be191b3bcad8ca6b58865435b48dbd79b0cbf8560e3d86b3fa8e19","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-proof","kind":"repository","evidence":{"reason":null,"gateRunId":9589,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":true,"namedGateTestPath":null,"releaseTargetStates":{"migrations":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"868a898e77be191b3bcad8ca6b58865435b48dbd79b0cbf8560e3d86b3fa8e19","unsuccessfulTargets":[],"activeReleaseTargets":["migrations"],"allowedReleaseTargets":["migrations"],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["migrations"],"migrationReleaseVerified":true,"repositoryConditionBound":true,"repositoryProofSourceSha":"1bcd27da77d1f318d8780b643d46ae936d7f09ed"},"required":true,"satisfied":true},{"id":"advisor-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":true,"releaseTargetStates":{"migrations":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["migrations"],"allowedReleaseTargets":["migrations"],"requiredReleaseTargets":["migrations"],"migrationReleaseVerified":true,"releaseRequestContractHash":"868a898e77be191b3bcad8ca6b58865435b48dbd79b0cbf8560e3d86b3fa8e19"},"required":true,"satisfied":true},{"id":"runtime-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":true,"releaseTargetStates":{"migrations":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["migrations"],"allowedReleaseTargets":["migrations"],"requiredReleaseTargets":["migrations"],"migrationReleaseVerified":true,"releaseRequestContractHash":"868a898e77be191b3bcad8ca6b58865435b48dbd79b0cbf8560e3d86b3fa8e19"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T14:44:08.273156+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"1bcd27da77d1f318d8780b643d46ae936d7f09ed","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:4fc18dbb-9532-4542-a530-e4f9be24130a:request-contract:868a898e77be191b3bcad8ca6b58865435b48dbd79b0cbf8560e3d86b3fa8e19:1bcd27da77d1f318d8780b643d46ae936d7f09ed:verified:","mission_step_id":"f567d30e-2f4c-4b51-988a-76786d8d2e34","command_center_event_id":"4fc18dbb-9532-4542-a530-e4f9be24130a"},{"id":"a08c7c19-d4ea-4669-b9cd-59e1c9c5b776","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2804,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"executorlessWaitMs":76171,"firstUsefulResultAt":"2026-10-04T10:23:28.646Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":null,"terminal":false,"missionId":"ddc97301-8834-4ab0-b229-eab1bb4ffa55","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2155,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":186,"providerAuthMs":0,"ledgerPrepareMs":186,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":186,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":186,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"ddc97301-8834-4ab0-b229-eab1bb4ffa55"},"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":2937,"likelyAffectedFiles":["scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T10:23:30.285575+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ddc97301-8834-4ab0-b229-eab1bb4ffa55:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"89cb7d59-e979-4545-b502-d63c70a72030","command_center_event_id":"ddc97301-8834-4ab0-b229-eab1bb4ffa55"},{"id":"a08e4bbf-bc67-4459-ad0c-0fd411103aed","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/visual-witness-implement-a-proportional-virtual-","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1778,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.24-exact-release-classification","prNumber":null,"terminal":false,"missionId":"049482fe-b25f-41a9-9950-06c88ac0c201","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":"049482fe-b25f-41a9-9950-06c88ac0c201"},"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":10076,"likelyAffectedFiles":["config/docs","workers/cc-execution","scripts/visual-witness-hosted-runner/src/universal-witness.mjs","scripts/visual-witness-hosted-runner/src/runner-entrypoint.mjs","workers/cc-execution/src/index-visual-witness-fast-path.js",".github/workflows/production-release-conductor.yml","scripts/resolve-autonomous-change-plan.mjs","scripts/resolve-production-workflow-run.mjs","workers/cc-execution/wrangler.toml",".github/workflows/cc-execution-worker-deploy.yml","workers/cc-execution/src/","src/routes/"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T12:08:16.64021+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:049482fe-b25f-41a9-9950-06c88ac0c201:execute_mission:repair_mission_synthesis_ready","mission_step_id":"0a48c9a2-1cd0-4f30-bd82-dd9768cef0a8","command_center_event_id":"049482fe-b25f-41a9-9950-06c88ac0c201"},{"id":"a08e79fc-4933-44ee-a51f-9c000894fd7e","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/redfish-whatsmyprogress-shell-r1-20260910","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.98-owner-handoff-overlap","prNumber":2369,"terminal":false,"missionId":"d0224a79-f93a-4e11-91d5-356074a6d096","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4417,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2450,"approvedPlanMs":0,"missionSetupMs":5421,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":420,"ledgerReconcileMs":0,"lineageReconcileMs":5001,"resolvePreflightMs":5421,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":420,"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":"d0224a79-f93a-4e11-91d5-356074a6d096"},"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-11T02:47:35.512284+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2365","receipt_type":"execute_mission","idempotency_key":"mission:d0224a79-f93a-4e11-91d5-356074a6d096:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"30ad495a-6e6f-48af-b572-d5d35d65651e","command_center_event_id":"d0224a79-f93a-4e11-91d5-356074a6d096"},{"id":"a09105c3-2f43-45a1-a92e-f261a81d6f0d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":"cb4a6b70-615b-4b8a-9708-85f2d5194a39","phase":"visual_proof","branch":"ai/objective-first-repair-e020b5c6b3f8","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":92051,"releaseCount":0,"toolCallCount":42,"repeatedCallCount":25,"executorlessWaitMs":526142,"firstUsefulResultAt":"2026-09-30T18:24:46.764Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":"1.64.20-paul-owner-babysitting-guard","prNumber":4255,"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":4453,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":779,"missionSetupMs":314,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":314,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":314,"repositoryMutationMs":3674,"repositoryProviderMs":3674,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2346,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":314,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1328},"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":"verified","visualWitness":{"role":null,"jobId":"cb4a6b70-615b-4b8a-9708-85f2d5194a39","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":"completed_with_findings","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3752,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T18:35:53.538148+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"cb4a6b70-615b-4b8a-9708-85f2d5194a39","receipt_type":"execute_mission","idempotency_key":"mission:e020b5c6-b3f8-4d93-9c5c-0d62cb75b237:execute_mission:repair_mission_pr_handed_off_to_supervisor:generation-1","mission_step_id":"dad167ac-d3e9-4b58-b56f-2e1e2b02c4ec","command_center_event_id":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237"},{"id":"a0916d02-6c57-435f-ab44-b2b4a6415897","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/big-papis-popup-map-lifecycle","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.144-request-contract-inference","prNumber":2739,"terminal":false,"missionId":"c2eafd2f-a15d-4508-bf8b-10996e16e646","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4238,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":355,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":355,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":355,"repositoryMutationMs":4238,"repositoryProviderMs":3327,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1890,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":355,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1437},"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":"c2eafd2f-a15d-4508-bf8b-10996e16e646"},"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":3283,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T07:48:13.374541+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2739","receipt_type":"execute_mission","idempotency_key":"mission:c2eafd2f-a15d-4508-bf8b-10996e16e646:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"0f801bbf-84cc-4849-95c4-e66cedd0776a","command_center_event_id":"c2eafd2f-a15d-4508-bf8b-10996e16e646"},{"id":"a091d7e3-f72c-4be8-8d9a-a5fd518cc988","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"9fc60fc2-27d2-4f51-acb1-534a1fc1e9d1","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-35a08e98d190","reason":null,"status":"pending","metrics":{"receiptBytes":23121,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":1,"executorlessWaitMs":2599431,"firstUsefulResultAt":"2026-09-28T04:09:15.951Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3967,"terminal":false,"missionId":"35a08e98-d190-4c68-9845-4f9603809cc8","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"d8d0004fd95ff15bd8b9194b26f6ed0ec709aa31","timingsMs":{"queue":204,"total":210,"execution":6},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"35a08e98-d190-4c68-9845-4f9603809cc8"},"performance":null,"deploymentId":"forgejo-main-d8d0004fd95f","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"9fc60fc2-27d2-4f51-acb1-534a1fc1e9d1","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":0,"supervisorId":"9fc60fc2-27d2-4f51-acb1-534a1fc1e9d1","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/dashboard","runnerSourceSha":null,"selectedViewports":["mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12477,"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":1744,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T04:52:44.908026+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"d8d0004fd95ff15bd8b9194b26f6ed0ec709aa31","external_id":"9fc60fc2-27d2-4f51-acb1-534a1fc1e9d1","receipt_type":"visual_proof_started","idempotency_key":"mission:35a08e98-d190-4c68-9845-4f9603809cc8:visual-start:9fc60fc2-27d2-4f51-acb1-534a1fc1e9d1","mission_step_id":"f9066617-664b-4798-9abc-c09ea52924e9","command_center_event_id":"35a08e98-d190-4c68-9845-4f9603809cc8"},{"id":"a093f7c4-7be4-4238-9414-5f0cb820a461","source":"cc-execution","status":"authorized","payload":{"paths":["supabase/functions/admin-manage/index.ts","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"reason":"Owner requested the GodMode Restore Points control plane bridge be repaired now. This is a bounded control plane authentication repair using the already-shared FGJ control secret only as HMAC key material.","baseSha":"3c98ad4d996f8a03e3728e472d11a685bf0689c2","issuedAt":1787881456889,"expiresAt":1787881636889,"missionId":"12723b5f-39a7-424b-b604-44bc8d00b26d","singleUse":true,"authorizationId":"131d8d60-a3b8-4b0c-8c4a-5b425d5746a4"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T01:44:17.948065+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"3c98ad4d996f8a03e3728e472d11a685bf0689c2","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:131d8d60-a3b8-4b0c-8c4a-5b425d5746a4","mission_step_id":"a7e25907-d5d6-4f77-ba20-050c87a69b94","command_center_event_id":"12723b5f-39a7-424b-b604-44bc8d00b26d"},{"id":"a0940db8-28a6-4525-8a75-3e93f9345379","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-edge-production/live":"pending"},"mainSha":"1e49d78846d0178b48d736f2747fec99de8e8986","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"1e49d78846d0178b48d736f2747fec99de8e8986","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["system-backup"]},"releaseTargetStates":{"supabaseEdge":"pending"},"requestContractHash":"a76264b3fc8ef0ba4893e6abd70cbd3dd8115c4582641cccfdbafc561796673b","forgejoWorkflowProof":{"runId":16244,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T04:25:27.815913+00:00","proof_gate":"canonical_release_pending","source_sha":"1e49d78846d0178b48d736f2747fec99de8e8986","external_id":"forgejo-main-1e49d78846d0","receipt_type":"canonical_release_status","idempotency_key":"mission:9f782e9e-ca57-4cd1-aeae-94a90c1ffad2:forgejo-release-status:1e49d78846d0178b48d736f2747fec99de8e8986:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending","mission_step_id":"d6b7411e-6e9b-4492-a648-6c4fc47a229a","command_center_event_id":"9f782e9e-ca57-4cd1-aeae-94a90c1ffad2"},{"id":"a0997f15-bdd1-4b9b-984c-93dee13348c4","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"5b0be4e723b10738adc0dfe60fe121c8c3fb36ea","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repo-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"1bab287a33e3b1eb73901ee63d7b13a9c2901d25","prNumber":2513,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/7435/jobs/1","mergeCommitSha":"5b0be4e723b10738adc0dfe60fe121c8c3fb36ea"}],"requestContractHash":"b0824b9a708160b977e58b822fd857fffea7695e86a5ea2491eba153ca34da09"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T17:22:28.634327+00:00","proof_gate":"request_contract_repository_verified","source_sha":"5b0be4e723b10738adc0dfe60fe121c8c3fb36ea","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:cdbd0ea0-a4e5-42f3-9ea7-22c147c93104:request-contract-repository:b0824b9a708160b977e58b822fd857fffea7695e86a5ea2491eba153ca34da09:5b0be4e723b10738adc0dfe60fe121c8c3fb36ea","mission_step_id":"7f5354c0-14b6-45ff-9c6f-610785e93e4f","command_center_event_id":"cdbd0ea0-a4e5-42f3-9ea7-22c147c93104"},{"id":"a09d7d48-8281-41f4-a322-0b714c82bf30","source":"forgejo","status":"waiting","payload":{"branch":"ai/systemic-control-plane-blockers-g3-20260904","prNumber":1663,"nextAction":null,"mergeCommitSha":"42a379ed5f0b49f87571f0bc8c58ffc90ca8c5c6","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T03:49:53.822348+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"42a379ed5f0b49f87571f0bc8c58ffc90ca8c5c6","external_id":"1663","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:53ad44a1-4e29-4653-b43c-cf9d51dc2959:merged-pr:1663:42a379ed5f0b49f87571f0bc8c58ffc90ca8c5c6","mission_step_id":"33d82312-5906-4efe-8e43-5114b2f07b10","command_center_event_id":"53ad44a1-4e29-4653-b43c-cf9d51dc2959"},{"id":"a09fa443-259f-448e-b8f4-b3cccfa7a633","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"7fb2008a-1b1d-4b67-88d9-b2401d55a62f","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-ca36810b0235","reason":null,"status":"pending","metrics":{"receiptBytes":113882,"releaseCount":0,"toolCallCount":30,"repeatedCallCount":18,"executorlessWaitMs":797896,"firstUsefulResultAt":"2026-09-25T17:18:32.636Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3746,"terminal":false,"missionId":"ca36810b-0235-4523-8947-b20d0893d1a0","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"bf3597fce3fc5c0f9af662456f40c3090cf55222","timingsMs":{"queue":471,"total":487,"execution":16},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"ca36810b-0235-4523-8947-b20d0893d1a0"},"performance":null,"deploymentId":"forgejo-main-bf3597fce3fc","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"7fb2008a-1b1d-4b67-88d9-b2401d55a62f","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":0,"supervisorId":"7fb2008a-1b1d-4b67-88d9-b2401d55a62f","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"https://321autounlock.com/","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":11840,"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":1772,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T17:31:52.539885+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"bf3597fce3fc5c0f9af662456f40c3090cf55222","external_id":"7fb2008a-1b1d-4b67-88d9-b2401d55a62f","receipt_type":"visual_proof_started","idempotency_key":"mission:ca36810b-0235-4523-8947-b20d0893d1a0:visual-start:7fb2008a-1b1d-4b67-88d9-b2401d55a62f","mission_step_id":"13b8b274-5648-4842-891c-c0450e811bd2","command_center_event_id":"ca36810b-0235-4523-8947-b20d0893d1a0"},{"id":"a0a0f086-4137-4e91-96b1-8987b5cb4ef1","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-17T04:23:47.037Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T04:10:54.835472+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:48c778d9-86d0-43d0-9708-a591c33af43c:owner-wait-live","mission_step_id":"32469652-c630-40a7-815f-30600ecc481f","command_center_event_id":"48c778d9-86d0-43d0-9708-a591c33af43c"},{"id":"a0a38731-8879-4b26-8e55-b973a9472c0e","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"6783b70c33c44dc04efc321f081c5cbfff29da52","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"migration-live","satisfied":true,"statement":"The fresh Calendar CalDAV migration is applied in production and the stale colliding Calendar migration is no longer a release candidate.","proofConditionIds":["db-constraint","db-capability","db-action","release-scope"]}],"satisfied":true,"constraints":[{"id":"migration-only","satisfied":true,"statement":"Release only migrations; frontend and Supabase Edge are already live and unchanged.","proofConditionIds":["release-scope"]},{"id":"no-runtime-mutation-proof","satisfied":true,"statement":"Do not authorize third-party providers or create/edit/delete production events during proof.","proofConditionIds":["db-constraint","db-capability","db-action"]}],"contractHash":"192fc548df51eb45142c6be048c0659eb9754509df0fe29227cc7c8bc38b6df0","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"db-constraint","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["migrations"],"releaseRequestContractHash":"192fc548df51eb45142c6be048c0659eb9754509df0fe29227cc7c8bc38b6df0"},"required":true,"satisfied":true},{"id":"db-capability","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["migrations"],"releaseRequestContractHash":"192fc548df51eb45142c6be048c0659eb9754509df0fe29227cc7c8bc38b6df0"},"required":true,"satisfied":true},{"id":"db-action","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["migrations"],"releaseRequestContractHash":"192fc548df51eb45142c6be048c0659eb9754509df0fe29227cc7c8bc38b6df0"},"required":true,"satisfied":true},{"id":"release-scope","kind":"scope","evidence":{"activeReleaseTargets":["migrations"],"allowedReleaseTargets":["migrations"],"requiredReleaseTargets":["migrations"]},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-07T19:04:15.576067+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"6783b70c33c44dc04efc321f081c5cbfff29da52","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:5dc323c9-a5d3-4740-940f-450413a024bb:request-contract:192fc548df51eb45142c6be048c0659eb9754509df0fe29227cc7c8bc38b6df0:6783b70c33c44dc04efc321f081c5cbfff29da52:verified:","mission_step_id":"685103e6-a052-4b78-91ae-a2b959e9c302","command_center_event_id":"5dc323c9-a5d3-4740-940f-450413a024bb"},{"id":"a0a78064-7c42-4aec-b7a8-614080778524","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-8e1f0d6803d0","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.79-durable-synthesis-continuation","prNumber":null,"terminal":false,"missionId":"8e1f0d68-03d0-467d-b8dd-e0d8b5288799","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":607,"providerAuthMs":0,"ledgerPrepareMs":607,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":607,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":607,"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":"8e1f0d68-03d0-467d-b8dd-e0d8b5288799"},"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":2902,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T12:04:00.065378+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8e1f0d68-03d0-467d-b8dd-e0d8b5288799:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"c2d05b59-93ea-46c8-819b-b3e97a772393","command_center_event_id":"8e1f0d68-03d0-467d-b8dd-e0d8b5288799"},{"id":"a0a7848e-4ac5-41b1-b140-4273941318fb","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\":\"control_plane_maintenance_authorization\",\"status\":\"authorized\",\"proofGate\":\"control_plane_maintenance_scope_authorized\"},\"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\":\"visual_proof\",\"deadlineAt\":\"2026-09-28T21:00:33.255163+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-46a23538ac0f\",\"prNumber\":4022,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T17:19:23.76026+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:46a23538-ac0f-498a-85bf-1d527da22391:owner-progress-heartbeat:119374397","mission_step_id":"8a8e8c80-d72a-413d-8f6f-1e0198308ec7","command_center_event_id":"46a23538-ac0f-498a-85bf-1d527da22391"},{"id":"a0a8eca8-6246-404a-a2a9-c35c3b746d40","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/forgejo-permanent-hardening-0908","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":2157,"terminal":false,"missionId":"a78a1407-c466-450c-b0bd-a05990918dff","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"35e36cee78e1d9a452286790326b352ad40bec90","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":15067,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2184,"approvedPlanMs":0,"missionSetupMs":1825,"providerAuthMs":0,"shipAndProveMs":12178,"ledgerPrepareMs":930,"ledgerReconcileMs":0,"lineageReconcileMs":895,"resolvePreflightMs":1825,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":930,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a78a1407-c466-450c-b0bd-a05990918dff"},"performance":null,"deploymentId":"forgejo-main-35e36cee78e1","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2718,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T19:28:45.424683+00:00","proof_gate":"canonical_release_dispatched","source_sha":"35e36cee78e1d9a452286790326b352ad40bec90","external_id":"forgejo-main-35e36cee78e1","receipt_type":"execute_mission","idempotency_key":"mission:a78a1407-c466-450c-b0bd-a05990918dff:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"560ef109-1867-4382-a9bc-44daba449acc","command_center_event_id":"a78a1407-c466-450c-b0bd-a05990918dff"},{"id":"a0ac5307-88fa-40cb-ae94-3bfc7bf5bcf1","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-6c0d93a39b45","reason":null,"status":"complete","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.144-request-contract-inference","prNumber":2702,"terminal":false,"missionId":"6c0d93a3-9b45-4cf0-86f0-df3323ade6aa","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8985,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":3833,"providerAuthMs":0,"ledgerPrepareMs":248,"ledgerReconcileMs":0,"lineageReconcileMs":3585,"resolvePreflightMs":3833,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":248,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"6c0d93a3-9b45-4cf0-86f0-df3323ade6aa"},"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":2480,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T01:54:03.265374+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"2702","receipt_type":"execute_mission","idempotency_key":"mission:6c0d93a3-9b45-4cf0-86f0-df3323ade6aa:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"d651d270-8d64-4b2b-9a80-f8527d2ee2f2","command_center_event_id":"6c0d93a3-9b45-4cf0-86f0-df3323ade6aa"},{"id":"a0ae0675-e24a-42c1-b472-b8c0f947d103","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-06T03:19:09.066137+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-b70b48dde047\",\"prNumber\":5104,\"sourceSha\":\"1df3b53b734cd26b6403bfb173f9122ad1736186\",\"deploymentId\":\"forgejo-main-1df3b53b734c\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T00:23:52.302782+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:b70b48dd-e047-4d15-b4db-7b59cba0d04e:owner-progress-heartbeat:119416415","mission_step_id":"c8cf242f-e613-48e3-8fc6-696be0571a98","command_center_event_id":"b70b48dd-e047-4d15-b4db-7b59cba0d04e"},{"id":"a0ae9f90-1dc1-49ec-90e8-b91432c42996","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-cffd624dfcbd","reason":"existing_branch_without_open_pr_branch_diverged_or_unproven:ai/objective-first-repair-cffd624dfcbd","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.90-mission-terminalization","prNumber":null,"terminal":false,"missionId":"cffd624d-fcbd-4470-8a89-ef4bf7b8d75f","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1669,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":366,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":278,"ledgerReconcileMs":0,"lineageReconcileMs":88,"resolvePreflightMs":366,"repositoryMutationMs":1669,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":278,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"cffd624d-fcbd-4470-8a89-ef4bf7b8d75f"},"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":1582,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T03:58:50.314234+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:cffd624d-fcbd-4470-8a89-ef4bf7b8d75f:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"308424f8-e1eb-46c9-8a11-3f80c490148b","command_center_event_id":"cffd624d-fcbd-4470-8a89-ef4bf7b8d75f"},{"id":"a0b0783e-6e1f-4cc4-bfe0-b7f0809c59db","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/frontend-release-capacity-20260904","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.54-post-gate-progression-self-heal-refreeze","prNumber":1730,"terminal":false,"missionId":"ab1942e9-44bc-4eab-93e2-275230350020","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6216,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":730,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":730,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":730,"repositoryMutationMs":6216,"repositoryProviderMs":4202,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2248,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":730,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1954},"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":"ab1942e9-44bc-4eab-93e2-275230350020"},"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":3591,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T17:21:05.806422+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"1730","receipt_type":"execute_mission","idempotency_key":"mission:ab1942e9-44bc-4eab-93e2-275230350020:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"b0ca8ae1-b42d-42bb-9354-742f324a735a","command_center_event_id":"ab1942e9-44bc-4eab-93e2-275230350020"},{"id":"a0b09019-1147-4b0f-84ff-e6d58337c5fc","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":198762,"owner_action_to_pr_ms":7175,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":240},"ownerWaitLiveAt":"2026-09-23T21:21:49.762Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T21:21:50.064548+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:7782d4f9-8f0c-46dd-8599-53568b1f5f00:owner-wait-live","mission_step_id":"34ea766e-4acf-4349-9992-681f8fe1034b","command_center_event_id":"7782d4f9-8f0c-46dd-8599-53568b1f5f00"},{"id":"a0b1125f-26e1-4ee7-8454-15503ea29ba0","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/scripts/cloudflare-credential-repair.mjs","workers/cc-execution/test/cloudflare-credential-repair.test.js"],"reason":"Production release 5462 created normally verified Cloudflare candidates but discarded them after one immediate Container API 401. Newly-issued credentials need a short bounded convergence check while preserving fail-closed terminal behavior.","baseSha":"68f04065a4c25ae1308e0ec2a9b556782a682c61","issuedAt":1788608795101,"expiresAt":1788608975101,"missionId":"81cb9e92-a439-4cd1-8506-8a411a3f2143","authorizationId":"a5e16c0c-eed2-4a87-8d8d-ed23b37f872b","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T11:46:35.555581+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"68f04065a4c25ae1308e0ec2a9b556782a682c61","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:a5e16c0c-eed2-4a87-8d8d-ed23b37f872b","mission_step_id":"5535f354-0de2-446b-99ba-da5e153baffd","command_center_event_id":"81cb9e92-a439-4cd1-8506-8a411a3f2143"},{"id":"a0b6fcd2-1771-455f-ba46-aedddcd4cf41","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-403bc3959d19","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.197-deterministic-owner-progress","prNumber":null,"terminal":false,"missionId":"403bc395-9d19-486a-9409-06e51cc91573","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":382,"providerAuthMs":0,"ledgerPrepareMs":382,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":382,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":382,"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":"403bc395-9d19-486a-9409-06e51cc91573"},"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":4355,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T00:18:28.007546+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:403bc395-9d19-486a-9409-06e51cc91573:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"8ff399e3-6061-4f45-91be-950b006841e4","command_center_event_id":"403bc395-9d19-486a-9409-06e51cc91573"},{"id":"a0b9664b-d4e0-4e2e-83a6-50b2fa22b15d","source":"cc-execution","status":"recorded","payload":{"objective":"Recover the Lawn Care shell deployment from current protected main without touching control-plane code. Current main already contains the intended Lawn Care redesign from merged PR #1656, but its frontend release failed because the serverless fast gate produced no promotable artifact. Create one fresh corrective frontend PR from current main that changes only src/App.tsx with a harmless explicit Lawn Care shell contract marker on the existing <main> element. Add data-lawn-shell-contract={isLawnCareRoute ? \"sleek-v2\" : undefined} immediately after the existing data-route-mobile-mode attribute. This top-level build-critical path is intentionally ineligible for the serverless leaf fast gate, so the PR must execute the real KnockLaunch Gate and produce the validated frontend artifact. Pass the real Gate, squash merge, deploy frontend only, and verify production. Do not change database, auth, backend, Supabase, runtime, control-plane, or route semantics. Do not claim done until the exact corrective merged source is released successfully. After release, verify /ms-lawn-barber resolves in the real MS Lawn Barber LAWN_CARE tenant; visual acceptance will be run separately.","tenantRef":"MsLawnBarber","receivedAt":"2026-09-04T02:35:16.874Z","fingerprint":"c55638e46f4b986c33fa105d6d50936de2e513fad205c97e12aeb19334076edc","workstreamRef":"mslawnbarber","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Recover the Lawn Care shell deployment from current protected main without touching control-plane code. Current main already contains the intended Lawn Care redesign from merged PR #1656, but its frontend release failed because the serverless fast gate produced no promotable artifact. Create one fresh corrective frontend PR from current main that changes only src/App.tsx with a harmless explicit Lawn Care shell contract marker on the existing <main> element. Add data-lawn-shell-contract={isLawnCareRoute ? \"sleek-v2\" : undefined} immediately after the existing data-route-mobile-mode attribute. This top-level build-critical path is intentionally ineligible for the serverless leaf fast gate, so the PR must execute the real KnockLaunch Gate and produce the validated frontend artifact. Pass the real Gate, squash merge, deploy frontend only, and verify production. Do not change database, auth, backend, Supabase, runtime, control-plane, or route semantics. Do not claim done until the exact corrective merged source is released successfully. After release, verify /ms-lawn-barber resolves in the real MS Lawn Barber LAWN_CARE tenant; visual acceptance will be run separately.","wordingChanged":false,"canonicalIntent":"Recover the Lawn Care shell deployment from current protected main without touching control-plane code. Current main already contains the intended Lawn Care redesign from merged PR #1656, but its frontend release failed because the serverless fast gate produced no promotable artifact. Create one fresh corrective frontend PR from current main that changes only src/App.tsx with a harmless explicit Lawn Care shell contract marker on the existing <main> element. Add data-lawn-shell-contract={isLawnCareRoute ? \"sleek-v2\" : undefined} immediately after the existing data-route-mobile-mode attribute. This top-level build-critical path is intentionally ineligible for the serverless leaf fast gate, so the PR must execute the real KnockLaunch Gate and produce the validated frontend artifact. Pass the real Gate, squash merge, deploy frontend only, and verify production. Do not change database, auth, backend, Supabase, runtime, control-plane, or route semantics. Do not claim done until the exact corrective merged source is released successfully. After release, verify /ms-lawn-barber resolves in the real MS Lawn Barber LAWN_CARE tenant; visual acceptance will be run separately.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-live","statement":"The current Lawn Care shell redesign is included in a successful production frontend release after a real KnockLaunch Gate.","proofConditionIds":["proof-runtime"]}],"objective":"Recover the Lawn Care shell deployment from current protected main without touching control-plane code. Current main already contains the intended Lawn Care redesign from merged PR #1656, but its frontend release failed because the serverless fast gate produced no promotable artifact. Create one fresh corrective frontend PR from current main that changes only src/App.tsx with a harmless explicit Lawn Care shell contract marker on the existing <main> element. Add data-lawn-shell-contract={isLawnCareRoute ? \"sleek-v2\" : undefined} immediately after the existing data-route-mobile-mode attribute. This top-level build-critical path is intentionally ineligible for the serverless leaf fast gate, so the PR must execute the real KnockLaunch Gate and produce the validated frontend artifact. Pass the real Gate, squash merge, deploy frontend only, and verify production. Do not change database, auth, backend, Supabase, runtime, control-plane, or route semantics. Do not claim done until the exact corrective merged source is released successfully. After release, verify /ms-lawn-barber resolves in the real MS Lawn Barber LAWN_CARE tenant; visual acceptance will be run separately.","constraints":[{"id":"constraint-frontend","statement":"Change only frontend source and release only frontend.","proofConditionIds":["proof-runtime"]},{"id":"constraint-no-control-plane","statement":"Do not mutate the control plane, database, auth, backend, or Supabase.","proofConditionIds":["proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-runtime","kind":"runtime","claim":"The corrective merged source containing the Lawn Care shell contract marker and the previously merged LawnCareCohesion.css redesign has a terminal successful frontend production release.","route":"/ms-lawn-barber","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":null,"conversationContext":null,"requestContractHash":"c4a9eda354934dd318544617603744cb2ade5bd23a39f21012aa61e43a527f9a","requestContractRevision":1},"tenant_id":"b565f644-6d3c-4b61-97d6-f91a06dae0ec","created_at":"2026-09-04T02:35:17.593391+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:4b21adcf-12ce-406a-a661-7cda7c502b91:tenant-workstream-contribution:c55638e46f4b986c33fa105d6d50936de2e513fad205c97e12aeb19334076edc","mission_step_id":null,"command_center_event_id":"4b21adcf-12ce-406a-a661-7cda7c502b91"},{"id":"a0b99205-40b6-4702-a7d9-49b62ee482fd","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/version.js"],"reason":"Align the live cc-execution runtime with current protected main and eliminate hidden source/runtime drift during the system-stability batch.","baseSha":"8ba4f28c4e95d5e82c5f2d54a2a703ab151d0fd0","issuedAt":1788544611200,"expiresAt":1788544791200,"missionId":"852c788d-03c1-446e-98f1-de247644d546","authorizationId":"16c91694-aa9e-4e03-a3f3-79f41209fd46","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T17:56:51.864963+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"8ba4f28c4e95d5e82c5f2d54a2a703ab151d0fd0","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:16c91694-aa9e-4e03-a3f3-79f41209fd46","mission_step_id":"d8cdeee9-00cf-48c4-85c0-f27ed6ed1551","command_center_event_id":"852c788d-03c1-446e-98f1-de247644d546"},{"id":"a0bdf4e5-277f-4e8d-ad97-8a8a240b7588","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-503502db5893","prNumber":3753,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"675ad36dbeea7d3a779a04c99a4be66d069f3a14","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T18:25:26.534728+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"675ad36dbeea7d3a779a04c99a4be66d069f3a14","external_id":"3753","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:503502db-5893-4e94-acfc-60206671793d:merged-pr:3753:675ad36dbeea7d3a779a04c99a4be66d069f3a14","mission_step_id":"0314a657-2982-42a9-965b-b92352fa7b8c","command_center_event_id":"503502db-5893-4e94-acfc-60206671793d"},{"id":"a0bfaf12-581a-42d9-a5b9-ae242e5be1aa","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1853,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":null,"terminal":false,"missionId":"5f8c20a5-c08d-47bb-a013-4474266f326d","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":"5f8c20a5-c08d-47bb-a013-4474266f326d"},"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":8714,"likelyAffectedFiles":["src/components/admin/LeadManagement/DataQuality/BulkRepairDialog.tsx","src/components/admin/TenantUserCommandCenters.tsx","src/components/GlobalCommandPalette.tsx","src/components/ReleaseAllLeadsButton.tsx","src/components/ReleaseLeadButton.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/frontend-entrypoints-nonempty.test.ts","src/__tests__/contracts/visual-witness-autonomous-mission.contract.test.ts","src/components/activities/QuickActivityLog.tsx","src/components/admin/billing/ManageSubscriptionDialog.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T17:02:05.998655+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5f8c20a5-c08d-47bb-a013-4474266f326d:execute_mission:repair_mission_synthesis_ready","mission_step_id":"59c18752-e861-445d-a1ba-6b3052337463","command_center_event_id":"5f8c20a5-c08d-47bb-a013-4474266f326d"},{"id":"a0bfe3c3-dee9-4518-a3ee-0e468158d0b3","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"6b3bec8a63e5a2261e3032233187f5d2a9f1cb82","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","frontend-cloudflare/live"],"sourceSha":"6b3bec8a63e5a2261e3032233187f5d2a9f1cb82","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","ccExecution":"pending"},"requestContractHash":"e0c819334688a63ce77c6070e5ed917d9d9fba4e2a22a95fe210c9fc22273fcd","forgejoWorkflowProof":{"runId":9757,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"d5ccd12427fe514f836775f7b918b67627e7b9bc","deploymentId":"forgejo-main-d5ccd12427fe514f836775f7b918b67627e7b9bc","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.182-witness-render-cold-start-aware","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T18:20:04.181943+00:00","proof_gate":"canonical_release_pending","source_sha":"6b3bec8a63e5a2261e3032233187f5d2a9f1cb82","external_id":"forgejo-main-6b3bec8a63e5","receipt_type":"canonical_release_status","idempotency_key":"mission:2555a1ee-d01a-4c5c-beb5-e2625e7f0a5c:forgejo-release-status:6b3bec8a63e5a2261e3032233187f5d2a9f1cb82:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending|frontend-cloudflare/live=pending","mission_step_id":"e52034a6-838f-4e26-ac87-f49bc247042d","command_center_event_id":"2555a1ee-d01a-4c5c-beb5-e2625e7f0a5c"},{"id":"a0c011a5-5040-46cc-aee4-dfe09c2b6a3e","source":"forgejo","status":"waiting","payload":{"branch":"ai/noop-merge-tree-proof-20260825","prNumber":746,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"386cb06056124225639fa3d307eaf152a2b8b8e6","branchDeletedAfterMerge":false,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T15:41:30.401131+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"386cb06056124225639fa3d307eaf152a2b8b8e6","external_id":"746","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:7069db4c-e1d7-40c7-acb4-0436fbec5c72:merged-pr:746:386cb06056124225639fa3d307eaf152a2b8b8e6","mission_step_id":"2707887f-8c99-4e0e-bd99-b88ee3008d11","command_center_event_id":"7069db4c-e1d7-40c7-acb4-0436fbec5c72"},{"id":"a0c22a4d-df78-42a1-8416-e7c589c69ef8","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-136e2d356ca6","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.214-mcp-repository-source-resolution","prNumber":null,"terminal":false,"missionId":"136e2d35-6ca6-4e72-b1c1-3b9baaf789f6","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":121,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":875,"providerAuthMs":0,"ledgerPrepareMs":875,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":875,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":875,"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":"136e2d35-6ca6-4e72-b1c1-3b9baaf789f6"},"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":4170,"likelyAffectedFiles":["src/App.tsx","config/capabilities/platform-application-registry.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T17:58:21.803832+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:136e2d35-6ca6-4e72-b1c1-3b9baaf789f6:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"f7edfce2-1a9f-4613-ae88-68b5a2f305ea","command_center_event_id":"136e2d35-6ca6-4e72-b1c1-3b9baaf789f6"},{"id":"a0c42e2a-d9a7-4cb7-b91a-63e92ac16000","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":"b22c345b462afe494cee238ccf6baea201d94938","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"d65dabe6c7655a2be9635cd1b4826696806e69b9","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":null,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/12887","runId":12887,"status":"success","sourceSha":"d65dabe6c7655a2be9635cd1b4826696806e69b9","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success","supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"success","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"c484aa18d69d6cc3f197ce43c51bdc42b4e57072","sourceSha":"d65dabe6c7655a2be9635cd1b4826696806e69b9","changedPaths":["config/capabilities/pcg-card-grading-modes.json","src/pages/card-grading/PCGPublicSite.tsx","src/routes/publicRoutes.tsx","supabase/functions/pcg-customer-progress/index.ts"],"changedPathCount":4,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T02:01:45.806927+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"d65dabe6c7655a2be9635cd1b4826696806e69b9","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:844cc666-aa5a-49aa-b5a9-a511084e4b98:forgejo-release-status:d65dabe6c7655a2be9635cd1b4826696806e69b9:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"91006281-dcb7-4299-9a5f-f98b2aadf138","command_center_event_id":"844cc666-aa5a-49aa-b5a9-a511084e4b98"},{"id":"a0c43311-b1e6-4a18-9590-66a2d1c86778","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"6d15cb7bb2265c837ddf8cf63b98ab7ea87f5dfb","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"tests-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"f020f1c30584afe6e0a0f81e50884c6fdcc85446","prNumber":3051,"gateRunId":9362,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/9362/jobs/1","mergeCommitSha":"6d15cb7bb2265c837ddf8cf63b98ab7ea87f5dfb"}],"requestContractHash":"95e512a2da60befbcb7c9611cf0f2827a6efe6be98736d2babbb68d6f3a2d7db","namedGateEvidenceReceiptVersion":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T23:10:43.513056+00:00","proof_gate":"request_contract_repository_verified","source_sha":"6d15cb7bb2265c837ddf8cf63b98ab7ea87f5dfb","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:3cedb475-18cd-474a-9589-4b3e0ec68116:request-contract-repository:95e512a2da60befbcb7c9611cf0f2827a6efe6be98736d2babbb68d6f3a2d7db:6d15cb7bb2265c837ddf8cf63b98ab7ea87f5dfb","mission_step_id":"91a8f74d-ff1f-42a7-92b3-9cc16282c85b","command_center_event_id":"3cedb475-18cd-474a-9589-4b3e0ec68116"},{"id":"a0c52fc7-d7f2-487e-8356-16dca66fcdb3","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-49c32e2e6e7a","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.113-orphan-cache-absence-proof","prNumber":2449,"terminal":false,"missionId":"49c32e2e-6e7a-4f88-946d-9da57907e98b","operation":"execute_mission","proofGate":"repair_mission_auto_progress_authorization_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4001,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":5472,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":472,"ledgerReconcileMs":0,"lineageReconcileMs":5000,"resolvePreflightMs":5472,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":472,"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":"49c32e2e-6e7a-4f88-946d-9da57907e98b"},"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":1491,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T00:00:12.792018+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"2449","receipt_type":"execute_mission","idempotency_key":"mission:49c32e2e-6e7a-4f88-946d-9da57907e98b:execute_mission:repair_mission_auto_progress_authorization_retryable:current-generation","mission_step_id":"b1b7d9f7-d295-4686-8af3-8e66ccf32240","command_center_event_id":"49c32e2e-6e7a-4f88-946d-9da57907e98b"},{"id":"a0c58e9d-506a-4bf5-ae55-48986ed83932","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"a1c9a5e5cd4e0f8091ea47cbb4b42f67e9619762","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"a1c9a5e5cd4e0f8091ea47cbb4b42f67e9619762","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":"6ea556df49ed75ea57acc014096def2a83ee4f9daf892a09c93eb4a3b64e2c7b","forgejoWorkflowProof":{"runId":11970,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"a1c9a5e5cd4e0f8091ea47cbb4b42f67e9619762","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-a1c9a5e5cd4e0f8091ea47cbb4b42f67e9619762","compareStatus":"target_job_success_runtime_verified","workflowRunId":11970,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.286-cursor-readonly-mcp-bootstrap","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T10:47:10.154413+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"a1c9a5e5cd4e0f8091ea47cbb4b42f67e9619762","external_id":"forgejo-main-a1c9a5e5cd4e","receipt_type":"canonical_release_status","idempotency_key":"mission:bb4d374d-728a-4fe3-9d4d-91250d3a2a9e:forgejo-release-status:a1c9a5e5cd4e0f8091ea47cbb4b42f67e9619762:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"e621acf8-4377-418f-a1ca-66ec2aa1148e","command_center_event_id":"bb4d374d-728a-4fe3-9d4d-91250d3a2a9e"},{"id":"a0c5c689-8725-4de3-a673-e10ec2fb4230","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-16789285ef60","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":7441,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":74372,"firstUsefulResultAt":"2026-10-05T21:50:48.346Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":5072,"terminal":false,"missionId":"16789285-ef60-4aee-9e61-4d9a60b5053c","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6366,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2079,"approvedPlanMs":872,"missionSetupMs":263,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":263,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":263,"repositoryMutationMs":3408,"repositoryProviderMs":3408,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2171,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":263,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1237},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"16789285-ef60-4aee-9e61-4d9a60b5053c"},"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":1534,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T21:52:11.116179+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5072","receipt_type":"execute_mission","idempotency_key":"mission:16789285-ef60-4aee-9e61-4d9a60b5053c:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"37bab77f-2b22-403f-a518-ea9649181dec","command_center_event_id":"16789285-ef60-4aee-9e61-4d9a60b5053c"},{"id":"a0c6f2b3-20ea-480c-9216-cf82885e4893","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Eliminate the recurring Forgejo repository failure class: remove duplicate/parallel provider pressure, make diagnostics and mutation reconciliation sequential and bounded, adopt writes that committed after transport timeout instead of stranding branches, preserve exact-head Gate/merge/release safety, ship only cc-execution, prove it live, and re-freeze the control plane.","wordingChanged":false,"canonicalIntent":"Eliminate the recurring Forgejo repository failure class: remove duplicate/parallel provider pressure, make diagnostics and mutation reconciliation sequential and bounded, adopt writes that committed after transport timeout instead of stranding branches, preserve exact-head Gate/merge/release safety, ship only cc-execution, prove it live, and re-freeze the control plane.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"sequential-provider","statement":"Ordinary Forgejo GET handling is strictly sequential with no duplicate hedged requests; retries start only after an actual failed attempt, and successful slow reads do not trigger provider brownout.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"cron-pressure","statement":"The minute self-heal and reliability canary path produces no parallel Forgejo API fanout and no routine Actions-list health probe; the canary reuses the authenticated self-heal main-branch proof.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"diagnostic-pressure","statement":"PR readiness, mission reconciliation, merge-queue diagnostics, queue hygiene, repository inspection, and scoped-patch source reads do not fan out concurrent Forgejo requests; public Actions-run results are compact and sanitized.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"ambiguous-write-reconciliation","statement":"Scoped repository writes that commit after the transport deadline receive a fresh bounded post-timeout exact-state reconciliation window and continue on the existing pull request without blind write retry or orphan-branch misclassification.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"policy-alignment","statement":"Control-plane capability policy matches the implemented sequential read, retry, brownout, compact-operator, and post-timeout reconciliation behavior.","proofConditionIds":["repo-proof"]},{"id":"live","statement":"The repair passes KnockLaunch Gate, squash-merges to protected main, releases only cc-execution, and the live runtime identifies the merged repair source.","proofConditionIds":["release-proof","runtime-proof"]}],"objective":"Eliminate the recurring Forgejo repository failure class: remove duplicate/parallel provider pressure, make diagnostics and mutation reconciliation sequential and bounded, adopt writes that committed after transport timeout instead of stranding branches, preserve exact-head Gate/merge/release safety, ship only cc-execution, prove it live, and re-freeze the control plane.","constraints":[{"id":"safety","statement":"Authentication, protected-main, exact-head Gate, merge, queue, and fail-closed release safety are not weakened.","proofConditionIds":["repo-proof","release-proof"]},{"id":"scope","statement":"Only the cc-execution production target is released for this control-plane repair.","proofConditionIds":["release-proof"]},{"id":"no-restart","statement":"Forgejo host restart is not used as the repair for this failure class.","proofConditionIds":["runtime-proof"]},{"id":"one-lineage","statement":"Continue with the existing ai/forgejo-read-pressure-reliability-20260910 branch and the single pull request already created by the owner; do not create a replacement PR or branch.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Current protected main contains the complete shared Forgejo repository reliability repair and its regression guard.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release-proof","kind":"release","claim":"Canonical release succeeds for cc-execution only from the merged repair source.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]},{"id":"runtime-proof","kind":"runtime","claim":"Live cc-execution source SHA matches the merged repair and bounded representative Forgejo reads complete without the prior timeout/orphan behavior.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"d56fc566fb9b4cc77aa48682e7feaef8aaf267d5473a18607f3cddb6267e87bb","requestContractRevision":4,"previousRequestContractHash":"c601cee9522dad9523d3dc8d9a3d6b76574f7123cd198cb158dc915eef14819f"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T06:53:54.752514+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:a04714d8-6261-46e9-8dd7-7ed0436221b2:request-contract:d56fc566fb9b4cc77aa48682e7feaef8aaf267d5473a18607f3cddb6267e87bb","mission_step_id":"fb1162de-d72c-4815-b911-56a123010da8","command_center_event_id":"a04714d8-6261-46e9-8dd7-7ed0436221b2"},{"id":"a0c6fb35-5031-4eab-ac4b-9dd1dd6e6ebe","source":"forgejo","status":"waiting","payload":{"branch":"ai/ms-lawn-barber-shell-contract-20260904","prNumber":1764,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"9d170db7b40a491305c5186a8718a3fdd20c5845","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"b565f644-6d3c-4b61-97d6-f91a06dae0ec","created_at":"2026-09-04T22:49:39.819443+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9d170db7b40a491305c5186a8718a3fdd20c5845","external_id":"1764","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:1f1117c0-e6f7-4b59-9a06-06e7cfb79814:merged-pr:1764:9d170db7b40a491305c5186a8718a3fdd20c5845","mission_step_id":"8e53232b-489e-4355-a62f-2a60097fdff8","command_center_event_id":"1f1117c0-e6f7-4b59-9a06-06e7cfb79814"},{"id":"a0c7b4d2-f6ec-4ba7-9d28-6c8f7d95ac01","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-edge-production/live":"success"},"mainSha":"ae22616f345c5f7a05d69e28c49c8441ff264ce3","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"ae22616f345c5f7a05d69e28c49c8441ff264ce3","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-google-drive-media"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"success"},"requestContractHash":"37a649d7c43748433a034497e5895fe11eafce398c7d84714386eb103241a8bc","forgejoWorkflowProof":{"runId":12802,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T01:04:11.774904+00:00","proof_gate":"canonical_release_pending","source_sha":"ae22616f345c5f7a05d69e28c49c8441ff264ce3","external_id":"forgejo-main-ae22616f345c","receipt_type":"canonical_release_status","idempotency_key":"mission:05d05300-de6c-4aac-89f8-b03f29ac6802:forgejo-release-status:ae22616f345c5f7a05d69e28c49c8441ff264ce3:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=success|frontend-cloudflare/live=pending","mission_step_id":"fbb24bc2-9771-4109-9aaa-1c5796c64251","command_center_event_id":"05d05300-de6c-4aac-89f8-b03f29ac6802"},{"id":"a0c7d49a-1c3f-4d24-8d28-b395123390f7","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":"CONTINUE EXISTING GREEN PR #5237 NOW. Gate is success on head ef89e8829bb46aa1681f204b66e9a5779b8a5169. Do not mutate source and do not create another PR. Squash merge #5237 into main, release cc-execution if required by the diff, and verify live runtime sourceSha equals the merged main SHA.","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":"CONTINUE EXISTING GREEN PR #5237 NOW. Gate is success on head ef89e8829bb46aa1681f204b66e9a5779b8a5169. Do not mutate source and do not create another PR. Squash merge #5237 into main, release cc-execution if required by the diff, and verify live runtime sourceSha equals the merged main SHA.","wordingChanged":false,"canonicalIntent":"CONTINUE EXISTING GREEN PR #5237 NOW. Gate is success on head ef89e8829bb46aa1681f204b66e9a5779b8a5169. Do not mutate source and do not create another PR. Squash merge #5237 into main, release cc-execution if required by the diff, and verify live runtime sourceSha equals the merged main SHA.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"CONTINUE EXISTING GREEN PR #5237 NOW. Gate is success on head ef89e8829bb46aa1681f204b66e9a5779b8a5169. Do not mutate source and do not create another PR. Squash merge #5237 into main, release cc-execution if required by the diff, and verify live runtime sourceSha equals the merged main SHA.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"CONTINUE EXISTING GREEN PR #5237 NOW. Gate is success on head ef89e8829bb46aa1681f204b66e9a5779b8a5169. Do not mutate source and do not create another PR. Squash merge #5237 into main, release cc-execution if required by the diff, and verify live runtime sourceSha equals the merged main SHA.","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":"high","blastRadius":"sensitive"},"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":"deadline_sensitive","deadlineSignals":["by the diff"],"deadlineExplicit":true},"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"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"serialize_overlapping_mutations","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop","mobile"],"behavioral":false,"visualProofScope":"none"},"dependencies":{"requiredDomains":["backend_runtime","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"CONTINUE EXISTING GREEN PR #5237 NOW. Gate is success on head ef89e8829bb46aa1681f204b66e9a5779b8a5169. Do not mutate source and do not create another PR. Squash merge #5237 into main, release cc-execution if required by the diff, and verify live runtime sourceSha equals the merged main SHA.","canonicalIntent":"CONTINUE EXISTING GREEN PR #5237 NOW. Gate is success on head ef89e8829bb46aa1681f204b66e9a5779b8a5169. Do not mutate source and do not create another PR. Squash merge #5237 into main, release cc-execution if required by the diff, and verify live runtime sourceSha equals the merged main SHA.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"CONTINUE EXISTING GREEN PR #5237 NOW. Gate is success on head ef89e8829bb46aa1681f204b66e9a5779b8a5169. Do not mutate source and do not create another PR. Squash merge #5237 into main, release cc-execution if required by the diff, and verify live runtime sourceSha equals the merged main SHA.","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":"CONTINUE-EXISTING-GREEN-PR-5237-NOW.-Gate-is-success-on-head-ef89e8829bb46aa1681f204b66e9a5779b8a516","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":"c5b62cf31a26799718b449c5cf155a4e49aa5b29a1c0e84bb4939ef0a8ba1a64","requestContractRevision":4,"previousRequestContractHash":"0634e51a2bf75dcf67804c678e520bfc6e55d913a337883e5a5ed7251c7daea1"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:58:52.392841+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:8c8c3643-ff05-4de8-9f6d-158b9593a594:request-contract:c5b62cf31a26799718b449c5cf155a4e49aa5b29a1c0e84bb4939ef0a8ba1a64","mission_step_id":"171ababb-8946-4f7b-928d-1efac1393194","command_center_event_id":"8c8c3643-ff05-4de8-9f6d-158b9593a594"},{"id":"a0c9a440-efbd-4984-bc70-6047b2c8327c","source":"cc-execution","status":"recorded","payload":{"objective":"Frontend-only Big Papi's Today page redesign. On /big-papis/today, make new/pending event opportunities the dominant first-screen hero when present: place them at the very top, visually large and impossible to miss, with tasteful attention animation/motion, clear event/customer/date/time/location/guest-count context, and obvious owner actions. Rebalance the rest of Today below that hero so it reads as prioritized 'what needs attention now' rather than equal-weight cards. Remove the cream/beige palette from this route and replace it with the existing dark/premium Big Papi/KNOCKLAUNCH visual language. Keep motion premium, restrained, and accessible (respect reduced-motion). Do not change backend/data/auth/runtime behavior. Do not touch the separate Zoho duplicate-opportunity dedupe repair. Use current Forgejo main, one fresh ai/* branch, one PR, KnockLaunch Gate, squash merge, deploy frontend only to Cloudflare, and verify production source/runtime without Visual Witness.","tenantRef":"big-papis","receivedAt":"2026-08-19T21:18:25.088Z","fingerprint":"c55d8540ac1ad1580c894ef665a468e19cc492535031c9661ce0576a8ee2a99c","workstreamRef":"bigpapis","conversationId":null,"canonicalBranch":"ai/big-papis-premium-ops-20260818","requestedBranch":null,"conversationContext":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-19T21:18:25.681058+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:e3ce05a6-7c59-4211-9158-5ee5f40c794e:tenant-workstream-contribution:c55d8540ac1ad1580c894ef665a468e19cc492535031c9661ce0576a8ee2a99c","mission_step_id":"f10144c1-a8f5-4efd-8bca-9f449a1ce2cc","command_center_event_id":"e3ce05a6-7c59-4211-9158-5ee5f40c794e"},{"id":"a0ca1ede-e601-40b9-b9b3-67d1a649b08a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-mtkak39j","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":6346,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1436,"terminal":false,"missionId":"93ef9710-4f6e-4f93-a3c2-62291941689b","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":7082,"prReadinessMs":3222,"approvedPlanMs":2966,"missionSetupMs":4780,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"93ef9710-4f6e-4f93-a3c2-62291941689b"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1034,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T16:14:28.846245+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1436","receipt_type":"execute_mission","idempotency_key":"mission:93ef9710-4f6e-4f93-a3c2-62291941689b:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"4ae2863d-f169-4ba3-85ad-5d95e9114436","command_center_event_id":"93ef9710-4f6e-4f93-a3c2-62291941689b"},{"id":"a0cc89f3-d8f5-4230-9c6f-9b3cf5769f4d","source":"forgejo","status":"verified","payload":{"branch":"ai/live-edit-direct-click-repair","prNumber":274,"nextAction":null,"mergeCommitSha":"c02f9621202f0d9860e75ece6cc1600e188d929c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-16T18:11:48.330948+00:00","proof_gate":"merged_pr_deleted_branch_is_terminal_source_lineage","source_sha":"c02f9621202f0d9860e75ece6cc1600e188d929c","external_id":"274","receipt_type":"source_lineage_merged_branch_closed","idempotency_key":"mission:8a17c27c-7dd2-4f1b-8238-509062f69947:merged-pr:274:branch-deleted","mission_step_id":"3733bcc4-6180-449b-9893-b8d59c8037e1","command_center_event_id":"8a17c27c-7dd2-4f1b-8238-509062f69947"},{"id":"a0cd21f7-caad-4d8f-9989-2b207c9fc4c2","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"https://app.knocklaunch.app/big-papis/owner/event","branch":"ai/objective-first-repair-19fe69481eea","writes":[],"patches":[],"approved":true,"missionId":"19fe6948-1eea-42ee-bd9e-746cc9e648ef","objective":"Make the owner-confirmed in-app contextual/workflow header contract sticky when it reaches the top of the application viewport, without affecting global logo/search/MODES chrome or ordinary titles. Apply the platform contract through the Big Papi application-family selector used by these contextual headers.","repository":"noel/KnockLaunchOS","ownerApproved":true,"anchored_edits":[{"path":"src/styles/bigPapisApplicationFamily.css","anchor":"body.kl-big-papis-app-family .kl-responsive-tenant-runtime [data-app-header],body.kl-big-papis-app-family .kl-responsive-tenant-runtime [data-sticky-header],body.kl-big-papis-app-family .kl-responsive-tenant-runtime header.sticky{position:sticky;top:var(--comm-banner-h,0px);z-index:40;background:color-mix(in srgb,#06111d 94%,var(--bp-app-accent) 6%);backdrop-filter:blur(18px);isolation:isolate}","replacement":"body.kl-big-papis-app-family .kl-responsive-tenant-runtime [data-sticky-header=\"workflow\"],body.kl-big-papis-app-family .kl-responsive-tenant-runtime [data-app-context-header=\"true\"]{position:sticky;top:0;z-index:40;background:color-mix(in srgb,#06111d 96%,var(--bp-app-accent) 4%);backdrop-filter:blur(18px);isolation:isolate}"}],"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"f27c8d4cc2f25fc39a583933f1d78c7de293d10e15d18762f00e34cad764ee74","replayCount":0,"serializedBytes":1503},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T01:47:40.87729+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:19fe6948-1eea-42ee-bd9e-746cc9e648ef:repository-mutation-intent:f27c8d4cc2f25fc39a583933f1d78c7de293d10e15d18762f00e34cad764ee74:0","mission_step_id":"94061270-789c-46f5-9420-94f21457f3d5","command_center_event_id":"19fe6948-1eea-42ee-bd9e-746cc9e648ef"},{"id":"a0cdeb19-df5d-4cfe-bbbc-75f44aad40e5","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mcp.js"],"reason":"Owner-authorized queue backlog status wiring.","baseSha":"7cf55dcf69586cd57ac3a626f3b82a87e6e10a5c","issuedAt":1790642220103,"expiresAt":1790642400103,"missionId":"0b63a19b-e0df-4284-8cea-682c4ae12955","authorizationId":"cc839793-c2c3-4861-9d74-0da82ba5ab83","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T00:37:00.548442+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"7cf55dcf69586cd57ac3a626f3b82a87e6e10a5c","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:cc839793-c2c3-4861-9d74-0da82ba5ab83","mission_step_id":"eb57fef6-6874-4a50-8f00-7f8223b9fabd","command_center_event_id":"0b63a19b-e0df-4284-8cea-682c4ae12955"},{"id":"a0d0527d-6401-49cd-8ca2-024f6c25388d","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/visual-witness-cloudflare-backup","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1742,"terminal":false,"missionId":"12807ae2-14a2-4831-922e-0a112f4df04d","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"3af216826e158119a9cdff507865741a2fc96c7c","timingsMs":{"prReadinessMs":261,"approvedPlanMs":0,"shipAndProveMs":4444,"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":"12807ae2-14a2-4831-922e-0a112f4df04d"},"performance":null,"deploymentId":"forgejo-main-3af216826e15","workflowRunId":5291,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":793,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T19:31:36.853073+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1742","receipt_type":"automatic_mission_resume","idempotency_key":"mission:12807ae2-14a2-4831-922e-0a112f4df04d:automatic-mission-resume:1742:canonical_release_reconciliation_pending","mission_step_id":"be6afb50-bd9b-46e9-8a7e-d4bd3982d282","command_center_event_id":"12807ae2-14a2-4831-922e-0a112f4df04d"},{"id":"a0d10710-fef6-448d-857d-d553573866b7","source":"cc-execution","status":"recorded","payload":{"objective":"Finish existing PR #2031 exactly at its green Gate head. Do not change source. Squash merge through Forgejo, apply only the affected Supabase migration, and prove public.realtor_transactions has is_demo plus exactly six Curri sample rows marked true with no strongly DEMO-marked Curri row false. No frontend release and no Visual Witness.","tenantRef":"curriproperties","receivedAt":"2026-09-07T02:36:06.946Z","fingerprint":"994b6a9ce6294aa32136bb6e820966ed52b2e04f3ea6e3d1f6cddcf33b2469bd","workstreamRef":"curriproperties","conversationId":null,"canonicalBranch":"ai/realtor-transaction-demo-identity-20260906","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Finish existing PR #2031 exactly at its green Gate head. Do not change source. Squash merge through Forgejo, apply only the affected Supabase migration, and prove public.realtor_transactions has is_demo plus exactly six Curri sample rows marked true with no strongly DEMO-marked Curri row false. No frontend release and no Visual Witness.","wordingChanged":false,"canonicalIntent":"Finish existing PR #2031 exactly at its green Gate head. Do not change source. Squash merge through Forgejo, apply only the affected Supabase migration, and prove public.realtor_transactions has is_demo plus exactly six Curri sample rows marked true with no strongly DEMO-marked Curri row false. No frontend release and no Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Realtor sample transactions have durable is_demo identity in production and Curri's six known sample rows are marked.","proofConditionIds":["proof-merge","proof-db"]}],"objective":"Finish existing PR #2031 exactly at its green Gate head. Do not change source. Squash merge through Forgejo, apply only the affected Supabase migration, and prove public.realtor_transactions has is_demo plus exactly six Curri sample rows marked true with no strongly DEMO-marked Curri row false. No frontend release and no Visual Witness.","constraints":[{"id":"constraint-1","statement":"PR #2031 only; migration release only; preserve records; no Visual Witness.","proofConditionIds":["proof-merge","proof-db"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-merge","kind":"repository","claim":"PR #2031 squash merged to Forgejo main.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-db","kind":"runtime","claim":"Production realtor_transactions has is_demo and exactly six Curri sample rows marked true with no strong DEMO marker conflict.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations"],"requiredReleaseTargets":["migrations"]}],"validationErrors":[]},"requestedBranch":"ai/realtor-transaction-demo-identity-20260906","conversationContext":null,"requestContractHash":"f8782cfe4953264eb6d1a797ca8c3727e110afe02213f2d4eeaa6b04c29c28f3","requestContractRevision":1},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-07T02:36:07.396281+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:3a715ca3-cd33-4820-93e1-5799c931b51f:tenant-workstream-contribution:994b6a9ce6294aa32136bb6e820966ed52b2e04f3ea6e3d1f6cddcf33b2469bd","mission_step_id":null,"command_center_event_id":"3a715ca3-cd33-4820-93e1-5799c931b51f"},{"id":"a0d14e04-3933-4dd0-a818-924f82ac774f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/forgejo-gate-stale-head-fast-exit-20260831","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":4712,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.56.5-premium-motion-source-targets","prNumber":null,"terminal":false,"missionId":"14eee8b9-49ca-45f9-85db-1b9ca4db23af","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":2476,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"14eee8b9-49ca-45f9-85db-1b9ca4db23af"},"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":974,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T14:21:03.504022+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:14eee8b9-49ca-45f9-85db-1b9ca4db23af:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"cef9fd48-9b86-4243-b62d-8af54c28e84c","command_center_event_id":"14eee8b9-49ca-45f9-85db-1b9ca4db23af"},{"id":"a0d3974d-17a5-4477-8240-12be260bd701","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/proposal-layer-studio-20260903-v2","reason":null,"status":"complete","metrics":{"receiptBytes":20855,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.5-merge-queue-operators","prNumber":1578,"terminal":false,"missionId":"dcdb72d8-d27f-4a95-a232-8824c0787a1d","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"handlerMs":13718,"missionSetupMs":1381},"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"dcdb72d8-d27f-4a95-a232-8824c0787a1d"},"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":2123,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-03T17:11:05.420461+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"1578","receipt_type":"execute_mission","idempotency_key":"mission:dcdb72d8-d27f-4a95-a232-8824c0787a1d:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"f6baeb22-9297-45ae-8787-551abd4af054","command_center_event_id":"dcdb72d8-d27f-4a95-a232-8824c0787a1d"},{"id":"a0d81c33-f907-47c3-af07-29938e4e1a69","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same PR #2059 after its refreshed exact-head Gate was queued. Do not mutate source or create replacement work. When KnockLaunch Gate on head 7381c19e0472cb78fe9be1b4c1d3d35863583261 is successful, squash merge PR #2059, deploy frontend only through Cloudflare Workers Builds, and complete the existing explicit request contract with live visual proof.","wordingChanged":false,"canonicalIntent":"Continue the same PR #2059 after its refreshed exact-head Gate was queued. Do not mutate source or create replacement work. When KnockLaunch Gate on head 7381c19e0472cb78fe9be1b4c1d3d35863583261 is successful, squash merge PR #2059, deploy frontend only through Cloudflare Workers Builds, and complete the existing explicit request contract with live visual proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-video","statement":"The Demo Studio primary background video shows its full composition within the viewport on the live route without aggressive cropping.","proofConditionIds":["proof-live-route"]},{"id":"outcome-logo","statement":"The Demo Studio start screen shows a large centered KNOCKLAUNCH logo with premium animated aura/orbit/sweep/float/3D motion.","proofConditionIds":["proof-live-route"]},{"id":"outcome-release","statement":"PR #2059 is squash merged and the affected frontend release is live.","proofConditionIds":["proof-merge","proof-release"]}],"objective":"Continue the same PR #2059 after its refreshed exact-head Gate was queued. Do not mutate source or create replacement work. When KnockLaunch Gate on head 7381c19e0472cb78fe9be1b4c1d3d35863583261 is successful, squash merge PR #2059, deploy frontend only through Cloudflare Workers Builds, and complete the existing explicit request contract with live visual proof.","constraints":[{"id":"constraint-1","statement":"Do not rebuild or replace the existing dark green lightning video asset.","proofConditionIds":["proof-merge","proof-release"]},{"id":"constraint-2","statement":"Do not change backend, database, auth, or demo behavior.","proofConditionIds":["proof-merge","proof-release"]},{"id":"constraint-3","statement":"Do not create replacement branch or PR.","proofConditionIds":["proof-merge","proof-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-merge","kind":"repository","claim":"PR #2059 is squash merged to protected main from its refreshed green head.","route":"/demo?mode=applications&app=roof-estimator","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-release","kind":"runtime","claim":"The affected frontend release for the merge is deployed through Cloudflare Workers Builds.","route":"/demo?mode=applications&app=roof-estimator","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"proof-live-route","kind":"visual","claim":"On /demo?mode=applications&app=roof-estimator, the full video composition is visible and the large centered logo uses premium motion/effects.","route":"/demo?mode=applications&app=roof-estimator","roleRef":null,"userRef":null,"required":true,"expectedText":"Show us your business.","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"89c6cb7ce0ee12d605732b986ccbead30844dec2e3f1a6ea41f179a482a39c28","requestContractRevision":4,"previousRequestContractHash":"e52f601b09e9f02ba44a26aaff52269de3592c0b831fa43771e88dea09f4779b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T13:03:28.672401+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:fbcf6e36-2854-4b29-a04f-1ffa70fe241e:request-contract:89c6cb7ce0ee12d605732b986ccbead30844dec2e3f1a6ea41f179a482a39c28","mission_step_id":"d86e6d16-050e-46e4-8c64-695a5e507ede","command_center_event_id":"fbcf6e36-2854-4b29-a04f-1ffa70fe241e"},{"id":"a0dc3123-5d85-4d5d-9800-d3b0e146980b","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/321-public-page-humanize-20260901","reason":"orphaned_branch_recovery_requires_exact_applied_state:ai/321-public-page-humanize-20260901","status":"blocked","metrics":{"receiptBytes":11803,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":null,"terminal":false,"missionId":"702d7282-6d14-4abe-a273-be6b852169ea","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":428,"prReadinessMs":0,"approvedPlanMs":428,"missionSetupMs":1936,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"702d7282-6d14-4abe-a273-be6b852169ea"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1094,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-01T21:38:59.047518+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:702d7282-6d14-4abe-a273-be6b852169ea:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"b67c5da4-60b0-4e0d-9e85-2192b122b936","command_center_event_id":"702d7282-6d14-4abe-a273-be6b852169ea"},{"id":"a0deb1a7-f337-4a9d-8c6a-f0ce3395881d","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"30f1adacfd7f67528f9cd6fe5ea91a93d52a5e79","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"30f1adacfd7f67528f9cd6fe5ea91a93d52a5e79","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1980","runId":1980,"status":"success","sourceSha":"30f1adacfd7f67528f9cd6fe5ea91a93d52a5e79","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-21T14:41:11.493847+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"30f1adacfd7f67528f9cd6fe5ea91a93d52a5e79","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:02ad80ad-ec95-4a73-8cc3-7479dc01bc82:forgejo-release-status:30f1adacfd7f67528f9cd6fe5ea91a93d52a5e79:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"25dc9148-dd09-42c0-8978-dd805f117608","command_center_event_id":"02ad80ad-ec95-4a73-8cc3-7479dc01bc82"},{"id":"a0e03d60-e352-456b-b921-08181438f551","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml"],"reason":"Scoped repair to the canonical Gate self-classifier after PR #3376 proved unchanged diff context can falsely trigger specialized QA. Change only the exact workflow path and re-freeze after merge.","baseSha":"08ed82dce9d4b8ad27b9cae5daf1da9178e5f30f","issuedAt":1790035220792,"expiresAt":1790035400792,"missionId":"444a676b-98d6-4f6d-a795-1b8aeab66566","authorizationId":"ed47b9ea-6776-4342-b7cf-6e4be95a5a43","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T00:00:21.226763+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"08ed82dce9d4b8ad27b9cae5daf1da9178e5f30f","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:ed47b9ea-6776-4342-b7cf-6e4be95a5a43","mission_step_id":"eab91bba-bd81-4d0d-be3d-eb275924bbf1","command_center_event_id":"444a676b-98d6-4f6d-a795-1b8aeab66566"},{"id":"a0e0bc12-2083-4b0e-8a05-78b3272dfa78","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"The refreshed exact-head KnockLaunch Gate passed for 4276a87fca4028c0d4bffc245d5c54b8e7534d30. Continue this same mission: squash merge PR #1418 through Forgejo, release frontend only from the resulting current main, and prove the frontend production release succeeds while preserving the Settings Connections repair from PR #1419. Do not create or mutate any other source.","wordingChanged":false,"canonicalIntent":"The refreshed exact-head KnockLaunch Gate passed for 4276a87fca4028c0d4bffc245d5c54b8e7534d30. Continue this same mission: squash merge PR #1418 through Forgejo, release frontend only from the resulting current main, and prove the frontend production release succeeds while preserving the Settings Connections repair from PR #1419. Do not create or mutate any other source.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-release","statement":"Frontend production builds and releases successfully from current main after the existing PR #1418 Mapbox worker import fix is merged.","proofConditionIds":["proof-release"]}],"objective":"The refreshed exact-head KnockLaunch Gate passed for 4276a87fca4028c0d4bffc245d5c54b8e7534d30. Continue this same mission: squash merge PR #1418 through Forgejo, release frontend only from the resulting current main, and prove the frontend production release succeeds while preserving the Settings Connections repair from PR #1419. Do not create or mutate any other source.","constraints":[{"id":"constraint-existing-pr","statement":"Reuse PR #1418 and do not create duplicate Mapbox repair work.","proofConditionIds":["proof-release"]},{"id":"constraint-preserve-connections","statement":"Preserve the already-merged Settings Connections routing repair from PR #1419.","proofConditionIds":["proof-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-release","kind":"runtime","claim":"The frontend release succeeds from current main containing the existing Mapbox repair and the Settings Connections routing repair.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestContractHash":"3fa3db8db67c38c3eb528c3c433de0e8b56de643686a945bbb7f955f236f2381","requestContractRevision":5,"previousRequestContractHash":"56f69f6108576904daa377dbb7201e11834efaacf1a1e4560fbd0166ee5cd2a2"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T13:24:47.811666+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:4404def7-31ba-45c2-9a75-7bfc3c09a9d6:request-contract-revision:5:3fa3db8db67c38c3eb528c3c433de0e8b56de643686a945bbb7f955f236f2381","mission_step_id":"059a629a-6401-48fa-8cf9-ecd5c555ed36","command_center_event_id":"4404def7-31ba-45c2-9a75-7bfc3c09a9d6"},{"id":"a0e29dc9-ef7d-4345-9f39-ad15d47c9fff","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-big-papi-premium-proposal","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.65-repository-proof-reconciliation","prNumber":1909,"terminal":false,"missionId":"a78f2be4-9861-4ff1-a240-e05dd421762b","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6507,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3000,"approvedPlanMs":0,"missionSetupMs":1285,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":396,"ledgerReconcileMs":0,"lineageReconcileMs":889,"resolvePreflightMs":1285,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":396,"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":"a78f2be4-9861-4ff1-a240-e05dd421762b"},"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":1547,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T02:04:34.860554+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1909","receipt_type":"execute_mission","idempotency_key":"mission:a78f2be4-9861-4ff1-a240-e05dd421762b:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"fbda3d6f-a1d1-4675-a899-c843f6ef2872","command_center_event_id":"a78f2be4-9861-4ff1-a240-e05dd421762b"},{"id":"a0e56a04-a336-4ad5-b370-e272249a33cd","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/bound-release-read-latency-20260825","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":7979,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":6,"ownerInterruptionCount":0},"version":"1.50.35-defer-existing-pr-refresh","prNumber":737,"terminal":false,"missionId":"d237f2e2-adc5-4a51-b0ea-ea6b037070c6","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"35953e3b352622af274c040eadd1d3c897424f40","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"d237f2e2-adc5-4a51-b0ea-ea6b037070c6"},"performance":null,"deploymentId":"forgejo-main-35953e3b3526","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":5156,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T11:33:19.291117+00:00","proof_gate":"canonical_release_dispatched","source_sha":"35953e3b352622af274c040eadd1d3c897424f40","external_id":"forgejo-main-35953e3b3526","receipt_type":"execute_mission","idempotency_key":"mission:d237f2e2-adc5-4a51-b0ea-ea6b037070c6:execute_mission:canonical_release_dispatched","mission_step_id":"2a9c2cfd-44da-48ca-8667-532dd9295e2d","command_center_event_id":"d237f2e2-adc5-4a51-b0ea-ea6b037070c6"},{"id":"a0e976d8-7db3-4eae-a82c-5c6adc70d5bf","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.64.90-owner-contract-autocompile","prNumber":null,"terminal":false,"missionId":"695431d3-459e-434c-bf9e-ba302beffcfb","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2820,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":2151,"providerAuthMs":0,"ledgerPrepareMs":2151,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":2151,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":2151,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"695431d3-459e-434c-bf9e-ba302beffcfb"},"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":1877,"likelyAffectedFiles":["src/components/ui/sonner.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T10:08:54.56339+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:695431d3-459e-434c-bf9e-ba302beffcfb:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"3164eb28-7f26-46c5-bff8-bd00102ff085","command_center_event_id":"695431d3-459e-434c-bf9e-ba302beffcfb"},{"id":"a0ec0ce2-1c4b-4d88-a0fa-61f296f655e6","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ba8efaa93427","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.66-repair-generation-continuation","prNumber":null,"terminal":false,"missionId":"ba8efaa9-3427-4b1f-a213-ee48ce9f9a4b","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":17,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":307,"providerAuthMs":0,"ledgerPrepareMs":307,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":307,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":307,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"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":"ba8efaa9-3427-4b1f-a213-ee48ce9f9a4b"},"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":6560,"likelyAffectedFiles":["scripts/visual-witness-hosted-runner/src/operator-session-broker.mjs","scripts/visual-witness-hosted-runner/src/bootstrap-encore-proof.mjs","scripts/visual-witness-hosted-runner/src/bootstrap-free.mjs","scripts/visual-witness-hosted-runner/src/bootstrap-stable.mjs","scripts/visual-witness-hosted-runner/virtual-witness-operating-contract.json","scripts/visual-witness-hosted-runner/RELEASE_TRIGGER.md","scripts/cloudflare-native-version-deploy.mjs","scripts/cloudflare-sync-worker-routes.mjs","config/cloudflare-native-frontend-build.json","scripts/visual-witness-hosted-runner/contracts/sce-field-intelligence-real-user-canary.json","scripts/visual-witness-hosted-runner/Dockerfile","scripts/visual-witness-hosted-runner/package.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T14:20:56.894855+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ba8efaa9-3427-4b1f-a213-ee48ce9f9a4b:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"8bad2144-d8a6-4b0f-ad12-c1b2db42fb4d","command_center_event_id":"ba8efaa9-3427-4b1f-a213-ee48ce9f9a4b"},{"id":"a0ee1a9b-2a58-491c-8628-a64494c4b66f","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/control-plane-hardening","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.2-autonomous-forgejo-merge-supervisor","prNumber":null,"terminal":false,"missionId":"a3ece893-d4f8-40ad-81eb-f82594d4365d","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":"a3ece893-d4f8-40ad-81eb-f82594d4365d"},"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":7634,"likelyAffectedFiles":["src/__tests__/contracts/command-center-mission-control.test.ts",".forgejo/workflows/knocklaunch.yml","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/command-center-mission-preflight.test.ts","src/components/admin/TenantUserCommandCenters.tsx","src/components/GlobalCommandPalette.tsx","src/__tests__/contracts/command-center-event-runtime.test.ts","src/__tests__/contracts/command-center-zero-uuid.test.ts","src/__tests__/godmode/command-center.test.ts","src/__tests__/godmode/GodModeCommandConsole.test.tsx","scripts/validate-command-center-contracts.mjs","config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T12:33:41.73787+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a3ece893-d4f8-40ad-81eb-f82594d4365d:execute_mission:repair_mission_synthesis_ready","mission_step_id":"d8a3ab97-188f-4673-a792-0092ca33bc2a","command_center_event_id":"a3ece893-d4f8-40ad-81eb-f82594d4365d"},{"id":"a0f2b0ef-f175-4cf6-973d-cb8523097669","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"2d0fd66aa229ffc4b65bae1204fd709dc1dab884","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"durable-shape-match","satisfied":false,"statement":"Verified repository receipts match the current request contract whether requestContractHash is exposed at top level or stored in payload.requestContractHash.","proofConditionIds":["source-proof","runtime-proof"]},{"id":"strong-proof-terminalization","satisfied":false,"statement":"A full durable strong named-Gate receipt with payload-only requestContractHash is preferred over an older generic receipt and can satisfy the named Gate proof.","proofConditionIds":["source-proof","runtime-proof"]}],"satisfied":false,"constraints":[{"id":"bounded-scope","satisfied":false,"statement":"Change only repository receipt contract-hash extraction/selection and its regression; no Tenant Standards product behavior, Gate workflow, frontend, data, migrations, auth, storage, providers, or tenant behavior changes.","proofConditionIds":["source-proof"]},{"id":"release-scope","satisfied":true,"statement":"Release only ccExecution.","proofConditionIds":["runtime-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":["source-proof","runtime-proof"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["source-proof","runtime-proof"]}],"contractHash":"dfa6d89360f7a040328a66d362b6b6302a1031761bd5906d981e737149548d3a","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"source-proof","kind":"repository","evidence":{"reason":null,"gateRunId":null,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"ccExecution":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"dfa6d89360f7a040328a66d362b6b6302a1031761bd5906d981e737149548d3a","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"runtime-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"dfa6d89360f7a040328a66d362b6b6302a1031761bd5906d981e737149548d3a"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T04:26:27.607167+00:00","proof_gate":"request_contract_pending","source_sha":"2d0fd66aa229ffc4b65bae1204fd709dc1dab884","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:69f832d5-ddb1-48a8-b430-7020456b04d7:request-contract:dfa6d89360f7a040328a66d362b6b6302a1031761bd5906d981e737149548d3a:2d0fd66aa229ffc4b65bae1204fd709dc1dab884:pending:repository","mission_step_id":"8841a09f-c1ba-46b6-aefb-4fbf0d50d96e","command_center_event_id":"69f832d5-ddb1-48a8-b430-7020456b04d7"},{"id":"a0f32531-b8dc-4e85-8070-a33e39ebc350","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"df8a1f252b027c7893fb6e9ffff5fba7b0cee93c","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"df8a1f252b027c7893fb6e9ffff5fba7b0cee93c","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"2bbecf76369a316652c2cbfd1c1bf55dacd33517f956928930951ef17bf0f391","forgejoWorkflowProof":{"runId":13431,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success"},"targetJobCount":6,"observedTargetStates":{"ccExecution":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"df8a1f252b027c7893fb6e9ffff5fba7b0cee93c","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-df8a1f252b027c7893fb6e9ffff5fba7b0cee93c","compareStatus":"target_job_success_runtime_verified","workflowRunId":13431,"identitySource":"canonical_release_target_job","runtimeVersion":"1.64.21-paul-present-tense-continuation","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T18:41:18.023741+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"df8a1f252b027c7893fb6e9ffff5fba7b0cee93c","external_id":"forgejo-main-df8a1f252b02","receipt_type":"canonical_release_status","idempotency_key":"mission:fd3468a5-c7a5-4d90-94ce-8ea4cd9eaa36:forgejo-release-status:df8a1f252b027c7893fb6e9ffff5fba7b0cee93c:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"cdc59823-6524-4903-aebf-733df7ecedf8","command_center_event_id":"fd3468a5-c7a5-4d90-94ce-8ea4cd9eaa36"},{"id":"a0f4522a-f6e1-416a-b78e-7fc514325f06","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1297fc3ea836","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":97038,"releaseCount":0,"toolCallCount":43,"repeatedCallCount":33,"executorlessWaitMs":2408886,"firstUsefulResultAt":"2026-09-27T05:46:06.727Z","recoveryAttemptCount":27,"ownerInterruptionCount":0},"version":null,"prNumber":3866,"terminal":false,"missionId":"1297fc3e-a836-406c-ae04-a0aa8f124741","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5392,"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":"1297fc3e-a836-406c-ae04-a0aa8f124741"},"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-27T06:08:52.729302+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3866","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1297fc3e-a836-406c-ae04-a0aa8f124741:automatic-mission-resume:3866:repair_mission_pr_ready_retryable","mission_step_id":"9168f9e5-9e14-4d29-8348-80f28a7635a1","command_center_event_id":"1297fc3e-a836-406c-ae04-a0aa8f124741"},{"id":"a0f4f242-1870-4074-988e-e7e69668a2e2","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"a4681a410e6ff54b127b1d12d1d0d1718e4862f5","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"A canonical tenant-scoped Business Artifact Reference primitive exists, proposal is a first-class artifact kind, and proposal client render references adopt it without changing existing proposal records or storage.","proofConditionIds":["proof-repo","proof-production"]}],"satisfied":true,"constraints":[{"id":"constraint-1","satisfied":true,"statement":"No database schema migration, artifact data rewrite, bucket/path migration, or tenant-specific UI redesign in this pass.","proofConditionIds":["proof-repo","proof-production"]},{"id":"constraint-2","satisfied":true,"statement":"Existing proposal client APIs and persisted render_bucket/render_path fields remain backward-compatible and authoritative.","proofConditionIds":["proof-repo","proof-production"]},{"id":"constraint-3","satisfied":true,"statement":"Tenant mismatch must fail closed and existing locator values must be preserved exactly.","proofConditionIds":["proof-repo"]},{"id":"constraint-4","satisfied":true,"statement":"Do not mass-refactor mail, invoices, roof estimates, documents, or photos in this PR.","proofConditionIds":["proof-repo"]}],"contractHash":"fc7bf9b7154d159c1ba4649372149527e4e05a0e87dc8af41192101d830960e7","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repo","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"fc7bf9b7154d159c1ba4649372149527e4e05a0e87dc8af41192101d830960e7","repositoryProofStatus":"verified","repositoryProofSourceSha":"a4681a410e6ff54b127b1d12d1d0d1718e4862f5"},"required":true,"satisfied":true},{"id":"proof-production","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"fc7bf9b7154d159c1ba4649372149527e4e05a0e87dc8af41192101d830960e7"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T00:12:24.472966+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"a4681a410e6ff54b127b1d12d1d0d1718e4862f5","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:49c32e2e-6e7a-4f88-946d-9da57907e98b:request-contract:fc7bf9b7154d159c1ba4649372149527e4e05a0e87dc8af41192101d830960e7:a4681a410e6ff54b127b1d12d1d0d1718e4862f5:verified:","mission_step_id":"ececb8e2-9776-40b2-b514-8a0474a2d85a","command_center_event_id":"49c32e2e-6e7a-4f88-946d-9da57907e98b"},{"id":"a0f565c6-8fdd-4d36-ba88-0d641b4063be","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"353660c30a85b2d5a12eb215c2dff22d4ec27f5e","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"353660c30a85b2d5a12eb215c2dff22d4ec27f5e","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-24T01:04:33.894436+00:00","proof_gate":"canonical_release_pending","source_sha":"353660c30a85b2d5a12eb215c2dff22d4ec27f5e","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:90ab851e-66a2-46b9-92e2-e2615f9217f7:forgejo-release-status:353660c30a85b2d5a12eb215c2dff22d4ec27f5e:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"ab34b465-4b49-46f5-9220-abe89d385a58","command_center_event_id":"90ab851e-66a2-46b9-92e2-e2615f9217f7"},{"id":"a0f5e9ec-2ff8-4ab1-afeb-20131fb45e95","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/command-center-mission-control.test.ts","workers/cc-execution/src/index-mission-control.js"],"reason":"Owner-authorized exact-scope repair so Visual Witness infrastructure failure is retried as infrastructure and never reopens verified product implementation.","baseSha":"29e8402829ab1def798d974d1b568c8e215afe55","issuedAt":1789964810236,"expiresAt":1789964990236,"missionId":"2ddc548e-45c0-46fe-8fc1-1c8ac160e732","authorizationId":"fd6fe2eb-4e93-4ec1-a709-b319d68b576a","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T04:26:50.546145+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"29e8402829ab1def798d974d1b568c8e215afe55","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:fd6fe2eb-4e93-4ec1-a709-b319d68b576a","mission_step_id":"dbdc75c8-9fe7-42cb-b5df-b2c50bcadd39","command_center_event_id":"2ddc548e-45c0-46fe-8fc1-1c8ac160e732"},{"id":"a0f6b61d-df72-4557-a3f1-5a928e950424","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-dd3fe2c877a8","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.292-release-target-parity","prNumber":null,"terminal":false,"missionId":"dd3fe2c8-77a8-417a-b1c4-70430bca5904","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1299,"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":"dd3fe2c8-77a8-417a-b1c4-70430bca5904"},"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":4885,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","scripts/release-event-native-plan.test.mjs","scripts/knocklaunch-console/operator.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T02:35:28.989449+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:dd3fe2c8-77a8-417a-b1c4-70430bca5904:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"94be9e79-3cc4-4cae-a3dd-1020fe7d9639","command_center_event_id":"dd3fe2c8-77a8-417a-b1c4-70430bca5904"},{"id":"a0f6d3c7-db47-4c6c-85be-611f178c5063","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane for this exact corrective test-contract update on existing PR #2247. Update the existing cc-execution regression tests to assert the newly implemented proven-empty orphan cleanup, exact-head race guard, and same-branch atomic recreation semantics. Do not create a new branch or PR; keep PR #2247 and normal control-plane protection afterward.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane for this exact corrective test-contract update on existing PR #2247. Update the existing cc-execution regression tests to assert the newly implemented proven-empty orphan cleanup, exact-head race guard, and same-branch atomic recreation semantics. Do not create a new branch or PR; keep PR #2247 and normal control-plane protection afterward.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Unfreeze the control plane only for this exact repair so no-op or failed mutations cannot create or leave an empty orphan branch and active mission retries reuse the same branch identity.","proofConditionIds":["proof-repository","proof-production"]}],"objective":"Unfreeze the control plane for this exact corrective test-contract update on existing PR #2247. Update the existing cc-execution regression tests to assert the newly implemented proven-empty orphan cleanup, exact-head race guard, and same-branch atomic recreation semantics. Do not create a new branch or PR; keep PR #2247 and normal control-plane protection afterward.","constraints":[{"id":"constraint-1","statement":"Forgejo only; one canonical branch/PR/Gate/merge/release path; never delete unique-work, protected, open-PR, or concurrently advanced branches; normal control-plane protection remains enforced after this exact maintenance mutation.","proofConditionIds":["proof-repository","proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Current Forgejo source and regression coverage prove deferred branch creation, exact-head-guarded proven-empty branch recycling, exact same-branch retry reuse, and fail-closed preservation of protected/open-PR/unique-work/concurrently-advanced branches.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-production","kind":"runtime","claim":"Live cc-execution runtime reports the merged repaired source SHA.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"1e4badd3c1f0754455e742a6e876d0ec334fdf0ca0e9a4eab7e2942cf742fdd3","requestContractRevision":4,"previousRequestContractHash":"a624809c8e0e0118e8b3e44fce7fa54aff962b5e8a59178cae593dc1434fa606"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T17:42:44.40861+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:df2024ae-a7cb-4df9-98f1-336e1c691cbd:request-contract:1e4badd3c1f0754455e742a6e876d0ec334fdf0ca0e9a4eab7e2942cf742fdd3","mission_step_id":"bb041af0-69a4-41c8-a262-080507a0a588","command_center_event_id":"df2024ae-a7cb-4df9-98f1-336e1c691cbd"},{"id":"a0f7fe35-73f5-4a8d-baf1-4fb16bd47dee","source":"cc-execution","status":"waiting","payload":{"model":"@cf/openai/gpt-oss-120b","reason":"inference_returned_no_edits","provider":"cloudflare-workers-ai","latencyMs":11023,"structuredKeys":["edits"]},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-03T23:12:06.648746+00:00","proof_gate":"paul_synthesis_no_edits","source_sha":null,"external_id":null,"receipt_type":"paul_synthesis_diagnostic","idempotency_key":"mission:d6630708-0b54-4507-b300-af7c3ae1a0cd:paul_synthesis_diagnostic:paul_synthesis_no_edits:waiting","mission_step_id":"b723a2fb-80c4-4732-94c1-57ac27aba492","command_center_event_id":"d6630708-0b54-4507-b300-af7c3ae1a0cd"},{"id":"a0f99f0d-5366-4366-b599-a67266789347","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\":\"execute_mission\",\"status\":\"release_reconciliation_pending\",\"proofGate\":\"canonical_release_reconciliation_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-09-29T06:07:23.907169+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-eea0b97d6278\",\"prNumber\":4092,\"sourceSha\":\"0eff641fb3b2ab7ba8a55b650bd7154d744ff19c\",\"deploymentId\":\"forgejo-main-0eff641fb3b2\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:13:06.937531+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:eea0b97d-6278-4545-881c-8011de578424:owner-progress-heartbeat:119376772","mission_step_id":"7a9202a0-ed35-4c79-b2cd-778e776028f9","command_center_event_id":"eea0b97d-6278-4545-881c-8011de578424"},{"id":"a0facb19-f4a3-4d89-b0f6-86c36e1e9c37","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-96c224c39adb","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":45453,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":13775,"firstUsefulResultAt":"2026-09-27T04:31:57.297Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3857,"terminal":false,"missionId":"96c224c3-9adb-40b3-8a67-c8908e874587","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5436,"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":"96c224c3-9adb-40b3-8a67-c8908e874587"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime","visual","interaction"],"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-27T04:32:11.111742+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3857","receipt_type":"automatic_mission_resume","idempotency_key":"mission:96c224c3-9adb-40b3-8a67-c8908e874587:automatic-mission-resume:3857:repair_mission_pr_ready_retryable","mission_step_id":"2c59c392-192d-41dd-a23d-9c9c2cef1658","command_center_event_id":"96c224c3-9adb-40b3-8a67-c8908e874587"},{"id":"a0fb647b-9aa5-4e22-856a-aa6b5054c549","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-d7c6daf22839","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":30180,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":1,"executorlessWaitMs":97798,"firstUsefulResultAt":"2026-10-01T21:04:37.011Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":4412,"terminal":false,"missionId":"d7c6daf2-2839-42cf-9093-92c20624355d","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":"d7c6daf2-2839-42cf-9093-92c20624355d"},"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":1006,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T21:06:20.423107+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"4412","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d7c6daf2-2839-42cf-9093-92c20624355d:automatic-mission-resume:4412:repair_mission_waiting_for_gate","mission_step_id":"ee388ed5-c250-4cdc-93a0-73af304fdb42","command_center_event_id":"d7c6daf2-2839-42cf-9093-92c20624355d"},{"id":"a0fcefd7-e3cb-45f7-b76b-0b2abd976239","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Control plane maintenance continuation: assert the already-applied forgejo_pr_close capability declaration on branch 31d0991c464dad4f6a562ac861edb821afb48c7a idempotently, make no new source change, then create/adopt the single PR and ship it through gate, squash merge, cc-execution release, and live MCP catalog proof.","wordingChanged":false,"canonicalIntent":"Control plane maintenance continuation: assert the already-applied forgejo_pr_close capability declaration on branch 31d0991c464dad4f6a562ac861edb821afb48c7a idempotently, make no new source change, then create/adopt the single PR and ship it through gate, squash merge, cc-execution release, and live MCP catalog proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"close-tool","statement":"Live Command Center MCP catalog exposes forgejo_pr_close and it safely closes only eligible exact PRs without merging or deleting branches.","proofConditionIds":["repo","gate","runtime"]}],"objective":"Control plane maintenance continuation: assert the already-applied forgejo_pr_close capability declaration on branch 31d0991c464dad4f6a562ac861edb821afb48c7a idempotently, make no new source change, then create/adopt the single PR and ship it through gate, squash merge, cc-execution release, and live MCP catalog proof.","constraints":[{"id":"no-source-rewrite","statement":"Do not alter the already-persisted branch state beyond the requested forgejo_pr_close implementation.","proofConditionIds":["repo"]},{"id":"bounded-close","statement":"PR close remains restricted to canonical open unmerged ai/* -> main pull requests with exact-head protection and read-back verification.","proofConditionIds":["repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"The exact existing branch is represented by one Forgejo PR and merges to main.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"gate","kind":"repository","claim":"KnockLaunch Gate passes on the exact PR head.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime","kind":"runtime","claim":"Live cc-execution is deployed from the merge SHA and its MCP catalog publishes forgejo_pr_close.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"ddc3baeb2c203951f75462a8e0f7d9d829332f8438dfc528081fcd9380b01cbd","requestContractRevision":4,"previousRequestContractHash":"0e232dbc7aa2f3cdbec88ef1b8130a8e5ad24c3359234a23eb407752fbf9f758"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T18:12:55.200473+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:a20c365d-749f-442b-9535-cbdd3dcf9fef:request-contract-revision:4:ddc3baeb2c203951f75462a8e0f7d9d829332f8438dfc528081fcd9380b01cbd","mission_step_id":"1a28c287-1021-4eef-b0d3-a89115e68c2a","command_center_event_id":"a20c365d-749f-442b-9535-cbdd3dcf9fef"},{"id":"a0fde308-7a9f-4361-acee-3e62c93bb2bb","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ad5de73cb182","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.128-forgejo-proactive-memory-recovery","prNumber":2661,"terminal":false,"missionId":"ad5de73c-b182-4ad4-b508-41e7955039de","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":27594,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":422,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":422,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":422,"repositoryMutationMs":27594,"repositoryProviderMs":22712,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":12318,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":422,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":10394},"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":"ad5de73c-b182-4ad4-b508-41e7955039de"},"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":4674,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T17:21:29.91924+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2661","receipt_type":"execute_mission","idempotency_key":"mission:ad5de73c-b182-4ad4-b508-41e7955039de:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"64fee3fa-8139-4430-a3d8-7bb3c7cea921","command_center_event_id":"ad5de73c-b182-4ad4-b508-41e7955039de"},{"id":"a0fe231b-dce8-4c52-b696-9086af2f4c12","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"1439e172b10122b9be66f171d6a45efd29780eb8","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"1439e172b10122b9be66f171d6a45efd29780eb8","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"e358c885c9e1547df4e47e97926ccd253b245ca83c2b3051de704fa9635d5bdd","forgejoWorkflowProof":{"runId":12482,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T11:24:53.678966+00:00","proof_gate":"canonical_release_pending","source_sha":"1439e172b10122b9be66f171d6a45efd29780eb8","external_id":"forgejo-main-1439e172b101","receipt_type":"canonical_release_status","idempotency_key":"mission:83e4fbfd-9393-418c-abd7-d8ad1ec62908:forgejo-release-status:1439e172b10122b9be66f171d6a45efd29780eb8:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"bf82d461-69f0-4396-9b85-7b1760b0e30f","command_center_event_id":"83e4fbfd-9393-418c-abd7-d8ad1ec62908"},{"id":"a100c0ea-fda0-4b7f-acde-162656d87b6a","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-ead13e6b624e","writes":[],"patches":[],"version":1,"approved":true,"missionId":"ead13e6b-624e-4093-ae21-ed1dbe024324","objective":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/platform-sidekick-intelligence.js","edits":[{"new_content":"export const PLATFORM_SIDEKICK_INTELLIGENCE_VERSION=\"platform-sidekick-intelligence-v15-readonly-contract\";","old_content":"export const PLATFORM_SIDEKICK_INTELLIGENCE_VERSION=\"platform-sidekick-intelligence-v14-long-horizon-state\";"},{"new_content":"function latestUserMessage(messages=[]){for(let i=(Array.isArray(messages)?messages.length:0)-1;i>=0;i--){if(String(messages[i]?.role||\"\").toLowerCase()===\"user\"&&!/^\\[Tool result/i.test(String(messages[i]?.content||\"\")))return text(messages[i]?.content,12000)}return\"\"}\nfunction readOnlyContractDirective(input={}){const readOnly=input?.readOnly===true||input?.directAnswerRequired===true||input?.objectiveCompilationAllowed===false;const executionExplicit=input?.executionRequested===true;if(!readOnly||executionExplicit)return\"\";return\"Caller read-only contract is active. This turn is a direct-answer/read operation only. Do not compile an objective, create or continue a mutation mission, or propose mutating tools. Status, progress, recap, explanation, and where-are-we phrasing are questions unless the owner separately gives an explicit execution command. Read-only tools may be proposed only when needed to ground the answer. Answer directly from supplied context and live read evidence.\"}","old_content":"function latestUserMessage(messages=[]){for(let i=(Array.isArray(messages)?messages.length:0)-1;i>=0;i--){if(String(messages[i]?.role||\"\").toLowerCase()===\"user\"&&!/^\\[Tool result/i.test(String(messages[i]?.content||\"\")))return text(messages[i]?.content,12000)}return\"\"}"},{"new_content":"function continuationRecoveryDirective(messages){const list=Array.isArray(messages)?messages:[],latest=latestUserMessage(list),continuation=/^(?:continue|keep going|do it|fix it|make it happen|handle it|finish it|ship it)[?.!\\s]*$/i.test(latest);","old_content":"function continuationRecoveryDirective(messages){const list=Array.isArray(messages)?messages:[],latest=latestUserMessage(list),continuation=/^(?:continue|keep going|status|poll|progress|where are we|do it|fix it|make it happen|handle it|finish it|ship it)[?.!\\s]*$/i.test(latest);"},{"new_content":"  const bareContinuation=/^(?:continue|keep going|do it|fix it|make it happen|handle it|finish it|ship it)[?.!\\s]*$/i.test(prompt);","old_content":"  const bareContinuation=/^(?:continue|keep going|status|poll|progress|where are we|do it|fix it|make it happen|handle it|finish it|ship it)[?.!\\s]*$/i.test(prompt);"},{"new_content":"  const g=createInferenceGateway(env,fetchImpl);\n  if(!g.chatAvailable)throw Object.assign(new Error(\"platform_sidekick_intelligence_not_configured\"),{status:503,failureClass:\"prerequisite_required\"});\n  const started=Date.now(),catalog=normalizeTools(input.tools),scope=redact(input.scope||{}),schema=schemaOf(input.responseSchema),structured=input.mode===\"structured\"||Boolean(schema),reasoningProfile=reasoningProfileOf(input,catalog,input.messages,structured),normalized=normalizeMessages(input.messages,reasoningProfile===\"deep\"?96:48),readOnlyDirective=readOnlyContractDirective(input),correctionDirective=correctionRecoveryDirective(normalized),referentDirective=referentRecoveryDirective(normalized),continuationDirective=readOnlyDirective?\"\":continuationRecoveryDirective(normalized),conversationState=conversationStateDirective(normalized,scope),groundingDirectives=[readOnlyDirective,correctionDirective,referentDirective,continuationDirective,conversationState].filter(Boolean),groundedMessages=groundingDirectives.length?[...groundingDirectives.map(content=>({role:\"system\",content})),...normalized]:normalized,baseDecisionMessages=[{role:\"system\",content:system(catalog,scope,structured)},...groundedMessages],candidatePromise=g.decide({messages:baseDecisionMessages,responseSchema:structured?schema:envelope(),reasoningProfile}),plannerPromise=reasoningProfile===\"deep\"?buildDecisionBrief(g,catalog,scope,groundedMessages):Promise.resolve(null),parallel=reasoningProfile===\"deep\"?await Promise.all([plannerPromise,candidatePromise]):[null,await candidatePromise],planner=parallel[0],candidate=parallel[1],candidateIssues=structured?[]:toolArgIssues(catalog,candidate?.decision),groundedRepair=candidateIssues.length?repairGroundedToolDecision(catalog,groundedMessages,candidate?.decision):null,toolRepair=groundedRepair?{...candidate,decision:groundedRepair}:candidateIssues.length?await repairToolDecision(g,catalog,scope,groundedMessages,planner?.brief||null,candidate.decision,candidateIssues):null,selected=toolRepair||candidate,selectedCalls=Array.isArray(selected?.decision?.toolCalls)?selected.decision.toolCalls:[],selectedMessage=text(selected?.decision?.message,12000),criticalCompletionClaim=/\\b(?:done|complete|completed|fixed|merged|deployed|released|verified|live|production|resolved)\\b/i.test(selectedMessage),plannerRisk=Boolean(planner?.brief&&(planner.brief.contradictions?.length||planner.brief.unknowns?.length||Number(planner.brief.confidence)<0.72||/\\b(?:high|critical|material|unsafe|blocked)\\b/i.test(String(planner.brief.risk||\"\")))),referentHeavy=/\\b(?:the first one|the second one|that one|same one|earlier one|previous one|what i meant|what i asked|i already asked|you already know|as i said|as we said)\\b/i.test(latestUserMessage(groundedMessages)),criticRequired=reasoningProfile===\"deep\"&&!structured&&selectedCalls.length===0&&Boolean(planner?.brief)&&(criticalCompletionClaim||plannerRisk||Boolean(correctionDirective)||referentHeavy),critic=criticRequired?await critiqueDecision(g,catalog,scope,groundedMessages,planner.brief,selected.decision):null;","old_content":"  const g=createInferenceGateway(env,fetchImpl);\n  if(!g.chatAvailable)throw Object.assign(new Error(\"platform_sidekick_intelligence_not_configured\"),{status:503,failureClass:\"prerequisite_required\"});\n  const started=Date.now(),catalog=normalizeTools(input.tools),scope=redact(input.scope||{}),schema=schemaOf(input.responseSchema),structured=input.mode===\"structured\"||Boolean(schema),reasoningProfile=reasoningProfileOf(input,catalog,input.messages,structured),normalized=normalizeMessages(input.messages,reasoningProfile===\"deep\"?96:48),correctionDirective=correctionRecoveryDirective(normalized),referentDirective=referentRecoveryDirective(normalized),continuationDirective=continuationRecoveryDirective(normalized),conversationState=conversationStateDirective(normalized,scope),groundingDirectives=[correctionDirective,referentDirective,continuationDirective,conversationState].filter(Boolean),groundedMessages=groundingDirectives.length?[...groundingDirectives.map(content=>({role:\"system\",content})),...normalized]:normalized,baseDecisionMessages=[{role:\"system\",content:system(catalog,scope,structured)},...groundedMessages],candidatePromise=g.decide({messages:baseDecisionMessages,responseSchema:structured?schema:envelope(),reasoningProfile}),plannerPromise=reasoningProfile===\"deep\"?buildDecisionBrief(g,catalog,scope,groundedMessages):Promise.resolve(null),parallel=reasoningProfile===\"deep\"?await Promise.all([plannerPromise,candidatePromise]):[null,await candidatePromise],planner=parallel[0],candidate=parallel[1],candidateIssues=structured?[]:toolArgIssues(catalog,candidate?.decision),groundedRepair=candidateIssues.length?repairGroundedToolDecision(catalog,groundedMessages,candidate?.decision):null,toolRepair=groundedRepair?{...candidate,decision:groundedRepair}:candidateIssues.length?await repairToolDecision(g,catalog,scope,groundedMessages,planner?.brief||null,candidate.decision,candidateIssues):null,selected=toolRepair||candidate,selectedCalls=Array.isArray(selected?.decision?.toolCalls)?selected.decision.toolCalls:[],selectedMessage=text(selected?.decision?.message,12000),criticalCompletionClaim=/\\b(?:done|complete|completed|fixed|merged|deployed|released|verified|live|production|resolved)\\b/i.test(selectedMessage),plannerRisk=Boolean(planner?.brief&&(planner.brief.contradictions?.length||planner.brief.unknowns?.length||Number(planner.brief.confidence)<0.72||/\\b(?:high|critical|material|unsafe|blocked)\\b/i.test(String(planner.brief.risk||\"\")))),referentHeavy=/\\b(?:the first one|the second one|that one|same one|earlier one|previous one|what i meant|what i asked|i already asked|you already know|as i said|as we said)\\b/i.test(latestUserMessage(groundedMessages)),criticRequired=reasoningProfile===\"deep\"&&!structured&&selectedCalls.length===0&&Boolean(planner?.brief)&&(criticalCompletionClaim||plannerRisk||Boolean(correctionDirective)||referentHeavy),critic=criticRequired?await critiqueDecision(g,catalog,scope,groundedMessages,planner.brief,selected.decision):null;"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.64.61-paul-readonly-contract\";","old_content":"export const CC_EXECUTION_VERSION = \"1.64.60-paul-long-horizon-state\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","wordingChanged":false,"canonicalIntent":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"core-readonly","statement":"PAUL's intelligence core explicitly enforces caller read-only/direct-answer/no-objective-compilation semantics.","provenance":{"reason":"Frontend now sends this contract but core currently ignores it.","source":"implementation_evidence","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"status-nonexecution","statement":"status, poll, progress, and where-are-we are no longer treated as execution continuation commands in the intelligence core.","provenance":{"reason":"Current continuation matcher includes them.","source":"implementation_evidence","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"preserve-action","statement":"True continuation/action commands remain actionable.","provenance":{"reason":"Do not break owner shorthand execution.","source":"implementation_constraint","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"objective":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","constraints":[{"id":"mission-freedom","statement":"Preserve provider-neutral Mission Freedom and bounded latency.","provenance":{"reason":"Existing live capability must remain intact.","source":"platform_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"no-witness","statement":"Do not run Visual Witness.","provenance":{"reason":"Standing owner rule.","source":"owner_explicit_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"live","kind":"runtime","claim":"Updated cc-execution runtime and PAUL intelligence are live and production eval remains green.","required":true,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"ead13e6b-624e-4093-ae21-ed1dbe024324","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":{"intent":{"rawUtterance":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","wordingChanged":false,"canonicalIntent":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"core-readonly","statement":"PAUL's intelligence core explicitly enforces caller read-only/direct-answer/no-objective-compilation semantics.","provenance":{"reason":"Frontend now sends this contract but core currently ignores it.","source":"implementation_evidence","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"status-nonexecution","statement":"status, poll, progress, and where-are-we are no longer treated as execution continuation commands in the intelligence core.","provenance":{"reason":"Current continuation matcher includes them.","source":"implementation_evidence","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"preserve-action","statement":"True continuation/action commands remain actionable.","provenance":{"reason":"Do not break owner shorthand execution.","source":"implementation_constraint","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"objective":"Continue improving PAUL by hardening the intelligence core's read-only contract so conversational reads cannot be reinterpreted as execution. Honor caller-supplied readOnly/directAnswerRequired/objectiveCompilationAllowed/executionRequested semantics inside platform-sidekick-intelligence; remove status, poll, progress, and where-are-we from continuation command detection so they remain read-only status questions; keep true continuation commands such as continue, keep going, do it, fix it, make it happen, handle it, finish it, and ship it actionable. Preserve tenant boundaries, tool authorization, Mission Freedom, bounded latency, and existing deep-reasoning behavior. Bump PAUL intelligence/runtime versions, Gate, squash merge, release cc-execution, and prove live with production intelligence eval. Do not run Visual Witness.","constraints":[{"id":"mission-freedom","statement":"Preserve provider-neutral Mission Freedom and bounded latency.","provenance":{"reason":"Existing live capability must remain intact.","source":"platform_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]},{"id":"no-witness","statement":"Do not run Visual Witness.","provenance":{"reason":"Standing owner rule.","source":"owner_explicit_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"live","kind":"runtime","claim":"Updated cc-execution runtime and PAUL intelligence are live and production eval remains green.","required":true,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"841bf5840655d52abf754720a4d5b6634d5607ed1fa40d6c6318cd91cb571222","replayCount":0,"serializedBytes":20243},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T00:34:11.423582+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:ead13e6b-624e-4093-ae21-ed1dbe024324:repository-mutation-intent:841bf5840655d52abf754720a4d5b6634d5607ed1fa40d6c6318cd91cb571222:0","mission_step_id":"49e716bc-5cac-4634-8bff-915a0266aa06","command_center_event_id":"ead13e6b-624e-4093-ae21-ed1dbe024324"},{"id":"a1022d53-64f1-4bd8-acab-ddbefe0019ca","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-980b9743e3e3","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":10920,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"executorlessWaitMs":430178,"firstUsefulResultAt":"2026-09-24T19:37:33.927Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3667,"terminal":false,"missionId":"980b9743-e3e3-4fa2-b582-487091d09a8b","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":632,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":494,"approvedPlanMs":0,"missionSetupMs":438,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":308,"ledgerReconcileMs":0,"lineageReconcileMs":130,"resolvePreflightMs":438,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":308,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"980b9743-e3e3-4fa2-b582-487091d09a8b"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1969,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T19:44:55.96088+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3667","receipt_type":"execute_mission","idempotency_key":"mission:980b9743-e3e3-4fa2-b582-487091d09a8b:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"a434d872-4c8a-4c59-81eb-30fdbbaa37dd","command_center_event_id":"980b9743-e3e3-4fa2-b582-487091d09a8b"},{"id":"a102ae89-4d44-447a-a14c-8f3cf0be99d8","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-ba126d4c670e","writes":[],"patches":[],"version":1,"approved":true,"missionId":"ba126d4c-670e-4670-8274-75acb5a6a0d1","objective":"Continue the same mission. Add adaptive transient Gate recovery that changes runner pool exactly once per head while preserving source identity, and bump cc-execution version. Do not create a second PR.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mission-control.js","edits":[{"new_content":"const TRANSIENT_GATE_STATES = new Set(QA_DECISION_POLICY.transientGateStates);\nconst OWNER_GATE_POOL_MARKER = \"<!-- knocklaunch:gate-runner-pool:owner -->\";\nconst CLOUD_GATE_POOL_MARKER = \"<!-- knocklaunch:gate-runner-pool:cloud -->\";\n\nexport function adaptiveGateRetryBody(currentBody = \"\", headSha = \"\") {\n  const source = String(currentBody || \"\");\n  const exactHead = String(headSha || \"\").trim();\n  const fromPool = source.includes(OWNER_GATE_POOL_MARKER) ? \"owner\" : \"cloud\";\n  const toPool = fromPool === \"owner\" ? \"cloud\" : \"owner\";\n  const nextPoolMarker = toPool === \"owner\" ? OWNER_GATE_POOL_MARKER : CLOUD_GATE_POOL_MARKER;\n  const retryMarker = `<!-- knocklaunch:transient-gate-rerun head=${exactHead} -->`;\n  const stripped = source.replaceAll(OWNER_GATE_POOL_MARKER, \"\").replaceAll(CLOUD_GATE_POOL_MARKER, \"\").replace(/\\n{3,}/g, \"\\n\\n\").trim();\n  const additions = [nextPoolMarker, retryMarker].filter((marker) => !stripped.includes(marker));\n  return { body: `${stripped}${stripped && additions.length ? \"\\n\\n\" : \"\"}${additions.join(\"\\n\")}`, fromPool, toPool, recoveryVariable: \"runner_pool\", retryMarker, poolMarker: nextPoolMarker };\n}\nlet localPerformanceState = Object.fromEntries(PERFORMANCE_METRIC_NAMES.map((name) => [name, []]));","old_content":"const TRANSIENT_GATE_STATES = new Set(QA_DECISION_POLICY.transientGateStates);\nlet localPerformanceState = Object.fromEntries(PERFORMANCE_METRIC_NAMES.map((name) => [name, []]));"},{"new_content":"      const currentBody = String(exactPull?.body || \"\");\n      if (currentBody.includes(marker)) {\n        receipts.push({ runId, prNumber, status: \"skipped\", reason: \"transient_gate_rerun_exhausted_for_exact_head\", headSha: runSha });\n        continue;\n      }\n      const adaptiveRetry = adaptiveGateRetryBody(currentBody, runSha);\n      const markerWrite = await fetch(`${apiBase}/pulls/${prNumber}`, {\n        method: \"PATCH\",\n        headers,\n        body: JSON.stringify({ body: adaptiveRetry.body }),\n        signal: AbortSignal.timeout(FORGEJO_WRITE_TIMEOUT_MS),\n      });","old_content":"      const currentBody = String(exactPull?.body || \"\");\n      if (currentBody.includes(marker)) {\n        receipts.push({ runId, prNumber, status: \"skipped\", reason: \"transient_gate_rerun_exhausted_for_exact_head\", headSha: runSha });\n        continue;\n      }\n      const markerWrite = await fetch(`${apiBase}/pulls/${prNumber}`, {\n        method: \"PATCH\",\n        headers,\n        body: JSON.stringify({ body: `${currentBody}${currentBody.trim() ? \"\\n\\n\" : \"\"}${marker}` }),\n        signal: AbortSignal.timeout(FORGEJO_WRITE_TIMEOUT_MS),\n      });"},{"new_content":"      const markerReadBackBody = String(markerReadBack?.body || \"\");\n      if (!markerReadBackResponse.ok || String(markerReadBack?.head?.sha || markerReadBack?.head?.id || \"\").trim() !== runSha || !markerReadBackBody.includes(adaptiveRetry.retryMarker) || !markerReadBackBody.includes(adaptiveRetry.poolMarker)) {","old_content":"      if (!markerReadBackResponse.ok || String(markerReadBack?.head?.sha || markerReadBack?.head?.id || \"\").trim() !== runSha || !String(markerReadBack?.body || \"\").includes(marker)) {"},{"new_content":"        sourceMutated: retrigger.sourceMutated,\n        ...(transientRecovery ? { recoveryVariable: \"runner_pool\" } : {}),\n      });","old_content":"        sourceMutated: retrigger.sourceMutated,\n      });"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.59.4-adaptive-gate-recovery\";","old_content":"export const CC_EXECUTION_VERSION = \"1.59.3-direct-commit-ancestry\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"ba126d4c-670e-4670-8274-75acb5a6a0d1","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"aa6bcb5fe141a7dc5fac1265b8384ff68f7a64685f49dff7e9a55b96bd50d7e2","replayCount":0,"serializedBytes":5151},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T00:32:22.939782+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:ba126d4c-670e-4670-8274-75acb5a6a0d1:repository-mutation-intent:aa6bcb5fe141a7dc5fac1265b8384ff68f7a64685f49dff7e9a55b96bd50d7e2:0","mission_step_id":"93be48c3-e067-4963-9197-590aeca6b42f","command_center_event_id":"ba126d4c-670e-4670-8274-75acb5a6a0d1"},{"id":"a10413b1-65b7-45dd-99c2-c841ef121c92","source":"forgejo","status":"waiting","payload":{"branch":"ai/visual-witness-cloudflare-entitlement-diagnostic-20260905","prNumber":1819,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"d9bfe9c1525f1ccab687941df79be03b7cf9d70c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T11:51:17.745396+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"d9bfe9c1525f1ccab687941df79be03b7cf9d70c","external_id":"1819","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:682fc898-0270-49ec-b3d4-ea18305c544a:merged-pr:1819:d9bfe9c1525f1ccab687941df79be03b7cf9d70c","mission_step_id":"047f6a8a-b97d-4b4f-95a7-9fd50927304e","command_center_event_id":"682fc898-0270-49ec-b3d4-ea18305c544a"},{"id":"a105ecef-995a-4aa6-9c2a-ca756cea1b05","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"05274c14d77b4729b1f8a5f3a28bd128bda68bb3","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"05274c14d77b4729b1f8a5f3a28bd128bda68bb3","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1333","runId":1333,"status":"success","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-18T23:57:41.23583+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"05274c14d77b4729b1f8a5f3a28bd128bda68bb3","external_id":"forgejo-main-05274c14d77b","receipt_type":"canonical_release_status","idempotency_key":"mission:2160a187-5b83-4e34-b43d-4e0539f21745:forgejo-release-status:05274c14d77b4729b1f8a5f3a28bd128bda68bb3:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"6acccbe2-f9fb-454b-aee4-a6bbb5f4f5e4","command_center_event_id":"2160a187-5b83-4e34-b43d-4e0539f21745"},{"id":"a108a5dc-5b65-4fd1-ad58-a0399e452ad6","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":1006,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.8-visual-objective-proof","prNumber":4300,"terminal":false,"missionId":"d2f06e2a-908d-4af6-825e-a5568d80f631","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"f6cbe6afb3acb63b835230fa07dc1097f6e88dbf","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"d2f06e2a-908d-4af6-825e-a5568d80f631"},"performance":null,"deploymentId":"canonical-release-f6cbe6afb3ac","workflowRunId":31257852352,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1112,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-08T12:42:31.569511+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"f6cbe6afb3acb63b835230fa07dc1097f6e88dbf","external_id":"canonical-release-f6cbe6afb3ac","receipt_type":"ship_and_prove","idempotency_key":"mission:d2f06e2a-908d-4af6-825e-a5568d80f631:ship_and_prove:ship_and_prove_release_pending","mission_step_id":"9ddf48ea-7652-4059-94d1-14d42046de43","command_center_event_id":"d2f06e2a-908d-4af6-825e-a5568d80f631"},{"id":"a10ab3d3-76b8-4182-ba95-e82320f37f55","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"efa8f20edb79c93b25e31c3d626898abca3a10be","priorProofGate":"canonical_release_terminal_verified","requestContractHash":"d005ea50a7d566398439886a72d603c2746f480c86d06aff3fb75439a32fe708","reconciliationReason":"durable_terminal_release_proof_reused","durableReleaseProofReused":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T19:11:50.688947+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"efa8f20edb79c93b25e31c3d626898abca3a10be","external_id":"forgejo-main-efa8f20edb79","receipt_type":"canonical_release_status","idempotency_key":"mission:5a4d3db8-2253-40d7-a305-336f6bc2832f:durable-terminal-release-proof:efa8f20edb79c93b25e31c3d626898abca3a10be:d005ea50a7d566398439886a72d603c2746f480c86d06aff3fb75439a32fe708","mission_step_id":"6a173ac7-c08f-41e6-82a9-21156c469c66","command_center_event_id":"5a4d3db8-2253-40d7-a305-336f6bc2832f"},{"id":"a10b253a-7d7a-4ea3-ab64-ee0cff99f86d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/redfish-application-route-integrity-20260901","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":23126,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":7,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1306,"terminal":false,"missionId":"c417b477-62c0-4014-a60a-054912f42257","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":12208,"prReadinessMs":12029,"approvedPlanMs":0,"missionSetupMs":559,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"c417b477-62c0-4014-a60a-054912f42257"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2197,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T21:33:51.04741+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1306","receipt_type":"execute_mission","idempotency_key":"mission:c417b477-62c0-4014-a60a-054912f42257:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"f75a115f-2b00-41a7-847d-87e46ea7ab6b","command_center_event_id":"c417b477-62c0-4014-a60a-054912f42257"},{"id":"a10b9261-6e93-4a8d-bbaf-f546c417d43a","source":"forgejo","status":"retryable","payload":{"branch":"ai/add-forgejo-host-control-mcp-r2-20260826","merged":false,"prNumber":780,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T17:04:11.378807+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":null,"external_id":"780","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:de473921-dbdb-41a7-a320-ebeb97eb2bf5:closed-pr:780:unmerged","mission_step_id":"d3487bff-4905-4e4e-ae07-eeedd7309d27","command_center_event_id":"de473921-dbdb-41a7-a320-ebeb97eb2bf5"},{"id":"a10c3f21-0643-412f-82ee-beee8b064fd4","source":"cc-execution","status":"authorized","payload":{"paths":["scripts/command-center-host-agent/install-owner-host-agent.ps1","scripts/command-center-host-agent/owner-host-agent.ps1","scripts/validate-recovery-plane-contracts.mjs","workers/recovery-plane/src/index.js"],"reason":"Owner explicitly requested first-party KnockLaunch physical host management without third-party remote-control software.","baseSha":"da4312bbad8835c5dacefb90004305a04f7a5632","issuedAt":1791255993471,"expiresAt":1791256173471,"missionId":"10b94cd1-90ad-46bd-a864-548ea1c53b2a","authorizationId":"ffaa03ff-814c-4d88-8d93-c8fb64a841bd","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T03:06:34.039322+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"da4312bbad8835c5dacefb90004305a04f7a5632","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:ffaa03ff-814c-4d88-8d93-c8fb64a841bd","mission_step_id":"a5873c0a-bc20-4cbf-9472-d702ff1539e7","command_center_event_id":"10b94cd1-90ad-46bd-a864-548ea1c53b2a"},{"id":"a10c78a2-73fc-4083-ac0c-10bcb6b51f7c","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_base_sha_mismatch","fingerprint":"193a0aa3b771d8d7941caf847974b4689e4a781ae1c0fd4f704f5ab3632edd26"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T10:24:30.268227+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:024e44a3-e05b-4b36-b233-40ae126f86b9:repository-mutation-intent-blocked:193a0aa3b771d8d7941caf847974b4689e4a781ae1c0fd4f704f5ab3632edd26","mission_step_id":"769e955e-0d24-4ec9-82a7-bc2274356436","command_center_event_id":"024e44a3-e05b-4b36-b233-40ae126f86b9"},{"id":"a10ccce8-4ec9-485b-b787-abad967e47b3","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-bd008151ac47","prNumber":4470,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"9d475dae0774228ab0415f1c57f664d94a96379a","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:47:42.772971+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9d475dae0774228ab0415f1c57f664d94a96379a","external_id":"4470","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:bd008151-ac47-4c79-9642-d7f60ce0d501:merged-pr:4470:9d475dae0774228ab0415f1c57f664d94a96379a","mission_step_id":"bed39d1e-5866-4ba8-a321-24b5c6b1bd69","command_center_event_id":"bd008151-ac47-4c79-9642-d7f60ce0d501"},{"id":"a10e0943-1cd2-46e6-bcb9-01f84cd10c95","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze control plane for this exact owner-approved continuation of the Aggressive Recovery repair on PR #3279. Fix the transient Gate recovery gap discovered during this mission: Forgejo can collapse a cancelled pull-request Gate job into a generic failure commit status with empty logs, and the rerun helper can lose the PR link when commit-to-pull returns 404. Recovery must read the exact action-run state, classify cancelled/canceled/timed_out/error/startup_failure as transient even with empty logs, and recover the PR number from Forgejo's #<number> run ref before falling back to commit-to-pull lookup. Keep the same mission, branch and PR, preserve exact head/source safety, and do not create replacement work.","wordingChanged":false,"canonicalIntent":"Unfreeze control plane for this exact owner-approved continuation of the Aggressive Recovery repair on PR #3279. Fix the transient Gate recovery gap discovered during this mission: Forgejo can collapse a cancelled pull-request Gate job into a generic failure commit status with empty logs, and the rerun helper can lose the PR link when commit-to-pull returns 404. Recovery must read the exact action-run state, classify cancelled/canceled/timed_out/error/startup_failure as transient even with empty logs, and recover the PR number from Forgejo's #<number> run ref before falling back to commit-to-pull lookup. Keep the same mission, branch and PR, preserve exact head/source safety, and do not create replacement work.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"automatic-rehydrate","statement":"The one-minute cc-execution supervisor automatically rehydrates nonterminal owner-active durable missions through the existing mission status reconciliation path.","proofConditionIds":["repo-contract","runtime-contract"]},{"id":"reuse-identities","statement":"Recovery preserves the same mission and existing branch, pull request, gate, merge, and release identities and never creates replacement work merely because a transient interruption occurred.","proofConditionIds":["repo-contract","runtime-contract"]},{"id":"cancelled-gate-recovery","statement":"Cancelled Forgejo Gate runs are recognized from exact run state even when combined commit status says failure and logs are empty; PR identity is recovered from the run ref before commit-to-pull fallback.","proofConditionIds":["repo-contract","runtime-contract"]},{"id":"main-advancement-refresh","statement":"Upstream main advancement continues through the existing same-PR refresh and exact-head regate behavior.","proofConditionIds":["repo-contract"]},{"id":"bounded-retry","statement":"Repeated identical retryable states are bounded and throttled within a recovery window while progress resets the retry count.","proofConditionIds":["repo-contract","runtime-contract"]}],"objective":"Unfreeze control plane for this exact owner-approved continuation of the Aggressive Recovery repair on PR #3279. Fix the transient Gate recovery gap discovered during this mission: Forgejo can collapse a cancelled pull-request Gate job into a generic failure commit status with empty logs, and the rerun helper can lose the PR link when commit-to-pull returns 404. Recovery must read the exact action-run state, classify cancelled/canceled/timed_out/error/startup_failure as transient even with empty logs, and recover the PR number from Forgejo's #<number> run ref before falling back to commit-to-pull lookup. Keep the same mission, branch and PR, preserve exact head/source safety, and do not create replacement work.","constraints":[{"id":"no-safety-weakening","statement":"Do not weaken authentication, protected-main, exact-head gate, merge, release, or production safety invariants.","proofConditionIds":["repo-contract","runtime-contract"]},{"id":"single-owner","statement":"Do not introduce a second mutation, merge, queue, or release owner.","proofConditionIds":["repo-contract"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo-contract","runtime-contract"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo-contract","runtime-contract"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-contract","kind":"repository","claim":"Current merged source and canonical control-plane regression tests encode the Aggressive Recovery primitive including cancelled Gate recovery.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"runtime-contract","kind":"runtime","claim":"Live cc-execution runs the merged Aggressive Recovery supervisor and cancelled-Gate recovery behavior.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Unfreeze-control-plane-for-this-exact-owner-approved-continuation-of-the-Aggressive-Recovery-repair-","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["ccExecution"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["repo-contract","runtime-contract"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"9d96bf28ae47527cc74dca951843b35425d945a529f2f7d21215e2f70975642d","requestContractRevision":4,"previousRequestContractHash":"2d6742da6370a30f067ff48ed72cf53a18a65394a634f8d2b52e17f0931d6f01"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T06:01:37.501245+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:90ef6d5b-28ec-455b-b304-41150b7128ca:request-contract:9d96bf28ae47527cc74dca951843b35425d945a529f2f7d21215e2f70975642d","mission_step_id":"da34ee0a-552a-47dd-8589-c2779b6502ae","command_center_event_id":"90ef6d5b-28ec-455b-b304-41150b7128ca"},{"id":"a1100393-9035-4acc-8996-c7301116ade2","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/proposal-editor-layer-lock","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":null,"terminal":false,"missionId":"6b10770a-4570-410b-a7b1-0fc89cdfafb8","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":613,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1615,"providerAuthMs":0,"ledgerPrepareMs":844,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1615,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":844,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"6b10770a-4570-410b-a7b1-0fc89cdfafb8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3195,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T19:31:50.445989+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:6b10770a-4570-410b-a7b1-0fc89cdfafb8:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"97de73c1-75e0-4ea8-9702-32ee5efa65c1","command_center_event_id":"6b10770a-4570-410b-a7b1-0fc89cdfafb8"},{"id":"a110ee21-3272-4554-8cb4-9c17c79a7a91","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-54ccf6ba9119","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":29999,"releaseCount":0,"toolCallCount":16,"repeatedCallCount":6,"executorlessWaitMs":291697,"firstUsefulResultAt":"2026-09-25T21:50:10.299Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":3770,"terminal":false,"missionId":"54ccf6ba-9119-4e9b-9354-6786328e6f14","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5460,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"54ccf6ba-9119-4e9b-9354-6786328e6f14"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T21:53:20.064056+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3770","receipt_type":"automatic_mission_resume","idempotency_key":"mission:54ccf6ba-9119-4e9b-9354-6786328e6f14:automatic-mission-resume:3770:repair_mission_pr_ready_retryable","mission_step_id":"faa3f925-956e-41da-8db5-5ef1083b96b3","command_center_event_id":"54ccf6ba-9119-4e9b-9354-6786328e6f14"},{"id":"a1140be3-fa21-49c0-88b1-c4c665b7e0e4","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"d76879330126f640e6bec5cf1c69371462e3db44","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"d76879330126f640e6bec5cf1c69371462e3db44","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"d743b17225c17776b7949f2cfd41c61951bfd57cc0c8ed265d29cc08f6735407","forgejoWorkflowProof":{"runId":12446,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"93e76e9a318d6da0ba6ebb02695d6b5d36e7cb68","deploymentId":"forgejo-main-93e76e9a318d6da0ba6ebb02695d6b5d36e7cb68","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.300-queue-self-heal","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T02:49:51.850807+00:00","proof_gate":"canonical_release_pending","source_sha":"d76879330126f640e6bec5cf1c69371462e3db44","external_id":"forgejo-main-d76879330126","receipt_type":"canonical_release_status","idempotency_key":"mission:dd4014d5-4269-414e-b6bd-e2ddee737d4c:forgejo-release-status:d76879330126f640e6bec5cf1c69371462e3db44:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"abeefb6b-8c18-48f0-8b08-aa2804f27836","command_center_event_id":"dd4014d5-4269-414e-b6bd-e2ddee737d4c"},{"id":"a1144912-199a-49e5-9bb1-d550cfe2de24","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-f5d0dd500891","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":39370,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":557978,"firstUsefulResultAt":"2026-09-25T14:01:05.429Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.281-witness-lane-affinity","prNumber":3737,"terminal":false,"missionId":"f5d0dd50-0891-4b75-8b77-9cb2ec694962","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4098,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":572,"missionSetupMs":247,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":247,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":247,"repositoryMutationMs":3526,"repositoryProviderMs":3526,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2133,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":247,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1393},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"f5d0dd50-0891-4b75-8b77-9cb2ec694962"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4005,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T14:10:28.677407+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3737","receipt_type":"execute_mission","idempotency_key":"mission:f5d0dd50-0891-4b75-8b77-9cb2ec694962:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"c033ca51-685f-40ba-b506-7e4f48c77c62","command_center_event_id":"f5d0dd50-0891-4b75-8b77-9cb2ec694962"},{"id":"a114b0c3-73a3-46d0-8fca-0ed923ea2543","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-r202608070457-g2","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":7633,"releaseCount":1,"toolCallCount":8,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.31.1-corrective-generation-branch-bootstrap","prNumber":null,"terminal":false,"missionId":"9cff236d-b9f9-47fc-a667-d5ed3c318998","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"9cff236d-b9f9-47fc-a667-d5ed3c318998"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1941,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T04:52:59.786243+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9cff236d-b9f9-47fc-a667-d5ed3c318998:execute_mission:repair_mission_synthesis_ready","mission_step_id":"f698bace-be57-4f39-94ab-7cb21f081078","command_center_event_id":"9cff236d-b9f9-47fc-a667-d5ed3c318998"},{"id":"a115583b-6f65-41a6-b4b4-5a575e70b0b1","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"08f4bb1c8329c1c79d2f52246ba821d8bbf550cf","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"single-owner-signed-out-oauth","satisfied":false,"statement":"When the platform is signed out, PRIME authentication and OAuth approval complete inside /auth with the isolated primeAuth client and do not navigate to /auth/oauth/consent.","proofConditionIds":["repo-proof","production-proof"]},{"id":"signed-in-platform-path-preserved","satisfied":false,"statement":"When a normal platform session exists, the existing /auth/oauth/consent approval path remains available and uses the platform Supabase client.","proofConditionIds":["repo-proof","production-proof"]},{"id":"no-bidirectional-loop","satisfied":false,"statement":"/auth/oauth/consent may redirect one-way to /auth only when the platform session is absent; /auth never redirects an isolated PRIME session back to consent.","proofConditionIds":["repo-proof"]},{"id":"platform-login-unchanged","satisfied":false,"statement":"Normal platform Login, PublicRoute, tenant selection, app/workspace routing, backend, database, and provider configuration remain unchanged.","proofConditionIds":["repo-proof","production-proof"]}],"satisfied":false,"constraints":[{"id":"frontend-auth-only","satisfied":false,"statement":"Only frontend OAuth auth/consent code and focused contract tests may change.","proofConditionIds":["repo-proof","production-proof"]},{"id":"canonical-release","satisfied":true,"statement":"Pass KnockLaunch Gate, squash merge through Forgejo, release frontend only, and verify the exact production artifact.","proofConditionIds":["production-proof"]}],"contractHash":"bba5ea6913a86e5855883d1463fafa6ae768b54fc84d7b8e958ad625deaabf81","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-proof","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"bba5ea6913a86e5855883d1463fafa6ae768b54fc84d7b8e958ad625deaabf81","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"production-proof","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"bba5ea6913a86e5855883d1463fafa6ae768b54fc84d7b8e958ad625deaabf81"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T16:29:52.905258+00:00","proof_gate":"request_contract_pending","source_sha":"08f4bb1c8329c1c79d2f52246ba821d8bbf550cf","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:8ab5254f-1339-4a93-91b0-a269b76b7b84:request-contract:bba5ea6913a86e5855883d1463fafa6ae768b54fc84d7b8e958ad625deaabf81:08f4bb1c8329c1c79d2f52246ba821d8bbf550cf:pending:repository","mission_step_id":"cdc6262e-68a4-4bf2-815a-a4e3d58ca4f1","command_center_event_id":"8ab5254f-1339-4a93-91b0-a269b76b7b84"},{"id":"a11a9c33-fa59-4e85-a994-bb34e01df5be","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-98eb0573bb1e","prNumber":4013,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"6ba6b935d19dcd8af4bfc865e824bba7abc09dce","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T16:15:56.139235+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"6ba6b935d19dcd8af4bfc865e824bba7abc09dce","external_id":"4013","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:98eb0573-bb1e-466c-a75a-9f3cde9aeced:merged-pr:4013:6ba6b935d19dcd8af4bfc865e824bba7abc09dce","mission_step_id":"29b89114-8242-44fc-a1c7-5808cff270e9","command_center_event_id":"98eb0573-bb1e-466c-a75a-9f3cde9aeced"},{"id":"a11b0e62-36e8-4b72-92af-e54a73228c83","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/pcg-background-legibility-20260903","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":13410,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.5-merge-queue-operators","prNumber":1586,"terminal":false,"missionId":"aaf09ce0-7149-4784-8d7d-2727f524f7b8","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"handlerMs":10216,"prReadinessMs":0,"approvedPlanMs":10216,"missionSetupMs":2046,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"aaf09ce0-7149-4784-8d7d-2727f524f7b8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1094,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-03T17:52:39.93939+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":"1586","receipt_type":"execute_mission","idempotency_key":"mission:aaf09ce0-7149-4784-8d7d-2727f524f7b8:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"6282f61b-ccd5-4cce-9809-69cc35758456","command_center_event_id":"aaf09ce0-7149-4784-8d7d-2727f524f7b8"},{"id":"a11b2de3-29f8-44f1-87cb-fc0bf1070279","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-07T19:43:25.672504+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/restore-frontend-source-proof-marker-cc\",\"prNumber\":4217,\"sourceSha\":\"ddf9714987cabd9dccb38dcac71c5d8239a7001a\",\"deploymentId\":\"canonical-release-ddf9714987ca\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T20:18:25.104543+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:1fa1b2df-cab0-4d66-88fd-d98d4ce19055:owner-progress-heartbeat:119409673","mission_step_id":"0b22fb36-4d78-4a11-969a-c67e44b532cc","command_center_event_id":"1fa1b2df-cab0-4d66-88fd-d98d4ce19055"},{"id":"a11dc663-1e90-4092-acd9-8196cd07c364","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":2739252,"releaseCount":1,"toolCallCount":1788,"repeatedCallCount":1733,"executorlessWaitMs":24614730,"firstUsefulResultAt":"2026-10-06T04:33:14.606Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":"1.65.10-boundary-fix-release-retry","prNumber":5163,"terminal":false,"missionId":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"c9d9f4ec695ac716cf920bc12184d9855017412d","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2119,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":109,"approvedPlanMs":0,"missionSetupMs":833,"providerAuthMs":0,"shipAndProveMs":1379,"ledgerPrepareMs":833,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":833,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":833,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},"performance":null,"deploymentId":"forgejo-main-c9d9f4ec695a","releaseState":null,"workflowRunId":16277,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2725,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T04:46:40.846319+00:00","proof_gate":"canonical_release_dispatched","source_sha":"d059e784c8fb33ceeb0e36baec00e818ef3753e8","external_id":"forgejo-main-d059e784c8fb","receipt_type":"execute_mission","idempotency_key":"mission:6cd825d0-ddfe-4532-8e8e-5f72704f5be5:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"9a4ca218-e3f5-49f9-bf28-20eb11c17aff","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"a11defb2-a9ca-4b86-a3b3-97c8172edc25","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"98cb3ec8e8ef68dc080691fafd0e1cdf34e6750c","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"98cb3ec8e8ef68dc080691fafd0e1cdf34e6750c","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-photo-studio"]},"releaseTargetStates":{"supabaseEdge":"success"},"requestContractHash":"d9e1665b9343b55c0d73fef595ed9fab6290763fef4de25115eee2f85f893067","forgejoWorkflowProof":{"runId":14811,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T12:59:33.422748+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"98cb3ec8e8ef68dc080691fafd0e1cdf34e6750c","external_id":"forgejo-main-98cb3ec8e8ef","receipt_type":"canonical_release_status","idempotency_key":"mission:993714c5-4a87-4fd5-b700-f73c468a404b:forgejo-release-status:98cb3ec8e8ef68dc080691fafd0e1cdf34e6750c:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"fb76ce2e-1815-40c4-9fd3-7cafe85b141a","command_center_event_id":"993714c5-4a87-4fd5-b700-f73c468a404b"},{"id":"a11e4c42-f250-4f0c-aa16-12988d676d40","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4848,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":46515,"firstUsefulResultAt":"2026-10-05T20:50:01.643Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":null,"terminal":false,"missionId":"8ce3402a-b01f-4a83-9a44-f516ab8e210e","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3592,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":307,"providerAuthMs":0,"ledgerPrepareMs":307,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":307,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":307,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"8ce3402a-b01f-4a83-9a44-f516ab8e210e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3365,"likelyAffectedFiles":["scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:50:04.127984+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8ce3402a-b01f-4a83-9a44-f516ab8e210e:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"d3ec5d57-7110-480c-8327-fa3d72fa781c","command_center_event_id":"8ce3402a-b01f-4a83-9a44-f516ab8e210e"},{"id":"a11ea1a0-3540-42ba-b168-370fcd9a6580","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-8ce3402ab01f","reason":"file_write_content_or_explicit_delete_required","status":"blocked","metrics":{"receiptBytes":14248,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":2,"executorlessWaitMs":129444,"firstUsefulResultAt":"2026-10-05T20:50:01.643Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":null,"terminal":false,"missionId":"8ce3402a-b01f-4a83-9a44-f516ab8e210e","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":359,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":359,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":359,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":359,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8ce3402a-b01f-4a83-9a44-f516ab8e210e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1575,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:51:40.540696+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8ce3402a-b01f-4a83-9a44-f516ab8e210e:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"667402ce-7a1a-4c50-bef7-e223f347c0ef","command_center_event_id":"8ce3402a-b01f-4a83-9a44-f516ab8e210e"},{"id":"a11eb310-78a7-4693-80aa-a1af480c00a5","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"96a2cd5b-f96d-4edf-a9e4-b3b3a0a36e24","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-e020b5c6b3f8","reason":null,"status":"pending","metrics":{"receiptBytes":106721,"releaseCount":0,"toolCallCount":47,"repeatedCallCount":26,"executorlessWaitMs":690414,"firstUsefulResultAt":"2026-09-30T18:24:46.764Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":4255,"terminal":false,"missionId":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"70b87aebe0d97e2f1ffb74f0d79070d90ab52d68","timingsMs":{"queue":285,"total":415,"execution":130},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237"},"performance":null,"deploymentId":"forgejo-main-70b87aebe0d9","releaseState":"verified","visualWitness":{"role":"Tenant Owner","jobId":"96a2cd5b-f96d-4edf-a9e4-b3b3a0a36e24","tenant":"pcg","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"96a2cd5b-f96d-4edf-a9e4-b3b3a0a36e24","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/pcg/calendar","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":1,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":"completed_with_findings","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1770,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T18:36:19.968462+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"70b87aebe0d97e2f1ffb74f0d79070d90ab52d68","external_id":"96a2cd5b-f96d-4edf-a9e4-b3b3a0a36e24","receipt_type":"visual_proof_started","idempotency_key":"mission:e020b5c6-b3f8-4d93-9c5c-0d62cb75b237:visual-start:96a2cd5b-f96d-4edf-a9e4-b3b3a0a36e24","mission_step_id":"5247730a-b455-4cb4-a769-9fbdbd16697c","command_center_event_id":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237"},{"id":"a11f8c7f-4491-461d-a0f2-cabc5e9d5d65","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":4096,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":4059,"terminal":false,"missionId":"372ac4cb-6812-4656-bfb0-e5ae8e978019","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"fad7c9821492bfab38120578e85ff0cc4549cd55","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"372ac4cb-6812-4656-bfb0-e5ae8e978019"},"performance":null,"deploymentId":"canonical-release-fad7c9821492","workflowRunId":31020568596,"releaseTargets":{"frontend":false,"onrunner":true,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1257,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-05T15:29:44.386377+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"fad7c9821492bfab38120578e85ff0cc4549cd55","external_id":"canonical-release-fad7c9821492","receipt_type":"ship_and_prove","idempotency_key":"mission:372ac4cb-6812-4656-bfb0-e5ae8e978019:ship_and_prove:ship_and_prove_release_pending","mission_step_id":"14c39b6f-d365-4e6c-8bb5-aa07081b67f9","command_center_event_id":"372ac4cb-6812-4656-bfb0-e5ae8e978019"},{"id":"a1202a77-e73e-4a0f-901b-671774ff67b2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-9d088d7955f2","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":89006,"releaseCount":0,"toolCallCount":28,"repeatedCallCount":21,"executorlessWaitMs":764182,"firstUsefulResultAt":"2026-09-27T15:11:29.867Z","recoveryAttemptCount":21,"ownerInterruptionCount":0},"version":null,"prNumber":3880,"terminal":false,"missionId":"9d088d79-55f2-4991-b7db-999b3335bec5","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5473,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"9d088d79-55f2-4991-b7db-999b3335bec5"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T15:16:27.033269+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3880","receipt_type":"automatic_mission_resume","idempotency_key":"mission:9d088d79-55f2-4991-b7db-999b3335bec5:automatic-mission-resume:3880:repair_mission_pr_ready_retryable","mission_step_id":"30ceb463-6087-4c64-872e-ee2c32df295b","command_center_event_id":"9d088d79-55f2-4991-b7db-999b3335bec5"},{"id":"a1226098-0c51-4052-b4ae-c772a30fb6d9","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-951a12eff015","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1943,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-28T13:12:36.453Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.301-premium-visual-system","prNumber":null,"terminal":false,"missionId":"951a12ef-f015-420b-8899-69e7222738ee","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1177,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":264,"providerAuthMs":0,"ledgerPrepareMs":264,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":264,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":264,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"951a12ef-f015-420b-8899-69e7222738ee"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3773,"likelyAffectedFiles":["src/PrivateAppShell.tsx","src/__tests__/contracts/generatedTenantRouteFamily.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:12:36.517128+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:951a12ef-f015-420b-8899-69e7222738ee:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"163ee196-4fb4-46af-93ad-c20c97a2167f","command_center_event_id":"951a12ef-f015-420b-8899-69e7222738ee"},{"id":"a125adb2-252a-4c65-b1f1-1c1a3e0612d1","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"24dd4bcecc44809e987192289c5bfbca39b30b73","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"o1","satisfied":true,"statement":"Ordinary/light-to-medium PR Gate work routes to msi-local under a 2-CPU thermal envelope; heavy/cross-cutting work routes to docker-8g; production release routing remains unchanged.","proofConditionIds":["p1"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["p1"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["p1"]}],"contractHash":"33fa1d199ffec5cb327f40aa8777eb229a96d6992ebede3eb9f0baa14f1f99db","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"p1","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{},"unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"33fa1d199ffec5cb327f40aa8777eb229a96d6992ebede3eb9f0baa14f1f99db"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T18:06:18.359796+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"24dd4bcecc44809e987192289c5bfbca39b30b73","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:275e9d88-1cfc-403f-899a-6ae4fd410ca9:request-contract:33fa1d199ffec5cb327f40aa8777eb229a96d6992ebede3eb9f0baa14f1f99db:24dd4bcecc44809e987192289c5bfbca39b30b73:verified:","mission_step_id":"99cb29bf-935e-44fc-ae5d-f630b64453e8","command_center_event_id":"275e9d88-1cfc-403f-899a-6ae4fd410ca9"},{"id":"a128ff9e-597d-4981-a321-ad4b5be7e0b3","source":"github-status","status":"verified","payload":{"failed":[],"states":{"canonical-production-release/verified":"success"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"37fbd77c59fd2af2366bd1272db37efef2ddbd1d","releaseState":"verified","exactConductorRun":{"id":31236048695,"status":"completed","headSha":"37fbd77c59fd2af2366bd1272db37efef2ddbd1d","conclusion":"success","sourceMatches":true},"ccExecutionRuntimeProof":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-08T02:59:11.909512+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"37fbd77c59fd2af2366bd1272db37efef2ddbd1d","external_id":"canonical-release-37fbd77c59fd","receipt_type":"canonical_release_status","idempotency_key":"mission:0f4860b2-110b-4730-895c-9ad26db09315:release-status:37fbd77c59fd2af2366bd1272db37efef2ddbd1d:verified:canonical-production-release/verified=success","mission_step_id":"61582d10-7df3-4f17-af56-354d559bf2c2","command_center_event_id":"0f4860b2-110b-4730-895c-9ad26db09315"},{"id":"a12939c2-e452-4752-8b0a-ff7cb5fcc700","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"branch_must_start_with_ai","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.38-atomic-new-branch-refreeze","prNumber":null,"terminal":false,"missionId":"aad490c1-79e9-4ff6-980d-4e070a5dbfa6","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1072,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":313,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":313,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":313,"repositoryMutationMs":1072,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":313,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"aad490c1-79e9-4ff6-980d-4e070a5dbfa6"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1301,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:31:21.568673+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:aad490c1-79e9-4ff6-980d-4e070a5dbfa6:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"02e5af33-bef4-4302-97ec-cb9d13069c44","command_center_event_id":"aad490c1-79e9-4ff6-980d-4e070a5dbfa6"},{"id":"a1296145-945b-407f-b028-ce512a07301c","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/lib/design/experienceStudioSurfaceResolver.ts"],"continuationObjective":"Frontend-only exact edit. In src/lib/design/experienceStudioSurfaceResolver.ts on current main, make unknown canonical tenant types safely preserve the requested route instead of dereferencing a missing specialized adapter. Replace `tenantType: ExperienceStudioBusinessType;` in SurfaceRouteContext with `tenantType: string;`. Then replace `const adapter = SURFACE_ADAPTERS[context.tenantType];` with `const adapter = SURFACE_ADAPTERS[context.tenantType as ExperienceStudioBusinessType];` followed immediately by `if (!adapter) return `${url.pathname}${url.search}${url.hash}`;`. Preserve every specialized adapter behavior and all other source unchanged. Create one ai/* PR, canonical Gate, squash merge, frontend deploy, and runtime proof. This is shared platform behavior, not a PCG special case."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:46:19.196135+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:1640998d-5d81-4ba8-b368-2c9f91cab6ee:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"9c9f3a20-dcf3-4f7b-b28b-cf818881a935","command_center_event_id":"1640998d-5d81-4ba8-b368-2c9f91cab6ee"},{"id":"a12b904c-5446-45ce-8720-b2bf1c5a615e","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/PrivateAppShell.tsx","config/canonical-platform-primitives.json","scripts/generate-platform-cohesion-auth-proof-requirements.mjs","scripts/validate-canonical-platform-primitives.mjs"],"continuationObjective":"MUTATE AND SHIP NOW. PCG P0 intake throughput requirement for Anthony's backlog. On current main, make WMP tracking automatic and idempotent for PCG intake: whenever a PCG order/submission is successfully created OR a PCG batch upload is successfully persisted, the canonical WhatsMyProgress primitive must automatically create or reuse exactly one WMP tracking number and public WMP link for that submission/batch before the operation is considered complete. Cards uploaded in the batch must attach to that same submission/WMP identity. Retries must not create duplicate WMP numbers. Surface the WMP number/link immediately in the PCG intake/receipt success state so staff can give it to the customer and continue processing. Preserve tenant isolation and existing PCG certification numbering rules. Prioritize the existing PCG intake/submission implementation; do not broaden into marketplace/forum work. Run the relevant Gate, squash merge, release affected targets, and verify the production PCG intake path is live."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T20:10:54.559291+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:3865a0ff-d47d-44c7-9ecc-9580bf37be50:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"a36e1605-0286-4c40-9054-87a7f8e1d780","command_center_event_id":"3865a0ff-d47d-44c7-9ecc-9580bf37be50"},{"id":"a12c089c-a7ee-4c02-83f7-11d84e3d549c","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success","supabase-edge-production/live":"success"},"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"sourceSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["command-center-autopilot"]},"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"requestContractHash":"b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978","forgejoWorkflowProof":{"runId":10336,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-0646720cad3dc88b10532a280fd98ff47c311f3e","compareStatus":"target_job_success_runtime_verified","workflowRunId":10336,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.195-split-brain-safe-supervisor","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:56:40.292529+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"0646720cad3dc88b10532a280fd98ff47c311f3e","external_id":"forgejo-main-0646720cad3d","receipt_type":"canonical_release_status","idempotency_key":"mission:392e0099-9a83-4bf8-ab58-c4fb841420be:forgejo-release-status:0646720cad3dc88b10532a280fd98ff47c311f3e:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success|supabase-edge-production/live=success","mission_step_id":"e5619154-b747-46d0-b291-8828ef58e252","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"a12e934e-6dc4-4366-944b-818a01ea911f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"automatic_mission_resume\",\"status\":\"release_freshness_reconciliation_pending\",\"proofGate\":\"canonical_release_freshness_reconciliation_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-06T00:38:57.523265+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-61d68e1e9cf1\",\"prNumber\":5067,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T21:15:14.109779+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:61d68e1e-9cf1-4260-b4ba-e286fab9894a:owner-progress-heartbeat:119415660","mission_step_id":"e9ecd7ca-4b18-45da-b70d-0511ec4d7eaa","command_center_event_id":"61d68e1e-9cf1-4260-b4ba-e286fab9894a"},{"id":"a12fc4bd-efa9-4c4c-a9fe-d632618345ec","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/release-plan-no-checkout-action-20260904","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.38-atomic-new-branch-refreeze","prNumber":1680,"terminal":false,"missionId":"553eb4db-0d17-4ea5-a231-c4b088ebbc89","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"03c428ea1b6c86483bb369d66c90c339eced09f4","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":16949,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2205,"approvedPlanMs":0,"missionSetupMs":5808,"providerAuthMs":0,"shipAndProveMs":12806,"ledgerPrepareMs":808,"ledgerReconcileMs":0,"lineageReconcileMs":5000,"resolvePreflightMs":5808,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":808,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"553eb4db-0d17-4ea5-a231-c4b088ebbc89"},"performance":null,"deploymentId":"forgejo-main-03c428ea1b6c","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2733,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:29:36.46121+00:00","proof_gate":"canonical_release_dispatched","source_sha":"03c428ea1b6c86483bb369d66c90c339eced09f4","external_id":"forgejo-main-03c428ea1b6c","receipt_type":"execute_mission","idempotency_key":"mission:553eb4db-0d17-4ea5-a231-c4b088ebbc89:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"99fb9dfc-a461-4007-ad00-aca789331eb8","command_center_event_id":"553eb4db-0d17-4ea5-a231-c4b088ebbc89"},{"id":"a131606d-8507-4f99-9d2d-90a772e0e1c7","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"c4fa3bd4-a214-4085-8049-946a709c2dff"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T15:45:17.326416+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:c4fa3bd4-a214-4085-8049-946a709c2dff:mission-cancel:c4fa3bd4-a214-4085-8049-946a709c2dff","mission_step_id":"fbe0182b-5eb9-47f3-be48-789708c8bcc7","command_center_event_id":"c4fa3bd4-a214-4085-8049-946a709c2dff"},{"id":"a133bc85-bda8-4320-9a51-278d50f3348a","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml"],"reason":"Owner explicitly authorized temporary control-plane unfreeze to fix the primary and virtual Visual Witness runner system and refreeze after live proof; this corrective generation removes the stale fallback-null release invariant that blocked the authorized repair.","baseSha":"54bf8b4bc731f05f568256c7fb805e2da79daac9","issuedAt":1788548875492,"expiresAt":1788549055492,"missionId":"b16d69ed-3a11-430b-846b-d0828c9b20b9","authorizationId":"92902f97-f1e2-480b-b5fb-8dcbeed83df9","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T19:07:56.025225+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"54bf8b4bc731f05f568256c7fb805e2da79daac9","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:92902f97-f1e2-480b-b5fb-8dcbeed83df9","mission_step_id":"43a44408-c092-4622-a466-97d012fab243","command_center_event_id":"b16d69ed-3a11-430b-846b-d0828c9b20b9"},{"id":"a1357ccd-91c0-44b6-b50a-53a87b097fba","source":"cc-execution","status":"recorded","payload":{"objective":"Continue the existing Big Papi owner-unification workstream and PR #730. Push one exact source repair: public event intake must reuse a canonical existing unified contact by email or normalized phone before creating a new contact, preserving loyalty/customer history and allowing one person to also become a booking client.","tenantRef":"766cfaa7-ac42-46c8-bbef-69d13268a29d","receivedAt":"2026-08-25T05:31:59.298Z","fingerprint":"85f0dd014543dd53e79cde933dae10a2da7b09aecaabf2c1dac826384ccd4865","workstreamRef":"766cfaa7ac4246c8bbef69d13268a29d","conversationId":null,"canonicalBranch":"ai/big-papis-unified-owner-os-20260825","requestedBranch":"ai/big-papis-unified-owner-os-20260825","conversationContext":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-25T05:31:59.744588+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:260f19f5-c09a-4b03-bc3d-87bbf19aa93f:tenant-workstream-contribution:85f0dd014543dd53e79cde933dae10a2da7b09aecaabf2c1dac826384ccd4865","mission_step_id":"bf29384d-6744-4644-af1f-0c6a98af771f","command_center_event_id":"260f19f5-c09a-4b03-bc3d-87bbf19aa93f"},{"id":"a13d2705-23dc-4a36-9a01-6564ff057c9f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b2470149d0a7","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":3690,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":18639,"firstUsefulResultAt":"2026-09-29T02:34:21.970Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.63.0-mission-freedom-web-research","prNumber":4086,"terminal":false,"missionId":"b2470149-d0a7-41f7-9bcd-223d1976693a","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3604,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":554,"missionSetupMs":268,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":268,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":268,"repositoryMutationMs":3050,"repositoryProviderMs":3050,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1867,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":268,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1183},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"b2470149-d0a7-41f7-9bcd-223d1976693a"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3282,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:34:45.164506+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4086","receipt_type":"execute_mission","idempotency_key":"mission:b2470149-d0a7-41f7-9bcd-223d1976693a:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"3900b672-4125-495b-90d5-f1c1c18cd1e0","command_center_event_id":"b2470149-d0a7-41f7-9bcd-223d1976693a"},{"id":"a1401471-1b6b-4b7c-af31-d108680e408f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-07T01:42:42.941337+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":4165,\"sourceSha\":\"0a41665f9ab0bdd70a2e012fe7581fcc23ac78da\",\"deploymentId\":\"canonical-release-0a41665f9ab0\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T13:32:54.560222+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:47a989af-5c6c-4b7d-8502-d015d1fd1841:owner-progress-heartbeat:119408051","mission_step_id":"3f45c782-8890-420f-ad00-4be773f8cf59","command_center_event_id":"47a989af-5c6c-4b7d-8502-d015d1fd1841"},{"id":"a141c30d-6ee4-439f-a127-3589360df273","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":39299,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.5-merge-queue-operators","prNumber":1557,"terminal":false,"missionId":"a2bf6791-5eab-4c5b-8c92-44a9a4ad7b49","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":7890,"prReadinessMs":3683,"approvedPlanMs":3282,"missionSetupMs":2754,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"a2bf6791-5eab-4c5b-8c92-44a9a4ad7b49"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1034,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-03T14:09:52.559818+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1557","receipt_type":"execute_mission","idempotency_key":"mission:a2bf6791-5eab-4c5b-8c92-44a9a4ad7b49:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"b0ac68e9-8918-4195-9d48-80545f86cf32","command_center_event_id":"a2bf6791-5eab-4c5b-8c92-44a9a4ad7b49"},{"id":"a1435e3b-e9e9-49e5-8ea7-a6ba58c64799","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-e6a9f106c0ab","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e6a9f106-c0ab-4d13-9da3-8c67bf171dfc","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"wrangler.toml","edits":[{"new_content":"[[services]]\nbinding = \"CC_EXECUTION\"\nservice = \"cc-execution\"\n\n[assets]\ndirectory = \"./dist\"\nbinding = \"ASSETS\"","old_content":"[assets]\ndirectory = \"./dist\"\nbinding = \"ASSETS\""}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.58.287-console-service-binding\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.286-cursor-readonly-mcp-bootstrap\";"}]},{"path":"workers/cc-execution/src/entrypoint-owner-status.js","edits":[{"new_content":"async function consoleForgejoInventory(env) {\n  const [repoRunners, userRunners] = await Promise.all([\n    forgejo(env, `/repos/${DEFAULT_REPOSITORY}/actions/runners?limit=50`),\n    forgejo(env, \"/user/actions/runners?limit=50\"),\n  ]);\n  if (!repoRunners.ok) return json({ ok: false, error: repoRunners.body?.reason || 'Forgejo runner inventory unavailable' }, repoRunners.status || 502);\n  const rows = (result) => result?.ok ? (Array.isArray(result.body?.runners) ? result.body.runners : Array.isArray(result.body) ? result.body : []) : [];\n  const combined = [...rows(repoRunners), ...rows(userRunners)];\n  const seen = new Set();\n  const runners = combined.filter((runner) => { const key = String(runner?.id ?? runner?.name ?? ''); if (!key || seen.has(key)) return false; seen.add(key); return true; }).map((runner) => ({\n    id: runner?.id ?? null,\n    name: String(runner?.name || ''),\n    status: String(runner?.status || ''),\n    busy: Boolean(runner?.busy),\n    version: String(runner?.version || ''),\n    labels: (Array.isArray(runner?.labels) ? runner.labels : []).map((label) => typeof label === 'string' ? label : String(label?.name || '')).filter(Boolean),\n  }));\n  return json({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runners: runners.length }, sections: { Runners: { status: 'observed', data: { total_count: runners.length, runners } } } });\n}\n\nasync function consoleRunnerProof(env) {\n  const result = await forgejoWrite(env, 'POST', `/repos/${DEFAULT_REPOSITORY}/actions/workflows/msi-runner-proof.yml/dispatches`, { ref: 'main' });\n  if (!result.ok) return json({ ok: false, error: result.body?.reason || `MSI proof dispatch failed (${result.status || 502})` }, result.status || 502);\n  return json({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runner: 'msi-local', Workflow: 'MSI Runner Proof', Ref: 'main', Dispatch: 'accepted' }, sections: { Dispatch: { status: 'observed', data: { workflow: 'msi-runner-proof.yml', ref: 'main' } } } });\n}\n\nasync function forgejoWrite(env, method, path, payload = null) {","old_content":"async function forgejoWrite(env, method, path, payload = null) {"},{"new_content":"    if (path === \"/internal/console/forgejo\" && request.method === \"GET\") return consoleForgejoInventory(env);\n    if (path === \"/internal/console/forgejo\" && request.method === \"POST\") {\n      const body = await request.json().catch(() => ({}));\n      if (body?.action !== 'runner-proof') return json({ ok: false, error: 'Action not allowed' }, 400);\n      return consoleRunnerProof(env);\n    }\n    if (path === \"/forgejo/event\" && request.method === \"POST\") return forgejoEvent(request, env, ctx);","old_content":"    if (path === \"/forgejo/event\" && request.method === \"POST\") return forgejoEvent(request, env, ctx);"}]},{"path":"scripts/cloudflare-native-owner-worker.mjs","edits":[{"new_content":"async function handleConsoleForgejoRequest(request, env) {\n  if (!['GET','POST'].includes(request.method)) return workspaceJson({ ok: false, error: 'Method not allowed' }, 405, { allow: 'GET, POST' });\n  const auth = await requireSystemAdmin(request); if (!auth.ok) return auth.response;\n  if (!env.CC_EXECUTION?.fetch) return workspaceJson({ ok: false, error: 'Console control-plane binding is unavailable' }, 503);\n  const body = request.method === 'POST' ? await request.clone().json().catch(() => ({})) : null;\n  if (request.method === 'POST' && body?.action !== 'runner-proof') return workspaceJson({ ok: false, error: 'Action not allowed' }, 400);\n  let upstream;\n  try {\n    upstream = await env.CC_EXECUTION.fetch('https://cc-execution.internal/internal/console/forgejo', {\n      method: request.method,\n      headers: { 'Content-Type': 'application/json', 'X-Knocklaunch-Console-Proxy': 'owner-production' },\n      ...(request.method === 'POST' ? { body: JSON.stringify({ action: 'runner-proof' }) } : {}),\n    });\n  } catch (error) {\n    return workspaceJson({ ok: false, error: `Console control plane unavailable: ${error instanceof Error ? error.message : String(error)}` }, 502);\n  }\n  const payload = await upstream.json().catch(() => ({ error: 'Console control plane returned invalid JSON' }));\n  return workspaceJson(payload, upstream.status);\n}","old_content":"async function handleConsoleForgejoRequest(request, env) {\n  if (!['GET','POST'].includes(request.method)) return workspaceJson({ ok: false, error: 'Method not allowed' }, 405, { allow: 'GET, POST' });\n  const auth = await requireSystemAdmin(request); if (!auth.ok) return auth.response;\n  const token = String(env.FGJ_CONTROL_TOKEN || env.FORGEJO_TOKEN || '').trim();\n  if (!token) return workspaceJson({ ok: false, error: 'Forgejo control credential is not configured' }, 503);\n  const headers = { Authorization: `token ${token}`, Accept: 'application/json', 'Content-Type': 'application/json' };\n  if (request.method === 'POST') {\n    const body = await request.json().catch(() => ({}));\n    if (body?.action !== 'runner-proof') return workspaceJson({ ok: false, error: 'Action not allowed' }, 400);\n    const dispatched = await fetch('https://git.knocklaunch.app/api/v1/repos/noel/KnockLaunchOS/actions/workflows/msi-runner-proof.yml/dispatches', { method: 'POST', headers, body: JSON.stringify({ ref: 'main' }), signal: AbortSignal.timeout(10000) }).catch(() => null);\n    if (!dispatched?.ok) return workspaceJson({ ok: false, error: `MSI proof dispatch failed${dispatched ? ` (${dispatched.status})` : ''}` }, 502);\n    return workspaceJson({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runner: 'msi-local', Workflow: 'MSI Runner Proof', Ref: 'main', Dispatch: 'accepted' }, sections: { Dispatch: { status: 'observed', data: { workflow: 'msi-runner-proof.yml', ref: 'main' } } } });\n  }\n  const runnersResponse = await fetch('https://git.knocklaunch.app/api/v1/repos/noel/KnockLaunchOS/actions/runners?limit=50', { headers, signal: AbortSignal.timeout(10000) }).catch(() => null);\n  if (!runnersResponse?.ok) return workspaceJson({ ok: false, error: `Forgejo runner inventory unavailable${runnersResponse ? ` (${runnersResponse.status})` : ''}` }, 502);\n  const payload = await runnersResponse.json().catch(() => null);\n  const runners = (Array.isArray(payload?.runners) ? payload.runners : []).map((runner) => ({ id: runner?.id ?? null, name: String(runner?.name || ''), status: String(runner?.status || ''), busy: Boolean(runner?.busy), version: String(runner?.version || ''), labels: (Array.isArray(runner?.labels) ? runner.labels : []).map((label) => typeof label === 'string' ? label : String(label?.name || '')).filter(Boolean) }));\n  return workspaceJson({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runners: runners.length }, sections: { Runners: { status: 'observed', data: { total_count: runners.length, runners } } } });\n}"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"e6a9f106-c0ab-4d13-9da3-8c67bf171dfc","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"1d3c9e389cec96bd72a8b92057ca23fe6fc1d09b9d4823f443a057483a5f59e1","replayCount":0,"serializedBytes":8473},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T17:35:38.67926+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e6a9f106-c0ab-4d13-9da3-8c67bf171dfc:repository-mutation-intent:1d3c9e389cec96bd72a8b92057ca23fe6fc1d09b9d4823f443a057483a5f59e1:0","mission_step_id":"24b92250-0e13-44fb-9f19-c926932f43f9","command_center_event_id":"e6a9f106-c0ab-4d13-9da3-8c67bf171dfc"},{"id":"a14706e3-92e8-42fd-9a41-ed7758a54fbb","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success","supabase-edge-production/live":"success"},"mainSha":"5d0bc98900d03abf693cd7cba5e71b29f325b9c7","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"5d0bc98900d03abf693cd7cba5e71b29f325b9c7","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["roof-measurement-job"]},"requestContractHash":"7052d37fc1d7dcd88f0a277ae962b95e0886f0a49f80c848f9cea4fc238825a2","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/4583","runId":4583,"status":"success","sourceSha":"5d0bc98900d03abf693cd7cba5e71b29f325b9c7","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T19:47:26.087751+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"5d0bc98900d03abf693cd7cba5e71b29f325b9c7","external_id":"forgejo-main-5d0bc98900d0","receipt_type":"canonical_release_status","idempotency_key":"mission:1c75872a-a97f-4a1e-afa3-5c55a44fe46c:forgejo-release-status:5d0bc98900d03abf693cd7cba5e71b29f325b9c7:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"5c0671bc-76a8-4606-b832-0f64ce3b7c99","command_center_event_id":"1c75872a-a97f-4a1e-afa3-5c55a44fe46c"},{"id":"a1476619-da79-4af0-8c49-0f651a60ce4a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":"f79e4a52-6a25-4e42-96bb-333fb0ffb785","phase":"runtime_proof","branch":"ai/objective-first-repair-4eb6c2d1c42a","reason":"retryable_provider_transport:POST:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.98-owner-handoff-overlap","prNumber":2385,"terminal":false,"missionId":"4eb6c2d1-c42a-4755-af4a-52d9201cad84","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":"300c756053700eed702b7314f80a1ec8880617e5","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":26244,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":312,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":312,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":312,"repositoryMutationMs":26244,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":312,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"4eb6c2d1-c42a-4755-af4a-52d9201cad84"},"performance":null,"deploymentId":"forgejo-main-300c75605370","workflowRunId":7043,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1553,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-11T05:52:37.626102+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:4eb6c2d1-c42a-4755-af4a-52d9201cad84:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"dccdaccf-3656-4e74-8194-60ed004fc9c4","command_center_event_id":"4eb6c2d1-c42a-4755-af4a-52d9201cad84"},{"id":"a14bc62d-195f-479e-9e53-958411a01a3a","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/system-stability-queue-reconcile-dispatch-20260904","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1737,"terminal":false,"missionId":"79f65b0c-4fb3-43b0-9b1c-188e305f15f0","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"3255653f277dd36e29a8a7d1a85c32c9ca9c5fa2","timingsMs":{"prReadinessMs":712,"approvedPlanMs":0,"shipAndProveMs":4406,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"79f65b0c-4fb3-43b0-9b1c-188e305f15f0"},"performance":null,"deploymentId":"forgejo-main-3255653f277d","workflowRunId":5281,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":793,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T18:33:25.787102+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1737","receipt_type":"automatic_mission_resume","idempotency_key":"mission:79f65b0c-4fb3-43b0-9b1c-188e305f15f0:automatic-mission-resume:1737:canonical_release_reconciliation_pending","mission_step_id":"de6d143e-6e91-4b39-936d-4c150fb5c8b4","command_center_event_id":"79f65b0c-4fb3-43b0-9b1c-188e305f15f0"},{"id":"a14fc890-d5e4-4215-8ea9-77156b509798","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js"],"continuationObjective":"Fix existing-PR adoption so durable missions persist the adopted Forgejo PR head branch and head SHA instead of storing only prNumber. Add regression coverage, deploy cc-execution, then re-adopt and ship #5210 followed by #5203."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T18:14:54.177793+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:0d8a5e39-469a-4222-b923-4f4ddf41657f:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"d70ce061-c8d1-46da-9f20-b40ccc189ca7","command_center_event_id":"0d8a5e39-469a-4222-b923-4f4ddf41657f"},{"id":"a153e0e0-eaa7-42f9-a514-eaf60b0bb1a1","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in reasoning required.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"synthesis_required","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"reasoning_required\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"synthesis_required\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-10-06T14:15:50.391675+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T11:46:13.603188+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:9e6a4771-814a-4d3a-8559-fbc6788ac894:owner-progress-heartbeat:119419144","mission_step_id":"c1c54602-88f7-4e2f-9950-5c46185699e7","command_center_event_id":"9e6a4771-814a-4d3a-8559-fbc6788ac894"},{"id":"a155f1c3-17dd-45e4-b200-875382974ede","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-88a0e4334b18","writes":[],"patches":[],"version":1,"approved":true,"missionId":"88a0e433-4b18-4619-a540-7e2425bb5424","objective":"Continue the same user-first Connections mission. Apply the bounded canonical UI changes: add advancedSetup state; reset it on provider selection and dialog close; mark unavailable broker providers as Not ready; use Sign in with provider language for OAuth; explain unavailable platform authorization without blaming the tenant; and hide secret-provider credential fields until Advanced manual setup is explicitly opened. Preserve all existing backend behavior.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/pages/connections/TenantConnections.tsx","edits":[{"new_content":"const[selected,setSelected]=useState<ProviderDefinition|null>(null);const[connecting,setConnecting]=useState(false);const[disconnectArmed,setDisconnectArmed]=useState(false);const[advancedSetup,setAdvancedSetup]=useState(false);const[tab,setTab]=useState<ConnectionsTab>('find');","old_content":"const[selected,setSelected]=useState<ProviderDefinition|null>(null);const[connecting,setConnecting]=useState(false);const[disconnectArmed,setDisconnectArmed]=useState(false);const[tab,setTab]=useState<ConnectionsTab>('find');"},{"new_content":"setDisconnectArmed(false);setAdvancedSetup(false);setSelected(p)};","old_content":"setDisconnectArmed(false);setSelected(p)};"},{"new_content":"{results.map(p=>{const Icon=p.icon,row=connectionMap.get(p.key),connected=providerReady(row),configured=providerConfigured(p),setupPending=p.driver==='broker'&&!configured&&!connected;return <div key={p.key}","old_content":"{results.map(p=>{const Icon=p.icon,row=connectionMap.get(p.key),connected=providerReady(row);return <div key={p.key}"},{"new_content":"<Button size=\"sm\" className=\"shrink-0\" variant={setupPending?'outline':'default'} onClick={()=>chooseProvider(p)} data-connector-action={p.key}>{connected?'Manage':setupPending?'Not ready':'Connect'}</Button>","old_content":"<Button size=\"sm\" className=\"shrink-0\" onClick={()=>chooseProvider(p)} data-connector-action={p.key}>{connected?'Manage':'Connect'}</Button>"},{"new_content":"<Dialog open={Boolean(selected)} onOpenChange={open=>{if(!open&&!connecting){setSelected(null);setDisconnectArmed(false);setAdvancedSetup(false)}}}>","old_content":"<Dialog open={Boolean(selected)} onOpenChange={open=>{if(!open&&!connecting){setSelected(null);setDisconnectArmed(false)}}}>"},{"new_content":"<DialogTitle className=\"flex items-center gap-2\"><selected.icon className=\"h-5 w-5 text-primary\"/>{selectedConnected?`Manage ${selected.label}`:selected.kind==='oauth'?`Sign in with ${selected.label}`:`Connect ${selected.label}`}</DialogTitle>","old_content":"<DialogTitle className=\"flex items-center gap-2\"><selected.icon className=\"h-5 w-5 text-primary\"/>{selectedConnected?`Manage ${selected.label}`:`Connect ${selected.label}`}</DialogTitle>"},{"new_content":"What this unlocks","old_content":"KnockLaunch can use"},{"new_content":"What KnockLaunch needs","old_content":"Permission boundary"},{"new_content":"<p>{brokerAvailability[selected.key]?.setup_message||`${selected.label} sign-in is not ready yet. There is nothing you need to configure. KnockLaunch is finishing the platform connection; once it is enabled, this will be a single Sign in with ${selected.label} button.`}</p>","old_content":"<p>{brokerAvailability[selected.key]?.setup_message||'This provider is in the approved catalog, but platform authorization is not activated yet. No authorization request can start and no provider token can be stored until setup is complete.'}</p>"},{"new_content":"<p>Click Sign in with {selected.label}. {selected.label} handles the sign-in and permission screen. You never give KnockLaunch your {selected.label} password.</p>","old_content":"<p>You’ll sign in directly with {selected.label}. KnockLaunch stores only the provider authorization encrypted on the server; your provider password is never entered here.</p>"},{"new_content":":<div className=\"space-y-4\"><div className=\"rounded-2xl border bg-muted/30 p-4 text-sm text-muted-foreground\"><div className=\"flex gap-3\"><KeyRound className=\"mt-0.5 h-5 w-5 shrink-0 text-primary\"/><div className=\"min-w-0\"><p className=\"font-semibold text-foreground\">{selected.key==='stripe'?'Easy Stripe setup is being prepared':'Advanced connection setup'}</p><p className=\"mt-1\">Most users should not need to enter API credentials. {selected.key==='stripe'?'For now, manual Stripe keys are available only as an advanced fallback.':'Use manual setup only if your provider requires credentials instead of a normal sign-in.'}</p></div></div><Button type=\"button\" variant=\"outline\" size=\"sm\" className=\"mt-3\" onClick={()=>setAdvancedSetup(v=>!v)}>{advancedSetup?'Hide advanced setup':'Advanced manual setup'}</Button></div><div className={advancedSetup?'space-y-4':'hidden'}>{selected.key==='twilio'?","old_content":":<div className=\"space-y-4\"><div className=\"flex gap-3 rounded-2xl border bg-muted/30 p-4 text-sm text-muted-foreground\"><KeyRound className=\"mt-0.5 h-5 w-5 shrink-0 text-primary\"/><p>The credential is encrypted server-side and verified live with {selected.label} before the connection becomes active.</p></div>{selected.key==='twilio'?"},{"new_content":"Connect verifies the credentials immediately with a read-only IRSLogiqs request before the connection becomes active.</p></>:null}</div></div>}","old_content":"Connect verifies the credentials immediately with a read-only IRSLogiqs request before the connection becomes active.</p></>:null}</div>}"},{"new_content":"{(!selectedConnected||selectedConfigured)&&(selected.driver!=='broker'||selectedConfigured)&&(selected.kind==='oauth'||advancedSetup)?<Button onClick={()=>selected.kind==='oauth'?void connectOauth(selected):void connectSecretProvider(selected)} disabled={connecting} data-activate-connection={selected.key}>{connecting?<Loader2 className=\"mr-2 h-4 w-4 animate-spin\"/>:<PlugZap className=\"mr-2 h-4 w-4\"/>}{selectedConnected?`Reconnect ${selected.label}`:selected.kind==='oauth'?`Sign in with ${selected.label}`:`Connect ${selected.label}`}</Button>:null}","old_content":"{(!selectedConnected||selectedConfigured)&&(selected.driver!=='broker'||selectedConfigured)?<Button onClick={()=>selected.kind==='oauth'?void connectOauth(selected):void connectSecretProvider(selected)} disabled={connecting} data-activate-connection={selected.key}>{connecting?<Loader2 className=\"mr-2 h-4 w-4 animate-spin\"/>:<PlugZap className=\"mr-2 h-4 w-4\"/>}{selectedConnected?`Reconnect ${selected.label}`:`Connect ${selected.label}`}</Button>:null}"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"88a0e433-4b18-4619-a540-7e2425bb5424","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"33821a58eb4a57e4f6105283ffcf6c58d782c0237e329dcd3360caf9ccaddac1","replayCount":0,"serializedBytes":7449},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T19:03:20.73886+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:88a0e433-4b18-4619-a540-7e2425bb5424:repository-mutation-intent:33821a58eb4a57e4f6105283ffcf6c58d782c0237e329dcd3360caf9ccaddac1:0","mission_step_id":"b0f93140-fc0b-40e8-bc54-d699a54898ee","command_center_event_id":"88a0e433-4b18-4619-a540-7e2425bb5424"},{"id":"a156617a-9daa-45cf-87cb-e2c44998f30c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/communications-lazy-boundary-20260825","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":8457,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.50.35-defer-existing-pr-refresh","prNumber":736,"terminal":false,"missionId":"5c0cbd26-9e83-446c-a629-cc4954aa8da2","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"5c0cbd26-9e83-446c-a629-cc4954aa8da2"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4634,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T08:31:19.850299+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"736","receipt_type":"execute_mission","idempotency_key":"mission:5c0cbd26-9e83-446c-a629-cc4954aa8da2:execute_mission:canonical_release_transport_retryable","mission_step_id":"581d1cc9-515c-42c0-b961-6c5ec2a41abc","command_center_event_id":"5c0cbd26-9e83-446c-a629-cc4954aa8da2"},{"id":"a1593710-ff6d-4c16-925a-e89fb6c43ef5","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-65384a457f8b","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":65777,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":14949,"firstUsefulResultAt":"2026-10-03T02:47:43.213Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4599,"terminal":false,"missionId":"65384a45-7f8b-40fe-ad3d-fa6cd51bbd1f","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"b283ce3a2ffadc9402abc8b29cce7ebf39d1b81c","timingsMs":{"prReadinessMs":724,"approvedPlanMs":0,"shipAndProveMs":2340,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"65384a45-7f8b-40fe-ad3d-fa6cd51bbd1f"},"performance":null,"deploymentId":"forgejo-main-b283ce3a2ffa","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["irslogiqs-sync"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1841,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:48:05.399547+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4599","receipt_type":"automatic_mission_resume","idempotency_key":"mission:65384a45-7f8b-40fe-ad3d-fa6cd51bbd1f:automatic-mission-resume:4599:canonical_release_reconciliation_pending","mission_step_id":"a0097737-26c7-4248-8eae-141a259bec47","command_center_event_id":"65384a45-7f8b-40fe-ad3d-fa6cd51bbd1f"},{"id":"a15ad45d-7319-4e4b-96f3-67402cc4cace","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-358e24ae4f67","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":52833,"releaseCount":0,"toolCallCount":29,"repeatedCallCount":21,"executorlessWaitMs":264096,"firstUsefulResultAt":"2026-10-05T12:31:50.640Z","recoveryAttemptCount":16,"ownerInterruptionCount":0},"version":null,"prNumber":4902,"terminal":false,"missionId":"358e24ae-4f67-487a-8654-8e9ea25e1c7f","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2230,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"358e24ae-4f67-487a-8654-8e9ea25e1c7f"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T12:34:47.091121+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4902","receipt_type":"automatic_mission_resume","idempotency_key":"mission:358e24ae-4f67-487a-8654-8e9ea25e1c7f:automatic-mission-resume:4902:repair_mission_pr_ready_retryable","mission_step_id":"ebb19e15-faad-403c-b5eb-9b4ce06f8cf5","command_center_event_id":"358e24ae-4f67-487a-8654-8e9ea25e1c7f"},{"id":"a15df849-98de-46a4-889e-434eed23d0cc","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-43feefa098cc","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"43feefa0-98cc-4464-b8f7-d463532417ea","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":89,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":892,"providerAuthMs":0,"ledgerPrepareMs":892,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":892,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":892,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"43feefa0-98cc-4464-b8f7-d463532417ea"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3537,"likelyAffectedFiles":["src/components/maps/UnifiedIntelMap/components/quick-panel/PropertyNotesEditor.tsx","src/__tests__/offlineCanvassingExperience.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:44:54.98439+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:43feefa0-98cc-4464-b8f7-d463532417ea:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"5f716bc5-4b59-47e8-bb38-7b6ae5c4c7fb","command_center_event_id":"43feefa0-98cc-4464-b8f7-d463532417ea"},{"id":"a15fafc4-7b54-45de-82ba-012d68eebe8a","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/fix-mobile-permission-bootstrap","reason":"canonical_release_run_not_observed_after_dispatch","status":"blocked","metrics":{"receiptBytes":2273,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.30.18-repair-continuation-release","prNumber":4128,"terminal":false,"missionId":"c8546b1a-8078-4119-abe3-622661c6ec7e","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"c8546b1a-8078-4119-abe3-622661c6ec7e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":786,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-06T10:59:11.320385+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4128","receipt_type":"execute_mission","idempotency_key":"mission:c8546b1a-8078-4119-abe3-622661c6ec7e:execute_mission:canonical_release_blocked","mission_step_id":"1f174ab1-d174-4540-aced-a17bac0268ae","command_center_event_id":"c8546b1a-8078-4119-abe3-622661c6ec7e"},{"id":"a1619799-8186-4ef6-a3ed-9e3b342436ae","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"dd8d44aab4dd84a2e742bbc6eb9306d1421a03ec","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"dd8d44aab4dd84a2e742bbc6eb9306d1421a03ec","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"064dd1ae200b9145453b475e5396852edf380d711f5a63e342679efeb83fe4ca","forgejoWorkflowProof":{"runId":15046,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T09:15:05.566951+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"dd8d44aab4dd84a2e742bbc6eb9306d1421a03ec","external_id":"forgejo-main-dd8d44aab4dd","receipt_type":"canonical_release_status","idempotency_key":"mission:74c46090-7b95-411f-9dee-e4820e295fc4:forgejo-release-status:dd8d44aab4dd84a2e742bbc6eb9306d1421a03ec:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"dfd0fd7f-8760-4d24-be8d-9fba5e7f1e80","command_center_event_id":"74c46090-7b95-411f-9dee-e4820e295fc4"},{"id":"a161f9f9-3967-4751-b99d-a3d87df22ec5","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":".forgejo/workflows/frontend-startup-watchdog.yml","content":"name: Frontend Startup Watchdog\nrun-name: Frontend Startup Watchdog\n\non:\n  schedule:\n    - cron: \"*/30 * * * *\"\n  workflow_dispatch:\n\njobs:\n  startup-watchdog:\n    name: Browser startup watchdog\n    concurrency:\n      group: knocklaunch-production-frontend\n      cancel-in-progress: true\n    runs-on: docker-8g\n    container:\n      image: mcr.microsoft.com/playwright:v1.53.1-noble\n      options: --memory=2048m\n    timeout-minutes: 8\n    env:\n      CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}\n      CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}\n      KNOCKLAUNCH_WRANGLER_HOME: /tmp/knocklaunch-wrangler-4.112.0\n      NPM_CONFIG_CACHE: /tmp/knocklaunch-npm-cache\n    steps:\n      - uses: https://data.forgejo.org/actions/checkout@v4\n        with:\n          ref: main\n          fetch-depth: 1\n          sparse-checkout: |\n            scripts/frontend-startup-watchdog.mjs\n            scripts/cloudflare-native-version-deploy.mjs\n            wrangler.toml\n          sparse-checkout-cone-mode: false\n\n      - name: Prove startup and self-heal confirmed application failure\n        shell: bash\n        run: |\n          set -euo pipefail\n          browser=\"$(find /ms-playwright -type f \\( -name chrome -o -name headless_shell \\) | head -n 1)\"\n          [ -n \"$browser\" ] && [ -x \"$browser\" ] || { echo \"::error::startup watchdog browser unavailable\"; exit 1; }\n          export KNOCKLAUNCH_CHROMIUM_BIN=\"$browser\"\n\n          set +e\n          node scripts/frontend-startup-watchdog.mjs\n          proof_status=$?\n          set -e\n\n          if [ \"$proof_status\" -eq 0 ]; then\n            echo '{\"ok\":true,\"proofGate\":\"frontend_startup_watchdog_healthy\",\"mutation\":false}'\n            exit 0\n          fi\n\n          if [ \"$proof_status\" -ne 10 ]; then\n            echo \"::error::startup watchdog could not confirm a canonical application boot failure; automatic rollback refused status=$proof_status\"\n            exit 1\n          fi\n\n          echo \"::warning::confirmed canonical frontend startup failure; restoring previous stable frontend only\"\n          KNOCKLAUNCH_RELEASE_ACTION=rollback-previous-stable           KNOCKLAUNCH_ROLLBACK_REASON=scheduled_frontend_startup_watchdog           node scripts/cloudflare-native-version-deploy.mjs\n\n          set +e\n          REQUESTED_SOURCE_SHA=           KNOCKLAUNCH_WATCHDOG_SKIP_APEX_HANDOFF=1           node scripts/frontend-startup-watchdog.mjs\n          recovery_status=$?\n          set -e\n          if [ \"$recovery_status\" -ne 0 ]; then\n            echo \"::error::frontend startup watchdog rollback did not restore canonical application boot status=$recovery_status\"\n            exit 1\n          fi\n\n          echo '{\"ok\":true,\"proofGate\":\"frontend_startup_watchdog_self_healed\",\"scope\":\"frontend_only\",\"boundedRollbackCount\":1}'\n","expectedSha":"301ed6535579789aa483c538d26ebcb0e08fa2c8"}],"branch":"ai/objective-first-repair-e0106e23d39c","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e0106e23-d39c-468c-9e44-8cf6852cce56","objective":"Continue the existing Frontend Startup Watchdog optimization mission. Apply the exact watchdog workflow change only: scheduled full Playwright backstop every 30 minutes instead of every 5 minutes, and cancel stale overlapping watchdog runs. Preserve all existing browser proof and confirmed-failure recovery behavior. Ship through the normal PR, Gate, merge, release and verification path.","sourceSha":"9f904da224e64a57d9e8fa6fcdfabedd664a09ce","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"e0106e23-d39c-468c-9e44-8cf6852cce56","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"8f0839ce0867b5d430f274308d738594797469584e74a5f65947fbcc8032ee33","replayCount":0,"serializedBytes":4438},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:19:24.291011+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e0106e23-d39c-468c-9e44-8cf6852cce56:repository-mutation-intent:8f0839ce0867b5d430f274308d738594797469584e74a5f65947fbcc8032ee33:0","mission_step_id":"dfd577c1-9b6d-4c8a-ac8e-a6690f59e984","command_center_event_id":"e0106e23-d39c-468c-9e44-8cf6852cce56"},{"id":"a1624e18-c2f9-46b4-b01f-b2323217e321","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":1010,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.31-resumable-backup-failover","prNumber":4568,"terminal":false,"missionId":"c9678d76-d847-4867-a809-1f0ddc7e3ede","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"2a0f6b180c67d7597159c5447cd488d0a89c02e9","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"c9678d76-d847-4867-a809-1f0ddc7e3ede"},"performance":null,"deploymentId":"canonical-release-2a0f6b180c67","workflowRunId":31437475528,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1442,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T22:14:49.992611+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"2a0f6b180c67d7597159c5447cd488d0a89c02e9","external_id":"canonical-release-2a0f6b180c67","receipt_type":"ship_and_prove","idempotency_key":"mission:c9678d76-d847-4867-a809-1f0ddc7e3ede:ship_and_prove:ship_and_prove_release_pending:2a0f6b180c67d7597159c5447cd488d0a89c02e9:31437475528","mission_step_id":"acce2e1b-dd33-4c4a-9184-ced7a241b871","command_center_event_id":"c9678d76-d847-4867-a809-1f0ddc7e3ede"},{"id":"a1669431-7161-4ef3-a17a-d313d435a618","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-54768a670c93","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.94-mission-generation-terminality","prNumber":null,"terminal":false,"missionId":"54768a67-0c93-4153-a65a-f0b95d7e3b4c","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":147,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1399,"providerAuthMs":0,"ledgerPrepareMs":1399,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1399,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1399,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"54768a67-0c93-4153-a65a-f0b95d7e3b4c"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4379,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T17:09:52.926751+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:54768a67-0c93-4153-a65a-f0b95d7e3b4c:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"b7229ade-cce5-44d2-9ee7-5da01b47b096","command_center_event_id":"54768a67-0c93-4153-a65a-f0b95d7e3b4c"},{"id":"a1698b43-2162-4bba-bc84-dbb0ca3a4a72","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-edge-production/live":"pending"},"mainSha":"083d786f5da7ef3c73682053985bd2d04e9a7ea5","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"083d786f5da7ef3c73682053985bd2d04e9a7ea5","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-photo-studio"]},"requestContractHash":"88534d2c145b8b6dadebcaa07b2646dcda5eb9951f0c811e1aba6cfe614c0c97","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T03:54:36.104313+00:00","proof_gate":"canonical_release_pending","source_sha":"083d786f5da7ef3c73682053985bd2d04e9a7ea5","external_id":"forgejo-main-083d786f5da7","receipt_type":"canonical_release_status","idempotency_key":"mission:bfc9bcb1-fa86-42a3-8784-6eb2f1c070f4:forgejo-release-status:083d786f5da7ef3c73682053985bd2d04e9a7ea5:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending","mission_step_id":"ae70b8a1-7a56-491d-804e-2461f8b9a624","command_center_event_id":"bfc9bcb1-fa86-42a3-8784-6eb2f1c070f4"},{"id":"a169f1f1-24e7-4bc3-9636-d31911cc3c2d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1224255f9ecf","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":6758,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":111616,"firstUsefulResultAt":"2026-09-27T17:41:51.669Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3890,"terminal":false,"missionId":"1224255f-9ecf-4407-83a9-dc7711ccd2c1","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5421,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:42:05.802104+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3890","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1224255f-9ecf-4407-83a9-dc7711ccd2c1:automatic-mission-resume:3890:repair_mission_pr_ready_retryable","mission_step_id":"27fd1a9f-2834-4a73-b1c5-13e9940fc10f","command_center_event_id":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},{"id":"a16a8518-9982-4d37-be66-7b51372a3407","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.9-finance-report-heartbeat","prNumber":273,"terminal":false,"missionId":"6edeedc2-1979-421e-a3f3-967e122841b6","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"0629e779004766e554ab030478198cd0d86e4edb","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"6edeedc2-1979-421e-a3f3-967e122841b6"},"performance":null,"deploymentId":"forgejo-main-0629e7790047","workflowRunId":886,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["finance-reports"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6876,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"6f522f13-31f4-41af-a806-bcdfbc927a9e","created_at":"2026-08-16T18:04:38.79628+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"0629e779004766e554ab030478198cd0d86e4edb","external_id":"forgejo-main-0629e7790047","receipt_type":"ship_and_prove","idempotency_key":"mission:6edeedc2-1979-421e-a3f3-967e122841b6:ship_and_prove:ship_and_prove_release_pending:0629e779004766e554ab030478198cd0d86e4edb:886","mission_step_id":"49773bf6-c3a9-4708-bc58-f1a740a6e733","command_center_event_id":"6edeedc2-1979-421e-a3f3-967e122841b6"},{"id":"a16b0c5a-c86b-493f-b43e-6b3cb5b85e83","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-e1ea24fd915e","reason":"canonical_release_queue_busy:13483","status":"blocked","metrics":{"receiptBytes":29371,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":4,"executorlessWaitMs":95048,"firstUsefulResultAt":"2026-09-30T21:15:37.242Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.64.27-paul-operational-awareness","prNumber":4277,"terminal":false,"missionId":"e1ea24fd-915e-417f-9164-27900289f7e2","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"da9f93cb926f1310c90576e046d2c08bdbf26bc5","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1169,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":93,"approvedPlanMs":0,"missionSetupMs":1458,"providerAuthMs":0,"shipAndProveMs":548,"ledgerPrepareMs":306,"ledgerReconcileMs":0,"lineageReconcileMs":1152,"resolvePreflightMs":1458,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":306,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"e1ea24fd-915e-417f-9164-27900289f7e2"},"performance":null,"deploymentId":"forgejo-main-da9f93cb926f","releaseState":"pending","workflowRunId":13483,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1409,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T21:17:14.29351+00:00","proof_gate":"canonical_release_blocked","source_sha":"da9f93cb926f1310c90576e046d2c08bdbf26bc5","external_id":"forgejo-main-da9f93cb926f","receipt_type":"execute_mission","idempotency_key":"mission:e1ea24fd-915e-417f-9164-27900289f7e2:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"ebdee018-6fe5-4d29-8da9-2acb909be4bd","command_center_event_id":"e1ea24fd-915e-417f-9164-27900289f7e2"},{"id":"a16b9559-95a2-492b-8bef-0500657b9262","source":"forgejo","status":"retryable","payload":{"branch":"ai/frontend-build-memory-envelope","merged":false,"prNumber":3137,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T17:53:24.312244+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":null,"external_id":"3137","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:dcb3a0f6-90f6-4a6b-9064-4b5b459f975d:closed-pr:3137:unmerged","mission_step_id":"2136042c-81b1-4234-b30b-3238b845788c","command_center_event_id":"dcb3a0f6-90f6-4a6b-9064-4b5b459f975d"},{"id":"a16c1c83-8f12-48f2-b550-87430d4735ff","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze control plane only for the bounded canonical Forgejo workflow edit required to ship the already-authorized Sentry frontend observability integration, then continue the same mission through Gate, squash merge, frontend-only release, and live proof. No other control-plane, auth, tenancy, mail, Supabase, or UI changes.","wordingChanged":false,"canonicalIntent":"Unfreeze control plane only for the bounded canonical Forgejo workflow edit required to ship the already-authorized Sentry frontend observability integration, then continue the same mission through Gate, squash merge, frontend-only release, and live proof. No other control-plane, auth, tenancy, mail, Supabase, or UI changes.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Production KnockLaunch frontend has Sentry error monitoring plus 10% browser tracing, private source maps uploaded during release, and no public source-map files.","proofConditionIds":["proof-repository","proof-production"]}],"objective":"Unfreeze control plane only for the bounded canonical Forgejo workflow edit required to ship the already-authorized Sentry frontend observability integration, then continue the same mission through Gate, squash merge, frontend-only release, and live proof. No other control-plane, auth, tenancy, mail, Supabase, or UI changes.","constraints":[{"id":"bounded-control-plane","statement":"Control plane unfreeze is limited to the one canonical workflow file needed for Sentry frontend build/release wiring; do not alter Command Center runtime or unrelated release architecture.","proofConditionIds":["proof-repository"]},{"id":"privacy","statement":"Default PII collection remains disabled; Session Replay, Sentry Logs, and application metrics remain disabled; telemetry is defensively scrubbed.","proofConditionIds":["proof-repository","proof-production"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-repository","proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-repository","proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Protected main contains the bounded Sentry bootstrap, hidden-source-map build, release-only upload wiring, public-map guard, and regression test.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-production","kind":"runtime","claim":"https://app.knocklaunch.app serves the merged Sentry-enabled frontend artifact after the canonical frontend release.","route":"https://app.knocklaunch.app","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Unfreeze-control-plane-only-for-the-bounded-canonical-Forgejo-workflow-edit-required-to-ship-the-alr","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-repository","proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"10e900ba80195febcb8c10daf9f21ad9200dd9bb20c5dd0f60aa6f2fb2d25fac","requestContractRevision":2,"previousRequestContractHash":"4cf2748231801c912d862913b12c37426f4edd76eb0569d8c92ca2291a1c90b8"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T14:26:29.560062+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:2ca7331f-f6a6-4f56-99a4-8284982cf1ba:request-contract:10e900ba80195febcb8c10daf9f21ad9200dd9bb20c5dd0f60aa6f2fb2d25fac","mission_step_id":"22a73f70-572a-46e7-85f9-9b08bd5a82e0","command_center_event_id":"2ca7331f-f6a6-4f56-99a4-8284982cf1ba"},{"id":"a16d612d-3a79-4e82-8495-dd640ba7e2c4","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-67816ed70ead","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":2,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2677,"terminal":false,"missionId":"67816ed7-0ead-4d40-a967-ab15be1b59a5","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"5067604272ff7f9cd733dddd3b7b99d8edfe3d21","timingsMs":{"prReadinessMs":531,"approvedPlanMs":0,"shipAndProveMs":16989,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"67816ed7-0ead-4d40-a967-ab15be1b59a5"},"performance":null,"deploymentId":"forgejo-main-5067604272ff","workflowRunId":7897,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":794,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T20:01:12.816875+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"2677","receipt_type":"automatic_mission_resume","idempotency_key":"mission:67816ed7-0ead-4d40-a967-ab15be1b59a5:automatic-mission-resume:2677:canonical_release_reconciliation_pending","mission_step_id":"a5a43c37-e883-4e45-a240-810a30f6ea1b","command_center_event_id":"67816ed7-0ead-4d40-a967-ab15be1b59a5"},{"id":"a16dad53-db30-4e83-a977-87d62b386465","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-015dda5fc091","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":null,"terminal":false,"missionId":"015dda5f-c091-4ea4-a947-68674020caf2","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":316,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":244,"ledgerReconcileMs":0,"lineageReconcileMs":72,"resolvePreflightMs":316,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":244,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"015dda5f-c091-4ea4-a947-68674020caf2"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1537,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T17:54:02.348596+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:015dda5f-c091-4ea4-a947-68674020caf2:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"6abd51bc-6ffa-458a-810f-24b0fa08ed5e","command_center_event_id":"015dda5f-c091-4ea4-a947-68674020caf2"},{"id":"a16ddead-f418-4515-89e2-57f653308a91","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","handoff":{"reason":"merged_source_requires_release_proof","toLane":"production-release-conductor","fromLane":"cc-execution","resumeFromCheckpoint":null},"capability":"production-release","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":null},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"production-release\",\"resumeFromCheckpoint\":null,\"handoff\":{\"fromLane\":\"cc-execution\",\"toLane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"resumeFromCheckpoint\":null}},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\",\"capability\":\"production-release\",\"resumeFromCheckpoint\":null,\"handoff\":{\"fromLane\":\"cc-execution\",\"toLane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"resumeFromCheckpoint\":null}},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-06T20:52:31.555253+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-c0df4bef6af3\",\"prNumber\":5210,\"sourceSha\":\"c07f56b114f616243e10ed120da76f7cf1cfbd98\",\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T18:20:48.673345+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:d8e6d6c6-4283-4f2d-b6b6-3aab64a3c342:owner-progress-heartbeat:119420723","mission_step_id":"c37f07a5-e706-41c1-9334-3f932a50cf40","command_center_event_id":"d8e6d6c6-4283-4f2d-b6b6-3aab64a3c342"},{"id":"a16e3583-b104-4bc4-87ba-2c3c167c17ad","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-673b4b6f4d63","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.220-terminal-step-projection","prNumber":3487,"terminal":false,"missionId":"673b4b6f-4d63-4034-9d88-4f590824c437","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8088,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1858,"missionSetupMs":296,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":296,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":296,"repositoryMutationMs":6230,"repositoryProviderMs":6230,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3902,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":296,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2328},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"673b4b6f-4d63-4034-9d88-4f590824c437"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3183,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-23T03:28:15.152964+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3487","receipt_type":"execute_mission","idempotency_key":"mission:673b4b6f-4d63-4034-9d88-4f590824c437:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"ec6c12ea-49b5-4e3e-abf0-9cede08344f8","command_center_event_id":"673b4b6f-4d63-4034-9d88-4f590824c437"},{"id":"a16e48bb-3484-4645-a445-208f3c9ef0b7","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b0f8cc6896a4","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.218-durable-async-repository-mutation","prNumber":3474,"terminal":false,"missionId":"6835a574-b9f1-4152-bbfd-cd6a4940045e","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5919,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3174,"approvedPlanMs":2614,"missionSetupMs":584,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":584,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":584,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":584,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"6835a574-b9f1-4152-bbfd-cd6a4940045e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2371,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:17:06.949225+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3474","receipt_type":"execute_mission","idempotency_key":"mission:6835a574-b9f1-4152-bbfd-cd6a4940045e:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"ee4a7978-af66-47bb-b604-7d14c7ff8cf2","command_center_event_id":"6835a574-b9f1-4152-bbfd-cd6a4940045e"},{"id":"a16f6bef-a73b-4211-bde4-a21a1cadacf6","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"8c54603e70aa09d5b2b09f160d4ee51cf25361b8","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"proof-repository","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"76fb7f34ee831f24b2b1a534d5ebe8be75cdff23","prNumber":2724,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/8048/jobs/1","mergeCommitSha":"8c54603e70aa09d5b2b09f160d4ee51cf25361b8"}],"requestContractHash":"61f80be9484b906b3d8269b689e52898d39d4039123b0de46d1c85caabb9de0d"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T04:48:19.398453+00:00","proof_gate":"request_contract_repository_verified","source_sha":"8c54603e70aa09d5b2b09f160d4ee51cf25361b8","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:ec053e76-e597-4a74-8316-056295e1047e:request-contract-repository:61f80be9484b906b3d8269b689e52898d39d4039123b0de46d1c85caabb9de0d:8c54603e70aa09d5b2b09f160d4ee51cf25361b8","mission_step_id":"ebe6c1ae-ddb3-49f0-8b6d-ce0292121d27","command_center_event_id":"ec053e76-e597-4a74-8316-056295e1047e"},{"id":"a171b0c5-e2c2-4a54-b4e8-6dd570ad488a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/redfish-multiservice-prospecting-corrective-20260902","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":5347,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":null,"terminal":false,"missionId":"a0f64142-3a76-47a4-856e-e72e1326619e","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":233,"missionSetupMs":3262},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"a0f64142-3a76-47a4-856e-e72e1326619e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5835,"likelyAffectedFiles":["src/components/CallFlow/hooks/useLeadQueue.ts","src/components/TenantRouter.tsx","src/components/CallFlow/hooks/usePerformanceMonitoring.ts","src/components/CRMUserMenu.tsx","src/components/GlobalCommandPalette.tsx","src/components/NewLeadIntakeForm.tsx","src/components/SignupForm.tsx","src/components/AdaptiveBusinessDashboard.tsx","src/components/admin/AdminPage.tsx","src/components/admin/AdminPageContext.tsx","src/components/admin/EdgeFunctionControlPlanePanel.tsx","src/components/admin/EnhancedTenantManagement.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T17:49:42.150227+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a0f64142-3a76-47a4-856e-e72e1326619e:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"f0a4a228-8204-400b-bd53-96319a583d21","command_center_event_id":"a0f64142-3a76-47a4-856e-e72e1326619e"},{"id":"a173ebf5-0b47-4696-b846-2e0a47258285","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextStep\":{\"key\":\"runtime_proof\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"production-release-conductor\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"runtime-proof\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-29T02:22:12.469944+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-f303b5fb9508\",\"prNumber\":4054,\"sourceSha\":\"dce6cc3bc350efc8cc03f0b6e443c4c31f987afb\",\"deploymentId\":\"forgejo-main-dce6cc3bc350\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T23:26:30.024044+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:f303b5fb-9508-4235-b99c-b8743624c850:owner-progress-heartbeat:119375865","mission_step_id":"b15db327-ad81-4517-a7ad-ece7bc1cdaf5","command_center_event_id":"f303b5fb-9508-4235-b99c-b8743624c850"},{"id":"a175ab29-759d-4fcc-99f6-3d2f196cbe5b","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Apply the same exact Buildx dependency repair using the unique cc-execution provisioning step anchor. Install and verify docker-buildx-plugin for release-cc-execution, align the release invariant and authoritative ccExecutionReleaseToolingPolicy, then ship through Gate, squash merge, cc-execution-only release, refreeze, and live Witness health proof.","wordingChanged":false,"canonicalIntent":"Apply the same exact Buildx dependency repair using the unique cc-execution provisioning step anchor. Install and verify docker-buildx-plugin for release-cc-execution, align the release invariant and authoritative ccExecutionReleaseToolingPolicy, then ship through Gate, squash merge, cc-execution-only release, refreeze, and live Witness health proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"cc-execution successfully builds and deploys the Visual Witness Cloudflare Container and canonical Witness health is live through virtual failover.","proofConditionIds":["proof-release","proof-health"]}],"objective":"Apply the same exact Buildx dependency repair using the unique cc-execution provisioning step anchor. Install and verify docker-buildx-plugin for release-cc-execution, align the release invariant and authoritative ccExecutionReleaseToolingPolicy, then ship through Gate, squash merge, cc-execution-only release, refreeze, and live Witness health proof.","constraints":[{"id":"constraint-1","statement":"Mutation scope is limited to the cc-execution release workflow, its invariant, and authoritative release tooling policy; release only cc-execution.","proofConditionIds":["proof-release"]},{"id":"constraint-2","statement":"No GitHub dependency is created or restored.","proofConditionIds":["proof-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-release","kind":"release","claim":"The Buildx corrective source passes KnockLaunch Gate, squash merges, and protected-main release successfully deploys cc-execution only.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]},{"id":"proof-health","kind":"runtime","claim":"Canonical inspect_route_health returns 200/live via the virtual runner instead of 502 while Render primary remains unavailable.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"d611c0999983c0eea5814ec6e729eb940c0095eb8c61fafc667d22692683a699","requestContractRevision":3,"previousRequestContractHash":"bae6406896ada19cbc7a03e0195878343555718dfaaeee2f734888224b65184e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T11:32:46.51378+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:53ff7441-ff8f-4fd3-90ef-5b7e5b43ebd7:request-contract:d611c0999983c0eea5814ec6e729eb940c0095eb8c61fafc667d22692683a699","mission_step_id":"d2aa9a83-6d2a-4311-b101-b504eae69c1c","command_center_event_id":"53ff7441-ff8f-4fd3-90ef-5b7e5b43ebd7"},{"id":"a175f7fc-d603-4bde-9f7e-0662280d8162","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/mission-ledger.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner previously authorized temporarily unfreezing the control plane for necessary reliability improvements and refreezing it afterward. This exact scope repairs the release-orchestration bottleneck without changing tenant or product behavior.","baseSha":"ac663fcf7052e314fac920ee8da3394da760012a","issuedAt":1789157200471,"expiresAt":1789157380471,"missionId":"adc9f8a7-dc29-4724-9df0-afc076604415","authorizationId":"b5019277-3f81-4380-8c02-b9601a7a9d4b","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:06:41.164309+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ac663fcf7052e314fac920ee8da3394da760012a","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:b5019277-3f81-4380-8c02-b9601a7a9d4b","mission_step_id":"bfc99602-22a4-4f94-b129-c981a9136413","command_center_event_id":"adc9f8a7-dc29-4724-9df0-afc076604415"},{"id":"a17a89af-58e2-444b-8761-20fc3323a050","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_frozen_explicit_unfreeze_required","fingerprint":"e7c1f7f2cbafb00017549e9032634a6898a8004cd0bc058f6dc2229e6b0a2812"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:48:08.289668+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:f8eb11fb-f40c-4322-b916-0fe03efe99e4:repository-mutation-intent-blocked:e7c1f7f2cbafb00017549e9032634a6898a8004cd0bc058f6dc2229e6b0a2812","mission_step_id":"8356d12c-9b57-4c0f-9ab8-e9a04f6915f0","command_center_event_id":"f8eb11fb-f40c-4322-b916-0fe03efe99e4"},{"id":"a17af66b-d805-4a96-84d2-05c6667baa90","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":"a514a569-14ed-43fa-adb4-adf69ad41666","phase":"pull_request","branch":"ai/objective-first-repair-b12435dbf7ef","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.223-durable-witness-lane-affinity","prNumber":3516,"terminal":false,"missionId":"b12435db-f7ef-405e-be18-a1925c9a62a4","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"4133e79cd5944de7a04f6ca807d3b7993d0dedcb","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5225,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":626,"approvedPlanMs":0,"missionSetupMs":599,"providerAuthMs":0,"shipAndProveMs":4059,"ledgerPrepareMs":372,"ledgerReconcileMs":0,"lineageReconcileMs":227,"resolvePreflightMs":599,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":372,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"b12435db-f7ef-405e-be18-a1925c9a62a4"},"performance":null,"deploymentId":"forgejo-main-4133e79cd594","releaseState":null,"visualWitness":{"role":null,"jobId":"a514a569-14ed-43fa-adb4-adf69ad41666","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":1,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2543,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T12:07:22.423757+00:00","proof_gate":"canonical_release_dispatched","source_sha":"4a37a6c69f0df2e451f90b77ee5775cc991fe387","external_id":"forgejo-main-4a37a6c69f0d","receipt_type":"execute_mission","idempotency_key":"mission:b12435db-f7ef-405e-be18-a1925c9a62a4:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"2312e761-dd20-4459-a05c-c598c95f7695","command_center_event_id":"b12435db-f7ef-405e-be18-a1925c9a62a4"},{"id":"a17c0372-8458-4446-83cd-2e576ea069b3","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"implementation\"],\"pendingIds\":[\"preflight\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-04T02:50:52.343382+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/fix-existing-tenant-entry-selector-r202608040240\",\"prNumber\":3945,\"sourceSha\":\"f68ed6a572c32ab306398e169bd6984b0068301f\",\"deploymentId\":\"canonical-release-f68ed6a572c3\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T22:14:21.13605+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:722cd1dd-df42-4598-83b5-55651c8ab3a1:owner-progress-heartbeat:119329497","mission_step_id":"52da8ee0-b250-440c-93c3-c27ee9352bbe","command_center_event_id":"722cd1dd-df42-4598-83b5-55651c8ab3a1"},{"id":"a17d0d5f-b713-461e-a502-1b79669a0a40","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"5250b603-7869-43e8-b3cb-1f078dbc8700"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:36:31.073832+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:5250b603-7869-43e8-b3cb-1f078dbc8700:mission-cancel:5250b603-7869-43e8-b3cb-1f078dbc8700","mission_step_id":"84e78645-1166-46c1-aa29-2f4b1187a9e0","command_center_event_id":"5250b603-7869-43e8-b3cb-1f078dbc8700"},{"id":"a181d98e-7251-489f-9dc3-54fb6f287c2c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5f0e6213d597","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":12093,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-24T19:23:05.292Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3664,"terminal":false,"missionId":"5f0e6213-d597-45e3-80d8-68cfd935282f","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4317,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":737,"missionSetupMs":286,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":286,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":286,"repositoryMutationMs":3580,"repositoryProviderMs":3580,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2140,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":286,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1440},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"5f0e6213-d597-45e3-80d8-68cfd935282f"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3359,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T19:23:10.785438+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3664","receipt_type":"execute_mission","idempotency_key":"mission:5f0e6213-d597-45e3-80d8-68cfd935282f:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"ccc2ac72-d1ae-4ec4-afdc-c3ebd52164a9","command_center_event_id":"5f0e6213-d597-45e3-80d8-68cfd935282f"},{"id":"a182c239-8a75-418b-8257-985fe9930e76","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"2214e4757ba2b50a13a787ffb751053c9c7e2a9e","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"universal-settings","satisfied":false,"statement":"Every existing tenant/business type opens the same shared tenant-aware Settings hub, preserving the current card-based Settings architecture.","proofConditionIds":["repo-universal","live-settings"]},{"id":"profile-card","satisfied":false,"statement":"Profile is a first-class card in the Settings hub and opens the shared tenant-aware profile experience without escaping or changing the active tenant.","proofConditionIds":["repo-universal","live-settings-profile"]},{"id":"shared-navigation","satisfied":false,"statement":"Shared shell/header/avatar Profile and Settings links resolve to the canonical shared implementation, and legacy divergent entry points are normalized without breaking working deep links.","proofConditionIds":["repo-navigation","live-settings-profile"]},{"id":"future-inheritance","satisfied":false,"statement":"Future tenants inherit Settings and Profile automatically from shared routing/default registry behavior with no tenant-specific code, configuration, or business-type allowlist.","proofConditionIds":["repo-future-regression"]},{"id":"release-live","satisfied":false,"statement":"The exact change passes the canonical gate, squash-merges, releases only the affected frontend target, and is proven in production.","proofConditionIds":["gate-merge-release","live-settings","live-settings-profile"]}],"satisfied":false,"constraints":[{"id":"no-per-tenant","satisfied":false,"statement":"Do not create tenant-specific Settings/Profile implementations when they can resolve through the shared primitive.","proofConditionIds":["repo-universal","repo-future-regression"]},{"id":"no-allowlist","satisfied":false,"statement":"Do not use a business-type or tenant allowlist to provide Settings/Profile.","proofConditionIds":["repo-future-regression"]},{"id":"preserve-settings-ui","satisfied":false,"statement":"Preserve the newly standardized card-based Settings implementation and existing working settings cards.","proofConditionIds":["repo-universal","live-settings"]},{"id":"tenant-isolation","satisfied":false,"statement":"Settings/Profile navigation must preserve active tenant context and tenant isolation.","proofConditionIds":["repo-navigation","live-settings-profile"]},{"id":"minimal-scope","satisfied":false,"statement":"Prefer shared frontend routing/default-registry primitives; do not add backend, schema, auth, or data changes unless current source proves they are required.","proofConditionIds":["repo-universal"]},{"id":"canonical-release","satisfied":true,"statement":"Use Forgejo only: one fresh ai/* branch, one PR, KnockLaunch Gate, squash merge, deploy only affected production targets, no GitHub.","proofConditionIds":["gate-merge-release"]},{"id":"capability-completeness","satisfied":false,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo-universal","repo-navigation","repo-future-regression","gate-merge-release","live-settings"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo-universal","repo-navigation","repo-future-regression","gate-merge-release","live-settings"]}],"contractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-universal","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"repo-navigation","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"repo-future-regression","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"gate-merge-release","kind":"release","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e"},"required":true,"satisfied":true},{"id":"live-settings","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e"},"required":true,"satisfied":true},{"id":"live-settings-profile","kind":"interaction","evidence":{"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository","interaction"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T17:15:58.213301+00:00","proof_gate":"request_contract_pending","source_sha":"2214e4757ba2b50a13a787ffb751053c9c7e2a9e","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:f672ddee-76c6-42ec-8f55-cbdc0c4ba367:request-contract:9f076b9e0a81a7cf92d262e997211435404ef4418ccbac547d7b39d85e15491e:2214e4757ba2b50a13a787ffb751053c9c7e2a9e:pending:repository,interaction","mission_step_id":"45653f14-e2c2-4505-a435-2c6f37187db3","command_center_event_id":"f672ddee-76c6-42ec-8f55-cbdc0c4ba367"},{"id":"a1847839-788f-406e-a858-8244e2264346","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"bf1001f2166a3aae411cc592e8509a4cf575e56f","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"MUTATE AND SHIP the platform-wide Connections hardening using ONLY the verified current owners unless machine-readable dependency evidence requires a companion: src/pages/connections/TenantConnections.tsx, supabase/functions/tenant-provider-connections/index.ts, and src/__tests__/contracts/tenant-provider-connections-source-completeness.contract.test.ts. Preserve existing working Google multi-account behavior. Close the remaining contract gaps so every broker connection is explicitly bound to tenant_id + authenticated user/owner + provider account identity + granted scopes, Google supports multiple accounts with Primary/Secondary/Legacy/Import roles, deliberate primary switching, per-account disconnect, tenant-scoped state/cache reads, and no cross-tenant fallback. The UI must clearly show connected account identity, role, services/scopes, and which account is primary. Add/strengthen contract tests for these invariants. Do not touch unrelated shell, witness, or generic routing files. Use one focused PR, canonical Gate, squash merge, release only frontend + tenant-provider-connections edge function if changed, then prove production.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"6900196588f110031a6f4ba273253c8e829284bbd4e6d4c899f9f34dc837e685","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"6900196588f110031a6f4ba273253c8e829284bbd4e6d4c899f9f34dc837e685"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:44:41.001403+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"bf1001f2166a3aae411cc592e8509a4cf575e56f","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:c57271a2-40ac-4ba4-8938-54b7d36abed6:request-contract:6900196588f110031a6f4ba273253c8e829284bbd4e6d4c899f9f34dc837e685:bf1001f2166a3aae411cc592e8509a4cf575e56f:verified:","mission_step_id":"dd581724-9b5d-48e2-9e76-def01717e90a","command_center_event_id":"c57271a2-40ac-4ba4-8938-54b7d36abed6"},{"id":"a1850035-bf28-4209-9f81-efa92bfc8f7d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-06d350f3111a","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2851,"terminal":false,"missionId":"06d350f3-111a-4413-9e3a-514669ccfc30","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1046,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"06d350f3-111a-4413-9e3a-514669ccfc30"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1284,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T19:14:28.72654+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2851","receipt_type":"automatic_mission_resume","idempotency_key":"mission:06d350f3-111a-4413-9e3a-514669ccfc30:automatic-mission-resume:2851:repair_mission_waiting_for_gate","mission_step_id":"5bb8d25e-e895-4af9-9979-ff46685ca7f5","command_center_event_id":"06d350f3-111a-4413-9e3a-514669ccfc30"},{"id":"a1854b2f-7269-49cd-8fee-c745323278bd","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-9e413d0ddf3f","prNumber":3270,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"1c858a705b52ec711b8448e238a05c926d7e9175","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T05:21:38.64075+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"1c858a705b52ec711b8448e238a05c926d7e9175","external_id":"3270","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:9e413d0d-df3f-4196-bd1a-c29651b693f8:merged-pr:3270:1c858a705b52ec711b8448e238a05c926d7e9175","mission_step_id":"28ff00fe-58dd-48b8-925b-5c4f1f749d14","command_center_event_id":"9e413d0d-df3f-4196-bd1a-c29651b693f8"},{"id":"a18578c8-42d3-482a-b8ea-8001675e43c0","source":"forgejo","status":"waiting","payload":{"branch":"ai/fix-core-edge-config-duplicate","prNumber":4164,"nextAction":null,"mergeCommitSha":"1e7b7a6018d51da08b268dcb42992fa14b3efd6e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T13:29:31.329817+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"1e7b7a6018d51da08b268dcb42992fa14b3efd6e","external_id":"4164","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:f9ebd1a5-5de1-4e1b-a201-6dfc8e5dd4cb:merged-pr:4164:1e7b7a6018d51da08b268dcb42992fa14b3efd6e","mission_step_id":"e74d25e4-fff7-4c6b-925b-3349148dc09c","command_center_event_id":"f9ebd1a5-5de1-4e1b-a201-6dfc8e5dd4cb"},{"id":"a185fc29-1250-4331-8410-edd5aa6ba949","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Ship and prove the current exact Big Papi dependency-pass PR #2899 with no additional source changes. The branch now contains the bounded operating-loop work: Pop-Up Money exposes New Order while preserving non-payable order_request behavior; Pop-Up launch checks selected flavor tubs against existing usable tub-equivalent inventory; active Pop-Up shows New Order, Sales & Payments, Review Inventory, and End Pop-Up; closeMobileVendorPopupSession closes the exact tenant/user popup row idempotently without deleting schedule history; the Pop-Up MODES card switches to Run Pop-Up when live and exposes New Order; Event Day visibly shows balance due in the event summary, closeout Money step, and Money today line. Preserve all existing pricing, customer-specific rates, inventory persistence, event workflow, routes, and tenant isolation. Run KnockLaunch Gate, squash merge this same PR, deploy only the affected frontend production target, and verify the live frontend source identity. Visual Witness is not requested.","wordingChanged":false,"canonicalIntent":"Ship and prove the current exact Big Papi dependency-pass PR #2899 with no additional source changes. The branch now contains the bounded operating-loop work: Pop-Up Money exposes New Order while preserving non-payable order_request behavior; Pop-Up launch checks selected flavor tubs against existing usable tub-equivalent inventory; active Pop-Up shows New Order, Sales & Payments, Review Inventory, and End Pop-Up; closeMobileVendorPopupSession closes the exact tenant/user popup row idempotently without deleting schedule history; the Pop-Up MODES card switches to Run Pop-Up when live and exposes New Order; Event Day visibly shows balance due in the event summary, closeout Money step, and Money today line. Preserve all existing pricing, customer-specific rates, inventory persistence, event workflow, routes, and tenant isolation. Run KnockLaunch Gate, squash merge this same PR, deploy only the affected frontend production target, and verify the live frontend source identity. Visual Witness is not requested.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"popup-loop","statement":"Pop-Up launch blocks impossible usable-tub loadouts, live Pop-Ups can be ended deterministically, and active Pop-Up surfaces order, money, and inventory next actions.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"order-loop","statement":"Pop-Up Money exposes New Order and preserves order_request as non-payable.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"event-money","statement":"Event Day visibly exposes remaining balance due in summary and closeout money context.","proofConditionIds":["repository-proof","runtime-proof"]}],"objective":"Ship and prove the current exact Big Papi dependency-pass PR #2899 with no additional source changes. The branch now contains the bounded operating-loop work: Pop-Up Money exposes New Order while preserving non-payable order_request behavior; Pop-Up launch checks selected flavor tubs against existing usable tub-equivalent inventory; active Pop-Up shows New Order, Sales & Payments, Review Inventory, and End Pop-Up; closeMobileVendorPopupSession closes the exact tenant/user popup row idempotently without deleting schedule history; the Pop-Up MODES card switches to Run Pop-Up when live and exposes New Order; Event Day visibly shows balance due in the event summary, closeout Money step, and Money today line. Preserve all existing pricing, customer-specific rates, inventory persistence, event workflow, routes, and tenant isolation. Run KnockLaunch Gate, squash merge this same PR, deploy only the affected frontend production target, and verify the live frontend source identity. Visual Witness is not requested.","constraints":[{"id":"scope","statement":"No migrations, duplicate pricing/inventory systems, unrelated tenant changes, or Visual Witness. Release frontend only.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repository-proof","runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repository-proof","kind":"repository","claim":"PR #2899 exact source contains the bounded Big Papi dependency wiring and passes KnockLaunch Gate before squash merge.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"runtime-proof","kind":"runtime","claim":"Production frontend is live on the merged Big Papi dependency-pass source identity.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Ship-and-prove-the-current-exact-Big-Papi-dependency-pass-PR-2899-with-no-additional-source-changes.","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["repository-proof","runtime-proof"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"7d84ec027a395e95940e6d2c3dc54ba85629af255ff311f46e878a6e36a5bc22","requestContractRevision":2,"previousRequestContractHash":"d1562910f2f15ba9aa1c3125dc00f481fa76f91fcaf375b0c2f746f70ba60814"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T13:43:02.104944+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:65f9c078-7455-4320-a65f-993b85d1ae16:request-contract:7d84ec027a395e95940e6d2c3dc54ba85629af255ff311f46e878a6e36a5bc22","mission_step_id":"5f41ae3a-9c72-485e-af90-62e94154209e","command_center_event_id":"65f9c078-7455-4320-a65f-993b85d1ae16"},{"id":"a1864f70-584a-489d-b4f0-7300c06a7061","source":"visual-sandbox","status":"failed","payload":{"ok":false,"jobId":"16cf25e7-a12b-43b1-abaf-6ccae1991c58","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-14a884b49a8b","reason":null,"status":"completed_unverified","metrics":{"receiptBytes":82017,"releaseCount":0,"toolCallCount":41,"repeatedCallCount":23,"executorlessWaitMs":689349,"firstUsefulResultAt":"2026-10-01T03:04:21.716Z","recoveryAttemptCount":16,"ownerInterruptionCount":0},"version":null,"prNumber":4314,"terminal":true,"missionId":"14a884b4-9a8b-411a-a44b-ff2035a0069f","operation":"visual_proof_status","proofGate":"visual_witness_objective_acceptance_unproven","sourceSha":"41b09beee4d98673ef680a90813291c548097c23","timingsMs":{"queue":1051,"total":63695,"execution":62644},"nextAction":null,"receiptRef":{"mode":"full","missionId":"14a884b4-9a8b-411a-a44b-ff2035a0069f"},"performance":null,"deploymentId":"forgejo-main-41b09beee4d9","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"16cf25e7-a12b-43b1-abaf-6ccae1991c58","tenant":"669daee1-57e8-4960-937c-ce397106f32e","runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":1,"supervisorId":"16cf25e7-a12b-43b1-abaf-6ccae1991c58","failureReason":null,"observedRoute":"/tennex-tax-solutions/dashboard","runnerVersion":"paul-9dc4fd1c93c0","attemptLineage":[{"jobId":"ef4c571a-1405-4654-a784-cc11634ed68f","attempt":1,"category":"completed_with_findings","sourceSha":"9dc4fd1c93c0834eec199a0147375ceaaaba8457","startedAt":"2026-10-01T03:13:35.571Z","completedAt":"2026-10-01T03:14:38.713Z","runtimeLane":"cc-execution -> DigitalOcean PAUL -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"paul-9dc4fd1c93c0","browserLaunchReason":"virtual_runtime_headless","checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":4,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":4}}],"missionOutcome":"completed_with_findings","requestedRoute":"/tennex-tax-solutions/dashboard","runnerSourceSha":"9dc4fd1c93c0834eec199a0147375ceaaaba8457","selectedViewports":["desktop","mobile"],"checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":4,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":4},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":13608,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"ENDED","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":47099,"ownerActionRequired":false,"ownerFacingTerminal":true,"requestContractHash":"bcf6b50307c232d1fa2e99147ed0978a32a3cebeab742575ae28d91471d6cd5d","continuationRequired":false,"requestContractState":"pending"},"tenant_id":"669daee1-57e8-4960-937c-ce397106f32e","created_at":"2026-10-01T03:15:53.004278+00:00","proof_gate":"visual_witness_infrastructure_retry_exhausted","source_sha":"paul-9dc4fd1c93c0","external_id":"16cf25e7-a12b-43b1-abaf-6ccae1991c58","receipt_type":"visual_proof_status","idempotency_key":"mission:14a884b4-9a8b-411a-a44b-ff2035a0069f:visual:16cf25e7-a12b-43b1-abaf-6ccae1991c58:failed","mission_step_id":"f9ae82db-3fe9-4d33-96ff-3515e8bc44a6","command_center_event_id":"14a884b4-9a8b-411a-a44b-ff2035a0069f"},{"id":"a187267d-0bbb-48ad-8779-ff84b1446b74","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-d15fc5e188e8","prNumber":3898,"nextAction":null,"mergeCommitSha":"a67ad570316a0c26f1e29a15a07317637b22d622","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:32:32.744434+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"a67ad570316a0c26f1e29a15a07317637b22d622","external_id":"3898","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:merged-pr:3898:a67ad570316a0c26f1e29a15a07317637b22d622","mission_step_id":"2307069e-bd3b-4c00-87ca-dbea4994d043","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"a1881fb6-8fab-40a4-b37d-39e53b1e667b","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"forgejo_same_source_release_failed_no_redispatch:406","status":"blocked","metrics":{"receiptBytes":13427,"releaseCount":0,"toolCallCount":18,"repeatedCallCount":14,"ownerInterruptionCount":0},"version":null,"prNumber":139,"terminal":false,"missionId":"150544c5-a88e-4b11-9aee-0cc667df84e5","operation":"automatic_mission_resume","proofGate":"canonical_release_blocked","sourceSha":"d8f55e75a532af77a098246934d1df30b442be5e","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"150544c5-a88e-4b11-9aee-0cc667df84e5"},"performance":null,"deploymentId":"forgejo-main-d8f55e75a532","workflowRunId":406,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":331,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T16:59:53.36789+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"139","receipt_type":"automatic_mission_resume","idempotency_key":"mission:150544c5-a88e-4b11-9aee-0cc667df84e5:automatic-mission-resume:139:canonical_release_blocked","mission_step_id":"15a1111a-56bc-40e4-a89e-3bd56dad63be","command_center_event_id":"150544c5-a88e-4b11-9aee-0cc667df84e5"},{"id":"a188d2d5-d652-42c8-ac73-c99f2b03c76e","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T08:33:13.056202+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5163,\"sourceSha\":\"d059e784c8fb33ceeb0e36baec00e818ef3753e8\",\"deploymentId\":\"forgejo-main-d059e784c8fb\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T08:03:36.944853+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6cd825d0-ddfe-4532-8e8e-5f72704f5be5:owner-progress-heartbeat:119418254","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"a18b1429-b5b0-41dd-a8d1-c38c3f2bae05","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"301e9d09074b843ad7cca8a7f1532232cf9c57be","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"route-family-resolution","satisfied":true,"statement":"Explicit route-family inspection language resolves as one multi-route family Witness request instead of a single-page ambiguity.","proofConditionIds":["production"]}],"satisfied":true,"constraints":[{"id":"preserve-real-ambiguity","satisfied":true,"statement":"Genuinely ambiguous tenant identity must still fail closed or clarify; route-family scope alone must not authorize guessing the tenant.","proofConditionIds":["production"]},{"id":"reuse-witness","satisfied":true,"statement":"Use canonical linked-route Witness traversal rather than a second crawler.","proofConditionIds":["production"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["production"]}],"contractHash":"bf33ab23812776ed03b9acd7e8894c1104cd7073d852d4b8b6159e992e76fb70","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"bf33ab23812776ed03b9acd7e8894c1104cd7073d852d4b8b6159e992e76fb70"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution","frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T22:33:40.589635+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"301e9d09074b843ad7cca8a7f1532232cf9c57be","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:c5c5938e-33e7-4744-ba9a-5a339bfa91d2:request-contract:bf33ab23812776ed03b9acd7e8894c1104cd7073d852d4b8b6159e992e76fb70:301e9d09074b843ad7cca8a7f1532232cf9c57be:verified:","mission_step_id":"983951f4-6cf5-4d22-9fd6-9d7af81ba700","command_center_event_id":"c5c5938e-33e7-4744-ba9a-5a339bfa91d2"},{"id":"a18b237e-ae06-4ce3-9b67-239333366590","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/visual-witness-customer-domain-trust-20260828","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":6667,"releaseCount":1,"toolCallCount":6,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":950,"terminal":false,"missionId":"f36f22f7-6bae-4298-84f4-6b6fe8a14ccf","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"926f9ae16ab3f6c4b61f229d751ff5502f323b30","timingsMs":{"prReadinessMs":270,"approvedPlanMs":0,"shipAndProveMs":11370},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f36f22f7-6bae-4298-84f4-6b6fe8a14ccf"},"performance":null,"deploymentId":"forgejo-main-926f9ae16ab3","workflowRunId":3179,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2041,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T19:14:52.104992+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"950","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f36f22f7-6bae-4298-84f4-6b6fe8a14ccf:automatic-mission-resume:950:canonical_release_dispatched","mission_step_id":"b3e0fb67-cf27-4fe5-bc38-5fb37333b28c","command_center_event_id":"f36f22f7-6bae-4298-84f4-6b6fe8a14ccf"},{"id":"a18c0cce-e160-45ca-bd7f-e8d6b96d9bb5","source":"cc-execution","status":"waiting","payload":{"body":{"body":"Customer-first phone gallery intake, customer-scoped Drive masters, multi-select bulk actions, automatic metadata review, preliminary Auto Grader, grading handoff, reassignment and safe removal.","ship":true,"files":[{"path":"src/pages/card-grading/PCGReceiveCardsGallery.tsx","content":"import {useEffect,useMemo,useState} from 'react';\nimport {Archive,CheckCircle2,CheckSquare,ImagePlus,Loader2,Pencil,RefreshCw,ScanLine,Square,Trash2,UploadCloud,UserRoundCheck,WandSparkles,XCircle} from 'lucide-react';\nimport {supabase} from '@/integrations/supabase/client';\nimport {useToast} from '@/hooks/use-toast';\nimport {cn} from '@/lib/utils';\n\nconst DRIVE_MEDIA_FN=\\`${import.meta.env.VITE_SUPABASE_URL}/functions/v1/pcg-google-drive-media\\`;\nconst previewMediaUrl=(value:string|null|undefined)=>{const url=String(value||'').trim();if(!url||!url.includes('/pcg-google-drive-media/media?')||url.includes('variant='))return url;return url+'&variant=preview'};\n\ntype Submission={id:string;submission_number:string;customer_contact_id:string|null;customer_name:string|null;customer_email:string|null;expected_card_count:number;status:string};\ntype Card={id:string;submission_id:string;sequence_number:number;player_character:string|null;year:string|null;brand_set:string|null;card_number:string|null;category:string|null;card_description:string|null;variation:string|null;autograph_present:boolean|null;front_image_url:string|null;back_image_url:string|null;status:string;grade:number|null;grade_label:string|null;cert_number:string|null;metadata:Record<string,any>|null};\ntype IntakeDraft={id:string;front?:File;back?:File;status:'queued'|'uploading'|'done'|'failed';error?:string};\ntype EditDraft={player:string;year:string;set:string;number:string;category:string;description:string;autograph:''|'yes'|'no';tags:string};\ntype MediaResult={url:string;fileId:string};\n\nfunction DraftCard({item,index}:{item:IntakeDraft;index:number}){const[src,setSrc]=useState('');useEffect(()=>{const file=item.front||item.back;if(!file){setSrc('');return}const url=URL.createObjectURL(file);setSrc(url);return()=>URL.revokeObjectURL(url)},[item.front,item.back]);return <article className=\"overflow-hidden rounded-2xl border border-white/[0.09] bg-black/35\"><div className=\"relative aspect-[3/4] bg-[#070708]\">{src?<img src={src} alt=\"\" className=\"h-full w-full object-contain p-2\"/>:<div className=\"grid h-full place-items-center\"><ImagePlus className=\"h-7 w-7 text-white/15\"/></div>}<span className=\"absolute left-2 top-2 rounded-full bg-black/75 px-2 py-1 text-[9px] font-black text-white/70\">#{index+1}</span>{item.status==='done'?<CheckCircle2 className=\"absolute right-2 top-2 h-5 w-5 text-emerald-400\"/>:item.status==='failed'?<XCircle className=\"absolute right-2 top-2 h-5 w-5 text-rose-400\"/>:item.status==='uploading'?<Loader2 className=\"absolute right-2 top-2 h-5 w-5 animate-spin text-[#d8bb78]\"/>:null}</div><div className=\"p-2.5\"><div className=\"text-[10px] font-black uppercase tracking-[.08em] text-white/48\">{item.front?'Front ready':'Front missing'} · {item.back?'Back ready':'Back missing'}</div>{item.error?<div className=\"mt-1 line-clamp-2 text-[10px] text-rose-300\">{item.error}</div>:null}</div></article>}\n\nfunction Field({label,value,onChange,placeholder=''}:{label:string;value:string;onChange:(value:string)=>void;placeholder?:string}){return <label className=\"block\"><span className=\"text-[9px] font-black uppercase tracking-[.14em] text-white/45\">{label}</span><input value={value} onChange={event=>onChange(event.target.value)} placeholder={placeholder} className=\"mt-1.5 h-11 w-full rounded-xl border border-white/[0.10] bg-black/30 px-3 text-sm text-white outline-none placeholder:text-white/25 focus:border-[#d8bb78]/55\"/></label>}\n\nexport default function PCGReceiveCardsGallery({tenantId,initialSubmissionId='',onRequestCreateOrder}:{tenantId:string;initialSubmissionId?:string;onRequestCreateOrder?:()=>void}){\n  const{toast}=useToast();\n  const[submissions,setSubmissions]=useState<Submission[]>([]);\n  const[cards,setCards]=useState<Card[]>([]);\n  const[selectedSubmissionId,setSelectedSubmissionId]=useState(initialSubmissionId);\n  const[drafts,setDrafts]=useState<IntakeDraft[]>([]);\n  const[selectedIds,setSelectedIds]=useState<Set<string>>(()=>new Set());\n  const[moveTarget,setMoveTarget]=useState('');\n  const[busy,setBusy]=useState(false);\n  const[loading,setLoading]=useState(true);\n  const[editingId,setEditingId]=useState<string|null>(null);\n  const[edit,setEdit]=useState<EditDraft>({player:'',year:'',set:'',number:'',category:'',description:'',autograph:'',tags:''});\n\n  const selectedSubmission=submissions.find(item=>item.id===selectedSubmissionId)||null;\n  const gallery=useMemo(()=>selectedSubmissionId?cards.filter(card=>card.submission_id===selectedSubmissionId):[],[cards,selectedSubmissionId]);\n  const selectedCards=useMemo(()=>gallery.filter(card=>selectedIds.has(card.id)),[gallery,selectedIds]);\n  const editingCard=editingId?cards.find(card=>card.id===editingId)||null:null;\n\n  async function load(){\n    if(!tenantId)return;\n    setLoading(true);\n    const[s,c]=await Promise.all([\n      (supabase as any).from('card_grading_submissions').select('id,submission_number,customer_contact_id,customer_name,customer_email,expected_card_count,status').eq('tenant_id',tenantId).order('created_at',{ascending:false}).limit(150),\n      (supabase as any).from('card_grading_cards').select('id,submission_id,sequence_number,player_character,year,brand_set,card_number,category,card_description,variation,autograph_present,front_image_url,back_image_url,status,grade,grade_label,cert_number,metadata').eq('tenant_id',tenantId).order('created_at',{ascending:false}).limit(600)\n    ]);\n    if(s.error)toast({title:'Could not load PCG customer orders',description:s.error.message,variant:'destructive'});\n    if(c.error)toast({title:'Could not load PCG cards',description:c.error.message,variant:'destructive'});\n    const open=((s.data||[]) as Submission[]).filter(row=>!['shipped','picked_up','delivered','closed'].includes(String(row.status||'')));\n    setSubmissions(open);setCards((c.data||[]) as Card[]);\n    setSelectedSubmissionId(current=>open.some(row=>row.id===initialSubmissionId)?initialSubmissionId:(open.some(row=>row.id===current)?current:''));\n    setLoading(false);\n  }\n  useEffect(()=>{void load()},[tenantId,initialSubmissionId]);\n  useEffect(()=>{setSelectedIds(new Set());setDrafts([]);setEditingId(null)},[selectedSubmissionId]);\n\n  async function post(path:string,body:Record<string,unknown>){\n    const{data}=await supabase.auth.getSession();if(!data.session?.access_token)throw new Error('Please sign in again.');\n    const response=await fetch(DRIVE_MEDIA_FN+path,{method:'POST',headers:{Authorization:'Bearer '+data.session.access_token,'Content-Type':'application/json'},body:JSON.stringify({tenant_id:tenantId,...body})});\n    const payload=await response.json().catch(()=>null);\n    if(!response.ok||payload?.ok!==true){const error=new Error(payload?.error||'PCG action failed') as Error&{code?:string};error.code=payload?.code;throw error}\n    return payload;\n  }\n  async function analyze(ids:string[],purpose:'metadata'|'grade',silent=false){\n    if(!ids.length)return;\n    try{await post('/analyze-card',{card_ids:ids,purpose});if(!silent)toast({title:purpose==='grade'?'Preliminary Auto Grader complete':'Card details analyzed',description:purpose==='grade'?'Suggestions were saved for review. No official PCG grade was applied.':'High-confidence blanks were filled; uncertain fields stay flagged for Anthony.'})}\n    catch(error){const coded=error as Error&{code?:string};if(coded.code==='vision_provider_unconfigured'){if(!silent)toast({title:'Auto analysis needs the vision provider',description:'The workflow is wired and failed closed. Nothing was guessed or silently graded.',variant:'destructive'});return}if(!silent)toast({title:'Analysis could not finish',description:coded.message,variant:'destructive'})}\n  }\n  function addFronts(files:File[]){setDrafts(current=>{const next=[...current];for(const file of files){const empty=next.findIndex(item=>!item.front);if(empty>=0)next[empty]={...next[empty],front:file,status:'queued',error:undefined};else next.push({id:crypto.randomUUID(),front:file,status:'queued'})}return next})}\n  function addBacks(files:File[]){setDrafts(current=>{const next=[...current];for(const file of files){const empty=next.findIndex(item=>!item.back);if(empty>=0)next[empty]={...next[empty],back:file,status:'queued',error:undefined};else next.push({id:crypto.randomUUID(),back:file,status:'queued'})}return next})}\n  async function uploadMedia(file:File,draft:IntakeDraft,side:'front'|'back',importKey:string):Promise<MediaResult>{\n    if(!selectedSubmissionId)throw new Error('Choose the customer/order first.');\n    const{data}=await supabase.auth.getSession();if(!data.session?.access_token)throw new Error('Please sign in again.');\n    const params=new URLSearchParams({tenant_id:tenantId,submission_id:selectedSubmissionId,session_key:'pcg-receive-'+selectedSubmissionId,import_key:importKey,key:draft.id,side,name:file.name,content_type:file.type||'application/octet-stream'});\n    const response=await fetch(DRIVE_MEDIA_FN+'/upload?'+params.toString(),{method:'POST',headers:{Authorization:'Bearer '+data.session.access_token,'Content-Type':file.type||'application/octet-stream'},body:file});\n    const payload=await response.json().catch(()=>null);if(!response.ok||!payload?.ok)throw new Error(payload?.error||'Google Drive upload failed');\n    return{url:String(payload.url||''),fileId:String(payload.file_id||'')};\n  }\n  async function uploadBatch(){\n    if(!selectedSubmission)return toast({title:'Choose the customer first',description:'Every card must belong to a customer/order before PCG accepts images.',variant:'destructive'});\n    const ready=drafts.filter(item=>item.front||item.back);if(!ready.length)return toast({title:'Add card photos first'});\n    setBusy(true);\n    const existing=cards.filter(card=>card.submission_id===selectedSubmission.id);let nextSequence=Math.max(0,...existing.map(card=>Number(card.sequence_number)||0))+1;const storedIds:string[]=[];\n    for(const item of ready){\n      const sequence=nextSequence++,importKey=('pcg:'+selectedSubmission.id+':'+item.id).toLowerCase();\n      try{\n        setDrafts(current=>current.map(row=>row.id===item.id?{...row,status:'uploading',error:undefined}:row));\n        const front=item.front?await uploadMedia(item.front,item,'front',importKey):null,back=item.back?await uploadMedia(item.back,item,'back',importKey):null;\n        const metadata={pcg_ai:{status:'pending',requested_purpose:'metadata',field_confidence:{},human_review_required:true},image_storage:'google_workspace_drive',drive_media:{provider:'google_workspace',front_file_id:front?.fileId||null,back_file_id:back?.fileId||null}};\n        const{data,error}=await(supabase as any).from('card_grading_cards').upsert({tenant_id:tenantId,submission_id:selectedSubmission.id,sequence_number:sequence,status:'received',import_key:importKey,front_image_url:front?.url||null,back_image_url:back?.url||null,metadata},{onConflict:'tenant_id,import_key'}).select('id').single();\n        if(error)throw error;storedIds.push(String(data.id));setDrafts(current=>current.map(row=>row.id===item.id?{...row,status:'done'}:row));\n      }catch(error){setDrafts(current=>current.map(row=>row.id===item.id?{...row,status:'failed',error:error instanceof Error?error.message:String(error)}:row))}\n    }\n    if(storedIds.length)await analyze(storedIds,'metadata',true);await load();setBusy(false);\n    toast({title:storedIds.length+' card'+(storedIds.length===1?'':'s')+' added to '+(selectedSubmission.customer_name||selectedSubmission.submission_number),description:'PCG stored the master images in that customer’s Drive folder and queued automatic detail review.'});\n  }\n  function toggle(id:string){setSelectedIds(current=>{const next=new Set(current);next.has(id)?next.delete(id):next.add(id);return next})}\n  function selectAll(){setSelectedIds(current=>current.size===gallery.length?new Set():new Set(gallery.map(card=>card.id)))}\n  function startEdit(){if(selectedCards.length!==1)return toast({title:'Select exactly one card to edit'});const card=selectedCards[0],meta=card.metadata||{};setEditingId(card.id);setEdit({player:card.player_character||'',year:card.year||'',set:card.brand_set||'',number:card.card_number||'',category:card.category||'',description:card.card_description||card.variation||'',autograph:card.autograph_present==null?'':card.autograph_present?'yes':'no',tags:Array.isArray(meta.tags)?meta.tags.join(', '):''})}\n  async function saveEdit(){if(!editingCard)return;setBusy(true);const meta=editingCard.metadata||{};const{error}=await(supabase as any).from('card_grading_cards').update({player_character:edit.player.trim()||null,year:edit.year.trim()||null,brand_set:edit.set.trim()||null,card_number:edit.number.trim()||null,category:edit.category.trim()||null,card_description:edit.description.trim()||null,variation:edit.description.trim()||null,autograph_present:edit.autograph===''?null:edit.autograph==='yes',metadata:{...meta,tags:edit.tags.split(/[;,]/).map(v=>v.trim()).filter(Boolean),manual_reviewed_at:new Date().toISOString()},updated_at:new Date().toISOString()}).eq('tenant_id',tenantId).eq('id',editingCard.id);setBusy(false);if(error)return toast({title:'Could not save card details',description:error.message,variant:'destructive'});toast({title:'Card details saved'});setEditingId(null);await load()}\n  async function moveToGrade(){if(!selectedSubmission||!selectedCards.length)return;setBusy(true);try{const order=['received','intake_imaging','authentication','grading'];let index=order.indexOf(selectedSubmission.status);if(index<0)throw new Error('This customer order is not in an intake stage.');for(let next=index+1;next<order.length;next++){const{error}=await(supabase as any).rpc('advance_pcg_grading_submission',{p_tenant_id:tenantId,p_submission_id:selectedSubmission.id,p_status:order[next]});if(error)throw error}toast({title:'Moved to Grade Cards',description:selectedSubmission.submission_number+' is ready in the grading workflow.'});setSelectedIds(new Set());await load()}catch(error){toast({title:'Could not move to Grade Cards',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setBusy(false)}}\n  async function rehome(){if(!selectedCards.length||!moveTarget)return;const target=submissions.find(row=>row.id===moveTarget);if(!target)return;if(!window.confirm('Move '+selectedCards.length+' selected card'+(selectedCards.length===1?'':'s')+' to '+(target.customer_name||target.submission_number)+'?'))return;setBusy(true);try{await post('/rehome-cards',{card_ids:selectedCards.map(card=>card.id),target_submission_id:moveTarget});toast({title:'Customer assignment updated',description:'The card records and managed Drive masters moved together.'});setSelectedIds(new Set());await load()}catch(error){toast({title:'Could not move cards',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setBusy(false)}}\n  async function removeSelected(){if(!selectedCards.length)return;if(!window.confirm('Remove '+selectedCards.length+' selected card'+(selectedCards.length===1?'':'s')+' and their managed PCG Drive images? This cannot be undone.'))return;setBusy(true);try{await post('/delete-cards',{card_ids:selectedCards.map(card=>card.id)});toast({title:'Selected cards removed'});setSelectedIds(new Set());await load()}catch(error){toast({title:'Could not remove cards',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setBusy(false)}}\n\n  return <div data-pcg-receive-cards-gallery=\"true\" className=\"w-full text-white\">\n    <section className=\"border-b border-white/[0.08] pb-5\"><div className=\"flex flex-wrap items-end gap-3\"><div className=\"mr-auto\"><div className=\"flex items-center gap-2 text-[10px] font-black uppercase tracking-[.18em] text-[#d8bb78]\"><ScanLine className=\"h-4 w-4\"/>Receive Cards</div><h1 className=\"mt-2 text-3xl font-black tracking-[-.04em] sm:text-4xl\">Customer-first card intake</h1><p className=\"mt-2 max-w-3xl text-sm leading-6 text-white/52\">Pick the customer once. Photograph the stack. PCG keeps every card, image, automatic detail suggestion and grading handoff attached to that customer.</p></div><button onClick={()=>void load()} className=\"grid h-11 w-11 place-items-center rounded-xl border border-white/[0.10]\"><RefreshCw className={cn('h-4 w-4',loading&&'animate-spin')}/></button></div></section>\n    <section className=\"mt-5 rounded-2xl border border-white/[0.09] bg-black/28 p-4\"><div className=\"flex flex-col gap-3 lg:flex-row lg:items-end\"><label className=\"min-w-0 flex-1\"><span className=\"text-[10px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">1 · Customer / grading order</span><select value={selectedSubmissionId} onChange={event=>setSelectedSubmissionId(event.target.value)} disabled={busy} className=\"mt-2 h-12 w-full rounded-xl border border-white/[0.10] bg-[#09090a] px-3 text-sm font-bold text-white outline-none\"><option value=\"\">Choose customer/order first</option>{submissions.map(row=><option key={row.id} value={row.id}>{row.customer_name||'Customer'} · {row.submission_number} · {row.status.replaceAll('_',' ')}</option>)}</select></label><button onClick={onRequestCreateOrder} className=\"h-12 rounded-xl border border-[#d8bb78]/30 px-4 text-xs font-black text-[#e8cc8d]\">+ New customer / order</button></div>{selectedSubmission?<div className=\"mt-3 flex flex-wrap gap-2 text-[10px] font-bold text-white/55\"><span className=\"rounded-full border border-white/[0.08] px-2.5 py-1\">{selectedSubmission.customer_name||'Customer'}</span><span className=\"rounded-full border border-white/[0.08] px-2.5 py-1\">{gallery.length} cards on file</span><span className=\"rounded-full border border-white/[0.08] px-2.5 py-1\">Expected {Number(selectedSubmission.expected_card_count||0)}</span></div>:<p className=\"mt-3 text-xs text-amber-100/75\">PCG will not create orphan card records. Choose or create the customer before adding photos.</p>}</section>\n    <section className={cn('mt-5 rounded-2xl border border-white/[0.09] bg-black/22 p-4',!selectedSubmission&&'pointer-events-none opacity-40')}><div className=\"flex flex-wrap items-center gap-3\"><div className=\"mr-auto\"><div className=\"text-[10px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">2 · Photograph the stack</div><h2 className=\"mt-1 text-lg font-black\">Phone batch capture</h2><p className=\"mt-1 text-xs text-white/48\">Shoot or choose all fronts, then all backs. PCG pairs them by position so Anthony can keep moving.</p></div><label className=\"inline-flex h-11 cursor-pointer items-center gap-2 rounded-xl bg-[#d8bb78] px-4 text-xs font-black text-black\"><UploadCloud className=\"h-4 w-4\"/>Add fronts<input type=\"file\" multiple accept=\"image/*\" capture=\"environment\" className=\"hidden\" onChange={event=>{addFronts(Array.from(event.target.files||[]));event.currentTarget.value=''}}/></label><label className=\"inline-flex h-11 cursor-pointer items-center gap-2 rounded-xl border border-white/[0.12] px-4 text-xs font-black\"><UploadCloud className=\"h-4 w-4\"/>Add backs<input type=\"file\" multiple accept=\"image/*\" capture=\"environment\" className=\"hidden\" onChange={event=>{addBacks(Array.from(event.target.files||[]));event.currentTarget.value=''}}/></label></div>{drafts.length?<><div className=\"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 xl:grid-cols-8\">{drafts.map((item,index)=><DraftCard key={item.id} item={item} index={index}/>)}</div><div className=\"mt-4 flex flex-wrap gap-2\"><button disabled={busy} onClick={()=>void uploadBatch()} className=\"h-11 rounded-xl bg-[#d8bb78] px-5 text-xs font-black text-black disabled:opacity-50\">{busy?'Working…':'Store '+drafts.filter(item=>item.front||item.back).length+' cards'}</button><button disabled={busy} onClick={()=>setDrafts([])} className=\"h-11 rounded-xl border border-white/[0.10] px-4 text-xs font-black text-white/65\">Clear batch</button></div></>:<div className=\"mt-4 grid min-h-32 place-items-center rounded-2xl border border-dashed border-white/[0.08] text-center\"><div><ImagePlus className=\"mx-auto h-7 w-7 text-white/16\"/><div className=\"mt-2 text-sm font-black text-white/48\">No photos loaded yet</div></div></div>}</section>\n    <section className=\"mt-6 border-t border-white/[0.08] pt-5\"><div className=\"flex flex-wrap items-end gap-3\"><div className=\"mr-auto\"><div className=\"text-[10px] font-black uppercase tracking-[.15em] text-white/40\">3 · Review only what needs attention</div><h2 className=\"mt-1 text-xl font-black\">Card gallery</h2><p className=\"mt-1 text-xs text-white/48\">Tap cards to multi-select. Automatic detail extraction and the Auto Grader are review tools — final PCG grading stays human-approved.</p></div>{gallery.length?<button onClick={selectAll} className=\"inline-flex h-10 items-center gap-2 rounded-xl border border-white/[0.10] px-3 text-xs font-black\">{selectedIds.size===gallery.length?<CheckSquare className=\"h-4 w-4\"/>:<Square className=\"h-4 w-4\"/>}{selectedIds.size===gallery.length?'Clear all':'Select all'}</button>:null}</div>\n      {selectedCards.length?<div className=\"sticky bottom-24 z-30 mt-4 rounded-2xl border border-[#d8bb78]/25 bg-[#080809]/95 p-3 shadow-2xl backdrop-blur-xl\"><div className=\"mb-3 flex items-center gap-3\"><span className=\"mr-auto text-xs font-black text-[#e8cc8d]\">{selectedCards.length} selected</span><button onClick={()=>setSelectedIds(new Set())} className=\"text-[10px] font-black uppercase tracking-[.12em] text-white/50\">Clear</button></div><div className=\"grid gap-2 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5\"><button disabled={busy} onClick={()=>void moveToGrade()} className=\"h-11 rounded-xl bg-[#d8bb78] px-3 text-xs font-black text-black disabled:opacity-50\">Move to Grade Cards</button><button disabled={busy} onClick={async()=>{setBusy(true);await analyze(selectedCards.map(card=>card.id),'grade');await load();setBusy(false)}} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-violet-300/25 bg-violet-300/[.08] px-3 text-xs font-black text-violet-100 disabled:opacity-50\"><WandSparkles className=\"h-4 w-4\"/>Auto Grade Selected</button><button disabled={busy} onClick={startEdit} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-white/[0.10] px-3 text-xs font-black\"><Pencil className=\"h-4 w-4\"/>Edit/Add Details</button><button disabled={busy} onClick={async()=>{setBusy(true);await analyze(selectedCards.map(card=>card.id),'metadata');await load();setBusy(false)}} className=\"h-11 rounded-xl border border-white/[0.10] px-3 text-xs font-black\">Analyze Details</button><button disabled={busy} onClick={()=>void removeSelected()} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-rose-300/20 bg-rose-400/[.06] px-3 text-xs font-black text-rose-200\"><Trash2 className=\"h-4 w-4\"/>Delete / Remove</button></div><div className=\"mt-2 grid gap-2 sm:grid-cols-[1fr_auto]\"><select value={moveTarget} onChange={event=>setMoveTarget(event.target.value)} className=\"h-11 rounded-xl border border-white/[0.10] bg-black/40 px-3 text-xs font-bold text-white\"><option value=\"\">Move/assign to another customer order</option>{submissions.filter(row=>row.id!==selectedSubmissionId).map(row=><option key={row.id} value={row.id}>{row.customer_name||'Customer'} · {row.submission_number}</option>)}</select><button disabled={busy||!moveTarget} onClick={()=>void rehome()} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-[#d8bb78]/25 px-4 text-xs font-black text-[#e8cc8d] disabled:opacity-40\"><UserRoundCheck className=\"h-4 w-4\"/>Move/Assign Customer</button></div></div>:null}\n      {editingCard?<div className=\"mt-4 rounded-2xl border border-white/[0.10] bg-black/35 p-4\"><div className=\"flex items-center gap-3\"><div className=\"mr-auto\"><div className=\"text-[10px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">Detailed editor</div><div className=\"mt-1 text-sm font-black\">{editingCard.player_character||editingCard.brand_set||'Selected card'}</div></div><button onClick={()=>setEditingId(null)} className=\"text-xs font-black text-white/50\">Close</button></div><div className=\"mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-4\"><Field label=\"Player\" value={edit.player} onChange={player=>setEdit(v=>({...v,player}))}/><Field label=\"Year\" value={edit.year} onChange={year=>setEdit(v=>({...v,year}))}/><Field label=\"Brand / set\" value={edit.set} onChange={set=>setEdit(v=>({...v,set}))}/><Field label=\"Card #\" value={edit.number} onChange={number=>setEdit(v=>({...v,number}))}/><Field label=\"Sport / category\" value={edit.category} onChange={category=>setEdit(v=>({...v,category}))}/><Field label=\"Variation / parallel\" value={edit.description} onChange={description=>setEdit(v=>({...v,description}))}/><Field label=\"Tags\" value={edit.tags} onChange={tags=>setEdit(v=>({...v,tags}))}/><Field label=\"Autograph\" value={edit.autograph} onChange={value=>setEdit(v=>({...v,autograph:value==='yes'?'yes':value==='no'?'no':''}))} placeholder=\"yes / no\"/></div><button disabled={busy} onClick={()=>void saveEdit()} className=\"mt-4 h-11 rounded-xl bg-[#d8bb78] px-5 text-xs font-black text-black\">Save reviewed details</button></div>:null}\n      {!selectedSubmission?<div className=\"mt-4 grid min-h-40 place-items-center rounded-2xl border border-dashed border-white/[0.08] bg-black/15 text-center\"><div><Archive className=\"mx-auto h-7 w-7 text-white/15\"/><div className=\"mt-2 text-sm font-black text-white/52\">Choose a customer to open their card folder.</div></div></div>:gallery.length?<div className=\"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 xl:grid-cols-8\">{gallery.map(card=>{const ai=card.metadata?.pcg_ai||{},auto=card.metadata?.auto_grader||{},selected=selectedIds.has(card.id);const review=ai.status==='ready'?'Details ready':ai.status==='review_needed'?'Review needed':ai.status==='pending'?'Analyzing':'Not analyzed';return <button type=\"button\" key={card.id} onClick={()=>toggle(card.id)} className={cn('overflow-hidden rounded-2xl border bg-black/45 text-left transition',selected?'border-[#d8bb78]/70 ring-2 ring-[#d8bb78]/20':'border-white/[0.08] hover:border-white/[0.18]')}><div className=\"relative aspect-[3/4] overflow-hidden bg-[#080809]\">{card.front_image_url?<img src={previewMediaUrl(card.front_image_url)} alt=\"\" loading=\"lazy\" decoding=\"async\" className=\"h-full w-full object-contain p-2\"/>:<div className=\"grid h-full place-items-center\"><Archive className=\"h-7 w-7 text-white/12\"/></div>}<span className=\"absolute left-2 top-2 rounded-full bg-black/75 p-1.5\">{selected?<CheckSquare className=\"h-4 w-4 text-[#e8cc8d]\"/>:<Square className=\"h-4 w-4 text-white/55\"/>}</span>{auto.suggested_grade!=null?<div className=\"absolute bottom-2 right-2 rounded-lg bg-violet-950/90 px-2 py-1 text-[9px] font-black text-violet-100\">AI {String(auto.suggested_grade)}</div>:null}</div><div className=\"p-2.5\"><div className=\"truncate text-xs font-black\">{card.player_character||card.brand_set||('Card #'+card.sequence_number)}</div><div className=\"mt-1 truncate text-[10px] text-white/42\">{[card.year,card.brand_set,card.card_number&&('#'+card.card_number)].filter(Boolean).join(' · ')||'Details pending'}</div><div className={cn('mt-2 text-[9px] font-black uppercase tracking-[.08em]',review==='Review needed'?'text-amber-200':review==='Details ready'?'text-emerald-300':'text-white/35')}>{review}</div></div></button>})}</div>:<div className=\"mt-4 grid min-h-40 place-items-center rounded-2xl border border-dashed border-white/[0.08] bg-black/15 text-center\"><div><Archive className=\"mx-auto h-7 w-7 text-white/15\"/><div className=\"mt-2 text-sm font-black text-white/52\">This customer folder is ready for its first card.</div></div></div>}\n    </section>\n  </div>\n}\n"},{"path":"src/pages/crm/PcgWorkspace.tsx","content":"import {useEffect,useMemo,useState,type ComponentType} from 'react';\nimport {useLocation} from 'react-router-dom';\nimport {useMultiTenant} from '@/contexts/MultiTenantContext';import {supabase} from '@/integrations/supabase/client';import {toast} from '@/lib/notify';import {resolveTenantMediaBranding} from '@/lib/tenants/tenantMediaBranding';import {PCGCardVaultContent} from '@/pages/card-grading/PCGWorkspace';import PCGReceiveCardsGallery from '@/pages/card-grading/PCGReceiveCardsGallery';import PCGLegacyMigrationCenter from '@/pages/card-grading/PCGLegacyMigrationCenter';import PCGOnboardingReadiness from '@/pages/card-grading/PCGOnboardingReadiness';\nimport {Award,BadgeDollarSign,Boxes,Check,ChevronRight,CircleDollarSign,ClipboardCheck,CreditCard,Database,ExternalLink,FileCheck2,Menu,PackageCheck,Plus,Search,Settings,ShieldCheck,Truck,UploadCloud,Users,X} from 'lucide-react';\nimport {PCG_GRADING_SCALE,findPCGGrade,formatPCGGrade} from '@/pages/card-grading/pcgGradingScale';\nimport PCGQualityControlPanel from '@/pages/card-grading/PCGQualityControlPanel';\nimport TenantSettingsPage from '@/pages/settings/TenantSettingsPage';\nimport PCGBatchPublishingCenter from '@/pages/card-grading/PCGBatchPublishingCenter';\ntype Submission={id:string;submission_number:string;customer_name:string|null;customer_email:string|null;customer_phone:string|null;service_tier:string;service_price:number;expected_card_count:number;status:string;delivery_method:string|null;received_at:string;due_at:string|null;tracking_in:string|null;tracking_out:string|null;notes:string|null;payment_status:string|null;payment_reference:string|null;paid_at:string|null;customer_contact_id:string|null;return_shipping_method:string|null;return_shipping_cost:number|null;return_insurance_amount:number|null};type Card={id:string;submission_id:string;sequence_number:number;cert_number:string|null;category:string|null;year:string|null;brand_set:string|null;player_character:string|null;card_number:string|null;card_description:string|null;autograph_present:boolean|null;variation:string|null;declared_value:number|null;grade:number|null;grade_label:string|null;status:string;front_image_url:string|null;back_image_url:string|null;slab_image_url:string|null;grader_notes:string|null;population_count:number|null};type CardDraft={category:string;year:string;brand_set:string;player_character:string;card_number:string;card_description:string;autograph_present:''|'yes'|'no';declared_value:string;grade:string;grade_label:string;cert_number:string;grader_notes:string};type DetailDraft={tracking_in:string;tracking_out:string;notes:string;payment_status:string;payment_reference:string;return_shipping_method:string;return_shipping_cost:string;return_insurance_amount:string};type Tab='today'|'vault'|'queue'|'submissions'|'certs'|'collectors'|'inventory'|'shipping'|'money'|'migration'|'readiness'|'settings';type IconType=ComponentType<{className?:string}>;\nconst tabs:[Tab,string,IconType][]=[['today','Work Queue',Award],['vault','Capture Cards',UploadCloud],['queue','Grade Cards',Award],['submissions','Receive Cards',Boxes],['certs','Certificates',ShieldCheck],['collectors','Customers',Users],['shipping','Fulfill & Ship',Truck],['inventory','Publish & Sell',PackageCheck],['money','Payments',CircleDollarSign],['migration','Migration',Database],['readiness','Readiness',ClipboardCheck],['settings','Settings',Settings]];const mobilePrimary:[Tab,string,IconType][]=[['today','Queue',Award],['vault','Capture',UploadCloud],['queue','Grade',Award],['certs','Certs',ShieldCheck]];\nconst tiers={two_weeks:{label:'2 Weeks',price:12,days:14},one_week:{label:'1 Week',price:15,days:7},three_days:{label:'3 Days',price:20,days:3},same_day:{label:'Same Day',price:25,days:0}} as const;const statuses=['received','intake_imaging','authentication','grading','encapsulation','qa','ready','shipped','picked_up'] as const;const terminalStatuses=new Set(['shipped','picked_up']);const PCG_STRIPE_FALLBACK='https://buy.stripe.com/3clbJ05UQc3w9KLcBR5Ne00';const PCG_LOGO='https://images.squarespace-cdn.com/content/v1/6853034cd711cc2240276cf3/2c2615b1-2fab-4ba1-8cff-8d8e49b6b184/diamond%2Blogo.png';const PCG_STORE_IMAGE='https://images.squarespace-cdn.com/content/v1/6853034cd711cc2240276cf3/83d3ec70-169f-4d22-8916-15e422fb0e52/IMG_8156%2B%281%29.jpeg';const previewMediaUrl=(value:string|null|undefined)=>{const url=String(value||'').trim();if(!url||!url.includes('/pcg-google-drive-media/media?')||url.includes('variant='))return url;return url+'&variant=preview'};const pretty=(value:string)=>value.replaceAll('_',' ').replace(/\\b\\w/g,char=>char.toUpperCase());const inputClass='w-full border border-white/[0.10] bg-black/30 px-3.5 py-3 text-sm text-white outline-none transition placeholder:text-white/28 focus:border-[#d8bb78]/55';const panelClass='border border-white/[0.08] bg-[#09090a]/88';\nconst hasCanonicalGrade=(card:Pick<Card,'grade_label'>)=>Boolean(findPCGGrade(card.grade_label));\nfunction PCGGradeSelect({draft,onChange}:{draft:CardDraft;onChange:(next:CardDraft)=>void}){const selected=findPCGGrade(draft.grade_label);const legacyLabel=String(draft.grade_label||'').trim();const legacyNumeric=!legacyLabel&&draft.grade.trim()?draft.grade.trim():'';return <div className=\"sm:col-span-2\"><label className=\"block\"><span className=\"text-[9px] font-black uppercase tracking-[.14em] text-[#d8bb78]\">Official PCG grade</span><select value={draft.grade_label} onChange={event=>{const option=findPCGGrade(event.target.value);onChange({...draft,grade:option?.numeric==null?'':String(option.numeric),grade_label:option?.designation||event.target.value})}} className={inputClass}><option value=\"\">Select official PCG designation</option>{legacyLabel&&!selected?<option value={legacyLabel}>Legacy · {legacyLabel}</option>:null}{PCG_GRADING_SCALE.map(option=><option key={option.id} value={option.designation}>{option.designation}</option>)}</select></label>{selected?<div className=\"mt-2 border border-white/[0.08] bg-black/28 px-3 py-2\"><div className=\"text-[10px] font-black text-[#e8cc8d]\">{selected.designation}</div><div className=\"mt-1 text-[11px] leading-5 text-white/45\">{selected.criteria||'PCG’s published page does not currently provide usable criteria text for this designation.'}</div></div>:legacyLabel?<div className=\"mt-2 text-[11px] leading-5 text-amber-200/75\">Legacy grade label. Choose an official PCG designation before advancing this card.</div>:legacyNumeric?<div className=\"mt-2 text-[11px] leading-5 text-amber-200/75\">Legacy numeric grade {legacyNumeric}. Choose the exact official PCG designation before advancing this card.</div>:null}</div>}\nfunction cardToDraft(card:Card):CardDraft{return{category:card.category||'',year:card.year||'',brand_set:card.brand_set||'',player_character:card.player_character||'',card_number:card.card_number||'',card_description:card.card_description||card.variation||'',autograph_present:card.autograph_present==null?'':card.autograph_present?'yes':'no',declared_value:card.declared_value==null?'':String(card.declared_value),grade:card.grade==null?'':String(card.grade),grade_label:card.grade_label||'',cert_number:card.cert_number||'',grader_notes:card.grader_notes||''}}function slaMeta(sub:Submission){if(!sub.due_at||terminalStatuses.has(sub.status))return{label:terminalStatuses.has(sub.status)?pretty(sub.status):'No due date',tone:'text-white/42 border-white/10'};const diff=new Date(sub.due_at).getTime()-Date.now();const days=Math.ceil(diff/86400000);if(diff<0)return{label:`${Math.abs(days)}d overdue`,tone:'text-rose-300 border-rose-400/25'};if(days===0)return{label:'Due today',tone:'text-amber-200 border-amber-300/25'};if(days<=2)return{label:`Due in ${days}d`,tone:'text-amber-200 border-amber-300/25'};return{label:`Due ${new Date(sub.due_at).toLocaleDateString()}`,tone:'text-white/46 border-white/10'}}\nexport default function PcgWorkspace({initialTab='today',embedded=false,initialVaultMode='overview',initialVaultSubmissionId='',onSubmissionCreated,navigationScope}:{initialTab?:Tab;embedded?:boolean;initialVaultMode?:'overview'|'single'|'batch'|'growth';initialVaultSubmissionId?:string;onSubmissionCreated?:(submission:{id:string;submission_number:string;expected_card_count:number})=>void;navigationScope?:Tab[]}={}){const location=useLocation();const{activeTenant}=useMultiTenant();const tenantId=activeTenant?.id;const settings=((activeTenant as any)?.settings||{}) as Record<string,unknown>;const mediaBranding=useMemo(()=>resolveTenantMediaBranding(activeTenant as any),[activeTenant]);const workspaceBackground=mediaBranding.backgroundUrl||String(settings.background_image_url||settings.backgroundImageUrl||'').trim();const stripePaymentLink=String(settings.stripe_payment_link||PCG_STRIPE_FALLBACK);const stripeSyncConnected=String(settings.stripe_sync_status||'not_connected')==='connected';const[tab,setTab]=useState<Tab>(initialTab);const visibleTabs=useMemo(()=>navigationScope?.length?tabs.filter(([id])=>navigationScope.includes(id)):tabs,[navigationScope]);useEffect(()=>{setTab(initialTab)},[initialTab]);useEffect(()=>{if(navigationScope?.length&&!navigationScope.includes(tab))setTab(navigationScope.includes(initialTab)?initialTab:navigationScope[0])},[initialTab,navigationScope,tab]);const[subs,setSubs]=useState<Submission[]>([]);const[cards,setCards]=useState<Card[]>([]);const[loading,setLoading]=useState(true);const[showNew,setShowNew]=useState(false);const[showMore,setShowMore]=useState(false);const[selectedId,setSelectedId]=useState<string|null>(null);const[query,setQuery]=useState('');const[statusFilter,setStatusFilter]=useState('all');const[certQuery,setCertQuery]=useState('');const[busy,setBusy]=useState(false);const[cardDrafts,setCardDrafts]=useState<Record<string,CardDraft>>({});const[detailDraft,setDetailDraft]=useState<DetailDraft>({tracking_in:'',tracking_out:'',notes:'',payment_status:'unverified',payment_reference:'',return_shipping_method:'pickup',return_shipping_cost:'',return_insurance_amount:''});const[form,setForm]=useState({name:'',email:'',phone:'',tier:'two_weeks',cardCount:'1',delivery:'walk_in',trackingIn:'',returnShipping:'pickup',returnShippingCost:'',returnInsurance:'',address:'',address2:'',city:'',state:'',zip:'',notes:''});const settingsSection=String(new URLSearchParams(location.search).get('section')||'').trim().toLowerCase();const selectedTier=tiers[form.tier as keyof typeof tiers]||tiers.two_weeks;const selectedCardCount=Math.max(1,Math.min(100000,Number(form.cardCount)||1));const expectedTotal=selectedCardCount*selectedTier.price;const openStripe=()=>window.open(stripePaymentLink,'_blank','noopener,noreferrer');\nconst normalizeEmail=(value:string)=>value.trim().toLowerCase();const normalizePhone=(value:string)=>value.replace(/\\D/g,'');const normalizeAddress=(address:string,city:string,state:string,zip:string)=>[address,city,state,zip].map(value=>value.trim().toLowerCase()).filter(Boolean).join('|');\nasync function ensureCustomerContact(input:{name:string;email:string;phone:string;address:string;address2:string;city:string;state:string;zip:string}){if(!tenantId)throw new Error('PCG tenant is not available.');const email=normalizeEmail(input.email),phone=normalizePhone(input.phone);const find=async(filters:Array<[string,string]>)=>{let query=(supabase as any).from('unified_contacts').select('id').eq('tenant_org_id',tenantId).is('deleted_at',null);for(const[field,value]of filters)query=query.eq(field,value);const{data,error}=await query.limit(2);if(error)throw error;if((data||[]).length>1)throw new Error('Multiple customer records match this collector. Resolve the duplicate customer before receiving this submission.');return data?.[0]?.id?String(data[0].id):''};let id='';if(email&&phone)id=await find([['normalized_email',email],['normalized_phone',phone]]);if(!id&&email)id=await find([['normalized_email',email]]);if(!id&&phone)id=await find([['normalized_phone',phone]]);const addressProvided=Boolean(input.address.trim()||input.address2.trim()||input.city.trim()||input.state.trim()||input.zip.trim());const payload:any={tenant_org_id:String(tenantId),name:input.name.trim(),email:email||null,phone:input.phone.trim()||null,normalized_email:email||null,normalized_phone:phone||null,source:'pcg_submission',contact_role:'collector',updated_at:new Date().toISOString()};if(addressProvided)Object.assign(payload,{address:input.address.trim()||null,address2:input.address2.trim()||null,city:input.city.trim()||null,state:input.state.trim().toUpperCase()||null,zip:input.zip.trim()||null,normalized_address:normalizeAddress(input.address,input.city,input.state,input.zip)||null});if(id){const{data,error}=await(supabase as any).from('unified_contacts').update(payload).eq('tenant_org_id',tenantId).eq('id',id).select('id').single();if(error)throw error;return String(data.id)}const{data,error}=await(supabase as any).from('unified_contacts').insert({...payload,created_at:new Date().toISOString()}).select('id').single();if(error)throw error;return String(data.id)}\nasync function load(){if(!tenantId)return;setLoading(true);const[s,c]=await Promise.all([(supabase as any).from('card_grading_submissions').select('*').eq('tenant_id',tenantId).order('created_at',{ascending:false}),(supabase as any).from('card_grading_cards').select('*').eq('tenant_id',tenantId).order('sequence_number',{ascending:true})]);if(s.error)toast.error(s.error.message);if(c.error)toast.error(c.error.message);setSubs((s.data||[]) as Submission[]);setCards((c.data||[]) as Card[]);setLoading(false)}useEffect(()=>{void load()},[tenantId]);\nconst orderCardCount=(sub:Submission)=>Math.max(Number(sub.expected_card_count||0),cards.filter(card=>card.submission_id===sub.id).length);const counts=useMemo(()=>Object.fromEntries(statuses.map(status=>[status,subs.filter(item=>item.status===status).length])),[subs]);const openSubs=subs.filter(item=>!terminalStatuses.has(item.status));const overdue=openSubs.filter(item=>item.due_at&&new Date(item.due_at)<new Date()).length;const dueSoon=openSubs.filter(item=>item.due_at&&new Date(item.due_at)>=new Date()&&new Date(item.due_at).getTime()-Date.now()<=2*86400000).length;const serviceValue=subs.reduce((sum,item)=>sum+Number(item.service_price||0)*orderCardCount(item),0);const prioritySubs=[...openSubs].sort((a,b)=>(a.due_at?new Date(a.due_at).getTime():Number.MAX_SAFE_INTEGER)-(b.due_at?new Date(b.due_at).getTime():Number.MAX_SAFE_INTEGER)).slice(0,6);const filteredSubs=subs.filter(item=>{const hay=`${item.submission_number} ${item.customer_name||''} ${item.customer_email||''} ${item.customer_phone||''}`.toLowerCase();return(!query||hay.includes(query.toLowerCase()))&&(statusFilter==='all'||item.status===statusFilter)});const filteredCards=cards.filter(card=>!certQuery||`${card.cert_number||''} ${card.year||''} ${card.brand_set||''} ${card.player_character||''} ${card.card_description||card.variation||''} ${card.card_number||''}`.toLowerCase().includes(certQuery.toLowerCase()));const selected=subs.find(item=>item.id===selectedId)||null;const selectedCards=selected?cards.filter(card=>card.submission_id===selected.id):[];const selectedTotal=selected?orderCardCount(selected)*Number(selected.service_price||0):0;\nfunction openSubmission(sub:Submission){setSelectedId(sub.id);setDetailDraft({tracking_in:sub.tracking_in||'',tracking_out:sub.tracking_out||'',notes:sub.notes||'',payment_status:sub.payment_status||'unverified',payment_reference:sub.payment_reference||'',return_shipping_method:sub.return_shipping_method||'pickup',return_shipping_cost:sub.return_shipping_cost==null?'':String(sub.return_shipping_cost),return_insurance_amount:sub.return_insurance_amount==null?'':String(sub.return_insurance_amount)});const next:Record<string,CardDraft>={};cards.filter(card=>card.submission_id===sub.id).forEach(card=>{next[card.id]=cardToDraft(card)});setCardDrafts(next)}\nasync function createSubmission(){if(!tenantId)return;if(!form.name.trim()){toast.error('Customer name is required.');return}const needsAddress=form.returnShipping!=='pickup';if(needsAddress&&(!form.address.trim()||!form.city.trim()||!form.state.trim()||!form.zip.trim())){toast.error('Return address, city, state, and ZIP are required for FedEx return shipping.');return}const returnCost=form.returnShippingCost.trim()===''?null:Number(form.returnShippingCost),insurance=form.returnInsurance.trim()===''?null:Number(form.returnInsurance);if(returnCost!=null&&(!Number.isFinite(returnCost)||returnCost<0)){toast.error('Return shipping cost must be a valid non-negative amount.');return}if(insurance!=null&&(!Number.isFinite(insurance)||insurance<0)){toast.error('Return insurance / declared coverage must be a valid non-negative amount.');return}const count=selectedCardCount,tier=selectedTier,now=new Date(),due=new Date(now);due.setDate(due.getDate()+tier.days);const submissionNumber=`PCG-${now.getFullYear()}-${String(Date.now()).slice(-7)}`;setBusy(true);try{const contactId=await ensureCustomerContact({name:form.name,email:form.email,phone:form.phone,address:form.address,address2:form.address2,city:form.city,state:form.state,zip:form.zip});const{data,error}=await(supabase as any).from('card_grading_submissions').insert({tenant_id:tenantId,submission_number:submissionNumber,customer_contact_id:contactId,customer_name:form.name.trim(),customer_email:form.email.trim()||null,customer_phone:form.phone.trim()||null,service_tier:form.tier,service_price:tier.price,expected_card_count:count,status:'received',payment_status:'unverified',delivery_method:form.delivery,tracking_in:form.trackingIn.trim()||null,return_shipping_method:form.returnShipping,return_shipping_cost:returnCost,return_insurance_amount:insurance,notes:form.notes.trim()||null,received_at:now.toISOString(),due_at:due.toISOString()}).select('*').single();if(error||!data)throw new Error(error?.message||'Unable to create submission');toast.success(`${submissionNumber} created for ${count.toLocaleString()} card${count===1?'':'s'}. Opening Capture Cards for this order.`);setShowNew(false);setForm({name:'',email:'',phone:'',tier:'two_weeks',cardCount:'1',delivery:'walk_in',trackingIn:'',returnShipping:'pickup',returnShippingCost:'',returnInsurance:'',address:'',address2:'',city:'',state:'',zip:'',notes:''});await load();onSubmissionCreated?.({id:String(data.id),submission_number:String(data.submission_number||submissionNumber),expected_card_count:count})}catch(error){toast.error(error instanceof Error?error.message:'Unable to create submission')}finally{setBusy(false)}}\nfunction transitionIssue(sub:Submission,nextStatus:string,ownCards:Card[]){if(nextStatus==='authentication'){if(!ownCards.length)return 'Add cards before authentication.';const missing=ownCards.filter(card=>!card.front_image_url||!card.back_image_url).length;return missing?(missing+' card'+(missing===1?' needs':'s need')+' a saved intake image before authentication.'):''}if(nextStatus==='encapsulation'){const missing=ownCards.filter(card=>!hasCanonicalGrade(card)).length;return missing?(missing+' card'+(missing===1?' needs':'s need')+' an official PCG grade before encapsulation.'):''}if(nextStatus==='qa'){const missingGrade=ownCards.filter(card=>!hasCanonicalGrade(card)).length,missingCert=ownCards.filter(card=>!String(card.cert_number||'').trim()).length;return missingGrade||missingCert?('Save '+(missingGrade?(missingGrade+' missing official PCG grade'+(missingGrade===1?'':'s')):'')+(missingGrade&&missingCert?' and ':'')+(missingCert?(missingCert+' missing cert number'+(missingCert===1?'':'s')):'')+' before QA.'):''}if(nextStatus==='ready'){const missing=ownCards.filter(card=>!hasCanonicalGrade(card)||!String(card.cert_number||'').trim()||!card.slab_image_url).length;if(missing)return missing+' card'+(missing===1?' is':'s are')+' missing official PCG grade, cert, or customer-visible imagery.';if(!sub.return_shipping_method)return 'Choose the customer return method before marking this order ready.';return ''}if(nextStatus==='shipped'){if(sub.return_shipping_method==='pickup')return 'This order is marked for pickup. Use Mark picked up instead.';if(!String(sub.tracking_out||'').trim())return 'Save outbound tracking before marking this order shipped.'}return ''}async function advanceBatch(nextStatus:string){if(!tenantId||!selected)return;const issue=transitionIssue(selected,nextStatus,selectedCards);if(issue){toast.error(issue);return}setBusy(true);const{error}=await(supabase as any).rpc('advance_pcg_grading_submission',{p_tenant_id:tenantId,p_submission_id:selected.id,p_status:nextStatus});if(error)toast.error(error.message||'Unable to advance submission');else{toast.success(`${selected.submission_number} moved to ${pretty(nextStatus)}.`);await load()}setBusy(false)}\nasync function saveSubmissionDetails(){if(!tenantId||!selected)return;const returnCost=detailDraft.return_shipping_cost.trim()===''?null:Number(detailDraft.return_shipping_cost),insurance=detailDraft.return_insurance_amount.trim()===''?null:Number(detailDraft.return_insurance_amount);if(returnCost!=null&&(!Number.isFinite(returnCost)||returnCost<0)){toast.error('Return shipping cost must be a valid non-negative amount.');return}if(insurance!=null&&(!Number.isFinite(insurance)||insurance<0)){toast.error('Return insurance / declared coverage must be a valid non-negative amount.');return}setBusy(true);const manual=detailDraft.payment_status==='manually_verified';const{error}=await(supabase as any).from('card_grading_submissions').update({tracking_in:detailDraft.tracking_in.trim()||null,tracking_out:detailDraft.tracking_out.trim()||null,return_shipping_method:detailDraft.return_shipping_method||null,return_shipping_cost:returnCost,return_insurance_amount:insurance,notes:detailDraft.notes.trim()||null,payment_status:detailDraft.payment_status,payment_reference:detailDraft.payment_reference.trim()||null,paid_at:manual?(selected.paid_at||new Date().toISOString()):null,updated_at:new Date().toISOString()}).eq('tenant_id',tenantId).eq('id',selected.id);if(error)toast.error(error.message);else{toast.success('Submission details saved.');await load()}setBusy(false)}\nasync function saveCard(card:Card){if(!tenantId)return;const draft=cardDrafts[card.id];if(!draft)return;setBusy(true);const gradeDefinition=findPCGGrade(draft.grade_label);const grade=gradeDefinition?gradeDefinition.numeric:(draft.grade.trim()===''?null:Number(draft.grade));const gradeLabel=gradeDefinition?.designation||draft.grade_label.trim()||null;const declared=draft.declared_value.trim()===''?null:Number(draft.declared_value);if(grade!=null&&(Number.isNaN(grade)||grade<0||grade>10)){toast.error('Legacy numeric grade is invalid. Choose an official PCG grade.');setBusy(false);return}const{error}=await(supabase as any).from('card_grading_cards').update({category:draft.category.trim()||null,year:draft.year.trim()||null,brand_set:draft.brand_set.trim()||null,player_character:draft.player_character.trim()||null,card_number:draft.card_number.trim()||null,card_description:draft.card_description.trim()||null,autograph_present:draft.autograph_present===''?null:draft.autograph_present==='yes',variation:draft.card_description.trim()||null,declared_value:declared,grade,grade_label:gradeLabel,cert_number:draft.cert_number.trim()||null,grader_notes:draft.grader_notes.trim()||null,updated_at:new Date().toISOString()}).eq('tenant_id',tenantId).eq('id',card.id);if(error)toast.error(error.message);else{toast.success(`Card #${card.sequence_number} saved.`);await load()}setBusy(false)}\nconst metric=(label:string,value:string|number,sub:string)=><div className=\"py-3 sm:border-l sm:border-white/[0.08] sm:px-5 first:sm:border-l-0 first:sm:pl-0\"><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">{label}</div><div className=\"mt-1 text-3xl font-black tracking-[-.04em]\">{value}</div><div className=\"mt-1 text-[11px] text-white/36\">{sub}</div></div>;\nconst empty=(title:string,copy:string,action?:()=>void,actionLabel?:string)=><div className=\"border border-dashed border-white/[0.10] bg-[#09090a]/94 p-9 text-center\"><FileCheck2 className=\"mx-auto h-6 w-6 text-[#d8bb78]\"/><div className=\"mt-4 text-lg font-black\">{title}</div><p className=\"mx-auto mt-2 max-w-md text-sm leading-6 text-white/38\">{copy}</p>{action&&<button onClick={action} className=\"mt-5 bg-[#d8bb78] px-5 py-2.5 text-sm font-black text-black\">{actionLabel}</button>}</div>;\nconst row=(sub:Submission)=>{const cardCount=cards.filter(card=>card.submission_id===sub.id).length;const expected=Math.max(Number(sub.expected_card_count||0),cardCount);const payment=sub.payment_status==='manually_verified'?'Paid':sub.payment_status==='waived'?'Waived':'Unverified';return <button key={sub.id} onClick={()=>openSubmission(sub)} className=\"group grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-b border-white/[0.07] px-2 py-2.5 text-left transition last:border-b-0 hover:bg-white/[0.025]\"><div className=\"min-w-0\"><div className=\"flex flex-wrap items-center gap-2\"><span className=\"text-xs font-black tracking-wide text-[#e4c47b]\">{sub.submission_number}</span><span className=\"text-[9px] font-black uppercase tracking-[.12em] text-white/32\">{pretty(sub.status)}</span></div><div className=\"mt-1 truncate text-sm font-black sm:text-[15px]\">{sub.customer_name||'Collector not named'}</div><div className=\"mt-0.5 flex flex-wrap gap-x-3 text-[10px] text-white/34 sm:text-[11px]\"><span>{expected>cardCount?`${cardCount.toLocaleString()} / ${expected.toLocaleString()} cards ingested`:`${cardCount.toLocaleString()} card${cardCount===1?'':'s'}`}</span><span>{tiers[sub.service_tier as keyof typeof tiers]?.label||pretty(sub.service_tier)}</span><span>{payment}</span></div></div><div className=\"flex items-center gap-2\"><span className={`border px-2.5 py-1 text-[10px] font-black ${slaMeta(sub).tone}`}>{slaMeta(sub).label}</span><ChevronRight className=\"h-4 w-4 text-white/18\"/></div></button>};\nconst renderList=(heading:string,eyebrow:string,source:Submission[])=><section><div className=\"mb-6 flex flex-col gap-4 border-b border-white/[0.08] pb-5 xl:flex-row xl:items-end xl:justify-between\"><div><div className=\"text-[10px] font-black uppercase tracking-[.20em] text-[#d8bb78]\">{eyebrow}</div><h1 className=\"mt-1.5 text-2xl font-black tracking-[-.035em] sm:text-3xl\">{heading}</h1><p className=\"mt-2 text-sm text-white/38\">Open a batch to grade cards, verify payment, update tracking or move it forward.</p></div><button onClick={()=>setShowNew(true)} className=\"inline-flex items-center justify-center gap-2 bg-[#d8bb78] px-5 py-3 text-sm font-black text-black\"><Plus className=\"h-4 w-4\"/>Receive cards</button></div><div className=\"mb-5 grid gap-2 sm:grid-cols-[1fr_220px]\"><div className=\"relative\"><Search className=\"absolute left-4 top-3.5 h-4 w-4 text-white/28\"/><input value={query} onChange={event=>setQuery(event.target.value)} placeholder=\"Search submission or collector\" className={`${inputClass} pl-11`}/></div><select value={statusFilter} onChange={event=>setStatusFilter(event.target.value)} className={inputClass}><option value=\"all\">Every grading stage</option>{statuses.map(status=><option key={status} value={status}>{pretty(status)}</option>)}</select></div>{source.length?<div className=\"border-y border-white/[0.08]\">{source.map(row)}</div>:empty('Nothing needs attention','Receive a new card submission when work arrives.',()=>setShowNew(true),'Receive cards')}</section>;\nconst brandName=activeTenant?.company_dba_name||activeTenant?.company_legal_name||activeTenant?.name||'Prestigious Card Grading';\nreturn <div data-pcg-mode-workspace-background={workspaceBackground||'solid'} className=\"relative min-h-screen overflow-x-hidden bg-[#050506] text-white\" style={{backgroundImage:workspaceBackground?`linear-gradient(108deg,rgba(4,4,5,.98) 0%,rgba(4,4,5,.91) 35%,rgba(4,4,5,.68) 70%,rgba(4,4,5,.88) 100%),url(\"${workspaceBackground}\")`:undefined,backgroundSize:'cover',backgroundPosition:mediaBranding.backgroundPosition||'center',backgroundRepeat:'no-repeat',backgroundAttachment:'fixed'}}><div className=\"pointer-events-none fixed inset-0 bg-[radial-gradient(circle_at_78%_15%,rgba(216,187,120,.10),transparent_28rem)]\"/>\n{!embedded?<header className=\"fixed inset-x-0 top-0 z-50 h-16 border-b border-white/[0.07] bg-[#09090a]/95 backdrop-blur-xl\"><div className=\"flex h-full items-center gap-3 px-4 sm:px-6\"><div className=\"grid h-9 w-9 place-items-center border border-[#d8bb78]/20 bg-[#d8bb78]/[0.06]\"><img src={PCG_LOGO} alt=\"PCG\" className=\"h-full w-full object-contain p-1\"/></div><div className=\"min-w-0\"><div className=\"truncate text-sm font-black tracking-tight\">{brandName}</div><div className=\"hidden text-[9px] font-bold uppercase tracking-[.17em] text-white/30 sm:block\">PCG daily work</div></div><div className=\"ml-auto flex items-center gap-3\"><span className=\"hidden text-xs font-semibold text-white/32 md:inline\">{openSubs.length} active batches</span><button onClick={()=>setShowNew(true)} className=\"inline-flex h-9 items-center gap-2 bg-[#d8bb78] px-3.5 text-xs font-black text-black\"><Plus className=\"h-4 w-4\"/>Receive cards</button></div></div></header>:null}\n{!embedded?<aside className=\"fixed bottom-0 left-0 top-16 z-40 hidden w-[230px] border-r border-white/[0.07] bg-[#09090a]/95 px-4 py-5 backdrop-blur-xl lg:flex lg:flex-col\"><div className=\"px-2\"><div className=\"text-[9px] font-black uppercase tracking-[.20em] text-[#d8bb78]\">PCG Work Queue</div><div className=\"mt-2 text-sm leading-5 text-white/40\">Receive, grade, publish, and fulfill cards.</div></div><nav className=\"mt-7 space-y-1\">{visibleTabs.map(([id,label,Icon])=><button key={id} onClick={()=>setTab(id)} className={`flex h-11 w-full items-center gap-3 px-3 text-left text-sm font-bold transition ${tab===id?'bg-white/[0.07] text-white shadow-[inset_2px_0_0_#d8bb78]':'text-white/40 hover:bg-white/[0.035] hover:text-white/80'}`}><Icon className={`h-[17px] w-[17px] ${tab===id?'text-[#d8bb78]':'text-white/30'}`}/><span className=\"flex-1\">{label}</span>{id==='queue'&&openSubs.length?<span className=\"text-[10px] font-black text-[#d8bb78]\">{openSubs.length}</span>:null}</button>)}</nav><div className=\"mt-auto border-t border-white/[0.07] px-2 pt-4\"><div className=\"text-[9px] font-black uppercase tracking-[.17em] text-white/25\">Prestigious Card Grading</div><div className=\"mt-2 text-xs leading-5 text-white/36\">14170 US Highway 1<br/>Sebastian, FL 32958</div></div></aside>:null}\n<main className={`relative z-10 min-h-screen px-4 pb-24 sm:px-6 lg:px-8 lg:pb-10 xl:px-10 ${embedded?'pt-4 sm:pt-6':'pt-20 lg:ml-[230px]'}`}>{loading?<div className=\"grid min-h-[70vh] place-items-center\"><div className=\"text-center\"><img src={PCG_LOGO} alt=\"PCG\" className=\"mx-auto h-16 w-16 object-contain opacity-70\"/><div className=\"mt-4 text-[10px] font-black uppercase tracking-[.22em] text-[#d8bb78]\">Opening PCG…</div></div></div>:<>\n{tab==='today'?<><section className=\"border-b border-white/[0.08] pb-7 pt-3\"><div className=\"flex flex-col gap-7 xl:flex-row xl:items-end xl:justify-between\"><div className=\"max-w-3xl\"><div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#d8bb78]\">Daily work</div><h1 className=\"mt-2 text-3xl font-black leading-none tracking-[-.045em] sm:text-4xl\">PCG Work Queue</h1><p className=\"mt-2 max-w-2xl text-sm leading-5 text-white/42\">See what needs attention and move each submission through the next clear step.</p></div><div className=\"grid w-full max-w-xl grid-cols-2 gap-px border border-white/[0.08] bg-white/[0.08] sm:grid-cols-3\"><button onClick={()=>setShowNew(true)} className=\"bg-[#09090a]/94 p-4 text-left\"><Plus className=\"h-5 w-5 text-[#d8bb78]\"/><div className=\"mt-3 text-sm font-black\">Receive Cards</div><div className=\"mt-1 text-[11px] text-white/30\">Start a submission</div></button><button onClick={()=>setTab('vault')} className=\"bg-[#09090a]/94 p-4 text-left\"><UploadCloud className=\"h-5 w-5 text-[#d8bb78]\"/><div className=\"mt-3 text-sm font-black\">Capture Cards</div><div className=\"mt-1 text-[11px] text-white/30\">Single or batch intake</div></button><button onClick={()=>setTab('queue')} className=\"col-span-2 bg-[#09090a]/94 p-4 text-left sm:col-span-1\"><Award className=\"h-5 w-5 text-[#d8bb78]\"/><div className=\"mt-3 text-sm font-black\">Grade Cards</div><div className=\"mt-1 text-[11px] text-white/30\">Work the grading queue</div></button></div></div><div className=\"mt-8 grid sm:grid-cols-2 xl:grid-cols-4\">{metric('Batches on floor',openSubs.length,'Active submissions')}{metric('Cards in house',cards.filter(card=>!terminalStatuses.has(card.status)).length,'Individual cards')}{metric('SLA attention',overdue+dueSoon,overdue?`${overdue} overdue · ${dueSoon} due soon`:`${dueSoon} due within 48 hours`)}{metric('Recorded work',`$${serviceValue.toFixed(0)}`,stripeSyncConnected?'Stripe sync connected':'Stripe sync not connected')}</div></section><div className=\"mt-8 grid gap-8 xl:grid-cols-[minmax(0,1.2fr)_minmax(320px,.8fr)]\"><section><div className=\"mb-3 flex items-end justify-between\"><div><div className=\"text-[9px] font-black uppercase tracking-[.19em] text-[#d8bb78]\">Priority work</div><h2 className=\"mt-1 text-2xl font-black\">Next on the grading bench</h2></div><button onClick={()=>setTab('queue')} className=\"text-xs font-black text-[#d8bb78]\">Grade cards →</button></div><div className=\"border-y border-white/[0.08]\">{prioritySubs.length?prioritySubs.map(row):empty('Nothing needs grading','No grading batches need attention right now.',()=>setShowNew(true),'Receive cards')}</div></section><section className=\"border-l border-white/[0.08] xl:pl-7\"><div className=\"text-[9px] font-black uppercase tracking-[.19em] text-[#d8bb78]\">Stage pressure</div><h2 className=\"mt-1 text-2xl font-black\">Where the cards are</h2><div className=\"mt-5 divide-y divide-white/[0.07]\">{statuses.map((status,index)=><button key={status} onClick={()=>{setStatusFilter(status);setTab('queue')}} className=\"grid w-full grid-cols-[28px_1fr_auto] items-center gap-3 py-3 text-left\"><span className=\"text-[9px] font-black text-white/18\">{String(index+1).padStart(2,'0')}</span><span className=\"text-xs font-bold text-white/48\">{pretty(status)}</span><span className=\"text-base font-black\">{counts[status]||0}</span></button>)}</div></section></div></>:null}\n{tab==='vault'?<PCGCardVaultContent initialMode={initialVaultMode} initialSubmissionId={initialVaultSubmissionId}/>:null}{tab==='queue'?renderList('Grade Cards','Active grading work',filteredSubs.filter(item=>!terminalStatuses.has(item.status))):null}{tab==='submissions'?<PCGReceiveCardsGallery tenantId={tenantId||''} initialSubmissionId={initialVaultSubmissionId} onRequestCreateOrder={()=>setShowNew(true)}/>:null}{tab==='shipping'?renderList('Fulfill & Ship','Ready · shipped · pickup',filteredSubs.filter(item=>['ready','shipped','picked_up'].includes(item.status)||Boolean(item.tracking_in)||Boolean(item.tracking_out))):null}\n{tab==='certs'?<section><div className=\"border-b border-white/[0.08] pb-3\"><div className=\"text-[10px] font-black uppercase tracking-[.20em] text-[#d8bb78]\">Card lookup</div><h1 className=\"mt-1 text-2xl font-black sm:text-3xl\">Certificates</h1></div><div className=\"relative mt-3 max-w-2xl\"><Search className=\"absolute left-4 top-3.5 h-4 w-4 text-white/28\"/><input value={certQuery} onChange={event=>setCertQuery(event.target.value)} placeholder=\"Search certificate, card, player, or set\" className={`${inputClass} pl-11`}/></div>{filteredCards.length?<div className=\"mt-3 overflow-hidden border border-white/[0.08] bg-black/20\">{filteredCards.map(card=>{const image=card.slab_image_url||card.front_image_url;const title=[card.year,card.brand_set,card.player_character,card.card_description||card.variation,card.card_number?`#${card.card_number}`:null].filter(Boolean).join(' · ')||`Card #${card.sequence_number}`;const grade=hasCanonicalGrade(card)?formatPCGGrade(card.grade,card.grade_label):'';return <button key={card.id} onClick={()=>{const sub=subs.find(item=>item.id===card.submission_id);if(sub)openSubmission(sub)}} className=\"grid min-h-[68px] w-full grid-cols-[44px_minmax(0,1fr)_auto] items-center gap-3 border-b border-white/[0.07] px-3 py-2 text-left transition last:border-b-0 hover:bg-white/[0.025]\"><div className=\"grid h-14 w-11 shrink-0 place-items-center overflow-hidden border border-white/[0.08] bg-[#09090a]/94\">{image?<img src={previewMediaUrl(image)} alt=\"Graded card\" loading=\"lazy\" decoding=\"async\" className=\"h-full w-full object-cover\"/>:<ShieldCheck className=\"h-5 w-5 text-[#d8bb78]/55\"/>}</div><div className=\"min-w-0\"><div className=\"truncate text-sm font-black leading-tight\">{title}</div><div className=\"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] text-white/35\"><span>{card.cert_number||'Cert pending'}</span>{grade?<span className=\"font-black text-[#e8cc8d]/75\">{grade}</span>:null}</div></div><ChevronRight className=\"h-4 w-4 shrink-0 text-white/20\"/></button>})}</div>:<div className=\"mt-4\">{empty('No certificates yet','Certificate records appear here as grading is completed.')}</div>}</section>:null}\n{tab==='collectors'?<section><div className=\"border-b border-white/[0.08] pb-5\"><div className=\"text-[10px] font-black uppercase tracking-[.20em] text-[#d8bb78]\">Customer records</div><h1 className=\"mt-1.5 text-2xl font-black sm:text-3xl\">Customers</h1></div>{subs.some(item=>item.customer_name)?<div className=\"mt-6 border-y border-white/[0.08]\">{Array.from(new Map(subs.filter(item=>item.customer_name).map(item=>[item.customer_name,item])).values()).map(sub=>{const related=subs.filter(item=>item.customer_name===sub.customer_name);const relatedCards=cards.filter(card=>related.some(item=>item.id===card.submission_id));return <button key={sub.customer_name!} onClick={()=>openSubmission(related[0])} className=\"grid w-full grid-cols-[1fr_auto_auto] items-center gap-4 border-b border-white/[0.07] px-1 py-4 text-left\"><div><div className=\"font-black\">{sub.customer_name}</div><div className=\"mt-1 text-xs text-white/32\">{sub.customer_email||sub.customer_phone||'Contact info not captured'}</div></div><div className=\"text-right\"><div className=\"text-lg font-black\">{related.length}</div><div className=\"text-[9px] text-white/25\">SUBMISSIONS</div></div><div className=\"text-right\"><div className=\"text-lg font-black text-[#d8bb78]\">{relatedCards.length}</div><div className=\"text-[9px] text-white/25\">CARDS</div></div></button>})}</div>:empty('No customers yet','Customers appear automatically when a card submission is received.',()=>setShowNew(true),'Receive cards')}</section>:null}\n{tab==='inventory'?<PCGBatchPublishingCenter tenantId={tenantId||''}/>:null}\n{tab==='migration'?<PCGLegacyMigrationCenter/>:null}\n{tab==='readiness'?<PCGOnboardingReadiness/>:null}\n{tab==='settings'?<section>\n    <div className=\"border-b border-white/[0.08] pb-4\"><div className=\"text-[10px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">PCG setup</div><h1 className=\"mt-1 text-2xl font-black sm:text-3xl\">Settings</h1><p className=\"mt-1.5 max-w-2xl text-sm leading-6 text-white/45\">Only the controls Anthony needs to run PCG. Pick a category instead of digging through platform settings.</p></div>\n    {!settingsSection?<div className=\"mt-4 grid gap-2 sm:grid-cols-2 xl:grid-cols-3\">\n      {[\n        ['business','Brand & workspace','Logo, backgrounds, public-facing identity and workspace presentation.'],\n        ['connections','Google & connections','Google Drive, eBay and other connected services.'],\n        ['mail','Email & customers','Business email continuity and customer-facing channels.'],\n        ['notifications','Notifications','What PCG alerts you about and where they go.'],\n        ['profile','Profile & staff','Owner profile and people using this workspace.'],\n        ['workspace','Workspace behavior','Layout, experience and workspace health.']\n      ].map(([section,title,copy])=><a key={section} href={'?tool=settings&section='+section} className=\"group flex min-h-[112px] items-start justify-between gap-4 rounded-2xl border border-white/[0.08] bg-[#09090a]/94 p-4 shadow-sm transition hover:border-white/[0.16] hover:bg-white/[.025]\"><span><span className=\"block text-sm font-black\">{title}</span><span className=\"mt-1 block text-xs leading-5 text-white/42\">{copy}</span></span><ChevronRight className=\"mt-1 h-4 w-4 shrink-0 text-white/28 transition group-hover:translate-x-0.5\"/></a>)}\n    </div>:<div className=\"pcg-settings-dark mt-4\"><style>{`.pcg-settings-dark{color:#fff}.pcg-settings-dark .bg-card,.pcg-settings-dark [class*=\"bg-card\"],.pcg-settings-dark .bg-background,.pcg-settings-dark [class*=\"bg-background\"]{background:#09090a!important}.pcg-settings-dark .text-foreground{color:#fff!important}.pcg-settings-dark .text-muted-foreground{color:rgba(255,255,255,.55)!important}.pcg-settings-dark [class*=\"border\"]{border-color:rgba(255,255,255,.12)!important}.pcg-settings-dark button:not([role=\"switch\"]){background:#111214!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important}.pcg-settings-dark button:not([role=\"switch\"]):hover{background:#191b1e!important}.pcg-settings-dark input,.pcg-settings-dark select,.pcg-settings-dark textarea{background:#090a0b!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important}.pcg-settings-dark input::placeholder,.pcg-settings-dark textarea::placeholder{color:rgba(255,255,255,.35)!important}`}</style><a href=\"?tool=settings\" className=\"mb-3 inline-flex min-h-10 items-center gap-2 rounded-lg border border-white/[0.08] bg-[#09090a]/94 px-3 text-xs font-black text-white/55\">← All PCG settings</a><TenantSettingsPage/></div>}\n  </section>:null}\n{tab==='money'?<section><div className=\"border-b border-white/[0.08] pb-5\"><div className=\"text-[10px] font-black uppercase tracking-[.20em] text-[#d8bb78]\">Admin · payments</div><h1 className=\"mt-1.5 text-2xl font-black sm:text-3xl\">Payments</h1></div><div className=\"mt-6 grid gap-8 xl:grid-cols-[1.15fr_.85fr]\"><section><div className=\"flex items-center justify-between border-b border-white/[0.08] pb-4\"><div className=\"flex items-center gap-3\"><CreditCard className=\"h-5 w-5 text-[#635bff]\"/><div><div className=\"text-sm font-black\">Stripe hosted checkout</div><div className=\"text-xs text-white/30\">PCG grading payments</div></div></div><span className={stripeSyncConnected?'text-xs font-black text-emerald-300':'text-xs font-black text-amber-200'}>{stripeSyncConnected?'Data sync connected':'Data sync not connected'}</span></div><div className=\"mt-6 text-[10px] font-black uppercase tracking-[.18em] text-white/30\">Recorded grading service value</div><div className=\"mt-2 text-3xl font-black sm:text-4xl\">${serviceValue.toFixed(2)}</div><p className=\"mt-3 text-sm leading-6 text-white/38\">This is grading work recorded in KnockLaunch, not a claimed Stripe balance unless sync is authenticated.</p><button onClick={openStripe} className=\"mt-7 inline-flex items-center gap-2 bg-[#d8bb78] px-5 py-3 text-sm font-black text-black\">Open PCG Stripe checkout <ExternalLink className=\"h-4 w-4\"/></button></section><section className=\"border-l border-white/[0.08] xl:pl-7\"><div className=\"text-[10px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">Grading menu</div><div className=\"mt-5 divide-y divide-white/[0.07]\">{Object.entries(tiers).map(([id,tier])=><div key={id} className=\"flex items-center justify-between py-4\"><div><div className=\"font-black\">{tier.label}</div><div className=\"text-xs text-white/28\">Per card · no up-charges</div></div><div className=\"text-2xl font-black text-[#d8bb78]\">${tier.price}</div></div>)}</div></section></div></section>:null}</>}</main>\n{!embedded?<nav className=\"fixed inset-x-3 bottom-3 z-50 grid grid-cols-5 border border-white/[0.09] bg-[#09090a]/95 p-1.5 shadow-2xl backdrop-blur-xl lg:hidden\">{mobilePrimary.map(([id,label,Icon])=><button key={id} onClick={()=>{setTab(id);setShowMore(false)}} className={`flex flex-col items-center gap-1 px-1 py-2 text-[9px] font-black ${tab===id?'bg-white/[0.07] text-white':'text-white/38'}`}><Icon className={`h-[18px] w-[18px] ${tab===id?'text-[#d8bb78]':'text-white/28'}`}/><span>{label}</span></button>)}<button onClick={()=>setShowMore(true)} className=\"flex flex-col items-center gap-1 px-1 py-2 text-[9px] font-black text-white/38\"><Menu className=\"h-[18px] w-[18px] text-white/28\"/>More</button></nav>:null}\n{!embedded&&showMore?<div className=\"fixed inset-0 z-[70] bg-black/74 lg:hidden\" onMouseDown={event=>{if(event.currentTarget===event.target)setShowMore(false)}}><div className=\"absolute inset-x-0 bottom-0 border-t border-white/[0.10] bg-[#09090a]/94 p-4\"><div className=\"mb-4 text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">More PCG tools</div><div className=\"grid grid-cols-2 gap-px border border-white/[0.08] bg-white/[0.08]\">{visibleTabs.filter(([id])=>!mobilePrimary.some(([primary])=>primary===id)).map(([id,label,Icon])=><button key={id} onClick={()=>{setTab(id);setShowMore(false)}} className=\"flex items-center gap-3 bg-[#09090a]/94 px-4 py-3 text-sm font-bold\"><Icon className=\"h-4 w-4 text-[#d8bb78]\"/>{label}</button>)}</div><button onClick={()=>setShowMore(false)} className=\"mt-3 w-full border border-white/[0.08] py-3 text-sm font-bold text-white/45\">Close</button></div></div>:null}\n{showNew?<div className=\"fixed inset-0 z-[80] grid place-items-center overflow-y-auto bg-black/82 p-4 backdrop-blur-md\" onMouseDown={event=>{if(event.currentTarget===event.target)setShowNew(false)}}><div className=\"w-full max-w-2xl border border-white/[0.10] bg-[#09090a]/94\"><div className=\"flex items-center justify-between border-b border-white/[0.08] p-5\"><div><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">Grading intake</div><h2 className=\"mt-1 text-2xl font-black\">Receive cards into PCG</h2></div><button onClick={()=>setShowNew(false)} className=\"border border-white/10 p-2 text-white/35\"><X className=\"h-5 w-5\"/></button></div><div className=\"p-5\"><div className=\"grid gap-3 sm:grid-cols-2\"><input value={form.name} onChange={event=>setForm({...form,name:event.target.value})} placeholder=\"Collector name\" className={inputClass}/><input value={form.email} onChange={event=>setForm({...form,email:event.target.value})} placeholder=\"Email\" className={inputClass}/><input value={form.phone} onChange={event=>setForm({...form,phone:event.target.value})} placeholder=\"Phone\" className={inputClass}/><input value={form.cardCount} onChange={event=>setForm({...form,cardCount:event.target.value})} type=\"number\" min=\"1\" max=\"100000\" placeholder=\"Expected card count\" className={inputClass}/><select value={form.tier} onChange={event=>setForm({...form,tier:event.target.value})} className={inputClass}>{Object.entries(tiers).map(([id,tier])=><option key={id} value={id}>{tier.label} · ${tier.price}/card</option>)}</select><select value={form.delivery} onChange={event=>setForm({...form,delivery:event.target.value})} className={inputClass}><option value=\"walk_in\">Walk-in</option><option value=\"mail_in\">Mail-in</option><option value=\"ship_back\">Ship back</option><option value=\"pickup\">Pickup</option></select><input value={form.trackingIn} onChange={event=>setForm({...form,trackingIn:event.target.value})} placeholder=\"Inbound tracking (optional)\" className={inputClass}/><select value={form.returnShipping} onChange={event=>setForm({...form,returnShipping:event.target.value})} className={inputClass}><option value=\"pickup\">Customer pickup</option><option value=\"fedex_2_day\">FedEx 2 Day</option><option value=\"fedex_saver\">FedEx Saver</option></select><input value={form.returnShippingCost} onChange={event=>setForm({...form,returnShippingCost:event.target.value})} type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Return shipping cost (optional)\" className={inputClass}/><input value={form.returnInsurance} onChange={event=>setForm({...form,returnInsurance:event.target.value})} type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Return insurance / declared coverage\" className={inputClass}/><input value={form.address} onChange={event=>setForm({...form,address:event.target.value})} placeholder=\"Return address\" className={inputClass}/><input value={form.address2} onChange={event=>setForm({...form,address2:event.target.value})} placeholder=\"Apt / Suite (optional)\" className={inputClass}/><input value={form.city} onChange={event=>setForm({...form,city:event.target.value})} placeholder=\"Return city\" className={inputClass}/><input value={form.state} onChange={event=>setForm({...form,state:event.target.value})} placeholder=\"State\" className={inputClass}/><input value={form.zip} onChange={event=>setForm({...form,zip:event.target.value})} placeholder=\"ZIP\" className={inputClass}/><textarea value={form.notes} onChange={event=>setForm({...form,notes:event.target.value})} placeholder=\"Submission notes\" className={`${inputClass} min-h-24 sm:col-span-2`}/></div><div className=\"mt-4 flex items-end justify-between border-t border-white/[0.08] pt-4\"><div><div className=\"text-[9px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">Expected grading total</div><div className=\"mt-1 text-3xl font-black\">${expectedTotal.toFixed(2)}</div></div><div className=\"text-right text-xs text-white/30\">{selectedCardCount} card{selectedCardCount===1?'':'s'} × ${selectedTier.price}</div></div><div className=\"mt-5 grid gap-2 sm:grid-cols-2\"><button onClick={openStripe} className=\"inline-flex items-center justify-center gap-2 border border-white/10 px-4 py-3 font-black\"><CreditCard className=\"h-4 w-4\"/>Collect in Stripe</button><button disabled={busy} onClick={()=>void createSubmission()} className=\"bg-[#d8bb78] px-4 py-3 font-black text-black disabled:opacity-50\">{busy?'Creating…':'Create submission'}</button></div><p className=\"mt-3 text-center text-xs text-white/28\">Creating the submission never marks it paid.</p></div></div></div>:null}\n{selected?<div className=\"fixed inset-0 z-[80] bg-black/72\" onMouseDown={event=>{if(event.currentTarget===event.target)setSelectedId(null)}}><aside className=\"absolute inset-y-0 left-1/2 w-full max-w-6xl -translate-x-1/2 overflow-y-auto border-x border-white/10 bg-[#09090a]/94 p-4 pb-24 shadow-2xl sm:p-6\"><div className=\"flex items-start justify-between gap-4 border-b border-white/[0.08] pb-4\"><div><div className=\"text-[9px] font-black uppercase tracking-[.17em] text-[#d8bb78]\">Submission workbench</div><h2 className=\"mt-1 text-2xl font-black\">{selected.submission_number}</h2><div className=\"mt-1 text-sm text-white/34\">{selected.customer_name||'Collector not named'} · {selectedCards.length.toLocaleString()} ingested / {orderCardCount(selected).toLocaleString()} expected · ${selectedTotal.toFixed(2)}</div></div><button onClick={()=>setSelectedId(null)} className=\"border border-white/10 p-2 text-white/35\"><X className=\"h-5 w-5\"/></button></div><section className={`${panelClass} mt-4 p-4`}><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Grading stage</div><div className=\"mt-4 flex flex-wrap gap-2\">{statuses.map(status=><div key={status} className={`border px-2.5 py-1 text-[9px] font-black ${selected.status===status?'border-[#d8bb78]/45 text-[#e8cc8d]':'border-white/10 text-white/28'}`}>{pretty(status)}</div>)}</div><div className=\"mt-4\">{(()=>{const index=statuses.indexOf(selected.status as any);const next=index>=0&&index<statuses.length-1?statuses[index+1]:null;const issue=next?transitionIssue(selected,next,selectedCards):'';return <>{terminalStatuses.has(selected.status)?<div className=\"mb-3 text-xs font-black text-emerald-300\"><Check className=\"mr-1 inline h-3.5 w-3.5\"/>Lifecycle complete</div>:next?<div className={'mb-3 text-xs leading-5 '+(issue?'text-amber-200':'text-emerald-300')}>{issue||<>Ready to advance to {pretty(next)}.</>}</div>:null}{next&&!terminalStatuses.has(selected.status)&&selected.status!=='ready'?<button disabled={busy||Boolean(issue)} onClick={()=>void advanceBatch(next)} className=\"inline-flex items-center gap-2 bg-[#d8bb78] px-4 py-2.5 text-sm font-black text-black\">Advance to {pretty(next)} <ChevronRight className=\"h-4 w-4\"/></button>:null}{selected.status==='ready'?<><button disabled={busy||Boolean(transitionIssue(selected,'shipped',selectedCards))} onClick={()=>void advanceBatch('shipped')} className=\"bg-[#d8bb78] px-4 py-2.5 text-sm font-black text-black disabled:cursor-not-allowed disabled:opacity-35\">Mark shipped</button><button disabled={busy} onClick={()=>void advanceBatch('picked_up')} className=\"ml-2 border border-white/10 px-4 py-2.5 text-sm font-black\">Mark picked up</button></>:null}</>})()}</div></section><PCGQualityControlPanel tenantId={tenantId||''} submissionId={selected.id} cards={selectedCards} active={selected.status==='qa'} onChanged={load}/><section className={`${panelClass} mt-4 p-4`}><div className=\"flex items-center justify-between\"><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Collector & payment</div><BadgeDollarSign className=\"h-5 w-5 text-[#d8bb78]\"/></div><div className=\"mt-4 grid gap-3 sm:grid-cols-2\"><select value={detailDraft.payment_status} onChange={event=>setDetailDraft({...detailDraft,payment_status:event.target.value})} className={inputClass}><option value=\"unverified\">Payment not verified</option><option value=\"manually_verified\">Manually verified paid</option><option value=\"waived\">Waived</option><option value=\"refunded\">Refunded</option></select><input value={detailDraft.payment_reference} onChange={event=>setDetailDraft({...detailDraft,payment_reference:event.target.value})} placeholder=\"Reference / Stripe receipt ID\" className={inputClass}/></div><button onClick={openStripe} className=\"mt-3 inline-flex items-center gap-2 text-sm font-black text-[#d8bb78]\"><ExternalLink className=\"h-4 w-4\"/>Open PCG Stripe checkout</button></section><section className={`${panelClass} mt-4 p-4`}><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Shipping & notes</div><div className=\"mt-4 grid gap-3 sm:grid-cols-2\"><select value={detailDraft.return_shipping_method} onChange={event=>setDetailDraft({...detailDraft,return_shipping_method:event.target.value})} className={inputClass}><option value=\"pickup\">Customer pickup</option><option value=\"fedex_2_day\">FedEx 2 Day</option><option value=\"fedex_saver\">FedEx Saver</option></select><input value={detailDraft.return_shipping_cost} onChange={event=>setDetailDraft({...detailDraft,return_shipping_cost:event.target.value})} type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Return shipping cost\" className={inputClass}/><input value={detailDraft.return_insurance_amount} onChange={event=>setDetailDraft({...detailDraft,return_insurance_amount:event.target.value})} type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Return insurance / declared coverage\" className={inputClass}/><input value={detailDraft.tracking_in} onChange={event=>setDetailDraft({...detailDraft,tracking_in:event.target.value})} placeholder=\"Inbound tracking\" className={inputClass}/><input value={detailDraft.tracking_out} onChange={event=>setDetailDraft({...detailDraft,tracking_out:event.target.value})} placeholder=\"Outbound tracking\" className={inputClass}/><textarea value={detailDraft.notes} onChange={event=>setDetailDraft({...detailDraft,notes:event.target.value})} placeholder=\"Submission notes\" className={`${inputClass} min-h-24 sm:col-span-2`}/></div><button disabled={busy} onClick={()=>void saveSubmissionDetails()} className=\"mt-3 bg-[#d8bb78] px-4 py-2.5 text-sm font-black text-black transition hover:bg-[#e6ca8d]\">Save submission details</button></section><section className=\"mt-6\"><div className=\"border-b border-white/[0.08] pb-3\"><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Cards in batch</div><h3 className=\"mt-1 text-xl font-black\">Card workbench</h3></div>{selectedCards.map(card=>{const draft=cardDrafts[card.id]||cardToDraft(card);return <div key={card.id} className=\"border-b border-white/[0.07] py-5\"><div className=\"flex items-center justify-between\"><div><div className=\"text-sm font-black\">Card #{card.sequence_number}</div><div className=\"mt-1 text-xs text-white/28\">{draft.cert_number||'Cert not assigned'} · {pretty(card.status)}</div></div>{draft.cert_number&&findPCGGrade(draft.grade_label)?<span className=\"inline-flex items-center gap-1 text-[10px] font-black text-emerald-300\"><Check className=\"h-3 w-3\"/>Graded</span>:null}</div><div className=\"mt-4 grid gap-2 sm:grid-cols-2\"><input value={draft.category} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,category:event.target.value}})} placeholder=\"Category\" className={inputClass}/><input value={draft.year} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,year:event.target.value}})} placeholder=\"Year\" className={inputClass}/><input value={draft.brand_set} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,brand_set:event.target.value}})} placeholder=\"Set Name\" className={inputClass}/><input value={draft.player_character} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,player_character:event.target.value}})} placeholder=\"Player Name(s)\" className={inputClass}/><input value={draft.card_number} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,card_number:event.target.value}})} placeholder=\"Card #\" className={inputClass}/><input value={draft.card_description} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,card_description:event.target.value}})} placeholder=\"Card Description\" className={inputClass}/><select value={draft.autograph_present} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,autograph_present:event.target.value as CardDraft['autograph_present']}})} className={inputClass}><option value=\"\">Auto Y/N</option><option value=\"yes\">Auto Yes</option><option value=\"no\">Auto No</option></select><input value={draft.declared_value} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,declared_value:event.target.value}})} type=\"number\" placeholder=\"Declared Value\" className={inputClass}/><input value={draft.cert_number} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,cert_number:event.target.value}})} placeholder=\"PCG#/CERT#\" className={inputClass}/><PCGGradeSelect draft={draft} onChange={next=>setCardDrafts({...cardDrafts,[card.id]:next})}/><textarea value={draft.grader_notes} onChange={event=>setCardDrafts({...cardDrafts,[card.id]:{...draft,grader_notes:event.target.value}})} placeholder=\"Grader notes\" className={`${inputClass} min-h-20 sm:col-span-2`}/></div><button disabled={busy} onClick={()=>void saveCard(card)} className=\"mt-3 bg-[#d8bb78] px-4 py-2.5 text-sm font-black text-black\">Save card</button></div>})}</section></aside></div>:null}</div>}"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","content":"import React from 'react';\n// PCG owner-requested MODES restore anchor: preserves the known-good pre-redesign presentation.\nimport {ArrowLeft,ArrowRight,BarChart3,Boxes,CheckCircle2,ClipboardCheck,Clock3,CreditCard,Database,Images,Settings,Truck,Users} from 'lucide-react';\nimport {useLocation,useNavigate} from 'react-router-dom';\nimport PcgWorkspace from '@/pages/crm/PcgWorkspace';\nimport {useMultiTenant} from '@/contexts/MultiTenantContext';\nimport PCGCompletionCenter from '@/pages/card-grading/PCGCompletionCenter';\nimport CardGradingPopulationReport from '@/pages/card-grading/CardGradingPopulationReport';\nimport TenantLogo from '@/components/branding/TenantLogo';\nimport MiscAwareAccountMenu from '@/components/MiscAwareAccountMenu';\nimport {CanonicalWorkspaceSidebarTrigger} from '@/components/layout/TenantLayoutControl';\nimport {supabase} from '@/integrations/supabase/client';\nimport {PCG_WORKSPACE_BACKGROUND} from '@/assets/pcgWorkspaceBackground';\nimport {resolveTenantMediaBranding} from '@/lib/tenants/tenantMediaBranding';\nimport {tenantMediaAssetUrl} from '@/lib/tenantMedia';\nimport {getTenantModeCards} from '@/shells/modesTenantShell';\n\ntype ModeId='submissions'|'grading'|'listings'|'orders';\ntype WorkspaceTab='today'|'vault'|'queue'|'submissions'|'certs'|'collectors'|'inventory'|'shipping'|'money'|'migration'|'readiness'|'population'|'settings';\ntype OperationalWorkspaceTab=Exclude<WorkspaceTab,'population'>;\ntype VaultMode='overview'|'single'|'batch'|'growth';\ntype ModeCounts={submissions:number;grading:number;listings:number;orders:number};\ntype UnknownRecord=Record<string,any>;\n\nfunction record(value:unknown):UnknownRecord{return value&&typeof value==='object'&&!Array.isArray(value)?value as UnknownRecord:{}}\nfunction resolvePcgHeroImage(tenant:any):string{\n  const settings=record(tenant?.settings);\n  const media=record(settings.media_branding);\n  const direct=String(media.hero_background_url||'').trim();\n  const assetId=String(media.resolved_hero_asset_id||media.hero_background_asset_id||'').trim();\n  const version=String(media.resolved_hero_version||media.hero_background_version||media.updated_at||'').trim();\n  return assetId?tenantMediaAssetUrl(assetId,version||null):direct;\n}\n\nconst MODE_TAB:Record<ModeId,WorkspaceTab>={submissions:'submissions',grading:'queue',listings:'inventory',orders:'shipping'};\nconst MODE_TOOLS:Record<ModeId,readonly {id:WorkspaceTab;label:string;vault?:VaultMode}[]>={\n  submissions:[{id:'submissions',label:'Receive Cards'},{id:'collectors',label:'Customers'}],\n  grading:[{id:'queue',label:'Grade Cards'},{id:'certs',label:'Certificates'}],\n  listings:[],\n  orders:[{id:'shipping',label:'Fulfill & Ship'}]\n};\nconst ADMIN_TOOLS=[{id:'settings' as WorkspaceTab,label:'Settings',icon:Settings},{id:'money' as WorkspaceTab,label:'Payments',icon:CreditCard},{id:'readiness' as WorkspaceTab,label:'Readiness',icon:ClipboardCheck},{id:'migration' as WorkspaceTab,label:'Migration',icon:Database},{id:'population' as WorkspaceTab,label:'Pop Report',icon:BarChart3}] as const;\nconst ADMIN_TOOL_IDS=new Set<WorkspaceTab>(ADMIN_TOOLS.map(item=>item.id));\nconst TOOL_LABEL:Record<WorkspaceTab,string>={today:'Work Queue',vault:'Capture Cards',queue:'Grade Cards',submissions:'Receive Cards',certs:'Certificates',collectors:'Customers',inventory:'Publish & Sell',shipping:'Fulfill & Ship',money:'Payments',migration:'Migration',readiness:'Readiness',population:'Pop Report',settings:'Settings'};\nconst PCG_CARD_IMAGE='https://images.squarespace-cdn.com/content/v1/6853034cd711cc2240276cf3/7fd5d898-1ff3-4bc2-9f7d-c7f2f2d6ee07/IMG_8111.jpg';\nconst PCG_STORE_IMAGE='https://images.squarespace-cdn.com/content/v1/6853034cd711cc2240276cf3/83d3ec70-169f-4d22-8916-15e422fb0e52/IMG_8156%2B%281%29.jpeg';\nconst MODES=[\n  {id:'submissions' as ModeId,assetKey:'received',title:'Receive Cards',short:'To Receive',copy:'Start here when cards arrive. Add the customer, capture the cards and begin the submission.',icon:Images,accent:'#168cff',image:PCG_CARD_IMAGE,position:'38% 45%'},\n  {id:'grading' as ModeId,assetKey:'grading',title:'Grade Cards',short:'To Grade',copy:'Open the grading queue, score cards, assign certificates and clear QA.',icon:Clock3,accent:'#a83cff',image:PCG_WORKSPACE_BACKGROUND,position:'68% 52%'},\n  {id:'listings' as ModeId,assetKey:'completed',title:'Publish & Sell',short:'Ready to Publish',copy:'Finish completed cards, approve sale pricing and publish to the PCG website and eBay.',icon:CheckCircle2,accent:'#00e676',image:PCG_CARD_IMAGE,position:'62% 48%'},\n  {id:'orders' as ModeId,assetKey:'mailed',title:'Fulfill & Ship',short:'To Fulfill',copy:'Handle completed returns, pickups, tracking and customer shipment updates.',icon:Truck,accent:'#ffd740',image:PCG_STORE_IMAGE,position:'76% 58%'},\n] as const;\n\nconst PCGBatchPublishingCenter=React.lazy(()=>import('@/pages/card-grading/PCGBatchPublishingCenter'));\n\nfunction isModeId(value:string|null):value is ModeId{return MODES.some(item=>item.id===value)}\nfunction isWorkspaceTab(value:string|null):value is WorkspaceTab{return Boolean(value)&&['today','vault','queue','submissions','certs','collectors','inventory','shipping','money','migration','readiness','population','settings'].includes(value as WorkspaceTab)}\nfunction bucket(status:string):ModeId|null{\n  if(['received','intake_imaging','authentication'].includes(status))return'submissions';\n  if(['grading','encapsulation','qa'].includes(status))return'grading';\n  if(status==='ready')return'listings';\n  if(['shipped','picked_up','delivered','closed'].includes(status))return'orders';\n  return null;\n}\n\nexport default function PCGModesWorkspace(){\n  const{activeTenant}=useMultiTenant();\n  const location=useLocation();\n  const navigate=useNavigate();\n  const tenantId=activeTenant?.id||'';\n  const slug=String(activeTenant?.company_slug||'pcg').trim().toLowerCase()||'pcg';\n  const wmpUrl='https://whatsmyprogress.com/'+encodeURIComponent(slug)+'/';\n  const branding=React.useMemo(()=>resolveTenantMediaBranding(activeTenant as any),[activeTenant]);\n  const workspaceBackground=branding.backgroundUrl||PCG_WORKSPACE_BACKGROUND;\n  const mediaBranding=(activeTenant?.settings?.media_branding&&typeof activeTenant.settings.media_branding==='object'&&!Array.isArray(activeTenant.settings.media_branding)?activeTenant.settings.media_branding:{}) as Record<string,any>;\n  const heroImage=React.useMemo(()=>resolvePcgHeroImage(activeTenant)||workspaceBackground,[activeTenant,workspaceBackground]);\n  const heroOpacityRaw=Number(mediaBranding.hero_background_opacity??1);\n  const heroZoomRaw=Number(mediaBranding.hero_background_zoom??1);\n  const heroBlurRaw=Number(mediaBranding.hero_background_blur_px??0);\n  const heroXRaw=Number(mediaBranding.hero_background_position_x??50);\n  const heroYRaw=Number(mediaBranding.hero_background_position_y??50);\n  const heroOpacity=Number.isFinite(heroOpacityRaw)?Math.max(0,Math.min(1,heroOpacityRaw)):1;\n  const heroZoom=Number.isFinite(heroZoomRaw)?Math.max(1,Math.min(2.5,heroZoomRaw)):1;\n  const heroBlur=Number.isFinite(heroBlurRaw)?Math.max(0,Math.min(20,heroBlurRaw)):0;\n  const heroX=Number.isFinite(heroXRaw)?Math.max(0,Math.min(100,heroXRaw)):50;\n  const heroY=Number.isFinite(heroYRaw)?Math.max(0,Math.min(100,heroYRaw)):50;\n  const configuredModeCards=React.useMemo(()=>getTenantModeCards(activeTenant as any),[activeTenant]);\n  const modes=React.useMemo(()=>MODES.map((entry)=>{\n    const configured=configuredModeCards.find((card)=>card.key===entry.assetKey);\n    const x=configured?.image_position_x;\n    const y=configured?.image_position_y;\n    const assetId=String(configured?.image_asset_id||'').trim();\n    const image=assetId?tenantMediaAssetUrl(assetId):String(configured?.image_url||configured?.fallback_image_url||entry.image);\n    const zoom=Number(configured?.image_zoom??1);\n    const opacity=Number(configured?.image_opacity??1);\n    const blur=Number(configured?.image_blur_px??0);\n    return {...entry,image,position:typeof x==='number'&&typeof y==='number'?`${x}% ${y}%`:entry.position,zoom:Number.isFinite(zoom)?Math.max(1,Math.min(2.5,zoom)):1,opacity:Number.isFinite(opacity)?Math.max(0,Math.min(1,opacity)):1,blur:Number.isFinite(blur)?Math.max(0,Math.min(20,blur)):0};\n  }),[configuredModeCards]);\n  const searchParams=new URLSearchParams(location.search);\n  const requestedMode=searchParams.get('mode');\n  const requestedTool=searchParams.get('tool');\n  const requestedVault=searchParams.get('vault');\n  const requestedSubmissionId=searchParams.get('submissionId')||'';\n  const mode=isModeId(requestedMode)?requestedMode:null;\n  const tool=isWorkspaceTab(requestedTool)?requestedTool:null;\n  const adminTool=!mode&&tool&&ADMIN_TOOL_IDS.has(tool)?tool:null;\n  const vaultMode:VaultMode=requestedVault==='batch'?'batch':requestedVault==='single'?'single':requestedVault==='growth'?'growth':'overview';\n  const[counts,setCounts]=React.useState<ModeCounts>({submissions:0,grading:0,listings:0,orders:0});\n\n  React.useEffect(()=>{\n    let cancelled=false;\n    if(!tenantId)return;\n    void (supabase as any).from('card_grading_submissions').select('status').eq('tenant_id',tenantId).then(({data}:any)=>{\n      if(cancelled)return;\n      const next:ModeCounts={submissions:0,grading:0,listings:0,orders:0};\n      for(const row of data||[]){const id=bucket(String(row?.status||''));if(id)next[id]+=1}\n      setCounts(next);\n    }).catch(()=>{});\n    return()=>{cancelled=true};\n  },[tenantId]);\n\n  const setMode=React.useCallback((next:ModeId|null)=>{\n    const params=new URLSearchParams(location.search);\n    if(next){params.set('mode',next);params.delete('tool');params.delete('vault');params.delete('submissionId');params.delete('cardId')}else{params.delete('mode');params.delete('tool');params.delete('vault');params.delete('submissionId');params.delete('cardId')}\n    const search=params.toString();\n    navigate({pathname:location.pathname,search:search?'?'+search:'',hash:location.hash},{replace:false});\n  },[location.hash,location.pathname,location.search,navigate]);\n  const openTool=React.useCallback((nextMode:ModeId,nextTool:WorkspaceTab,nextVault?:VaultMode)=>{\n    const params=new URLSearchParams(location.search);\n    params.set('mode',nextMode);params.set('tool',nextTool);\n    if(nextVault)params.set('vault',nextVault);else params.delete('vault');\n    params.delete('submissionId');params.delete('cardId');\n    const search=params.toString();\n    navigate({pathname:location.pathname,search:search?'?'+search:'',hash:location.hash},{replace:false});\n  },[location.hash,location.pathname,location.search,navigate]);\n  const openCaptureForSubmission=React.useCallback((submissionId:string,expectedCardCount:number)=>{\n    const params=new URLSearchParams(location.search);\n    params.set('mode','submissions');params.set('tool','submissions');params.delete('vault');params.set('submissionId',submissionId);params.delete('cardId');\n    const search=params.toString();\n    navigate({pathname:location.pathname,search:search?'?'+search:'',hash:location.hash},{replace:false});\n  },[location.hash,location.pathname,location.search,navigate]);\n  const openAdminTool=React.useCallback((nextTool:WorkspaceTab)=>{\n    const params=new URLSearchParams(location.search);\n    params.delete('mode');params.delete('vault');params.set('tool',nextTool);params.delete('submissionId');params.delete('cardId');\n    const search=params.toString();\n    navigate({pathname:location.pathname,search:search?'?'+search:'',hash:location.hash},{replace:false});\n  },[location.hash,location.pathname,location.search,navigate]);\n  const closeAdminTool=React.useCallback(()=>{const params=new URLSearchParams(location.search);params.delete('tool');params.delete('vault');params.delete('submissionId');params.delete('cardId');const search=params.toString();navigate({pathname:location.pathname,search:search?'?'+search:'',hash:location.hash},{replace:false})},[location.hash,location.pathname,location.search,navigate]);\n\n  if(mode){\n    const current=modes.find(item=>item.id===mode)!;\n    const modeTools=MODE_TOOLS[mode];\n    const allowedTabs=modeTools.map(item=>item.id);\n    const scopedTool=tool&&allowedTabs.includes(tool)?tool:null;\n    const activeTab=scopedTool||MODE_TAB[mode];\n    const headerLabel=scopedTool?TOOL_LABEL[scopedTool]:current.title;\n    return <div data-tenant-modes-shell=\"true\" data-tenant-id={tenantId||undefined} data-tenant-experience-family=\"modes\" data-pcg-active-mode={mode} data-pcg-mode-target={activeTab} className=\"relative min-h-screen bg-transparent text-white\">\n      <div data-pcg-mode-header=\"true\" className=\"sticky left-0 right-0 top-0 z-[65] box-border w-screen max-w-none border-b border-white/[.08] bg-[#050607]/92 px-3 py-2.5 backdrop-blur-xl sm:px-5 lg:px-7\">\n        <div className=\"flex w-full items-center gap-3\">\n          <button type=\"button\" onClick={()=>setMode(null)} aria-label=\"Back to PCG work queue\" className=\"grid h-11 w-11 shrink-0 place-items-center rounded-xl border border-white/[.10] bg-white/[.04] text-white/72\"><ArrowLeft className=\"h-4 w-4\"/></button>\n          <div className=\"grid h-10 w-10 shrink-0 place-items-center overflow-hidden rounded-xl border border-[#d8bb78]/25 bg-black/45\"><TenantLogo tenant={activeTenant as any} size={40} rounded=\"lg\" fallbackVariant=\"initial\" className=\"border-0 bg-transparent\"/></div>\n          <div className=\"min-w-0\"><div className=\"truncate text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">PCG Workflow</div><div className=\"truncate text-sm font-black\">{headerLabel}</div></div>\n          <div className=\"ml-auto hidden min-w-0 items-center gap-2 lg:flex\"><CanonicalWorkspaceSidebarTrigger className=\"h-10 w-[clamp(14rem,28vw,24rem)] border-white/[.10] bg-black/35 text-white/50 hover:bg-white/[.06] hover:text-white/80\"/></div><div className=\"ml-auto lg:ml-0\"><MiscAwareAccountMenu placement=\"inline\" avatarMode=\"tenant\" singletonKey={`pcg-mode-avatar:${tenantId||'workspace'}`} tenantShellOwner/></div>\n        </div>\n        {modeTools.length>1?<div className=\"mt-2 flex flex-wrap gap-1 pb-0.5\">{modeTools.map(item=><button key={item.id} type=\"button\" onClick={()=>openTool(mode,item.id,item.vault)} className={`whitespace-nowrap rounded-xl border px-3 py-2 text-[10px] font-black uppercase tracking-[.08em] transition ${activeTab===item.id?'border-[#d8bb78]/40 bg-[#d8bb78]/[.12] text-[#f2d99f]':'border-white/[.09] bg-white/[.035] text-white/52 hover:bg-white/[.08] hover:text-white/82'}`}>{item.label}</button>)}</div>:null}\n      </div>\n      {mode==='listings'?<><PCGCompletionCenter mode=\"completed\"/><React.Suspense fallback={null}><PCGBatchPublishingCenter tenantId={tenantId}/></React.Suspense></>:null}\n      {mode==='orders'?<><PCGCompletionCenter mode=\"mailed\"/><PcgWorkspace initialTab=\"shipping\" embedded navigationScope={['shipping']}/></>:null}\n      {mode==='submissions'||mode==='grading'?<PcgWorkspace initialTab={activeTab as OperationalWorkspaceTab} initialVaultMode={vaultMode} initialVaultSubmissionId={requestedSubmissionId} onSubmissionCreated={mode==='submissions'?({id,expected_card_count})=>openCaptureForSubmission(id,expected_card_count):undefined} embedded navigationScope={allowedTabs as OperationalWorkspaceTab[]}/>:null}\n    </div>\n  }\n\n  if(adminTool){\n    return <div data-tenant-modes-shell=\"true\" data-tenant-id={tenantId||undefined} data-tenant-experience-family=\"modes\" data-pcg-admin-tool={adminTool} className=\"relative min-h-screen bg-transparent text-white\">\n      <div className=\"sticky left-0 right-0 top-0 z-[65] border-b border-white/[.08] bg-[#050607]/92 px-3 py-2.5 backdrop-blur-xl sm:px-5 lg:px-7\"><div className=\"flex items-center gap-3\"><button type=\"button\" onClick={closeAdminTool} aria-label=\"Back to PCG work queue\" className=\"grid h-11 w-11 place-items-center rounded-xl border border-white/[.10] bg-white/[.04] text-white/72\"><ArrowLeft className=\"h-4 w-4\"/></button><div className=\"grid h-10 w-10 place-items-center overflow-hidden rounded-xl border border-[#d8bb78]/25 bg-black/45\"><TenantLogo tenant={activeTenant as any} size={40} rounded=\"lg\" fallbackVariant=\"initial\" className=\"border-0 bg-transparent\"/></div><div><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">PCG Admin</div><div className=\"text-sm font-black\">{TOOL_LABEL[adminTool]}</div></div><div className=\"ml-auto\"><MiscAwareAccountMenu placement=\"inline\" avatarMode=\"tenant\" singletonKey={`pcg-admin-avatar:${tenantId||'workspace'}`} tenantShellOwner/></div></div></div>\n      {adminTool==='population'?<CardGradingPopulationReport tenantId={tenantId}/>:<PcgWorkspace initialTab={adminTool as any} embedded navigationScope={[adminTool as any]}/>}\n    </div>\n  }\n\n\n\n\n  return <main data-tenant-modes-shell=\"true\" data-tenant-id={tenantId||undefined} data-tenant-experience-family=\"modes\" data-pcg-modes-workspace=\"true\" data-pcg-media-contract=\"tenant-configured\" className=\"relative min-h-dvh overflow-x-hidden bg-transparent pb-8 text-white\">\n    <header className=\"sticky left-0 right-0 top-0 z-[70] border-b border-white/[.08] bg-[#050607]/92 backdrop-blur-xl\">\n      <div className=\"flex min-h-[64px] items-center gap-3 px-3 sm:px-5 lg:px-7\">\n        <CanonicalWorkspaceSidebarTrigger className=\"h-11 w-[clamp(13rem,34vw,28rem)] border-white/[.10] bg-black/35 text-white/55 hover:bg-white/[.06] hover:text-white/85 max-sm:w-11 max-sm:px-0 max-sm:[&>span]:hidden\"/>\n        <div className=\"flex min-w-0 items-center gap-2.5\">\n          <div className=\"grid h-10 w-10 shrink-0 place-items-center overflow-hidden rounded-xl border border-[#d8bb78]/25 bg-black/45\"><TenantLogo tenant={activeTenant as any} size={38} rounded=\"lg\" fallbackVariant=\"initial\" className=\"border-0 bg-transparent\"/></div>\n          <div className=\"min-w-0\"><div className=\"truncate text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">Prestigious Card Grading</div><div className=\"truncate text-sm font-black text-white\">Work Queue</div></div>\n        </div>\n        <div className=\"ml-auto\"><MiscAwareAccountMenu placement=\"inline\" avatarMode=\"tenant\" singletonKey={'pcg-dashboard-avatar:'+(tenantId||'workspace')} tenantShellOwner/></div>\n      </div>\n    </header>\n\n    <div className=\"relative z-10 mx-auto max-w-[1560px] px-3 pb-7 pt-4 sm:px-5 sm:pt-5 lg:px-7 lg:pt-6\">\n      <section className=\"relative overflow-hidden rounded-[24px] border border-white/[.10] bg-black/45 shadow-2xl\">\n        <div className=\"absolute inset-0\" style={{backgroundImage:'url(\"'+heroImage+'\")',backgroundSize:'cover',backgroundPosition:`${heroX}% ${heroY}%`,opacity:heroOpacity,filter:`blur(${heroBlur}px)`,transform:`scale(${heroZoom})`,transformOrigin:`${heroX}% ${heroY}%`}}/>\n        <div className=\"absolute inset-0 bg-gradient-to-r from-black/95 via-black/72 to-black/40\"/>\n        <div className=\"relative flex min-h-[158px] flex-col justify-end p-5 sm:min-h-[190px] sm:p-7 lg:p-8\">\n          <div className=\"text-[10px] font-black uppercase tracking-[.22em] text-[#d8bb78]\">PCG MODES</div>\n          <h1 className=\"mt-2 text-[clamp(2rem,4vw,3.8rem)] font-black leading-[.92] tracking-[-.05em] text-white\">Your grading command center.</h1>\n          <p className=\"mt-3 max-w-2xl text-sm leading-6 text-white/58\">Pick the part of the shop you are working in. Each mode keeps only the tools for that job in front of you.</p>\n        </div>\n      </section>\n\n      <section className=\"mt-4\">\n        <div className=\"mb-2.5 flex items-end justify-between gap-4 px-1\">\n          <div><div className=\"text-[9px] font-black uppercase tracking-[.18em] text-[#d8bb78]\">Work Queue</div><h2 className=\"mt-1 text-xl font-black tracking-[-.025em] text-white sm:text-2xl\">Choose a mode</h2></div>\n          <div className=\"hidden text-xs font-semibold text-white/32 sm:block\">Receive → Grade → Publish → Fulfill</div>\n        </div>\n        <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-4\">{modes.map(({id,title,short,copy,icon:Icon,accent,image,position,zoom,opacity,blur})=><button key={id} type=\"button\" data-pcg-mode-id={id} aria-label={'Open '+title} onClick={()=>setMode(id)} className=\"group relative min-h-[230px] overflow-hidden rounded-[22px] border border-white/[.10] bg-[#090a0b] text-left shadow-2xl transition duration-200 hover:-translate-y-0.5 hover:border-white/[.18]\">\n          <div className=\"absolute inset-0 transition duration-300\" style={{backgroundImage:'url(\"'+image+'\")',backgroundSize:'cover',backgroundPosition:position,opacity,filter:`blur(${blur}px)`,transform:`scale(${zoom})`,transformOrigin:position}}/>\n          <div className=\"absolute inset-0 bg-gradient-to-t from-black via-black/78 to-black/22\"/>\n          <div className=\"absolute inset-x-0 top-0 h-[3px]\" style={{backgroundColor:accent}}/>\n          <div className=\"relative flex h-full min-h-[230px] flex-col justify-end p-4 sm:p-5\">\n            <div className=\"mb-auto flex items-start justify-between gap-3\">\n              <span className=\"grid h-10 w-10 place-items-center rounded-xl border border-white/[.12] bg-black/45 backdrop-blur\"><Icon className=\"h-5 w-5\" style={{color:accent}}/></span>\n              <div className=\"text-right\"><div className=\"text-3xl font-black leading-none text-white\">{counts[id]}</div><div className=\"mt-1 text-[8px] font-black uppercase tracking-[.12em] text-white/38\">{short}</div></div>\n            </div>\n            <h3 className=\"text-xl font-black tracking-[-.025em] text-white\">{title}</h3>\n            <p className=\"mt-1.5 line-clamp-2 text-[11px] leading-5 text-white/46\">{copy}</p>\n            <div className=\"mt-3 flex items-center gap-1 text-[9px] font-black uppercase tracking-[.12em]\" style={{color:accent}}>Open mode <ArrowRight className=\"h-3.5 w-3.5 transition group-hover:translate-x-0.5\"/></div>\n          </div>\n        </button>)}</div>\n      </section>\n\n      <section className=\"mt-4 rounded-[18px] border border-white/[.08] bg-black/28 p-3 backdrop-blur-sm\">\n        <div className=\"flex flex-wrap items-center gap-2\">\n          <span className=\"mr-1 text-[9px] font-black uppercase tracking-[.16em] text-white/28\">Admin</span>\n          {ADMIN_TOOLS.map(({id,label,icon:Icon})=><button key={id} type=\"button\" onClick={()=>openAdminTool(id)} className=\"inline-flex min-h-10 items-center gap-2 rounded-lg border border-white/[.09] bg-white/[.04] px-3 text-[10px] font-black text-white/48 transition hover:bg-white/[.08] hover:text-white/78\"><Icon className=\"h-3.5 w-3.5 text-[#d8bb78]\"/>{label}</button>)}\n        </div>\n      </section>\n    </div>\n  </main>\n}\n"},{"path":"supabase/functions/pcg-google-drive-media/index.ts","content":"import {serve} from \"https://deno.land/std@0.190.0/http/server.ts\";\nimport {createClient} from \"https://esm.sh/@supabase/supabase-js@2.45.0\";\nimport {decryptSecret,encryptSecret} from \"../_shared/tenantCrypto.ts\";\n\nexport const FUNCTION_VERSION=\"1.4.0-customer-gallery-analysis\";\nconst SUPABASE_URL=Deno.env.get(\"SUPABASE_URL\")||\"\";\nconst SERVICE_ROLE=Deno.env.get(\"SUPABASE_SERVICE_ROLE_KEY\")||\"\";\nconst VISION_ENDPOINT=Deno.env.get(\"KNOCKLAUNCH_VISION_ENDPOINT\")||\"\";\nconst VISION_TOKEN=Deno.env.get(\"KNOCKLAUNCH_VISION_BEARER_TOKEN\")||\"\";\nconst DRIVE_SCOPE=\"https://www.googleapis.com/auth/drive.file\";\nconst GOOGLE_FILES=\"https://www.googleapis.com/drive/v3/files\";\nconst GOOGLE_UPLOAD=\"https://www.googleapis.com/upload/drive/v3/files\";\nconst LEGACY_IMAGE_HOSTS=new Set([\"pcgslab.com\",\"www.pcgslab.com\",\"images.squarespace-cdn.com\",\"static1.squarespace.com\"]);\nconst MAX_LEGACY_IMAGE_BYTES=25*1024*1024;\ntype StoredToken={access_token?:string;refresh_token?:string|null;expires_at?:string|null;token_type?:string|null;scope?:string|null;metadata?:Record<string,unknown>};\n\nconst cors={\"Access-Control-Allow-Origin\":\"*\",\"Access-Control-Allow-Headers\":\"authorization, content-type, range, x-client-info, apikey\",\"Access-Control-Allow-Methods\":\"GET, HEAD, POST, OPTIONS\"};\nconst json=(body:unknown,status=200)=>new Response(JSON.stringify(body),{status,headers:{...cors,\"Content-Type\":\"application/json\",\"Cache-Control\":\"no-store\"}});\nconst clean=(value:unknown)=>String(value??\"\").trim();\nconst safeName=(value:string)=>value.replace(/[\\\\/]+/g,\"-\").replace(/[\\u0000-\\u001f]+/g,\" \").trim().slice(0,180)||\"pcg-card-image\";\nconst bytesToHex=(bytes:Uint8Array)=>Array.from(bytes).map(value=>value.toString(16).padStart(2,\"0\")).join(\"\");\nasync function sha256(value:string){return bytesToHex(new Uint8Array(await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(value))))}\nfunction base64Url(bytes:Uint8Array){let binary=\"\";for(const value of bytes)binary+=String.fromCharCode(value);return btoa(binary).replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=+$/,\"\")}\nasync function signingKey(){const digest=await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(SERVICE_ROLE+\":pcg-google-drive-media:v1\"));return crypto.subtle.importKey(\"raw\",digest,{name:\"HMAC\",hash:\"SHA-256\"},false,[\"sign\"])}\nasync function signature(tenantId:string,fileId:string){const key=await signingKey();return base64Url(new Uint8Array(await crypto.subtle.sign(\"HMAC\",key,new TextEncoder().encode(tenantId+\":\"+fileId))))}\nfunction sameSignature(a:string,b:string){if(a.length!==b.length)return false;let mismatch=0;for(let i=0;i<a.length;i++)mismatch|=a.charCodeAt(i)^b.charCodeAt(i);return mismatch===0}\nasync function publicUrl(tenantId:string,fileId:string){return SUPABASE_URL+\"/functions/v1/pcg-google-drive-media/media?tenant=\"+encodeURIComponent(tenantId)+\"&file=\"+encodeURIComponent(fileId)+\"&sig=\"+encodeURIComponent(await signature(tenantId,fileId))}\n\nasync function refreshGoogleToken(admin:any,tenantId:string,credential:any){\n  const granted=Array.isArray(credential?.metadata?.granted_scopes)?credential.metadata.granted_scopes.map((value:unknown)=>String(value)):[];\n  if(credential?.credential_status!==\"active\")return{ok:false as const,code:\"provider_prerequisite_required\",error:\"Connect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  if(!granted.includes(DRIVE_SCOPE))return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections to add Google Drive permission.\"};\n  const{data:secret,error:secretError}=await admin.from(\"tenant_provider_secrets\").select(\"ciphertext,iv\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\").maybeSingle();\n  if(secretError)throw secretError;\n  if(!secret?.ciphertext||!secret?.iv)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  let token=JSON.parse(await decryptSecret(secret.ciphertext,secret.iv)) as StoredToken;\n  const expiresAt=token.expires_at?new Date(token.expires_at).getTime():0;\n  if(expiresAt&&expiresAt<=Date.now()+5*60*1000){\n    if(!token.refresh_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n    const clientId=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_ID\")||\"\",clientSecret=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_SECRET\")||\"\";\n    if(!clientId||!clientSecret)return{ok:false as const,code:\"provider_platform_not_configured\",error:\"Google Workspace is not enabled on KnockLaunch yet.\"};\n    const response=await fetch(\"https://oauth2.googleapis.com/token\",{method:\"POST\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:new URLSearchParams({grant_type:\"refresh_token\",refresh_token:token.refresh_token,client_id:clientId,client_secret:clientSecret})});\n    const payload=await response.json().catch(()=>({}));\n    if(!response.ok||!payload?.access_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n    token={...token,access_token:String(payload.access_token),expires_at:payload.expires_in?new Date(Date.now()+Number(payload.expires_in)*1000).toISOString():token.expires_at,scope:payload.scope?String(payload.scope):token.scope,token_type:payload.token_type?String(payload.token_type):token.token_type};\n    const encrypted=await encryptSecret(JSON.stringify(token));\n    await admin.from(\"tenant_provider_secrets\").update({ciphertext:encrypted.ciphertext,iv:encrypted.iv,verified_at:new Date().toISOString(),verification_error:null}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n    await admin.from(\"tenant_provider_credentials\").update({last_verified_at:new Date().toISOString(),verification_notes:\"Google Workspace token refreshed for PCG Drive media.\"}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n  }\n  if(!token.access_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  return{ok:true as const,accessToken:token.access_token,metadata:(credential?.metadata||{}) as Record<string,unknown>};\n}\nasync function googleWorkspace(admin:any,tenantId:string){\n  const{data:credential,error}=await admin.from(\"tenant_provider_credentials\").select(\"credential_status,metadata\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\").maybeSingle();\n  if(error)throw error;\n  return refreshGoogleToken(admin,tenantId,credential);\n}\nasync function requirePcgMember(req:Request,admin:any,tenantId:string){\n  const auth=clean(req.headers.get(\"Authorization\"));\n  if(!auth.startsWith(\"Bearer \"))return{ok:false as const,status:401,error:\"Please sign in again.\"};\n  const{data,error}=await admin.auth.getUser(auth.slice(7));\n  if(error||!data.user?.id)return{ok:false as const,status:401,error:\"Please sign in again.\"};\n  const{data:isMember,error:memberError}=await admin.rpc(\"is_tenant_member\",{_user_id:data.user.id,_tenant_id:tenantId});\n  if(memberError)throw memberError;\n  if(!isMember)return{ok:false as const,status:403,error:\"This PCG workspace is not available to your account.\"};\n  const{data:tenant,error:tenantError}=await admin.from(\"tenants\").select(\"company_slug,name,settings\").eq(\"id\",tenantId).maybeSingle();\n  if(tenantError)throw tenantError;\n  const slug=clean(tenant?.company_slug).toLowerCase(),settings=(tenant?.settings||{}) as Record<string,unknown>;\n  const isPcg=slug===\"pcg\"||slug===\"prestigious-card-grading\"||clean(settings.routing_family).toUpperCase()===\"CARD_GRADING_OPS\"||clean(settings.workspace_type).toLowerCase()===\"card_grading\"||clean(tenant?.name).toLowerCase().includes(\"prestigious card grading\");\n  if(!isPcg)return{ok:false as const,status:403,error:\"This storage adapter is reserved for the PCG workspace.\"};\n  return{ok:true as const,userId:data.user.id};\n}\nasync function requirePcgOwner(req:Request,admin:any,tenantId:string){\n  const member=await requirePcgMember(req,admin,tenantId);if(!member.ok)return member;\n  const[{data:systemAdmin},{data:membership,error:membershipError}]=await Promise.all([\n    admin.rpc(\"is_system_admin\",{_user_id:member.userId}),\n    admin.from(\"security_active_user_tenant_memberships\").select(\"status,is_owner\").eq(\"user_id\",member.userId).eq(\"tenant_id\",tenantId).maybeSingle()\n  ]);\n  if(membershipError)throw membershipError;\n  if(systemAdmin===true||membership?.status===\"active\"&&membership?.is_owner===true)return member;\n  return{ok:false as const,status:403,error:\"This PCG owner operation requires the tenant owner or a platform administrator.\"};\n}\nfunction allowedLegacyUrl(raw:string,base?:string){\n  let parsed:URL;try{parsed=base?new URL(raw,base):new URL(raw)}catch{throw new Error(\"Legacy image URL is invalid.\")}\n  const host=parsed.hostname.toLowerCase();\n  if(parsed.protocol!==\"https:\"||!LEGACY_IMAGE_HOSTS.has(host))throw new Error(\"Legacy image host is not approved for PCG migration.\");\n  if(parsed.username||parsed.password)throw new Error(\"Legacy image URLs may not include credentials.\");\n  return parsed;\n}\nasync function fetchLegacyImage(sourceUrl:string){\n  let current=allowedLegacyUrl(sourceUrl);\n  for(let hop=0;hop<6;hop++){\n    const controller=new AbortController();const timeout=setTimeout(()=>controller.abort(),20000);\n    let response:Response;\n    try{response=await fetch(current,{redirect:\"manual\",signal:controller.signal,headers:{\"User-Agent\":\"KNOCKLAUNCH-PCG-Migration/1.0\",\"Accept\":\"image/*\"}})}\n    finally{clearTimeout(timeout)}\n    if(response.status>=300&&response.status<400){\n      const location=response.headers.get(\"location\");if(!location)throw new Error(\"Legacy image redirect was missing a destination.\");\n      current=allowedLegacyUrl(location,current.toString());continue\n    }\n    if(!response.ok)throw new Error(\"Legacy image fetch failed (\"+response.status+\").\");\n    const contentType=clean(response.headers.get(\"content-type\")).split(\";\")[0].toLowerCase();\n    if(!contentType.startsWith(\"image/\"))throw new Error(\"Legacy source did not return an image.\");\n    const length=Number(response.headers.get(\"content-length\")||0);if(length>MAX_LEGACY_IMAGE_BYTES)throw new Error(\"Legacy image exceeds the 25 MB migration limit.\");\n    const bytes=new Uint8Array(await response.arrayBuffer());if(bytes.byteLength>MAX_LEGACY_IMAGE_BYTES)throw new Error(\"Legacy image exceeds the 25 MB migration limit.\");\n    return{bytes,contentType,finalUrl:current.toString()};\n  }\n  throw new Error(\"Legacy image exceeded the approved redirect limit.\");\n}\nasync function uploadLegacyBytes(admin:any,tenantId:string,google:any,importKey:string,key:string,side:string,sourceUrl:string,name:string){\n  const folderId=await ensureFolder(admin,tenantId,google.accessToken,google.metadata);\n  const importHash=await sha256(importKey),sessionHash=await sha256(\"legacy:\"+importKey);\n  const existing=await findExisting(google.accessToken,folderId,importHash,side);\n  if(existing?.id)return{ok:true,deduped:true,file_id:String(existing.id),url:await publicUrl(tenantId,String(existing.id)),source_url:sourceUrl};\n  const remote=await fetchLegacyImage(sourceUrl);\n  const parsed=new URL(remote.finalUrl),remoteName=safeName(name||parsed.pathname.split(\"/\").filter(Boolean).pop()||\"legacy-card-image\");\n  const fileName=safeName(key+\"-\"+side+\"-\"+remoteName);\n  const created=await driveJson(google.accessToken,GOOGLE_FILES+\"?fields=id,name,mimeType\",{method:\"POST\",body:JSON.stringify({name:fileName,mimeType:remote.contentType,parents:[folderId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_import_hash:importHash,knocklaunch_session_hash:sessionHash,knocklaunch_side:side,knocklaunch_legacy_source_hash:await sha256(sourceUrl)}})});\n  const fileId=clean(created.id);if(!fileId)throw new Error(\"Google Drive did not create the migrated PCG image record.\");\n  try{\n    const uploaded=await fetch(GOOGLE_UPLOAD+\"/\"+encodeURIComponent(fileId)+\"?uploadType=media&fields=id,name,mimeType,size\",{method:\"PATCH\",headers:{Authorization:\"Bearer \"+google.accessToken,\"Content-Type\":remote.contentType,\"Content-Length\":String(remote.bytes.byteLength)},body:remote.bytes});\n    const payload=await uploaded.json().catch(()=>({}));if(!uploaded.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive legacy-image upload failed (\"+uploaded.status+\").\");\n    return{ok:true,deduped:false,file_id:fileId,url:await publicUrl(tenantId,fileId),source_url:sourceUrl,final_source_url:remote.finalUrl,storage_owner:\"google_workspace\",master_copy:true};\n  }catch(error){\n    await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+google.accessToken}}).catch(()=>null);throw error\n  }\n}\nasync function importLegacyUrl(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),importKey=clean(body.import_key),key=clean(body.key),side=clean(body.side).toLowerCase(),sourceUrl=clean(body.source_url),name=safeName(clean(body.name));\n  if(!tenantId||!importKey||!key||!sourceUrl||![\"front\",\"back\",\"slab\"].includes(side))return json({ok:false,error:\"Legacy image migration metadata is incomplete.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  allowedLegacyUrl(sourceUrl);\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:google.error},409);\n  const result=await uploadLegacyBytes(admin,tenantId,google,importKey,key,side,sourceUrl,name);\n  return json(result);\n}\n\nconst CANARY_PNG_BASE64=\"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=\";\nfunction canaryPngBytes(){const binary=atob(CANARY_PNG_BASE64),bytes=new Uint8Array(binary.length);for(let index=0;index<binary.length;index+=1)bytes[index]=binary.charCodeAt(index);return bytes}\nasync function uploadCanaryBytes(admin:any,tenantId:string,google:any,sessionKey:string,importKey:string,key:string,side:string){\n  const folderId=await ensureFolder(admin,tenantId,google.accessToken,google.metadata);\n  const importHash=await sha256(importKey),sessionHash=await sha256(sessionKey);\n  const existing=await findExisting(google.accessToken,folderId,importHash,side);\n  if(existing?.id)return{ok:true,deduped:true,file_id:String(existing.id),url:await publicUrl(tenantId,String(existing.id))};\n  const bytes=canaryPngBytes(),contentType=\"image/png\",fileName=safeName(key+\"-\"+side+\"-pipeline-canary.png\");\n  const created=await driveJson(google.accessToken,GOOGLE_FILES+\"?fields=id,name,mimeType\",{method:\"POST\",body:JSON.stringify({name:fileName,mimeType:contentType,parents:[folderId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_import_hash:importHash,knocklaunch_session_hash:sessionHash,knocklaunch_side:side,knocklaunch_canary:\"true\"}})});\n  const fileId=clean(created.id);if(!fileId)throw new Error(\"Google Drive did not create the PCG canary image record.\");\n  try{\n    const uploaded=await fetch(GOOGLE_UPLOAD+\"/\"+encodeURIComponent(fileId)+\"?uploadType=media&fields=id,name,mimeType,size\",{method:\"PATCH\",headers:{Authorization:\"Bearer \"+google.accessToken,\"Content-Type\":contentType,\"Content-Length\":String(bytes.byteLength)},body:bytes});\n    const payload=await uploaded.json().catch(()=>({}));if(!uploaded.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive canary image upload failed (\"+uploaded.status+\").\");\n    return{ok:true,deduped:false,file_id:fileId,url:await publicUrl(tenantId,fileId)};\n  }catch(error){await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+google.accessToken}}).catch(()=>null);throw error}\n}\nasync function deleteDriveFile(accessToken:string,fileId:string){\n  const response=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+accessToken}});\n  if(response.ok||response.status===404)return true;\n  return false\n}\nasync function advanceCanary(admin:any,tenantId:string,submissionId:string,status:string){\n  const{error}=await admin.rpc(\"advance_pcg_grading_submission\",{p_tenant_id:tenantId,p_submission_id:submissionId,p_status:status});\n  if(error)throw new Error(\"PCG \"+status+\" transition failed: \"+clean(error.message));\n}\nasync function expectAdvanceBlocked(admin:any,tenantId:string,submissionId:string,status:string){\n  const{error}=await admin.rpc(\"advance_pcg_grading_submission\",{p_tenant_id:tenantId,p_submission_id:submissionId,p_status:status});\n  if(!error)throw new Error(\"PCG \"+status+\" guard did not block the intentionally incomplete canary.\");\n  return true\n}\nasync function verifySignedMedia(url:string){\n  const response=await fetch(url,{method:\"HEAD\"});\n  if(!response.ok)throw new Error(\"Signed PCG media delivery failed (\"+response.status+\").\");\n  return true\n}\nasync function lookupCanaryProgress(submissionNumber:string,email:string){\n  const response=await fetch(SUPABASE_URL+\"/functions/v1/pcg-customer-progress\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:\"Bearer \"+SERVICE_ROLE,apikey:SERVICE_ROLE},body:JSON.stringify({tenant_slug:\"pcg\",submission_number:submissionNumber,email})});\n  const payload=await response.json().catch(()=>null);\n  if(!response.ok||payload?.ok!==true)throw new Error(\"PCG customer-progress canary lookup failed.\");\n  return payload\n}\nasync function persistCanaryReceipt(admin:any,tenantId:string,status:\"ready\"|\"blocked\",detail:Record<string,unknown>){\n  const{error}=await admin.from(\"tenant_readiness_checks\").upsert({tenant_id:tenantId,check_key:\"pcg_pipeline_canary\",status,detail,updated_at:new Date().toISOString()},{onConflict:\"tenant_id,check_key\"});\n  if(error)console.error(\"[pcg-pipeline-canary] readiness receipt\",error)\n}\nasync function runPipelineCanary(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id);\n  if(!tenantId)return json({ok:false,error:\"PCG tenant is required.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const startedAt=new Date().toISOString(),runId=Date.now().toString(36)+\"-\"+crypto.randomUUID().slice(0,8);\n  const email=(\"pcg-canary-\"+runId+\"@knocklaunch.invalid\").toLowerCase();\n  const submissionIds:string[]=[],contactIds:string[]=[],driveFileIds:string[]=[];\n  let google:any=null,single:any=null,batch:any=null,failure=\"\";\n  const cleanup={database:false,drive:false,submission_rows_removed:0,contact_rows_removed:0,drive_files_deleted:0,drive_files_expected:0};\n  try{\n    google=await googleWorkspace(admin,tenantId);\n    if(!google.ok){\n      const detail={ok:false,ran_at:startedAt,version:FUNCTION_VERSION,error:google.error,code:google.code,single:null,batch:null,cleanup};\n      await persistCanaryReceipt(admin,tenantId,\"blocked\",detail);\n      return json(detail,409)\n    }\n    const{data:contact,error:contactError}=await admin.from(\"unified_contacts\").insert({tenant_org_id:tenantId,name:\"PCG PIPELINE CANARY\",email,phone:\"+10000000000\",normalized_email:email,normalized_phone:\"10000000000\",source:\"pcg_pipeline_canary\",contact_role:\"collector\",address:\"1 Canary Way\",city:\"Testville\",state:\"FL\",zip:\"00000\",normalized_address:\"1 canary way|testville|fl|00000\"}).select(\"id\").single();\n    if(contactError||!contact?.id)throw new Error(\"Canary customer record could not be created: \"+clean(contactError?.message));\n    contactIds.push(String(contact.id));\n    const runScenario=async(kind:\"single\"|\"batch\",expected:number)=>{\n      const submissionNumber=(\"CANARY-\"+runId+\"-\"+kind).toUpperCase(),now=new Date(),due=new Date(Date.now()+14*86400000);\n      const{data:submission,error:submissionError}=await admin.from(\"card_grading_submissions\").insert({tenant_id:tenantId,submission_number:submissionNumber,customer_contact_id:contact.id,customer_name:\"PCG PIPELINE CANARY\",customer_email:email,customer_phone:\"+10000000000\",service_tier:\"two_weeks\",service_price:20,expected_card_count:expected,status:\"received\",payment_status:\"waived\",delivery_method:\"mail_in\",tracking_in:\"CANARY-IN-\"+runId,return_shipping_method:\"fedex_saver\",return_shipping_cost:12.34,return_insurance_amount:100,notes:\"[PCG PIPELINE CANARY] synthetic auto-clean record\",received_at:now.toISOString(),due_at:due.toISOString()}).select(\"id,submission_number\").single();\n      if(submissionError||!submission?.id)throw new Error(kind+\" canary submission could not be created: \"+clean(submissionError?.message));\n      const submissionId=String(submission.id);submissionIds.push(submissionId);\n      let dedupeVerified=false,signedDeliveryVerified=true;\n      const certs:string[]=[];\n      for(let index=1;index<=expected;index+=1){\n        const importKey=\"pcg-canary:\"+runId+\":\"+kind+\":\"+index,sessionKey=\"pcg-canary-session:\"+runId+\":\"+kind,key=kind+\"-\"+index;\n        const front=await uploadCanaryBytes(admin,tenantId,google,sessionKey,importKey,key,\"front\");\n        const back=await uploadCanaryBytes(admin,tenantId,google,sessionKey,importKey,key,\"back\");\n        for(const media of [front,back])if(!driveFileIds.includes(String(media.file_id)))driveFileIds.push(String(media.file_id));\n        if(index===1){\n          const retry=await uploadCanaryBytes(admin,tenantId,google,sessionKey,importKey,key,\"front\");\n          dedupeVerified=retry.deduped===true&&String(retry.file_id)===String(front.file_id);\n          if(!dedupeVerified)throw new Error(kind+\" canary Drive retry identity did not dedupe.\");\n        }\n        signedDeliveryVerified=await verifySignedMedia(String(front.url))&&await verifySignedMedia(String(back.url))&&signedDeliveryVerified;\n        const{error:cardError}=await admin.from(\"card_grading_cards\").insert({tenant_id:tenantId,submission_id:submissionId,sequence_number:index,category:\"Basketball\",year:\"2026\",brand_set:\"PCG Pipeline Canary\",player_character:kind===\"single\"?\"Synthetic Single Card\":\"Synthetic Batch Card \"+index,card_number:\"CAN-\"+index,card_description:\"Synthetic PCG pipeline verification card\",variation:\"Canary\",autograph_present:false,declared_value:1,front_image_url:front.url,back_image_url:back.url,status:\"received\",import_key:importKey,metadata:{pipeline_canary:true,run_id:runId,scenario:kind}});\n        if(cardError)throw new Error(kind+\" canary canonical card write failed: \"+clean(cardError.message))\n      }\n      const{count,error:countError}=await admin.from(\"card_grading_cards\").select(\"id\",{count:\"exact\",head:true}).eq(\"tenant_id\",tenantId).eq(\"submission_id\",submissionId);\n      if(countError)throw countError;const captured=Number(count||0);if(captured!==expected)throw new Error(kind+\" canary captured \"+captured+\" of \"+expected+\" expected cards.\");\n      await advanceCanary(admin,tenantId,submissionId,\"intake_imaging\");\n      await advanceCanary(admin,tenantId,submissionId,\"authentication\");\n      await advanceCanary(admin,tenantId,submissionId,\"grading\");\n      const gradeGateVerified=await expectAdvanceBlocked(admin,tenantId,submissionId,\"encapsulation\");\n      const{data:cards,error:cardsError}=await admin.from(\"card_grading_cards\").select(\"id,sequence_number\").eq(\"tenant_id\",tenantId).eq(\"submission_id\",submissionId).order(\"sequence_number\");\n      if(cardsError)throw cardsError;\n      for(const card of cards||[]){\n        const cert=(\"CAN-\"+runId+\"-\"+kind+\"-\"+card.sequence_number).toUpperCase();certs.push(cert);\n        const{error:updateError}=await admin.from(\"card_grading_cards\").update({grade:9,grade_label:\"9 MT\",cert_number:cert,grader_notes:\"Synthetic canary grade\",updated_at:new Date().toISOString()}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);\n        if(updateError)throw updateError\n      }\n      await advanceCanary(admin,tenantId,submissionId,\"encapsulation\");\n      await advanceCanary(admin,tenantId,submissionId,\"qa\");\n      await advanceCanary(admin,tenantId,submissionId,\"ready\");\n      const shippingGateVerified=await expectAdvanceBlocked(admin,tenantId,submissionId,\"shipped\");\n      const tracking=\"CANARY-OUT-\"+runId+\"-\"+kind.toUpperCase();\n      const{error:trackingError}=await admin.from(\"card_grading_submissions\").update({tracking_out:tracking,updated_at:new Date().toISOString()}).eq(\"tenant_id\",tenantId).eq(\"id\",submissionId);\n      if(trackingError)throw trackingError;\n      await advanceCanary(admin,tenantId,submissionId,\"shipped\");\n      const progress=await lookupCanaryProgress(submissionNumber,email),progressCards=Array.isArray(progress?.data?.cards)?progress.data.cards:[];\n      const wmpVerified=progress?.data?.order?.status===\"shipped\"&&progress?.data?.order?.return_shipping_method===\"fedex_saver\"&&progress?.data?.order?.tracking_out===tracking&&progressCards.length===expected&&progressCards.every((card:any)=>card.grade===9&&card.grade_label===\"9 MT\"&&certs.includes(String(card.cert_number||\"\")));\n      if(!wmpVerified)throw new Error(kind+\" canary WMP data did not match the canonical order.\");\n      return{status:\"passed\",expected_card_count:expected,captured_card_count:captured,drive_file_count:expected*2,dedupe_verified:dedupeVerified,signed_delivery_verified:signedDeliveryVerified,grade_gate_verified:gradeGateVerified,shipping_gate_verified:shippingGateVerified,wmp_verified:wmpVerified,terminal_status:\"shipped\"}\n    };\n    single=await runScenario(\"single\",1);\n    batch=await runScenario(\"batch\",2);\n  }catch(error){failure=error instanceof Error?error.message:String(error)}\n  finally{\n    cleanup.drive_files_expected=driveFileIds.length;\n    if(submissionIds.length){\n      const{error}=await admin.from(\"card_grading_submissions\").delete().eq(\"tenant_id\",tenantId).in(\"id\",submissionIds);if(!error)cleanup.submission_rows_removed=submissionIds.length\n    }\n    if(contactIds.length){\n      const{error}=await admin.from(\"unified_contacts\").delete().eq(\"tenant_org_id\",tenantId).in(\"id\",contactIds);if(!error)cleanup.contact_rows_removed=contactIds.length\n    }\n    cleanup.database=cleanup.submission_rows_removed===submissionIds.length&&cleanup.contact_rows_removed===contactIds.length;\n    if(google?.ok){\n      for(const fileId of driveFileIds)if(await deleteDriveFile(google.accessToken,fileId))cleanup.drive_files_deleted+=1;\n      cleanup.drive=cleanup.drive_files_deleted===cleanup.drive_files_expected\n    }else cleanup.drive=driveFileIds.length===0\n  }\n  const ok=!failure&&single?.status===\"passed\"&&batch?.status===\"passed\"&&cleanup.database&&cleanup.drive;\n  const detail={ok,ran_at:startedAt,completed_at:new Date().toISOString(),version:FUNCTION_VERSION,single,batch,cleanup,error:failure||null};\n  await persistCanaryReceipt(admin,tenantId,ok?\"ready\":\"blocked\",detail);\n  return json(detail,ok?200:500)\n}\n\nasync function driveJson(accessToken:string,url:string,init:RequestInit={}){\n  const response=await fetch(url,{...init,headers:{Authorization:\"Bearer \"+accessToken,\"Content-Type\":\"application/json\",...(init.headers||{})}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive request failed (\"+response.status+\").\");\n  return payload;\n}\nasync function ensureFolder(admin:any,tenantId:string,accessToken:string,metadata:Record<string,unknown>){\n  let folderId=clean(metadata.pcg_drive_folder_id);\n  if(folderId){\n    const check=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(folderId)+\"?fields=id,trashed,mimeType\",{headers:{Authorization:\"Bearer \"+accessToken}});\n    if(check.ok){const info=await check.json().catch(()=>({}));if(info?.id&&!info?.trashed&&info?.mimeType===\"application/vnd.google-apps.folder\")return folderId}\n  }\n  const created=await driveJson(accessToken,GOOGLE_FILES+\"?fields=id,name\",{method:\"POST\",body:JSON.stringify({name:\"KNOCKLAUNCH PCG Card Images\",mimeType:\"application/vnd.google-apps.folder\",appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId}})});\n  folderId=clean(created.id);\n  if(!folderId)throw new Error(\"Google Drive did not return the PCG folder identifier.\");\n  await admin.from(\"tenant_provider_credentials\").update({metadata:{...metadata,pcg_drive_folder_id:folderId,pcg_drive_storage_owner:\"tenant_google_workspace\"}}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n  return folderId;\n}\nfunction qValue(value:string){return value.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\")}\nasync function ensureCustomerFolder(admin:any,tenantId:string,accessToken:string,metadata:Record<string,unknown>,submissionId:string){\n  if(!submissionId)throw new Error(\"Choose or create the PCG customer order before card intake.\");\n  const{data:submission,error}=await admin.from(\"card_grading_submissions\").select(\"id,customer_contact_id,customer_name,submission_number\").eq(\"tenant_id\",tenantId).eq(\"id\",submissionId).maybeSingle();\n  if(error)throw error;\n  const customerId=clean(submission?.customer_contact_id);\n  if(!submission?.id||!customerId)throw new Error(\"This PCG order is missing a customer. Assign the customer before adding card images.\");\n  const rootId=await ensureFolder(admin,tenantId,accessToken,metadata);\n  const q=\"'\"+qValue(rootId)+\"' in parents and trashed=false and mimeType='application/vnd.google-apps.folder' and appProperties has { key='knocklaunch_pcg_customer_id' and value='\"+qValue(customerId)+\"' }\";\n  const response=await fetch(GOOGLE_FILES+\"?spaces=drive&pageSize=1&fields=files(id,name)&q=\"+encodeURIComponent(q),{headers:{Authorization:\"Bearer \"+accessToken}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive could not resolve the PCG customer folder.\");\n  if(Array.isArray(payload.files)&&payload.files[0]?.id)return String(payload.files[0].id);\n  const name=safeName((clean(submission.customer_name)||\"PCG Customer\")+\" - PCG Cards\");\n  const created=await driveJson(accessToken,GOOGLE_FILES+\"?fields=id,name\",{method:\"POST\",body:JSON.stringify({name,mimeType:\"application/vnd.google-apps.folder\",parents:[rootId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_pcg_customer_id:customerId}})});\n  const folderId=clean(created.id);if(!folderId)throw new Error(\"Google Drive did not create the PCG customer folder.\");\n  return folderId;\n}\n\nasync function findExisting(accessToken:string,folderId:string,importHash:string,side:string){\n  const q=\"'\"+qValue(folderId)+\"' in parents and trashed=false and appProperties has { key='knocklaunch_import_hash' and value='\"+qValue(importHash)+\"' } and appProperties has { key='knocklaunch_side' and value='\"+qValue(side)+\"' }\";\n  const response=await fetch(GOOGLE_FILES+\"?spaces=drive&pageSize=1&fields=files(id,name,mimeType)&q=\"+encodeURIComponent(q),{headers:{Authorization:\"Bearer \"+accessToken}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive could not check the PCG retry identity.\");\n  return Array.isArray(payload.files)&&payload.files[0]?.id?payload.files[0]:null;\n}\nasync function uploadMedia(req:Request,admin:any,url:URL){\n  const tenantId=clean(url.searchParams.get(\"tenant_id\")),submissionId=clean(url.searchParams.get(\"submission_id\")),sessionKey=clean(url.searchParams.get(\"session_key\")),importKey=clean(url.searchParams.get(\"import_key\")),key=clean(url.searchParams.get(\"key\")),side=clean(url.searchParams.get(\"side\")).toLowerCase();\n  const originalName=safeName(clean(url.searchParams.get(\"name\"))),contentType=clean(url.searchParams.get(\"content_type\")||req.headers.get(\"Content-Type\")||\"application/octet-stream\");\n  if(!tenantId||!submissionId||!sessionKey||!importKey||!key||![\"front\",\"back\",\"slab\"].includes(side))return json({ok:false,error:\"PCG customer/order and image upload metadata are required.\"},400);\n  if(!contentType.startsWith(\"image/\"))return json({ok:false,error:\"PCG Drive intake accepts image files only.\"},415);\n  if(!req.body)return json({ok:false,error:\"Choose an image to upload.\"},400);\n  const auth=await requirePcgMember(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:google.error},409);\n  const folderId=await ensureCustomerFolder(admin,tenantId,google.accessToken,google.metadata,submissionId);\n  const importHash=await sha256(importKey),sessionHash=await sha256(sessionKey);\n  const existing=await findExisting(google.accessToken,folderId,importHash,side);\n  if(existing?.id)return json({ok:true,deduped:true,file_id:String(existing.id),url:await publicUrl(tenantId,String(existing.id))});\n  const fileName=safeName(key+\"-\"+side+\"-\"+originalName);\n  const created=await driveJson(google.accessToken,GOOGLE_FILES+\"?fields=id,name,mimeType\",{method:\"POST\",body:JSON.stringify({name:fileName,mimeType:contentType,parents:[folderId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_import_hash:importHash,knocklaunch_session_hash:sessionHash,knocklaunch_side:side}})});\n  const fileId=clean(created.id);if(!fileId)throw new Error(\"Google Drive did not create the PCG image record.\");\n  try{\n    const headers:Record<string,string>={Authorization:\"Bearer \"+google.accessToken,\"Content-Type\":contentType};\n    const length=clean(req.headers.get(\"Content-Length\"));if(length)headers[\"Content-Length\"]=length;\n    const uploaded=await fetch(GOOGLE_UPLOAD+\"/\"+encodeURIComponent(fileId)+\"?uploadType=media&fields=id,name,mimeType,size\",{method:\"PATCH\",headers,body:req.body});\n    const payload=await uploaded.json().catch(()=>({}));\n    if(!uploaded.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive image upload failed (\"+uploaded.status+\").\");\n    return json({ok:true,file_id:fileId,url:await publicUrl(tenantId,fileId),storage_owner:\"google_workspace\",master_copy:true});\n  }catch(error){\n    await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+google.accessToken}}).catch(()=>null);\n    throw error;\n  }\n}\nasync function serveMedia(req:Request,admin:any,url:URL){\n  const tenantId=clean(url.searchParams.get(\"tenant\")),fileId=clean(url.searchParams.get(\"file\")),sig=clean(url.searchParams.get(\"sig\")),variant=clean(url.searchParams.get(\"variant\")).toLowerCase();\n  if(!tenantId||!fileId||!sig)return new Response(\"Not found\",{status:404,headers:cors});\n  const expected=await signature(tenantId,fileId);if(!sameSignature(sig,expected))return new Response(\"Not found\",{status:404,headers:cors});\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return new Response(\"PCG image temporarily unavailable\",{status:503,headers:{...cors,\"Cache-Control\":\"no-store\"}});\n  const metaResponse=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?fields=id,name,mimeType,size,trashed,appProperties,thumbnailLink\",{headers:{Authorization:\"Bearer \"+google.accessToken}});\n  const meta=await metaResponse.json().catch(()=>({}));\n  if(!metaResponse.ok||meta?.trashed||clean(meta?.appProperties?.knocklaunch_app)!==\"pcg_card_media\"||clean(meta?.appProperties?.knocklaunch_tenant_id)!==tenantId)return new Response(\"Not found\",{status:404,headers:cors});\n  if(variant===\"preview\"&&clean(meta.thumbnailLink)){\n    const preview=await fetch(clean(meta.thumbnailLink),{headers:{Authorization:\"Bearer \"+google.accessToken}});\n    if(preview.ok){\n      const previewHeaders=new Headers(cors);\n      previewHeaders.set(\"Content-Type\",preview.headers.get(\"content-type\")||\"image/jpeg\");\n      previewHeaders.set(\"Cache-Control\",\"public, max-age=86400, s-maxage=604800, stale-while-revalidate=86400\");\n      previewHeaders.set(\"Cross-Origin-Resource-Policy\",\"cross-origin\");\n      previewHeaders.set(\"Vary\",\"Accept-Encoding\");\n      const etag=preview.headers.get(\"etag\");if(etag)previewHeaders.set(\"ETag\",etag);\n      if(req.method===\"HEAD\")return new Response(null,{status:200,headers:previewHeaders});\n      return new Response(preview.body,{status:200,headers:previewHeaders});\n    }\n  }\n  const baseHeaders:Record<string,string>={...cors,\"Content-Type\":clean(meta.mimeType)||\"application/octet-stream\",\"Cache-Control\":\"public, max-age=86400, s-maxage=2592000, stale-while-revalidate=604800\",\"Cross-Origin-Resource-Policy\":\"cross-origin\",\"Accept-Ranges\":\"bytes\",\"Vary\":\"Accept-Encoding\"};\n  if(meta.size)baseHeaders[\"Content-Length\"]=String(meta.size);\n  if(req.method===\"HEAD\")return new Response(null,{status:200,headers:baseHeaders});\n  const providerHeaders:Record<string,string>={Authorization:\"Bearer \"+google.accessToken};const range=clean(req.headers.get(\"Range\"));if(range)providerHeaders.Range=range;\n  const media=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?alt=media\",{headers:providerHeaders});\n  if(!media.ok&&media.status!==206)return new Response(\"PCG image temporarily unavailable\",{status:502,headers:{...cors,\"Cache-Control\":\"no-store\"}});\n  const responseHeaders=new Headers(baseHeaders);for(const name of [\"content-length\",\"content-range\",\"etag\",\"last-modified\"])if(media.headers.get(name))responseHeaders.set(name,media.headers.get(name)!);\n  return new Response(media.body,{status:media.status,headers:responseHeaders});\n}\n\nfunction confidence(value:unknown){const n=Number(value);return Number.isFinite(n)?Math.max(0,Math.min(1,n)):0}\nasync function analyzeCards(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),purpose=clean(body.purpose)===\"grade\"?\"grade\":\"metadata\";\n  const cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,50);\n  if(!tenantId||!cardIds.length)return json({ok:false,error:\"Choose at least one PCG card to analyze.\"},400);\n  const auth=await requirePcgMember(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,submission_id,category,year,brand_set,player_character,card_number,card_description,variation,autograph_present,front_image_url,back_image_url,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);\n  if(error)throw error;const rows=Array.isArray(cards)?cards:[],stamp=new Date().toISOString();\n  if(!VISION_ENDPOINT){\n    for(const card of rows){const meta=(card.metadata&&typeof card.metadata===\"object\"?card.metadata:{}) as Record<string,unknown>;await admin.from(\"card_grading_cards\").update({metadata:{...meta,pcg_ai:{status:\"review_needed\",requested_purpose:purpose,reason:\"vision_provider_unconfigured\",field_confidence:{},human_review_required:true,updated_at:stamp}},updated_at:stamp}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id)}\n    return json({ok:false,code:\"vision_provider_unconfigured\",review_needed:true,error:\"The canonical vision provider is not configured. No card details or grades were invented.\"},409)\n  }\n  const response=await fetch(VISION_ENDPOINT,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",...(VISION_TOKEN?{Authorization:\"Bearer \"+VISION_TOKEN}:{})},body:JSON.stringify({capability:\"pcg_card_analysis_v1\",purpose,cards:rows.map((card:any)=>({card_id:card.id,front_image_url:card.front_image_url,back_image_url:card.back_image_url,current:{category:card.category,year:card.year,brand_set:card.brand_set,player_character:card.player_character,card_number:card.card_number,card_description:card.card_description,variation:card.variation,autograph_present:card.autograph_present}})),output_contract:{metadata_fields:[\"player_name\",\"year\",\"manufacturer\",\"brand_set\",\"card_number\",\"sport\",\"variation\",\"parallel\",\"rookie\",\"autograph_present\",\"relic\",\"serial_numbering\",\"title\",\"description\",\"tags\"],grading_fields:[\"suggested_grade\",\"confidence\",\"centering\",\"corners\",\"edges\",\"surface\",\"visible_defects\",\"reasons\"],grading_is_preliminary:true,human_approval_required:true}})});\n  const payload=await response.json().catch(()=>null);if(!response.ok||!payload)throw new Error(clean(payload?.error)||\"PCG image analysis provider failed (\"+response.status+\").\");\n  const results=Array.isArray(payload.results)?payload.results:[];let ready=0,reviewNeeded=0;\n  for(const card of rows){\n    const result=results.find((entry:any)=>clean(entry?.card_id)===String(card.id)),meta=(card.metadata&&typeof card.metadata===\"object\"?card.metadata:{}) as Record<string,any>;\n    if(!result){reviewNeeded+=1;await admin.from(\"card_grading_cards\").update({metadata:{...meta,pcg_ai:{status:\"review_needed\",requested_purpose:purpose,reason:\"provider_result_missing\",field_confidence:{},human_review_required:true,updated_at:stamp}},updated_at:stamp}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);continue}\n    if(purpose===\"metadata\"){\n      const fields=(result.fields&&typeof result.fields===\"object\"?result.fields:{}) as Record<string,any>,scores=(result.field_confidence&&typeof result.field_confidence===\"object\"?result.field_confidence:{}) as Record<string,any>,updates:Record<string,unknown>={};\n      const use=(field:string,column:string,current:unknown)=>{const value=fields[field],score=confidence(scores[field]);if(score>=0.9&&(current==null||clean(current)===\"\")&&value!=null&&clean(value)!==\"\")updates[column]=value};\n      use(\"player_name\",\"player_character\",card.player_character);use(\"year\",\"year\",card.year);use(\"brand_set\",\"brand_set\",card.brand_set);if(!updates.brand_set)use(\"manufacturer\",\"brand_set\",card.brand_set);use(\"card_number\",\"card_number\",card.card_number);use(\"sport\",\"category\",card.category);use(\"variation\",\"variation\",card.variation);if(!updates.variation)use(\"parallel\",\"variation\",card.variation);use(\"description\",\"card_description\",card.card_description);\n      if(card.autograph_present==null&&typeof fields.autograph_present===\"boolean\"&&confidence(scores.autograph_present)>=0.9)updates.autograph_present=fields.autograph_present;\n      const needsReview=Object.keys(scores).some(key=>confidence(scores[key])<0.9)||result.review_required===true;needsReview?reviewNeeded+=1:ready+=1;\n      updates.metadata={...meta,pcg_ai:{status:needsReview?\"review_needed\":\"ready\",requested_purpose:\"metadata\",field_confidence:scores,suggestions:fields,human_review_required:needsReview,updated_at:stamp}};updates.updated_at=stamp;\n      const{error:updateError}=await admin.from(\"card_grading_cards\").update(updates).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);if(updateError)throw updateError;\n    }else{\n      const grade=result.grade&&typeof result.grade===\"object\"?result.grade:result,score=confidence(grade.confidence),reasons=Array.isArray(grade.reasons)?grade.reasons.map((value:unknown)=>clean(value)).filter(Boolean):[];\n      const auto_grader={status:\"preliminary\",suggested_grade:grade.suggested_grade??null,confidence:score,centering:grade.centering??null,corners:grade.corners??null,edges:grade.edges??null,surface:grade.surface??null,visible_defects:Array.isArray(grade.visible_defects)?grade.visible_defects:[],reasons,human_approval_required:true,approved:false,updated_at:stamp};\n      score<0.9||grade.suggested_grade==null?reviewNeeded+=1:ready+=1;\n      const{error:updateError}=await admin.from(\"card_grading_cards\").update({metadata:{...meta,auto_grader,pcg_ai:{...(meta.pcg_ai||{}),status:score<0.9?\"review_needed\":\"ready\",requested_purpose:\"grade\",human_review_required:true,updated_at:stamp}},updated_at:stamp}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);if(updateError)throw updateError;\n    }\n  }\n  return json({ok:true,purpose,analyzed:rows.length,ready,review_needed:reviewNeeded,official_grade_changed:false,human_approval_required:purpose===\"grade\"})\n}\nasync function rehomeCards(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),targetSubmissionId=clean(body.target_submission_id),cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,100);\n  if(!tenantId||!targetSubmissionId||!cardIds.length)return json({ok:false,error:\"Destination customer/order and cards are required.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:google.error},409);\n  const targetFolder=await ensureCustomerFolder(admin,tenantId,google.accessToken,google.metadata,targetSubmissionId);\n  const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(error)throw error;\n  for(const card of cards||[]){\n    const meta=(card.metadata&&typeof card.metadata===\"object\"?card.metadata:{}) as Record<string,any>,drive=meta.drive_media||{},fileIds=[drive.front_file_id,drive.back_file_id,drive.slab_file_id].map((value:unknown)=>clean(value)).filter(Boolean);\n    for(const fileId of fileIds){const probe=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?fields=id,parents\",{headers:{Authorization:\"Bearer \"+google.accessToken}});const info=await probe.json().catch(()=>({}));if(!probe.ok)throw new Error(clean(info?.error?.message)||\"Could not inspect a PCG Drive image before reassignment.\");const parents=Array.isArray(info.parents)?info.parents.map((value:unknown)=>clean(value)).filter(Boolean):[];const remove=parents.filter((value:string)=>value!==targetFolder).join(\",\");const moved=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?addParents=\"+encodeURIComponent(targetFolder)+(remove?\"&removeParents=\"+encodeURIComponent(remove):\"\")+\"&fields=id,parents\",{method:\"PATCH\",headers:{Authorization:\"Bearer \"+google.accessToken}});if(!moved.ok)throw new Error(\"Could not move a PCG Drive image to the destination customer folder.\")}\n    const{error:updateError}=await admin.from(\"card_grading_cards\").update({submission_id:targetSubmissionId,metadata:{...meta,customer_reassigned_at:new Date().toISOString()},updated_at:new Date().toISOString()}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);if(updateError)throw updateError;\n  }\n  return json({ok:true,moved:(cards||[]).length,target_submission_id:targetSubmissionId})\n}\nasync function deleteCards(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,100);\n  if(!tenantId||!cardIds.length)return json({ok:false,error:\"Choose cards to remove.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(error)throw error;\n  const fileIds=[...new Set((cards||[]).flatMap((card:any)=>{const drive=card?.metadata?.drive_media||{};return[drive.front_file_id,drive.back_file_id,drive.slab_file_id]}).map((value:unknown)=>clean(value)).filter(Boolean))];\n  if(fileIds.length){const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:\"PCG Drive must be available before removing managed card images.\"},409);for(const fileId of fileIds){if(!await deleteDriveFile(google.accessToken,fileId))throw new Error(\"A managed PCG Drive image could not be removed. No database card records were deleted.\")}}\n  const{error:deleteError}=await admin.from(\"card_grading_cards\").delete().eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(deleteError)throw deleteError;\n  return json({ok:true,deleted:(cards||[]).length,drive_files_deleted:fileIds.length})\n}\n\nserve(async(req)=>{\n  if(req.method===\"OPTIONS\")return new Response(null,{headers:cors});\n  const admin=createClient(SUPABASE_URL,SERVICE_ROLE),url=new URL(req.url);\n  if(req.method===\"GET\"&&url.pathname.endsWith(\"/health\"))return json({ok:true,service:\"pcg-google-drive-media\",version:FUNCTION_VERSION,master_storage:\"tenant_google_workspace_drive\",customer_folders:true,analysis_boundary:{provider_configured:Boolean(VISION_ENDPOINT),provider_neutral:true,auto_grade_is_preliminary:true,human_approval_required:true},public_delivery:\"signed_stream_with_preview_cache\",legacy_import:{owner_only:true,https_only:true,max_bytes:MAX_LEGACY_IMAGE_BYTES,hosts:Array.from(LEGACY_IMAGE_HOSTS)},pipeline_canary:{owner_only:true,scenarios:[\"single\",\"batch\"],cleanup:true}});\n  try{\n    if((req.method===\"GET\"||req.method===\"HEAD\")&&url.pathname.endsWith(\"/media\"))return await serveMedia(req,admin,url);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/upload\"))return await uploadMedia(req,admin,url);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/analyze-card\"))return await analyzeCards(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/rehome-cards\"))return await rehomeCards(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/delete-cards\"))return await deleteCards(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/import-url\"))return await importLegacyUrl(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/canary\"))return await runPipelineCanary(req,admin);\n    return json({ok:false,error:\"Method not allowed\"},405);\n  }catch(error){\n    console.error(\"[pcg-google-drive-media]\",error);\n    return json({ok:false,error:error instanceof Error?error.message:\"PCG Google Drive media failed.\"},500);\n  }\n});\n"},{"path":"config/capabilities/pcg-card-grading-modes.json","content":"{\"schemaVersion\":1,\"id\":\"pcg-card-grading-modes\",\"owner\":\"KNOCKLAUNCH Core\",\"surfaces\":[\"src/pages/card-grading/PCGCanonicalWorkspaceRoute.tsx\",\"src/pages/card-grading/PCGModesWorkspace.tsx\",\"src/pages/card-grading/PCGCompletionCenter.tsx\",\"src/pages/card-grading/PCGBatchPublishingCenter.tsx\",\"src/pages/whats-my-progress/PCGWhatsMyProgressHome.tsx\",\"src/pages/whats-my-progress/WhatsMyProgressTenantHome.tsx\",\"src/pages/card-grading/PCGWorkspace.tsx\",\"src/pages/connections/TenantConnections.tsx\",\"src/pages/card-grading/PCGLegacyMigrationCenter.tsx\",\"src/pages/card-grading/PCGPublicSite.tsx\",\"src/pages/card-grading/PCGOnboardingReadiness.tsx\",\"src/pages/card-grading/PCGReceiveCardsGallery.tsx\"],\"dependencies\":{\"backendRuntime\":[\"supabase/functions/pcg-legacy-import\",\"supabase/functions/pcg-google-drive-media\",\"supabase/functions/pcg-customer-progress\",\"supabase/functions/customer-portal\",\"supabase/functions/pcg-commerce-publisher\",\"supabase/functions/pcg-commerce-webhook\",\"supabase/functions/send-email\"],\"providers\":[{\"id\":\"google_workspace\",\"optional\":true,\"unavailableState\":\"prerequisite_required\"},{\"id\":\"pcg_website\",\"optional\":true,\"unavailableState\":\"prerequisite_required\"},{\"id\":\"ebay\",\"optional\":true,\"unavailableState\":\"prerequisite_required\"},{\"id\":\"vision_inference\",\"optional\":true,\"unavailableState\":\"review_needed\"}]},\"lifecycle\":{\"states\":[\"prepare\",\"deploy\",\"verify\",\"activate\"],\"compatibilityWindow\":[\"N\",\"N-1\"],\"activationRequirements\":[\"schema and tenant-scoped data ready\",\"frontend and edge runtime ready\",\"production route and customer-progress proof\",\"commerce publisher returns truthful per-channel state\",\"PCG Google Workspace Drive owns new master card imagery or intake returns prerequisite_required\",\"Drive-backed signed media delivery serves workspace, WMP, website and commerce without public Drive folders\",\"legacy migration supports staged dry-run, dedupe/review reconciliation, and explicit owner commit before canonical writes\",\"public PCG preview uses canonical tenant profile and safe certification lookup before custom-domain cutover\",\"canonical authenticated owner workspace /pcg/workspace remains distinct from the public PCG /pcg/ marketing surface\",\"canonical PCG submissions link collector identity and return address through tenant-scoped unified_contacts while return shipment method/cost/coverage remain submission-scoped and private street address never enters WMP\",\"owner-only PCG pipeline canary proves single and batch against the live Google Drive and canonical lifecycle with cleanup\",\"Receive Cards requires explicit customer/order selection before any new card image write\",\"new PCG master card imagery is stored under customer-scoped Google Drive folders and reassignment moves managed Drive masters with canonical ownership\",\"Receive Cards provides a responsive thumbnail gallery with multi-select, Select All, Edit/Add Details, Move to Grade Cards, Auto Grade Selected, Move/Assign Customer and safe Delete/Remove\",\"card image metadata analysis persists per-field confidence and review state; high-confidence blank fields may be auto-filled while uncertain values remain review-needed\",\"Auto Grader output is preliminary only, persists reasons/confidence/condition signals, and cannot set the official PCG grade without human approval\",\"when no canonical vision provider is configured the analysis boundary fails closed as review_needed and never invents card metadata or grades\"]},\"gradingScale\":{\"source\":\"src/pages/card-grading/pcgGradingScale.ts\",\"publicReference\":\"https://www.pcgslab.com/grading\",\"persistence\":{\"numeric\":\"card_grading_cards.grade\",\"designation\":\"card_grading_cards.grade_label\"}},\"release\":{\"runtimeFirst\":true},\"canary\":{\"required\":true,\"ownerOnly\":true,\"surface\":\"src/pages/card-grading/PCGOnboardingReadiness.tsx\",\"runtime\":\"supabase/functions/pcg-google-drive-media\",\"receipt\":\"tenant_readiness_checks:pcg_pipeline_canary\",\"scenarios\":[\"single\",\"batch\"],\"proves\":[\"tenant Google Drive write\",\"Drive retry dedupe\",\"signed media delivery\",\"canonical submission/card writes\",\"grading transition guards\",\"official grade/cert progression\",\"shipping tracking guard\",\"WMP canonical lookup\",\"synthetic cleanup\"],\"forbids\":[\"customer email\",\"commerce publishing\",\"real customer mutation\"]},\"proofLedger\":{\"authority\":\"command_center_mission_ledger\",\"bind\":[\"request_contract_hash\",\"source_sha\",\"release_receipt\",\"runtime_identity\",\"canary\",\"activation_state\",\"drift_state\",\"quarantine_state\"]},\"analysis\":{\"runtime\":\"supabase/functions/pcg-google-drive-media\",\"metadataEndpoint\":\"/analyze-card\",\"providerNeutral\":true,\"unconfiguredState\":\"review_needed\",\"officialGradeMutation\":false,\"humanApprovalRequired\":true}}"},{"path":"src/__tests__/contracts/card-grading-application.contract.test.ts","content":"import fs from 'node:fs';\nimport path from 'node:path';\nimport {describe,expect,it} from 'vitest';\nconst read=(file:string)=>fs.readFileSync(path.join(process.cwd(),file),'utf8');\ndescribe('Card Grading first-class application',()=>{\n it('is registered and tenant bounded',()=>{const registry=read('src/config/applicationCapabilityRegistry.ts'),shell=read('src/PrivateAppShell.tsx');expect(registry).toContain(\"'card-grading': workspaceContract(\");expect(registry).toContain(\"app('card-grading', 'Card Grading'\");expect(shell).toContain('FirstClassAppTenantBoundary appSlug=\"card-grading\"')});\n it('provides QA and population surfaces',()=>{expect(read('src/pages/crm/PcgWorkspace.tsx')).toContain('PCGQualityControlPanel');expect(read('src/pages/card-grading/PCGModesWorkspace.tsx')).toContain('CardGradingPopulationReport')});\n it('ships canonical migration source',()=>{const migration=read('supabase/migrations/20260930015105_card_grading_application_v1.sql');expect(migration).toContain('card_grading_certificates');expect(migration).toContain('card_grading_qc_reviews');expect(migration).toContain('card_grading_population_report');expect(migration).toContain('security_invoker')});\n it('keeps current public records behind published certificates',()=>{const fn=read('supabase/functions/pcg-customer-progress/index.ts');expect(fn).toContain(\"from('card_grading_public_certificates')\");expect(fn).toContain(\"from('card_grading_population_report')\")});\n it('ships customer-first gallery intake with bulk actions',()=>{const gallery=read('src/pages/card-grading/PCGReceiveCardsGallery.tsx'),modes=read('src/pages/card-grading/PCGModesWorkspace.tsx');expect(gallery).toContain('Choose customer/order first');expect(gallery).toContain('data-pcg-receive-cards-gallery');expect(gallery).toContain('Move to Grade Cards');expect(gallery).toContain('Auto Grade Selected');expect(gallery).toContain('Move/Assign Customer');expect(gallery).toContain('Delete / Remove');expect(modes).not.toContain(\"{id:'vault',label:'Capture Cards'}\")});\n it('keeps PCG image analysis preliminary and fail-closed',()=>{const fn=read('supabase/functions/pcg-google-drive-media/index.ts');expect(fn).toContain('KNOCKLAUNCH_VISION_ENDPOINT');expect(fn).toContain('vision_provider_unconfigured');expect(fn).toContain('official_grade_changed:false');expect(fn).toContain('human_approval_required:true');expect(fn).toContain('ensureCustomerFolder');expect(fn).toContain('/rehome-cards');expect(fn).toContain('/delete-cards')});\n});"}],"title":"PCG customer-first gallery intake and auto grader","branch":"ai/objective-first-repair-5791b1233557","writes":[],"patches":[],"version":1,"approved":true,"missionId":"5791b123-3557-4cb6-ab08-4274f5632f18","sourceSha":"5f90ea50f6cb2ad5aeb8454933982bffc0b94aea","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/card-grading/PCGReceiveCardsGallery.tsx","src/pages/crm/PcgWorkspace.tsx","src/pages/card-grading/PCGModesWorkspace.tsx","supabase/functions/pcg-google-drive-media/index.ts","config/capabilities/pcg-card-grading-modes.json","src/__tests__/contracts/card-grading-application.contract.test.ts"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"5791b123-3557-4cb6-ab08-4274f5632f18","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/card-grading/PCGReceiveCardsGallery.tsx","src/pages/crm/PcgWorkspace.tsx","src/pages/card-grading/PCGModesWorkspace.tsx","supabase/functions/pcg-google-drive-media/index.ts","config/capabilities/pcg-card-grading-modes.json","src/__tests__/contracts/card-grading-application.contract.test.ts"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"7079c374cc468cc6bdee4415f4898178a0b35d4c64bb7486df4bd708fa1d56a7","replayCount":0,"serializedBytes":171637},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T00:46:46.729548+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:5791b123-3557-4cb6-ab08-4274f5632f18:repository-mutation-intent:7079c374cc468cc6bdee4415f4898178a0b35d4c64bb7486df4bd708fa1d56a7:0","mission_step_id":"d1f894c3-d1cf-4951-a680-86e506612eaa","command_center_event_id":"5791b123-3557-4cb6-ab08-4274f5632f18"},{"id":"a18cb424-9dd0-4019-9b4d-59e7ff6c96e2","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze control plane only for the existing watchdog-v4 mission and correct its stale hard-safety regression expectation from watchdog policy v3 to the already-live watchdog policy v4. Change no runtime logic, thresholds, budgets, release architecture, or unrelated product code.","wordingChanged":false,"canonicalIntent":"Unfreeze control plane only for the existing watchdog-v4 mission and correct its stale hard-safety regression expectation from watchdog policy v3 to the already-live watchdog policy v4. Change no runtime logic, thresholds, budgets, release architecture, or unrelated product code.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"v4-regression-aligned","statement":"Current Forgejo main regression coverage asserts watchdog policy v4, matching the already-live watchdog v4 source.","proofConditionIds":["repo-v4-regression"]}],"objective":"Unfreeze control plane only for the existing watchdog-v4 mission and correct its stale hard-safety regression expectation from watchdog policy v3 to the already-live watchdog policy v4. Change no runtime logic, thresholds, budgets, release architecture, or unrelated product code.","constraints":[{"id":"one-test-only","statement":"Only the stale watchdog policy expectation in the existing command-center host-capacity contract test may change; runtime watchdog logic, thresholds, budgets, and unrelated code remain untouched.","proofConditionIds":["repo-v4-regression"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo-v4-regression"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo-v4-regression"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-v4-regression","kind":"repository","claim":"Current Forgejo main contains WATCHDOG_POLICY_VERSION=\"forgejo-proactive-memory-v4\" in both the watchdog source and its hard-safety regression expectation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Unfreeze-control-plane-only-for-the-existing-watchdog-v4-mission-and-correct-its-stale-hard-safety-r","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["repo-v4-regression"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"54f04247f88ece8eea5d191b8c7222ea931bdc35976eb685d61c29e480b7745c","requestContractRevision":2,"previousRequestContractHash":"45b56a73d24886aa924dd4826543530d87962b0a562cc6e92c8062c6c3a5899f"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T19:36:40.701089+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:eaaa6005-2aeb-4d20-97a2-bcd8584f09ee:request-contract:54f04247f88ece8eea5d191b8c7222ea931bdc35976eb685d61c29e480b7745c","mission_step_id":"6da7dc39-038e-412a-83e3-b2b3498f5668","command_center_event_id":"eaaa6005-2aeb-4d20-97a2-bcd8584f09ee"},{"id":"a18daa25-ff28-4c4f-9a14-f3c9c4183569","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-968620f866f2","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":12441,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":33484,"firstUsefulResultAt":"2026-09-24T20:36:18.895Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3674,"terminal":false,"missionId":"968620f8-66f2-4856-b48c-9d9a77f06ea5","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"9cb64fb8fde99ddc5689c8ab011e11eee960bcdf","timingsMs":{"prReadinessMs":579,"approvedPlanMs":0,"shipAndProveMs":3190,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"968620f8-66f2-4856-b48c-9d9a77f06ea5"},"performance":null,"deploymentId":"forgejo-main-9cb64fb8fde9","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1925,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T20:37:18.062825+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3674","receipt_type":"automatic_mission_resume","idempotency_key":"mission:968620f8-66f2-4856-b48c-9d9a77f06ea5:automatic-mission-resume:3674:canonical_release_reconciliation_pending","mission_step_id":"e3261825-1706-4d6b-a117-2f00b259f405","command_center_event_id":"968620f8-66f2-4856-b48c-9d9a77f06ea5"},{"id":"a1901ef3-f03a-4fdc-9b69-63a3e9eeba5a","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"ec028021c257c3436381810b833a96dda2501edc","sourceSha":"74cf25be9afe6dbb19f993459ad55281f8a67640","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T21:48:06.939313+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"74cf25be9afe6dbb19f993459ad55281f8a67640","external_id":"canonical-release-74cf25be9afe","receipt_type":"canonical_release_status","idempotency_key":"mission:2e91291b-5b2a-455a-95db-7d14f6a46e56:forgejo-release-ancestry:74cf25be9afe6dbb19f993459ad55281f8a67640:ec028021c257c3436381810b833a96dda2501edc:ancestry_read_retryable","mission_step_id":"3aae4b32-614d-4fd9-b2df-6a88a3ae56a2","command_center_event_id":"2e91291b-5b2a-455a-95db-7d14f6a46e56"},{"id":"a1914367-a58b-4c45-a569-54a2dc0e4e06","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-calendar-doubleclick","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.212-parallel-patch-planning","prNumber":3406,"terminal":false,"missionId":"e1c12577-4e1e-4d8c-b1a8-1dfefd7dd6f6","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1130,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":893,"approvedPlanMs":0,"missionSetupMs":524,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":253,"ledgerReconcileMs":0,"lineageReconcileMs":271,"resolvePreflightMs":524,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":253,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"e1c12577-4e1e-4d8c-b1a8-1dfefd7dd6f6"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1967,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T10:29:52.629884+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3406","receipt_type":"execute_mission","idempotency_key":"mission:e1c12577-4e1e-4d8c-b1a8-1dfefd7dd6f6:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"f1006bdf-9341-4607-b8f2-6093c31754d4","command_center_event_id":"e1c12577-4e1e-4d8c-b1a8-1dfefd7dd6f6"},{"id":"a19335b6-41c5-4fca-9a9e-dbbd7289379f","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":"authoritative_source_resolution_failed","status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.66.0-stopless-capability-routing","prNumber":null,"terminal":false,"missionId":"ee9ff408-1f93-4c6d-9334-ffa6dd402c19","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2243,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":592,"providerAuthMs":0,"ledgerPrepareMs":592,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":592,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":592,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"ee9ff408-1f93-4c6d-9334-ffa6dd402c19"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1665,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:40:58.602355+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ee9ff408-1f93-4c6d-9334-ffa6dd402c19:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"3160dc66-2fc3-42d4-bca4-e1e7e5a450e7","command_center_event_id":"ee9ff408-1f93-4c6d-9334-ffa6dd402c19"},{"id":"a193c425-ba17-4158-950f-8b811017d1e0","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-fa9b774e5854","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.223-durable-witness-lane-affinity","prNumber":3547,"terminal":false,"missionId":"fa9b774e-5854-4ec3-935f-dc4fe5c4e31e","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6259,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1072,"missionSetupMs":367,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":367,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":367,"repositoryMutationMs":5187,"repositoryProviderMs":5187,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2681,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":367,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2506},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"fa9b774e-5854-4ec3-935f-dc4fe5c4e31e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3732,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T20:33:29.813981+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3547","receipt_type":"execute_mission","idempotency_key":"mission:fa9b774e-5854-4ec3-935f-dc4fe5c4e31e:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"380a00cb-ccf8-4228-bc4c-f0e8b5662385","command_center_event_id":"fa9b774e-5854-4ec3-935f-dc4fe5c4e31e"}],"rows":400,"limit":400,"table":"command_center_receipts","format":"knocklaunch-table-chunk-v1","offset":26800,"schema":"public","order_key":"id"}