{"data":[{"id":"709265c7-988d-4bf2-a39b-b52e5312afcb","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:implementation\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"implementation\",\"deadlineAt\":\"2026-08-03T16:50:28.164167+00:00\",\"recoveryAction\":\"continue_implementation\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/archive-retired-github-workflows-20260803\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:48:07.546553+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:4ab90efe-3f55-41b2-8dfa-9a56058ae954:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\"","mission_step_id":"9a8887d2-4643-46a9-9191-2bb7eef5794d","command_center_event_id":"4ab90efe-3f55-41b2-8dfa-9a56058ae954"},{"id":"991a19fb-4abc-4d28-9662-950081f29ce5","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/first-class-mission-runtime","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.193-autonomous-deterministic-supervisor","prNumber":3295,"terminal":false,"missionId":"9c499bc0-f1a4-4960-96d7-7e4df99cdde5","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8314,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":3113,"missionSetupMs":403,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":403,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":403,"repositoryMutationMs":5201,"repositoryProviderMs":5201,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3267,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":403,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1934},"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":"9c499bc0-f1a4-4960-96d7-7e4df99cdde5"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4612,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:46:16.70158+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3295","receipt_type":"execute_mission","idempotency_key":"mission:9c499bc0-f1a4-4960-96d7-7e4df99cdde5:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"a5313658-63df-4675-b52b-fa898b7919c4","command_center_event_id":"9c499bc0-f1a4-4960-96d7-7e4df99cdde5"},{"id":"861d3b97-a98b-42c3-a81e-170cfcd09169","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"0b2d24be21f234213bc67afcad5e79fcd4f0de23","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Repair the existing conflicted PR #3534 in place without creating a duplicate PR. Preserve its exact platform-wide UI cleanup intent: globally remove the floating black vertical-ellipsis installed-app control and the cyan/teal stacked-layers header control from their shared primitives, including hidden hit/focus/menu surfaces and residual spacing, while preserving search, branding, avatar, bottom navigation, MODES content, chat, legitimate page actions, and normal PWA navigation. Resolve the current merge conflict against main with the smallest safe edit, keep branch ai/objective-first-repair-16913137ebee, then run the canonical Gate, squash merge, release the affected frontend, and verify 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":"a64351e17428da7fb8575e46084ccf4fc886819e6baed0255a2cec7fc2e00f3d","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"a64351e17428da7fb8575e46084ccf4fc886819e6baed0255a2cec7fc2e00f3d"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T16:33:34.918213+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"0b2d24be21f234213bc67afcad5e79fcd4f0de23","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:4f562935-0243-4d4c-8e92-442c01b17cbc:request-contract:a64351e17428da7fb8575e46084ccf4fc886819e6baed0255a2cec7fc2e00f3d:0b2d24be21f234213bc67afcad5e79fcd4f0de23:verified:","mission_step_id":"59524277-8b94-4f7e-9e52-17d3af25212d","command_center_event_id":"4f562935-0243-4d4c-8e92-442c01b17cbc"},{"id":"a3a1d6b0-bfc7-4368-a998-42a44bc1d082","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"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, MessageCircle, RefreshCw } from 'lucide-react';\nimport { getTenantInfoStrict, getTenantDashboardPathForTenant, getTenantBasePath } from '@/lib/tenantUtils';\nimport { forceRefresh } from '@/lib/versionCheck';\n\nconst MOBILE_QUERY = '(max-width: 767px)';\n\nexport default function StandaloneAppRecovery() {\n  const location = useLocation();\n  const navigationType = useNavigationType();\n  const [mobile, setMobile] = React.useState(() =>\n    typeof window !== 'undefined' && window.matchMedia(MOBILE_QUERY).matches,\n  );\n  const entries = React.useRef<Array<{ key: string; url: string; tenant: string }>>([]);\n\n  React.useEffect(() => {\n    const media = window.matchMedia(MOBILE_QUERY);\n    const sync = () => setMobile(media.matches);\n    sync();\n    media.addEventListener('change', sync);\n    return () => media.removeEventListener('change', sync);\n  }, []);\n\n  React.useEffect(() => {\n    let tenant = '';\n    try { tenant = getTenantInfoStrict().tenantOrgId; } catch {}\n    const entry = {\n      key: location.key,\n      url: location.pathname + location.search + location.hash,\n      tenant,\n    };\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.hash, location.key, location.pathname, location.search, navigationType]);\n\n  React.useEffect(() => {\n    if (!mobile) return;\n    document.documentElement.dataset.klMobileUtilityFooter = 'true';\n    return () => {\n      delete document.documentElement.dataset.klMobileUtilityFooter;\n    };\n  }, [mobile]);\n\n  const goBack = React.useCallback(() => {\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({\n        tenant_type: info.tenantType,\n        company_slug: info.tenantSlug,\n        name: info.tenantDisplayName,\n      });\n    } catch {}\n\n    const previous = entries.current.at(-2);\n    const sameTenant = Boolean(\n      previous\n      && previous.tenant === tenant\n      && tenant\n      && (previous.url.split(/[?#]/)[0] === base || previous.url.startsWith(base + '/')),\n    );\n\n    window.location.assign(sameTenant && previous ? previous.url : home);\n  }, []);\n\n  const goHome = React.useCallback(() => {\n    let home = '/select-tenant?manual=1';\n    try {\n      const info = getTenantInfoStrict();\n      home = getTenantDashboardPathForTenant({\n        tenant_type: info.tenantType,\n        company_slug: info.tenantSlug,\n        name: info.tenantDisplayName,\n      });\n    } catch {}\n    window.location.assign(home);\n  }, []);\n\n  const refresh = React.useCallback(() => {\n    void forceRefresh();\n  }, []);\n\n  const openMessages = React.useCallback(() => {\n    window.dispatchEvent(new CustomEvent('knocklaunch:messages-open'));\n  }, []);\n\n  if (!mobile || typeof document === 'undefined') return null;\n\n  return createPortal(\n    <>\n      <style>{`\n        @media (max-width: 767px) {\n          :root {\n            --kl-mobile-primary-nav-h: 64px;\n            --kl-mobile-utility-footer-h: 56px;\n            --kl-mobile-footer-stack-h: calc(\n              var(--kl-mobile-primary-nav-h) + var(--kl-mobile-utility-footer-h)\n            );\n          }\n\n          .kl-responsive-tenant-runtime {\n            box-sizing: border-box;\n            padding-bottom: calc(\n              env(safe-area-inset-bottom) + var(--kl-mobile-footer-stack-h)\n            ) !important;\n          }\n\n          [data-tenant-modes-content=\"true\"],\n          [data-tenant-modes-landing=\"true\"] {\n            box-sizing: border-box;\n            padding-bottom: calc(\n              env(safe-area-inset-bottom) + var(--kl-mobile-footer-stack-h)\n            ) !important;\n          }\n        }\n      `}</style>\n      <nav\n        data-platform-mobile-utility-footer=\"true\"\n        data-kl-gesture-exclude\n        data-no-viewport-reset\n        aria-label=\"Mobile utility navigation\"\n        className=\"fixed inset-x-0 z-[2147483646] grid h-14 grid-cols-4 border-y border-white/15 bg-[#07110e]/98 text-white shadow-[0_-12px_32px_rgba(0,0,0,.38)] backdrop-blur-xl md:hidden\"\n        style={{ bottom: 'calc(env(safe-area-inset-bottom) + var(--kl-mobile-primary-nav-h, 64px))' }}\n      >\n        <button\n          type=\"button\"\n          data-installed-app-navigation-action=\"back\"\n          onClick={goBack}\n          className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"\n        >\n          <ArrowLeft className=\"h-5 w-5\" />\n          <span>Back</span>\n        </button>\n        <button\n          type=\"button\"\n          data-installed-app-navigation-action=\"home\"\n          onClick={goHome}\n          className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"\n        >\n          <Home className=\"h-5 w-5\" />\n          <span>Home</span>\n        </button>\n        <button\n          type=\"button\"\n          data-installed-app-navigation-action=\"reload\"\n          onClick={refresh}\n          className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"\n        >\n          <RefreshCw className=\"h-5 w-5\" />\n          <span>Refresh</span>\n        </button>\n        <button\n          type=\"button\"\n          data-installed-app-navigation-action=\"messages\"\n          onClick={openMessages}\n          className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"\n        >\n          <MessageCircle className=\"h-5 w-5\" />\n          <span>Messages</span>\n        </button>\n      </nav>\n    </>,\n    document.body,\n  );\n}\n"},{"path":"src/__tests__/contracts/mobile-utility-footer.contract.test.ts","content":"import { readFileSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport { describe, expect, it } from 'vitest';\n\nconst source = readFileSync(\n  resolve(process.cwd(), 'src/components/pwa/StandaloneAppRecovery.tsx'),\n  'utf8',\n);\n\ndescribe('canonical mobile utility footer', () => {\n  it('is fixed for browser and installed mobile without draggable recovery behavior', () => {\n    expect(source).toContain(\"const MOBILE_QUERY = '(max-width: 767px)'\");\n    expect(source).toContain('data-platform-mobile-utility-footer=\"true\"');\n    expect(source).not.toContain('(display-mode: standalone)');\n    expect(source).not.toContain('GripVertical');\n    expect(source).not.toContain('RECOVERY_DOCK_KEY');\n    expect(source).not.toContain('onPointerMove');\n  });\n\n  it('contains exactly the four utility actions including Messages', () => {\n    expect(source).toContain('data-installed-app-navigation-action=\"back\"');\n    expect(source).toContain('data-installed-app-navigation-action=\"home\"');\n    expect(source).toContain('data-installed-app-navigation-action=\"reload\"');\n    expect(source).toContain('data-installed-app-navigation-action=\"messages\"');\n    expect(source).toContain(\"window.dispatchEvent(new CustomEvent('knocklaunch:messages-open'))\");\n  });\n\n  it('uses hard refresh recovery for the installed app and reserves the two-bar stack', () => {\n    expect(source).toContain(\"import { forceRefresh } from '@/lib/versionCheck'\");\n    expect(source).toContain('void forceRefresh()');\n    expect(source).toContain('--kl-mobile-primary-nav-h: 64px');\n    expect(source).toContain('--kl-mobile-utility-footer-h: 56px');\n    expect(source).toContain('--kl-mobile-footer-stack-h');\n    expect(source).toContain('[data-tenant-modes-content=\"true\"]');\n    expect(source).toContain('[data-tenant-modes-landing=\"true\"]');\n  });\n});\n"}],"route":"https://app.knocklaunch.app/big-papis/owner/calendar?bpMode=plan","branch":"ai/objective-first-repair-35cef4c81b27","writes":[],"patches":[],"approved":true,"missionId":"35cef4c8-1b27-4384-8a2d-07e4344c0c15","objective":"UI fast-lane correction based on live owner screenshot. The actual floating control is src/components/pwa/StandaloneAppRecovery.tsx. Replace that draggable standalone-only recovery palette with the canonical fixed mobile utility footer shown on all authenticated mobile surfaces (browser and installed PWA), positioned directly above the existing tenant bottom navigation. Footer actions must be exactly Back, Home, Refresh, Messages. Remove the grip/group-style control, all drag/snap persistence and standalone-only visibility gating. Messages must open PlatformMessagesHost via knocklaunch:messages-open. Refresh must use forceRefresh so installed PWAs retire stale service-worker/cache state before reloading. Inject the mobile layout reserve from this globally mounted component so tenant route canvases and MODES landing/content reserve 120px plus safe area and never sit under the two stacked fixed bars. Preserve desktop behavior. Frontend-only, one fresh PR, canonical Gate, squash merge, Cloudflare frontend release.","repository":"noel/KnockLaunchOS","ownerApproved":true,"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"6aabd235a3cef976cbec3b8b5ad8613846a46a2ccdf8de06854d866024875525","replayCount":0,"serializedBytes":9782},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T00:41:09.072386+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:35cef4c8-1b27-4384-8a2d-07e4344c0c15:repository-mutation-intent:6aabd235a3cef976cbec3b8b5ad8613846a46a2ccdf8de06854d866024875525:0","mission_step_id":"df63654f-9610-4079-9196-2f0d74a65bf0","command_center_event_id":"35cef4c8-1b27-4384-8a2d-07e4344c0c15"},{"id":"28f58b3d-7698-4876-8714-44c0a8343c06","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_request_contract_required","fingerprint":"60112f563854e4d0bebc7c93bceff32b85d37847a66f33d346f4474c304b9d34"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:05:57.531115+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:8a1f6371-985d-4092-8eff-3ae25ba66187:repository-mutation-intent-blocked:60112f563854e4d0bebc7c93bceff32b85d37847a66f33d346f4474c304b9d34","mission_step_id":"32776531-34ef-4ed9-a45c-0baea31082b5","command_center_event_id":"8a1f6371-985d-4092-8eff-3ae25ba66187"},{"id":"a4e6b7b3-61da-404c-a20f-64f71c2a7439","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/pages/crm/CommunicationsPage.tsx","content":"/**\n * CommunicationsPage — tenant-native communications workspace.\n */\n\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '@/components/ui/tabs';\nimport { UnifiedInbox } from '@/components/communications/UnifiedInbox';\nimport { SequenceBuilder } from '@/components/communications/SequenceBuilder';\nimport { ScheduledMessagesPanel } from '@/components/communications/ScheduledMessagesPanel';\nimport { EmailSettingsPanel } from '@/components/communications/email/EmailSettingsPanel';\nimport { Inbox, Workflow, Clock, MessageSquare, Mail, Settings2 } from 'lucide-react';\nimport { useTenantRoles } from '@/contexts/tenantSelectors';\nimport MailWorkspace from '@/components/communications/email/MailWorkspace';\n\nexport type CommunicationsSurface = 'inbox' | 'email' | 'sequences' | 'scheduled';\n\nexport default function CommunicationsPage({ initialTab = 'inbox' }: { initialTab?: CommunicationsSurface }) {\n  const { roles, hasGodModeAnywhere } = useTenantRoles();\n  const isCrewOnly =\n    roles.length > 0 &&\n    roles.every(r => r.role === 'Crew') &&\n    !hasGodModeAnywhere();\n  const showEmail = !isCrewOnly;\n  const showEmailSettings = hasGodModeAnywhere() && !isCrewOnly;\n\n  if (initialTab === 'email' && showEmail) {\n    return (\n      <div className=\"flex h-[calc(100dvh-var(--comm-banner-h,0px))] min-h-[620px] w-full min-w-0 flex-col overflow-hidden bg-background/70\">\n        <header className=\"flex shrink-0 items-center justify-between gap-4 border-b border-border/50 bg-background/90 px-4 py-3 backdrop-blur-xl sm:px-5\">\n          <div className=\"min-w-0\">\n            <div className=\"flex items-center gap-2 text-sm font-bold tracking-tight text-foreground\">\n              <span className=\"grid h-8 w-8 shrink-0 place-items-center rounded-xl bg-primary/12 text-primary\">\n                <Mail className=\"h-4 w-4\" />\n              </span>\n              <span className=\"truncate\">Mail</span>\n            </div>\n            <p className=\"mt-0.5 truncate pl-10 text-xs text-muted-foreground\">Tenant email workspace</p>\n          </div>\n        </header>\n        <div className=\"min-h-0 flex-1 overflow-hidden\">\n          <MailWorkspace shellIntegrated />\n        </div>\n      </div>\n    );\n  }\n\n  return (\n    <section\n      className=\"mx-auto flex w-full max-w-[1500px] min-w-0 flex-col gap-3 px-2 pb-3 sm:px-3\"\n      data-messenger-workspace=\"true\"\n    >\n      <header className=\"flex min-w-0 items-center gap-3 px-1 pt-1\">\n        <div className=\"grid h-10 w-10 shrink-0 place-items-center rounded-2xl border border-primary/20 bg-primary/10 text-primary shadow-sm\">\n          <MessageSquare className=\"h-5 w-5\" />\n        </div>\n        <div className=\"min-w-0\">\n          <h1 className=\"truncate text-xl font-black tracking-tight text-foreground sm:text-2xl\">Messages</h1>\n          <p className=\"truncate text-xs font-medium text-muted-foreground sm:text-sm\">\n            Conversations, email, follow-up, and scheduled outreach\n          </p>\n        </div>\n      </header>\n\n      <Tabs key={initialTab} defaultValue={initialTab} className=\"min-w-0 w-full\">\n        <div className=\"sticky top-0 z-20 -mx-1 bg-background/75 px-1 py-1 backdrop-blur-xl\">\n          <TabsList className=\"flex h-auto w-full justify-start gap-1 overflow-x-auto rounded-2xl border border-border/60 bg-card/70 p-1 shadow-sm sm:w-fit\">\n            <TabsTrigger value=\"inbox\" className=\"min-h-10 shrink-0 gap-2 rounded-xl px-3 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground\">\n              <Inbox className=\"h-4 w-4\" />\n              Inbox\n            </TabsTrigger>\n            {showEmail && (\n              <TabsTrigger value=\"email\" className=\"min-h-10 shrink-0 gap-2 rounded-xl px-3 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground\">\n                <Mail className=\"h-4 w-4\" />\n                Email\n              </TabsTrigger>\n            )}\n            {showEmailSettings && (\n              <TabsTrigger value=\"email-settings\" className=\"min-h-10 shrink-0 gap-2 rounded-xl px-3 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground\">\n                <Settings2 className=\"h-4 w-4\" />\n                Settings\n              </TabsTrigger>\n            )}\n            <TabsTrigger value=\"sequences\" className=\"min-h-10 shrink-0 gap-2 rounded-xl px-3 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground\">\n              <Workflow className=\"h-4 w-4\" />\n              Sequences\n            </TabsTrigger>\n            <TabsTrigger value=\"scheduled\" className=\"min-h-10 shrink-0 gap-2 rounded-xl px-3 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground\">\n              <Clock className=\"h-4 w-4\" />\n              Scheduled\n            </TabsTrigger>\n          </TabsList>\n        </div>\n\n        <TabsContent value=\"inbox\" className=\"mt-2 min-w-0 outline-none\">\n          <UnifiedInbox />\n        </TabsContent>\n\n        {showEmail && (\n          <TabsContent value=\"email\" className=\"mt-2 min-w-0 outline-none\">\n            <MailWorkspace />\n          </TabsContent>\n        )}\n\n        {showEmailSettings && (\n          <TabsContent value=\"email-settings\" className=\"mt-2 min-w-0 outline-none\">\n            <EmailSettingsPanel />\n          </TabsContent>\n        )}\n\n        <TabsContent value=\"sequences\" className=\"mt-2 min-w-0 outline-none\">\n          <SequenceBuilder />\n        </TabsContent>\n\n        <TabsContent value=\"scheduled\" className=\"mt-2 min-w-0 outline-none\">\n          <ScheduledMessagesPanel />\n        </TabsContent>\n      </Tabs>\n    </section>\n  );\n}\n"},{"path":"src/components/communications/UnifiedInbox.tsx","content":"import { useState, useEffect } from 'react';\nimport { Button } from '@/components/ui/button';\nimport { Badge } from '@/components/ui/badge';\nimport { Input } from '@/components/ui/input';\nimport { ScrollArea } from '@/components/ui/scroll-area';\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';\nimport {\n  Mail, MessageSquare, Phone, Archive, Star, Search,\n  RefreshCw, Check, ChevronRight, Inbox, Send, ArrowLeft\n} from 'lucide-react';\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { communicationHubApi, UnifiedInboxMessage } from '@/lib/api/communicationHub';\nimport { format } from 'date-fns';\nimport { EmptyStateCoach } from '@/components/common/EmptyStateCoach';\n\ninterface UnifiedInboxProps {\n  contactId?: string;\n  onMessageSelect?: (message: UnifiedInboxMessage) => void;\n}\n\nfunction messagePerson(message: UnifiedInboxMessage) {\n  if (message.contact) {\n    const contactName = `${message.contact.first_name || ''} ${message.contact.last_name || ''}`.trim();\n    if (contactName) return contactName;\n  }\n  return message.direction === 'inbound' ? message.from_address : message.to_address;\n}\n\nfunction messagePreview(message: UnifiedInboxMessage) {\n  return message.preview || message.body?.slice(0, 180) || 'No message preview available';\n}\n\nexport function UnifiedInbox({ contactId, onMessageSelect }: UnifiedInboxProps) {\n  const { activeTenant } = useMultiTenant();\n  const [messages, setMessages] = useState<UnifiedInboxMessage[]>([]);\n  const [loading, setLoading] = useState(true);\n  const [searchTerm, setSearchTerm] = useState('');\n  const [activeChannel, setActiveChannel] = useState<string>('all');\n  const [unreadCount, setUnreadCount] = useState(0);\n  const [selectedMessage, setSelectedMessage] = useState<UnifiedInboxMessage | null>(null);\n  const [selectedIds, setSelectedIds] = useState<Set<string>>(new Set());\n\n  useEffect(() => {\n    if (activeTenant?.id) {\n      void loadMessages();\n    }\n  }, [activeTenant?.id, contactId, activeChannel]);\n\n  const loadMessages = async () => {\n    if (!activeTenant?.id) return;\n    setLoading(true);\n    try {\n      const result = await communicationHubApi.getInbox({\n        tenantId: activeTenant.id,\n        contactId,\n        channel: activeChannel !== 'all' ? activeChannel : undefined,\n        isArchived: false,\n        limit: 100\n      });\n      setMessages(result.messages);\n      setUnreadCount(result.unreadCount);\n      setSelectedMessage(current => current && result.messages.some(message => message.id === current.id) ? current : null);\n    } catch (error) {\n      console.error('[UnifiedInbox] Error loading messages:', error);\n    } finally {\n      setLoading(false);\n    }\n  };\n\n  const handleMarkRead = async (isRead: boolean) => {\n    if (!activeTenant?.id || selectedIds.size === 0) return;\n    try {\n      await communicationHubApi.markAsRead(activeTenant.id, Array.from(selectedIds), isRead);\n      setMessages(prev => prev.map(message =>\n        selectedIds.has(message.id) ? { ...message, is_read: isRead } : message\n      ));\n      setSelectedIds(new Set());\n    } catch (error) {\n      console.error('[UnifiedInbox] Error marking messages:', error);\n    }\n  };\n\n  const handleArchive = async () => {\n    if (!activeTenant?.id || selectedIds.size === 0) return;\n    try {\n      await communicationHubApi.archiveMessages(activeTenant.id, Array.from(selectedIds), true);\n      setMessages(prev => prev.filter(message => !selectedIds.has(message.id)));\n      if (selectedMessage && selectedIds.has(selectedMessage.id)) setSelectedMessage(null);\n      setSelectedIds(new Set());\n    } catch (error) {\n      console.error('[UnifiedInbox] Error archiving messages:', error);\n    }\n  };\n\n  const getChannelIcon = (channel: string) => {\n    switch (channel) {\n      case 'email': return <Mail className=\"h-4 w-4\" />;\n      case 'sms': return <MessageSquare className=\"h-4 w-4\" />;\n      case 'call': return <Phone className=\"h-4 w-4\" />;\n      default: return <Inbox className=\"h-4 w-4\" />;\n    }\n  };\n\n  const filteredMessages = messages.filter(message => {\n    if (!searchTerm) return true;\n    const term = searchTerm.toLowerCase();\n    return (\n      message.subject?.toLowerCase().includes(term) ||\n      message.preview?.toLowerCase().includes(term) ||\n      message.body?.toLowerCase().includes(term) ||\n      message.from_address?.toLowerCase().includes(term) ||\n      message.to_address?.toLowerCase().includes(term) ||\n      message.contact?.first_name?.toLowerCase().includes(term) ||\n      message.contact?.last_name?.toLowerCase().includes(term)\n    );\n  });\n\n  const toggleSelect = (id: string) => {\n    const next = new Set(selectedIds);\n    if (next.has(id)) next.delete(id);\n    else next.add(id);\n    setSelectedIds(next);\n  };\n\n  const handleMessageClick = (message: UnifiedInboxMessage) => {\n    setSelectedMessage(message);\n    onMessageSelect?.(message);\n\n    if (!message.is_read && activeTenant?.id) {\n      void communicationHubApi.markAsRead(activeTenant.id, [message.id], true);\n      setMessages(prev => prev.map(item =>\n        item.id === message.id ? { ...item, is_read: true } : item\n      ));\n      setUnreadCount(count => Math.max(0, count - 1));\n    }\n  };\n\n  return (\n    <div className=\"flex h-[68dvh] min-h-[520px] max-h-[780px] min-w-0 overflow-hidden rounded-[24px] border border-border/60 bg-card/75 shadow-[0_22px_70px_rgba(0,0,0,.16)] backdrop-blur-xl\">\n      <section\n        className={`${selectedMessage ? 'hidden md:flex' : 'flex'} min-w-0 w-full flex-col border-border/60 md:w-[380px] md:shrink-0 md:border-r lg:w-[420px]`}\n        aria-label=\"Message inbox\"\n      >\n        <div className=\"shrink-0 border-b border-border/50 bg-background/35 p-3 sm:p-4\">\n          <div className=\"mb-3 flex items-center justify-between gap-3\">\n            <div className=\"flex min-w-0 items-center gap-2\">\n              <div className=\"grid h-9 w-9 shrink-0 place-items-center rounded-xl bg-primary/10 text-primary\">\n                <Inbox className=\"h-4 w-4\" />\n              </div>\n              <div className=\"min-w-0\">\n                <div className=\"flex items-center gap-2\">\n                  <h2 className=\"truncate text-sm font-black tracking-tight text-foreground\">Inbox</h2>\n                  {unreadCount > 0 && (\n                    <Badge className=\"h-5 rounded-full px-2 text-[10px] font-black\">{unreadCount}</Badge>\n                  )}\n                </div>\n                <p className=\"truncate text-[11px] font-medium text-muted-foreground\">\n                  {filteredMessages.length} conversation{filteredMessages.length === 1 ? '' : 's'}\n                </p>\n              </div>\n            </div>\n            <Button\n              variant=\"ghost\"\n              size=\"icon\"\n              className=\"h-9 w-9 shrink-0 rounded-xl\"\n              onClick={() => void loadMessages()}\n              aria-label=\"Refresh messages\"\n            >\n              <RefreshCw className={`h-4 w-4 ${loading ? 'animate-spin' : ''}`} />\n            </Button>\n          </div>\n\n          <div className=\"relative\">\n            <Search className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground\" />\n            <Input\n              placeholder=\"Search messages\"\n              value={searchTerm}\n              onChange={(event) => setSearchTerm(event.target.value)}\n              className=\"h-10 rounded-xl border-border/60 bg-background/70 pl-9 text-sm shadow-none\"\n            />\n          </div>\n\n          <Tabs value={activeChannel} onValueChange={setActiveChannel} className=\"mt-3\">\n            <TabsList className=\"grid h-auto w-full grid-cols-4 rounded-xl bg-muted/45 p-1\">\n              <TabsTrigger value=\"all\" className=\"min-h-9 rounded-lg px-2 text-xs font-bold\">All</TabsTrigger>\n              <TabsTrigger value=\"email\" className=\"min-h-9 gap-1 rounded-lg px-2 text-xs font-bold\">\n                <Mail className=\"h-3.5 w-3.5\" />\n                <span className=\"hidden min-[360px]:inline\">Email</span>\n              </TabsTrigger>\n              <TabsTrigger value=\"sms\" className=\"min-h-9 gap-1 rounded-lg px-2 text-xs font-bold\">\n                <MessageSquare className=\"h-3.5 w-3.5\" />\n                <span className=\"hidden min-[360px]:inline\">SMS</span>\n              </TabsTrigger>\n              <TabsTrigger value=\"call\" className=\"min-h-9 gap-1 rounded-lg px-2 text-xs font-bold\">\n                <Phone className=\"h-3.5 w-3.5\" />\n                <span className=\"hidden min-[360px]:inline\">Calls</span>\n              </TabsTrigger>\n            </TabsList>\n\n            {selectedIds.size > 0 && (\n              <div className=\"mt-3 flex min-w-0 items-center gap-1.5 overflow-x-auto rounded-xl border border-primary/15 bg-primary/5 p-1.5\">\n                <span className=\"shrink-0 px-2 text-xs font-bold text-foreground\">{selectedIds.size} selected</span>\n                <Button variant=\"ghost\" size=\"sm\" className=\"h-8 shrink-0 rounded-lg text-xs\" onClick={() => void handleMarkRead(true)}>\n                  <Check className=\"mr-1 h-3.5 w-3.5\" /> Read\n                </Button>\n                <Button variant=\"ghost\" size=\"sm\" className=\"h-8 shrink-0 rounded-lg text-xs\" onClick={() => void handleArchive()}>\n                  <Archive className=\"mr-1 h-3.5 w-3.5\" /> Archive\n                </Button>\n                <Button variant=\"ghost\" size=\"sm\" className=\"h-8 shrink-0 rounded-lg text-xs\" onClick={() => setSelectedIds(new Set())}>\n                  Clear\n                </Button>\n              </div>\n            )}\n\n            <TabsContent value={activeChannel} className=\"m-0\" />\n          </Tabs>\n        </div>\n\n        <ScrollArea className=\"min-h-0 flex-1\">\n          {loading ? (\n            <div className=\"grid min-h-[260px] place-items-center p-8 text-center\">\n              <div>\n                <RefreshCw className=\"mx-auto h-5 w-5 animate-spin text-primary\" />\n                <p className=\"mt-3 text-sm font-semibold text-muted-foreground\">Opening messages…</p>\n              </div>\n            </div>\n          ) : filteredMessages.length === 0 ? (\n            <div className=\"p-4\">\n              <EmptyStateCoach\n                icon={Inbox}\n                title={\n                  searchTerm\n                    ? 'No messages match your search'\n                    : activeChannel !== 'all'\n                      ? `No ${activeChannel} messages yet`\n                      : 'Inbox zero — nice work'\n                }\n                description={\n                  searchTerm\n                    ? 'Try a different name, keyword, or address.'\n                    : 'New inbound messages and communication activity will appear here.'\n                }\n                secondaryAction={\n                  searchTerm\n                    ? { label: 'Clear search', onClick: () => setSearchTerm('') }\n                    : undefined\n                }\n              />\n            </div>\n          ) : (\n            <div className=\"p-1.5 sm:p-2\">\n              {filteredMessages.map((message) => {\n                const active = selectedMessage?.id === message.id;\n                return (\n                  <div\n                    key={message.id}\n                    role=\"button\"\n                    tabIndex={0}\n                    onClick={() => handleMessageClick(message)}\n                    onKeyDown={(event) => {\n                      if (event.key === 'Enter' || event.key === ' ') {\n                        event.preventDefault();\n                        handleMessageClick(message);\n                      }\n                    }}\n                    className={`group mb-1 flex min-w-0 cursor-pointer items-start gap-2.5 rounded-2xl border px-2.5 py-3 transition-all sm:px-3 ${\n                      active\n                        ? 'border-primary/35 bg-primary/10 shadow-sm'\n                        : !message.is_read\n                          ? 'border-primary/15 bg-primary/[.055] hover:border-primary/25 hover:bg-primary/[.085]'\n                          : 'border-transparent hover:border-border/60 hover:bg-muted/45'\n                    }`}\n                  >\n                    <div\n                      className=\"mt-1 grid h-5 w-5 shrink-0 place-items-center rounded-md border border-border/70 bg-background/60\"\n                      onClick={(event) => {\n                        event.stopPropagation();\n                        toggleSelect(message.id);\n                      }}\n                      role=\"checkbox\"\n                      aria-checked={selectedIds.has(message.id)}\n                      aria-label={selectedIds.has(message.id) ? 'Deselect message' : 'Select message'}\n                    >\n                      {selectedIds.has(message.id) && <Check className=\"h-3.5 w-3.5 text-primary\" />}\n                    </div>\n\n                    <div className={`grid h-9 w-9 shrink-0 place-items-center rounded-xl ${\n                      message.direction === 'inbound'\n                        ? 'bg-primary/12 text-primary'\n                        : 'bg-muted text-foreground'\n                    }`}>\n                      {message.direction === 'inbound'\n                        ? getChannelIcon(message.channel)\n                        : <Send className=\"h-4 w-4\" />}\n                    </div>\n\n                    <div className=\"min-w-0 flex-1\">\n                      <div className=\"flex min-w-0 items-center gap-2\">\n                        <span className={`min-w-0 flex-1 truncate text-sm ${!message.is_read ? 'font-black text-foreground' : 'font-semibold text-foreground/85'}`}>\n                          {messagePerson(message)}\n                        </span>\n                        <span className=\"shrink-0 text-[10px] font-semibold text-muted-foreground\">\n                          {format(new Date(message.received_at), 'MMM d')}\n                        </span>\n                      </div>\n\n                      {message.subject && (\n                        <p className={`mt-0.5 truncate text-xs ${!message.is_read ? 'font-bold text-foreground/90' : 'font-medium text-muted-foreground'}`}>\n                          {message.subject}\n                        </p>\n                      )}\n\n                      <p className=\"mt-0.5 truncate text-xs font-medium text-muted-foreground\">\n                        {messagePreview(message)}\n                      </p>\n\n                      <div className=\"mt-2 flex min-w-0 items-center gap-1.5\">\n                        <Badge variant=\"outline\" className=\"h-5 rounded-full border-border/60 px-2 text-[9px] font-black uppercase tracking-wide\">\n                          {message.channel}\n                        </Badge>\n                        <span className=\"truncate text-[10px] font-semibold text-muted-foreground\">\n                          {message.direction === 'inbound' ? 'Received' : 'Sent'} · {format(new Date(message.received_at), 'h:mm a')}\n                        </span>\n                        {message.is_starred && <Star className=\"ml-auto h-3.5 w-3.5 shrink-0 fill-current text-primary\" />}\n                        {!message.is_read && <span className=\"ml-auto h-2 w-2 shrink-0 rounded-full bg-primary shadow-[0_0_0_3px_hsl(var(--primary)/.12)]\" />}\n                      </div>\n                    </div>\n\n                    <ChevronRight className=\"mt-2 h-4 w-4 shrink-0 text-muted-foreground/60 transition-transform group-hover:translate-x-0.5\" />\n                  </div>\n                );\n              })}\n            </div>\n          )}\n        </ScrollArea>\n      </section>\n\n      <section\n        className={`${selectedMessage ? 'flex' : 'hidden md:flex'} min-w-0 flex-1 flex-col bg-background/25`}\n        aria-label=\"Selected message\"\n      >\n        {selectedMessage ? (\n          <>\n            <header className=\"flex min-h-[68px] shrink-0 items-center gap-2 border-b border-border/50 bg-background/45 px-3 py-2.5 backdrop-blur-xl sm:px-4\">\n              <Button\n                variant=\"ghost\"\n                size=\"icon\"\n                className=\"h-10 w-10 shrink-0 rounded-xl md:hidden\"\n                onClick={() => setSelectedMessage(null)}\n                aria-label=\"Back to inbox\"\n              >\n                <ArrowLeft className=\"h-5 w-5\" />\n              </Button>\n              <div className=\"grid h-10 w-10 shrink-0 place-items-center rounded-xl bg-primary/10 text-primary\">\n                {selectedMessage.direction === 'inbound'\n                  ? getChannelIcon(selectedMessage.channel)\n                  : <Send className=\"h-4 w-4\" />}\n              </div>\n              <div className=\"min-w-0 flex-1\">\n                <h3 className=\"truncate text-sm font-black text-foreground sm:text-base\">{messagePerson(selectedMessage)}</h3>\n                <p className=\"truncate text-[11px] font-semibold text-muted-foreground sm:text-xs\">\n                  {selectedMessage.channel.toUpperCase()} · {selectedMessage.direction === 'inbound' ? 'Received' : 'Sent'} · {format(new Date(selectedMessage.received_at), 'MMM d, h:mm a')}\n                </p>\n              </div>\n              {selectedMessage.is_starred && <Star className=\"h-4 w-4 shrink-0 fill-current text-primary\" />}\n            </header>\n\n            <ScrollArea className=\"min-h-0 flex-1\">\n              <div className=\"mx-auto flex w-full max-w-3xl flex-col px-4 py-5 sm:px-6 sm:py-8\">\n                {selectedMessage.subject && (\n                  <div className=\"mb-4\">\n                    <div className=\"text-[10px] font-black uppercase tracking-[.16em] text-muted-foreground\">Subject</div>\n                    <h4 className=\"mt-1 text-lg font-black tracking-tight text-foreground sm:text-xl\">{selectedMessage.subject}</h4>\n                  </div>\n                )}\n\n                <div className=\"rounded-[22px] border border-border/60 bg-card/80 p-4 shadow-sm sm:p-5\">\n                  <div className=\"mb-4 flex items-center justify-between gap-3 border-b border-border/45 pb-3\">\n                    <div className=\"min-w-0\">\n                      <div className=\"truncate text-sm font-bold text-foreground\">{messagePerson(selectedMessage)}</div>\n                      <div className=\"truncate text-xs font-medium text-muted-foreground\">\n                        {selectedMessage.direction === 'inbound' ? selectedMessage.from_address : selectedMessage.to_address}\n                      </div>\n                    </div>\n                    <Badge variant=\"outline\" className=\"shrink-0 rounded-full px-2.5 text-[10px] font-black uppercase tracking-wide\">\n                      {selectedMessage.channel}\n                    </Badge>\n                  </div>\n\n                  <div className=\"whitespace-pre-wrap break-words text-sm font-medium leading-6 text-foreground/90 sm:text-[15px]\">\n                    {selectedMessage.body || selectedMessage.preview || 'No message body is available for this item.'}\n                  </div>\n                </div>\n\n                <p className=\"mt-3 text-center text-[10px] font-semibold text-muted-foreground\">\n                  Conversation actions remain governed by the existing messaging services.\n                </p>\n              </div>\n            </ScrollArea>\n          </>\n        ) : (\n          <div className=\"grid h-full place-items-center p-8 text-center\">\n            <div className=\"max-w-sm\">\n              <div className=\"mx-auto grid h-14 w-14 place-items-center rounded-2xl bg-primary/10 text-primary\">\n                <MessageSquare className=\"h-6 w-6\" />\n              </div>\n              <h3 className=\"mt-4 text-lg font-black tracking-tight text-foreground\">Select a conversation</h3>\n              <p className=\"mt-1 text-sm font-medium leading-6 text-muted-foreground\">\n                Choose a message from the inbox to read it here without leaving the workspace.\n              </p>\n            </div>\n          </div>\n        )}\n      </section>\n    </div>\n  );\n}\n"}],"branch":"ai/objective-first-repair-5eb8e5d2b07a","writes":[],"patches":[],"approved":true,"missionId":"5eb8e5d2-b07a-4ed3-8d0c-0d59e5d1b9ea","objective":"Frontend-only Messenger UI/UX beautification on the canonical tenant communications route /big-papis/communications. Improve src/pages/crm/CommunicationsPage.tsx and src/components/communications/UnifiedInbox.tsx while preserving existing messaging data behavior. Make the Messenger feel premium and tenant-native with a responsive inbox/detail workspace, tenant-theme-driven accents, compact hierarchy, improved unread/active states, mobile inbox-to-message navigation, and no horizontal/zoom traps. Do not change backend, schema, auth, providers, or message semantics.","repository":"noel/KnockLaunchOS","ownerApproved":true,"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"c9e1500e59a1c10fc4c454390cd9a3be3e093d0aaecda395c50b29bdc4ca1d11","replayCount":0,"serializedBytes":27386},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:07:23.091299+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:5eb8e5d2-b07a-4ed3-8d0c-0d59e5d1b9ea:repository-mutation-intent:c9e1500e59a1c10fc4c454390cd9a3be3e093d0aaecda395c50b29bdc4ca1d11:0","mission_step_id":"31757b09-a787-4761-bc43-4733ee4c91ce","command_center_event_id":"5eb8e5d2-b07a-4ed3-8d0c-0d59e5d1b9ea"},{"id":"aced7b65-3789-46aa-80d0-91d2e959d9a7","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/styles/bigPapisApplicationFamily.css","content":"body.kl-big-papis-app-family .kl-responsive-tenant-runtime {\n  --bp-app-max-width: 1120px;\n  --bp-app-radius: 18px;\n  --bp-control-radius: 14px;\n  --bp-control-height: 44px;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime main,\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime [data-tenant-application-surface=\"true\"] {\n  width: min(100%, var(--bp-app-max-width));\n  margin-inline: auto;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime h1 {\n  font-size: clamp(1.35rem, 3vw, 1.9rem);\n  line-height: 1.1;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime h2 {\n  font-size: clamp(1.1rem, 2.4vw, 1.4rem);\n  line-height: 1.15;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime button,\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime [role=\"button\"],\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime input,\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime select,\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime textarea {\n  border-radius: var(--bp-control-radius);\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime button,\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime [role=\"button\"] {\n  min-height: var(--bp-control-height);\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime input:not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"range\"]),\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime select,\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime textarea {\n  min-height: var(--bp-control-height);\n  font-size: 16px;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime .rounded-3xl,\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime .rounded-\\[24px\\],\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime .rounded-\\[28px\\] {\n  border-radius: var(--bp-app-radius);\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime .p-8 {\n  padding: 1.25rem;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime .p-6 {\n  padding: 1rem;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime .gap-8 {\n  gap: 1.25rem;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime .gap-6 {\n  gap: 1rem;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime .space-y-8 > :not([hidden]) ~ :not([hidden]) {\n  margin-top: 1.25rem;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime .space-y-6 > :not([hidden]) ~ :not([hidden]) {\n  margin-top: 1rem;\n}\n\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime [data-app-header],\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime [data-sticky-header],\nbody.kl-big-papis-app-family .kl-responsive-tenant-runtime header.sticky {\n  top: var(--comm-banner-h, 0px);\n  z-index: 40;\n}\n\n@media (max-width: 767px) {\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime {\n    overflow-x: clip;\n  }\n\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime main,\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime [data-tenant-application-surface=\"true\"] {\n    width: 100%;\n    max-width: 100%;\n  }\n\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime p,\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime label,\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime li,\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime td,\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime th {\n    font-size: max(16px, 1em);\n  }\n\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime .px-8 {\n    padding-left: 1rem;\n    padding-right: 1rem;\n  }\n\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime .px-6 {\n    padding-left: .875rem;\n    padding-right: .875rem;\n  }\n\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime .py-8 {\n    padding-top: 1rem;\n    padding-bottom: 1rem;\n  }\n\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime .py-6 {\n    padding-top: .875rem;\n    padding-bottom: .875rem;\n  }\n\n  body.kl-big-papis-app-family .kl-responsive-tenant-runtime [class*=\"min-w-[\"] {\n    min-width: 0;\n  }\n}\n"}],"route":"https://app.knocklaunch.app/big-papis/owner/calendar","branch":"ai/objective-first-repair-293df568d4ad","writes":[],"patches":[],"approved":true,"missionId":"293df568-d4ad-41cb-8de6-f7cfc9064e07","repository":"noel/KnockLaunchOS","ownerApproved":true,"anchored_edits":[{"path":"src/PrivateAppShell.tsx","anchor":"import PlatformContextMenu from '@/components/interaction/PlatformContextMenu';","replacement":"import PlatformContextMenu from '@/components/interaction/PlatformContextMenu';\nimport '@/styles/bigPapisApplicationFamily.css';"},{"path":"src/PrivateAppShell.tsx","anchor":"function MobileViewportRecovery(){","replacement":"function BigPapisApplicationFamilyStyle(){const location=useLocation();const{activeTenant}=useMultiTenant();React.useEffect(()=>{if(typeof document==='undefined')return;const slug=String(activeTenant?.company_slug||'').trim().toLowerCase();const isBigPapis=slug==='big-papis'||location.pathname.toLowerCase().startsWith('/big-papis/');document.body.classList.toggle('kl-big-papis-app-family',isBigPapis);return()=>document.body.classList.remove('kl-big-papis-app-family')},[activeTenant?.company_slug,location.pathname]);return null}\nfunction MobileViewportRecovery(){"},{"path":"src/PrivateAppShell.tsx","anchor":"<TenantRouteScrollRestoration/><MobileViewportRecovery/>","replacement":"<TenantRouteScrollRestoration/><BigPapisApplicationFamilyStyle/><MobileViewportRecovery/>"}],"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"8ee3239ff6571e42014ee7ad06bef10e239e3f020d79f7ee6076fa9abffa6e11","replayCount":0,"serializedBytes":5782},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T17:51:26.879381+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:293df568-d4ad-41cb-8de6-f7cfc9064e07:repository-mutation-intent:8ee3239ff6571e42014ee7ad06bef10e239e3f020d79f7ee6076fa9abffa6e11:0","mission_step_id":"d13077e7-ca31-4524-ba18-029a41d48b2a","command_center_event_id":"293df568-d4ad-41cb-8de6-f7cfc9064e07"},{"id":"46569a62-c97e-44f5-bf6a-260b5a45e1ad","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-e7ec02af6fb8","writes":[],"patches":[],"approved":true,"missionId":"e7ec02af-6fb8-4ca7-a908-9fc05ebd8471","objective":"Prevent false active implementation heartbeats when a durable mission cannot automate its next step.","repository":"noel/KnockLaunchOS","ownerApproved":true,"anchored_edits":[{"path":"workers/cc-execution/src/mission-ledger.js","anchor":"  const heartbeatDue = mission.terminal !== true\n    && !latestProgress?.blocker\n    && Number.isFinite(latestAtMs)\n    && silenceMs >= OWNER_PROGRESS_SILENCE_BUDGET_MS;","replacement":"  const nextSafeAction = ownerMissionNextSafeAction(mission);\n  const heartbeatDue = mission.terminal !== true\n    && !latestProgress?.blocker\n    && nextSafeAction.automationAllowed === true\n    && Number.isFinite(latestAtMs)\n    && silenceMs >= OWNER_PROGRESS_SILENCE_BUDGET_MS;"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","anchor":"import { appendMissionReceipt, durableMissionKey, ensureMission, namedGateTestRequirement, ownerFacingMissionStepSummary, ownerMissionAcceptanceProgress, ownerMissionCheckpoint, ownerMissionNextSafeAction, ownerMissionStallState, readMission, requestContractProofState, requestContractVisualProofRequired, selectVerifiedRepositoryReceipt, verifiedReleaseReceiptMatchesContract } from \"../src/mission-ledger.js\";","replacement":"import { appendMissionReceipt, durableMissionKey, ensureMission, namedGateTestRequirement, ownerFacingMissionStepSummary, ownerMissionAcceptanceProgress, ownerMissionCheckpoint, ownerMissionNextSafeAction, ownerMissionProgressState, ownerMissionStallState, readMission, requestContractProofState, requestContractVisualProofRequired, selectVerifiedRepositoryReceipt, verifiedReleaseReceiptMatchesContract } from \"../src/mission-ledger.js\";"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","anchor":"test(\"fresh-chat recovery prefers newest creation lineage over stale heartbeat churn and respects exact hints\", () => {","replacement":"test(\"non-automated prepared missions do not emit false active heartbeats\", () => {\n  const mission = {\n    terminal: false,\n    status: \"waiting\",\n    phase: \"implementation\",\n    lastProgressAt: \"2026-09-20T14:00:00Z\",\n    stepSummary: [\n      { key: \"implementation\", status: \"ready\", lane: \"cc-execution\" },\n      { key: \"pull_request\", status: \"pending\", lane: \"cc-execution\" },\n    ],\n    recentReceipts: [{ type: \"execute_mission\", status: \"source_resolution_required\", proofGate: \"repair_mission_source_resolution_required\", createdAt: \"2026-09-20T14:00:00Z\" }],\n    context: {},\n  };\n  assert.equal(ownerMissionNextSafeAction(mission).automationAllowed, false);\n  assert.equal(ownerMissionProgressState(mission, Date.parse(\"2026-09-20T14:01:00Z\")).heartbeatDue, false);\n});\n\ntest(\"fresh-chat recovery prefers newest creation lineage over stale heartbeat churn and respects exact hints\", () => {"},{"path":"workers/cc-execution/src/version.js","anchor":"export const CC_EXECUTION_VERSION = \"1.58.223-durable-witness-lane-affinity\";","replacement":"export const CC_EXECUTION_VERSION = \"1.58.224-truthful-owner-progress\";"}],"implementation":{"files":[],"writes":[]},"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"controlPlaneMaintenanceReason":"Owner explicitly requested correction of the false-active mission progress behavior reproduced in this conversation."},"recovery":false,"fingerprint":"14c6bdb0c21bdc814374579d37be829c6b3fe699f1f95362d32980e53f90e807","replayCount":0,"serializedBytes":3729},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T01:11:34.519963+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e7ec02af-6fb8-4ca7-a908-9fc05ebd8471:repository-mutation-intent:14c6bdb0c21bdc814374579d37be829c6b3fe699f1f95362d32980e53f90e807:0","mission_step_id":"12657b76-7c26-454d-902d-1a9fab80c584","command_center_event_id":"e7ec02af-6fb8-4ca7-a908-9fc05ebd8471"},{"id":"8a60097e-a1a2-4707-9306-66a2b5bb0326","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"workers/cc-execution/test/request-contract-proof-authority.test.js","content":"import test from \"node:test\";\nimport assert from \"node:assert/strict\";\nimport { normalizeRequestContract } from \"../src/command-center-contracts.js\";\n\nfunction explicitContract(objective, proofConditions) {\n  return {\n    version: 1,\n    source: \"explicit\",\n    objective,\n    outcomes: [{ id: \"outcome-1\", statement: objective, proofConditionIds: proofConditions.map((condition) => condition.id) }],\n    constraints: [],\n    proofConditions,\n    terminalPolicy: \"all_required_proof_conditions_satisfied_after_live_release\",\n  };\n}\n\ntest(\"explicit runtime-only control-plane contract does not inherit visual constraints from lexical context\", () => {\n  const objective = \"Repair the backend control plane so a workspace visual artifact requirement is not inferred for this non-UI refactor.\";\n  const contract = normalizeRequestContract({\n    objective,\n    requestContract: explicitContract(objective, [\n      { id: \"proof-production\", kind: \"runtime\", claim: \"backend repair is live\", required: true },\n    ]),\n  }, objective);\n  assert.equal(contract.proofConditions.some((condition) => condition.kind === \"visual\" && condition.required !== false), false);\n  assert.equal(contract.constraints.some((constraint) => constraint.id === \"visual-artifact-scope\"), false);\n  assert.equal(contract.constraints.some((constraint) => constraint.id === \"reference-visual-authority\"), false);\n});\n\ntest(\"explicit visual proof preserves visual acceptance constraints for genuine presentation work\", () => {\n  const objective = \"Apply the approved workspace mockup to the tenant shell.\";\n  const contract = normalizeRequestContract({\n    objective,\n    route: \"/tenant/workspace\",\n    requestContract: explicitContract(objective, [\n      { id: \"proof-production\", kind: \"runtime\", claim: \"release is live\", required: true },\n      { id: \"proof-visual\", kind: \"visual\", claim: \"workspace matches approved presentation\", required: true, route: \"/tenant/workspace\" },\n    ]),\n  }, objective);\n  assert.equal(contract.proofConditions.some((condition) => condition.kind === \"visual\" && condition.required !== false), true);\n  assert.equal(contract.constraints.some((constraint) => constraint.id === \"visual-artifact-scope\"), true);\n});\n"},{"path":"workers/cc-execution/src/version.js","content":"// Release marker: Forgejo is the canonical repository and self-hosted Actions control plane.\nexport const CC_EXECUTION_VERSION = \"1.58.230-request-contract-proof-authority\";\n"}],"branch":"ai/objective-first-repair-8a1f6371985d","writes":[],"patches":[],"approved":true,"missionId":"8a1f6371-985d-4092-8eff-3ae25ba66187","objective":"Repair request-contract constraint leakage in cc-execution so backend-only control-plane refactors cannot inherit presentation-artifact acceptance constraints from prior context. Current-request evidence is authoritative; generic tenant/workspace/route/app/platform wording and strict QA cannot add presentation proof to a backend-only change. Preserve presentation-specific proof when directly requested. Add negative and positive regression coverage, then ship through Gate, squash merge, cc-execution release, and live runtime proof.","repository":"noel/KnockLaunchOS","ownerApproved":true,"anchored_edits":[{"path":"workers/cc-execution/src/command-center-contracts.js","anchor":"  const visualWorkIntent = classifyVisualWorkIntent({ ...body, objective });","replacement":"  const classifiedVisualWorkIntent = classifyVisualWorkIntent({ ...body, objective });\n  const explicitVisualProofRequired = explicit && rawProofConditions.some((condition) => (\n    String(condition?.kind || condition?.proofKind || condition?.proof_kind || condition?.type || \"\").trim().toLowerCase() === \"visual\"\n    && condition?.required !== false\n  ));\n  const visualWorkIntent = explicit && !explicitVisualProofRequired\n    ? { ...classifiedVisualWorkIntent, kind: \"not_visual_work\", implementation: false }\n    : classifiedVisualWorkIntent;"}],"implementation":{"files":[],"writes":[]},"requestContract":{"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Repair request-contract constraint leakage in cc-execution so backend-only control-plane refactors cannot inherit presentation-artifact acceptance constraints from prior context. Current-request evidence is authoritative; generic tenant/workspace/route/app/platform wording and strict QA cannot add presentation proof to a backend-only change. Preserve presentation-specific proof when directly requested. Add negative and positive regression coverage, then ship through Gate, squash merge, cc-execution release, and live runtime proof.","proofConditionIds":["proof-production"]}],"objective":"Repair request-contract constraint leakage in cc-execution so backend-only control-plane refactors cannot inherit presentation-artifact acceptance constraints from prior context. Current-request evidence is authoritative; generic tenant/workspace/route/app/platform wording and strict QA cannot add presentation proof to a backend-only change. Preserve presentation-specific proof when directly requested. Add negative and positive regression coverage, then ship through Gate, squash merge, cc-execution release, and live runtime proof.","constraints":[{"id":"visual-artifact-scope","statement":"Temporary compatibility link for the currently mis-injected presentation constraint; the source repair must prevent this constraint from appearing on backend-only objectives.","proofConditionIds":["proof-production"]},{"id":"current-request-authority","statement":"Current-request evidence is authoritative for acceptance-constraint selection; prior conversation artifact context must not leak into unrelated backend-only objectives.","proofConditionIds":["proof-production"]},{"id":"preserve-positive-presentation-path","statement":"Direct presentation work still receives presentation-specific acceptance constraints.","proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Live cc-execution contains the constraint-leakage repair and focused regressions; backend-only control-plane requests no longer inherit presentation-only acceptance constraints.","route":null,"required":true,"expectedText":null,"targetedActions":[]}]},"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","workers/cc-execution/test/request-contract-proof-authority.test.js"],"controlPlaneMaintenanceReason":"Owner-authorized repair of request-contract proof classification so non-visual control-plane refactors cannot inherit visual acceptance constraints from unrelated context."},"recovery":false,"fingerprint":"56113fe8cc85af61e95558e052287d179e9a119e94d91763279f53090860de7a","replayCount":0,"serializedBytes":7039},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:06:19.727705+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:8a1f6371-985d-4092-8eff-3ae25ba66187:repository-mutation-intent:56113fe8cc85af61e95558e052287d179e9a119e94d91763279f53090860de7a:0","mission_step_id":"32776531-34ef-4ed9-a45c-0baea31082b5","command_center_event_id":"8a1f6371-985d-4092-8eff-3ae25ba66187"},{"id":"f6e780af-19dc-4ca6-a1bc-99778ea4783c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5eb8e5d2b07a","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":29475,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":64616,"firstUsefulResultAt":"2026-09-24T04:06:18.361Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.229-visual-contract-hardening","prNumber":3570,"terminal":false,"missionId":"5eb8e5d2-b07a-4ed3-8d0c-0d59e5d1b9ea","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6473,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1292,"missionSetupMs":269,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":269,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":269,"repositoryMutationMs":5181,"repositoryProviderMs":5181,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2847,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":269,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2334},"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":"5eb8e5d2-b07a-4ed3-8d0c-0d59e5d1b9ea"},"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":3866,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:07:30.655276+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3570","receipt_type":"execute_mission","idempotency_key":"mission:5eb8e5d2-b07a-4ed3-8d0c-0d59e5d1b9ea:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"31757b09-a787-4761-bc43-4733ee4c91ce","command_center_event_id":"5eb8e5d2-b07a-4ed3-8d0c-0d59e5d1b9ea"},{"id":"afd521b0-c53d-4b80-973a-91e3746c6eca","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"44b4ea9b8d19bfc8de720223fd076cbd6086f669","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"44b4ea9b8d19bfc8de720223fd076cbd6086f669","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":"692b8298635d9e06e1b9a9f381d788ada005cdf14bcb48568e1b6347562d2e75","forgejoWorkflowProof":{"runId":11342,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"f07347da782ecef1623f0aa92dbd0beea9cdf386","deploymentId":"forgejo-main-f07347da782ecef1623f0aa92dbd0beea9cdf386","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.230-request-contract-proof-authority","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:08:25.110036+00:00","proof_gate":"canonical_release_pending","source_sha":"44b4ea9b8d19bfc8de720223fd076cbd6086f669","external_id":"forgejo-main-44b4ea9b8d19","receipt_type":"canonical_release_status","idempotency_key":"mission:8a1f6371-985d-4092-8eff-3ae25ba66187:forgejo-release-status:44b4ea9b8d19bfc8de720223fd076cbd6086f669:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"da887370-25ef-46a0-a04d-d70694ec34d9","command_center_event_id":"8a1f6371-985d-4092-8eff-3ae25ba66187"},{"id":"aa1c70d6-3941-41da-bc75-d411133b9c30","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","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":"922a4f7b74c9487b5dd5bbe44c2fe2a0a3b4b6a61fa9f863ff6377ce4492262e","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/11485","runId":11485,"status":"waiting","sourceSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"8b7d45a3aeb2a7cdf495cd947d6803f8ed7bd76d","deploymentId":"forgejo-main-8b7d45a3aeb2a7cdf495cd947d6803f8ed7bd76d","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.253-targeted-source-fail-closed","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T13:59:12.681497+00:00","proof_gate":"canonical_release_pending","source_sha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","external_id":"forgejo-main-9bdc4c37e63d","receipt_type":"canonical_release_status","idempotency_key":"mission:d4a699bc-5629-4689-84ab-bced59d27d65:forgejo-release-status:9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"1e157ffa-28ed-47d5-8858-1a8794ac025d","command_center_event_id":"d4a699bc-5629-4689-84ab-bced59d27d65"},{"id":"4bc31be3-4763-417d-8642-c07740b60372","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"truthful-progress","satisfied":true,"statement":"Repair false implementation and release progress claims in workers/cc-execution/src/index-mission-control.js. Require actual commit or verified adopted PR diff before implementation verified and target-matched provider dispatch receipt before deployment_dispatched. A completed ccExecution-only workflow must not report frontend releasing. Add regression tests for cancelled frontend run11478 followed by ccExecution-only successful run11482. Ship one focused repair through canonical Gate, squash merge, ccExecution release and runtime proof.","proofConditionIds":["runtime-proof"]}],"satisfied":true,"constraints":[{"id":"scope","satisfied":true,"statement":"Preserve unrelated work; do not modify watchdog files. No stage advancement without corresponding evidence.","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":"922a4f7b74c9487b5dd5bbe44c2fe2a0a3b4b6a61fa9f863ff6377ce4492262e","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":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"922a4f7b74c9487b5dd5bbe44c2fe2a0a3b4b6a61fa9f863ff6377ce4492262e"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T13:59:57.244534+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d4a699bc-5629-4689-84ab-bced59d27d65:request-contract:922a4f7b74c9487b5dd5bbe44c2fe2a0a3b4b6a61fa9f863ff6377ce4492262e:9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b:verified:","mission_step_id":"3132c2d6-c0a4-47e1-af38-97250c40dc2e","command_center_event_id":"d4a699bc-5629-4689-84ab-bced59d27d65"},{"id":"400c66f6-fefc-4f44-a7ec-cd53737289e5","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-efe81c59df75","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":27675,"releaseCount":0,"toolCallCount":15,"repeatedCallCount":9,"executorlessWaitMs":251868,"firstUsefulResultAt":"2026-09-25T22:52:48.754Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":null,"prNumber":3776,"terminal":false,"missionId":"efe81c59-df75-4ed9-b270-98054609505b","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"8cb51d0a50b5ca6662b6347af9bc5f744d6f57e1","timingsMs":{"prReadinessMs":569,"approvedPlanMs":0,"shipAndProveMs":3022,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"efe81c59-df75-4ed9-b270-98054609505b"},"performance":null,"deploymentId":"forgejo-main-8cb51d0a50b5","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":1787,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T23:00:07.458435+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3776","receipt_type":"automatic_mission_resume","idempotency_key":"mission:efe81c59-df75-4ed9-b270-98054609505b:automatic-mission-resume:3776:canonical_release_reconciliation_pending","mission_step_id":"31e9b6da-4624-4bcd-a5e3-4e823023c1e8","command_center_event_id":"efe81c59-df75-4ed9-b270-98054609505b"},{"id":"64fcaf41-5fd3-47ab-b998-36019d4bd828","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"c4f843325b7376cc005df98f5ec76a032247a740","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"gate-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"b17389c1016c0103db7bbbc973193fc0c92db7da","prNumber":3295,"gateRunId":10333,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTestPath":"workers/cc-execution/test/release-orchestration-invariants.test.js","gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/10333/jobs/1","gateTestProof":"successful_exact_head_gate_log_contains:workers/cc-execution/test/release-orchestration-invariants.test.js","gateTestPassed":true,"mergeCommitSha":"c4f843325b7376cc005df98f5ec76a032247a740","gateTestLogLine":"2026-09-20T15:46:27.9199955Z Gate regression: executing workers/cc-execution/test/release-orchestration-invariants.test.js","gateTestExecuted":true}],"requestContractHash":"cad01e970f0f0e07946d99403c5e37631c8337e0e2f8e404e1c35197942c6bc8","namedGateEvidenceReceiptVersion":":named-gate-evidence-v1"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:47:12.760719+00:00","proof_gate":"request_contract_repository_verified","source_sha":"c4f843325b7376cc005df98f5ec76a032247a740","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:9c499bc0-f1a4-4960-96d7-7e4df99cdde5:request-contract-repository:cad01e970f0f0e07946d99403c5e37631c8337e0e2f8e404e1c35197942c6bc8:c4f843325b7376cc005df98f5ec76a032247a740:named-gate-evidence-v1","mission_step_id":"09bd01be-7252-4edc-aa3e-27f2e939347c","command_center_event_id":"9c499bc0-f1a4-4960-96d7-7e4df99cdde5"},{"id":"c84989f8-8b88-4ad0-9f37-f8dec4e47072","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":"c4f843325b7376cc005df98f5ec76a032247a740","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"sourceSha":"c4f843325b7376cc005df98f5ec76a032247a740","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":"cad01e970f0f0e07946d99403c5e37631c8337e0e2f8e404e1c35197942c6bc8","forgejoWorkflowProof":{"runId":10334,"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":"c4f843325b7376cc005df98f5ec76a032247a740","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-c4f843325b7376cc005df98f5ec76a032247a740","compareStatus":"target_job_success_runtime_verified","workflowRunId":10334,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.194-first-class-mission-runtime","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:47:51.195041+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"c4f843325b7376cc005df98f5ec76a032247a740","external_id":"forgejo-main-c4f843325b73","receipt_type":"canonical_release_status","idempotency_key":"mission:9c499bc0-f1a4-4960-96d7-7e4df99cdde5:forgejo-release-status:c4f843325b7376cc005df98f5ec76a032247a740:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success|supabase-edge-production/live=success","mission_step_id":"09bd01be-7252-4edc-aa3e-27f2e939347c","command_center_event_id":"9c499bc0-f1a4-4960-96d7-7e4df99cdde5"},{"id":"a382ffa8-a21d-4b56-a50d-3381691640d6","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T15:05:48.164985+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":\"ai/remove-retired-production-surfaces-20260803\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:48:03.049232+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:c10c1254-cd3b-465d-9db5-74eda46e92e0:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",","mission_step_id":"ea688ce1-6841-4be1-a475-55dcdd7f094f","command_center_event_id":"c10c1254-cd3b-465d-9db5-74eda46e92e0"},{"id":"7cacd937-4c80-4968-8ce6-56927fd48713","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T17:07:29.182479+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":\"ai/repair-release-orchestration-20260803\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:48:05.627318+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:670ed3af-c28b-487b-9d73-050a4334c47d:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",","mission_step_id":"93eec137-c605-4533-a532-d2f39d0b5d28","command_center_event_id":"670ed3af-c28b-487b-9d73-050a4334c47d"},{"id":"8063bcc1-0681-42d9-af48-ab05a506598b","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner authorized correcting the single stale regression assertion on the existing release-conductor repair PR.","baseSha":"8b7d45a3aeb2a7cdf495cd947d6803f8ed7bd76d","issuedAt":1790258379301,"expiresAt":1790258559301,"missionId":"5bc9b550-c99a-46cf-a12f-7954c9920059","authorizationId":"4c01eb4a-5eff-4b57-bea1-85c6cc4742eb","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T13:59:39.605167+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"8b7d45a3aeb2a7cdf495cd947d6803f8ed7bd76d","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:4c01eb4a-5eff-4b57-bea1-85c6cc4742eb","mission_step_id":"0498b4fc-5f9c-423b-a721-1225a1a81077","command_center_event_id":"5bc9b550-c99a-46cf-a12f-7954c9920059"},{"id":"741c5617-8e57-46c8-a2c7-a3c1b62de2e3","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending","supabase-edge-production/live":"pending"},"mainSha":"c4f843325b7376cc005df98f5ec76a032247a740","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"sourceSha":"c4f843325b7376cc005df98f5ec76a032247a740","releaseState":"pending","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":"pending","supabaseEdge":"pending"},"requestContractHash":"cad01e970f0f0e07946d99403c5e37631c8337e0e2f8e404e1c35197942c6bc8","forgejoWorkflowProof":{"runId":10334,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending","supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b","deploymentId":"forgejo-main-603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.193-autonomous-deterministic-supervisor","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:46:45.247067+00:00","proof_gate":"canonical_release_pending","source_sha":"c4f843325b7376cc005df98f5ec76a032247a740","external_id":"forgejo-main-c4f843325b73","receipt_type":"canonical_release_status","idempotency_key":"mission:9c499bc0-f1a4-4960-96d7-7e4df99cdde5:forgejo-release-status:c4f843325b7376cc005df98f5ec76a032247a740:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending|supabase-edge-production/live=pending","mission_step_id":"f2765825-c795-4e4d-bbbc-7280c055e7b3","command_center_event_id":"9c499bc0-f1a4-4960-96d7-7e4df99cdde5"},{"id":"740be594-e845-4529-a4e4-08ff4465dd7a","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"c4f843325b7376cc005df98f5ec76a032247a740","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"durable-discovery","satisfied":true,"statement":"Autonomous mission discovery is sourced from the durable Supabase mission ledger. Cloudflare cache is degraded fallback only and cannot be the sole source of active work.","proofConditionIds":["gate-proof","runtime-proof","edge-proof"]},{"id":"event-wakeup","satisfied":true,"statement":"Successful Forgejo workflow events trigger the same deterministic mission supervisor immediately; minute cron remains recovery fallback.","proofConditionIds":["gate-proof","runtime-proof"]},{"id":"collision-arbitration","satisfied":true,"statement":"The autonomous supervisor serializes missions that collide on the same mutable release target or exact branch/PR identity before dispatching transitions.","proofConditionIds":["gate-proof"]},{"id":"transition-journal","satisfied":true,"statement":"Every semantic autonomous transition appends an idempotent durable mission receipt bound to before/after checkpoint signatures.","proofConditionIds":["gate-proof","runtime-proof"]},{"id":"recovery-slo","satisfied":true,"statement":"Health and supervisor receipts expose explicit recovery freshness targets and whether the supervisor is within or outside SLO.","proofConditionIds":["gate-proof","runtime-proof"]}],"satisfied":true,"constraints":[{"id":"single-brain","satisfied":true,"statement":"Reuse mission_status deterministic state machine as the only transition brain. Event and cron paths only wake/arbitrate/journal; they do not invent a second executor.","proofConditionIds":["gate-proof","runtime-proof"]},{"id":"bounded","satisfied":true,"statement":"Modify only the seven declared files and preserve existing protected-main Gate, squash merge, affected-target release, and request-contract terminal proof.","proofConditionIds":["gate-proof","runtime-proof","edge-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":["gate-proof","runtime-proof","edge-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":["gate-proof","runtime-proof","edge-proof"]}],"contractHash":"cad01e970f0f0e07946d99403c5e37631c8337e0e2f8e404e1c35197942c6bc8","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"gate-proof","kind":"repository","evidence":{"reason":null,"gateRunId":10333,"satisfied":true,"gateTestProof":"successful_exact_head_gate_log_contains:workers/cc-execution/test/release-orchestration-invariants.test.js","gateTestPassed":true,"missingTargets":[],"gateTestExecuted":true,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":"workers/cc-execution/test/release-orchestration-invariants.test.js","releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"cad01e970f0f0e07946d99403c5e37631c8337e0e2f8e404e1c35197942c6bc8","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["ccExecution","supabaseEdge"],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"c4f843325b7376cc005df98f5ec76a032247a740"},"required":true,"satisfied":true},{"id":"runtime-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"cad01e970f0f0e07946d99403c5e37631c8337e0e2f8e404e1c35197942c6bc8"},"required":true,"satisfied":true},{"id":"edge-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":["supabaseEdge"],"migrationReleaseVerified":null,"releaseRequestContractHash":"cad01e970f0f0e07946d99403c5e37631c8337e0e2f8e404e1c35197942c6bc8"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:47:52.955918+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"c4f843325b7376cc005df98f5ec76a032247a740","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:9c499bc0-f1a4-4960-96d7-7e4df99cdde5:request-contract:cad01e970f0f0e07946d99403c5e37631c8337e0e2f8e404e1c35197942c6bc8:c4f843325b7376cc005df98f5ec76a032247a740:verified:","mission_step_id":"09bd01be-7252-4edc-aa3e-27f2e939347c","command_center_event_id":"9c499bc0-f1a4-4960-96d7-7e4df99cdde5"},{"id":"89cc8faa-cf34-4b2b-8a66-bfb98e8cb16f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5bc9b550c99a","reason":"control_plane_maintenance_base_sha_mismatch","status":"blocked","metrics":{"receiptBytes":25164,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":9650,"firstUsefulResultAt":"2026-09-24T13:57:23.533Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.253-targeted-source-fail-closed","prNumber":3618,"terminal":false,"missionId":"5bc9b550-c99a-46cf-a12f-7954c9920059","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1388,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1388,"missionSetupMs":436,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":294,"ledgerReconcileMs":0,"lineageReconcileMs":142,"resolvePreflightMs":436,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":294,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"5bc9b550-c99a-46cf-a12f-7954c9920059"},"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":1480,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T13:59:40.993428+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":"3618","receipt_type":"execute_mission","idempotency_key":"mission:5bc9b550-c99a-46cf-a12f-7954c9920059:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"c832dccb-4578-4ded-9439-d6088622635c","command_center_event_id":"5bc9b550-c99a-46cf-a12f-7954c9920059"},{"id":"8a4c4d3f-31fc-4a25-befd-1dcaabd50d32","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-dc2f69d4d0f6","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":28875,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":0,"executorlessWaitMs":1278316,"firstUsefulResultAt":"2026-09-24T16:45:14.768Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":3642,"terminal":false,"missionId":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"0f62451a994f8fd7b18c3fd0de88787d8f049b03","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2057,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":154,"approvedPlanMs":0,"missionSetupMs":280,"providerAuthMs":0,"shipAndProveMs":1387,"ledgerPrepareMs":280,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":280,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":280,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97"},"performance":null,"deploymentId":"forgejo-main-0f62451a994f","releaseState":"failed","workflowRunId":11543,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2984,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T17:07:31.331248+00:00","proof_gate":"canonical_release_dispatched","source_sha":"0f62451a994f8fd7b18c3fd0de88787d8f049b03","external_id":"forgejo-main-0f62451a994f","receipt_type":"execute_mission","idempotency_key":"mission:dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"0df3695c-5b60-4cdc-99ed-8a07ade037fb","command_center_event_id":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97"},{"id":"3fa75c55-cfca-4d2a-9066-0f9afe87bc54","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-c7277832d445","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":10128,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":461806,"firstUsefulResultAt":"2026-09-24T18:27:30.552Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3655,"terminal":false,"missionId":"c7277832-d445-4a10-bf39-923f418aee05","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4947,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":750,"missionSetupMs":273,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":273,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":273,"repositoryMutationMs":4197,"repositoryProviderMs":4197,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2415,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":273,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1782},"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":"c7277832-d445-4a10-bf39-923f418aee05"},"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":3070,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T18:35:18.523709+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3655","receipt_type":"execute_mission","idempotency_key":"mission:c7277832-d445-4a10-bf39-923f418aee05:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"e1250eaa-d825-48a0-9748-979bd6f2ddb4","command_center_event_id":"c7277832-d445-4a10-bf39-923f418aee05"},{"id":"ee4a4cbb-699e-4802-b484-fa5f16b46938","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/lib/videoStudio.ts","content":"import { supabase } from '@/integrations/supabase/client';\n\nexport type VideoStudioMode = 't2v' | 'i2v';\nexport type VideoStudioJobStatus = 'queued' | 'running' | 'finalizing' | 'succeeded' | 'failed' | 'cancelled';\n\nexport type VideoStudioJob = {\n  id: string;\n  tenant_id: string;\n  created_by?: string | null;\n  mode: VideoStudioMode;\n  prompt: string;\n  negative_prompt?: string | null;\n  input_asset_id?: string | null;\n  brand_lock: boolean;\n  brand_asset_id?: string | null;\n  brand_settings?: Record<string, unknown> | null;\n  aspect_ratio: string;\n  width: number;\n  height: number;\n  duration_seconds: number;\n  fps: number;\n  quality_mode: string;\n  motion_preset: string;\n  seed: number;\n  renderer_key: string;\n  model_key: string;\n  status: VideoStudioJobStatus;\n  stage?: string | null;\n  progress?: number | null;\n  error_code?: string | null;\n  error_message?: string | null;\n  output_asset_id?: string | null;\n  poster_asset_id?: string | null;\n  output_url?: string | null;\n  poster_url?: string | null;\n  created_at: string;\n  updated_at: string;\n};\n\nexport type VideoStudioModel = {\n  key: string;\n  label: string;\n  recommended?: boolean;\n  minVramGb?: number;\n  modes: VideoStudioMode[];\n  available?: boolean;\n  prerequisite?: string | null;\n};\n\nexport type VideoStudioWorker = {\n  worker_id: string;\n  status: string;\n  last_heartbeat_at: string;\n  active_job_id?: string | null;\n  capabilities?: Record<string, unknown> | null;\n};\n\nexport type VideoStudioStatus = {\n  online: boolean;\n  workers: VideoStudioWorker[];\n  models: VideoStudioModel[];\n};\n\nexport const VIDEO_STUDIO_ASPECTS = ['16:9', '9:16', '1:1'] as const;\nexport const VIDEO_STUDIO_MOTIONS = ['static', 'product-reveal', 'orbit', 'push', 'pull', 'pan', 'handheld', 'cinematic'] as const;\nexport const VIDEO_STUDIO_QUALITY = ['speed', 'balanced', 'quality'] as const;\nexport const VIDEO_STUDIO_TERMINAL_STATUSES = new Set<VideoStudioJobStatus>(['succeeded', 'failed', 'cancelled']);\n\nexport function normalizedFrameCount(seconds: number, fps: number): number {\n  const raw = Math.max(1, Math.round(Number(seconds || 0) * Number(fps || 0)));\n  return Math.max(1, Math.floor((raw - 1) / 4) * 4 + 1);\n}\n\nexport function randomVideoSeed(): number {\n  return Math.floor(Math.random() * 2147483646) + 1;\n}\n\nasync function invoke<T>(action: string, tenantId?: string, input: Record<string, unknown> = {}): Promise<T> {\n  const { data, error } = await supabase.functions.invoke('video-studio', {\n    body: { action, ...(tenantId ? { tenantId } : {}), ...input },\n  });\n  if (error) throw error;\n  const payload = (data || {}) as Record<string, unknown>;\n  if (payload.ok === false) throw new Error(String(payload.error || 'video_studio_request_failed'));\n  return payload as T;\n}\n\nexport async function listVideoStudioJobs(tenantId: string): Promise<VideoStudioJob[]> {\n  const payload = await invoke<{ jobs?: VideoStudioJob[] }>('list', tenantId);\n  return payload.jobs || [];\n}\n\nexport async function getVideoStudioStatus(tenantId: string): Promise<VideoStudioStatus> {\n  const payload = await invoke<VideoStudioStatus & { ok?: boolean }>('status', tenantId);\n  return { online: Boolean(payload.online), workers: payload.workers || [], models: payload.models || [] };\n}\n\nexport type CreateVideoStudioJobInput = {\n  mode: VideoStudioMode;\n  prompt: string;\n  negativePrompt?: string;\n  inputAssetId?: string | null;\n  brandLock?: boolean;\n  brandAssetId?: string | null;\n  brandSettings?: Record<string, unknown>;\n  aspectRatio: string;\n  durationSeconds: number;\n  fps: number;\n  qualityMode: string;\n  motionPreset: string;\n  seed: number;\n  rendererKey?: string;\n  modelKey: string;\n};\n\nexport async function createVideoStudioJob(tenantId: string, input: CreateVideoStudioJobInput): Promise<VideoStudioJob> {\n  const payload = await invoke<{ job: VideoStudioJob }>('create', tenantId, input);\n  return payload.job;\n}\n\nexport async function cancelVideoStudioJob(tenantId: string, jobId: string): Promise<VideoStudioJob> {\n  const payload = await invoke<{ job: VideoStudioJob }>('cancel', tenantId, { jobId });\n  return payload.job;\n}\n\nexport async function retryVideoStudioJob(tenantId: string, jobId: string, sameSeed = true): Promise<VideoStudioJob> {\n  const payload = await invoke<{ job: VideoStudioJob }>('retry', tenantId, { jobId, sameSeed });\n  return payload.job;\n}\n\nexport async function duplicateVideoStudioJob(tenantId: string, jobId: string, sameSeed = false): Promise<VideoStudioJob> {\n  const payload = await invoke<{ job: VideoStudioJob }>('duplicate', tenantId, { jobId, sameSeed });\n  return payload.job;\n}\n"},{"path":"src/pages/owner/VideoStudio.tsx","content":"import React from 'react';\nimport { Link } from 'react-router-dom';\nimport {\n  AlertTriangle, CheckCircle2, ChevronDown, Clapperboard, Copy, Download, Film,\n  Image as ImageIcon, Loader2, MonitorUp, Play, RefreshCw, RotateCcw, Sparkles,\n  Square, Upload, WandSparkles, Wifi, WifiOff\n} from 'lucide-react';\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport {\n  listTenantMedia, tenantMediaDisplayUrl, uploadTenantMedia, type TenantMediaAsset\n} from '@/lib/tenantMedia';\nimport {\n  VIDEO_STUDIO_ASPECTS, VIDEO_STUDIO_MOTIONS, VIDEO_STUDIO_QUALITY,\n  cancelVideoStudioJob, createVideoStudioJob, duplicateVideoStudioJob,\n  getVideoStudioStatus, listVideoStudioJobs, randomVideoSeed, retryVideoStudioJob,\n  type VideoStudioJob, type VideoStudioMode, type VideoStudioStatus\n} from '@/lib/videoStudio';\n\nconst shell = 'rounded-2xl border border-white/10 bg-[#08100d]/92 shadow-[0_20px_70px_rgba(0,0,0,.35)]';\nconst field = 'w-full rounded-xl border border-white/10 bg-black/30 px-3 py-2.5 text-sm text-white outline-none transition focus:border-emerald-300/45 focus:ring-2 focus:ring-emerald-400/10';\n\nfunction statusTone(status: string) {\n  if (status === 'succeeded') return 'text-emerald-300';\n  if (status === 'failed') return 'text-red-300';\n  if (status === 'cancelled') return 'text-white/40';\n  return 'text-amber-200';\n}\n\nfunction jobLabel(job: VideoStudioJob) {\n  if (job.status === 'queued' && job.stage === 'waiting_for_renderer') return 'Waiting for renderer';\n  if (job.status === 'running') return job.stage || 'Rendering';\n  if (job.status === 'finalizing') return 'Finishing';\n  return job.status.replace(/_/g, ' ');\n}\n\nfunction findBrandAsset(assets: TenantMediaAsset[]) {\n  return assets.find((asset) => {\n    const collection = String(asset.collection_key || '').toLowerCase();\n    const title = String(asset.title || '').toLowerCase();\n    const metadata = (asset.metadata || {}) as Record<string, unknown>;\n    return collection.includes('brand') || title.includes('logo') || String(metadata.kind || '').toLowerCase().includes('logo');\n  }) || null;\n}\n\nexport default function VideoStudio() {\n  const { activeTenant, memberships, switchTenant } = useMultiTenant();\n  const tenantId = String(activeTenant?.id || '');\n  const [mode, setMode] = React.useState<VideoStudioMode>('t2v');\n  const [prompt, setPrompt] = React.useState('');\n  const [negativePrompt, setNegativePrompt] = React.useState('');\n  const [referenceAssetId, setReferenceAssetId] = React.useState('');\n  const [brandAssetId, setBrandAssetId] = React.useState('');\n  const [brandLock, setBrandLock] = React.useState(true);\n  const [aspectRatio, setAspectRatio] = React.useState('16:9');\n  const [durationSeconds, setDurationSeconds] = React.useState(5);\n  const [fps, setFps] = React.useState(24);\n  const [qualityMode, setQualityMode] = React.useState('balanced');\n  const [motionPreset, setMotionPreset] = React.useState('cinematic');\n  const [seed, setSeed] = React.useState(randomVideoSeed());\n  const [modelKey, setModelKey] = React.useState('wan22-ti2v-5b');\n  const [logoPosition, setLogoPosition] = React.useState('bottom-right');\n  const [logoScale, setLogoScale] = React.useState(14);\n  const [logoOpacity, setLogoOpacity] = React.useState(92);\n  const [assets, setAssets] = React.useState<TenantMediaAsset[]>([]);\n  const [jobs, setJobs] = React.useState<VideoStudioJob[]>([]);\n  const [status, setStatus] = React.useState<VideoStudioStatus>({ online: false, workers: [], models: [] });\n  const [loading, setLoading] = React.useState(true);\n  const [generating, setGenerating] = React.useState(false);\n  const [uploading, setUploading] = React.useState(false);\n  const [error, setError] = React.useState('');\n  const [advanced, setAdvanced] = React.useState(false);\n\n  const refresh = React.useCallback(async (quiet = false) => {\n    if (!tenantId) return;\n    if (!quiet) setLoading(true);\n    try {\n      const [media, nextJobs, nextStatus] = await Promise.all([\n        listTenantMedia(tenantId),\n        listVideoStudioJobs(tenantId),\n        getVideoStudioStatus(tenantId),\n      ]);\n      const images = media.filter((asset) => String(asset.mime_type || '').startsWith('image/'));\n      setAssets(images);\n      setJobs(nextJobs);\n      setStatus(nextStatus);\n      const brand = findBrandAsset(images);\n      setBrandAssetId((current) => current || brand?.id || '');\n      setModelKey((current) => {\n        const currentKnown = nextStatus.models.some((model) => model.key === current);\n        return currentKnown ? current : (nextStatus.models.find((model) => model.recommended)?.key || current);\n      });\n      setError('');\n    } catch (cause) {\n      setError(cause instanceof Error ? cause.message : String(cause));\n    } finally {\n      if (!quiet) setLoading(false);\n    }\n  }, [tenantId]);\n\n  React.useEffect(() => { void refresh(); }, [refresh]);\n  React.useEffect(() => {\n    if (!tenantId) return undefined;\n    const id = window.setInterval(() => {\n      if (jobs.some((job) => ['queued', 'running', 'finalizing'].includes(job.status))) void refresh(true);\n    }, 4000);\n    return () => window.clearInterval(id);\n  }, [tenantId, jobs, refresh]);\n\n  const selectedReference = assets.find((asset) => asset.id === referenceAssetId) || null;\n  const selectedBrand = assets.find((asset) => asset.id === brandAssetId) || null;\n  const selectedModel = status.models.find((model) => model.key === modelKey);\n  const canGenerate = Boolean(tenantId && prompt.trim() && (mode === 't2v' || referenceAssetId) && (!brandLock || brandAssetId));\n\n  async function handleUpload(file: File | null) {\n    if (!file || !tenantId) return;\n    setUploading(true);\n    setError('');\n    try {\n      const asset = await uploadTenantMedia(tenantId, file, {\n        collection: 'video-reference',\n        title: file.name,\n        published: false,\n        metadata: { usage: 'video_studio_reference' },\n      });\n      setAssets((current) => [asset, ...current.filter((item) => item.id !== asset.id)]);\n      setReferenceAssetId(asset.id);\n      setMode('i2v');\n    } catch (cause) {\n      setError(cause instanceof Error ? cause.message : String(cause));\n    } finally {\n      setUploading(false);\n    }\n  }\n\n  async function handleGenerate() {\n    if (!canGenerate || !tenantId) return;\n    setGenerating(true);\n    setError('');\n    try {\n      await createVideoStudioJob(tenantId, {\n        mode,\n        prompt: prompt.trim(),\n        negativePrompt: negativePrompt.trim(),\n        inputAssetId: mode === 'i2v' ? referenceAssetId : null,\n        brandLock,\n        brandAssetId: brandLock ? brandAssetId : null,\n        brandSettings: { position: logoPosition, scalePercent: logoScale, opacityPercent: logoOpacity, marginPercent: 3, fitMode: 'contain' },\n        aspectRatio,\n        durationSeconds,\n        fps,\n        qualityMode,\n        motionPreset,\n        seed,\n        rendererKey: 'local-comfyui',\n        modelKey,\n      });\n      setSeed(randomVideoSeed());\n      await refresh(true);\n    } catch (cause) {\n      setError(cause instanceof Error ? cause.message : String(cause));\n    } finally {\n      setGenerating(false);\n    }\n  }\n\n  async function jobAction(action: 'cancel' | 'retry' | 'duplicate' | 'same-seed', job: VideoStudioJob) {\n    if (!tenantId) return;\n    setError('');\n    try {\n      if (action === 'cancel') await cancelVideoStudioJob(tenantId, job.id);\n      if (action === 'retry') await retryVideoStudioJob(tenantId, job.id, true);\n      if (action === 'duplicate') await duplicateVideoStudioJob(tenantId, job.id, false);\n      if (action === 'same-seed') await duplicateVideoStudioJob(tenantId, job.id, true);\n      await refresh(true);\n    } catch (cause) {\n      setError(cause instanceof Error ? cause.message : String(cause));\n    }\n  }\n\n  if (!tenantId) {\n    return <main className=\"min-h-screen bg-[#040806] p-6 text-white\"><div className={shell + ' mx-auto max-w-xl p-6'}><h1 className=\"text-2xl font-black\">Video Studio</h1><p className=\"mt-2 text-sm text-white/50\">Choose a tenant before creating tenant-branded video.</p><Link to=\"/select-tenant\" className=\"mt-5 inline-flex rounded-xl bg-emerald-400 px-4 py-2.5 font-black text-black\">Choose tenant</Link></div></main>;\n  }\n\n  return (\n    <main className=\"min-h-screen bg-[radial-gradient(circle_at_top,rgba(16,185,129,.10),transparent_35%),#040806] px-3 py-4 text-white sm:px-6 sm:py-6\">\n      <div className=\"mx-auto max-w-[1500px] space-y-4\">\n        <header className={shell + ' flex flex-col gap-4 p-4 sm:flex-row sm:items-center sm:justify-between sm:p-5'}>\n          <div className=\"min-w-0\">\n            <div className=\"flex items-center gap-2 text-[10px] font-black uppercase tracking-[.22em] text-emerald-300/70\"><Clapperboard className=\"h-4 w-4\" /> KNOCKLAUNCH creator</div>\n            <h1 className=\"mt-1 text-2xl font-black tracking-tight\">Video Studio</h1>\n            <p className=\"mt-1 text-sm text-white/45\">Create tenant-ready video locally. Exact branding stays deterministic.</p>\n          </div>\n          <div className=\"flex flex-wrap items-center gap-2\">\n            {memberships.length > 1 ? (\n              <select value={tenantId} onChange={(event) => void switchTenant(event.target.value)} className={field + ' min-w-[190px]'}>\n                {memberships.map((membership) => <option key={membership.tenant_id} value={membership.tenant_id}>{membership.tenant?.company_dba_name || membership.tenant?.name || membership.tenant_id}</option>)}\n              </select>\n            ) : null}\n            <button type=\"button\" onClick={() => void refresh()} className=\"inline-flex h-10 items-center gap-2 rounded-xl border border-white/10 bg-white/5 px-3 text-xs font-black text-white/70\"><RefreshCw className=\"h-4 w-4\" /> Refresh</button>\n          </div>\n        </header>\n\n        {error ? <div className=\"rounded-xl border border-red-400/25 bg-red-500/10 px-4 py-3 text-sm text-red-100\">{error}</div> : null}\n\n        <section className=\"grid gap-4 xl:grid-cols-[minmax(0,1.2fr)_minmax(340px,.8fr)]\">\n          <div className={shell + ' overflow-hidden'}>\n            <div className=\"border-b border-white/8 p-4 sm:p-5\">\n              <div className=\"grid grid-cols-2 gap-2 rounded-xl bg-black/25 p-1\">\n                <button type=\"button\" onClick={() => setMode('t2v')} className={'rounded-lg px-3 py-2 text-sm font-black ' + (mode === 't2v' ? 'bg-emerald-400 text-black' : 'text-white/55')}>Text to Video</button>\n                <button type=\"button\" onClick={() => setMode('i2v')} className={'rounded-lg px-3 py-2 text-sm font-black ' + (mode === 'i2v' ? 'bg-emerald-400 text-black' : 'text-white/55')}>Image to Video</button>\n              </div>\n            </div>\n\n            <div className=\"space-y-4 p-4 sm:p-5\">\n              {mode === 'i2v' ? (\n                <div>\n                  <div className=\"mb-2 flex items-center justify-between\"><label className=\"text-xs font-black uppercase tracking-[.14em] text-white/55\">First frame</label><label className=\"inline-flex cursor-pointer items-center gap-2 text-xs font-bold text-emerald-300\"><Upload className=\"h-3.5 w-3.5\" /> {uploading ? 'Uploading…' : 'Upload'}<input type=\"file\" accept=\"image/*\" className=\"hidden\" disabled={uploading} onChange={(event) => void handleUpload(event.target.files?.[0] || null)} /></label></div>\n                  <div className=\"grid grid-cols-4 gap-2 sm:grid-cols-6\">\n                    {assets.slice(0, 18).map((asset) => <button key={asset.id} type=\"button\" onClick={() => setReferenceAssetId(asset.id)} className={'overflow-hidden rounded-xl border ' + (asset.id === referenceAssetId ? 'border-emerald-300 ring-2 ring-emerald-300/25' : 'border-white/10')}><img src={tenantMediaDisplayUrl(asset)} alt={asset.title || 'Reference'} className=\"aspect-square w-full object-cover\" /></button>)}\n                  </div>\n                  {!assets.length ? <div className=\"rounded-xl border border-dashed border-white/12 p-6 text-center text-sm text-white/40\">Upload a reference image to start Image-to-Video.</div> : null}\n                </div>\n              ) : null}\n\n              <div>\n                <label className=\"mb-2 block text-xs font-black uppercase tracking-[.14em] text-white/55\">Describe the motion</label>\n                <textarea value={prompt} onChange={(event) => setPrompt(event.target.value)} rows={5} className={field + ' resize-y'} placeholder={mode === 'i2v' ? 'Bring this frame to life. Describe subject motion, camera movement, lighting and pacing.' : 'Describe the shot, subject, camera movement, lighting and pacing.'} />\n              </div>\n\n              <div className=\"grid gap-3 sm:grid-cols-2\">\n                <label className=\"text-xs font-bold text-white/55\">Motion preset<select value={motionPreset} onChange={(event) => setMotionPreset(event.target.value)} className={field + ' mt-1'}>{VIDEO_STUDIO_MOTIONS.map((value) => <option key={value} value={value}>{value.replace(/-/g, ' ')}</option>)}</select></label>\n                <label className=\"text-xs font-bold text-white/55\">Aspect ratio<select value={aspectRatio} onChange={(event) => setAspectRatio(event.target.value)} className={field + ' mt-1'}>{VIDEO_STUDIO_ASPECTS.map((value) => <option key={value}>{value}</option>)}</select></label>\n              </div>\n\n              <div className=\"rounded-xl border border-white/10 bg-black/20 p-3\">\n                <label className=\"flex items-center justify-between gap-3\">\n                  <span><span className=\"block text-sm font-black\">Brand Lock</span><span className=\"block text-xs text-white/40\">Composites the exact stored logo after rendering. The model never redraws it.</span></span>\n                  <input type=\"checkbox\" checked={brandLock} onChange={(event) => setBrandLock(event.target.checked)} className=\"h-5 w-5 accent-emerald-400\" />\n                </label>\n                {brandLock ? (\n                  <div className=\"mt-3 grid gap-3 sm:grid-cols-[1fr_160px]\">\n                    <label className=\"text-xs font-bold text-white/55\">Logo asset<select value={brandAssetId} onChange={(event) => setBrandAssetId(event.target.value)} className={field + ' mt-1'}><option value=\"\">Choose tenant logo</option>{assets.map((asset) => <option key={asset.id} value={asset.id}>{asset.title || asset.collection_key}</option>)}</select></label>\n                    <div className=\"flex items-end\">{selectedBrand ? <img src={tenantMediaDisplayUrl(selectedBrand)} alt=\"\" className=\"h-14 max-w-full rounded-lg bg-white/5 object-contain p-1\" /> : <div className=\"text-xs text-amber-200\">Logo asset required</div>}</div>\n                  </div>\n                ) : null}\n              </div>\n\n              <button type=\"button\" onClick={() => setAdvanced((value) => !value)} className=\"flex w-full items-center justify-between rounded-xl border border-white/8 bg-white/[.03] px-3 py-2.5 text-sm font-black text-white/65\"><span>Advanced controls</span><ChevronDown className={'h-4 w-4 transition ' + (advanced ? 'rotate-180' : '')} /></button>\n              {advanced ? (\n                <div className=\"grid gap-3 rounded-xl border border-white/8 bg-black/20 p-3 sm:grid-cols-2 lg:grid-cols-3\">\n                  <label className=\"text-xs font-bold text-white/55\">Model<select value={modelKey} onChange={(event) => setModelKey(event.target.value)} className={field + ' mt-1'}>{status.models.map((model) => <option key={model.key} value={model.key}>{model.label}{model.available ? '' : ' — setup required'}</option>)}</select></label>\n                  <label className=\"text-xs font-bold text-white/55\">Quality<select value={qualityMode} onChange={(event) => setQualityMode(event.target.value)} className={field + ' mt-1'}>{VIDEO_STUDIO_QUALITY.map((value) => <option key={value}>{value}</option>)}</select></label>\n                  <label className=\"text-xs font-bold text-white/55\">Duration<select value={durationSeconds} onChange={(event) => setDurationSeconds(Number(event.target.value))} className={field + ' mt-1'}><option value={3}>3 seconds</option><option value={5}>5 seconds</option></select></label>\n                  <label className=\"text-xs font-bold text-white/55\">FPS<select value={fps} onChange={(event) => setFps(Number(event.target.value))} className={field + ' mt-1'}><option value={16}>16</option><option value={24}>24</option></select></label>\n                  <label className=\"text-xs font-bold text-white/55\">Seed<div className=\"mt-1 flex gap-2\"><input value={seed} onChange={(event) => setSeed(Number(event.target.value) || 1)} inputMode=\"numeric\" className={field} /><button type=\"button\" onClick={() => setSeed(randomVideoSeed())} className=\"rounded-xl border border-white/10 px-3\"><WandSparkles className=\"h-4 w-4\" /></button></div></label>\n                  <label className=\"text-xs font-bold text-white/55\">Logo position<select value={logoPosition} onChange={(event) => setLogoPosition(event.target.value)} className={field + ' mt-1'}><option value=\"bottom-right\">Bottom right</option><option value=\"bottom-left\">Bottom left</option><option value=\"top-right\">Top right</option><option value=\"top-left\">Top left</option><option value=\"center\">Center</option></select></label>\n                  <label className=\"text-xs font-bold text-white/55\">Logo scale <span className=\"text-white/35\">{logoScale}%</span><input type=\"range\" min={6} max={35} value={logoScale} onChange={(event) => setLogoScale(Number(event.target.value))} className=\"mt-3 w-full accent-emerald-400\" /></label>\n                  <label className=\"text-xs font-bold text-white/55\">Logo opacity <span className=\"text-white/35\">{logoOpacity}%</span><input type=\"range\" min={20} max={100} value={logoOpacity} onChange={(event) => setLogoOpacity(Number(event.target.value))} className=\"mt-3 w-full accent-emerald-400\" /></label>\n                  <label className=\"text-xs font-bold text-white/55 sm:col-span-2 lg:col-span-3\">Negative prompt<textarea value={negativePrompt} onChange={(event) => setNegativePrompt(event.target.value)} rows={2} className={field + ' mt-1'} placeholder=\"Optional: visual problems to avoid.\" /></label>\n                </div>\n              ) : null}\n\n              {selectedModel && !selectedModel.available ? <div className=\"flex gap-2 rounded-xl border border-amber-300/20 bg-amber-300/8 p-3 text-xs text-amber-100\"><AlertTriangle className=\"mt-0.5 h-4 w-4 shrink-0\" /><span>{selectedModel.prerequisite || 'This renderer profile is not currently available. Jobs can remain queued until the local renderer is ready.'}</span></div> : null}\n\n              <button type=\"button\" disabled={!canGenerate || generating} onClick={() => void handleGenerate()} className=\"inline-flex min-h-12 w-full items-center justify-center gap-2 rounded-xl bg-emerald-400 px-5 text-sm font-black text-black disabled:cursor-not-allowed disabled:opacity-35\">{generating ? <Loader2 className=\"h-5 w-5 animate-spin\" /> : <Sparkles className=\"h-5 w-5\" />} Generate video</button>\n            </div>\n          </div>\n\n          <aside className=\"space-y-4\">\n            <div className={shell + ' p-4 sm:p-5'}>\n              <div className=\"flex items-center justify-between\"><div><div className=\"text-[10px] font-black uppercase tracking-[.18em] text-white/35\">Local renderer</div><div className=\"mt-1 flex items-center gap-2 text-lg font-black\">{status.online ? <Wifi className=\"h-5 w-5 text-emerald-300\" /> : <WifiOff className=\"h-5 w-5 text-amber-200\" />}{status.online ? 'Online' : 'Offline'}</div></div><MonitorUp className=\"h-7 w-7 text-white/20\" /></div>\n              <div className=\"mt-4 space-y-2\">\n                {status.workers.length ? status.workers.map((worker) => <div key={worker.worker_id} className=\"rounded-xl border border-white/8 bg-black/20 p-3\"><div className=\"flex items-center justify-between text-xs\"><span className=\"font-black\">{worker.worker_id}</span><span className=\"text-white/45\">{worker.status}</span></div><div className=\"mt-1 text-[11px] text-white/30\">Last heartbeat {new Date(worker.last_heartbeat_at).toLocaleTimeString()}</div></div>) : <div className=\"rounded-xl border border-dashed border-white/10 p-4 text-xs text-white/40\">No live renderer heartbeat. Queued jobs are preserved.</div>}\n              </div>\n            </div>\n\n            <div className={shell + ' p-4 sm:p-5'}>\n              <div className=\"flex items-center justify-between\"><h2 className=\"text-sm font-black\">Current reference</h2><ImageIcon className=\"h-4 w-4 text-white/30\" /></div>\n              <div className=\"mt-3 aspect-video overflow-hidden rounded-xl border border-white/8 bg-black/30\">{selectedReference ? <img src={tenantMediaDisplayUrl(selectedReference)} alt=\"\" className=\"h-full w-full object-contain\" /> : <div className=\"grid h-full place-items-center text-xs text-white/25\">{mode === 't2v' ? 'Text-to-Video does not require a first frame' : 'Choose a first frame'}</div>}</div>\n            </div>\n          </aside>\n        </section>\n\n        <section className={shell + ' p-4 sm:p-5'}>\n          <div className=\"mb-4 flex items-center justify-between\"><div><div className=\"text-[10px] font-black uppercase tracking-[.18em] text-white/35\">Generation history</div><h2 className=\"mt-1 text-xl font-black\">Recent videos</h2></div>{loading ? <Loader2 className=\"h-5 w-5 animate-spin text-white/35\" /> : <Film className=\"h-5 w-5 text-white/25\" />}</div>\n          <div className=\"grid gap-3 lg:grid-cols-2\">\n            {jobs.map((job) => (\n              <article key={job.id} className=\"rounded-xl border border-white/8 bg-black/20 p-3\">\n                <div className=\"flex gap-3\">\n                  <div className=\"grid h-20 w-28 shrink-0 place-items-center overflow-hidden rounded-lg bg-black/40\">\n                    {job.poster_url ? <img src={job.poster_url} alt=\"\" className=\"h-full w-full object-cover\" /> : job.output_url ? <video src={job.output_url} className=\"h-full w-full object-cover\" muted /> : <Clapperboard className=\"h-6 w-6 text-white/15\" />}\n                  </div>\n                  <div className=\"min-w-0 flex-1\"><div className=\"flex items-center justify-between gap-2\"><span className={'text-xs font-black uppercase tracking-[.12em] ' + statusTone(job.status)}>{jobLabel(job)}</span><span className=\"text-[10px] text-white/25\">{new Date(job.created_at).toLocaleString()}</span></div><p className=\"mt-1 line-clamp-2 text-sm font-semibold text-white/75\">{job.prompt}</p><div className=\"mt-2 flex flex-wrap gap-2 text-[10px] text-white/35\"><span>{job.aspect_ratio}</span><span>{job.duration_seconds}s</span><span>{job.fps} fps</span><span>{job.model_key}</span><span>seed {job.seed}</span></div>{job.error_message ? <div className=\"mt-2 text-xs text-red-200\">{job.error_message}</div> : null}</div>\n                </div>\n                {['queued', 'running', 'finalizing'].includes(job.status) ? <div className=\"mt-3 h-1.5 overflow-hidden rounded-full bg-white/6\"><div className=\"h-full bg-emerald-400 transition-all\" style={{ width: String(Math.max(4, Math.min(100, Number(job.progress || 0)))) + '%' }} /></div> : null}\n                <div className=\"mt-3 flex flex-wrap gap-2\">\n                  {job.output_url ? <a href={job.output_url} target=\"_blank\" rel=\"noreferrer\" className=\"inline-flex items-center gap-1.5 rounded-lg border border-white/10 px-2.5 py-1.5 text-xs font-black text-white/70\"><Play className=\"h-3.5 w-3.5\" /> Preview</a> : null}\n                  {job.output_url ? <a href={job.output_url} download className=\"inline-flex items-center gap-1.5 rounded-lg border border-white/10 px-2.5 py-1.5 text-xs font-black text-white/70\"><Download className=\"h-3.5 w-3.5\" /> Download</a> : null}\n                  {['queued', 'running', 'finalizing'].includes(job.status) ? <button type=\"button\" onClick={() => void jobAction('cancel', job)} className=\"inline-flex items-center gap-1.5 rounded-lg border border-white/10 px-2.5 py-1.5 text-xs font-black text-white/70\"><Square className=\"h-3.5 w-3.5\" /> Cancel</button> : null}\n                  {job.status === 'failed' ? <button type=\"button\" onClick={() => void jobAction('retry', job)} className=\"inline-flex items-center gap-1.5 rounded-lg border border-white/10 px-2.5 py-1.5 text-xs font-black text-white/70\"><RefreshCw className=\"h-3.5 w-3.5\" /> Retry</button> : null}\n                  <button type=\"button\" onClick={() => void jobAction('same-seed', job)} className=\"inline-flex items-center gap-1.5 rounded-lg border border-white/10 px-2.5 py-1.5 text-xs font-black text-white/70\"><RotateCcw className=\"h-3.5 w-3.5\" /> Same seed</button>\n                  <button type=\"button\" onClick={() => void jobAction('duplicate', job)} className=\"inline-flex items-center gap-1.5 rounded-lg border border-white/10 px-2.5 py-1.5 text-xs font-black text-white/70\"><Copy className=\"h-3.5 w-3.5\" /> Duplicate</button>\n                </div>\n              </article>\n            ))}\n          </div>\n          {!jobs.length && !loading ? <div className=\"rounded-xl border border-dashed border-white/10 p-8 text-center text-sm text-white/35\">Your generated videos will appear here.</div> : null}\n        </section>\n      </div>\n    </main>\n  );\n}\n"},{"path":"src/__tests__/contracts/video-studio.contract.test.ts","content":"import { describe, expect, it } from 'vitest';\nimport {\n  VIDEO_STUDIO_ASPECTS,\n  VIDEO_STUDIO_MOTIONS,\n  VIDEO_STUDIO_QUALITY,\n  VIDEO_STUDIO_TERMINAL_STATUSES,\n  normalizedFrameCount,\n} from '@/lib/videoStudio';\n\ndescribe('Video Studio contract', () => {\n  it('keeps renderer-facing frame counts on the 4n+1 video latent contract', () => {\n    expect(normalizedFrameCount(5, 24)).toBe(117);\n    expect((normalizedFrameCount(3, 16) - 1) % 4).toBe(0);\n  });\n\n  it('exposes only intentional creator presets', () => {\n    expect(VIDEO_STUDIO_ASPECTS).toEqual(['16:9', '9:16', '1:1']);\n    expect(VIDEO_STUDIO_QUALITY).toContain('balanced');\n    expect(VIDEO_STUDIO_MOTIONS).toContain('cinematic');\n  });\n\n  it('does not confuse live work with terminal jobs', () => {\n    expect(VIDEO_STUDIO_TERMINAL_STATUSES.has('succeeded')).toBe(true);\n    expect(VIDEO_STUDIO_TERMINAL_STATUSES.has('failed')).toBe(true);\n    expect(VIDEO_STUDIO_TERMINAL_STATUSES.has('cancelled')).toBe(true);\n    expect(VIDEO_STUDIO_TERMINAL_STATUSES.has('running')).toBe(false);\n  });\n});\n"},{"path":"supabase/migrations/20260929183500_video_studio.sql","content":"begin;\n\ncreate table if not exists public.video_generation_jobs (\n  id uuid primary key default gen_random_uuid(),\n  tenant_id uuid not null references public.tenants(id) on delete cascade,\n  created_by uuid references auth.users(id) on delete set null,\n  mode text not null check (mode in ('t2v','i2v')),\n  prompt text not null,\n  negative_prompt text,\n  input_asset_id uuid,\n  brand_lock boolean not null default true,\n  brand_asset_id uuid,\n  brand_settings jsonb not null default '{}'::jsonb,\n  aspect_ratio text not null default '16:9',\n  width integer not null,\n  height integer not null,\n  duration_seconds numeric(6,2) not null,\n  fps integer not null,\n  quality_mode text not null default 'balanced',\n  motion_preset text not null default 'cinematic',\n  seed bigint not null,\n  renderer_key text not null default 'local-comfyui',\n  model_key text not null,\n  status text not null default 'queued' check (status in ('queued','running','finalizing','succeeded','failed','cancelled')),\n  stage text not null default 'waiting_for_renderer',\n  progress numeric(5,2) not null default 0,\n  attempt_count integer not null default 0,\n  max_attempts integer not null default 3,\n  failure_class text,\n  error_code text,\n  error_message text,\n  lease_token uuid,\n  lease_owner text,\n  lease_expires_at timestamptz,\n  heartbeat_at timestamptz,\n  cancel_requested_at timestamptz,\n  started_at timestamptz,\n  completed_at timestamptz,\n  output_asset_id uuid,\n  poster_asset_id uuid,\n  raw_output_asset_id uuid,\n  renderer_metadata jsonb not null default '{}'::jsonb,\n  result_metadata jsonb not null default '{}'::jsonb,\n  created_at timestamptz not null default now(),\n  updated_at timestamptz not null default now()\n);\n\ncreate index if not exists video_generation_jobs_tenant_created_idx on public.video_generation_jobs (tenant_id, created_at desc);\ncreate index if not exists video_generation_jobs_claim_idx on public.video_generation_jobs (status, lease_expires_at, created_at);\n\ncreate table if not exists public.video_renderer_workers (\n  worker_id text primary key,\n  status text not null default 'offline',\n  active_job_id uuid,\n  capabilities jsonb not null default '{}'::jsonb,\n  last_heartbeat_at timestamptz not null default now(),\n  created_at timestamptz not null default now(),\n  updated_at timestamptz not null default now()\n);\n\nalter table public.video_generation_jobs enable row level security;\nalter table public.video_renderer_workers enable row level security;\n\ndrop policy if exists video_generation_jobs_select on public.video_generation_jobs;\ncreate policy video_generation_jobs_select on public.video_generation_jobs for select to authenticated using (\n  exists (select 1 from public.tenants t where t.id = tenant_id and t.owner_id = auth.uid())\n  or exists (select 1 from public.user_tenant_memberships m where m.tenant_id = tenant_id and m.user_id = auth.uid() and m.status = 'active')\n  or exists (select 1 from public.user_roles r where r.tenant_id = tenant_id and r.user_id = auth.uid())\n  or exists (select 1 from public.user_roles r where r.user_id = auth.uid() and lower(r.role) = 'godmode')\n);\n\ndrop policy if exists video_generation_jobs_insert on public.video_generation_jobs;\ncreate policy video_generation_jobs_insert on public.video_generation_jobs for insert to authenticated with check (\n  created_by = auth.uid() and (\n    exists (select 1 from public.tenants t where t.id = tenant_id and t.owner_id = auth.uid())\n    or exists (select 1 from public.user_tenant_memberships m where m.tenant_id = tenant_id and m.user_id = auth.uid() and m.status = 'active')\n    or exists (select 1 from public.user_roles r where r.tenant_id = tenant_id and r.user_id = auth.uid())\n    or exists (select 1 from public.user_roles r where r.user_id = auth.uid() and lower(r.role) = 'godmode')\n  )\n);\n\ndrop policy if exists video_generation_jobs_update on public.video_generation_jobs;\ncreate policy video_generation_jobs_update on public.video_generation_jobs for update to authenticated using (\n  exists (select 1 from public.tenants t where t.id = tenant_id and t.owner_id = auth.uid())\n  or exists (select 1 from public.user_tenant_memberships m where m.tenant_id = tenant_id and m.user_id = auth.uid() and m.status = 'active')\n  or exists (select 1 from public.user_roles r where r.tenant_id = tenant_id and r.user_id = auth.uid())\n  or exists (select 1 from public.user_roles r where r.user_id = auth.uid() and lower(r.role) = 'godmode')\n);\n\ncreate or replace function public.claim_video_generation_job(p_worker_id text, p_lease_seconds integer default 180)\nreturns setof public.video_generation_jobs\nlanguage plpgsql\nsecurity definer\nset search_path = public\nas $$\ndeclare\n  v_id uuid;\nbegin\n  select j.id into v_id\n  from public.video_generation_jobs j\n  where (\n    (j.status = 'queued' and j.cancel_requested_at is null)\n    or (j.status = 'running' and j.lease_expires_at < now() and j.attempt_count < j.max_attempts and j.cancel_requested_at is null)\n  )\n  order by case when j.status = 'queued' then 0 else 1 end, j.created_at\n  for update skip locked\n  limit 1;\n\n  if v_id is null then return; end if;\n\n  return query\n  update public.video_generation_jobs j\n  set status = 'running',\n      stage = 'claimed',\n      progress = greatest(j.progress, 1),\n      lease_token = gen_random_uuid(),\n      lease_owner = p_worker_id,\n      lease_expires_at = now() + make_interval(secs => greatest(30, least(900, p_lease_seconds))),\n      heartbeat_at = now(),\n      started_at = coalesce(j.started_at, now()),\n      attempt_count = j.attempt_count + case when j.status = 'running' then 1 else 0 end,\n      updated_at = now()\n  where j.id = v_id\n  returning j.*;\nend;\n$$;\n\nrevoke all on function public.claim_video_generation_job(text, integer) from public;\ngrant execute on function public.claim_video_generation_job(text, integer) to service_role;\n\ncommit;\n"},{"path":"supabase/functions/video-studio/index.ts","content":"import { createClient } from 'https://esm.sh/@supabase/supabase-js@2.80.0';\n\nconst SUPABASE_URL = Deno.env.get('SUPABASE_URL') || '';\nconst SERVICE_ROLE = Deno.env.get('SUPABASE_SERVICE_ROLE_KEY') || '';\nconst WORKER_TOKEN = Deno.env.get('VIDEO_STUDIO_WORKER_TOKEN') || '';\nconst admin = createClient(SUPABASE_URL, SERVICE_ROLE);\nconst cors = {\n  'Access-Control-Allow-Origin': '*',\n  'Access-Control-Allow-Headers': 'authorization, apikey, x-client-info, content-type, x-knocklaunch-video-worker',\n  'Access-Control-Allow-Methods': 'POST,OPTIONS'\n};\nconst json = (body: unknown, status = 200) => new Response(JSON.stringify(body), { status, headers: { ...cors, 'Content-Type': 'application/json', 'Cache-Control': 'no-store' } });\nconst rec = (value: unknown): Record<string, any> => value && typeof value === 'object' && !Array.isArray(value) ? value as Record<string, any> : {};\nconst clamp = (value: unknown, min: number, max: number) => Math.max(min, Math.min(max, Number(value || 0)));\nconst safeName = (value: unknown) => String(value || 'video').trim().replace(/[^a-zA-Z0-9._-]+/g, '-').replace(/-+/g, '-').replace(/^-+|-+$/g, '').slice(0, 120) || 'video';\nconst profiles = [\n  { key: 'wan22-ti2v-5b', label: 'Wan 2.2 TI2V 5B', recommended: true, minVramGb: 8, modes: ['t2v','i2v'] },\n  { key: 'hunyuan-video-15', label: 'HunyuanVideo 1.5', recommended: false, minVramGb: 24, modes: ['t2v','i2v'] }\n];\n\nasync function userFrom(req: Request) {\n  const value = req.headers.get('Authorization') || '';\n  if (!value.startsWith('Bearer ')) throw new Error('auth_required');\n  const token = value.slice(7).trim();\n  const result = await admin.auth.getUser(token);\n  if (!result.error && result.data.user) return result.data.user;\n  throw new Error('auth_invalid');\n}\n\nasync function godMode(userId: string) {\n  const { data } = await admin.from('user_roles').select('role').eq('user_id', userId).eq('role', 'GodMode').maybeSingle();\n  return Boolean(data);\n}\n\nasync function requireTenant(userId: string, tenantId: string) {\n  if (!tenantId) throw new Error('tenant_id_required');\n  if (await godMode(userId)) return;\n  const [{ data: tenant }, { data: membership }, { data: role }] = await Promise.all([\n    admin.from('tenants').select('owner_id').eq('id', tenantId).maybeSingle(),\n    admin.from('user_tenant_memberships').select('tenant_id').eq('tenant_id', tenantId).eq('user_id', userId).eq('status', 'active').maybeSingle(),\n    admin.from('user_roles').select('tenant_id').eq('tenant_id', tenantId).eq('user_id', userId).maybeSingle()\n  ]);\n  if (String(tenant?.owner_id || '') === userId || membership || role) return;\n  throw new Error('tenant_access_denied');\n}\n\nfunction workerAuthorized(req: Request) {\n  const candidate = String(req.headers.get('x-knocklaunch-video-worker') || '').trim();\n  return Boolean(WORKER_TOKEN && candidate && candidate === WORKER_TOKEN);\n}\n\nfunction dimensions(aspect: string, modelKey: string, quality: string) {\n  if (modelKey === 'hunyuan-video-15') {\n    if (aspect === '9:16') return { width: 720, height: 1280 };\n    if (aspect === '1:1') return { width: 960, height: 960 };\n    return { width: 1280, height: 720 };\n  }\n  if (quality === 'speed') {\n    if (aspect === '9:16') return { width: 480, height: 832 };\n    if (aspect === '1:1') return { width: 640, height: 640 };\n    return { width: 832, height: 480 };\n  }\n  if (aspect === '9:16') return { width: 704, height: 1280 };\n  if (aspect === '1:1') return { width: 960, height: 960 };\n  return { width: 1280, height: 704 };\n}\n\nfunction frameCount(seconds: number, fps: number) {\n  const raw = Math.max(1, Math.round(seconds * fps));\n  return Math.max(1, Math.floor((raw - 1) / 4) * 4 + 1);\n}\n\nasync function signedAsset(assetId: string | null | undefined, seconds = 900) {\n  if (!assetId) return null;\n  const { data: asset, error } = await admin.from('tenant_media_assets').select('id,tenant_id,bucket_name,storage_key,mime_type,title').eq('id', assetId).is('deleted_at', null).maybeSingle();\n  if (error || !asset) return null;\n  const signed = await admin.storage.from(String(asset.bucket_name)).createSignedUrl(String(asset.storage_key), seconds);\n  if (signed.error || !signed.data?.signedUrl) return null;\n  return { ...asset, url: signed.data.signedUrl };\n}\n\nasync function hydrateJobs(rows: any[]) {\n  const outputIds = [...new Set(rows.flatMap((row) => [row.output_asset_id, row.poster_asset_id]).filter(Boolean))];\n  const map = new Map<string, string>();\n  if (outputIds.length) {\n    const { data } = await admin.from('tenant_media_assets').select('id,bucket_name,storage_key').in('id', outputIds);\n    for (const asset of data || []) {\n      const signed = await admin.storage.from(String(asset.bucket_name)).createSignedUrl(String(asset.storage_key), 60 * 60 * 6);\n      if (!signed.error && signed.data?.signedUrl) map.set(String(asset.id), signed.data.signedUrl);\n    }\n  }\n  return rows.map((row) => ({ ...row, output_url: row.output_asset_id ? map.get(String(row.output_asset_id)) || null : null, poster_url: row.poster_asset_id ? map.get(String(row.poster_asset_id)) || null : null }));\n}\n\nasync function activeWorkers() {\n  const cutoff = new Date(Date.now() - 45_000).toISOString();\n  const { data, error } = await admin.from('video_renderer_workers').select('*').gte('last_heartbeat_at', cutoff).order('last_heartbeat_at', { ascending: false });\n  if (error) throw error;\n  return data || [];\n}\n\nfunction modelAvailability(workers: any[]) {\n  return profiles.map((profile) => {\n    const installed = workers.some((worker) => {\n      const caps = rec(worker.capabilities);\n      const entries = Array.isArray(caps.profiles) ? caps.profiles : [];\n      return entries.some((item: any) => String(item?.key || '') === profile.key && item?.installed === true && item?.viable !== false);\n    });\n    return { ...profile, available: installed, prerequisite: installed ? null : 'Local renderer/profile is offline or missing required workflow/model files.' };\n  });\n}\n\nasync function browserAction(req: Request, body: any) {\n  const user = await userFrom(req);\n  const action = String(body.action || '');\n  const tenantId = String(body.tenantId || '');\n  await requireTenant(user.id, tenantId);\n\n  if (action === 'status') {\n    const workers = await activeWorkers();\n    return json({ ok: true, online: workers.length > 0, workers, models: modelAvailability(workers) });\n  }\n\n  if (action === 'list') {\n    const { data, error } = await admin.from('video_generation_jobs').select('*').eq('tenant_id', tenantId).order('created_at', { ascending: false }).limit(50);\n    if (error) throw error;\n    return json({ ok: true, jobs: await hydrateJobs(data || []) });\n  }\n\n  if (action === 'create') {\n    const mode = String(body.mode || 't2v');\n    const prompt = String(body.prompt || '').trim();\n    const modelKey = profiles.some((profile) => profile.key === body.modelKey) ? String(body.modelKey) : 'wan22-ti2v-5b';\n    const profile = profiles.find((item) => item.key === modelKey)!;\n    if (!profile.modes.includes(mode)) return json({ ok: false, error: 'model_mode_not_supported' }, 400);\n    if (!prompt) return json({ ok: false, error: 'prompt_required' }, 400);\n    const inputAssetId = mode === 'i2v' ? String(body.inputAssetId || '') : '';\n    if (mode === 'i2v' && !inputAssetId) return json({ ok: false, error: 'reference_image_required' }, 400);\n    const brandLock = body.brandLock !== false;\n    const brandAssetId = brandLock ? String(body.brandAssetId || '') : '';\n    if (brandLock && !brandAssetId) return json({ ok: false, error: 'brand_asset_required' }, 400);\n    for (const assetId of [inputAssetId, brandAssetId].filter(Boolean)) {\n      const { data: asset } = await admin.from('tenant_media_assets').select('id').eq('id', assetId).eq('tenant_id', tenantId).is('deleted_at', null).maybeSingle();\n      if (!asset) return json({ ok: false, error: 'tenant_media_asset_invalid' }, 400);\n    }\n    const aspectRatio = ['16:9','9:16','1:1'].includes(String(body.aspectRatio)) ? String(body.aspectRatio) : '16:9';\n    const qualityMode = ['speed','balanced','quality'].includes(String(body.qualityMode)) ? String(body.qualityMode) : 'balanced';\n    const dim = dimensions(aspectRatio, modelKey, qualityMode);\n    const durationSeconds = [3,5].includes(Number(body.durationSeconds)) ? Number(body.durationSeconds) : 5;\n    const fps = [16,24].includes(Number(body.fps)) ? Number(body.fps) : 24;\n    const workers = await activeWorkers();\n    const available = modelAvailability(workers).find((item) => item.key === modelKey)?.available === true;\n    const row = {\n      tenant_id: tenantId,\n      created_by: user.id,\n      mode,\n      prompt,\n      negative_prompt: String(body.negativePrompt || '').trim() || null,\n      input_asset_id: inputAssetId || null,\n      brand_lock: brandLock,\n      brand_asset_id: brandAssetId || null,\n      brand_settings: rec(body.brandSettings),\n      aspect_ratio: aspectRatio,\n      width: dim.width,\n      height: dim.height,\n      duration_seconds: durationSeconds,\n      fps,\n      quality_mode: qualityMode,\n      motion_preset: String(body.motionPreset || 'cinematic'),\n      seed: Math.max(1, Math.floor(Number(body.seed || 1))),\n      renderer_key: 'local-comfyui',\n      model_key: modelKey,\n      status: 'queued',\n      stage: available ? 'queued' : 'waiting_for_renderer',\n      progress: 0,\n      renderer_metadata: { requested_frames: frameCount(durationSeconds, fps), profile_min_vram_gb: profile.minVramGb }\n    };\n    const { data, error } = await admin.from('video_generation_jobs').insert(row).select('*').single();\n    if (error) throw error;\n    return json({ ok: true, job: data });\n  }\n\n  if (['cancel','retry','duplicate'].includes(action)) {\n    const jobId = String(body.jobId || '');\n    const { data: existing, error: readError } = await admin.from('video_generation_jobs').select('*').eq('id', jobId).eq('tenant_id', tenantId).single();\n    if (readError || !existing) throw readError || new Error('job_not_found');\n    if (action === 'cancel') {\n      const immediate = existing.status === 'queued';\n      const { data, error } = await admin.from('video_generation_jobs').update({\n        cancel_requested_at: new Date().toISOString(),\n        status: immediate ? 'cancelled' : existing.status,\n        stage: immediate ? 'cancelled' : 'cancel_requested',\n        completed_at: immediate ? new Date().toISOString() : existing.completed_at,\n        updated_at: new Date().toISOString()\n      }).eq('id', jobId).eq('tenant_id', tenantId).select('*').single();\n      if (error) throw error;\n      return json({ ok: true, job: data });\n    }\n    const copy: Record<string, unknown> = { ...existing };\n    for (const key of ['id','created_at','updated_at','started_at','completed_at','lease_token','lease_owner','lease_expires_at','heartbeat_at','cancel_requested_at','output_asset_id','poster_asset_id','raw_output_asset_id','failure_class','error_code','error_message','result_metadata']) delete copy[key];\n    copy.created_by = user.id;\n    copy.status = 'queued';\n    copy.stage = 'waiting_for_renderer';\n    copy.progress = 0;\n    copy.attempt_count = 0;\n    copy.renderer_metadata = rec(existing.renderer_metadata);\n    if (body.sameSeed === false) copy.seed = Math.floor(Math.random() * 2147483646) + 1;\n    const { data, error } = await admin.from('video_generation_jobs').insert(copy).select('*').single();\n    if (error) throw error;\n    return json({ ok: true, job: data });\n  }\n\n  return json({ ok: false, error: 'unknown_action' }, 400);\n}\n\nasync function workerAction(req: Request, body: any) {\n  if (!workerAuthorized(req)) return json({ ok: false, error: WORKER_TOKEN ? 'worker_auth_invalid' : 'worker_auth_prerequisite_required' }, 401);\n  const action = String(body.action || '');\n  const workerId = String(body.workerId || '').trim();\n  if (!workerId) return json({ ok: false, error: 'worker_id_required' }, 400);\n\n  if (action === 'worker_heartbeat') {\n    const now = new Date().toISOString();\n    const { error } = await admin.from('video_renderer_workers').upsert({\n      worker_id: workerId,\n      status: String(body.status || 'online'),\n      active_job_id: body.activeJobId || null,\n      capabilities: rec(body.capabilities),\n      last_heartbeat_at: now,\n      updated_at: now\n    }, { onConflict: 'worker_id' });\n    if (error) throw error;\n    return json({ ok: true, now });\n  }\n\n  if (action === 'worker_claim') {\n    const { data, error } = await admin.rpc('claim_video_generation_job', { p_worker_id: workerId, p_lease_seconds: 180 });\n    if (error) throw error;\n    const job = Array.isArray(data) ? data[0] : data;\n    if (!job) return json({ ok: true, job: null });\n    const input = await signedAsset(job.input_asset_id, 60 * 30);\n    const brand = await signedAsset(job.brand_asset_id, 60 * 30);\n    return json({ ok: true, job: { ...job, input_asset: input, brand_asset: brand } });\n  }\n\n  const jobId = String(body.jobId || '');\n  const leaseToken = String(body.leaseToken || '');\n  const { data: job, error: readError } = await admin.from('video_generation_jobs').select('*').eq('id', jobId).eq('lease_owner', workerId).eq('lease_token', leaseToken).maybeSingle();\n  if (readError || !job) return json({ ok: false, error: 'lease_invalid' }, 409);\n\n  if (action === 'worker_progress') {\n    const cancelRequested = Boolean(job.cancel_requested_at);\n    const { error } = await admin.from('video_generation_jobs').update({\n      stage: String(body.stage || job.stage || 'rendering'),\n      progress: clamp(body.progress, Number(job.progress || 0), 99),\n      heartbeat_at: new Date().toISOString(),\n      lease_expires_at: new Date(Date.now() + 180_000).toISOString(),\n      renderer_metadata: { ...rec(job.renderer_metadata), ...rec(body.metadata) },\n      updated_at: new Date().toISOString()\n    }).eq('id', jobId).eq('lease_token', leaseToken);\n    if (error) throw error;\n    return json({ ok: true, cancelRequested });\n  }\n\n  if (action === 'worker_prepare_output') {\n    const kind = String(body.kind || 'video');\n    const mimeType = kind === 'poster' ? 'image/jpeg' : 'video/mp4';\n    const ext = kind === 'poster' ? 'jpg' : 'mp4';\n    const { data: tenant, error: tenantError } = await admin.from('tenants').select('settings').eq('id', job.tenant_id).single();\n    if (tenantError || !tenant) throw tenantError || new Error('tenant_not_found');\n    const bucket = String(rec(tenant.settings).storage_bucket || '');\n    if (!bucket) return json({ ok: false, error: 'tenant_storage_prerequisite_required' }, 409);\n    const assetId = crypto.randomUUID();\n    const path = 'media/videos/' + job.id + '/' + safeName(kind + '-' + assetId + '.' + ext);\n    const signed = await admin.storage.from(bucket).createSignedUploadUrl(path);\n    if (signed.error || !signed.data) throw signed.error || new Error('signed_upload_failed');\n    const now = new Date().toISOString();\n    const { data: asset, error } = await admin.from('tenant_media_assets').insert({\n      id: assetId,\n      tenant_id: job.tenant_id,\n      collection_key: 'videos',\n      bucket_name: bucket,\n      original_key: path,\n      original_content_type: mimeType,\n      mime_type: mimeType,\n      size_bytes: Number(body.sizeBytes || 0) || null,\n      storage_provider: 'supabase',\n      storage_key: path,\n      source_kind: 'generated',\n      status: 'pending_review',\n      review_status: 'approved',\n      published: false,\n      is_primary: false,\n      created_by: job.created_by,\n      title: String(body.title || (kind === 'poster' ? 'Video poster' : 'Video Studio render')),\n      metadata: { video_studio: true, video_job_id: job.id, output_kind: kind, upload_pending: true, ...rec(body.metadata) },\n      created_at: now,\n      updated_at: now\n    }).select('*').single();\n    if (error) throw error;\n    return json({ ok: true, asset, bucket, path: signed.data.path, token: signed.data.token });\n  }\n\n  if (action === 'worker_complete') {\n    const outputAssetId = String(body.outputAssetId || '');\n    if (!outputAssetId) return json({ ok: false, error: 'output_asset_required' }, 400);\n    const posterAssetId = String(body.posterAssetId || '') || null;\n    const { data: assets, error: assetError } = await admin.from('tenant_media_assets').select('*').in('id', [outputAssetId, posterAssetId].filter(Boolean) as string[]).eq('tenant_id', job.tenant_id);\n    if (assetError) throw assetError;\n    if (!(assets || []).some((asset) => asset.id === outputAssetId)) return json({ ok: false, error: 'output_asset_invalid' }, 400);\n    for (const asset of assets || []) {\n      const metadata = { ...rec(asset.metadata), upload_pending: false, ...rec(body.resultMetadata) };\n      const update = await admin.from('tenant_media_assets').update({ status: 'ready', metadata, size_bytes: Number(body.sizeBytes || asset.size_bytes || 0) || asset.size_bytes, updated_at: new Date().toISOString() }).eq('id', asset.id);\n      if (update.error) throw update.error;\n    }\n    const { data, error } = await admin.from('video_generation_jobs').update({\n      status: 'succeeded',\n      stage: 'complete',\n      progress: 100,\n      output_asset_id: outputAssetId,\n      poster_asset_id: posterAssetId,\n      completed_at: new Date().toISOString(),\n      lease_expires_at: null,\n      heartbeat_at: new Date().toISOString(),\n      result_metadata: rec(body.resultMetadata),\n      updated_at: new Date().toISOString()\n    }).eq('id', jobId).eq('lease_token', leaseToken).select('*').single();\n    if (error) throw error;\n    return json({ ok: true, job: data });\n  }\n\n  if (action === 'worker_fail') {\n    const retryable = body.retryable === true && Number(job.attempt_count || 0) + 1 < Number(job.max_attempts || 3) && !job.cancel_requested_at;\n    const cancelled = Boolean(job.cancel_requested_at);\n    const { data, error } = await admin.from('video_generation_jobs').update({\n      status: cancelled ? 'cancelled' : retryable ? 'queued' : 'failed',\n      stage: cancelled ? 'cancelled' : retryable ? 'retry_queued' : 'failed',\n      progress: cancelled ? Number(job.progress || 0) : retryable ? 0 : Number(job.progress || 0),\n      failure_class: String(body.failureClass || (retryable ? 'transient_renderer' : 'renderer')),\n      error_code: String(body.errorCode || 'renderer_failed'),\n      error_message: String(body.errorMessage || 'Video renderer failed.'),\n      lease_token: null,\n      lease_owner: null,\n      lease_expires_at: null,\n      completed_at: cancelled || !retryable ? new Date().toISOString() : null,\n      updated_at: new Date().toISOString()\n    }).eq('id', jobId).eq('lease_token', leaseToken).select('*').single();\n    if (error) throw error;\n    return json({ ok: true, retryable, job: data });\n  }\n\n  return json({ ok: false, error: 'unknown_worker_action' }, 400);\n}\n\nDeno.serve(async (req) => {\n  if (req.method === 'OPTIONS') return new Response('ok', { headers: cors });\n  try {\n    const body = await req.json();\n    if (String(body?.action || '').startsWith('worker_')) return await workerAction(req, body);\n    return await browserAction(req, body);\n  } catch (error) {\n    const message = error instanceof Error ? error.message : String(error);\n    const status = /auth_|access_denied/.test(message) ? 401 : 500;\n    return json({ ok: false, error: message }, status);\n  }\n});\n"},{"path":"config/video-studio/model-registry.json","content":"{\n  \"schemaVersion\": 1,\n  \"id\": \"knocklaunch-video-studio-model-registry\",\n  \"profiles\": [\n    {\n      \"key\": \"wan22-ti2v-5b\",\n      \"label\": \"Wan 2.2 TI2V 5B\",\n      \"recommended\": true,\n      \"minVramGb\": 8,\n      \"modes\": [\"t2v\", \"i2v\"],\n      \"workflowTemplates\": {\n        \"t2v\": {\n          \"file\": \"wan22-ti2v-5b.ui.json\",\n          \"source\": \"https://raw.githubusercontent.com/Comfy-Org/workflow_templates/refs/heads/main/templates/video_wan2_2_5B_ti2v.json\"\n        },\n        \"i2v\": {\n          \"file\": \"wan22-ti2v-5b.ui.json\",\n          \"source\": \"https://raw.githubusercontent.com/Comfy-Org/workflow_templates/refs/heads/main/templates/video_wan2_2_5B_ti2v.json\"\n        }\n      },\n      \"models\": [\n        {\n          \"path\": \"diffusion_models/wan2.2_ti2v_5B_fp16.safetensors\",\n          \"url\": \"https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/diffusion_models/wan2.2_ti2v_5B_fp16.safetensors\"\n        },\n        {\n          \"path\": \"text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors\",\n          \"url\": \"https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors\"\n        },\n        {\n          \"path\": \"vae/wan2.2_vae.safetensors\",\n          \"url\": \"https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/vae/wan2.2_vae.safetensors\"\n        }\n      ]\n    },\n    {\n      \"key\": \"hunyuan-video-15\",\n      \"label\": \"HunyuanVideo 1.5\",\n      \"recommended\": false,\n      \"minVramGb\": 24,\n      \"modes\": [\"t2v\", \"i2v\"],\n      \"workflowTemplates\": {\n        \"t2v\": {\n          \"file\": \"hunyuan-video-15-t2v.ui.json\",\n          \"source\": \"https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/video_hunyuan_video_1.5_720p_t2v.json\"\n        },\n        \"i2v\": {\n          \"file\": \"hunyuan-video-15-i2v.ui.json\",\n          \"source\": \"https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/video_hunyuan_video_1.5_720p_i2v.json\"\n        }\n      },\n      \"models\": [\n        {\n          \"path\": \"diffusion_models/hunyuanvideo1.5_720p_t2v_fp16.safetensors\",\n          \"url\": \"https://huggingface.co/Comfy-Org/HunyuanVideo_1.5_repackaged/resolve/main/split_files/diffusion_models/hunyuanvideo1.5_720p_t2v_fp16.safetensors\"\n        },\n        {\n          \"path\": \"text_encoders/qwen_2.5_vl_7b_fp8_scaled.safetensors\",\n          \"url\": \"https://huggingface.co/Comfy-Org/HunyuanVideo_1.5_repackaged/resolve/main/split_files/text_encoders/qwen_2.5_vl_7b_fp8_scaled.safetensors\"\n        },\n        {\n          \"path\": \"text_encoders/byt5_small_glyphxl_fp16.safetensors\",\n          \"url\": \"https://huggingface.co/Comfy-Org/HunyuanVideo_1.5_repackaged/resolve/main/split_files/text_encoders/byt5_small_glyphxl_fp16.safetensors\"\n        },\n        {\n          \"path\": \"vae/hunyuanvideo15_vae_fp16.safetensors\",\n          \"url\": \"https://huggingface.co/Comfy-Org/HunyuanVideo_1.5_repackaged/resolve/main/split_files/vae/hunyuanvideo15_vae_fp16.safetensors\"\n        }\n      ]\n    }\n  ]\n}\n"},{"path":"scripts/video-studio-worker/index.mjs","content":"import fs from 'node:fs/promises';\nimport { existsSync } from 'node:fs';\nimport os from 'node:os';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { spawn } from 'node:child_process';\n\nconst SCRIPT_DIR = path.dirname(fileURLToPath(import.meta.url));\nconst REPO_ROOT = path.resolve(SCRIPT_DIR, '../..');\nconst HOME = process.env.KL_VIDEO_STUDIO_HOME || path.join(os.homedir(), 'KnockLaunchVideoStudio');\nconst WORKFLOW_DIR = process.env.KL_VIDEO_WORKFLOW_DIR || path.join(HOME, 'workflows');\nconst COMFY_DIR = process.env.KL_COMFYUI_DIR || path.join(HOME, 'ComfyUI');\nconst COMFY = (process.env.COMFYUI_URL || 'http://127.0.0.1:8188').replace(/\\/$/, '');\nconst EDGE = process.env.KL_VIDEO_STUDIO_URL || 'https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/video-studio';\nconst TOKEN = process.env.KL_VIDEO_WORKER_TOKEN || '';\nconst WORKER_ID = process.env.KL_VIDEO_WORKER_ID || os.hostname().toLowerCase().replace(/[^a-z0-9.-]+/g, '-');\nconst FFMPEG = process.env.FFMPEG_PATH || 'ffmpeg';\nconst REGISTRY_PATH = process.env.KL_VIDEO_MODEL_REGISTRY || path.join(REPO_ROOT, 'config/video-studio/model-registry.json');\nconst POLL_MS = Math.max(2000, Number(process.env.KL_VIDEO_POLL_MS || 5000));\nconst TEMP_ROOT = path.join(HOME, 'jobs');\n\nlet registry = null;\nlet activeJobId = null;\nlet stop = false;\n\nasync function api(action, body = {}) {\n  if (!TOKEN) throw Object.assign(new Error('worker_auth_prerequisite_required: set KL_VIDEO_WORKER_TOKEN'), { prerequisite: true });\n  const response = await fetch(EDGE, {\n    method: 'POST',\n    headers: { 'content-type': 'application/json', 'x-knocklaunch-video-worker': TOKEN },\n    body: JSON.stringify({ action, workerId: WORKER_ID, ...body })\n  });\n  const payload = await response.json().catch(() => ({}));\n  if (!response.ok || payload.ok === false) throw new Error(String(payload.error || ('video_studio_http_' + response.status)));\n  return payload;\n}\n\nasync function command(executable, args, options = {}) {\n  return await new Promise((resolve, reject) => {\n    const child = spawn(executable, args, { stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true, ...options });\n    let out = '';\n    let err = '';\n    child.stdout?.on('data', (chunk) => { out += String(chunk); });\n    child.stderr?.on('data', (chunk) => { err += String(chunk); });\n    child.on('error', reject);\n    child.on('close', (code) => code === 0 ? resolve({ out, err }) : reject(new Error(executable + '_failed_' + code + ':' + err.slice(-1200))));\n  });\n}\n\nasync function fetchJson(url, options) {\n  const response = await fetch(url, options);\n  if (!response.ok) throw new Error('http_' + response.status + ':' + url);\n  return await response.json();\n}\n\nasync function loadRegistry() {\n  registry = JSON.parse(await fs.readFile(REGISTRY_PATH, 'utf8'));\n  return registry;\n}\n\nasync function systemStats() {\n  try { return await fetchJson(COMFY + '/system_stats'); } catch { return null; }\n}\n\nfunction totalVramGb(stats) {\n  const devices = Array.isArray(stats?.devices) ? stats.devices : [];\n  const bytes = Number(devices[0]?.vram_total || devices[0]?.vram_total_bytes || 0);\n  if (bytes > 0) return Math.round((bytes / 1024 / 1024 / 1024) * 10) / 10;\n  return Number(process.env.KL_VIDEO_VRAM_GB || 0) || null;\n}\n\nasync function capabilities() {\n  if (!registry) await loadRegistry();\n  const stats = await systemStats();\n  const vramGb = totalVramGb(stats);\n  let ffmpeg = false;\n  try { await command(FFMPEG, ['-version']); ffmpeg = true; } catch {}\n  const profiles = [];\n  for (const profile of registry.profiles || []) {\n    const modelFiles = (profile.models || []).map((item) => path.join(COMFY_DIR, 'models', item.path));\n    const workflowFiles = Object.values(profile.workflowTemplates || {}).map((item) => path.join(WORKFLOW_DIR, item.file));\n    const modelsReady = modelFiles.every((file) => existsSync(file));\n    const workflowsReady = workflowFiles.every((file) => existsSync(file));\n    const viable = !vramGb || !profile.minVramGb || vramGb >= Number(profile.minVramGb);\n    profiles.push({ key: profile.key, installed: modelsReady && workflowsReady && Boolean(stats) && ffmpeg, viable, modelsReady, workflowsReady, minVramGb: profile.minVramGb });\n  }\n  return {\n    backend: 'comfyui',\n    device: stats?.devices?.[0]?.name || stats?.system?.device || null,\n    vramGb,\n    comfyUiReachable: Boolean(stats),\n    ffmpegReachable: ffmpeg,\n    profiles,\n    diskFreeBytes: null,\n    oneHeavyRenderConcurrency: true\n  };\n}\n\nasync function heartbeat(status = activeJobId ? 'busy' : 'online') {\n  const caps = await capabilities();\n  return await api('worker_heartbeat', { status, activeJobId, capabilities: caps });\n}\n\nfunction motionText(value) {\n  const map = {\n    static: 'locked-off camera, controlled subtle subject motion',\n    'product-reveal': 'premium product reveal, deliberate parallax and controlled lighting sweep',\n    orbit: 'smooth orbital camera move around the subject',\n    push: 'slow cinematic push-in',\n    pull: 'slow cinematic pull-back',\n    pan: 'smooth lateral pan',\n    handheld: 'natural restrained handheld camera motion',\n    cinematic: 'cinematic camera movement with intentional pacing'\n  };\n  return map[value] || map.cinematic;\n}\n\nfunction patchUiWorkflow(workflow, job, inputName) {\n  const nodes = Array.isArray(workflow.nodes) ? workflow.nodes : [];\n  const positive = String(job.prompt || '') + '. ' + motionText(job.motion_preset);\n  const negative = String(job.negative_prompt || '');\n  for (const node of nodes) {\n    const type = String(node.type || '');\n    const title = String(node.title || '');\n    const widgets = Array.isArray(node.widgets_values) ? node.widgets_values : [];\n    if (type === 'CLIPTextEncode' && /positive/i.test(title) && widgets.length) widgets[0] = positive;\n    if (type === 'CLIPTextEncode' && /negative/i.test(title) && widgets.length) widgets[0] = negative;\n    if ((type === 'KSampler' || type === 'RandomNoise') && widgets.length) widgets[0] = Number(job.seed);\n    if (type === 'CreateVideo' && widgets.length) widgets[0] = Number(job.fps);\n    if (/ImageToVideoLatent/i.test(type) && widgets.length >= 3) {\n      widgets[0] = Number(job.width);\n      widgets[1] = Number(job.height);\n      widgets[2] = Math.max(1, Math.floor((Number(job.duration_seconds) * Number(job.fps) - 1) / 4) * 4 + 1);\n    }\n    if (type === 'LoadImage') {\n      if (job.mode === 'i2v' && inputName) {\n        node.mode = 0;\n        if (widgets.length) widgets[0] = inputName;\n      } else {\n        node.mode = 4;\n      }\n    }\n  }\n  return workflow;\n}\n\nfunction specAccepts(value, spec) {\n  const type = Array.isArray(spec) ? spec[0] : spec;\n  if (Array.isArray(type)) return type.includes(value);\n  if (type === 'INT' || type === 'FLOAT') return typeof value === 'number';\n  if (type === 'BOOLEAN') return typeof value === 'boolean';\n  if (type === 'STRING') return typeof value === 'string';\n  return true;\n}\n\nasync function uiToApi(workflow) {\n  const info = await fetchJson(COMFY + '/object_info');\n  const links = new Map((workflow.links || []).map((link) => [Number(link[0]), link]));\n  const active = new Set((workflow.nodes || []).filter((node) => Number(node.mode || 0) !== 4).map((node) => Number(node.id)));\n  const prompt = {};\n  for (const node of workflow.nodes || []) {\n    if (!active.has(Number(node.id))) continue;\n    const type = String(node.type || '');\n    if (['Note','MarkdownNote'].includes(type)) continue;\n    const schema = info[type];\n    if (!schema?.input) throw new Error('prerequisite_required:comfy_node_missing:' + type);\n    const inputs = {};\n    const forceNames = new Set((node.inputs || []).map((input) => String(input.name || '')));\n    for (const input of node.inputs || []) {\n      if (input.link == null) continue;\n      const link = links.get(Number(input.link));\n      if (!link || !active.has(Number(link[1]))) continue;\n      inputs[String(input.name)] = [String(link[1]), Number(link[2])];\n    }\n    const ordered = [...Object.entries(schema.input.required || {}), ...Object.entries(schema.input.optional || {})];\n    const widgets = Array.isArray(node.widgets_values) ? [...node.widgets_values] : [];\n    let cursor = 0;\n    for (const [name, spec] of ordered) {\n      if (forceNames.has(name) || Object.prototype.hasOwnProperty.call(inputs, name)) continue;\n      while (cursor < widgets.length && !specAccepts(widgets[cursor], spec)) cursor++;\n      if (cursor < widgets.length) inputs[name] = widgets[cursor++];\n    }\n    prompt[String(node.id)] = { class_type: type, inputs };\n  }\n  return prompt;\n}\n\nfunction patchApiDimensions(prompt, job) {\n  const frames = Math.max(1, Math.floor((Number(job.duration_seconds) * Number(job.fps) - 1) / 4) * 4 + 1);\n  for (const node of Object.values(prompt)) {\n    const inputs = node.inputs || {};\n    if ('width' in inputs) inputs.width = Number(job.width);\n    if ('height' in inputs) inputs.height = Number(job.height);\n    for (const key of ['length','video_length','num_frames','frames']) if (key in inputs) inputs[key] = frames;\n    for (const key of ['fps','frame_rate']) if (key in inputs) inputs[key] = Number(job.fps);\n    for (const key of ['seed','noise_seed']) if (key in inputs) inputs[key] = Number(job.seed);\n  }\n}\n\nasync function uploadComfyImage(file) {\n  const bytes = await fs.readFile(file);\n  const form = new FormData();\n  form.append('image', new Blob([bytes]), path.basename(file));\n  form.append('type', 'input');\n  const response = await fetch(COMFY + '/upload/image', { method: 'POST', body: form });\n  if (!response.ok) throw new Error('comfy_upload_failed_' + response.status);\n  return await response.json();\n}\n\nasync function download(url, destination) {\n  const response = await fetch(url);\n  if (!response.ok) throw new Error('download_failed_' + response.status);\n  const buffer = Buffer.from(await response.arrayBuffer());\n  await fs.writeFile(destination, buffer);\n  return destination;\n}\n\nasync function prepareReference(input, output, width, height) {\n  await command(FFMPEG, ['-y','-i',input,'-vf','scale=' + width + ':' + height + ':force_original_aspect_ratio=decrease,pad=' + width + ':' + height + ':(ow-iw)/2:(oh-ih)/2:color=black','-frames:v','1',output]);\n}\n\nfunction overlayExpression(position, margin) {\n  const m = Number(margin || 3) / 100;\n  if (position === 'top-left') return { x: 'W*' + m, y: 'H*' + m };\n  if (position === 'top-right') return { x: 'W-w-W*' + m, y: 'H*' + m };\n  if (position === 'bottom-left') return { x: 'W*' + m, y: 'H-h-H*' + m };\n  if (position === 'center') return { x: '(W-w)/2', y: '(H-h)/2' };\n  return { x: 'W-w-W*' + m, y: 'H-h-H*' + m };\n}\n\nasync function finishVideo(rawVideo, finalVideo, job, brandFile) {\n  const brand = job.brand_settings || {};\n  if (job.brand_lock && brandFile) {\n    const scale = Math.max(0.04, Math.min(0.5, Number(brand.scalePercent || 14) / 100));\n    const opacity = Math.max(0.05, Math.min(1, Number(brand.opacityPercent || 92) / 100));\n    const pos = overlayExpression(String(brand.position || 'bottom-right'), Number(brand.marginPercent || 3));\n    const filter = '[1:v]format=rgba,colorchannelmixer=aa=' + opacity + ',scale=iw*min(1\\\\,' + Math.round(Number(job.width) * scale) + '/iw):-1[logo];[0:v][logo]overlay=x=' + pos.x + ':y=' + pos.y + ':format=auto[v]';\n    await command(FFMPEG, ['-y','-i',rawVideo,'-i',brandFile,'-filter_complex',filter,'-map','[v]','-map','0:a?','-c:v','libx264','-pix_fmt','yuv420p','-movflags','+faststart','-c:a','aac','-b:a','192k',finalVideo]);\n  } else {\n    await command(FFMPEG, ['-y','-i',rawVideo,'-map','0:v:0','-map','0:a?','-c:v','libx264','-pix_fmt','yuv420p','-movflags','+faststart','-c:a','aac','-b:a','192k',finalVideo]);\n  }\n}\n\nasync function makePoster(video, poster) {\n  await command(FFMPEG, ['-y','-ss','0.25','-i',video,'-frames:v','1','-q:v','2',poster]);\n}\n\nfunction firstOutput(history) {\n  const outputs = history?.outputs || {};\n  for (const value of Object.values(outputs)) {\n    for (const key of ['videos','gifs','images']) {\n      const items = Array.isArray(value?.[key]) ? value[key] : [];\n      if (items.length) return items[0];\n    }\n  }\n  return null;\n}\n\nasync function waitForComfy(promptId, job, leaseToken) {\n  let ws = null;\n  const clientId = crypto.randomUUID();\n  if (globalThis.WebSocket) {\n    try {\n      const wsUrl = COMFY.replace(/^http/, 'ws') + '/ws?clientId=' + encodeURIComponent(clientId);\n      ws = new WebSocket(wsUrl);\n      ws.onmessage = async (event) => {\n        try {\n          const message = JSON.parse(String(event.data || '{}'));\n          if (message.type === 'progress' && message.data?.prompt_id === promptId) {\n            const max = Number(message.data.max || 0);\n            const value = Number(message.data.value || 0);\n            const progress = max > 0 ? Math.min(94, 10 + (value / max) * 80) : 25;\n            const state = await api('worker_progress', { jobId: job.id, leaseToken, stage: 'rendering', progress });\n            if (state.cancelRequested) await fetch(COMFY + '/interrupt', { method: 'POST' }).catch(() => null);\n          }\n        } catch {}\n      };\n    } catch {}\n  }\n  try {\n    for (;;) {\n      const history = await fetchJson(COMFY + '/history/' + encodeURIComponent(promptId));\n      const entry = history?.[promptId];\n      if (entry) {\n        const output = firstOutput(entry);\n        if (output) return output;\n        if (entry.status?.status_str === 'error') throw new Error('comfy_render_failed');\n      }\n      const state = await api('worker_progress', { jobId: job.id, leaseToken, stage: 'rendering', progress: 20 });\n      if (state.cancelRequested) {\n        await fetch(COMFY + '/interrupt', { method: 'POST' }).catch(() => null);\n        throw Object.assign(new Error('cancel_requested'), { cancelled: true });\n      }\n      await new Promise((resolve) => setTimeout(resolve, 2000));\n    }\n  } finally {\n    try { ws?.close(); } catch {}\n  }\n}\n\nasync function uploadPrepared(prepared, file, mimeType) {\n  const bytes = await fs.readFile(file);\n  const url = SUPABASE_UPLOAD_URL(prepared.bucket, prepared.path, prepared.token);\n  const response = await fetch(url, { method: 'PUT', headers: { 'content-type': mimeType }, body: bytes });\n  if (!response.ok) throw new Error('signed_upload_failed_' + response.status);\n}\n\nfunction SUPABASE_UPLOAD_URL(bucket, pathValue, token) {\n  const base = EDGE.split('/functions/v1/')[0];\n  return base + '/storage/v1/object/upload/sign/' + encodeURIComponent(bucket) + '/' + pathValue.split('/').map(encodeURIComponent).join('/') + '?token=' + encodeURIComponent(token);\n}\n\nasync function render(job) {\n  activeJobId = job.id;\n  const leaseToken = String(job.lease_token || '');\n  const dir = path.join(TEMP_ROOT, job.id);\n  await fs.mkdir(dir, { recursive: true });\n  try {\n    if (!registry) await loadRegistry();\n    const profile = (registry.profiles || []).find((item) => item.key === job.model_key);\n    if (!profile) throw Object.assign(new Error('prerequisite_required:model_profile_unknown'), { prerequisite: true });\n    const caps = await capabilities();\n    const local = caps.profiles.find((item) => item.key === profile.key);\n    if (!local?.installed || local?.viable === false) throw Object.assign(new Error('prerequisite_required:model_or_workflow_unavailable'), { prerequisite: true });\n    const templateMeta = profile.workflowTemplates?.[job.mode];\n    const templateFile = templateMeta ? path.join(WORKFLOW_DIR, templateMeta.file) : '';\n    if (!templateFile || !existsSync(templateFile)) throw Object.assign(new Error('prerequisite_required:workflow_template_missing'), { prerequisite: true });\n\n    let inputFile = null;\n    let comfyInputName = null;\n    if (job.mode === 'i2v') {\n      if (!job.input_asset?.url) throw new Error('reference_image_missing');\n      const source = path.join(dir, 'reference-source');\n      const prepared = path.join(dir, 'reference.png');\n      await download(job.input_asset.url, source);\n      await prepareReference(source, prepared, Number(job.width), Number(job.height));\n      const uploaded = await uploadComfyImage(prepared);\n      comfyInputName = String(uploaded.name || path.basename(prepared));\n      inputFile = prepared;\n    }\n\n    let brandFile = null;\n    if (job.brand_lock) {\n      if (!job.brand_asset?.url) throw new Error('brand_asset_missing');\n      brandFile = path.join(dir, 'brand-logo');\n      await download(job.brand_asset.url, brandFile);\n    }\n\n    const ui = patchUiWorkflow(JSON.parse(await fs.readFile(templateFile, 'utf8')), job, comfyInputName);\n    const prompt = await uiToApi(ui);\n    patchApiDimensions(prompt, job);\n    await api('worker_progress', { jobId: job.id, leaseToken, stage: 'submitting', progress: 8, metadata: { referencePrepared: Boolean(inputFile) } });\n    const queued = await fetchJson(COMFY + '/prompt', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ prompt, client_id: crypto.randomUUID() }) });\n    const promptId = String(queued.prompt_id || '');\n    if (!promptId) throw new Error('comfy_prompt_id_missing');\n    const output = await waitForComfy(promptId, job, leaseToken);\n    const view = new URL(COMFY + '/view');\n    view.searchParams.set('filename', String(output.filename || ''));\n    view.searchParams.set('subfolder', String(output.subfolder || ''));\n    view.searchParams.set('type', String(output.type || 'output'));\n    const raw = path.join(dir, 'raw-video');\n    await download(view.toString(), raw);\n\n    await api('worker_progress', { jobId: job.id, leaseToken, stage: 'finalizing', progress: 95 });\n    const finalVideo = path.join(dir, 'final.mp4');\n    const poster = path.join(dir, 'poster.jpg');\n    await finishVideo(raw, finalVideo, job, brandFile);\n    await makePoster(finalVideo, poster);\n    const videoStat = await fs.stat(finalVideo);\n    const posterStat = await fs.stat(poster);\n    const preparedVideo = await api('worker_prepare_output', { jobId: job.id, leaseToken, kind: 'video', title: 'Video Studio render', sizeBytes: videoStat.size, metadata: { canonical: true, codec: 'h264', pixel_format: 'yuv420p' } });\n    await uploadPrepared(preparedVideo, finalVideo, 'video/mp4');\n    const preparedPoster = await api('worker_prepare_output', { jobId: job.id, leaseToken, kind: 'poster', title: 'Video Studio poster', sizeBytes: posterStat.size });\n    await uploadPrepared(preparedPoster, poster, 'image/jpeg');\n    await api('worker_complete', {\n      jobId: job.id,\n      leaseToken,\n      outputAssetId: preparedVideo.asset.id,\n      posterAssetId: preparedPoster.asset.id,\n      sizeBytes: videoStat.size,\n      resultMetadata: { width: job.width, height: job.height, fps: job.fps, durationSeconds: job.duration_seconds, seed: job.seed, modelKey: job.model_key, renderer: 'local-comfyui', brandLock: Boolean(job.brand_lock) }\n    });\n  } catch (error) {\n    const message = error instanceof Error ? error.message : String(error);\n    await api('worker_fail', {\n      jobId: job.id,\n      leaseToken,\n      retryable: !error?.prerequisite && !error?.cancelled && /timeout|fetch|http_5|ECONN|network/i.test(message),\n      failureClass: error?.prerequisite ? 'prerequisite' : error?.cancelled ? 'cancelled' : 'renderer',\n      errorCode: message.startsWith('prerequisite_required:') ? message : error?.cancelled ? 'cancel_requested' : 'render_failed',\n      errorMessage: message\n    }).catch(() => null);\n  } finally {\n    activeJobId = null;\n    await fs.rm(dir, { recursive: true, force: true }).catch(() => null);\n  }\n}\n\nasync function main() {\n  await fs.mkdir(WORKFLOW_DIR, { recursive: true });\n  await fs.mkdir(TEMP_ROOT, { recursive: true });\n  await loadRegistry();\n  process.on('SIGINT', () => { stop = true; });\n  process.on('SIGTERM', () => { stop = true; });\n  for (;;) {\n    if (stop) break;\n    try {\n      await heartbeat(activeJobId ? 'busy' : 'online');\n      if (!activeJobId) {\n        const claimed = await api('worker_claim');\n        if (claimed.job) await render(claimed.job);\n      }\n    } catch (error) {\n      console.error('[video-studio-worker]', error instanceof Error ? error.message : String(error));\n      if (error?.prerequisite) process.exitCode = 2;\n    }\n    await new Promise((resolve) => setTimeout(resolve, POLL_MS));\n  }\n  await api('worker_heartbeat', { status: 'offline', activeJobId: null, capabilities: await capabilities() }).catch(() => null);\n}\n\nmain().catch((error) => {\n  console.error('[video-studio-worker:fatal]', error);\n  process.exitCode = 1;\n});\n"},{"path":"scripts/windows/install-video-studio-renderer.ps1","content":"param(\n  [switch]$RegisterStartup,\n  [switch]$DownloadModels,\n  [switch]$SkipPrerequisiteInstall\n)\n\n$ErrorActionPreference = 'Stop'\n$UserProfilePath = [Environment]::GetFolderPath('UserProfile')\nif (-not $UserProfilePath) { throw 'windows_user_profile_unavailable' }\n\n$RepoRoot = (Resolve-Path (Join-Path $PSScriptRoot '..\\..')).Path\n$Root = if ($env:KL_VIDEO_STUDIO_HOME) { $env:KL_VIDEO_STUDIO_HOME } else { Join-Path $UserProfilePath 'KnockLaunchVideoStudio' }\n$Comfy = if ($env:KL_COMFYUI_DIR) { $env:KL_COMFYUI_DIR } else { Join-Path $Root 'ComfyUI' }\n$WorkflowDir = Join-Path $Root 'workflows'\n$Logs = Join-Path $Root 'logs'\n$RegistryPath = Join-Path $RepoRoot 'config\\video-studio\\model-registry.json'\n$WorkerPath = Join-Path $RepoRoot 'scripts\\video-studio-worker\\index.mjs'\nNew-Item -ItemType Directory -Force -Path $Root,$WorkflowDir,$Logs | Out-Null\n\nfunction Find-CommandPath([string]$Name, [string[]]$Candidates = @()) {\n  $cmd = Get-Command $Name -ErrorAction SilentlyContinue\n  if ($cmd) { return $cmd.Source }\n  foreach ($candidate in $Candidates) { if (Test-Path $candidate) { return $candidate } }\n  return $null\n}\n\n$Git = Find-CommandPath 'git.exe' @('C:\\Program Files\\Git\\cmd\\git.exe')\n$Python = Find-CommandPath 'python.exe' @((Join-Path $UserProfilePath 'AppData\\Local\\Programs\\Python\\Python312\\python.exe'))\n$Node = Find-CommandPath 'node.exe' @('C:\\Program Files\\nodejs\\node.exe')\n$Ffmpeg = Find-CommandPath 'ffmpeg.exe' @('C:\\ffmpeg\\bin\\ffmpeg.exe')\n\nif (-not $SkipPrerequisiteInstall) {\n  if (-not $Git -and (Get-Command winget.exe -ErrorAction SilentlyContinue)) { winget install --id Git.Git -e --accept-package-agreements --accept-source-agreements }\n  if (-not $Python -and (Get-Command winget.exe -ErrorAction SilentlyContinue)) { winget install --id Python.Python.3.12 -e --accept-package-agreements --accept-source-agreements }\n  if (-not $Ffmpeg -and (Get-Command winget.exe -ErrorAction SilentlyContinue)) { winget install --id Gyan.FFmpeg -e --accept-package-agreements --accept-source-agreements }\n  $Git = Find-CommandPath 'git.exe' @('C:\\Program Files\\Git\\cmd\\git.exe')\n  $Python = Find-CommandPath 'python.exe' @((Join-Path $UserProfilePath 'AppData\\Local\\Programs\\Python\\Python312\\python.exe'))\n  $Node = Find-CommandPath 'node.exe' @('C:\\Program Files\\nodejs\\node.exe')\n  $Ffmpeg = Find-CommandPath 'ffmpeg.exe' @('C:\\ffmpeg\\bin\\ffmpeg.exe')\n}\n\nif (-not $Git) { throw 'video_studio_prerequisite_required:git' }\nif (-not $Python) { throw 'video_studio_prerequisite_required:python' }\nif (-not $Node) { throw 'video_studio_prerequisite_required:node' }\nif (-not $Ffmpeg) { throw 'video_studio_prerequisite_required:ffmpeg' }\nif (-not (Test-Path $RegistryPath)) { throw 'video_studio_registry_missing' }\nif (-not (Test-Path $WorkerPath)) { throw 'video_studio_worker_missing' }\n\nif (-not (Test-Path (Join-Path $Comfy 'main.py'))) {\n  & $Git clone --depth 1 https://github.com/comfyanonymous/ComfyUI.git $Comfy\n}\n\n$VenvPython = Join-Path $Comfy '.venv\\Scripts\\python.exe'\nif (-not (Test-Path $VenvPython)) { & $Python -m venv (Join-Path $Comfy '.venv') }\n& $VenvPython -m pip install --upgrade pip\n& $VenvPython -m pip install -r (Join-Path $Comfy 'requirements.txt')\n\n$GpuNames = @(Get-CimInstance Win32_VideoController -ErrorAction SilentlyContinue | ForEach-Object { [string]$_.Name })\n$IntelArc = @($GpuNames | Where-Object { $_ -match 'Intel.*Arc' }).Count -gt 0\nif ($IntelArc) {\n  & $VenvPython -m pip install --upgrade torch torchvision torchaudio --index-url https://download.pytorch.org/whl/xpu\n}\n\n$Registry = Get-Content -Raw -Path $RegistryPath | ConvertFrom-Json\nforeach ($profile in @($Registry.profiles)) {\n  foreach ($template in @($profile.workflowTemplates.psobject.Properties.Value)) {\n    $target = Join-Path $WorkflowDir ([string]$template.file)\n    if (-not (Test-Path $target)) {\n      Invoke-WebRequest -UseBasicParsing -Uri ([string]$template.source) -OutFile $target\n    }\n  }\n}\n\nif ($DownloadModels) {\n  foreach ($profile in @($Registry.profiles)) {\n    foreach ($model in @($profile.models)) {\n      $target = Join-Path (Join-Path $Comfy 'models') ([string]$model.path)\n      $parent = Split-Path -Parent $target\n      New-Item -ItemType Directory -Force -Path $parent | Out-Null\n      if (-not (Test-Path $target)) {\n        if (Get-Command Start-BitsTransfer -ErrorAction SilentlyContinue) {\n          Start-BitsTransfer -Source ([string]$model.url) -Destination $target\n        } else {\n          Invoke-WebRequest -UseBasicParsing -Uri ([string]$model.url) -OutFile $target\n        }\n      }\n    }\n  }\n}\n\n$ComfyCmd = Join-Path $Root 'start-comfyui.cmd'\n$WorkerCmd = Join-Path $Root 'start-video-worker.cmd'\n$ComfyLines = @(\n  '@echo off',\n  'cd /d \"' + $Comfy + '\"',\n  '\"' + $VenvPython + '\" main.py --listen 127.0.0.1 --port 8188 >> \"' + (Join-Path $Logs 'comfyui.log') + '\" 2>&1'\n)\n$WorkerLines = @(\n  '@echo off',\n  'set KL_VIDEO_STUDIO_HOME=' + $Root,\n  'set KL_COMFYUI_DIR=' + $Comfy,\n  'set FFMPEG_PATH=' + $Ffmpeg,\n  'if \"%KL_VIDEO_STUDIO_URL%\"==\"\" set KL_VIDEO_STUDIO_URL=https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/video-studio',\n  '\"' + $Node + '\" \"' + $WorkerPath + '\" >> \"' + (Join-Path $Logs 'worker.log') + '\" 2>&1'\n)\nSet-Content -Path $ComfyCmd -Value $ComfyLines -Encoding ASCII\nSet-Content -Path $WorkerCmd -Value $WorkerLines -Encoding ASCII\n\nif ($RegisterStartup) {\n  $Trigger = New-ScheduledTaskTrigger -AtLogOn -User $env:USERNAME\n  $Settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 8 -RestartInterval (New-TimeSpan -Minutes 1)\n  $ComfyAction = New-ScheduledTaskAction -Execute 'cmd.exe' -Argument ('/c \"' + $ComfyCmd + '\"')\n  $WorkerAction = New-ScheduledTaskAction -Execute 'cmd.exe' -Argument ('/c \"' + $WorkerCmd + '\"')\n  Register-ScheduledTask -TaskName 'KNOCKLAUNCH Video Studio ComfyUI' -Action $ComfyAction -Trigger $Trigger -Settings $Settings -Description 'Private local ComfyUI renderer for KNOCKLAUNCH Video Studio' -Force | Out-Null\n  Register-ScheduledTask -TaskName 'KNOCKLAUNCH Video Studio Worker' -Action $WorkerAction -Trigger $Trigger -Settings $Settings -Description 'Outbound KNOCKLAUNCH Video Studio job worker' -Force | Out-Null\n  Start-ScheduledTask -TaskName 'KNOCKLAUNCH Video Studio ComfyUI' -ErrorAction SilentlyContinue\n  Start-Sleep -Seconds 4\n  Start-ScheduledTask -TaskName 'KNOCKLAUNCH Video Studio Worker' -ErrorAction SilentlyContinue\n}\n\n$MissingModels = @()\nforeach ($profile in @($Registry.profiles)) {\n  foreach ($model in @($profile.models)) {\n    $target = Join-Path (Join-Path $Comfy 'models') ([string]$model.path)\n    if (-not (Test-Path $target)) { $MissingModels += ([string]$profile.key + ':' + [string]$model.path) }\n  }\n}\n\n[pscustomobject]@{\n  ok = $true\n  root = $Root\n  comfyUi = $Comfy\n  intelArcDetected = $IntelArc\n  gpu = $GpuNames\n  ffmpeg = $Ffmpeg\n  workflowCount = @((Get-ChildItem -Path $WorkflowDir -Filter '*.json' -ErrorAction SilentlyContinue)).Count\n  missingModels = $MissingModels\n  workerTokenConfigured = [bool]$env:KL_VIDEO_WORKER_TOKEN\n  rendererUrl = if ($env:KL_VIDEO_STUDIO_URL) { $env:KL_VIDEO_STUDIO_URL } else { 'https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/video-studio' }\n  startupRegistered = [bool]$RegisterStartup\n  prerequisiteState = if (-not $env:KL_VIDEO_WORKER_TOKEN) { 'worker_token_required' } elseif ($MissingModels.Count -gt 0) { 'model_download_required' } else { 'ready' }\n} | ConvertTo-Json -Depth 5 -Compress\n"}],"route":"/knock-launch-os/video-studio","branch":"ai/objective-first-repair-f2fee72c5de9","writes":[],"patches":[],"version":1,"approved":true,"missionId":"f2fee72c-5de9-49db-9562-8404efc431e6","objective":"Continue the existing Video Studio mission with the exact implementation payload. Write the new frontend, durable job schema and API, local ComfyUI/FFmpeg worker, model registry, Windows bootstrap/autostart integration, and contract tests. Keep the same mission, branch, acceptance route, Gate/release/proof contract.","expectPath":"/knock-launch-os/video-studio","expectText":"Video Studio","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/PrivateAppShell.tsx","edits":[{"new_content":"const OwnerUsers=lazyWithRetry(()=>import('./pages/owner/OwnerUsers'));const KnockLaunchPortfolio=lazyWithRetry(()=>import('./pages/owner/KnockLaunchPortfolio'));const KnockLaunchOSDashboard=lazyWithRetry(()=>import('./pages/owner/KnockLaunchOSDashboard'));const KnockLaunchOSSettings=lazyWithRetry(()=>import('./pages/owner/KnockLaunchOSSettings'));const VideoStudio=lazyWithRetry(()=>import('./pages/owner/VideoStudio'));","old_content":"const OwnerUsers=lazyWithRetry(()=>import('./pages/owner/OwnerUsers'));const KnockLaunchPortfolio=lazyWithRetry(()=>import('./pages/owner/KnockLaunchPortfolio'));const KnockLaunchOSDashboard=lazyWithRetry(()=>import('./pages/owner/KnockLaunchOSDashboard'));const KnockLaunchOSSettings=lazyWithRetry(()=>import('./pages/owner/KnockLaunchOSSettings'));"},{"new_content":"if(normalizedPath==='/knock-launch-os/video-studio')return <div className=\"min-h-screen bg-[#040806]\"><MultiTenantProvider><OwnerOsTenantBoundary><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 min-h-screen w-full overflow-x-hidden overflow-y-auto\"><BaseErrorBoundary scope=\"VideoStudioShell\" variant=\"panel\" title=\"Video Studio needs repair\" description=\"The KNOCKLAUNCH owner shell loaded, but Video Studio needs repair.\"><Suspense fallback={<RouteFallback/>}><VideoStudio/></Suspense></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></OwnerOsTenantBoundary></MultiTenantProvider></div>;if(normalizedPath==='/knock-launch-os/settings'||normalizedPath.startsWith('/knock-launch-os/settings/'))return <PortfolioSettingsShell/>;","old_content":"if(normalizedPath==='/knock-launch-os/settings'||normalizedPath.startsWith('/knock-launch-os/settings/'))return <PortfolioSettingsShell/>;"}]},{"path":"scripts/windows/install-knocklaunch-autoconnect.ps1","edits":[{"new_content":"$DcAction = New-ScheduledTaskAction -Execute 'cmd.exe' -Argument $DcArgs\nRegister-ScheduledTask -TaskName 'KNOCKLAUNCH Desktop Commander' -Action $DcAction -Trigger $Trigger -Settings $Settings -Description 'Keep Remote Desktop Commander connected automatically' -Force | Out-Null\n\n$VideoBootstrap = Join-Path $PSScriptRoot 'install-video-studio-renderer.ps1'\nif ($HostRole -eq 'desktop' -and (Test-Path $VideoBootstrap)) {\n  try { & $VideoBootstrap -RegisterStartup -SkipPrerequisiteInstall | Out-Null } catch { Write-Warning ('Video Studio renderer prerequisite: ' + $_.Exception.Message) }\n}","old_content":"$DcAction = New-ScheduledTaskAction -Execute 'cmd.exe' -Argument $DcArgs\nRegister-ScheduledTask -TaskName 'KNOCKLAUNCH Desktop Commander' -Action $DcAction -Trigger $Trigger -Settings $Settings -Description 'Keep Remote Desktop Commander connected automatically' -Force | Out-Null"},{"new_content":"$StartupLines = @(\n  '@echo off',\n  'schtasks /run /tn \"KNOCKLAUNCH Backend Bootstrap\" >nul 2>&1',\n  'schtasks /run /tn \"KNOCKLAUNCH Desktop Commander\" >nul 2>&1'\n)\nif ($HostRole -eq 'desktop') {\n  $StartupLines += 'schtasks /run /tn \"KNOCKLAUNCH Video Studio ComfyUI\" >nul 2>&1'\n  $StartupLines += 'schtasks /run /tn \"KNOCKLAUNCH Video Studio Worker\" >nul 2>&1'\n}","old_content":"$StartupLines = @(\n  '@echo off',\n  'schtasks /run /tn \"KNOCKLAUNCH Backend Bootstrap\" >nul 2>&1',\n  'schtasks /run /tn \"KNOCKLAUNCH Desktop Commander\" >nul 2>&1'\n)"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"f2fee72c-5de9-49db-9562-8404efc431e6","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":"c7b0d84fa9114bb10603aec118b4376c1302ff8878e1183f1698b65aa1ca1319","replayCount":0,"serializedBytes":94740},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T18:47:54.877196+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:f2fee72c-5de9-49db-9562-8404efc431e6:repository-mutation-intent:c7b0d84fa9114bb10603aec118b4376c1302ff8878e1183f1698b65aa1ca1319:0","mission_step_id":"a6c85464-cf7c-4677-9186-9c6619362da2","command_center_event_id":"f2fee72c-5de9-49db-9562-8404efc431e6"},{"id":"3f77de2e-fef5-4a88-bf54-26b28dd34d37","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T17:29:08.606371+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":\"ai/experience-editor-universal-tenant-peak\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:48:09.694437+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:34b865b8-460d-40a8-a891-4add4dcfad66:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",","mission_step_id":"6a0383a5-deaa-48bf-949f-089953a54838","command_center_event_id":"34b865b8-460d-40a8-a891-4add4dcfad66"},{"id":"631209dc-08d9-4c0b-9516-6c4f100f001d","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T15:10:13.91655+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:48:11.83262+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:54545903-7c42-4141-a472-8222286a0421:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_","mission_step_id":"960b762f-c80a-4411-9350-7bc8df65c076","command_center_event_id":"54545903-7c42-4141-a472-8222286a0421"},{"id":"0808b976-409f-4c71-a238-0d294e1584f5","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:implementation\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"implementation\",\"deadlineAt\":\"2026-08-03T17:00:39.162554+00:00\",\"recoveryAction\":\"continue_implementation\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/experience-editor-universal-truth\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:48:59.168238+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:f355921f-4ddb-4916-b76f-bf3cfff72651:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-executio","mission_step_id":"21a21407-ce3b-4fa3-9cc9-2fe4672c5bc1","command_center_event_id":"f355921f-4ddb-4916-b76f-bf3cfff72651"},{"id":"c97eb8fd-b2da-4d14-a58a-f8320aa3b8a1","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"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},\"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\":\"pull_request\",\"deadlineAt\":\"2026-08-03T17:38:39.445149+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/experience-editor-universal-runtime\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:49:01.076821+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:b483219d-fed6-4957-8632-7cac7486f6c9:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"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-ex","mission_step_id":"8ef5fd9d-0b08-4bc1-b4cb-a0b88a86467f","command_center_event_id":"b483219d-fed6-4957-8632-7cac7486f6c9"},{"id":"e653b32b-40f8-4ea0-9483-829237ebb6ec","source":"cc-execution","status":"recorded","payload":{"objective":"Correct the live 321 Auto Unlock visual regression shown in the owner's screenshot. Current layout is visibly crooked: video oversized and shifted right, left copy too narrow/tall, right How It Works card crowding the edge, and header/hero not reading as one balanced composition. Remove all global zoom/125%-width hacks. Rebuild only the homepage geometry using real layout sizing: centered max-width shell; true three-column desktop grid with a fixed central video column and balanced left/right rails; keep the video exact center of the viewport composition; reduce headline width/size enough to avoid excessive vertical stacking; keep right card comfortably inset; keep uploaded waterfront background object-cover and continuous; preserve no-black-bar treatment. Replace public nav anchors with react-router-dom Link navigation so /how-it-works, /services, /service-areas, /about, /contact navigate inside the SPA. Preserve all copy, service scope, request flow, video, emergency notice, and existing SEO routes. Use one fresh ai/* branch, one PR, canonical Gate, squash merge, frontend release, then verify homepage and all five nav routes live.","tenantRef":"321-auto-unlock","receivedAt":"2026-09-24T18:37:58.341Z","fingerprint":"197a610f0242389853057f4cd5febb3e811bb663db7ebcf0a87ec5d972183a5d","workstreamRef":"321autounlock","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Correct the live 321 Auto Unlock visual regression shown in the owner's screenshot. Current layout is visibly crooked: video oversized and shifted right, left copy too narrow/tall, right How It Works card crowding the edge, and header/hero not reading as one balanced composition. Remove all global zoom/125%-width hacks. Rebuild only the homepage geometry using real layout sizing: centered max-width shell; true three-column desktop grid with a fixed central video column and balanced left/right rails; keep the video exact center of the viewport composition; reduce headline width/size enough to avoid excessive vertical stacking; keep right card comfortably inset; keep uploaded waterfront background object-cover and continuous; preserve no-black-bar treatment. Replace public nav anchors with react-router-dom Link navigation so /how-it-works, /services, /service-areas, /about, /contact navigate inside the SPA. Preserve all copy, service scope, request flow, video, emergency notice, and existing SEO routes. Use one fresh ai/* branch, one PR, canonical Gate, squash merge, frontend release, then verify homepage and all five nav routes live.","wordingChanged":false,"canonicalIntent":"Correct the live 321 Auto Unlock visual regression shown in the owner's screenshot. Current layout is visibly crooked: video oversized and shifted right, left copy too narrow/tall, right How It Works card crowding the edge, and header/hero not reading as one balanced composition. Remove all global zoom/125%-width hacks. Rebuild only the homepage geometry using real layout sizing: centered max-width shell; true three-column desktop grid with a fixed central video column and balanced left/right rails; keep the video exact center of the viewport composition; reduce headline width/size enough to avoid excessive vertical stacking; keep right card comfortably inset; keep uploaded waterfront background object-cover and continuous; preserve no-black-bar treatment. Replace public nav anchors with react-router-dom Link navigation so /how-it-works, /services, /service-areas, /about, /contact navigate inside the SPA. Preserve all copy, service scope, request flow, video, emergency notice, and existing SEO routes. Use one fresh ai/* branch, one PR, canonical Gate, squash merge, frontend release, then verify homepage and all five nav routes live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"legacy_derived","version":1,"outcomes":[{"id":"outcome-1","statement":"Correct the live 321 Auto Unlock visual regression shown in the owner's screenshot. Current layout is visibly crooked: video oversized and shifted right, left copy too narrow/tall, right How It Works card crowding the edge, and header/hero not reading as one balanced composition. Remove all global zoom/125%-width hacks. Rebuild only the homepage geometry using real layout sizing: centered max-width shell; true three-column desktop grid with a fixed central video column and balanced left/right rails; keep the video exact center of the viewport composition; reduce headline width/size enough to avoid excessive vertical stacking; keep right card comfortably inset; keep uploaded waterfront background object-cover and continuous; preserve no-black-bar treatment. Replace public nav anchors with react-router-dom Link navigation so /how-it-works, /services, /service-areas, /about, /contact navigate inside the SPA. Preserve all copy, service scope, request flow, video, emergency notice, and existing SEO routes. Use one fresh ai/* branch, one PR, canonical Gate, squash merge, frontend release, then verify homepage and all five nav routes live.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]}],"objective":"Correct the live 321 Auto Unlock visual regression shown in the owner's screenshot. Current layout is visibly crooked: video oversized and shifted right, left copy too narrow/tall, right How It Works card crowding the edge, and header/hero not reading as one balanced composition. Remove all global zoom/125%-width hacks. Rebuild only the homepage geometry using real layout sizing: centered max-width shell; true three-column desktop grid with a fixed central video column and balanced left/right rails; keep the video exact center of the viewport composition; reduce headline width/size enough to avoid excessive vertical stacking; keep right card comfortably inset; keep uploaded waterfront background object-cover and continuous; preserve no-black-bar treatment. Replace public nav anchors with react-router-dom Link navigation so /how-it-works, /services, /service-areas, /about, /contact navigate inside the SPA. Preserve all copy, service scope, request flow, video, emergency notice, and existing SEO routes. Use one fresh ai/* branch, one PR, canonical Gate, squash merge, frontend release, then verify homepage and all five nav routes live.","constraints":[{"id":"visual-content-truth","statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]},{"id":"tenant-visual-isolation","statement":"Visual work is isolated to 321-auto-unlock. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-viewport-authority","statement":"The requested desktop viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport unless explicitly requested.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]},{"id":"reference-visual-fidelity","statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-visual"]},{"id":"responsive-visual-continuity","statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-visual"]},{"id":"reference-visual-authority","statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-visual"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Correct the live 321 Auto Unlock visual regression shown in the owner's screenshot. Current layout is visibly crooked: video oversized and shifted right, left copy too narrow/tall, right How It Works card crowding the edge, and header/hero not reading as one balanced composition. Remove all global zoom/125%-width hacks. Rebuild only the homepage geometry using real layout sizing: centered max-width shell; true three-column desktop grid with a fixed central video column and balanced left/right rails; keep the video exact center of the viewport composition; reduce headline width/size enough to avoid excessive vertical stacking; keep right card comfortably inset; keep uploaded waterfront background object-cover and continuous; preserve no-black-bar treatment. Replace public nav anchors with react-router-dom Link navigation so /how-it-works, /services, /service-areas, /about, /contact navigate inside the SPA. Preserve all copy, service scope, request flow, video, emergency notice, and exis","route":"https://321autounlock.com/","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":"Correct the live 321 Auto Unlock visual regression shown in the owner's screenshot. Current layout is visibly crooked: video oversized and shifted right, left copy too narrow/tall, right How It Works card crowding the edge, and header/hero not reading as one balanced composition. Remove all global zoom/125%-width hacks. Rebuild only the homepage geometry using real layout sizing: centered max-width shell; true three-column desktop grid with a fixed central video column and balanced left/right rails; keep the video exact center of the viewport composition; reduce headline width/size enough to avoid excessive vertical stacking; keep right card comfortably inset; keep uploaded waterfront background object-cover and continuous; preserve no-black-bar treatment. Replace public nav anchors with react-router-dom Link navigation so /how-it-works, /services, /service-areas, /about, /contact navigate inside the SPA. Preserve all copy, service scope, request flow, video, emergency notice, and exis","route":"https://321autounlock.com/","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-the-live-321-Auto-Unlock-visual-regression-shown-in-the-owner-s-screenshot.-Current-layout-i","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestedBranch":null,"conversationContext":null,"requestContractHash":"af0c955c4394ae7c3580c8152064fd07c5094ebcfe047843a2be9278ffe84da6","requestContractRevision":1},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T18:37:58.660663+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:97bf489d-c3bd-4454-9450-220f5c5e84d1:tenant-workstream-contribution:197a610f0242389853057f4cd5febb3e811bb663db7ebcf0a87ec5d972183a5d","mission_step_id":null,"command_center_event_id":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},{"id":"29c33c3d-ad4a-4ee0-9da6-65ed486ac7a6","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T15:24:28.610035+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3880,\"sourceSha\":\"914b454301c3f910f2de248e338360e401d59a71\",\"deploymentId\":\"canonical-release-914b454301c3\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:49:13.328846+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:11e3ff7a-da0d-4891-b16c-3573c9b8c8af:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"c8b5cc98-a1ca-4a6d-9615-ccb46a7da1a4","command_center_event_id":"11e3ff7a-da0d-4891-b16c-3573c9b8c8af"},{"id":"1b7450fa-b334-4726-8402-68c0b94285d9","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T15:25:05.210515+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3880,\"sourceSha\":\"914b454301c3f910f2de248e338360e401d59a71\",\"deploymentId\":\"canonical-release-914b454301c3\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:50:11.835424+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:5db048c6-2a4b-4abe-bb80-62771108fc73:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"ac1dcdde-519e-4af4-a663-b5f0af4d1dc3","command_center_event_id":"5db048c6-2a4b-4abe-bb80-62771108fc73"},{"id":"910839e5-8387-4615-a2ca-c049d968a0c8","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"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-03T15:39:30.499943+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:50:14.14809+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:2c5e02e5-d07e-4144-af9f-efa280ea153f:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_stat","mission_step_id":"4b051abe-690f-4084-8d94-efc14ade2723","command_center_event_id":"2c5e02e5-d07e-4144-af9f-efa280ea153f"},{"id":"eb049b29-2dc1-476d-9a24-61926d039fa9","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"c4f843325b7376cc005df98f5ec76a032247a740","sourceSha":"5cc2042f6e56f2d28266cccf2e8d2bf3b088b92e","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:50:20.348618+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"5cc2042f6e56f2d28266cccf2e8d2bf3b088b92e","external_id":"canonical-release-5cc2042f6e56","receipt_type":"canonical_release_status","idempotency_key":"mission:2856ff3c-ed9d-4704-a99b-c299c58378bc:forgejo-release-ancestry:5cc2042f6e56f2d28266cccf2e8d2bf3b088b92e:c4f843325b7376cc005df98f5ec76a032247a740:ancestry_read_retryable","mission_step_id":"57a35b26-14c7-45cf-a28c-4b72d69b2164","command_center_event_id":"2856ff3c-ed9d-4704-a99b-c299c58378bc"},{"id":"c4a82ac7-2663-4158-8f43-b73feaf9f5dc","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-293df568d4ad","prNumber":3536,"nextAction":null,"mergeCommitSha":"382676d6490cc26846c2ab0c5941320687ba9d2e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T18:01:53.338227+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"382676d6490cc26846c2ab0c5941320687ba9d2e","external_id":"3536","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:293df568-d4ad-41cb-8de6-f7cfc9064e07:merged-pr:3536:382676d6490cc26846c2ab0c5941320687ba9d2e","mission_step_id":"e3f196cf-a55d-495f-b42f-ced361f7e43d","command_center_event_id":"293df568-d4ad-41cb-8de6-f7cfc9064e07"},{"id":"6e3eb4c2-21cd-48dc-a25b-5ddd1f8ea687","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly requested correction of the false-active mission progress behavior reproduced in this conversation.","baseSha":"4778e7f118a265e211b04cccc46728b3e2ac595f","issuedAt":1790212295183,"expiresAt":1790212475183,"missionId":"e7ec02af-6fb8-4ca7-a908-9fc05ebd8471","authorizationId":"3faeb985-e4bd-44c1-b97e-ef9ca6eb040f","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T01:11:35.506965+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"4778e7f118a265e211b04cccc46728b3e2ac595f","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:3faeb985-e4bd-44c1-b97e-ef9ca6eb040f","mission_step_id":"6e281956-fac4-451e-8df3-77396d06147f","command_center_event_id":"e7ec02af-6fb8-4ca7-a908-9fc05ebd8471"},{"id":"3c13f2e9-f065-480f-81a1-e303998dfbe4","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T15:40:27.44752+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3881,\"sourceSha\":\"5cc2042f6e56f2d28266cccf2e8d2bf3b088b92e\",\"deploymentId\":\"canonical-release-5cc2042f6e56\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:50:28.349758+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:2856ff3c-ed9d-4704-a99b-c299c58378bc:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"57a35b26-14c7-45cf-a28c-4b72d69b2164","command_center_event_id":"2856ff3c-ed9d-4704-a99b-c299c58378bc"},{"id":"ad0ae214-1375-49a2-bea9-67acd5f60c4a","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"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},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T18:03:32.871372+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":\"ai/repair-experience-editor-system-r202608031134\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:50:30.54315+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:b7e88f36-49d0-40b8-846b-4b8ceed893b7:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"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\",\"r","mission_step_id":"f1e00ca7-524a-4c16-8766-f10a8c127a55","command_center_event_id":"b7e88f36-49d0-40b8-846b-4b8ceed893b7"},{"id":"3435b465-8e49-4a24-9786-f7f8a96ee3d6","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T15:25:13.161713+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3880,\"sourceSha\":\"914b454301c3f910f2de248e338360e401d59a71\",\"deploymentId\":\"canonical-release-914b454301c3\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:51:10.709851+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:f0d85969-ab3b-4230-9b4d-c94a9a39473c:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"6193f3d6-169a-458c-b727-ffe6164e23ee","command_center_event_id":"f0d85969-ab3b-4230-9b4d-c94a9a39473c"},{"id":"19af85cc-440c-41c9-ba7b-74693099a5ad","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T15:46:12.740084+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:51:12.143628+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:0c593973-fe0b-4693-adff-9333619eba88:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_","mission_step_id":"7b16fd4d-2135-49fe-a1b2-01fa39545635","command_center_event_id":"0c593973-fe0b-4693-adff-9333619eba88"},{"id":"b087ae9f-3786-4e47-a187-306efda83fdd","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T15:49:49.364931+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:51:15.474244+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:8b8c30b2-43c1-4969-b4d1-afd995c410ce:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_","mission_step_id":"17c0bced-3c3e-4c23-a68f-02b12b22f7b8","command_center_event_id":"8b8c30b2-43c1-4969-b4d1-afd995c410ce"},{"id":"c5ebdd91-1266-4ec3-98ac-d516524d53e6","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-d4a699bc5629","prNumber":3619,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T13:59:54.937837+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","external_id":"3619","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:d4a699bc-5629-4689-84ab-bced59d27d65:merged-pr:3619:9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","mission_step_id":"1e157ffa-28ed-47d5-8858-1a8794ac025d","command_center_event_id":"d4a699bc-5629-4689-84ab-bced59d27d65"},{"id":"fbc31ad4-6cd2-44d2-96d5-5ba7bd775611","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-d2d766a7af1e","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":20363,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":233439,"firstUsefulResultAt":"2026-09-24T17:03:27.455Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":3644,"terminal":false,"missionId":"d2d766a7-af1e-48e0-b11b-4cfb9ba15833","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"660e49e581dd3b11c527266325f90a5789d55cc9","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4185,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":566,"approvedPlanMs":0,"missionSetupMs":439,"providerAuthMs":0,"shipAndProveMs":3060,"ledgerPrepareMs":270,"ledgerReconcileMs":0,"lineageReconcileMs":169,"resolvePreflightMs":439,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":270,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"d2d766a7-af1e-48e0-b11b-4cfb9ba15833"},"performance":null,"deploymentId":"forgejo-main-660e49e581dd","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2558,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T17:07:35.456965+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"660e49e581dd3b11c527266325f90a5789d55cc9","external_id":"forgejo-main-660e49e581dd","receipt_type":"execute_mission","idempotency_key":"mission:d2d766a7-af1e-48e0-b11b-4cfb9ba15833:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"11e7909a-ac11-4e64-a2bd-07bdb98f30e1","command_center_event_id":"d2d766a7-af1e-48e0-b11b-4cfb9ba15833"},{"id":"f5d3bc42-d44b-4784-a0e4-aadf0910654c","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-97bf489dc3bd","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.261-nonvisual-proof-precedence","prNumber":null,"terminal":false,"missionId":"97bf489d-c3bd-4454-9450-220f5c5e84d1","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":963,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1042,"providerAuthMs":0,"ledgerPrepareMs":570,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1042,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":570,"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":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},"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":4687,"likelyAffectedFiles":["src/pages/auto-lockout/AutoUnlockPublic.tsx","src/pages/auto-lockout/AutoUnlockInfoPage.tsx","src/PublicAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T18:38:00.413763+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:97bf489d-c3bd-4454-9450-220f5c5e84d1:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"2f21ad7d-5f9c-4d24-a682-b458ee312884","command_center_event_id":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},{"id":"9b19edbd-8dab-41cc-86f4-51055f1af436","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"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-03T15:53:41.783633+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:51:16.928044+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:1d6cfbf5-944d-4627-90a8-975d718ee3ae:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_stat","mission_step_id":"af466c4d-b383-4aa3-92a4-7f67bc4b7caf","command_center_event_id":"1d6cfbf5-944d-4627-90a8-975d718ee3ae"},{"id":"cf95104c-f69a-46ec-a755-523a96d66a4a","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"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-03T15:54:17.344688+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:51:59.3216+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:9e6e2f7c-0560-4c3f-b4f6-9e526667d85d:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_stat","mission_step_id":"d13a9e6c-c3b8-4933-a7f7-16855b3ff2f1","command_center_event_id":"9e6e2f7c-0560-4c3f-b4f6-9e526667d85d"},{"id":"a388fb22-caa0-4abe-b043-70b160faf34e","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"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-03T15:55:58.401769+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:52:01.041788+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:fe40dfbb-b589-44e2-bd12-e1b1aad013f9:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_stat","mission_step_id":"ae871c62-1d5d-4571-b1e2-d4f260813d08","command_center_event_id":"fe40dfbb-b589-44e2-bd12-e1b1aad013f9"},{"id":"67232d80-1022-49a7-beaa-e270233476a9","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"c4f843325b7376cc005df98f5ec76a032247a740","sourceSha":"a9b806efcbf8ca1719942e3f201968fc72b7299c","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:52:07.17139+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"a9b806efcbf8ca1719942e3f201968fc72b7299c","external_id":"canonical-release-a9b806efcbf8","receipt_type":"canonical_release_status","idempotency_key":"mission:41069659-ac6d-4f40-90b8-6ff86b77e2cf:forgejo-release-ancestry:a9b806efcbf8ca1719942e3f201968fc72b7299c:c4f843325b7376cc005df98f5ec76a032247a740:ancestry_read_retryable","mission_step_id":"3740fc36-566c-4e2f-aa3d-536590c2d272","command_center_event_id":"41069659-ac6d-4f40-90b8-6ff86b77e2cf"},{"id":"3c60dd26-d02e-474c-ac3f-80905460a573","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"c0e86a106886a496f052acd1c0bae1e1d5ba1e07","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-09-20T15:52:17.255389+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"c0e86a106886a496f052acd1c0bae1e1d5ba1e07","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:11d33dd3-f5d8-4486-abe4-4a6dbab1df96:request-contract:legacy:c0e86a106886a496f052acd1c0bae1e1d5ba1e07:verified:","mission_step_id":"e424e29d-a06b-44b6-9737-7b056e621908","command_center_event_id":"11d33dd3-f5d8-4486-abe4-4a6dbab1df96"},{"id":"8c7f139a-e81e-48c8-84f3-caff09d0a113","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly requested correction of the false-active mission progress behavior reproduced in this conversation.","baseSha":"4778e7f118a265e211b04cccc46728b3e2ac595f","issuedAt":1790212305493,"expiresAt":1790212485493,"missionId":"e7ec02af-6fb8-4ca7-a908-9fc05ebd8471","authorizationId":"4a2b9b0e-e365-4369-9d27-590ca3f947b5","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T01:11:45.776141+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"4778e7f118a265e211b04cccc46728b3e2ac595f","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:4a2b9b0e-e365-4369-9d27-590ca3f947b5","mission_step_id":"6e281956-fac4-451e-8df3-77396d06147f","command_center_event_id":"e7ec02af-6fb8-4ca7-a908-9fc05ebd8471"},{"id":"86678279-a425-4727-af30-a45f475e71a4","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-97bf489dc3bd","writes":[],"patches":[],"version":1,"approved":true,"missionId":"97bf489d-c3bd-4454-9450-220f5c5e84d1","objective":"Continue the SAME corrective mission after owner screenshot proof. Apply the exact geometry/navigation repair now: remove global zoom and 125%-width hacks; make main backgrounds transparent over the uploaded waterfront asset; use object-cover; use a centered max-width hero grid with equal flexible left/right rails around a fixed central video column; keep video dead-center; reduce headline sizing and vertical padding to the intended compact density; inset the How It Works card; and replace the new nav anchors with react-router Link so the five real pages navigate inside the SPA. Preserve all business behavior and content. Same branch/PR only.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/auto-lockout/AutoUnlockPublic.tsx","src/pages/auto-lockout/AutoUnlockInfoPage.tsx"],"anchored_edits":[{"path":"src/pages/auto-lockout/AutoUnlockPublic.tsx","edits":[{"new_content":"import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { motion, useReducedMotion } from 'framer-motion';","old_content":"import React from 'react';\nimport { motion, useReducedMotion } from 'framer-motion';"},{"new_content":"<main className=\"relative flex min-h-screen flex-col overflow-x-hidden bg-transparent text-white [&>section]:!bg-transparent\">","old_content":"<main className=\"relative flex min-h-screen flex-col overflow-x-hidden bg-[#01050b] text-white lg:min-h-[125vh] lg:w-[125%] lg:[zoom:.8] [&>section]:!bg-transparent\">"},{"new_content":"className=\"pointer-events-none fixed inset-0 h-full w-full object-cover object-center\"","old_content":"className=\"pointer-events-none fixed inset-0 h-full w-full object-fill object-center\""},{"new_content":"<header className=\"relative z-20 border-b border-sky-300/20 bg-[#010712]/42 shadow-[0_12px_50px_rgba(0,0,0,.22),0_1px_0_rgba(56,189,248,.12)] backdrop-blur-2xl\"><div className=\"mx-auto grid w-full max-w-[1580px] grid-cols-[auto_1fr_auto] items-center gap-4 px-6 py-2.5 lg:px-8\"><BrandLogo /><nav className=\"hidden justify-self-center rounded-xl border border-sky-300/15 bg-[#03101a]/42 p-1 backdrop-blur-xl lg:flex\"><Link to=\"/\" className=\"relative rounded-lg bg-sky-400/12 px-3.5 py-2 text-[13px] font-bold text-sky-200\">Home<span className=\"absolute inset-x-3.5 -bottom-1 h-0.5 rounded-full bg-cyan-300 shadow-[0_0_12px_rgba(34,211,238,.8)]\" /></Link>{[['/how-it-works','How It Works'],['/services','Services'],['/service-areas','Service Areas'],['/about','About'],['/contact','Contact']].map(([href,label]) => <Link key={href} to={href} className=\"rounded-lg px-3.5 py-2 text-[13px] font-bold text-white/72 transition hover:bg-white/[.05] hover:text-white\">{label}</Link>)}</nav><div className=\"flex items-center gap-2\">","old_content":"<header className=\"relative z-20 border-b border-sky-300/20 bg-[#010712]/46 shadow-[0_12px_50px_rgba(0,0,0,.22),0_1px_0_rgba(56,189,248,.12)] backdrop-blur-2xl\"><div className=\"mx-auto grid w-full max-w-[1900px] grid-cols-[auto_1fr_auto] items-center gap-5 px-7 py-3 lg:px-12\"><BrandLogo /><nav className=\"hidden justify-self-center rounded-2xl border border-sky-300/15 bg-[#03101a]/45 p-1.5 backdrop-blur-xl lg:flex\"><a href=\"/\" className=\"relative rounded-xl bg-sky-400/12 px-4 py-2.5 text-sm font-bold text-sky-200\">Home<span className=\"absolute inset-x-4 -bottom-1 h-0.5 rounded-full bg-cyan-300 shadow-[0_0_12px_rgba(34,211,238,.8)]\" /></a>{[['/how-it-works','How It Works'],['/services','Services'],['/service-areas','Service Areas'],['/about','About'],['/contact','Contact']].map(([href,label]) => <a key={href} href={href} className=\"rounded-xl px-4 py-2.5 text-sm font-bold text-white/72 transition hover:bg-white/[.05] hover:text-white\">{label}</a>)}</nav><div className=\"flex items-center gap-2\">"},{"new_content":"<div className=\"relative mx-auto w-full max-w-[1580px] px-6 py-3 sm:px-8 lg:px-10\"><div className=\"grid min-h-[570px] items-center gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(560px,640px)_minmax(0,1fr)] xl:gap-8\">","old_content":"<div className=\"relative mx-auto w-full max-w-[1900px] px-7 py-4 sm:px-9 lg:px-12\"><div className=\"grid min-h-[690px] items-center gap-7 lg:grid-cols-[minmax(340px,.72fr)_minmax(640px,1.38fr)_minmax(340px,.72fr)] xl:grid-cols-[minmax(380px,.74fr)_minmax(700px,1.42fr)_minmax(380px,.74fr)] xl:gap-8 2xl:grid-cols-[minmax(400px,.75fr)_minmax(760px,1.45fr)_minmax(400px,.75fr)]\">"},{"new_content":"className=\"min-w-0 max-w-[390px] justify-self-start lg:self-center\"><div className=\"mb-4 inline-flex items-center gap-2 rounded-full","old_content":"className=\"min-w-0 lg:self-center\"><div className=\"mb-6 inline-flex items-center gap-2 rounded-full"},{"new_content":"<h1 className=\"max-w-[390px] text-[2.85rem] font-black leading-[.9] tracking-[-.055em] sm:text-[3.2rem] lg:text-[3.45rem] xl:text-[3.7rem]\">","old_content":"<h1 className=\"max-w-3xl text-[3rem] font-black leading-[.88] tracking-[-.06em] sm:text-[3.6rem] lg:text-[4.15rem] xl:text-[4.55rem] 2xl:text-[4.8rem]\">"},{"new_content":"<div className=\"min-w-0 w-full max-w-[640px] justify-self-center\"><motion.div initial={reduceMotion ? false : { opacity: 0, scale: .985, y: 10 }}","old_content":"<div className=\"min-w-0\"><motion.div initial={reduceMotion ? false : { opacity: 0, scale: .985, y: 10 }}"},{"new_content":"className=\"min-w-0 w-full max-w-[330px] justify-self-end rounded-[1.5rem] border border-sky-300/18 bg-[#02050a]/54 p-4 shadow-[0_22px_60px_rgba(0,0,0,.24),0_0_42px_rgba(14,165,233,.07)] backdrop-blur-xl lg:self-center\"","old_content":"className=\"min-w-0 rounded-[1.5rem] border border-sky-300/18 bg-[#02050a]/54 p-4 shadow-[0_22px_60px_rgba(0,0,0,.24),0_0_42px_rgba(14,165,233,.07)] backdrop-blur-xl lg:col-span-2 xl:col-span-1 xl:self-center\""}]},{"path":"src/pages/auto-lockout/AutoUnlockInfoPage.tsx","edits":[{"new_content":"import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { AlertTriangle, ArrowRight, KeyRound, MapPin, ShieldCheck } from 'lucide-react';","old_content":"import React from 'react';\nimport { AlertTriangle, ArrowRight, KeyRound, MapPin, ShieldCheck } from 'lucide-react';"},{"new_content":"<Link to=\"/\" aria-label=\"321 Auto Unlock home\" className=\"flex h-16 w-[220px] items-center\">","old_content":"<a href=\"/\" aria-label=\"321 Auto Unlock home\" className=\"flex h-16 w-[220px] items-center\">"},{"new_content":"</Link>\n        <nav className=\"hidden items-center gap-1 rounded-2xl","old_content":"</a>\n        <nav className=\"hidden items-center gap-1 rounded-2xl"},{"new_content":"return <Link key={href} to={href} className={`relative rounded-xl px-4 py-2.5 text-sm font-bold transition ${selected ? 'bg-sky-400/12 text-sky-200' : 'text-white/72 hover:bg-white/[.05] hover:text-white'}`}>{label}{selected ? <span className=\"absolute inset-x-4 -bottom-1 h-0.5 rounded-full bg-cyan-300 shadow-[0_0_12px_rgba(34,211,238,.8)]\" /> : null}</Link>;","old_content":"return <a key={href} href={href} className={`relative rounded-xl px-4 py-2.5 text-sm font-bold transition ${selected ? 'bg-sky-400/12 text-sky-200' : 'text-white/72 hover:bg-white/[.05] hover:text-white'}`}>{label}{selected ? <span className=\"absolute inset-x-4 -bottom-1 h-0.5 rounded-full bg-cyan-300 shadow-[0_0_12px_rgba(34,211,238,.8)]\" /> : null}</a>;"},{"new_content":"<main className=\"relative min-h-screen overflow-x-hidden bg-transparent text-white\">","old_content":"<main className=\"relative min-h-screen overflow-x-hidden bg-[#01050b] text-white lg:min-h-[125vh] lg:w-[125%] lg:[zoom:.8]\">"},{"new_content":"className=\"pointer-events-none fixed inset-0 h-full w-full object-cover object-center\"","old_content":"className=\"pointer-events-none fixed inset-0 h-full w-full object-fill object-center\""}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"97bf489d-c3bd-4454-9450-220f5c5e84d1","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/auto-lockout/AutoUnlockPublic.tsx","src/pages/auto-lockout/AutoUnlockInfoPage.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":"74938df5c397344ec55ec94d5941d88428d075086bbd30614158fd9b51708aff","replayCount":0,"serializedBytes":8740},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T18:40:26.624989+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:97bf489d-c3bd-4454-9450-220f5c5e84d1:repository-mutation-intent:74938df5c397344ec55ec94d5941d88428d075086bbd30614158fd9b51708aff:0","mission_step_id":"397019b1-e85c-49ba-a327-288e44a41177","command_center_event_id":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},{"id":"b25771d6-2f9d-4390-b930-24a5f82c9a3e","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T16:00:35.272592+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/fix-universal-experience-editor-bootstrap-20260803-r202608031550\",\"prNumber\":3883,\"sourceSha\":\"a9b806efcbf8ca1719942e3f201968fc72b7299c\",\"deploymentId\":\"canonical-release-a9b806efcbf8\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:52:14.202137+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:41069659-ac6d-4f40-90b8-6ff86b77e2cf:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduct","mission_step_id":"3740fc36-566c-4e2f-aa3d-536590c2d272","command_center_event_id":"41069659-ac6d-4f40-90b8-6ff86b77e2cf"},{"id":"a94e7271-7ad5-4480-a33c-8daa8deab249","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T16:36:28.818575+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:53:05.6192+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:b426fe30-c311-4677-ba1a-f32ba2eddc5a:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_","mission_step_id":"b11752df-f9d0-45f6-9846-6220309aa251","command_center_event_id":"b426fe30-c311-4677-ba1a-f32ba2eddc5a"},{"id":"53d66007-afc3-416e-aef4-ce9a65ab4699","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"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},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T18:57:45.114402+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/repair-premium-experience-editor-20260803-v3-r202608031627\",\"prNumber\":3887,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:53:07.77413+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:12c9c723-e621-405e-8e6e-a91f7e24f237:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"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-ex","mission_step_id":"43ee8805-560e-4dac-a459-2bfe17f0e3f4","command_center_event_id":"12c9c723-e621-405e-8e6e-a91f7e24f237"},{"id":"947cfd43-f226-4daf-82b5-3befc99fc88d","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T16:40:28.26931+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3887,\"sourceSha\":\"106c18b51421cfae3b5a4b6d7e382901fbd7cecd\",\"deploymentId\":\"canonical-release-106c18b51421\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:54:09.795916+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:11924422-f37a-4d46-bc98-ccf2dd896b63:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"77ddf428-92f5-4b3d-829c-27be7be5cd67","command_center_event_id":"11924422-f37a-4d46-bc98-ccf2dd896b63"},{"id":"500e02b6-9f5a-4e9d-bbaf-46bcf18df1da","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-f952e008de80","writes":[],"patches":[],"approved":true,"missionId":"f952e008-de80-4234-9c25-969060402958","objective":"Platform-wide frontend repair: all contextual and workflow header cards use fixed positioning directly under the global page header, remain visible while page content scrolls, and reserve layout space so they never obscure content. Apply through the shared platform primitive and platform standards, preserving tenant styling and navigation.","repository":"noel/KnockLaunchOS","ownerApproved":true,"anchored_edits":[{"path":"src/PrivateAppShell.tsx","new_string":"function BigPapisApplicationFamilyStyle(){\n  const location=useLocation();\n  const{activeTenant}=useMultiTenant();\n\n  React.useEffect(()=>{\n    if(typeof document==='undefined')return;\n    const slug=String(activeTenant?.company_slug||'').trim().toLowerCase();\n    const path=location.pathname.toLowerCase();\n    const isBigPapis=slug==='big-papis'||path.startsWith('/big-papis/');\n    const modeClass=path.includes('/start-popup')||path.includes('/pop-up')||path.includes('/popup')?'kl-bp-popup':path.includes('/back-office')?'kl-bp-back-office':path.includes('/messages')||path.includes('/messaging')||path.includes('/communications')?'kl-bp-connect':path.includes('/event')?'kl-bp-event':'kl-bp-plan';\n    const classes=['kl-big-papis-app-family','kl-bp-plan','kl-bp-popup','kl-bp-event','kl-bp-back-office','kl-bp-connect'];\n    for(const className of classes)document.body.classList.remove(className);\n    if(isBigPapis)document.body.classList.add('kl-big-papis-app-family',modeClass);\n    return()=>{for(const className of classes)document.body.classList.remove(className)};\n  },[activeTenant?.company_slug,location.pathname]);\n\n  React.useEffect(()=>{\n    if(typeof document==='undefined'||typeof window==='undefined')return;\n    const selector=[\n      '[data-contextual-header]',\n      '[data-workflow-header]',\n      '[data-page-guidance]',\n      '[data-step-header]',\n      '[data-progress-header]',\n      '.contextual-header',\n      '.workflow-header',\n      '.page-guidance-header',\n      '.workflow-progress-header',\n      '.pipeline-progress-header',\n      '.sticky-progress-header',\n      '.context-header-card',\n      '[class*=\"contextual-header\"]',\n      '[class*=\"workflow-header\"]',\n      '[class*=\"progress-header\"]',\n      '[class*=\"pipeline-header\"]'\n    ].join(',');\n    const records=new Map<HTMLElement,{placeholder:HTMLDivElement;position:string;top:string;left:string;width:string;right:string;zIndex:string}>();\n    let frame=0;\n\n    const resolveTop=()=>{\n      const candidates=Array.from(document.querySelectorAll<HTMLElement>('[data-global-app-header],[data-platform-header],[data-tenant-header],header'))\n        .filter((node)=>!node.matches(selector))\n        .map((node)=>node.getBoundingClientRect())\n        .filter((rect)=>rect.height>0&&rect.bottom>0&&rect.top<160);\n      return Math.max(0,...candidates.map((rect)=>Math.round(rect.bottom)));\n    };\n\n    const positionAll=()=>{\n      frame=0;\n      const top=resolveTop();\n      for(const[element,record]of records){\n        if(!element.isConnected||!record.placeholder.isConnected)continue;\n        const rect=record.placeholder.getBoundingClientRect();\n        record.placeholder.style.height=`${Math.ceil(element.getBoundingClientRect().height)}px`;\n        element.style.setProperty('position','fixed','important');\n        element.style.setProperty('top',`${top}px`,'important');\n        element.style.setProperty('left',`${Math.round(rect.left)}px`,'important');\n        element.style.setProperty('right','auto','important');\n        element.style.setProperty('width',`${Math.round(rect.width)}px`,'important');\n        element.style.setProperty('z-index','10020','important');\n        element.dataset.klFixedContextualHeader='true';\n      }\n    };\n\n    const schedule=()=>{if(!frame)frame=window.requestAnimationFrame(positionAll)};\n\n    const discover=()=>{\n      const found=Array.from(document.querySelectorAll<HTMLElement>(selector))\n        .filter((element)=>!element.closest('[data-kl-contextual-header-placeholder=\"true\"]'))\n        .filter((element)=>!element.parentElement?.closest(selector));\n      for(const element of found){\n        if(records.has(element))continue;\n        const rect=element.getBoundingClientRect();\n        if(rect.height<=0||rect.width<=0)continue;\n        const placeholder=document.createElement('div');\n        placeholder.dataset.klContextualHeaderPlaceholder='true';\n        placeholder.setAttribute('aria-hidden','true');\n        placeholder.style.height=`${Math.ceil(rect.height)}px`;\n        placeholder.style.width='100%';\n        placeholder.style.pointerEvents='none';\n        element.parentElement?.insertBefore(placeholder,element);\n        records.set(element,{\n          placeholder,\n          position:element.style.position,\n          top:element.style.top,\n          left:element.style.left,\n          width:element.style.width,\n          right:element.style.right,\n          zIndex:element.style.zIndex\n        });\n      }\n      schedule();\n    };\n\n    const observer=new MutationObserver(discover);\n    observer.observe(document.body,{childList:true,subtree:true});\n    window.addEventListener('resize',schedule,{passive:true});\n    discover();\n\n    return()=>{\n      observer.disconnect();\n      window.removeEventListener('resize',schedule);\n      if(frame)window.cancelAnimationFrame(frame);\n      for(const[element,record]of records){\n        element.style.position=record.position;\n        element.style.top=record.top;\n        element.style.left=record.left;\n        element.style.width=record.width;\n        element.style.right=record.right;\n        element.style.zIndex=record.zIndex;\n        delete element.dataset.klFixedContextualHeader;\n        record.placeholder.remove();\n      }\n    };\n  },[location.pathname]);\n\n  return null;\n}","old_string":"function BigPapisApplicationFamilyStyle(){const location=useLocation();const{activeTenant}=useMultiTenant();React.useEffect(()=>{if(typeof document==='undefined')return;const slug=String(activeTenant?.company_slug||'').trim().toLowerCase();const path=location.pathname.toLowerCase();const isBigPapis=slug==='big-papis'||path.startsWith('/big-papis/');const modeClass=path.includes('/start-popup')||path.includes('/pop-up')||path.includes('/popup')?'kl-bp-popup':path.includes('/back-office')?'kl-bp-back-office':path.includes('/messages')||path.includes('/messaging')||path.includes('/communications')?'kl-bp-connect':path.includes('/event')?'kl-bp-event':'kl-bp-plan';const classes=['kl-big-papis-app-family','kl-bp-plan','kl-bp-popup','kl-bp-event','kl-bp-back-office','kl-bp-connect'];for(const className of classes)document.body.classList.remove(className);if(isBigPapis){document.body.classList.add('kl-big-papis-app-family',modeClass)}return()=>{for(const className of classes)document.body.classList.remove(className)}},[activeTenant?.company_slug,location.pathname]);return null}"}],"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"04efaed427ac2165f4c20fbf440d40bb566d1fda279565054a28430de89039cd","replayCount":0,"serializedBytes":7246},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T02:22:29.016087+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:f952e008-de80-4234-9c25-969060402958:repository-mutation-intent:04efaed427ac2165f4c20fbf440d40bb566d1fda279565054a28430de89039cd:0","mission_step_id":"bd79587b-081d-40f1-8747-60d76bdc5908","command_center_event_id":"f952e008-de80-4234-9c25-969060402958"},{"id":"3d4bcf00-f34c-4abd-8a92-d8194dd92945","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T16:48:13.209396+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:54:11.303943+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:f9cdce2f-8f54-4dec-af9c-1cb7d848b1ab:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_","mission_step_id":"d834e927-9210-4683-96d8-3d858409842b","command_center_event_id":"f9cdce2f-8f54-4dec-af9c-1cb7d848b1ab"},{"id":"c9b73d75-7d82-4b4b-955f-3044926e4066","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T16:48:28.25086+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:54:12.884381+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:6b143a1d-d9e8-4ea4-baef-9a9cbc123f3b:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_","mission_step_id":"92951a2a-dcc3-46d6-a04f-219358ca6987","command_center_event_id":"6b143a1d-d9e8-4ea4-baef-9a9cbc123f3b"},{"id":"96cd5798-4b65-4f17-a994-628b837a5dc6","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"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},\"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\":\"pull_request\",\"deadlineAt\":\"2026-08-03T19:07:32.787391+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/experience-studio-premium-workspace-20260803-r202608031643\",\"prNumber\":3888,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:54:15.159053+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:f3cdd7ce-1fa5-4ec5-aec4-704b897b5bc7:deterministic-transition:none:{\"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\",\"re","mission_step_id":"6636ea86-4f50-46be-b7c1-6549513334da","command_center_event_id":"f3cdd7ce-1fa5-4ec5-aec4-704b897b5bc7"},{"id":"b9e342b0-ee9c-4fa0-8a32-977c64bb37be","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","supabase/functions/command-center-autopilot/index.ts","supabase/functions/command-center-autopilot/missionLedger.ts","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly requested the first-class machinery bar pushed further. This upgrade closes the duplicate event/cron split-brain race with durable lease epochs, formalizes fairness, adds synthetic chaos invariants, and exposes recovery error-budget telemetry without adding new infrastructure.","baseSha":"c4f843325b7376cc005df98f5ec76a032247a740","issuedAt":1789919683300,"expiresAt":1789919863300,"missionId":"392e0099-9a83-4bf8-ab58-c4fb841420be","authorizationId":"3fb9b617-b0d7-4769-bc52-d3a064f2a602","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:54:43.641657+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"c4f843325b7376cc005df98f5ec76a032247a740","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:3fb9b617-b0d7-4769-bc52-d3a064f2a602","mission_step_id":"d166f074-fe49-4f45-bc02-94ec96962c9d","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"b1520dfe-b86a-419d-9f98-213835d4c648","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-d2d766a7af1e","prNumber":3644,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"660e49e581dd3b11c527266325f90a5789d55cc9","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T17:09:14.430958+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"660e49e581dd3b11c527266325f90a5789d55cc9","external_id":"3644","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:d2d766a7-af1e-48e0-b11b-4cfb9ba15833:merged-pr:3644:660e49e581dd3b11c527266325f90a5789d55cc9","mission_step_id":"11e7909a-ac11-4e64-a2bd-07bdb98f30e1","command_center_event_id":"d2d766a7-af1e-48e0-b11b-4cfb9ba15833"},{"id":"ebf22d55-aac9-434a-a9cb-498805bbd0d5","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_invalid","fingerprint":"04efaed427ac2165f4c20fbf440d40bb566d1fda279565054a28430de89039cd"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T02:22:30.86186+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:f952e008-de80-4234-9c25-969060402958:repository-mutation-intent-blocked:04efaed427ac2165f4c20fbf440d40bb566d1fda279565054a28430de89039cd","mission_step_id":"bd79587b-081d-40f1-8747-60d76bdc5908","command_center_event_id":"f952e008-de80-4234-9c25-969060402958"},{"id":"58141856-f81a-4ac6-a258-413eb9b5d779","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","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":"922a4f7b74c9487b5dd5bbe44c2fe2a0a3b4b6a61fa9f863ff6377ce4492262e","forgejoWorkflowProof":{"runId":11485,"source":"exact_live_cc_execution_runtime_identity","status":"running","liveSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","results":{},"proofGate":"cc_execution_exact_live_runtime_substitutes_transient_workflow_receipt","sourceSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","conclusion":"running","deploymentId":"forgejo-main-9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","targetStates":{"ccExecution":"pending"},"runtimeVersion":"1.58.254-evidence-bound-progress","targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"},"workflowReceiptSubstituted":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","compareStatus":"identical","workflowRunId":11485,"identitySource":"local_build_metadata","runtimeVersion":"1.58.254-evidence-bound-progress","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T13:59:55.818117+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","external_id":"forgejo-main-9bdc4c37e63d","receipt_type":"canonical_release_status","idempotency_key":"mission:d4a699bc-5629-4689-84ab-bced59d27d65:forgejo-release-status:9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"3132c2d6-c0a4-47e1-af38-97250c40dc2e","command_center_event_id":"d4a699bc-5629-4689-84ab-bced59d27d65"},{"id":"37e384a6-0518-42d0-a5b0-0d9345a99e32","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-f952e008de80","writes":[],"patches":[],"approved":true,"missionId":"f952e008-de80-4234-9c25-969060402958","objective":"Platform-wide frontend repair: all contextual and workflow header cards use fixed positioning directly under the global page header, remain visible while page content scrolls, and reserve layout space so they never obscure content. Apply through the shared platform primitive and platform standards, preserving tenant styling and navigation.","repository":"noel/KnockLaunchOS","ownerApproved":true,"sourceTargets":["src/PrivateAppShell.tsx"],"anchored_edits":[{"find":"function BigPapisApplicationFamilyStyle(){const location=useLocation();const{activeTenant}=useMultiTenant();React.useEffect(()=>{if(typeof document==='undefined')return;const slug=String(activeTenant?.company_slug||'').trim().toLowerCase();const path=location.pathname.toLowerCase();const isBigPapis=slug==='big-papis'||path.startsWith('/big-papis/');const modeClass=path.includes('/start-popup')||path.includes('/pop-up')||path.includes('/popup')?'kl-bp-popup':path.includes('/back-office')?'kl-bp-back-office':path.includes('/messages')||path.includes('/messaging')||path.includes('/communications')?'kl-bp-connect':path.includes('/event')?'kl-bp-event':'kl-bp-plan';const classes=['kl-big-papis-app-family','kl-bp-plan','kl-bp-popup','kl-bp-event','kl-bp-back-office','kl-bp-connect'];for(const className of classes)document.body.classList.remove(className);if(isBigPapis){document.body.classList.add('kl-big-papis-app-family',modeClass)}return()=>{for(const className of classes)document.body.classList.remove(className)}},[activeTenant?.company_slug,location.pathname]);return null}","path":"src/PrivateAppShell.tsx","replace":"function BigPapisApplicationFamilyStyle(){\n  const location=useLocation();\n  const{activeTenant}=useMultiTenant();\n\n  React.useEffect(()=>{\n    if(typeof document==='undefined')return;\n    const slug=String(activeTenant?.company_slug||'').trim().toLowerCase();\n    const path=location.pathname.toLowerCase();\n    const isBigPapis=slug==='big-papis'||path.startsWith('/big-papis/');\n    const modeClass=path.includes('/start-popup')||path.includes('/pop-up')||path.includes('/popup')?'kl-bp-popup':path.includes('/back-office')?'kl-bp-back-office':path.includes('/messages')||path.includes('/messaging')||path.includes('/communications')?'kl-bp-connect':path.includes('/event')?'kl-bp-event':'kl-bp-plan';\n    const classes=['kl-big-papis-app-family','kl-bp-plan','kl-bp-popup','kl-bp-event','kl-bp-back-office','kl-bp-connect'];\n    for(const className of classes)document.body.classList.remove(className);\n    if(isBigPapis)document.body.classList.add('kl-big-papis-app-family',modeClass);\n    return()=>{for(const className of classes)document.body.classList.remove(className)};\n  },[activeTenant?.company_slug,location.pathname]);\n\n  React.useEffect(()=>{\n    if(typeof document==='undefined'||typeof window==='undefined')return;\n    const selector=[\n      '[data-contextual-header]',\n      '[data-workflow-header]',\n      '[data-page-guidance]',\n      '[data-step-header]',\n      '[data-progress-header]',\n      '.contextual-header',\n      '.workflow-header',\n      '.page-guidance-header',\n      '.workflow-progress-header',\n      '.pipeline-progress-header',\n      '.sticky-progress-header',\n      '.context-header-card',\n      '[class*=\"contextual-header\"]',\n      '[class*=\"workflow-header\"]',\n      '[class*=\"progress-header\"]',\n      '[class*=\"pipeline-header\"]'\n    ].join(',');\n    const records=new Map<HTMLElement,{placeholder:HTMLDivElement;position:string;top:string;left:string;width:string;right:string;zIndex:string}>();\n    let frame=0;\n\n    const resolveTop=()=>{\n      const candidates=Array.from(document.querySelectorAll<HTMLElement>('[data-global-app-header],[data-platform-header],[data-tenant-header],header'))\n        .filter((node)=>!node.matches(selector))\n        .map((node)=>node.getBoundingClientRect())\n        .filter((rect)=>rect.height>0&&rect.bottom>0&&rect.top<160);\n      return Math.max(0,...candidates.map((rect)=>Math.round(rect.bottom)));\n    };\n\n    const positionAll=()=>{\n      frame=0;\n      const top=resolveTop();\n      for(const[element,record]of records){\n        if(!element.isConnected||!record.placeholder.isConnected)continue;\n        const rect=record.placeholder.getBoundingClientRect();\n        record.placeholder.style.height=`${Math.ceil(element.getBoundingClientRect().height)}px`;\n        element.style.setProperty('position','fixed','important');\n        element.style.setProperty('top',`${top}px`,'important');\n        element.style.setProperty('left',`${Math.round(rect.left)}px`,'important');\n        element.style.setProperty('right','auto','important');\n        element.style.setProperty('width',`${Math.round(rect.width)}px`,'important');\n        element.style.setProperty('z-index','10020','important');\n        element.dataset.klFixedContextualHeader='true';\n      }\n    };\n\n    const schedule=()=>{if(!frame)frame=window.requestAnimationFrame(positionAll)};\n\n    const discover=()=>{\n      const found=Array.from(document.querySelectorAll<HTMLElement>(selector))\n        .filter((element)=>!element.closest('[data-kl-contextual-header-placeholder=\"true\"]'))\n        .filter((element)=>!element.parentElement?.closest(selector));\n      for(const element of found){\n        if(records.has(element))continue;\n        const rect=element.getBoundingClientRect();\n        if(rect.height<=0||rect.width<=0)continue;\n        const placeholder=document.createElement('div');\n        placeholder.dataset.klContextualHeaderPlaceholder='true';\n        placeholder.setAttribute('aria-hidden','true');\n        placeholder.style.height=`${Math.ceil(rect.height)}px`;\n        placeholder.style.width='100%';\n        placeholder.style.pointerEvents='none';\n        element.parentElement?.insertBefore(placeholder,element);\n        records.set(element,{\n          placeholder,\n          position:element.style.position,\n          top:element.style.top,\n          left:element.style.left,\n          width:element.style.width,\n          right:element.style.right,\n          zIndex:element.style.zIndex\n        });\n      }\n      schedule();\n    };\n\n    const observer=new MutationObserver(discover);\n    observer.observe(document.body,{childList:true,subtree:true});\n    window.addEventListener('resize',schedule,{passive:true});\n    discover();\n\n    return()=>{\n      observer.disconnect();\n      window.removeEventListener('resize',schedule);\n      if(frame)window.cancelAnimationFrame(frame);\n      for(const[element,record]of records){\n        element.style.position=record.position;\n        element.style.top=record.top;\n        element.style.left=record.left;\n        element.style.width=record.width;\n        element.style.right=record.right;\n        element.style.zIndex=record.zIndex;\n        delete element.dataset.klFixedContextualHeader;\n        record.placeholder.remove();\n      }\n    };\n  },[location.pathname]);\n\n  return null;\n}"}],"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"26db05d4fe9e768488f545f606eb218dfac036dccc34170e3d5f1a3586ea7445","replayCount":0,"serializedBytes":7281},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T02:23:40.876363+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:f952e008-de80-4234-9c25-969060402958:repository-mutation-intent:26db05d4fe9e768488f545f606eb218dfac036dccc34170e3d5f1a3586ea7445:0","mission_step_id":"bd79587b-081d-40f1-8747-60d76bdc5908","command_center_event_id":"f952e008-de80-4234-9c25-969060402958"},{"id":"78fd0036-2597-4a31-85f9-7692d7234726","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/split-brain-safe-mission-supervisor","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.194-first-class-mission-runtime","prNumber":3296,"terminal":false,"missionId":"392e0099-9a83-4bf8-ab58-c4fb841420be","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":11212,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":3471,"missionSetupMs":374,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":374,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":374,"repositoryMutationMs":7741,"repositoryProviderMs":7741,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":4867,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":374,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2874},"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":"392e0099-9a83-4bf8-ab58-c4fb841420be"},"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":4617,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:54:54.611913+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3296","receipt_type":"execute_mission","idempotency_key":"mission:392e0099-9a83-4bf8-ab58-c4fb841420be:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"dbccc849-5b6e-4ffa-8818-503533d53e09","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"59be9d8e-5b3c-4789-adbf-291def9ea887","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"c4f843325b7376cc005df98f5ec76a032247a740","sourceSha":"106c18b51421cfae3b5a4b6d7e382901fbd7cecd","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:55:02.949452+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"106c18b51421cfae3b5a4b6d7e382901fbd7cecd","external_id":"canonical-release-106c18b51421","receipt_type":"canonical_release_status","idempotency_key":"mission:7d4b1e9f-bfc6-4f14-9e82-08dbb9d17134:forgejo-release-ancestry:106c18b51421cfae3b5a4b6d7e382901fbd7cecd:c4f843325b7376cc005df98f5ec76a032247a740:ancestry_read_retryable","mission_step_id":"50bbedf1-aeb3-4557-a65e-002bec016964","command_center_event_id":"7d4b1e9f-bfc6-4f14-9e82-08dbb9d17134"},{"id":"ca79cc7b-6bbf-4b10-8a3c-13944e7438fa","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"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-03T17:09:42.407022+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/bound-experience-editor-mobile-proof-20260803-r202608031659\",\"prNumber\":3890,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:55:15.629628+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:bd2ec717-8ce3-439d-b51f-bc5aa2a6fdfe:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_re","mission_step_id":"1aab8648-5bcd-4e48-9be7-af7053442e44","command_center_event_id":"bd2ec717-8ce3-439d-b51f-bc5aa2a6fdfe"},{"id":"c899c4b7-56dd-4c30-b166-28193ede895a","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/split-brain-safe-mission-supervisor","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3296,"terminal":false,"missionId":"392e0099-9a83-4bf8-ab58-c4fb841420be","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","timingsMs":{"prReadinessMs":1708,"approvedPlanMs":0,"shipAndProveMs":9755,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"392e0099-9a83-4bf8-ab58-c4fb841420be"},"performance":null,"deploymentId":"forgejo-main-0646720cad3d","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["command-center-autopilot"]},"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":2237,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:55:41.287922+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3296","receipt_type":"automatic_mission_resume","idempotency_key":"mission:392e0099-9a83-4bf8-ab58-c4fb841420be:automatic-mission-resume:3296:canonical_release_dispatched","mission_step_id":"39c9345c-6c62-4697-b2a5-28cebd04c188","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"a708805f-08e8-49c1-ace8-93818f85de49","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T16:40:53.358306+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3887,\"sourceSha\":\"106c18b51421cfae3b5a4b6d7e382901fbd7cecd\",\"deploymentId\":\"canonical-release-106c18b51421\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:55:10.89198+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:7d4b1e9f-bfc6-4f14-9e82-08dbb9d17134:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"50bbedf1-aeb3-4557-a65e-002bec016964","command_center_event_id":"7d4b1e9f-bfc6-4f14-9e82-08dbb9d17134"},{"id":"84605ff5-08ea-4ff1-a9e5-81c288230e6f","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"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-03T16:58:26.544817+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/repair-experience-editor-witness-entry-20260803-r202608031648\",\"prNumber\":3889,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:55:13.40323+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:0ca2dfa2-1f3d-4fff-97cf-20d9468d83bb:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_re","mission_step_id":"b64ea459-75a6-4e75-a1e2-4dcd0ae6bc10","command_center_event_id":"0ca2dfa2-1f3d-4fff-97cf-20d9468d83bb"},{"id":"e48c3421-8841-4e98-99b4-fd0054b53d9e","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"9210ede472372a6c77140aa5bea7901529518dd1","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:56:03.37434+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"9210ede472372a6c77140aa5bea7901529518dd1","external_id":"canonical-release-9210ede47237","receipt_type":"canonical_release_status","idempotency_key":"mission:f00b31ad-4fab-4ce5-ae45-ef350941afaa:forgejo-release-ancestry:9210ede472372a6c77140aa5bea7901529518dd1:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"980f03f5-b978-4341-a847-df2ec0fcbace","command_center_event_id":"f00b31ad-4fab-4ce5-ae45-ef350941afaa"},{"id":"fb9aca18-8214-4a31-9750-3fc7e4fd5854","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"5964fc1feefc7c90a6af5c3ebe6e3d76d35fb31e","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:56:15.947241+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"5964fc1feefc7c90a6af5c3ebe6e3d76d35fb31e","external_id":"canonical-release-5964fc1feefc","receipt_type":"canonical_release_status","idempotency_key":"mission:c0bc59a3-c2e1-49be-a8a5-7ec09fccbf22:forgejo-release-ancestry:5964fc1feefc7c90a6af5c3ebe6e3d76d35fb31e:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"760021f6-51f5-4f44-86e4-a1d897c97665","command_center_event_id":"c0bc59a3-c2e1-49be-a8a5-7ec09fccbf22"},{"id":"72c5389f-45a5-4eb9-b31a-c360689ac131","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-c387d88b5d3b","writes":[],"patches":[],"version":1,"approved":true,"missionId":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38","objective":"Corrective generation from current protected main 9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b after real merge conflict on PR #3618. Implement protected-main release-only recovery exactly as diagnosed. In dispatchForgejoRelease add explicitProtectedMainSourceShaInput; when no prNumber, exact SHA is valid and equals readMainSnapshot(env,false).sha, and explicit requiredReleaseTargets contains at least one true runtime target, skip PR reads, synthesize merged-main release identity from that SHA, infer no targets from paths, merge only explicit required targets, and reuse existing per-target reconciliation/workflow_dispatch logic. In shipAndProve allow no PR only for body.releaseOnlyProtectedMain===true with the same exact-main + explicit-target validation; skip PR readiness and call dispatchForgejoRelease with the explicit SHA. In executeRepairMission recognize shipRequested + no mutation + no PR + exact sourceSha + explicit required targets as release-only recovery, bypass synthesis/PR-required, and call shipAndProve with releaseOnlyProtectedMain:true. Preserve normal PR/Gate behavior otherwise. Update src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts with the release-only recovery contract. Update workers/cc-execution/test/release-orchestration-invariants.test.js so the existing cancelled-target recovery assertion expects `const files = releaseOnlyProtectedMainRecovery || preverifiedRecoverySeed ? [] : await readPullRequestFiles()` and `let targets = releaseOnlyProtectedMainRecovery` followed by the preverifiedRecoverySeed branch. Bump workers/cc-execution/src/version.js from 1.58.254-evidence-bound-progress to 1.58.255-protected-main-release-recovery. One fresh corrective ai branch, one PR, canonical Gate, squash merge, deploy cc-execution, verify runtime. Preserve PR #3618 as superseded conflict evidence until this corrective generation is proven.","sourceSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"async function dispatchForgejoRelease(request, env, ctx, prNumber, knownWorkflowRunIdInput = null, preverifiedReadinessInput = null, preverifiedRecoveryInput = null, requiredReleaseTargetsInput = null, explicitProtectedMainSourceShaInput = null) {","old_content":"async function dispatchForgejoRelease(request, env, ctx, prNumber, knownWorkflowRunIdInput = null, preverifiedReadinessInput = null, preverifiedRecoveryInput = null, requiredReleaseTargetsInput = null) {"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const releaseTargetsFromPaths = (paths = []) => releaseTargetsFromChangedPaths(paths);\n  const explicitProtectedMainSourceSha = String(explicitProtectedMainSourceShaInput || \"\").trim();\n  const explicitReleaseRequirements = requiredReleaseTargetsInput && typeof requiredReleaseTargetsInput === \"object\" && !Array.isArray(requiredReleaseTargetsInput)\n    ? requiredReleaseTargetsInput\n    : {};\n  const releaseOnlyProtectedMainRecovery = (!Number.isInteger(Number(prNumber)) || Number(prNumber) < 1)\n    && /^[0-9a-f]{40}$/i.test(explicitProtectedMainSourceSha)\n    && [\"ccExecution\", \"onrunner\", \"frontend\", \"supabaseEdge\", \"migrations\"].some((target) => explicitReleaseRequirements[target] === true);\n  if (releaseOnlyProtectedMainRecovery) {\n    const currentMainSnapshot = await readMainSnapshot(env, false);\n    const currentMainSha = String(currentMainSnapshot?.sha || \"\").trim();\n    if (currentMainSha !== explicitProtectedMainSourceSha) {\n      throw new Error(\"protected_main_release_only_source_not_current_main\");\n    }\n  }\n  const preverifiedReadiness = preverifiedReadinessInput && typeof preverifiedReadinessInput === \"object\"","old_content":"  const releaseTargetsFromPaths = (paths = []) => releaseTargetsFromChangedPaths(paths);\n  const preverifiedReadiness = preverifiedReadinessInput && typeof preverifiedReadinessInput === \"object\""},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const files = releaseOnlyProtectedMainRecovery || preverifiedRecoverySeed ? [] : await readPullRequestFiles();\n  const providerPr = releaseOnlyProtectedMainRecovery\n    ? {\n        state: \"closed\",\n        draft: false,\n        merged: true,\n        base: { ref: \"main\" },\n        head: { ref: \"main\", sha: explicitProtectedMainSourceSha },\n        merged_commit_sha: explicitProtectedMainSourceSha,\n      }\n    : preverifiedReadiness\n      ? null\n      : preverifiedRecoverySeed\n        ? {\n            state: \"closed\",\n            draft: false,\n            merged: true,\n            base: { ref: \"main\" },\n            head: { ref: \"main\", sha: String(preverifiedRecoverySeed.sourceSha || \"\").trim() },\n            merged_commit_sha: String(preverifiedRecoverySeed.sourceSha || \"\").trim(),\n          }\n        : await readPullRequest();","old_content":"  const files = preverifiedRecoverySeed ? [] : await readPullRequestFiles();\n  const providerPr = preverifiedReadiness\n    ? null\n    : preverifiedRecoverySeed\n      ? {\n          state: \"closed\",\n          draft: false,\n          merged: true,\n          base: { ref: \"main\" },\n          head: { ref: \"main\", sha: String(preverifiedRecoverySeed.sourceSha || \"\").trim() },\n          merged_commit_sha: String(preverifiedRecoverySeed.sourceSha || \"\").trim(),\n        }\n      : await readPullRequest();"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  let targets = releaseOnlyProtectedMainRecovery\n    ? { ccExecution: false, onrunner: false, frontend: false, supabaseEdge: false, migrations: false, edgeFunctionSlugs: [] }\n    : preverifiedRecoverySeed\n      ? {\n          ccExecution: seededRecoveryTargets.ccExecution === true,\n          onrunner: seededRecoveryTargets.onrunner === true,\n          frontend: seededRecoveryTargets.frontend === true,\n          supabaseEdge: seededRecoveryTargets.supabaseEdge === true,\n          migrations: seededRecoveryTargets.migrations === true,\n          edgeFunctionSlugs: Array.isArray(seededRecoveryTargets.edgeFunctionSlugs) ? seededRecoveryTargets.edgeFunctionSlugs : [],\n        }\n      : { ...releaseTargetsFromPaths(paths), edgeFunctionSlugs };","old_content":"  let targets = preverifiedRecoverySeed\n    ? {\n        ccExecution: seededRecoveryTargets.ccExecution === true,\n        onrunner: seededRecoveryTargets.onrunner === true,\n        frontend: seededRecoveryTargets.frontend === true,\n        supabaseEdge: seededRecoveryTargets.supabaseEdge === true,\n        migrations: seededRecoveryTargets.migrations === true,\n        edgeFunctionSlugs: Array.isArray(seededRecoveryTargets.edgeFunctionSlugs) ? seededRecoveryTargets.edgeFunctionSlugs : [],\n      }\n    : { ...releaseTargetsFromPaths(paths), edgeFunctionSlugs };"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const body = await readBody(request);\n  const visualIntent = normalizeVisualProofIntent(body);\n  const prNumber = Number(body.prNumber || body.pr_number);\n  const explicitProtectedMainSourceSha = String(body.sourceSha || body.source_sha || \"\").trim();\n  const explicitRequiredReleaseTargets = body.requiredReleaseTargets || body.required_release_targets || {};\n  const releaseOnlyProtectedMainRecovery = body.releaseOnlyProtectedMain === true\n    && (!Number.isInteger(prNumber) || prNumber < 1)\n    && /^[0-9a-f]{40}$/i.test(explicitProtectedMainSourceSha)\n    && explicitRequiredReleaseTargets\n    && typeof explicitRequiredReleaseTargets === \"object\"\n    && !Array.isArray(explicitRequiredReleaseTargets)\n    && [\"ccExecution\", \"onrunner\", \"frontend\", \"supabaseEdge\", \"migrations\"].some((target) => explicitRequiredReleaseTargets[target] === true);\n  if ((!Number.isInteger(prNumber) || prNumber < 1) && !releaseOnlyProtectedMainRecovery) {\n    return json({ ok: false, status: \"blocked\", proofGate: \"ship_and_prove_blocked\", reason: \"valid_prNumber_required\" }, 400);\n  }","old_content":"  const body = await readBody(request);\n  const visualIntent = normalizeVisualProofIntent(body);\n  const prNumber = Number(body.prNumber || body.pr_number);\n  if (!Number.isInteger(prNumber) || prNumber < 1) {\n    return json({ ok: false, status: \"blocked\", proofGate: \"ship_and_prove_blocked\", reason: \"valid_prNumber_required\" }, 400);\n  }"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const preverifiedReadiness = body.preverifiedReadiness && typeof body.preverifiedReadiness === \"object\"\n    ? body.preverifiedReadiness\n    : null;\n  if (releaseOnlyProtectedMainRecovery) {\n    const currentMainSnapshot = await readMainSnapshot(env, false);\n    if (String(currentMainSnapshot?.sha || \"\").trim() !== explicitProtectedMainSourceSha) {\n      return json({ ok: false, status: \"blocked\", proofGate: \"ship_and_prove_blocked\", reason: \"protected_main_release_only_source_not_current_main\" }, 409);\n    }\n  }\n  const reusablePreverifiedReadiness = Boolean(","old_content":"  const preverifiedReadiness = body.preverifiedReadiness && typeof body.preverifiedReadiness === \"object\"\n    ? body.preverifiedReadiness\n    : null;\n  const reusablePreverifiedReadiness = Boolean("},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const readinessSnapshot = reusablePreverifiedReadiness || releaseOnlyProtectedMainRecovery ? null : await readMainSnapshot(env);\n  const readiness = releaseOnlyProtectedMainRecovery\n    ? {\n        response: json({ ok: true, status: \"release_only\", proofGate: \"protected_main_release_only_verified\", sourceSha: explicitProtectedMainSourceSha }, 200),\n        data: { ok: true, status: \"release_only\", proofGate: \"protected_main_release_only_verified\", sourceSha: explicitProtectedMainSourceSha },\n        attempt: 0,\n        refreshAttempted: false,\n        refreshProof: null,\n      }\n    : reusablePreverifiedReadiness\n      ? {\n          response: json(preverifiedReadiness, 200),\n          data: preverifiedReadiness,\n          attempt: 0,\n          refreshAttempted: false,\n          refreshProof: null,\n        }\n      : await waitForPullRequestReady(","old_content":"  const readinessSnapshot = reusablePreverifiedReadiness ? null : await readMainSnapshot(env);\n  const readiness = reusablePreverifiedReadiness\n    ? {\n        response: json(preverifiedReadiness, 200),\n        data: preverifiedReadiness,\n        attempt: 0,\n        refreshAttempted: false,\n        refreshProof: null,\n      }\n    : await waitForPullRequestReady("},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"    deployment = await dispatchForgejoRelease(request, env, ctx, prNumber, body.workflowRunId || body.workflow_run_id || null, readyData, null, body.requiredReleaseTargets || body.required_release_targets || null, releaseOnlyProtectedMainRecovery ? explicitProtectedMainSourceSha : null);","old_content":"    deployment = await dispatchForgejoRelease(request, env, ctx, prNumber, body.workflowRunId || body.workflow_run_id || null, readyData, null, body.requiredReleaseTargets || body.required_release_targets || null);"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const hasMutationPayload = explicitMutationPaths(body).length > 0;\n  const explicitReleaseSourceSha = String(body.sourceSha || body.source_sha || \"\").trim();\n  const explicitRequiredReleaseTargets = body.requiredReleaseTargets || body.required_release_targets || {};\n  const releaseOnlyProtectedMainRecovery = releaseIntent.shipRequested\n    && !hasMutationPayload\n    && (!Number.isInteger(existingPrNumber) || existingPrNumber < 1)\n    && /^[0-9a-f]{40}$/i.test(explicitReleaseSourceSha)\n    && explicitRequiredReleaseTargets\n    && typeof explicitRequiredReleaseTargets === \"object\"\n    && !Array.isArray(explicitRequiredReleaseTargets)\n    && [\"ccExecution\", \"onrunner\", \"frontend\", \"supabaseEdge\", \"migrations\"].some((target) => explicitRequiredReleaseTargets[target] === true);\n  const missionIdForLineage = String(body.missionId || body.mission_id || \"\").trim();","old_content":"  const hasMutationPayload = explicitMutationPaths(body).length > 0;\n  const missionIdForLineage = String(body.missionId || body.mission_id || \"\").trim();"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  if (releaseOnlyProtectedMainRecovery) {\n    executionResponse = json({\n      ok: true,\n      status: \"repair_prepared\",\n      proofGate: \"protected_main_release_only_recovery_prepared\",\n      sourceSha: explicitReleaseSourceSha,\n      synthesisBypassed: true,\n    });\n    executionData = await executionResponse.clone().json();\n  } else if (releaseIntent.shipRequested && Number.isInteger(existingPrNumber) && existingPrNumber > 0 && !hasMutationPayload) {","old_content":"  if (releaseIntent.shipRequested && Number.isInteger(existingPrNumber) && existingPrNumber > 0 && !hasMutationPayload) {"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  if (releaseOnlyProtectedMainRecovery) {\n    const shipRequest = new Request(request.url, {\n      method: \"POST\",\n      headers: request.headers,\n      body: JSON.stringify({\n        releaseOnlyProtectedMain: true,\n        sourceSha: explicitReleaseSourceSha,\n        requiredReleaseTargets: explicitRequiredReleaseTargets,\n        workflowRunId: body.workflowRunId || body.workflow_run_id || null,\n        approved: true,\n        ownerApproved: true,\n        visualProof: false,\n      }),\n    });\n    const shipAndProveStartedAt = Date.now();\n    const shipped = await shipAndProve(shipRequest, env, ctx);\n    repairTimings.shipAndProveMs = Date.now() - shipAndProveStartedAt;\n    const shippedData = await shipped.json().catch(() => ({ ok: false, status: \"blocked\", proofGate: \"repair_mission_ship_invalid_response\" }));\n    return json({ ...shippedData, executionProof: executionData, repairMission: true, timingsMs: { ...(shippedData?.timingsMs && typeof shippedData.timingsMs === \"object\" ? shippedData.timingsMs : {}), ...repairTimings } }, shipped.status);\n  }\n\n  if (executionData?.status === \"no_change\" && (!Number.isInteger(prNumber) || prNumber < 1) && !releaseIntent.shipRequested) {","old_content":"  if (executionData?.status === \"no_change\" && (!Number.isInteger(prNumber) || prNumber < 1) && !releaseIntent.shipRequested) {"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.58.255-protected-main-release-recovery\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.254-evidence-bound-progress\";"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","new_content":"  assert.match(missionControlSource, /const files = releaseOnlyProtectedMainRecovery \\|\\| preverifiedRecoverySeed \\? \\[\\] : await readPullRequestFiles\\(\\)/);\n  assert.match(missionControlSource, /merged_commit_sha: String\\(preverifiedRecoverySeed\\.sourceSha \\|\\| \"\"\\)\\.trim\\(\\)/);\n  assert.match(missionControlSource, /let targets = releaseOnlyProtectedMainRecovery/);\n  assert.match(missionControlSource, /: preverifiedRecoverySeed/);","old_content":"  assert.match(missionControlSource, /const files = preverifiedRecoverySeed \\? \\[\\] : await readPullRequestFiles\\(\\)/);\n  assert.match(missionControlSource, /merged_commit_sha: String\\(preverifiedRecoverySeed\\.sourceSha \\|\\| \"\"\\)\\.trim\\(\\)/);\n  assert.match(missionControlSource, /let targets = preverifiedRecoverySeed/);"},{"path":"src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","new_content":"  it('keeps release reconciliation inside the direct operator read budget', () => {\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_TIMEOUT_MS = 1200;');\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_MAX_ATTEMPTS = 1;');\n  });\n\n  it('allows fail-closed release-only recovery from exact current protected main without inventing PR state', () => {\n    expect(missionControlSource).toContain('protected_main_release_only_recovery_prepared');\n    expect(missionControlSource).toContain('protected_main_release_only_verified');\n    expect(missionControlSource).toContain('protected_main_release_only_source_not_current_main');\n    expect(missionControlSource).toContain('releaseOnlyProtectedMain: true');\n    expect(missionControlSource).toContain('releaseOnlyProtectedMainRecovery ? explicitProtectedMainSourceSha : null');\n    expect(missionControlSource).toContain('reason: \"valid_prNumber_required\"');\n  });","old_content":"  it('keeps release reconciliation inside the direct operator read budget', () => {\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_TIMEOUT_MS = 1200;');\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_MAX_ATTEMPTS = 1;');\n  });"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Unacceptable as there are no things in the merge queue or action queue.","wordingChanged":false,"canonicalIntent":"Make release recovery capable of dispatching explicit unfinished targets from exact current protected main without requiring PR reconciliation.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"release-only-recovery","statement":"Exact current protected-main SHA plus explicit remaining targets can create the missing workflow_dispatch without an open PR; normal source changes still require PR/Gate.","proofConditionIds":["proof-cc"]}],"objective":"Corrective generation: add fail-closed protected-main release-only recovery from current main.","constraints":[{"id":"bounded","statement":"Limit changes to mission-control release logic, cc-execution version, and focused regression assertions.","proofConditionIds":["proof-cc"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-cc","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"requestContract":{"intent":{"rawUtterance":"Unacceptable as there are no things in the merge queue or action queue.","wordingChanged":false,"canonicalIntent":"Make release recovery capable of dispatching explicit unfinished targets from exact current protected main without requiring PR reconciliation.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"release-only-recovery","statement":"Exact current protected-main SHA plus explicit remaining targets can create the missing workflow_dispatch without an open PR; normal source changes still require PR/Gate.","proofConditionIds":["proof-cc"]}],"objective":"Corrective generation: add fail-closed protected-main release-only recovery from current main.","constraints":[{"id":"bounded","statement":"Limit changes to mission-control release logic, cc-execution version, and focused regression assertions.","proofConditionIds":["proof-cc"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-cc","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner authorized corrective generation after a real merge conflict blocked the release-recovery repair."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner authorized corrective generation after a real merge conflict blocked the release-recovery repair."},"recovery":false,"fingerprint":"ff4c2c934eab2da9478acd56819702f602affff0e44bd92a29a11661c2ee12d4","replayCount":0,"serializedBytes":21702},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:01:45.844911+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:c387d88b-5d3b-4e07-9f98-56cf6fb5ea38:repository-mutation-intent:ff4c2c934eab2da9478acd56819702f602affff0e44bd92a29a11661c2ee12d4:0","mission_step_id":"683e451e-7fc6-4f67-9e21-51682e4fc948","command_center_event_id":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38"},{"id":"af652c26-feed-400f-b4e8-618b285b185a","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"lease","satisfied":true,"statement":"Every autonomous transition requires an atomic durable Supabase lease acquired by compare-and-set on the mission row. Duplicate event/cron wakeups cannot concurrently own the same mission; lease epochs and expiries survive worker/chat death.","proofConditionIds":["gate-proof","runtime-proof","edge-proof"]},{"id":"fairness","satisfied":true,"statement":"Candidate ordering is deterministic oldest-progress-first so collision pressure cannot permanently starve older missions.","proofConditionIds":["gate-proof","runtime-proof"]},{"id":"chaos","satisfied":true,"statement":"Canonical Gate includes synthetic chaos invariants for duplicate wakeup lease contention, expired lease takeover, cache-loss durable discovery, collision serialization, and fairness ordering.","proofConditionIds":["gate-proof"]},{"id":"error-budget","satisfied":true,"statement":"Supervisor telemetry reports recovery SLO burn and error-budget state from actual tick latency/degraded discovery/collision deferrals.","proofConditionIds":["gate-proof","runtime-proof"]}],"satisfied":true,"constraints":[{"id":"no-new-service","satisfied":true,"statement":"Use the existing durable command_center_events mission row and optimistic compare-and-set; no new table, service, queue, or parallel transition brain.","proofConditionIds":["gate-proof","runtime-proof","edge-proof"]},{"id":"single-brain","satisfied":true,"statement":"Leases gate dispatch only; mission_status remains the only transition brain.","proofConditionIds":["gate-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":["gate-proof","runtime-proof","edge-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":["gate-proof","runtime-proof","edge-proof"]}],"contractHash":"b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"gate-proof","kind":"repository","evidence":{"reason":null,"gateRunId":10335,"satisfied":true,"gateTestProof":"successful_exact_head_gate_log_contains:workers/cc-execution/test/release-orchestration-invariants.test.js","gateTestPassed":true,"missingTargets":[],"gateTestExecuted":true,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":"workers/cc-execution/test/release-orchestration-invariants.test.js","releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["ccExecution","supabaseEdge"],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"0646720cad3dc88b10532a280fd98ff47c311f3e"},"required":true,"satisfied":true},{"id":"runtime-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978"},"required":true,"satisfied":true},{"id":"edge-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":["supabaseEdge"],"migrationReleaseVerified":null,"releaseRequestContractHash":"b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:56:41.56709+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"0646720cad3dc88b10532a280fd98ff47c311f3e","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:392e0099-9a83-4bf8-ab58-c4fb841420be:request-contract:b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978:0646720cad3dc88b10532a280fd98ff47c311f3e:verified:","mission_step_id":"e5619154-b747-46d0-b291-8828ef58e252","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"842ff980-fa19-45f3-83f4-fb1d265717ee","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-seaside-editor-interactions-20260803-r202608031732","reason":"auto_progress_pr_read_failed:404","status":"retryable","metrics":{"receiptBytes":3622,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":3893,"terminal":false,"missionId":"e081d87b-7099-42cd-8687-bae5c7cf6afd","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":"e081d87b-7099-42cd-8687-bae5c7cf6afd"},"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":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T15:57:22.695831+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3893","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e081d87b-7099-42cd-8687-bae5c7cf6afd:automatic-mission-resume:3893:repair_mission_auto_progress_authorization_retryable","mission_step_id":"8c33a9e4-b50c-4b6b-9703-261d1296ff86","command_center_event_id":"e081d87b-7099-42cd-8687-bae5c7cf6afd"},{"id":"28f860b5-1d45-474a-9d57-fd6b245a347e","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Fix control-plane intent classification and source-discovery precedence.","wordingChanged":false,"canonicalIntent":"Fix control-plane intent classification and source-discovery precedence.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"intent","statement":"Control-plane execution classifies inspection requests as read-only and affirmative repair requests as mutations without incidental text overriding intent; structured readOnly=true is authoritative before mutation processing.","proofConditionIds":["runtime-proof"]},{"id":"source","statement":"Explicit control-plane scope and source targets exclude unrelated product source despite platform-wide wording.","proofConditionIds":["runtime-proof"]}],"objective":"Fix control-plane intent classification and source-discovery precedence.","constraints":[{"id":"scope","statement":"Temporarily unfreeze only the exact control-plane source and regression-test paths for this authorized repair; retain protected main, canonical gate, one existing mission and PR, affected-target release, maintenance authorization and frozen-by-default behavior.","proofConditionIds":["runtime-proof"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["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":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"Exact control-plane repair passes canonical gate including intent boundary regressions, squash merges, deploys cc-execution and proves live runtime 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":"Fix-control-plane-intent-classification-and-source-discovery-precedence.","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":["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":"199d97e9d9051c0481d4af4104b7669a4e494222af2c8b06fdd1568eae8c9677","requestContractRevision":2,"previousRequestContractHash":"b6bfa98761a644f224692564ee4f8205897d878930671cbc2144060e43186b3f"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T03:01:06.823676+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:6ff9a97f-b18a-456e-928b-94cd435a8fcc:request-contract:199d97e9d9051c0481d4af4104b7669a4e494222af2c8b06fdd1568eae8c9677","mission_step_id":"09eba763-aaaf-41ca-8d25-291d3dcd3681","command_center_event_id":"6ff9a97f-b18a-456e-928b-94cd435a8fcc"},{"id":"c0b15998-0a41-4fe3-a663-f72409698924","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending","supabase-edge-production/live":"pending"},"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"sourceSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["command-center-autopilot"]},"releaseTargetStates":{},"requestContractHash":"b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"c4f843325b7376cc005df98f5ec76a032247a740","deploymentId":"forgejo-main-c4f843325b7376cc005df98f5ec76a032247a740","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.194-first-class-mission-runtime","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:55:43.50946+00:00","proof_gate":"canonical_release_pending","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:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending|supabase-edge-production/live=pending","mission_step_id":"39c9345c-6c62-4697-b2a5-28cebd04c188","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"5ab0fd49-c93f-4c9d-891d-046a762461b1","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"gate-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"8014bd2479b689f35d986bddeeeebd2c7390c758","prNumber":3296,"gateRunId":10335,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTestPath":"workers/cc-execution/test/release-orchestration-invariants.test.js","gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/10335/jobs/1","gateTestProof":"successful_exact_head_gate_log_contains:workers/cc-execution/test/release-orchestration-invariants.test.js","gateTestPassed":true,"mergeCommitSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","gateTestLogLine":"2026-09-20T15:55:09.1600203Z Gate regression: executing workers/cc-execution/test/release-orchestration-invariants.test.js","gateTestExecuted":true}],"requestContractHash":"b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978","namedGateEvidenceReceiptVersion":":named-gate-evidence-v1"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:56:33.043567+00:00","proof_gate":"request_contract_repository_verified","source_sha":"0646720cad3dc88b10532a280fd98ff47c311f3e","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:392e0099-9a83-4bf8-ab58-c4fb841420be:request-contract-repository:b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978:0646720cad3dc88b10532a280fd98ff47c311f3e:named-gate-evidence-v1","mission_step_id":"e5619154-b747-46d0-b291-8828ef58e252","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"c5ba3ccc-fbfd-4e01-8a55-192123d71eff","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"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},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T20:00:17.527903+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"canonical_release_blocked\",\"terminal\":false,\"branch\":\"ai/fix-seaside-editor-interactions-20260803-r202608031732\",\"prNumber\":3893,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T15:57:23.998497+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:e081d87b-7099-42cd-8687-bae5c7cf6afd:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"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\":","mission_step_id":"8c33a9e4-b50c-4b6b-9703-261d1296ff86","command_center_event_id":"e081d87b-7099-42cd-8687-bae5c7cf6afd"},{"id":"c423453b-3ef3-4a0d-98d2-ece4774a8133","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner authorized corrective generation after a real merge conflict blocked the release-recovery repair.","baseSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","issuedAt":1790258506825,"expiresAt":1790258686825,"missionId":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38","authorizationId":"19298f52-8553-4c6c-a53f-7a2579ad0823","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:01:47.141287+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:19298f52-8553-4c6c-a53f-7a2579ad0823","mission_step_id":"81087806-7adc-4365-af27-fdc42672e5c5","command_center_event_id":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38"},{"id":"df52c32d-140e-4358-a284-f4b2efa55257","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"1efd98a76363d60124492c0696d3bd773fd5a3fb","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Replace the current Big Papi Crew menu-of-redirects with one integrated Crew operations application. Crew home must open to real crew profiles/roster and schedule in the same app, backed by active Big Papi tenant users/memberships; William Castaneda (Will), current active owner, appears automatically as Crew member #1. The app must support roster/profile cards, role, pay arrangement, availability, onboarding status, agreements/documents, assignments, and hiring/candidate proposals from each person/candidate context. Remove Crew action redirects that send users into generic /users, customer proposal, client/event agreement, or ambiguous generic calendar flows. Add contextual crew controls throughout Big Papi where operationally relevant: Calendar must have crew/person filter, availability, staffing coverage, and Assign Crew actions; Booked Event must show/modify assigned crew, role, arrival time, notes; Pop-Up must support operator/helper assignment. Preserve existing event/customer proposal and agreement flows for actual clients only. Keep Back Office Crew dark-purple styling, compact mobile layout, sticky contextual guidance, and no duplicated/ambiguous modules. Ship through Gate,","proofConditionIds":["proof-crew-home","proof-calendar","proof-event","proof-popup"]}],"satisfied":false,"constraints":[{"id":"client-flow-isolation","satisfied":false,"statement":"Crew workflows must not route into generic customer/event proposal or agreement applications; client/event flows remain reserved for actual clients.","proofConditionIds":["proof-crew-home"]},{"id":"crew-first-model","satisfied":false,"statement":"Crew home is one integrated roster and schedule application. Will is included as crew member #1 from active tenant membership data.","proofConditionIds":["proof-crew-home"]},{"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-calendar","proof-event","proof-popup"]},{"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-calendar","proof-event","proof-popup"]}],"contractHash":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-crew-home","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/big-papis/owner/dashboard?bpMode=office&officeMode=crew","currentSourceSha":"1efd98a76363d60124492c0696d3bd773fd5a3fb","witnessSourceSha":"1efd98a76363d60124492c0696d3bd773fd5a3fb","verificationState":null,"witnessRequestContractHash":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b"},"required":true,"satisfied":false},{"id":"proof-calendar","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":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b"},"required":true,"satisfied":true},{"id":"proof-event","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":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b"},"required":true,"satisfied":true},{"id":"proof-popup","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":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T21:49:52.847967+00:00","proof_gate":"request_contract_pending","source_sha":"1efd98a76363d60124492c0696d3bd773fd5a3fb","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:f250504f-c6e6-4a24-a499-d57851237fcf:request-contract:288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b:1efd98a76363d60124492c0696d3bd773fd5a3fb:pending:visual","mission_step_id":"9db1b524-b284-4ed6-a613-ec463a8d31f6","command_center_event_id":"f250504f-c6e6-4a24-a499-d57851237fcf"},{"id":"7869b071-c969-4783-9a30-320525cb6be0","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-efe81c59df75","prNumber":3776,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"8cb51d0a50b5ca6662b6347af9bc5f744d6f57e1","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T23:01:05.731735+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"8cb51d0a50b5ca6662b6347af9bc5f744d6f57e1","external_id":"3776","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:efe81c59-df75-4ed9-b270-98054609505b:merged-pr:3776:8cb51d0a50b5ca6662b6347af9bc5f744d6f57e1","mission_step_id":"58b1dab0-2d24-4e51-8ff6-03eee73c3b9e","command_center_event_id":"efe81c59-df75-4ed9-b270-98054609505b"},{"id":"fbcc5f52-1c91-4fba-bf30-9f03ed80ae4f","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T16:55:35.112149+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3888,\"sourceSha\":\"9210ede472372a6c77140aa5bea7901529518dd1\",\"deploymentId\":\"canonical-release-9210ede47237\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:56:10.717138+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:f00b31ad-4fab-4ce5-ae45-ef350941afaa:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"980f03f5-b978-4341-a847-df2ec0fcbace","command_center_event_id":"f00b31ad-4fab-4ce5-ae45-ef350941afaa"},{"id":"44c4621d-623c-4287-878c-c4b2170fadb2","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"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-03T17:18:49.6921+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/finish-experience-editor-proof-budget-20260803-r202608031708\",\"prNumber\":3891,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:56:24.85857+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:cb263110-764d-433f-b27d-d2877488a0a5:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_re","mission_step_id":"0db2f3ab-6d3b-4999-8eca-515b40b864a7","command_center_event_id":"cb263110-764d-433f-b27d-d2877488a0a5"},{"id":"dcaa1612-8b65-4bb8-8a14-82753443a049","source":"forgejo","status":"waiting","payload":{"branch":"ai/split-brain-safe-mission-supervisor","prNumber":3296,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:56:27.238186+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"0646720cad3dc88b10532a280fd98ff47c311f3e","external_id":"3296","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:392e0099-9a83-4bf8-ab58-c4fb841420be:merged-pr:3296:0646720cad3dc88b10532a280fd98ff47c311f3e","mission_step_id":"39c9345c-6c62-4697-b2a5-28cebd04c188","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"ac303363-f777-4676-980b-6f4a35ef01ad","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"success","supabase-edge-production/live":"pending"},"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"sourceSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","releaseState":"pending","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":"pending"},"requestContractHash":"b7a099308c1072541b59058d14696ceaeb958a31526687efc6940b5eed499978","forgejoWorkflowProof":{"runId":10336,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"success","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success","supabaseEdge":"pending"}},"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:29.425513+00:00","proof_gate":"canonical_release_pending","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:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=success|supabase-edge-production/live=pending","mission_step_id":"39c9345c-6c62-4697-b2a5-28cebd04c188","command_center_event_id":"392e0099-9a83-4bf8-ab58-c4fb841420be"},{"id":"2d2dabd1-63c7-4d93-9bd7-2f2d05db42fe","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"3935c7eeae00a1d8d7ef1f6ab1738565e487de11","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:57:07.448838+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"3935c7eeae00a1d8d7ef1f6ab1738565e487de11","external_id":"canonical-release-3935c7eeae00","receipt_type":"canonical_release_status","idempotency_key":"mission:e84bebc7-186c-48ed-8b4c-e65d2ad67426:forgejo-release-ancestry:3935c7eeae00a1d8d7ef1f6ab1738565e487de11:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"5a872b0a-1f04-4cb8-8d58-225fa9c63cdd","command_center_event_id":"e84bebc7-186c-48ed-8b4c-e65d2ad67426"},{"id":"6bfa3ad2-9871-43c6-8956-59ee1ffc7385","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"5319938a8af44572a649bbba40659e4d27a500dc","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:58:04.556691+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"5319938a8af44572a649bbba40659e4d27a500dc","external_id":"canonical-release-5319938a8af4","receipt_type":"canonical_release_status","idempotency_key":"mission:beb43fc0-8d50-4086-b2ab-e11bbcd951d2:forgejo-release-ancestry:5319938a8af44572a649bbba40659e4d27a500dc:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"d0f30fc2-551e-473a-a676-e22faa16377b","command_center_event_id":"beb43fc0-8d50-4086-b2ab-e11bbcd951d2"},{"id":"e6927ad5-de79-4b66-8b53-011237e2b587","source":"onrunner","status":"verified","payload":{"ok":true,"jobId":"b217214c-9ebb-43ad-b3d5-30c8f636a68e","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-f250504fc6e6","reason":null,"status":"verification_pending","metrics":{"receiptBytes":45296,"releaseCount":0,"toolCallCount":22,"repeatedCallCount":10,"executorlessWaitMs":686875,"firstUsefulResultAt":"2026-09-25T21:39:56.950Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3769,"terminal":false,"missionId":"f250504f-c6e6-4a24-a499-d57851237fcf","operation":"visual_proof_status","proofGate":"interactive_visual_witness_verified","sourceSha":"1efd98a76363d60124492c0696d3bd773fd5a3fb","timingsMs":{"queue":1275,"total":46312,"execution":45037},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f250504f-c6e6-4a24-a499-d57851237fcf"},"performance":null,"deploymentId":"forgejo-main-1efd98a76363","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"b217214c-9ebb-43ad-b3d5-30c8f636a68e","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":1,"supervisorId":"b217214c-9ebb-43ad-b3d5-30c8f636a68e","failureReason":null,"observedRoute":"/big-papis/owner/dashboard?bpMode=office&officeMode=crew","runnerVersion":"paul-8c6a52496642","attemptLineage":[{"jobId":"877fe2dc-5cb6-4f41-a0f3-8e45a150304c","attempt":1,"category":"verified","sourceSha":"8c6a52496642117d593928d4a926b161c464737d","startedAt":"2026-09-25T21:49:55.037Z","completedAt":"2026-09-25T21:50:40.080Z","runtimeLane":"cc-execution -> DigitalOcean PAUL -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"paul-8c6a52496642","browserLaunchReason":"virtual_runtime_headless","checkpointAccounting":{"route":{"required":1,"completed":1,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":1,"completed":1,"missingIds":[]},"completed":2,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":2}}],"missionOutcome":"verified","requestedRoute":"/big-papis/owner/dashboard?bpMode=office&officeMode=crew","runnerSourceSha":"8c6a52496642117d593928d4a926b161c464737d","selectedViewports":["desktop"],"checkpointAccounting":{"route":{"required":1,"completed":1,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":1,"completed":1,"missingIds":[]},"completed":2,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":2},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":11898,"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":12885,"ownerActionRequired":false,"ownerFacingTerminal":false,"requestContractHash":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b","continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T21:51:26.214016+00:00","proof_gate":"interactive_visual_witness_verified","source_sha":"paul-8c6a52496642","external_id":"b217214c-9ebb-43ad-b3d5-30c8f636a68e","receipt_type":"visual_proof_status","idempotency_key":"mission:f250504f-c6e6-4a24-a499-d57851237fcf:visual:b217214c-9ebb-43ad-b3d5-30c8f636a68e:verified","mission_step_id":"c73877e4-2140-4882-92dd-61c3d8bf149b","command_center_event_id":"f250504f-c6e6-4a24-a499-d57851237fcf"},{"id":"78cd7785-fc55-41b8-ad4e-0cdcf5bfc172","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"workers/cc-execution/src/objective-intent.js","content":"// One intent decision shared by execution and source discovery.\nexport function classifyObjectiveIntent(body = {}) {\n  const objective = String(body.objective || body.issue || body.body || body.title || \"\").trim().toLowerCase();\n  const implementation = body.implementation && typeof body.implementation === \"object\" ? body.implementation : {};\n  const hasMutationPayload = [body.files, body.writes, body.patches, body.anchored_edits, body.anchoredEdits, implementation.files, implementation.writes]\n    .some((entries) => Array.isArray(entries) && entries.length > 0);\n  const explicitReadOnlyFlag = body.readOnly === true || body.read_only === true;\n  // Quoted examples and prohibited actions are context, not commands.\n  const positive = objective\n    .replace(/\\x60[^\\x60]*\\x60|\"[^\"]*\"/g, \" \")\n    .replace(/\\b(?:do not|don't|dont|never|without)\\b[\\s\\S]*?(?=\\b(?:but|instead|then)\\b|[.;\\n]|$)/g, \" \")\n    .trim();\n  const commandPrefix = \"(?:^|[.;\\\\n]\\\\s*|\\\\b(?:and|then|but|please)\\\\s+|\\\\b(?:can|could|would|will)\\\\s+you\\\\s+|\\\\bi\\\\s+(?:want|need)(?:\\\\s+you)?\\\\s+to\\\\s+)\";\n  const mutationVerb = \"(?:fix|repair|change|update|modify|implement|add|remove|delete|create|close|cancel|retire|merge|deploy|ship|patch|write|mutate|make|harden|refactor|improve)\";\n  const mutationSignal = new RegExp(commandPrefix + \"(?:please\\\\s+)?\" + mutationVerb + \"\\\\b\").test(positive);\n  const readSignal = /\\b(read|inspect|check|show|list|find|fetch|return|verify|diagnose|diagnostic|status|explain|summarize|audit|analyze|analyse|look|assess|review)\\b/.test(positive);\n  const explicitReadOnlyText = /^(?:please\\s+)?(?:read[- ]?only\\b|inspection only\\b|diagnostic only\\b)/.test(objective)\n    || /\\b(?:do not|don't|dont|never)\\s+(?:mutate|change|modify|write|deploy|ship)\\b/.test(objective);\n  const explicitReadOnly = explicitReadOnlyFlag || explicitReadOnlyText;\n  const readOnly = explicitReadOnlyFlag || (\n    !hasMutationPayload && body.ship !== true && !mutationSignal\n    && (explicitReadOnlyText || readSignal)\n  );\n  return {\n    kind: readOnly ? \"read_only\" : \"mutation_or_unknown\",\n    confidence: explicitReadOnlyFlag ? 1 : readOnly ? 0.90 : mutationSignal || hasMutationPayload ? 0.98 : 0.60,\n    explicitReadOnly, explicitReadOnlyFlag, explicitReadOnlyText,\n    readSignal, mutationSignal, hasMutationPayload,\n  };\n}\n"},{"path":"workers/cc-execution/src/source-discovery-policy.js","content":"import { classifyObjectiveIntent } from \"./objective-intent.js\";\n\nconst NEGATED_SOURCE_CLAUSE = /\\b(?:do\\s+not|don't|dont|never|exclude|excluding|avoid|without)\\b[\\s\\S]*?(?=\\b(?:but|except|instead)\\b|[.;\\n]|$)/gi;\nconst SOURCE_PATH_TOKEN = /(?:^|[\\s`'\"([{])((?:src|workers|supabase|config|scripts|\\.forgejo)\\/[a-zA-Z0-9._/-]+)/g;\nconst CONTROL_PLANE_SOURCE_NOUN = /\\b(?:control[-\\s]?plane|command center|source discovery|repair plan|mission control|merge queue|forgejo\\s+(?:runner|workflow|gate|actions|queue)|runner setup|knocklaunch gate|release architecture)\\b/i;\n\nexport function sourceDiscoveryScope(value, request = {}) {\n  const explicitScope = String(request.sourceScope || request.source_scope || request.scope || \"\").toLowerCase().replace(/[- ]/g, \"_\");\n  const targets = [request.sourceTargets, request.source_targets, request.readTargets, request.read_targets]\n    .flatMap((entries) => Array.isArray(entries) ? entries : [])\n    .map((entry) => typeof entry === \"string\" ? entry : String(entry?.path || \"\"));\n  if (request.controlPlaneMaintenance === true || request.control_plane_maintenance === true\n    || explicitScope === \"control_plane\"\n    || (targets.length > 0 && targets.every(isControlPlaneSourcePath))) return \"control_plane\";\n\n  const positiveIntent = positiveSourceIntent(value);\n  if (!CONTROL_PLANE_SOURCE_NOUN.test(positiveIntent)) return \"general\";\n  const intent = classifyObjectiveIntent({ ...request, objective: String(value || \"\") });\n  if (intent.kind === \"read_only\") return \"control_plane\";\n  // Discovery is read-only. Writes still require the scoped maintenance permit.\n  const repairIntent = /\\b(?:fix|repair|improve|harden|refactor|change|update|modify|implement)\\b/i.test(positiveIntent);\n  const incidentalToolUse = /\\b(?:through|via|using|use)\\s+(?:the\\s+)?(?:command center|control[- ]plane)\\b/i.test(positiveIntent);\n  return repairIntent && !incidentalToolUse ? \"control_plane\" : \"general\";\n}\n\nexport function isControlPlaneSourcePath(path) {\n  const normalized = String(path || \"\").trim();\n  return normalized.startsWith(\"workers/cc-execution/\")\n    || normalized === \"config/control-plane-capabilities.json\"\n    || normalized === \"config/control-plane-restore-point.json\"\n    || normalized.startsWith(\".forgejo/workflows/\")\n    || normalized === \"scripts/protected-main-release-recovery.mjs\"\n    || normalized === \"scripts/validate-command-center-contracts.mjs\"\n    || normalized.startsWith(\"scripts/command-center-host-agent/\")\n    || normalized.startsWith(\"src/__tests__/contracts/command-center-\")\n    || normalized.startsWith(\"src/__tests__/contracts/control-plane-\")\n    || normalized.startsWith(\"src/__tests__/commandCenter/\");\n}\n\nfunction stripIncidentalControlPlaneSourceReferences(value) {\n  return String(value || \"\").replace(SOURCE_PATH_TOKEN, (match, path) => (\n    isControlPlaneSourcePath(path) ? match.replace(path, \" \") : match\n  ));\n}\n\nexport function positiveSourceIntent(value) {\n  const positive = String(value || \"\")\n    .replace(NEGATED_SOURCE_CLAUSE, \" \");\n  return stripIncidentalControlPlaneSourceReferences(positive)\n    .replace(/\\s+/g, \" \")\n    .trim();\n}\n\nexport function sourcePathAllowedForDiscoveredScope(path, scope) {\n  const controlPlaneSource = isControlPlaneSourcePath(path);\n  if (scope === \"control_plane_authorization_required\") return false;\n  return scope === \"control_plane\" ? controlPlaneSource : !controlPlaneSource;\n}\n"},{"path":"workers/cc-execution/test/objective-intent-boundary.test.js","content":"import test from \"node:test\";\nimport assert from \"node:assert/strict\";\nimport { classifyObjectiveIntent } from \"../src/objective-intent.js\";\nimport { sourceDiscoveryScope, sourcePathAllowedForDiscoveredScope } from \"../src/source-discovery-policy.js\";\n\ntest(\"owner inspection verbs remain read-only even when their subject names a mutation\", () => {\n  for (const objective of [\"Look at x\", \"Analyze y\", \"I need a FULL AUDIT of z\",\n    \"Assess the control-plane deploy classifier\", \"Audit the repair pipeline\",\n    \"Analyze deploy failures; do not change code\", \"Look at the fix for read-only classification\",\n    \"Read-only assessment. Do not mutate, create a mission, branch, PR, or deploy.\"]) {\n    assert.equal(classifyObjectiveIntent({ objective }).kind, \"read_only\", objective);\n  }\n});\n\ntest(\"requested repairs outrank incidental read-only terminology\", () => {\n  for (const objective of [\"Fix the read-only classifier\", \"Repair inspection only routing\",\n    \"Change diagnostic only handling\", \"Deploy the read-only repair\",\n    \"Audit the classifier and fix it\", \"Look at the classifier, then repair it\",\n    \"Please fix how audit and analyze requests are handled\",\n    \"I need you to fix read-only source resolution\"]) {\n    assert.equal(classifyObjectiveIntent({ objective }).kind, \"mutation_or_unknown\", objective);\n  }\n});\n\ntest(\"structured read-only authority wins over payload, shipping and mutation wording\", () => {\n  for (const flag of [\"readOnly\", \"read_only\"]) {\n    assert.equal(classifyObjectiveIntent({\n      [flag]: true, objective: \"Fix and deploy\", ship: true, visualProof: true,\n      files: [{ path: \"example.js\", content: \"changed\" }],\n    }).kind, \"read_only\");\n  }\n  for (const payload of [\n    { writes: [{ path: \"example.js\", content: \"changed\" }] },\n    { implementation: { writes: [{ path: \"example.js\", content: \"changed\" }] } },\n    { anchoredEdits: [{ path: \"example.js\", edits: [] }] },\n  ]) assert.equal(classifyObjectiveIntent({ objective: \"Inspect\", ...payload }).kind, \"mutation_or_unknown\");\n});\n\ntest(\"negated and quoted mutation examples do not authorize execution\", () => {\n  for (const objective of ['Analyze \"fix the bug\" classification', \"Audit only; never deploy.\",\n    \"Analyze errors without changing code\", \"Don't deploy; analyze the failure\"]) {\n    assert.equal(classifyObjectiveIntent({ objective }).kind, \"read_only\", objective);\n  }\n});\n\ntest(\"explicit control-plane scope remains authoritative under broad platform wording\", () => {\n  const path = \"workers/cc-execution/src/index-mission-control.js\";\n  for (const request of [{ scope: \"control_plane\" }, { sourceScope: \"control-plane\" },\n    { controlPlaneMaintenance: true }, { sourceTargets: [path] }]) {\n    const scope = sourceDiscoveryScope(\"Fix platform-wide mobile routing and schema inference\", request);\n    assert.equal(scope, \"control_plane\");\n    assert.equal(sourcePathAllowedForDiscoveredScope(path, scope), true);\n    assert.equal(sourcePathAllowedForDiscoveredScope(\"src/PrivateAppShell.tsx\", scope), false);\n    assert.equal(sourcePathAllowedForDiscoveredScope(\"supabase/migrations/product.sql\", scope), false);\n  }\n});\n\ntest(\"source lookup resolves control-plane repair owners without granting write authority\", () => {\n  for (const objective of [\"Repair the control plane planner\", \"Improve the new Forgejo runner setup\",\n    \"Fix request fidelity in Command Center mission control\", \"Analyze control-plane routing\"]) {\n    assert.equal(sourceDiscoveryScope(objective), \"control_plane\", objective);\n  }\n  for (const objective of [\"Clean up the Forgejo merge queue\", \"Release the approved PR through Command Center\",\n    \"Use mission/execute to ship the Redfish frontend fix\", \"Fix this tenant and deploy it\",\n    \"Fix this tenant and do not touch the control plane runner\", \"Fix the tenant via Command Center\"]) {\n    assert.equal(sourceDiscoveryScope(objective), \"general\", objective);\n  }\n});\n"}],"branch":"ai/objective-first-repair-6ff9a97fb18a","writes":[],"patches":[],"pr_body":"The classifier allowed incidental inspection terminology to divert authorized repairs and allowed mutation words to override structured read-only authority. Source discovery also expanded broad platform wording into unrelated product source.\n\nUse one shared pure classifier, honor structured read-only before mutation processing, recognize inspection commands and affirmative mutation clauses, and keep explicit control-plane targets inside their declared boundary. Preserve scoped maintenance authorization and all existing gate/release checks.\n\nValidation: six local regression groups covering owner wording, mixed requests, negation, structured authority, mutation payload aliases and source boundaries. Canonical Gate and exact live runtime verification required.","approved":true,"pr_title":"Fix control-plane intent precedence and source boundary","readOnly":false,"missionId":"6ff9a97f-b18a-456e-928b-94cd435a8fcc","objective":"Fix control-plane intent classification and source-discovery precedence.","repository":"noel/KnockLaunchOS","ownerApproved":true,"anchored_edits":[{"path":"workers/cc-execution/src/index-mission-control.js","edits":[{"new_content":"export { classifyObjectiveIntent } from \"./objective-intent.js\";\n","old_content":"export function classifyObjectiveIntent(body = {}) {\n  const objective = String(body.objective || body.issue || body.body || body.title || \"\").trim().toLowerCase();\n  const hasMutationPayload = (Array.isArray(body.files) && body.files.length > 0)\n    || (Array.isArray(body.patches) && body.patches.length > 0)\n    || (Array.isArray(body.anchored_edits) && body.anchored_edits.length > 0)\n    || (Array.isArray(body.anchoredEdits) && body.anchoredEdits.length > 0);\n  const explicitReadOnlyFlag = body.readOnly === true || body.read_only === true;\n  const explicitReadOnlyText = /\\bread[- ]?only\\b|\\binspection only\\b|\\bdiagnostic only\\b|\\bdo not mutate\\b/.test(objective);\n  const explicitReadOnly = explicitReadOnlyFlag || explicitReadOnlyText;\n  const readSignal = /\\b(read|inspect|check|show|list|find|fetch|return|verify|diagnose|diagnostic|status|explain|summarize|audit)\\b/.test(objective);\n  const mutationSignal = /\\b(fix|repair|change|update|modify|implement|add|remove|delete|create|close|cancel|retire|merge|deploy|ship|patch|write|mutate|make)\\b/.test(objective);\n  const visualProofRequested = normalizeVisualProofIntent(body).visualProofRequested;\n  const readOnly = !hasMutationPayload\n    && body.ship !== true\n    && !visualProofRequested\n    && (\n      explicitReadOnlyText\n      || (explicitReadOnlyFlag && !mutationSignal)\n      || (readSignal && !mutationSignal)\n    );\n  return {\n    kind: readOnly ? \"read_only\" : \"mutation_or_unknown\",\n    confidence: explicitReadOnlyText ? 0.99 : readOnly ? 0.90 : mutationSignal || hasMutationPayload ? 0.98 : 0.60,\n    explicitReadOnly,\n    explicitReadOnlyFlag,\n    explicitReadOnlyText,\n    readSignal,\n    mutationSignal,\n    hasMutationPayload,\n  };\n}\n"},{"new_content":"import { CC_EXECUTION_VERSION as VERSION } from \"./version.js\";\nimport { classifyObjectiveIntent } from \"./objective-intent.js\";","old_content":"import { CC_EXECUTION_VERSION as VERSION } from \"./version.js\";"},{"new_content":"      const rawBody = await requestPayload(request);\n      if (rawBody.readOnly === true || rawBody.read_only === true) {\n        return executeReadOnlyObjective(request, env, ctx, rawBody);\n      }\n      const mutationNormalization = canonicalizeMutationBody(rawBody);","old_content":"      const rawBody = await requestPayload(request);\n      const mutationNormalization = canonicalizeMutationBody(rawBody);"}]},{"path":"workers/cc-execution/src/index-release-fast-lane.js","edits":[{"new_content":"export function sourceDiscoveryDomainHints(objective, request = {}) {\n  if (sourceDiscoveryScope(objective, request) === \"control_plane\") {\n    return [\"cc-execution\", \"command\", \"repair\", \"mission\", \"forgejo\", \"control-plane\"];\n  }\n  const value = positiveSourceIntent(objective).toLowerCase();","old_content":"export function sourceDiscoveryDomainHints(objective) {\n  const value = positiveSourceIntent(objective).toLowerCase();"},{"new_content":"  const hints = sourceDiscoveryDomainHints(objective, body);","old_content":"  const hints = sourceDiscoveryDomainHints(objective);"},{"new_content":"    const acceptedTargets = requestedTargets.filter((path) => sourceDiscoveryCandidate(path)\n      && (discoveryScope !== \"control_plane\" || sourcePathAllowedForDiscoveredScope(path, discoveryScope)));","old_content":"    const acceptedTargets = requestedTargets.filter((path) => sourceDiscoveryCandidate(path));"},{"new_content":"    const requiredPrefixes = discoveryScope === \"control_plane\" ? [] : sourceDiscoveryRequiredPrefixes(hints);","old_content":"    const requiredPrefixes = sourceDiscoveryRequiredPrefixes(hints);"}]}],"commit_message":"fix: preserve owner intent and explicit control-plane source scope","implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Repair the control-plane intent classifier and source boundary: audit/analyze/look are read-only; fix/repair/change/deploy are mutations; structured readOnly=true is authoritative; explicit control-plane scope is authoritative.","canonicalIntent":"Repair control-plane intent classification and source discovery within the existing mission.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"intent","statement":"Control-plane execution classifies inspection requests as read-only and affirmative repair requests as mutations without incidental text overriding intent; structured readOnly=true is authoritative before mutation processing.","proofConditionIds":["runtime-proof"]},{"id":"source","statement":"Explicit control-plane scope and source targets exclude unrelated product source despite platform-wide wording.","proofConditionIds":["runtime-proof"]}],"constraints":[{"id":"scope","statement":"Temporarily unfreeze only the exact control-plane source and regression-test paths for this authorized repair; retain protected main, canonical gate, one existing mission and PR, affected-target release, maintenance authorization and frozen-by-default behavior.","proofConditionIds":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"Exact control-plane repair passes canonical gate including intent boundary regressions, squash merges, deploys cc-execution and proves live runtime identity.","required":true,"requiredReleaseTargets":["cc-execution"]}]},"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenanceReason":"Owner-authorized repair of the exact control-plane intent and source-resolution defects; bounded unfreeze for these source/test edits only."},"recovery":false,"fingerprint":"2200ba421e43da6ab071e78a7069ae5b74d814824384e404366f921b2ac2d494","replayCount":0,"serializedBytes":17459},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T03:01:07.771009+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:6ff9a97f-b18a-456e-928b-94cd435a8fcc:repository-mutation-intent:2200ba421e43da6ab071e78a7069ae5b74d814824384e404366f921b2ac2d494:0","mission_step_id":"09eba763-aaaf-41ca-8d25-291d3dcd3681","command_center_event_id":"6ff9a97f-b18a-456e-928b-94cd435a8fcc"},{"id":"a5165b6d-3a6a-4a51-9cdd-0b7c331bcc97","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T16:59:18.503451+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3889,\"sourceSha\":\"5964fc1feefc7c90a6af5c3ebe6e3d76d35fb31e\",\"deploymentId\":\"canonical-release-5964fc1feefc\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:56:22.680117+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:c0bc59a3-c2e1-49be-a8a5-7ec09fccbf22:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"760021f6-51f5-4f44-86e4-a1d897c97665","command_center_event_id":"c0bc59a3-c2e1-49be-a8a5-7ec09fccbf22"},{"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":"e5b79832-eaac-4a33-9ccf-da0bb49e1160","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-c387d88b5d3b","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":21849,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-24T14:01:45.800Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.254-evidence-bound-progress","prNumber":3620,"terminal":false,"missionId":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5865,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1819,"missionSetupMs":477,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":477,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":477,"repositoryMutationMs":4046,"repositoryProviderMs":4046,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2540,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":477,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1506},"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":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38"},"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":4137,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:01:52.935438+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3620","receipt_type":"execute_mission","idempotency_key":"mission:c387d88b-5d3b-4e07-9f98-56cf6fb5ea38:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"683e451e-7fc6-4f67-9e21-51682e4fc948","command_center_event_id":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38"},{"id":"f0f7309f-0974-456a-9764-fbd17c7677a5","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"660e49e581dd3b11c527266325f90a5789d55cc9","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"660e49e581dd3b11c527266325f90a5789d55cc9","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":"15e513a2da271bab944e15197ac3838dcbcd24379005bbeceb28a3ce75b3f8b5","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/11544","runId":11544,"status":"success","sourceSha":"660e49e581dd3b11c527266325f90a5789d55cc9","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T17:09:15.77887+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"660e49e581dd3b11c527266325f90a5789d55cc9","external_id":"forgejo-main-660e49e581dd","receipt_type":"canonical_release_status","idempotency_key":"mission:d2d766a7-af1e-48e0-b11b-4cfb9ba15833:forgejo-release-status:660e49e581dd3b11c527266325f90a5789d55cc9:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"dd77a4f7-1f7f-48a1-83d4-6593d6ee4dde","command_center_event_id":"d2d766a7-af1e-48e0-b11b-4cfb9ba15833"},{"id":"20506629-ee2a-4e15-8e4c-3d5783a06000","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"1efd98a76363d60124492c0696d3bd773fd5a3fb","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Replace the current Big Papi Crew menu-of-redirects with one integrated Crew operations application. Crew home must open to real crew profiles/roster and schedule in the same app, backed by active Big Papi tenant users/memberships; William Castaneda (Will), current active owner, appears automatically as Crew member #1. The app must support roster/profile cards, role, pay arrangement, availability, onboarding status, agreements/documents, assignments, and hiring/candidate proposals from each person/candidate context. Remove Crew action redirects that send users into generic /users, customer proposal, client/event agreement, or ambiguous generic calendar flows. Add contextual crew controls throughout Big Papi where operationally relevant: Calendar must have crew/person filter, availability, staffing coverage, and Assign Crew actions; Booked Event must show/modify assigned crew, role, arrival time, notes; Pop-Up must support operator/helper assignment. Preserve existing event/customer proposal and agreement flows for actual clients only. Keep Back Office Crew dark-purple styling, compact mobile layout, sticky contextual guidance, and no duplicated/ambiguous modules. Ship through Gate,","proofConditionIds":["proof-crew-home","proof-calendar","proof-event","proof-popup"]}],"satisfied":true,"constraints":[{"id":"client-flow-isolation","satisfied":true,"statement":"Crew workflows must not route into generic customer/event proposal or agreement applications; client/event flows remain reserved for actual clients.","proofConditionIds":["proof-crew-home"]},{"id":"crew-first-model","satisfied":true,"statement":"Crew home is one integrated roster and schedule application. Will is included as crew member #1 from active tenant membership data.","proofConditionIds":["proof-crew-home"]},{"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-calendar","proof-event","proof-popup"]},{"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-calendar","proof-event","proof-popup"]}],"contractHash":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b","releaseBound":true,"witnessBound":true,"visualRequested":true,"visualSatisfied":true,"conditionResults":[{"id":"proof-crew-home","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/big-papis/owner/dashboard?bpMode=office&officeMode=crew","currentSourceSha":"1efd98a76363d60124492c0696d3bd773fd5a3fb","witnessSourceSha":"1efd98a76363d60124492c0696d3bd773fd5a3fb","verificationState":"verified","witnessRequestContractHash":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b"},"required":true,"satisfied":true},{"id":"proof-calendar","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":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b"},"required":true,"satisfied":true},{"id":"proof-event","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":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b"},"required":true,"satisfied":true},{"id":"proof-popup","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":"288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T21:51:27.585983+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"1efd98a76363d60124492c0696d3bd773fd5a3fb","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:f250504f-c6e6-4a24-a499-d57851237fcf:request-contract:288491b933efa50842104c42a3f0475fe6da4bd4f9dac738d4a6dc81e6e4b46b:1efd98a76363d60124492c0696d3bd773fd5a3fb:verified:","mission_step_id":"9db1b524-b284-4ed6-a613-ec463a8d31f6","command_center_event_id":"f250504f-c6e6-4a24-a499-d57851237fcf"},{"id":"1af3e6f1-62a4-4ed2-aa1d-0b520c885838","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:10:05.393456+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3890,\"sourceSha\":\"3935c7eeae00a1d8d7ef1f6ab1738565e487de11\",\"deploymentId\":\"canonical-release-3935c7eeae00\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:57:15.145542+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:e84bebc7-186c-48ed-8b4c-e65d2ad67426:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"5a872b0a-1f04-4cb8-8d58-225fa9c63cdd","command_center_event_id":"e84bebc7-186c-48ed-8b4c-e65d2ad67426"},{"id":"846819fa-c459-43b6-b59e-851ab8eb0218","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"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-03T17:26:44.385973+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/optimize-experience-editor-layer-proof-20260803-r202608031716\",\"prNumber\":3892,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:57:18.878247+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:4ceee575-e1f1-4167-a95d-0851d782c7f4:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_re","mission_step_id":"8a75e6af-59f6-48f1-a2c8-3edbd5dc9470","command_center_event_id":"4ceee575-e1f1-4167-a95d-0851d782c7f4"},{"id":"b8aa46b5-5f8c-4180-8539-b2fa030f4186","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:19:16.933135+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3891,\"sourceSha\":\"5319938a8af44572a649bbba40659e4d27a500dc\",\"deploymentId\":\"canonical-release-5319938a8af4\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:58:11.841555+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:beb43fc0-8d50-4086-b2ab-e11bbcd951d2:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"d0f30fc2-551e-473a-a676-e22faa16377b","command_center_event_id":"beb43fc0-8d50-4086-b2ab-e11bbcd951d2"},{"id":"48bb8bb0-9fff-45e9-b13b-6fb0f8a3e02c","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"95bdd0558f7296f49dcad08f781112f51700aee7","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T15:58:18.761899+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"95bdd0558f7296f49dcad08f781112f51700aee7","external_id":"canonical-release-95bdd0558f72","receipt_type":"canonical_release_status","idempotency_key":"mission:2ff229a5-0949-4402-84a6-65940ee76124:forgejo-release-ancestry:95bdd0558f7296f49dcad08f781112f51700aee7:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"1ee142da-f197-489c-bcbf-69303da4b53e","command_center_event_id":"2ff229a5-0949-4402-84a6-65940ee76124"},{"id":"b46cdb1f-9142-4613-9658-27d342adc36c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c387d88b5d3b","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":24538,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":7091,"firstUsefulResultAt":"2026-09-24T14:01:45.800Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3620,"terminal":false,"missionId":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":504,"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":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1285,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:01:55.621795+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3620","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c387d88b-5d3b-4e07-9f98-56cf6fb5ea38:automatic-mission-resume:3620:repair_mission_waiting_for_gate","mission_step_id":"905337e7-5d98-47ad-ac39-4d925bf85393","command_center_event_id":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38"},{"id":"d3bcd5be-ea3a-4dff-a9c9-491b03f3a428","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:43:25.217812+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T15:58:25.896188+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:2ff229a5-0949-4402-84a6-65940ee76124:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"1ee142da-f197-489c-bcbf-69303da4b53e","command_center_event_id":"2ff229a5-0949-4402-84a6-65940ee76124"},{"id":"408de960-865f-4d31-a5ee-666e724ddcd8","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:27:09.424319+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3892,\"sourceSha\":\"5ad09e0a3bb9f40857a20dd9be2325874c83fe69\",\"deploymentId\":\"canonical-release-5ad09e0a3bb9\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:59:11.470633+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:26be09ca-7f97-444d-b77e-561e834e0164:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"55a49cbe-fc10-4329-9a46-a821bedc76c5","command_center_event_id":"26be09ca-7f97-444d-b77e-561e834e0164"},{"id":"ff4c7770-74d9-4324-8535-8c3b1adeba76","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"95bdd0558f7296f49dcad08f781112f51700aee7","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:00:05.795043+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"95bdd0558f7296f49dcad08f781112f51700aee7","external_id":"canonical-release-95bdd0558f72","receipt_type":"canonical_release_status","idempotency_key":"mission:84244cfd-6465-4c24-898d-10fc69dab9d5:forgejo-release-ancestry:95bdd0558f7296f49dcad08f781112f51700aee7:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"527eac75-168e-4697-a495-af6f5e1065cf","command_center_event_id":"84244cfd-6465-4c24-898d-10fc69dab9d5"},{"id":"70ccfc52-c658-417a-aacb-d14361499149","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c387d88b5d3b","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":26076,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":9777,"firstUsefulResultAt":"2026-09-24T14:01:45.800Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.254-evidence-bound-progress","prNumber":3620,"terminal":false,"missionId":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3816,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":534,"approvedPlanMs":0,"missionSetupMs":438,"providerAuthMs":0,"shipAndProveMs":2847,"ledgerPrepareMs":261,"ledgerReconcileMs":0,"lineageReconcileMs":177,"resolvePreflightMs":438,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":261,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38"},"performance":null,"deploymentId":"forgejo-main-ab7962b64eea","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":2731,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:02:49.070372+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","external_id":"forgejo-main-ab7962b64eea","receipt_type":"execute_mission","idempotency_key":"mission:c387d88b-5d3b-4e07-9f98-56cf6fb5ea38:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"d8db3d3b-042e-4b64-856b-05383430cae9","command_center_event_id":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38"},{"id":"4969be1e-f42c-45ea-bd41-f642c7eaa685","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"660e49e581dd3b11c527266325f90a5789d55cc9","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Repair the canonical frontend deploy helper so invalid Sentry credentials cannot block Cloudflare deployment. In scripts/cloudflare-native-version-deploy.mjs, add a wranglerEnvironment(extraEnv) helper that copies process.env plus extraEnv then deletes every key matching /^SENTRY(?:_|$)/i. Use this sanitized env in BOTH runWranglerCaptured and runWrangler. Emit a `frontend_wrangler_sentry_env_isolated` proof receipt at the start of releaseCandidate. Add the focused regression test file supplied. Do not alter application UI/content. One fresh ai/* branch, one PR, canonical Gate, squash merge, then release current main and prove frontend deployment completes.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"no-ui","satisfied":true,"statement":"Do not alter application UI/content.","proofConditionIds":["proof-production"]},{"id":"sentry-nonblocking","satisfied":true,"statement":"Sentry observability must never block Cloudflare deployment.","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":"15e513a2da271bab944e15197ac3838dcbcd24379005bbeceb28a3ce75b3f8b5","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"15e513a2da271bab944e15197ac3838dcbcd24379005bbeceb28a3ce75b3f8b5"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T17:09:17.281703+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"660e49e581dd3b11c527266325f90a5789d55cc9","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d2d766a7-af1e-48e0-b11b-4cfb9ba15833:request-contract:15e513a2da271bab944e15197ac3838dcbcd24379005bbeceb28a3ce75b3f8b5:660e49e581dd3b11c527266325f90a5789d55cc9:verified:","mission_step_id":"dd77a4f7-1f7f-48a1-83d4-6593d6ee4dde","command_center_event_id":"d2d766a7-af1e-48e0-b11b-4cfb9ba15833"},{"id":"777f9493-f86b-4d7e-8b74-52ebb4e2c8bf","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:43:41.301351+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T15:59:24.85416+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:f69d3fe3-a713-4931-8a2e-c238a69508ec:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"8ea58237-fdfd-4c21-809f-6c9536f988ac","command_center_event_id":"f69d3fe3-a713-4931-8a2e-c238a69508ec"},{"id":"418eed7f-1a09-4f82-b5d5-eda6a43f95e8","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:43:54.926701+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:00:13.653417+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:84244cfd-6465-4c24-898d-10fc69dab9d5:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"527eac75-168e-4697-a495-af6f5e1065cf","command_center_event_id":"84244cfd-6465-4c24-898d-10fc69dab9d5"},{"id":"051aecdc-0a4b-40e5-a19b-cb069e1b60c2","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"pending"},"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","missing":[],"pending":["supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b","releaseState":"pending","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-media-library"]},"releaseTargetStates":{"supabaseEdge":"pending"},"requestContractHash":"7511e32c22e88440ca213fdbc08fb6375b53d31eb25bd5df23bbe40dc3549653","forgejoWorkflowProof":{"runId":10332,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:42:46.811738+00:00","proof_gate":"canonical_release_pending","source_sha":"603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b","external_id":"forgejo-main-603c85a1a2c4","receipt_type":"canonical_release_status","idempotency_key":"mission:dae1d0a1-b08a-429c-bcd3-5611bb42e914:forgejo-release-status:603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b:pending:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=pending","mission_step_id":"6ac2fa2c-9aa2-49a8-8b25-3d219add00cf","command_center_event_id":"dae1d0a1-b08a-429c-bcd3-5611bb42e914"},{"id":"b6e06164-41e9-43a4-a0ab-e7f1ab142eaf","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-b3022fb2322e","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.195-split-brain-safe-supervisor","prNumber":null,"terminal":false,"missionId":"b3022fb2-322e-45d7-b780-14ce811c9122","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1779,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":370,"providerAuthMs":0,"ledgerPrepareMs":370,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":370,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":370,"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":"b3022fb2-322e-45d7-b780-14ce811c9122"},"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":6224,"likelyAffectedFiles":["src/PrivateAppShell.tsx","config/capabilities/tenant-brand-character.json","scripts/reconcile-supabase-edge-registry.mjs","config/capabilities/tenant-type-registry.json","config/capabilities/tenant-workspace-experience.json","config/capabilities/tenant-workspace-search.json","config/capabilities/tenant-workspace-ui-contract-v2.json","scripts/production-release-targets.json","scripts/release-target-ownership.mjs","scripts/supabase-migration-release.mjs","scripts/validate-production-release-identities.mjs","scripts/validate-release-architecture.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T16:01:18.928417+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b3022fb2-322e-45d7-b780-14ce811c9122:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"14b19983-4ed1-47a0-965a-d8c1d67fdb27","command_center_event_id":"b3022fb2-322e-45d7-b780-14ce811c9122"},{"id":"208c32b3-805e-487e-b519-f4d107df017e","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:44:04.279544+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:01:22.962332+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:92234aa8-9e7b-43c8-ae20-0a2cc838b2c2:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"a0df056d-b79c-4d6d-aa46-26dc91898f53","command_center_event_id":"92234aa8-9e7b-43c8-ae20-0a2cc838b2c2"},{"id":"04a2ef9f-3673-436b-b6dd-86454f91408c","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:44:11.045612+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:02:11.599363+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:b516566d-db12-4656-be5d-d519aedd4d69:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"b41d1401-426b-40d6-8b7e-e041feaca6fa","command_center_event_id":"b516566d-db12-4656-be5d-d519aedd4d69"},{"id":"a1e7630a-c1b0-4f7c-91f4-db0ed603eb4f","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:44:18.126052+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:03:11.743694+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:73fc2c7d-a9f8-4293-97e4-066f4ee9bde4:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"b0bc4cc4-0adb-4848-993f-a2563a358076","command_center_event_id":"73fc2c7d-a9f8-4293-97e4-066f4ee9bde4"},{"id":"4b7e5cbe-51c6-41ae-a577-740f26996d8d","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-8cb543bef41f","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.195-split-brain-safe-supervisor","prNumber":null,"terminal":false,"missionId":"8cb543be-f41f-48f5-9397-dea9795dde16","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":767,"providerAuthMs":0,"ledgerPrepareMs":767,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":767,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":767,"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":"8cb543be-f41f-48f5-9397-dea9795dde16"},"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":4699,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T16:03:48.819706+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8cb543be-f41f-48f5-9397-dea9795dde16:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"f9aaa973-4664-492e-8904-1722653fba99","command_center_event_id":"8cb543be-f41f-48f5-9397-dea9795dde16"},{"id":"4f2ddda6-6017-4b0d-982c-bc20c6f8aa0a","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"95bdd0558f7296f49dcad08f781112f51700aee7","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:04:04.084879+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"95bdd0558f7296f49dcad08f781112f51700aee7","external_id":"canonical-release-95bdd0558f72","receipt_type":"canonical_release_status","idempotency_key":"mission:4da9d67e-dc27-42cf-aeec-2b4e4be058b6:forgejo-release-ancestry:95bdd0558f7296f49dcad08f781112f51700aee7:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"fbf0c08b-3d5b-4c65-8442-cf0a3920af83","command_center_event_id":"4da9d67e-dc27-42cf-aeec-2b4e4be058b6"},{"id":"0fc5aa7e-ed28-4ecb-8bf1-b381f48a5e9e","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:44:26.53797+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:04:11.009837+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:4da9d67e-dc27-42cf-aeec-2b4e4be058b6:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"fbf0c08b-3d5b-4c65-8442-cf0a3920af83","command_center_event_id":"4da9d67e-dc27-42cf-aeec-2b4e4be058b6"},{"id":"4e09627a-5c20-47d6-9581-5726b09f0bb2","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"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},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T20:09:36.710011+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":\"ai/fix-experience-editor-target-publication-20260803\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:04:14.007628+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:2502dab2-413c-4517-9884-3533726b0e63:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"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\",\"r","mission_step_id":"b0de44be-8cfb-4249-8508-10d4c8a58e53","command_center_event_id":"2502dab2-413c-4517-9884-3533726b0e63"},{"id":"de59ceb9-16e8-4702-ac95-a2ba00d7d639","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:48:10.356986+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:05:14.267039+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:09b211eb-60ea-485f-bd28-9d0085bbcef7:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"3d2d3e1f-1bd6-40b3-b17e-457eceaf73fd","command_center_event_id":"09b211eb-60ea-485f-bd28-9d0085bbcef7"},{"id":"7d71bacf-c0fb-4de2-ba68-b122a8cff83d","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:50:35.195758+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":\"repair_mission_execution_blocked\",\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:05:17.264909+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:16ee1c82-37c3-4467-905d-7f5087cedc14:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"repair_mission_execution_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_","mission_step_id":"9d7307e8-c78d-4b1b-b05b-30c7225e5099","command_center_event_id":"16ee1c82-37c3-4467-905d-7f5087cedc14"},{"id":"8c92e1da-c451-4bda-8c03-195e13ee657c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-experience-editor-target-publication-20260803-r4-r202608031741","reason":"auto_progress_pr_read_failed:404","status":"retryable","metrics":{"receiptBytes":823,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3894,"terminal":false,"missionId":"db69a0a9-90ea-459c-93c7-6ad8ecbfd641","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":"db69a0a9-90ea-459c-93c7-6ad8ecbfd641"},"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":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:05:22.492527+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3894","receipt_type":"automatic_mission_resume","idempotency_key":"mission:db69a0a9-90ea-459c-93c7-6ad8ecbfd641:automatic-mission-resume:3894:repair_mission_auto_progress_authorization_retryable","mission_step_id":"7aa3a417-1fb6-4c03-9bb9-d4877a8c6a05","command_center_event_id":"db69a0a9-90ea-459c-93c7-6ad8ecbfd641"},{"id":"bb3d6f8b-001b-4251-8119-de6a3ae59b48","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:51:41.215091+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"canonical_release_blocked\",\"terminal\":false,\"branch\":\"ai/fix-experience-editor-target-publication-20260803-r4-r202608031741\",\"prNumber\":3894,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:05:23.889302+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:db69a0a9-90ea-459c-93c7-6ad8ecbfd641:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_reque","mission_step_id":"7aa3a417-1fb6-4c03-9bb9-d4877a8c6a05","command_center_event_id":"db69a0a9-90ea-459c-93c7-6ad8ecbfd641"},{"id":"c2e3ddab-f7c9-43a0-b50e-0fb2d7ed8b32","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"95bdd0558f7296f49dcad08f781112f51700aee7","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:06:04.330084+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"95bdd0558f7296f49dcad08f781112f51700aee7","external_id":"canonical-release-95bdd0558f72","receipt_type":"canonical_release_status","idempotency_key":"mission:0090fdc2-c336-4588-9226-94e399e915e7:forgejo-release-ancestry:95bdd0558f7296f49dcad08f781112f51700aee7:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"14348a22-b9e2-4130-9f51-720ae062d525","command_center_event_id":"0090fdc2-c336-4588-9226-94e399e915e7"},{"id":"26beade3-74dd-42e5-9855-fe50e8924a8e","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.255-protected-main-release-recovery","prNumber":3616,"terminal":false,"missionId":"661b9477-8090-4832-9c23-11b688e9a5c2","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1798,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":180,"approvedPlanMs":0,"missionSetupMs":459,"providerAuthMs":0,"shipAndProveMs":1021,"ledgerPrepareMs":459,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":459,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":459,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"661b9477-8090-4832-9c23-11b688e9a5c2"},"performance":null,"deploymentId":"forgejo-main-ab7962b64eea","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":2590,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:04:21.960044+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","external_id":"forgejo-main-ab7962b64eea","receipt_type":"execute_mission","idempotency_key":"mission:661b9477-8090-4832-9c23-11b688e9a5c2:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"202db826-5b90-4c8e-bc33-23f468a0e6b9","command_center_event_id":"661b9477-8090-4832-9c23-11b688e9a5c2"},{"id":"cdf8ebda-3eb8-454f-a130-df4565df6099","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-dc2f69d4d0f6","prNumber":3642,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"0f62451a994f8fd7b18c3fd0de88787d8f049b03","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T17:06:31.547237+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"0f62451a994f8fd7b18c3fd0de88787d8f049b03","external_id":"3642","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97:merged-pr:3642:0f62451a994f8fd7b18c3fd0de88787d8f049b03","mission_step_id":"0df3695c-5b60-4cdc-99ed-8a07ade037fb","command_center_event_id":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97"},{"id":"324a973d-4a9e-4853-9238-88d84a9bae43","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5db4dcefbbbc","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":37812,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":7,"executorlessWaitMs":147052,"firstUsefulResultAt":"2026-09-25T23:32:04.427Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":null,"prNumber":3782,"terminal":false,"missionId":"5db4dcef-bbbc-4d9c-8e88-ed5ee4c6b769","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5556,"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":"5db4dcef-bbbc-4d9c-8e88-ed5ee4c6b769"},"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-25T23:32:22.862695+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3782","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5db4dcef-bbbc-4d9c-8e88-ed5ee4c6b769:automatic-mission-resume:3782:repair_mission_pr_ready_retryable","mission_step_id":"1844cb7a-a423-4397-afd2-ea8ed3e90bc4","command_center_event_id":"5db4dcef-bbbc-4d9c-8e88-ed5ee4c6b769"},{"id":"2ce68668-270f-4c71-95bf-a1c2caf51350","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:48:22.589443+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:06:11.461467+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:0090fdc2-c336-4588-9226-94e399e915e7:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"14348a22-b9e2-4130-9f51-720ae062d525","command_center_event_id":"0090fdc2-c336-4588-9226-94e399e915e7"},{"id":"3582a2fa-5d09-4a6a-94cd-02517f897622","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"pending"},"mainSha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","missing":[],"pending":["frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","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":"f14ce857b86b4a6f511ffed725ba71a264b2f38436ced358428fbc7e1ce73220","forgejoWorkflowProof":{"runId":11487,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","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-24T14:05:02.547999+00:00","proof_gate":"canonical_release_pending","source_sha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","external_id":"forgejo-main-ab7962b64eea","receipt_type":"canonical_release_status","idempotency_key":"mission:7da530ec-da67-4d23-8d74-7715e3a073f2:forgejo-release-status:ab7962b64eea03be0ebfcf9894c0f7ba0f682378:pending:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=pending","mission_step_id":"a1c32a79-38e9-4f17-be3a-04a55f9263fe","command_center_event_id":"7da530ec-da67-4d23-8d74-7715e3a073f2"},{"id":"595805d5-a7b0-4dd4-b1eb-98238db679b9","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"in_progress","metrics":{"receiptBytes":12561,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":6,"executorlessWaitMs":124848,"firstUsefulResultAt":"2026-09-24T14:04:45.406Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.255-protected-main-release-recovery","prNumber":null,"terminal":false,"missionId":"7da530ec-da67-4d23-8d74-7715e3a073f2","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3536,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":386,"providerAuthMs":0,"shipAndProveMs":3218,"ledgerPrepareMs":386,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":386,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":386,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"7da530ec-da67-4d23-8d74-7715e3a073f2"},"performance":null,"deploymentId":"forgejo-main-ab7962b64eea","releaseState":"pending","workflowRunId":11487,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1467,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:04:45.440087+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","external_id":"forgejo-main-ab7962b64eea","receipt_type":"execute_mission","idempotency_key":"mission:7da530ec-da67-4d23-8d74-7715e3a073f2:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"a1c32a79-38e9-4f17-be3a-04a55f9263fe","command_center_event_id":"7da530ec-da67-4d23-8d74-7715e3a073f2"},{"id":"cd0e1203-fc9f-4f44-a6fb-660fc42277b4","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"pending"},"mainSha":"660e49e581dd3b11c527266325f90a5789d55cc9","missing":[],"pending":["frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"0f62451a994f8fd7b18c3fd0de88787d8f049b03","releaseState":"failed","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"ef53f83d87bf06532c7a2d80a28cccfcc75cfcb39202add48cab6354f41b46b0","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/11543","runId":11543,"status":"cancelled","sourceSha":"0f62451a994f8fd7b18c3fd0de88787d8f049b03","conclusion":null,"failedJobs":[{"id":80018,"name":"Release frontend","status":"cancelled","conclusion":null,"failedSteps":[]}],"diagnostics":{"runId":11543,"logTail":["2026-09-24T17:07:51.6025703Z warning: pass a leading slash before paths such as 'vite.config.ts' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-24T17:07:51.6025989Z warning: pass a leading slash before paths such as 'tsconfig.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-24T17:07:51.6026274Z warning: pass a leading slash before paths such as 'tsconfig.app.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-24T17:07:51.6026500Z warning: pass a leading slash before paths such as 'tsconfig.node.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-24T17:07:51.6027144Z warning: pass a leading slash before paths such as 'postcss.config.js' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-24T17:07:51.6027427Z warning: pass a leading slash before paths such as 'tailwind.config.ts' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-24T17:07:51.6027731Z warning: pass a leading slash before paths such as 'components.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-24T17:07:51.6027981Z warning: pass a leading slash before paths such as 'config/cloudflare-native-frontend-build.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-24T17:07:51.6028225Z warning: pass a leading slash before paths such as 'supabase/functions/_shared/tenantTypeRegistry.json' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-24T17:07:51.6028482Z warning: pass a leading slash before paths such as 'wrangler.toml' if you want a single file (see NON-CONE PROBLEMS in the git-sparse-checkout manual).","2026-09-24T17:07:55.9979554Z Frontend fallback source hydrated only after both promotion transports missed.","2026-09-24T17:08:01.1795596Z Frontend release zstd dependency-cache codec available=true","2026-09-24T17:08:01.7403517Z (node:398) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.","2026-09-24T17:08:01.7404213Z (Use `node --trace-deprecation ...` to show where the warning was created)","2026-09-24T17:08:05.0563697Z Cache Size: ~489 MB (512985197 B)","2026-09-24T17:08:05.0606046Z [command]/usr/bin/tar -xf /tmp/96971b28-248d-409c-b8c9-b45dada2bcee/cache.tzst -P -C /workspace/noel/KnockLaunchOS --use-compress-program unzstd","2026-09-24T17:08:14.2252056Z Cache restored successfully","2026-09-24T17:08:14.3747077Z Cache restored from key: knocklaunch-gate-node-v2-22.18.0-fabcb6392004cccb50494d3280e955188e7f72e89269a3fe81bacff9c4ad134e","2026-09-24T17:08:14.4905660Z frontend_job_cgroup_memory_limit=4294967296","2026-09-24T17:08:14.7347949Z Frontend release dependency cache hit; skipping duplicate npm ci","2026-09-24T17:08:15.3783788Z ","2026-09-24T17:08:15.3784961Z > vite_react_shadcn_ts@0.0.0 build:cloudflare-native","2026-09-24T17:08:15.3785205Z > node scripts/cloudflare-native-preflight.mjs && node scripts/cloudflare-native-build.mjs && node scripts/cloudflare-native-prepare.mjs && node scripts/cloudflare-native-artifact-guard.mjs","2026-09-24T17:08:15.3785459Z ","2026-09-24T17:08:15.4743814Z {\"ok\":true,\"lane\":\"forgejo-runner-direct-wrangler\",\"worker\":\"knocklaunch-owner-production\",\"branch\":\"main\",\"sourceSha\":\"0f62451a994f8fd7b18c3fd0de88787d8f049b03\",\"buildUuid\":\"forgejo-11543-1\",\"publicEnvMode\":\"explicit_override_or_public_default_or_live_public_bootstrap\"}","2026-09-24T17:08:15.5752839Z {\"ok\":true,\"proofGate\":\"cloudflare_native_public_env_verified\",\"requiredVariableNames\":[\"VITE_SUPABASE_URL\",\"VITE_SUPABASE_PUBLISHABLE_KEY\",\"VITE_MAPBOX_PUBLIC_TOKEN\"],\"optionalVariableNames\":[\"VITE_PAYMENTS_CLIENT_TOKEN\"],\"explicitOverrideCount\":1,\"publicDefaultCount\":2,\"recoveredCount\":0,\"optionalMissingCount\":1,\"assetsInspected\":0,\"bytesInspected\":0,\"valuesExposed\":false}","2026-09-24T17:08:15.5765491Z {\"ok\":true,\"proofGate\":\"cloudflare_native_production_builder_selected\",\"builder\":\"vite@5.4.19\",\"builderSource\":\"repository_lockfile_node_modules\",\"bundler\":\"rollup\",\"minifier\":\"esbuild\",\"buildHeapMb\":3072,\"runnerClass\":\"heavy-4g\",\"runnerHostMemoryMb\":8192,\"runnerMemoryMb\":8192,\"reservedHeadroomMb\":2048,\"dependencyIsolation\":\"project_package_lock_and_local_node_modules_only\"}","2026-09-24T17:08:16.1488001Z [36mvite v5.4.19 [32mbuilding for production...[36m[39m","2026-09-24T17:08:16.2639944Z transforming...","2026-09-24T17:08:16.5660421Z [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`","2026-09-24T17:08:16.8511250Z Browserslist: browsers data (caniuse-lite) is 10 months old. Please run:","2026-09-24T17:08:16.8511873Z   npx update-browserslist-db@latest","2026-09-24T17:08:16.8512089Z   Why you should do it regularly: https://github.com/browserslist/update-db#readme","2026-09-24T17:08:44.6032906Z ","2026-09-24T17:08:44.6033560Z [1m[33mwarn[39m[22m - The class `duration-[350ms]` is ambiguous and matches multiple utilities.","2026-09-24T17:08:44.6033848Z [1m[33mwarn[39m[22m - If this is content and not a class, replace it with `duration-&lsqb;350ms&rsqb;` to silence this warning.","2026-09-24T17:09:47.5244019Z ⚙️ [runner]: context canceled\\nunable to copy \"/var/run/act/workflow/SUMMARY.md\" from container to host: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.52/containers/79066403bf9a009ccdfc1f938db8cb68c2e1f4d14bc0029cbebde32f198ba40f/archive?path=%2Fvar%2Frun%2Fact%2Fworkflow%2FSUMMARY.md\": context canceled\\nunable to copy \"/var/run/act/workflow/pathcmd.txt\" from container to host: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.52/containers/79066403bf9a009ccdfc1f938db8cb68c2e1f4d14bc0029cbebde32f198ba40f/archive?path=%2Fvar%2Frun%2Fact%2Fworkflow%2Fpathcmd.txt\": context canceled","2026-09-24T17:09:48.3775640Z 🏁  Job failed","2026-09-24T17:09:52.1184124Z context canceled",""],"proofGate":"forgejo_action_run_logs_verified","truncated":false,"failureLines":[{"line":161,"content":"2026-09-24T17:09:48.3775640Z 🏁  Job failed"}]},"exactSource":true,"fingerprint":"cancelled|release frontend|2026-09-24t17:09:48.3775640z 🏁  job failed|2026-09-24t17:07:51.6025703z warning: pass a leading slash before paths such as 'vite.config.ts' if you want a single file (see non-cone problems in the git-sparse-checkout manual).|2026-09-24t17:07:51.6025989z warning: pass a leading slash before paths such as 'tsconfig.json' if you want a single file (see non-cone problems in the git-sparse-checkout manual).|2026-09-24t17:07:51.6026274z warning: pass a leading slash before paths such as 'tsconfig.app.json' if you want a single file (see non-cone problems in the git-sparse-checkout manual).|2026-09-24t17:07:51.6026500z warning: pass a leading slash before paths such as 'tsconfig.node.json' if you want a single file (see non-cone problems in the git-sparse-checkout manual).|2026-09-24t17:07:51.6027144z warning: pass a leading slash before paths such as 'postcss.config.js' if you want a single file (see non-cone problems in the git-sparse-checkout manual).|2026-09-24","failureClass":"release_cancelled_transient","targetStates":{"frontend":"pending"},"safeAutoRetry":true,"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T17:11:14.911366+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"0f62451a994f8fd7b18c3fd0de88787d8f049b03","external_id":"forgejo-main-0f62451a994f","receipt_type":"canonical_release_status","idempotency_key":"mission:dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97:forgejo-release-status:0f62451a994f8fd7b18c3fd0de88787d8f049b03:failed:forgejo-main/source=success|forgejo-release/workflow=failure|frontend-cloudflare/live=pending","mission_step_id":"0df3695c-5b60-4cdc-99ed-8a07ade037fb","command_center_event_id":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97"},{"id":"84c83c94-4c8d-48c0-9466-4db6a9cc9005","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-97bf489dc3bd","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":10829,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":146194,"firstUsefulResultAt":"2026-09-24T18:38:00.364Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3656,"terminal":false,"missionId":"97bf489d-c3bd-4454-9450-220f5c5e84d1","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6851,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":854,"missionSetupMs":256,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":256,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":256,"repositoryMutationMs":5997,"repositoryProviderMs":5997,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2583,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":256,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":3414},"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":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},"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":3864,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T18:40:34.599917+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3656","receipt_type":"execute_mission","idempotency_key":"mission:97bf489d-c3bd-4454-9450-220f5c5e84d1:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"397019b1-e85c-49ba-a327-288e44a41177","command_center_event_id":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},{"id":"3182037e-2b7c-48ec-b534-444f11a4c421","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:48:30.300298+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3893,\"sourceSha\":\"95bdd0558f7296f49dcad08f781112f51700aee7\",\"deploymentId\":\"canonical-release-95bdd0558f72\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:07:11.19784+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:6019a49c-272b-4d70-a6a2-d42e79083eaa:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"943c70b4-76e8-46b3-9862-2e40e2c618cf","command_center_event_id":"6019a49c-272b-4d70-a6a2-d42e79083eaa"},{"id":"39cf4e37-3f75-468f-8290-aade27071393","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-24T17:04:44.530515+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":\"ab7962b64eea03be0ebfcf9894c0f7ba0f682378\",\"deploymentId\":\"forgejo-main-ab7962b64eea\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:06:39.374686+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:7da530ec-da67-4d23-8d74-7715e3a073f2:owner-progress-heartbeat:119350586","mission_step_id":"4cb2ad53-1eed-4537-98ee-f07859111381","command_center_event_id":"7da530ec-da67-4d23-8d74-7715e3a073f2"},{"id":"e2a7bbe3-cb1f-4fd6-a862-b42e028d32a6","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-dc2f69d4d0f6","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":40046,"releaseCount":1,"toolCallCount":9,"repeatedCallCount":2,"executorlessWaitMs":1560090,"firstUsefulResultAt":"2026-09-24T16:45:14.768Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":3642,"terminal":false,"missionId":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"660e49e581dd3b11c527266325f90a5789d55cc9","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3375,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":123,"approvedPlanMs":0,"missionSetupMs":291,"providerAuthMs":0,"shipAndProveMs":2659,"ledgerPrepareMs":291,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":291,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":291,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97"},"performance":null,"deploymentId":"forgejo-main-660e49e581dd","releaseState":"failed","workflowRunId":11544,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3010,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T16:51:07.155958+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"0f62451a994f8fd7b18c3fd0de88787d8f049b03","external_id":"forgejo-main-0f62451a994f","receipt_type":"execute_mission","idempotency_key":"mission:dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"0df3695c-5b60-4cdc-99ed-8a07ade037fb","command_center_event_id":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97"},{"id":"cb983c09-e33c-401a-bb50-73e48e5d3171","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-97bf489dc3bd","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":12925,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":154193,"firstUsefulResultAt":"2026-09-24T18:38:00.364Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3656,"terminal":false,"missionId":"97bf489d-c3bd-4454-9450-220f5c5e84d1","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":8205,"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":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},"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":1535,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T18:40:46.502476+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3656","receipt_type":"automatic_mission_resume","idempotency_key":"mission:97bf489d-c3bd-4454-9450-220f5c5e84d1:automatic-mission-resume:3656:repair_mission_pr_ready_retryable","mission_step_id":"99e831d6-c959-4bc0-9631-660a963bf289","command_center_event_id":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},{"id":"e41bd68e-ab34-42cc-b6f3-a26eba487a1b","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:implementation\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"implementation\",\"deadlineAt\":\"2026-08-03T19:43:48.236442+00:00\",\"recoveryAction\":\"continue_implementation\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/unify-experience-editor-tenant-type-pipeline-20260803\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:07:13.857376+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:aac0a8b3-2d4e-46d9-9622-75da32129b1f:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\"","mission_step_id":"11e4fe83-4bfc-4cb8-b681-2fe06972edbd","command_center_event_id":"aac0a8b3-2d4e-46d9-9622-75da32129b1f"},{"id":"4dac99a1-2e0a-4bd2-a158-395c975e79bc","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-24T17:04:44.530515+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":\"ab7962b64eea03be0ebfcf9894c0f7ba0f682378\",\"deploymentId\":\"forgejo-main-ab7962b64eea\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:08:29.896234+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:7da530ec-da67-4d23-8d74-7715e3a073f2:owner-progress-heartbeat:119350593","mission_step_id":"4cb2ad53-1eed-4537-98ee-f07859111381","command_center_event_id":"7da530ec-da67-4d23-8d74-7715e3a073f2"},{"id":"21fae126-0272-47a9-8fa9-ac3b5611bc9d","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"660e49e581dd3b11c527266325f90a5789d55cc9","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"660e49e581dd3b11c527266325f90a5789d55cc9","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":"ef53f83d87bf06532c7a2d80a28cccfcc75cfcb39202add48cab6354f41b46b0","forgejoWorkflowProof":{"runId":11544,"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-24T17:12:02.992703+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"660e49e581dd3b11c527266325f90a5789d55cc9","external_id":"forgejo-main-660e49e581dd","receipt_type":"canonical_release_status","idempotency_key":"mission:dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97:forgejo-release-status:660e49e581dd3b11c527266325f90a5789d55cc9:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"dc2f46a4-e1b7-42ad-b414-5a5284d3ebae","command_center_event_id":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97"},{"id":"271029eb-4273-4eb8-b767-63b700e8cd51","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-97bf489dc3bd","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":14474,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":166100,"firstUsefulResultAt":"2026-09-24T18:38:00.364Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3656,"terminal":false,"missionId":"97bf489d-c3bd-4454-9450-220f5c5e84d1","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1200,"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":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},"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":815,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T18:40:48.663457+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3656","receipt_type":"automatic_mission_resume","idempotency_key":"mission:97bf489d-c3bd-4454-9450-220f5c5e84d1:automatic-mission-resume:3656:repair_mission_waiting_for_gate","mission_step_id":"99e831d6-c959-4bc0-9631-660a963bf289","command_center_event_id":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},{"id":"0a73d815-f1fd-4701-aa74-614c8dfbfd8e","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:52:01.155358+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3894,\"sourceSha\":\"1598f3e423c9d2b6e818fa31dd854dfb35052abb\",\"deploymentId\":\"canonical-release-1598f3e423c9\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:08:11.047576+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:61e6b811-ff36-48f2-a16d-15bb9a34ad1f:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"8da68369-8b23-4a32-8e8c-bc5641f48f2b","command_center_event_id":"61e6b811-ff36-48f2-a16d-15bb9a34ad1f"},{"id":"b38714b3-deba-4970-9a9c-9b7b554d4101","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/remove-lawn-care-editor-snowflake-20260803-r202608031744","reason":"auto_progress_pr_read_failed:404","status":"retryable","metrics":{"receiptBytes":813,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3895,"terminal":false,"missionId":"a9c33a7a-e82f-4c3b-9e1e-ff6f3d1a9f70","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":"a9c33a7a-e82f-4c3b-9e1e-ff6f3d1a9f70"},"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":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:08:15.213325+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3895","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a9c33a7a-e82f-4c3b-9e1e-ff6f3d1a9f70:automatic-mission-resume:3895:repair_mission_auto_progress_authorization_retryable","mission_step_id":"aef260f3-8d1e-47fd-9a5c-c72854dc368d","command_center_event_id":"a9c33a7a-e82f-4c3b-9e1e-ff6f3d1a9f70"},{"id":"d167dc1c-8b2f-46bf-8ad1-6cdc384d0f0d","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-3d565fcac782","writes":[],"patches":[],"version":1,"approved":true,"missionId":"3d565fca-c782-401e-b2c9-ae81e38f22f8","objective":"Finish the protected-main release-only recovery path on current protected main. In workers/cc-execution/src/index-mission-control.js: (1) change the protected-main push reentry handoff guard so it runs only when no known workflowRunId AND releaseOnlyProtectedMainRecovery is false; release-only recovery with no known run must continue to queue scan/per-target reconciliation/dispatch. (2) change the `forgejo_release_target_reconciliation_unavailable` throw so it remains fail-closed for normal release flows but is skipped for releaseOnlyProtectedMainRecovery; explicit requested release-only targets remain pending/unverified and therefore are dispatched rather than suppressed. Preserve all other release safety checks, exact-current-main validation, active queue detection, and target scoping. Add regression assertions in src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts for `&& !releaseOnlyProtectedMainRecovery` on both guards. Bump workers/cc-execution/src/version.js from 1.58.255-protected-main-release-recovery to 1.58.256-protected-main-release-dispatch. One fresh ai branch, one PR, canonical Gate, squash merge, deploy cc-execution, verify runtime. No frontend source changes.","sourceSha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"    if ((!Number.isInteger(knownWorkflowRunId) || knownWorkflowRunId < 1) && !releaseOnlyProtectedMainRecovery) {\n      return {","old_content":"    if (!Number.isInteger(knownWorkflowRunId) || knownWorkflowRunId < 1) {\n      return {"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"    if (sameSourceTerminalReleaseRuns.length > 0 && targetJobReadUnavailable && Object.keys(reconciledTargetStates).length === 0 && !releaseOnlyProtectedMainRecovery) {\n      throw new Error(\"retryable_provider_transport:forgejo_release_target_reconciliation_unavailable\");\n    }","old_content":"    if (sameSourceTerminalReleaseRuns.length > 0 && targetJobReadUnavailable && Object.keys(reconciledTargetStates).length === 0) {\n      throw new Error(\"retryable_provider_transport:forgejo_release_target_reconciliation_unavailable\");\n    }"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.58.256-protected-main-release-dispatch\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.255-protected-main-release-recovery\";"},{"path":"src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","new_content":"    expect(missionControlSource).toContain('releaseOnlyProtectedMainRecovery ? explicitProtectedMainSourceSha : null');\n    expect(missionControlSource).toContain('reason: \"valid_prNumber_required\"');\n    expect(missionControlSource).toContain('knownWorkflowRunId < 1) && !releaseOnlyProtectedMainRecovery');\n    expect(missionControlSource).toContain('Object.keys(reconciledTargetStates).length === 0 && !releaseOnlyProtectedMainRecovery');\n  });","old_content":"    expect(missionControlSource).toContain('releaseOnlyProtectedMainRecovery ? explicitProtectedMainSourceSha : null');\n    expect(missionControlSource).toContain('reason: \"valid_prNumber_required\"');\n  });"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"There are no things in the merge queue or action queue.","wordingChanged":false,"canonicalIntent":"Release-only recovery must emit a workflow_dispatch for explicit unfinished targets instead of reusing or handing off to the old protected-main push.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"dispatch-unfinished-target","statement":"Release-only protected-main recovery proceeds to queue scan and workflow_dispatch without requiring a prior workflowRunId, and historical job-read uncertainty leaves explicit targets pending rather than suppressing dispatch.","proofConditionIds":["proof-cc"]}],"objective":"Finish protected-main release-only recovery so it actually dispatches unfinished targets.","constraints":[{"id":"bounded","statement":"Only mission-control release guards, version marker, and focused regression contract change.","proofConditionIds":["proof-cc"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-cc","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"requestContract":{"intent":{"rawUtterance":"There are no things in the merge queue or action queue.","wordingChanged":false,"canonicalIntent":"Release-only recovery must emit a workflow_dispatch for explicit unfinished targets instead of reusing or handing off to the old protected-main push.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"dispatch-unfinished-target","statement":"Release-only protected-main recovery proceeds to queue scan and workflow_dispatch without requiring a prior workflowRunId, and historical job-read uncertainty leaves explicit targets pending rather than suppressing dispatch.","proofConditionIds":["proof-cc"]}],"objective":"Finish protected-main release-only recovery so it actually dispatches unfinished targets.","constraints":[{"id":"bounded","statement":"Only mission-control release guards, version marker, and focused regression contract change.","proofConditionIds":["proof-cc"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-cc","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner authorized fixing the final release-only dispatch guards that keep the Actions queue empty."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner authorized fixing the final release-only dispatch guards that keep the Actions queue empty."},"recovery":false,"fingerprint":"91df29674373560cdaa55834c9f9b5e739191c1f4cb0f9995f86641f10fc9c18","replayCount":0,"serializedBytes":7648},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:09:39.941848+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:3d565fca-c782-401e-b2c9-ae81e38f22f8:repository-mutation-intent:91df29674373560cdaa55834c9f9b5e739191c1f4cb0f9995f86641f10fc9c18:0","mission_step_id":"865f915f-fb75-47f8-a6b2-ca5f2a531e15","command_center_event_id":"3d565fca-c782-401e-b2c9-ae81e38f22f8"},{"id":"b72217a3-2cd6-4000-8768-38a056d0de88","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"660e49e581dd3b11c527266325f90a5789d55cc9","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"persistent-contextual-slot","satisfied":true,"statement":"ApplicationFrame owns a persistent contextual-header slot outside its scroll region.","proofConditionIds":["frontend-live"]},{"id":"portal-contextual-header","satisfied":true,"statement":"ContextualWorkflowHeader renders into the current ApplicationFrame persistent slot and falls back inline only when no frame exists.","proofConditionIds":["frontend-live"]},{"id":"single-scroll-body","satisfied":true,"statement":"ApplicationFrame's document-flow scrolling occurs only in its inner application scroll region, below the persistent contextual-header slot.","proofConditionIds":["frontend-live"]}],"satisfied":true,"constraints":[{"id":"frontend-only","satisfied":true,"statement":"No routing, auth, data, backend, tenant business logic, or control-plane changes.","proofConditionIds":["frontend-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":["frontend-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":["frontend-live"]}],"contractHash":"ef53f83d87bf06532c7a2d80a28cccfcc75cfcb39202add48cab6354f41b46b0","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"frontend-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":"ef53f83d87bf06532c7a2d80a28cccfcc75cfcb39202add48cab6354f41b46b0"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T17:12:05.056408+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"660e49e581dd3b11c527266325f90a5789d55cc9","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97:request-contract:ef53f83d87bf06532c7a2d80a28cccfcc75cfcb39202add48cab6354f41b46b0:660e49e581dd3b11c527266325f90a5789d55cc9:verified:","mission_step_id":"dc2f46a4-e1b7-42ad-b414-5a5284d3ebae","command_center_event_id":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97"},{"id":"1dda32c7-07ef-4ef7-aee1-a0d421f1b268","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-c7277832d445","prNumber":3655,"nextAction":null,"mergeCommitSha":"39ac1ec1ffeb5703aec46cfa5174b177aa53566e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T18:44:30.841248+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"39ac1ec1ffeb5703aec46cfa5174b177aa53566e","external_id":"3655","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:c7277832-d445-4a10-bf39-923f418aee05:merged-pr:3655:39ac1ec1ffeb5703aec46cfa5174b177aa53566e","mission_step_id":"7b50a7be-0afd-4432-bb05-9bb27900d2ea","command_center_event_id":"c7277832-d445-4a10-bf39-923f418aee05"},{"id":"d6646913-9a29-4110-ba8c-fbeff13cd077","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"39ac1ec1ffeb5703aec46cfa5174b177aa53566e","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Mutation request. In current main, move the shared mobile utility action bar in src/PrivateAppShell.tsx (Back / Home / Refresh / Messages) below the tenant's own mobile navigation bar instead of overlaying above/on top of it. Tenant navigation remains primary. The utility bar must sit beneath it with correct mobile safe-area spacing, no page-content overlap, and normal scrolling. Apply at the shared platform shell level for all tenants, not a 321-only hack. Do not use or reintroduce KNOCKLAUNCH Core. Add/adjust regression coverage for mobile ordering and non-overlap. Gate, squash merge, deploy, and verify production on https://app.knocklaunch.app/321-auto-unlock/owner/command at mobile viewport. Do not claim completion without live proof.","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"visual-content-truth","satisfied":false,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-production","proof-visual"]},{"id":"tenant-visual-isolation","satisfied":false,"statement":"Visual work is isolated to requested tenant. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-viewport-authority","satisfied":false,"statement":"The requested mobile viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","proofConditionIds":["proof-visual"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","proofConditionIds":["proof-visual"]},{"id":"reference-visual-authority","satisfied":false,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-visual"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"ebfadc2511cc518e8a83174356aa839738dfee0db5b30f251ff795b8b245fca6","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"ebfadc2511cc518e8a83174356aa839738dfee0db5b30f251ff795b8b245fca6"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"39ac1ec1ffeb5703aec46cfa5174b177aa53566e","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T18:44:35.499525+00:00","proof_gate":"request_contract_pending","source_sha":"39ac1ec1ffeb5703aec46cfa5174b177aa53566e","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:c7277832-d445-4a10-bf39-923f418aee05:request-contract:ebfadc2511cc518e8a83174356aa839738dfee0db5b30f251ff795b8b245fca6:39ac1ec1ffeb5703aec46cfa5174b177aa53566e:pending:visual","mission_step_id":"edbc5d85-8ff4-4faf-9070-63be166de1c9","command_center_event_id":"c7277832-d445-4a10-bf39-923f418aee05"},{"id":"da6b19d2-0cd3-4b34-9a01-241db0f0997c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-2a9406a97c6d","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":7476,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":48194,"firstUsefulResultAt":"2026-09-24T18:58:28.216Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3661,"terminal":false,"missionId":"2a9406a9-7c6d-4703-8d4c-d15457953174","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4664,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":702,"missionSetupMs":247,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":247,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":247,"repositoryMutationMs":3962,"repositoryProviderMs":3962,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2205,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":247,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1757},"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":"2a9406a9-7c6d-4703-8d4c-d15457953174"},"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":3070,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T18:59:22.070533+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3661","receipt_type":"execute_mission","idempotency_key":"mission:2a9406a9-7c6d-4703-8d4c-d15457953174:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"0a452147-2823-4336-9446-62f7a4eb905d","command_center_event_id":"2a9406a9-7c6d-4703-8d4c-d15457953174"},{"id":"cc488b7d-092d-4fba-8cc4-23cc2471bf6d","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:54:35.970023+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"canonical_release_blocked\",\"terminal\":false,\"branch\":\"ai/remove-lawn-care-editor-snowflake-20260803-r202608031744\",\"prNumber\":3895,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:08:16.856272+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:a9c33a7a-e82f-4c3b-9e1e-ff6f3d1a9f70:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_reque","mission_step_id":"aef260f3-8d1e-47fd-9a5c-c72854dc368d","command_center_event_id":"a9c33a7a-e82f-4c3b-9e1e-ff6f3d1a9f70"},{"id":"7d0fcf86-1a22-4955-b252-4300e67f3b84","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:52:12.55491+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3894,\"sourceSha\":\"1598f3e423c9d2b6e818fa31dd854dfb35052abb\",\"deploymentId\":\"canonical-release-1598f3e423c9\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:09:11.665708+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:d1de44af-b620-4676-ab59-eecde6b79a92:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"831884ab-f660-49d2-8f45-28556ef5ac61","command_center_event_id":"d1de44af-b620-4676-ab59-eecde6b79a92"},{"id":"fbf308fc-2db3-4419-bfb7-effaa24d6bf6","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-experience-editor-selection-overlay-20260803-r202608031745","reason":"auto_progress_pr_read_failed:404","status":"retryable","metrics":{"receiptBytes":1763,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3896,"terminal":false,"missionId":"0b943826-ce36-4696-a724-86a6334cb7ec","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":"0b943826-ce36-4696-a724-86a6334cb7ec"},"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":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:09:15.36669+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3896","receipt_type":"automatic_mission_resume","idempotency_key":"mission:0b943826-ce36-4696-a724-86a6334cb7ec:automatic-mission-resume:3896:repair_mission_auto_progress_authorization_retryable","mission_step_id":"39d1142d-f648-4bfa-9749-7ff7d47ba82c","command_center_event_id":"0b943826-ce36-4696-a724-86a6334cb7ec"},{"id":"d3da35ec-adb5-4df2-b360-d343d101292f","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:54:51.670064+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3895,\"sourceSha\":\"0ede783466d02bfeaa1a6fc130d46e18ac4fb8c9\",\"deploymentId\":\"canonical-release-0ede783466d0\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:11:12.187477+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:4094b43a-638f-411a-ac8b-a2fded85a9b9:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"bf8db26d-f7cc-4b39-bd3a-5c12d14fa05c","command_center_event_id":"4094b43a-638f-411a-ac8b-a2fded85a9b9"},{"id":"5a6e8668-9af4-418e-99af-074ba175d150","source":"cc-execution","status":"recorded","payload":{"objective":"FRONTEND-ONLY corrective visual repair on current protected main. The approved 321 Auto Unlock background asset is already wired and visible in production, but current presentation is wrong: `object-cover`/cover-style scaling on a much wider desktop hero crops away most of the approved coastal scene, and the dark overlay makes the remaining image look like a navy/black wash. Fix the existing live page only; do not generate or replace the image. Preserve AUTO_UNLOCK_APPROVED_BACKGROUND exactly. Change the background presentation so the full approved composition is materially visible across the above-the-fold hero: palm silhouettes, cloudy blue sky, bridge/waterline lights, wet blue/orange reflections, and right-side vehicle framing must all remain in frame at desktop. Prefer deterministic full-scene sizing/positioning rather than cover-cropping (e.g. stretch/100%-by-100% hero scene or equivalent composition-preserving treatment suitable for the reference). Reduce the dark readability overlay to the minimum needed for text legibility; do not hide the image. Keep existing logo, video, headline, CTA, How It Works panel, emergency warning, copy, form behavior, and mobile functionality unchanged. Repair the winning background/overlay rules rather than stacking another overlay. One fresh ai/* branch from current main, one PR, canonical Gate, squash merge, Cloudflare frontend release, then live visual proof at 321autounlock.com. Do not stop at implementation/PR.","tenantRef":"321-auto-unlock","receivedAt":"2026-09-24T17:15:25.427Z","fingerprint":"0d543ab31a54306d85f7b0ea30af4faa280f60847ccbb0aa847f78cc604f85b1","workstreamRef":"321autounlock","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"FRONTEND-ONLY corrective visual repair on current protected main. The approved 321 Auto Unlock background asset is already wired and visible in production, but current presentation is wrong: `object-cover`/cover-style scaling on a much wider desktop hero crops away most of the approved coastal scene, and the dark overlay makes the remaining image look like a navy/black wash. Fix the existing live page only; do not generate or replace the image. Preserve AUTO_UNLOCK_APPROVED_BACKGROUND exactly. Change the background presentation so the full approved composition is materially visible across the above-the-fold hero: palm silhouettes, cloudy blue sky, bridge/waterline lights, wet blue/orange reflections, and right-side vehicle framing must all remain in frame at desktop. Prefer deterministic full-scene sizing/positioning rather than cover-cropping (e.g. stretch/100%-by-100% hero scene or equivalent composition-preserving treatment suitable for the reference). Reduce the dark readability overlay to the minimum needed for text legibility; do not hide the image. Keep existing logo, video, headline, CTA, How It Works panel, emergency warning, copy, form behavior, and mobile functionality unchanged. Repair the winning background/overlay rules rather than stacking another overlay. One fresh ai/* branch from current main, one PR, canonical Gate, squash merge, Cloudflare frontend release, then live visual proof at 321autounlock.com. Do not stop at implementation/PR.","wordingChanged":false,"canonicalIntent":"FRONTEND-ONLY corrective visual repair on current protected main. The approved 321 Auto Unlock background asset is already wired and visible in production, but current presentation is wrong: `object-cover`/cover-style scaling on a much wider desktop hero crops away most of the approved coastal scene, and the dark overlay makes the remaining image look like a navy/black wash. Fix the existing live page only; do not generate or replace the image. Preserve AUTO_UNLOCK_APPROVED_BACKGROUND exactly. Change the background presentation so the full approved composition is materially visible across the above-the-fold hero: palm silhouettes, cloudy blue sky, bridge/waterline lights, wet blue/orange reflections, and right-side vehicle framing must all remain in frame at desktop. Prefer deterministic full-scene sizing/positioning rather than cover-cropping (e.g. stretch/100%-by-100% hero scene or equivalent composition-preserving treatment suitable for the reference). Reduce the dark readability overlay to the minimum needed for text legibility; do not hide the image. Keep existing logo, video, headline, CTA, How It Works panel, emergency warning, copy, form behavior, and mobile functionality unchanged. Repair the winning background/overlay rules rather than stacking another overlay. One fresh ai/* branch from current main, one PR, canonical Gate, squash merge, Cloudflare frontend release, then live visual proof at 321autounlock.com. Do not stop at implementation/PR.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"legacy_derived","version":1,"outcomes":[{"id":"outcome-1","statement":"FRONTEND-ONLY corrective visual repair on current protected main. The approved 321 Auto Unlock background asset is already wired and visible in production, but current presentation is wrong: `object-cover`/cover-style scaling on a much wider desktop hero crops away most of the approved coastal scene, and the dark overlay makes the remaining image look like a navy/black wash. Fix the existing live page only; do not generate or replace the image. Preserve AUTO_UNLOCK_APPROVED_BACKGROUND exactly. Change the background presentation so the full approved composition is materially visible across the above-the-fold hero: palm silhouettes, cloudy blue sky, bridge/waterline lights, wet blue/orange reflections, and right-side vehicle framing must all remain in frame at desktop. Prefer deterministic full-scene sizing/positioning rather than cover-cropping (e.g. stretch/100%-by-100% hero scene or equivalent composition-preserving treatment suitable for the reference). Reduce the dark readability overlay to the minimum needed for text legibility; do not hide the image. Keep existing logo, video, headline, CTA, How It Works panel, emergency warning, copy, form behavior, and mobile functionality u","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]}],"objective":"FRONTEND-ONLY corrective visual repair on current protected main. The approved 321 Auto Unlock background asset is already wired and visible in production, but current presentation is wrong: `object-cover`/cover-style scaling on a much wider desktop hero crops away most of the approved coastal scene, and the dark overlay makes the remaining image look like a navy/black wash. Fix the existing live page only; do not generate or replace the image. Preserve AUTO_UNLOCK_APPROVED_BACKGROUND exactly. Change the background presentation so the full approved composition is materially visible across the above-the-fold hero: palm silhouettes, cloudy blue sky, bridge/waterline lights, wet blue/orange reflections, and right-side vehicle framing must all remain in frame at desktop. Prefer deterministic full-scene sizing/positioning rather than cover-cropping (e.g. stretch/100%-by-100% hero scene or equivalent composition-preserving treatment suitable for the reference). Reduce the dark readability overlay to the minimum needed for text legibility; do not hide the image. Keep existing logo, video, headline, CTA, How It Works panel, emergency warning, copy, form behavior, and mobile functionality unchanged. Repair the winning background/overlay rules rather than stacking another overlay. One fresh ai/* branch from current main, one PR, canonical Gate, squash merge, Cloudflare frontend release, then live visual proof at 321autounlock.com. Do not stop at implementation/PR.","constraints":[{"id":"visual-artifact-scope","statement":"The requested visual artifact type is authoritative: logo only. Do not add unrelated or mixed visual surfaces unless the owner explicitly requested them.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-content-truth","statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]},{"id":"brand-asset-authority","statement":"Supplied brand assets are source-authoritative. They must not be redrawn, morphed, recolored, restyled, substituted, cropped, or regenerated unless the owner explicitly requests that transformation.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]},{"id":"tenant-visual-isolation","statement":"Visual work is isolated to 321-auto-unlock. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-viewport-authority","statement":"The requested mobile viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport unless explicitly requested.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"FRONTEND-ONLY corrective visual repair on current protected main. The approved 321 Auto Unlock background asset is already wired and visible in production, but current presentation is wrong: `object-cover`/cover-style scaling on a much wider desktop hero crops away most of the approved coastal scene, and the dark overlay makes the remaining image look like a navy/black wash. Fix the existing live page only; do not generate or replace the image. Preserve AUTO_UNLOCK_APPROVED_BACKGROUND exactly. Change the background presentation so the full approved composition is materially visible across the above-the-fold hero: palm silhouettes, cloudy blue sky, bridge/waterline lights, wet blue/orange reflections, and right-side vehicle framing must all remain in frame at desktop. Prefer deterministic full-scene sizing/positioning rather than cover-cropping (e.g. stretch/100%-by-100% hero scene or equivalent composition-preserving treatment suitable for the reference). Reduce the dark readability ov","route":"https://321autounlock.com/","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":"FRONTEND-ONLY corrective visual repair on current protected main. The approved 321 Auto Unlock background asset is already wired and visible in production, but current presentation is wrong: `object-cover`/cover-style scaling on a much wider desktop hero crops away most of the approved coastal scene, and the dark overlay makes the remaining image look like a navy/black wash. Fix the existing live page only; do not generate or replace the image. Preserve AUTO_UNLOCK_APPROVED_BACKGROUND exactly. Change the background presentation so the full approved composition is materially visible across the above-the-fold hero: palm silhouettes, cloudy blue sky, bridge/waterline lights, wet blue/orange reflections, and right-side vehicle framing must all remain in frame at desktop. Prefer deterministic full-scene sizing/positioning rather than cover-cropping (e.g. stretch/100%-by-100% hero scene or equivalent composition-preserving treatment suitable for the reference). Reduce the dark readability ov","route":"https://321autounlock.com/","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"FRONTEND-ONLY-corrective-visual-repair-on-current-protected-main.-The-approved-321-Auto-Unlock-backg","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestedBranch":null,"conversationContext":null,"requestContractHash":"093e54573c4213f1a8bb683241f25c607ae79854087b641aa9dd63c371088871","requestContractRevision":1},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T17:15:25.777123+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:c9e442a7-8255-4ef8-a592-40da0d9aac0b:tenant-workstream-contribution:0d543ab31a54306d85f7b0ea30af4faa280f60847ccbb0aa847f78cc604f85b1","mission_step_id":null,"command_center_event_id":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},{"id":"63f36724-da19-4426-9d73-59487718a029","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T20:15:13.733873+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"canonical_release_blocked\",\"terminal\":false,\"branch\":\"ai/fix-experience-editor-selection-overlay-20260803-r202608031745\",\"prNumber\":3896,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:09:16.685378+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:0b943826-ce36-4696-a724-86a6334cb7ec:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason","mission_step_id":"39d1142d-f648-4bfa-9749-7ff7d47ba82c","command_center_event_id":"0b943826-ce36-4696-a724-86a6334cb7ec"},{"id":"ee01564d-2cc6-4e65-b325-95e19cd7f77c","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","supabase/functions/command-center-autopilot/index.ts","supabase/functions/command-center-autopilot/missionLedger.ts","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly requested the industrial-grade bar pushed further. This bounded generation closes stale-candidate execution and stale-writer gaps, adds durable replay/divergence verification, and exposes a disposable real lease chaos probe without new infrastructure.","baseSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","issuedAt":1789920582886,"expiresAt":1789920762886,"missionId":"66005297-c319-496c-93a0-cf7fc140fe64","authorizationId":"75973dec-20aa-406a-bab6-6a7b3eade25f","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T16:09:43.23693+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"0646720cad3dc88b10532a280fd98ff47c311f3e","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:75973dec-20aa-406a-bab6-6a7b3eade25f","mission_step_id":"bbe893c7-7e2a-4d89-b1b7-bb7521f3ff44","command_center_event_id":"66005297-c319-496c-93a0-cf7fc140fe64"},{"id":"0313faff-77af-4e57-ab49-3d5e7aba923b","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/replay-fenced-mission-runtime","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.195-split-brain-safe-supervisor","prNumber":3297,"terminal":false,"missionId":"66005297-c319-496c-93a0-cf7fc140fe64","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":20487,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":4181,"missionSetupMs":489,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":489,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":489,"repositoryMutationMs":16306,"repositoryProviderMs":16306,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":9147,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":489,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":7159},"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":"66005297-c319-496c-93a0-cf7fc140fe64"},"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":4662,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T16:10:03.614048+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3297","receipt_type":"execute_mission","idempotency_key":"mission:66005297-c319-496c-93a0-cf7fc140fe64:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"6afeebae-fcf8-42ac-99c7-6fc7525fcb84","command_center_event_id":"66005297-c319-496c-93a0-cf7fc140fe64"},{"id":"be2b3dbc-f3ed-4cc0-88a1-8f7a6bed1f15","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"1598f3e423c9d2b6e818fa31dd854dfb35052abb","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:10:11.261201+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"1598f3e423c9d2b6e818fa31dd854dfb35052abb","external_id":"canonical-release-1598f3e423c9","receipt_type":"canonical_release_status","idempotency_key":"mission:4efc6e5e-8e57-4f02-8be2-8a820a63c224:forgejo-release-ancestry:1598f3e423c9d2b6e818fa31dd854dfb35052abb:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"4afd74c9-4b81-4e30-8369-537cc463b456","command_center_event_id":"4efc6e5e-8e57-4f02-8be2-8a820a63c224"},{"id":"b159f33c-c81a-43a5-ad94-6c36707f4de9","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T17:52:23.131587+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3894,\"sourceSha\":\"1598f3e423c9d2b6e818fa31dd854dfb35052abb\",\"deploymentId\":\"canonical-release-1598f3e423c9\"}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:10:19.124151+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:4efc6e5e-8e57-4f02-8be2-8a820a63c224:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"4afd74c9-4b81-4e30-8369-537cc463b456","command_center_event_id":"4efc6e5e-8e57-4f02-8be2-8a820a63c224"},{"id":"ead95950-6430-49a0-9041-a7481e40f04c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-experience-editor-layer-actions-20260803-r202608031746","reason":"auto_progress_pr_read_failed:404","status":"retryable","metrics":{"receiptBytes":1755,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3897,"terminal":false,"missionId":"2fa17c8f-b259-46c6-8ae7-2829a4a6f4aa","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":"2fa17c8f-b259-46c6-8ae7-2829a4a6f4aa"},"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":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:10:23.13652+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3897","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2fa17c8f-b259-46c6-8ae7-2829a4a6f4aa:automatic-mission-resume:3897:repair_mission_auto_progress_authorization_retryable","mission_step_id":"9005312f-a85d-45e3-8d13-d28363199c47","command_center_event_id":"2fa17c8f-b259-46c6-8ae7-2829a4a6f4aa"},{"id":"73f4b5be-50f1-4740-ab34-727a58d2853b","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/replay-fenced-mission-runtime","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3297,"terminal":false,"missionId":"66005297-c319-496c-93a0-cf7fc140fe64","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","timingsMs":{"prReadinessMs":1310,"approvedPlanMs":0,"shipAndProveMs":9066,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"66005297-c319-496c-93a0-cf7fc140fe64"},"performance":null,"deploymentId":"forgejo-main-475aa5e50741","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["command-center-autopilot"]},"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":2237,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T16:10:51.157318+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3297","receipt_type":"automatic_mission_resume","idempotency_key":"mission:66005297-c319-496c-93a0-cf7fc140fe64:automatic-mission-resume:3297:canonical_release_dispatched","mission_step_id":"cc83ed00-ce46-405e-ab1b-c3f7fb890e2b","command_center_event_id":"66005297-c319-496c-93a0-cf7fc140fe64"},{"id":"81160b69-e4db-41ee-b6ce-479f61d011cd","source":"forgejo","status":"waiting","payload":{"branch":"ai/replay-fenced-mission-runtime","prNumber":3297,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T16:11:32.563738+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","external_id":"3297","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:66005297-c319-496c-93a0-cf7fc140fe64:merged-pr:3297:475aa5e50741c92ced77274b14105a8a5c16cdfd","mission_step_id":"cc83ed00-ce46-405e-ab1b-c3f7fb890e2b","command_center_event_id":"66005297-c319-496c-93a0-cf7fc140fe64"},{"id":"5d4e8c80-e0e5-49a6-a92b-a169016eb33c","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"reason":"Owner authorized fixing the final release-only dispatch guards that keep the Actions queue empty.","baseSha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","issuedAt":1790258980743,"expiresAt":1790259160743,"missionId":"3d565fca-c782-401e-b2c9-ae81e38f22f8","authorizationId":"00717b8e-121a-4e9a-8ae7-afc77f805a02","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:09:41.086861+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:00717b8e-121a-4e9a-8ae7-afc77f805a02","mission_step_id":"8beea8ce-a151-4cb9-b7ad-9443778f30e1","command_center_event_id":"3d565fca-c782-401e-b2c9-ae81e38f22f8"},{"id":"4ad3bb38-48f2-47bd-8ca6-c0784b94a0d0","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-universal-experience-canvas-20260803-r202608031815","reason":"auto_progress_pr_read_failed:404","status":"retryable","metrics":{"receiptBytes":1748,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3899,"terminal":false,"missionId":"6241fd62-4367-4937-9ed1-998df053909e","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":"6241fd62-4367-4937-9ed1-998df053909e"},"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":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:13:25.876342+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3899","receipt_type":"automatic_mission_resume","idempotency_key":"mission:6241fd62-4367-4937-9ed1-998df053909e:automatic-mission-resume:3899:repair_mission_auto_progress_authorization_retryable","mission_step_id":"0457f72c-b594-45a2-a8dd-4d7799cbd90d","command_center_event_id":"6241fd62-4367-4937-9ed1-998df053909e"},{"id":"ac68b9dc-4d59-49c6-9ab4-e1ca3e00fbbb","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":"49eddf35a4bc9954b138e033a32c5b3199738b17","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"49eddf35a4bc9954b138e033a32c5b3199738b17","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["customer-portal"]},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":"e7f0dfc00671da771f588efd980a991d493d541e927eeddec3dcc99da8a64b9b","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13138","runId":13138,"status":"success","sourceSha":"49eddf35a4bc9954b138e033a32c5b3199738b17","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":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T18:38:16.788061+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"49eddf35a4bc9954b138e033a32c5b3199738b17","external_id":"forgejo-main-49eddf35a4bc","receipt_type":"canonical_release_status","idempotency_key":"mission:3f38f89d-f562-44d5-80ee-ba4a718879b7:forgejo-release-status:49eddf35a4bc9954b138e033a32c5b3199738b17:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"d5ebce25-2d6b-4437-ab9a-b300008fc72d","command_center_event_id":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},{"id":"6039e085-01e2-4fc8-86a2-ffe99dfee415","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","sourceSha":"2f767c4fa70aa859df76c495cf98776afc358bab","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:14:05.050105+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"2f767c4fa70aa859df76c495cf98776afc358bab","external_id":"canonical-release-2f767c4fa70a","receipt_type":"canonical_release_status","idempotency_key":"mission:ff6e4f09-1cc1-4460-a97d-070c7a75d3ed:forgejo-release-ancestry:2f767c4fa70aa859df76c495cf98776afc358bab:475aa5e50741c92ced77274b14105a8a5c16cdfd:ancestry_read_retryable","mission_step_id":"bfbf0409-0352-496c-a792-a6d4ce013859","command_center_event_id":"ff6e4f09-1cc1-4460-a97d-070c7a75d3ed"},{"id":"5fd4a0d8-c808-43b2-a64a-72ccbadf163d","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T20:16:39.933557+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"canonical_release_blocked\",\"terminal\":false,\"branch\":\"ai/fix-experience-editor-layer-actions-20260803-r202608031746\",\"prNumber\":3897,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:10:24.480986+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:2fa17c8f-b259-46c6-8ae7-2829a4a6f4aa:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason","mission_step_id":"9005312f-a85d-45e3-8d13-d28363199c47","command_center_event_id":"2fa17c8f-b259-46c6-8ae7-2829a4a6f4aa"},{"id":"e104fa7d-520a-422a-8613-6ef8436eb522","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"gate-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"bde29dbbfccf81d1dfd0940c9ad2e086261c53ec","prNumber":3297,"gateRunId":10337,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTestPath":"release-orchestration-invariants.test.js","gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/10337/jobs/1","gateTestProof":"successful_exact_head_gate_log_contains:release-orchestration-invariants.test.js","gateTestPassed":true,"mergeCommitSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","gateTestLogLine":"2026-09-20T16:10:19.6132459Z Gate regression: executing workers/cc-execution/test/release-orchestration-invariants.test.js","gateTestExecuted":true}],"requestContractHash":"30c15c7ca421792790867c3b6b51e741298cdd60dccf7d702c6447cd6c72f138","namedGateEvidenceReceiptVersion":":named-gate-evidence-v1"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T16:11:37.040664+00:00","proof_gate":"request_contract_repository_verified","source_sha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:66005297-c319-496c-93a0-cf7fc140fe64:request-contract-repository:30c15c7ca421792790867c3b6b51e741298cdd60dccf7d702c6447cd6c72f138:475aa5e50741c92ced77274b14105a8a5c16cdfd:named-gate-evidence-v1","mission_step_id":"248e3ece-69c9-442f-9628-48d439f0394e","command_center_event_id":"66005297-c319-496c-93a0-cf7fc140fe64"},{"id":"ff86959a-33b5-40f8-ae38-a8f3a5df8e65","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","sourceSha":"0ede783466d02bfeaa1a6fc130d46e18ac4fb8c9","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:11:04.833048+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"0ede783466d02bfeaa1a6fc130d46e18ac4fb8c9","external_id":"canonical-release-0ede783466d0","receipt_type":"canonical_release_status","idempotency_key":"mission:4094b43a-638f-411a-ac8b-a2fded85a9b9:forgejo-release-ancestry:0ede783466d02bfeaa1a6fc130d46e18ac4fb8c9:475aa5e50741c92ced77274b14105a8a5c16cdfd:ancestry_read_retryable","mission_step_id":"bf8db26d-f7cc-4b39-bd3a-5c12d14fa05c","command_center_event_id":"4094b43a-638f-411a-ac8b-a2fded85a9b9"},{"id":"95b11591-a802-492c-ab1f-cfde92b79fdc","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"fresh-state","satisfied":true,"statement":"Autonomous execution rereads the durable mission after winning the lease so transitions never dispatch from stale candidate state.","proofConditionIds":["gate-proof","runtime-proof"]},{"id":"fencing","satisfied":true,"statement":"Supervisor transition journal writes are fenced by the currently active durable lease token+epoch+expiry and stale lease writers fail closed.","proofConditionIds":["gate-proof","edge-proof"]},{"id":"replay","satisfied":true,"statement":"Durable transition receipts can be replay-verified for malformed/duplicate transitions and checked against the mission's persisted last supervisor signature.","proofConditionIds":["gate-proof","edge-proof","runtime-proof"]},{"id":"chaos","satisfied":true,"statement":"The edge runtime exposes a disposable lease chaos probe that proves first-owner acquire, duplicate-owner contention, clean release, next-epoch takeover, and terminal cleanup on a synthetic mission.","proofConditionIds":["gate-proof","edge-proof"]}],"satisfied":true,"constraints":[{"id":"single-brain","satisfied":true,"statement":"Replay/fencing/chaos tooling validates and gates the existing deterministic mission_status brain; it does not introduce another executor.","proofConditionIds":["gate-proof","runtime-proof"]},{"id":"no-schema-sprawl","satisfied":true,"statement":"Reuse existing command_center_events context and command_center_receipts. No migration or new service.","proofConditionIds":["gate-proof","edge-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":["gate-proof","runtime-proof","edge-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":["gate-proof","runtime-proof","edge-proof"]}],"contractHash":"30c15c7ca421792790867c3b6b51e741298cdd60dccf7d702c6447cd6c72f138","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"gate-proof","kind":"repository","evidence":{"reason":null,"gateRunId":10337,"satisfied":true,"gateTestProof":"successful_exact_head_gate_log_contains:release-orchestration-invariants.test.js","gateTestPassed":true,"missingTargets":[],"gateTestExecuted":true,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":"release-orchestration-invariants.test.js","releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"30c15c7ca421792790867c3b6b51e741298cdd60dccf7d702c6447cd6c72f138","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["ccExecution","supabaseEdge"],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd"},"required":true,"satisfied":true},{"id":"runtime-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"30c15c7ca421792790867c3b6b51e741298cdd60dccf7d702c6447cd6c72f138"},"required":true,"satisfied":true},{"id":"edge-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":["supabaseEdge"],"migrationReleaseVerified":null,"releaseRequestContractHash":"30c15c7ca421792790867c3b6b51e741298cdd60dccf7d702c6447cd6c72f138"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T16:11:59.634777+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:66005297-c319-496c-93a0-cf7fc140fe64:request-contract:30c15c7ca421792790867c3b6b51e741298cdd60dccf7d702c6447cd6c72f138:475aa5e50741c92ced77274b14105a8a5c16cdfd:verified:","mission_step_id":"248e3ece-69c9-442f-9628-48d439f0394e","command_center_event_id":"66005297-c319-496c-93a0-cf7fc140fe64"},{"id":"0873d5cf-ac09-4ff1-9921-4956b62d65c1","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","leaseEpoch":1,"afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"automatic_mission_resume\",\"status\":\"retryable\",\"proofGate\":\"repair_mission_auto_progress_authorization_retryable\"},\"activeStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextStep\":{\"key\":\"runtime_proof\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"retry_bounded_recovery\",\"lane\":\"cc-execution\",\"reason\":\"repair_mission_auto_progress_authorization_retryable\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T20:22:37.963743+00:00\",\"recoveryAction\":\"retry_bounded_recovery\"},\"blocker\":\"repair_mission_auto_progress_authorization_retryable\",\"terminal\":false,\"branch\":\"ai/simplify-experience-studio-20260803-r202608031755\",\"prNumber\":3898,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"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},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T20:22:37.963743+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"canonical_release_blocked\",\"terminal\":false,\"branch\":\"ai/simplify-experience-studio-20260803-r202608031755\",\"prNumber\":3898,\"sourceSha\":null,\"deploymentId\":null}","transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:12:32.184238+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:10492545-a2c7-40e3-80b2-5d95cdd3e21c:deterministic-transition:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"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","mission_step_id":"68e29faf-df9d-48cc-9279-16d8ce654bc8","command_center_event_id":"10492545-a2c7-40e3-80b2-5d95cdd3e21c"},{"id":"aa9640d6-d7f1-457f-9bb0-155837df81fd","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","sourceSha":"c59c6dc5e71d40de40cdc68722198bb9a5c6af07","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:13:04.812113+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"c59c6dc5e71d40de40cdc68722198bb9a5c6af07","external_id":"canonical-release-c59c6dc5e71d","receipt_type":"canonical_release_status","idempotency_key":"mission:fe7cf08b-5c56-4bd7-8dae-7c0685e162b8:forgejo-release-ancestry:c59c6dc5e71d40de40cdc68722198bb9a5c6af07:475aa5e50741c92ced77274b14105a8a5c16cdfd:ancestry_read_retryable","mission_step_id":"176c9c41-4d60-4827-82da-b8c059f59508","command_center_event_id":"fe7cf08b-5c56-4bd7-8dae-7c0685e162b8"},{"id":"bbf6bad9-7e58-4fe9-af42-67bc3a7d01fe","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"a235cfcd-1ba7-4d49-8c40-d48967761ed1","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-3f38f89df562","reason":null,"status":"pending","metrics":{"receiptBytes":44521,"releaseCount":0,"toolCallCount":12,"repeatedCallCount":3,"executorlessWaitMs":663351,"firstUsefulResultAt":"2026-09-29T18:27:16.029Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4162,"terminal":false,"missionId":"3f38f89d-f562-44d5-80ee-ba4a718879b7","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"49eddf35a4bc9954b138e033a32c5b3199738b17","timingsMs":{"queue":400,"total":501,"execution":101},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},"performance":null,"deploymentId":"forgejo-main-49eddf35a4bc","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"a235cfcd-1ba7-4d49-8c40-d48967761ed1","tenant":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"a235cfcd-1ba7-4d49-8c40-d48967761ed1","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"https://whatsmyprogress.com/pcg","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":13138,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["customer-portal"]},"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":1807,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T18:38:23.281207+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"49eddf35a4bc9954b138e033a32c5b3199738b17","external_id":"a235cfcd-1ba7-4d49-8c40-d48967761ed1","receipt_type":"visual_proof_started","idempotency_key":"mission:3f38f89d-f562-44d5-80ee-ba4a718879b7:visual-start:a235cfcd-1ba7-4d49-8c40-d48967761ed1","mission_step_id":"ad2daee5-ddb1-4a22-9d1b-a240c31a4e30","command_center_event_id":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},{"id":"180f9092-5a57-4753-9224-5a70efb71fc0","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js","workers/cc-execution/test/request-contract-proof-authority.test.js"],"reason":"Owner-authorized repair of request-contract proof classification so non-visual control-plane refactors cannot inherit visual acceptance constraints from unrelated context.","baseSha":"0bcd4180024f5139cb27894a4d17e94b329dd54e","issuedAt":1790222780417,"expiresAt":1790222960417,"missionId":"8a1f6371-985d-4092-8eff-3ae25ba66187","authorizationId":"6f623eea-3cef-4ca8-ac66-e1275edc388e","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:06:20.650785+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"0bcd4180024f5139cb27894a4d17e94b329dd54e","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:6f623eea-3cef-4ca8-ac66-e1275edc388e","mission_step_id":"9e3cd2a8-54c3-4066-89a5-7009121b40d7","command_center_event_id":"8a1f6371-985d-4092-8eff-3ae25ba66187"},{"id":"587d895d-b916-4e6a-a5fc-d957bb2668d0","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending","supabase-edge-production/live":"pending"},"mainSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"sourceSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","releaseState":"pending","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":"pending","supabaseEdge":"pending"},"requestContractHash":"30c15c7ca421792790867c3b6b51e741298cdd60dccf7d702c6447cd6c72f138","forgejoWorkflowProof":{"runId":10338,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending","supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","deploymentId":"forgejo-main-0646720cad3dc88b10532a280fd98ff47c311f3e","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.195-split-brain-safe-supervisor","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T16:10:53.152736+00:00","proof_gate":"canonical_release_pending","source_sha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","external_id":"forgejo-main-475aa5e50741","receipt_type":"canonical_release_status","idempotency_key":"mission:66005297-c319-496c-93a0-cf7fc140fe64:forgejo-release-status:475aa5e50741c92ced77274b14105a8a5c16cdfd:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending|supabase-edge-production/live=pending","mission_step_id":"cc83ed00-ce46-405e-ab1b-c3f7fb890e2b","command_center_event_id":"66005297-c319-496c-93a0-cf7fc140fe64"},{"id":"6fed3a30-e584-4a1f-9d7d-f2b728233711","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/simplify-experience-studio-20260803-r202608031755","reason":"auto_progress_pr_read_failed:404","status":"retryable","metrics":{"receiptBytes":2670,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3898,"terminal":false,"missionId":"10492545-a2c7-40e3-80b2-5d95cdd3e21c","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":"10492545-a2c7-40e3-80b2-5d95cdd3e21c"},"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":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:12:27.582783+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3898","receipt_type":"automatic_mission_resume","idempotency_key":"mission:10492545-a2c7-40e3-80b2-5d95cdd3e21c:automatic-mission-resume:3898:repair_mission_auto_progress_authorization_retryable","mission_step_id":"68e29faf-df9d-48cc-9279-16d8ce654bc8","command_center_event_id":"10492545-a2c7-40e3-80b2-5d95cdd3e21c"},{"id":"0b7fb0dd-cba0-4b46-b9f6-178a9eba6658","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/objective-intent.js","workers/cc-execution/src/source-discovery-policy.js","workers/cc-execution/test/objective-intent-boundary.test.js"],"reason":"Owner-authorized repair of the exact control-plane intent and source-resolution defects; bounded unfreeze for these source/test edits only.","baseSha":"7b6cb7498ed2ef08d784f5d9b646259b04bc2983","issuedAt":1790218868831,"expiresAt":1790219048831,"missionId":"6ff9a97f-b18a-456e-928b-94cd435a8fcc","authorizationId":"8029bc6b-054d-49f6-8430-fce3ee9f251a","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T03:01:09.252075+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"7b6cb7498ed2ef08d784f5d9b646259b04bc2983","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:8029bc6b-054d-49f6-8430-fce3ee9f251a","mission_step_id":"f0a606a7-1443-4519-b74c-2a1dd4779280","command_center_event_id":"6ff9a97f-b18a-456e-928b-94cd435a8fcc"},{"id":"c4736ff8-a33a-4ea9-892f-ef0a55bf4658","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-3d565fcac782","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":7794,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-24T14:09:39.907Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.255-protected-main-release-recovery","prNumber":3621,"terminal":false,"missionId":"3d565fca-c782-401e-b2c9-ae81e38f22f8","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6012,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1846,"missionSetupMs":303,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":303,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":303,"repositoryMutationMs":4166,"repositoryProviderMs":4166,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2686,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":303,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1480},"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":"3d565fca-c782-401e-b2c9-ae81e38f22f8"},"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":3911,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:09:46.986121+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3621","receipt_type":"execute_mission","idempotency_key":"mission:3d565fca-c782-401e-b2c9-ae81e38f22f8:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"865f915f-fb75-47f8-a6b2-ca5f2a531e15","command_center_event_id":"3d565fca-c782-401e-b2c9-ae81e38f22f8"},{"id":"7026db37-30b3-4386-870a-2fc5c3fab228","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":112902,"owner_action_to_pr_ms":361824,"green_gate_to_merge_ms":2288,"owner_action_to_useful_response_ms":355324},"ownerWaitLiveAt":"2026-09-29T18:38:28.902Z"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T18:38:29.250037+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:3f38f89d-f562-44d5-80ee-ba4a718879b7:owner-wait-live","mission_step_id":"d5ebce25-2d6b-4437-ab9a-b300008fc72d","command_center_event_id":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},{"id":"294465c6-256f-43c7-9bc4-10131347045c","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":"475aa5e50741c92ced77274b14105a8a5c16cdfd","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live"],"sourceSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","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":"30c15c7ca421792790867c3b6b51e741298cdd60dccf7d702c6447cd6c72f138","forgejoWorkflowProof":{"runId":10338,"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":"475aa5e50741c92ced77274b14105a8a5c16cdfd","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-475aa5e50741c92ced77274b14105a8a5c16cdfd","compareStatus":"target_job_success_runtime_verified","workflowRunId":10338,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.196-replay-fenced-mission-runtime","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T16:11:58.161913+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","external_id":"forgejo-main-475aa5e50741","receipt_type":"canonical_release_status","idempotency_key":"mission:66005297-c319-496c-93a0-cf7fc140fe64:forgejo-release-status:475aa5e50741c92ced77274b14105a8a5c16cdfd:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success|supabase-edge-production/live=success","mission_step_id":"248e3ece-69c9-442f-9628-48d439f0394e","command_center_event_id":"66005297-c319-496c-93a0-cf7fc140fe64"},{"id":"7b1c069e-e6e4-493b-ac01-8b82faa65283","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3d565fcac782","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":10415,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":7030,"firstUsefulResultAt":"2026-09-24T14:09:39.907Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3621,"terminal":false,"missionId":"3d565fca-c782-401e-b2c9-ae81e38f22f8","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":522,"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":"3d565fca-c782-401e-b2c9-ae81e38f22f8"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1285,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:09:50.9859+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3621","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3d565fca-c782-401e-b2c9-ae81e38f22f8:automatic-mission-resume:3621:repair_mission_waiting_for_gate","mission_step_id":"44f90871-2479-40ce-a630-51cd06a17e7f","command_center_event_id":"3d565fca-c782-401e-b2c9-ae81e38f22f8"},{"id":"15744d4c-2165-444f-b1f5-aa63e681c521","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-c9e442a78255","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.260-release-actions-query-parity","prNumber":null,"terminal":false,"missionId":"c9e442a7-8255-4ef8-a592-40da0d9aac0b","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1080,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1188,"providerAuthMs":0,"ledgerPrepareMs":642,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1188,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":642,"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":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},"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":4970,"likelyAffectedFiles":["src/pages/auto-lockout/AutoUnlockPublic.tsx","src/pages/auto-lockout/autoUnlockApprovedBackground.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T17:15:27.527727+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c9e442a7-8255-4ef8-a592-40da0d9aac0b:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"8dfa3418-0982-415f-9e2e-2e8ec195bb9a","command_center_event_id":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},{"id":"74455382-df87-4e2d-ab63-cb38a171a5e3","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","sourceSha":"c59c6dc5e71d40de40cdc68722198bb9a5c6af07","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:12:07.049276+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"c59c6dc5e71d40de40cdc68722198bb9a5c6af07","external_id":"canonical-release-c59c6dc5e71d","receipt_type":"canonical_release_status","idempotency_key":"mission:9876e557-2f6b-418b-af37-fa86acd1e815:forgejo-release-ancestry:c59c6dc5e71d40de40cdc68722198bb9a5c6af07:475aa5e50741c92ced77274b14105a8a5c16cdfd:ancestry_read_retryable","mission_step_id":"6eb93f20-0517-48dc-a10d-95dc3fe7c4b3","command_center_event_id":"9876e557-2f6b-418b-af37-fa86acd1e815"},{"id":"3dcbf4af-c6d3-47c7-bdd4-740f4e793954","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c9e442a78255","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":7690,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":29360,"firstUsefulResultAt":"2026-09-24T17:15:27.475Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3645,"terminal":false,"missionId":"c9e442a7-8255-4ef8-a592-40da0d9aac0b","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","timingsMs":{"prReadinessMs":597,"approvedPlanMs":0,"shipAndProveMs":3450,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},"performance":null,"deploymentId":"forgejo-main-4cbb84de5ca6","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":1819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T17:16:05.107529+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3645","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c9e442a7-8255-4ef8-a592-40da0d9aac0b:automatic-mission-resume:3645:canonical_release_reconciliation_pending","mission_step_id":"5c71c4a0-e7ff-43cd-a94c-a0e3ec806dae","command_center_event_id":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},{"id":"8266623a-1243-4e37-bb98-53c70fc91b60","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","leaseEpoch":1,"afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"automatic_mission_resume\",\"status\":\"retryable\",\"proofGate\":\"repair_mission_auto_progress_authorization_retryable\"},\"activeStep\":null,\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"retry_bounded_recovery\",\"lane\":\"cc-execution\",\"reason\":\"repair_mission_auto_progress_authorization_retryable\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T20:41:29.219117+00:00\",\"recoveryAction\":\"retry_bounded_recovery\"},\"blocker\":\"repair_mission_auto_progress_authorization_retryable\",\"terminal\":false,\"branch\":\"ai/fix-universal-experience-canvas-20260803-r202608031815\",\"prNumber\":3899,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-08-03T20:41:29.219117+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"canonical_release_blocked\",\"terminal\":false,\"branch\":\"ai/fix-universal-experience-canvas-20260803-r202608031815\",\"prNumber\":3899,\"sourceSha\":null,\"deploymentId\":null}","transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:13:30.385029+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:6241fd62-4367-4937-9ed1-998df053909e:deterministic-transition:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"pending\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pu","mission_step_id":"0457f72c-b594-45a2-a8dd-4d7799cbd90d","command_center_event_id":"6241fd62-4367-4937-9ed1-998df053909e"},{"id":"dcca5412-fe88-45b6-8cc8-5ca32c1ca5c5","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-experience-preview-route-collision-20260803-r202608031852","reason":"auto_progress_pr_read_failed:404","status":"retryable","metrics":{"receiptBytes":819,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3900,"terminal":false,"missionId":"784c5567-fce0-43e9-b36b-2a35fa3f7a9c","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":"784c5567-fce0-43e9-b36b-2a35fa3f7a9c"},"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":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:15:26.415264+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3900","receipt_type":"automatic_mission_resume","idempotency_key":"mission:784c5567-fce0-43e9-b36b-2a35fa3f7a9c:automatic-mission-resume:3900:repair_mission_auto_progress_authorization_retryable","mission_step_id":"a0267a88-9aef-4a90-a187-7fb9485eedb9","command_center_event_id":"784c5567-fce0-43e9-b36b-2a35fa3f7a9c"},{"id":"f6bb878c-0781-4ea1-b50d-271565c9a23f","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-3d565fcac782","prNumber":3621,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"32438d3c54b2023cb4d7b4813a9b804ab782468d","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:10:45.846443+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"32438d3c54b2023cb4d7b4813a9b804ab782468d","external_id":"3621","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:3d565fca-c782-401e-b2c9-ae81e38f22f8:merged-pr:3621:32438d3c54b2023cb4d7b4813a9b804ab782468d","mission_step_id":"57a6ad69-b5b7-42d7-8538-80e1d91423f9","command_center_event_id":"3d565fca-c782-401e-b2c9-ae81e38f22f8"},{"id":"0974922a-4878-4e11-a158-1ff39ac91230","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-3d565fcac782","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":12219,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"executorlessWaitMs":65893,"firstUsefulResultAt":"2026-09-24T14:09:39.907Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.255-protected-main-release-recovery","prNumber":3621,"terminal":false,"missionId":"3d565fca-c782-401e-b2c9-ae81e38f22f8","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"32438d3c54b2023cb4d7b4813a9b804ab782468d","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1381,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":160,"approvedPlanMs":0,"missionSetupMs":2390,"providerAuthMs":0,"shipAndProveMs":689,"ledgerPrepareMs":1540,"ledgerReconcileMs":0,"lineageReconcileMs":850,"resolvePreflightMs":2390,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1540,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"3d565fca-c782-401e-b2c9-ae81e38f22f8"},"performance":null,"deploymentId":"forgejo-main-32438d3c54b2","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":2727,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:10:47.900496+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"32438d3c54b2023cb4d7b4813a9b804ab782468d","external_id":"forgejo-main-32438d3c54b2","receipt_type":"execute_mission","idempotency_key":"mission:3d565fca-c782-401e-b2c9-ae81e38f22f8:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"57a6ad69-b5b7-42d7-8538-80e1d91423f9","command_center_event_id":"3d565fca-c782-401e-b2c9-ae81e38f22f8"},{"id":"14dca970-b9d0-410f-9e93-b20bb13eb134","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","sourceSha":"510e8ea2b1ae85ea3a5eab1605747c60755330a8","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:16:06.182545+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"510e8ea2b1ae85ea3a5eab1605747c60755330a8","external_id":"canonical-release-510e8ea2b1ae","receipt_type":"canonical_release_status","idempotency_key":"mission:2a446ed2-56b1-492c-8e75-33d66279adba:forgejo-release-ancestry:510e8ea2b1ae85ea3a5eab1605747c60755330a8:475aa5e50741c92ced77274b14105a8a5c16cdfd:ancestry_read_retryable","mission_step_id":"d96e92cf-4df8-4530-ad08-c0a839c5cb44","command_center_event_id":"2a446ed2-56b1-492c-8e75-33d66279adba"},{"id":"8db7d84c-40ce-493e-b2b0-342ed4555e27","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"https://321autounlock.com/","branch":"ai/objective-first-repair-c9e442a78255","writes":[],"patches":[],"version":1,"approved":true,"missionId":"c9e442a7-8255-4ef8-a592-40da0d9aac0b","objective":"Continue the same frontend-only corrective mission. Apply the smallest exact background-presentation repair to current AutoUnlockPublic.tsx: preserve AUTO_UNLOCK_APPROVED_BACKGROUND, stop cover-cropping it, expose the full scene, and reduce/remove the heavy hero overlays that are obscuring the approved image. Do not alter any business content, video, CTA, form behavior, or approved asset.","tenantRef":"321-auto-unlock","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/auto-lockout/AutoUnlockPublic.tsx","src/pages/auto-lockout/autoUnlockApprovedBackground.ts"],"anchored_edits":[{"path":"src/pages/auto-lockout/AutoUnlockPublic.tsx","edits":[{"new_content":"<img aria-hidden=\"true\" src={AUTO_UNLOCK_APPROVED_BACKGROUND} alt=\"\" className=\"pointer-events-none fixed inset-0 h-full w-full object-fill object-center\" />","old_content":"<img aria-hidden=\"true\" src={AUTO_UNLOCK_APPROVED_BACKGROUND} alt=\"\" className=\"pointer-events-none fixed inset-0 h-full w-full object-cover object-center\" />"},{"new_content":"<div aria-hidden=\"true\" className=\"pointer-events-none fixed inset-0 bg-[linear-gradient(180deg,rgba(1,5,11,.02)_0%,rgba(1,5,11,.04)_58%,rgba(1,5,11,.10)_100%)]\" />","old_content":"<div aria-hidden=\"true\" className=\"pointer-events-none fixed inset-0 bg-[linear-gradient(180deg,rgba(1,5,11,.18)_0%,rgba(1,5,11,.22)_52%,rgba(1,5,11,.58)_100%)]\" />"},{"new_content":"<section className=\"relative z-10 overflow-hidden border-b border-sky-400/15\"><div className=\"pointer-events-none absolute inset-0 bg-[linear-gradient(90deg,rgba(1,5,11,.12)_0%,rgba(1,5,11,.03)_34%,rgba(1,5,11,.02)_72%,rgba(1,5,11,.08)_100%)]\" /><div aria-hidden=\"true\" className=\"pointer-events-none absolute inset-x-0 bottom-0 h-24 bg-gradient-to-t from-[#01050b]/30 to-transparent\" />","old_content":"<section className=\"relative z-10 overflow-hidden border-b border-sky-400/15\"><div className=\"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_68%_30%,rgba(14,165,233,.18),transparent_30%),radial-gradient(ellipse_at_50%_100%,rgba(0,102,255,.13),transparent_48%),linear-gradient(180deg,rgba(3,14,28,.12),rgba(1,5,11,.54))]\" /><div aria-hidden=\"true\" className=\"pointer-events-none absolute inset-x-0 bottom-0 h-44 bg-[linear-gradient(180deg,transparent,rgba(2,15,30,.72)),repeating-linear-gradient(90deg,transparent_0px,transparent_84px,rgba(56,189,248,.07)_85px,transparent_86px)] [mask-image:linear-gradient(to_top,black,transparent)]\" />"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"c9e442a7-8255-4ef8-a592-40da0d9aac0b","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/auto-lockout/AutoUnlockPublic.tsx","src/pages/auto-lockout/autoUnlockApprovedBackground.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":"cd64a76d943eca1752fc86e5b791b4bf9e09da56f6f6f4fd3073603889ecb01f","replayCount":0,"serializedBytes":3518},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T17:15:51.310535+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:c9e442a7-8255-4ef8-a592-40da0d9aac0b:repository-mutation-intent:cd64a76d943eca1752fc86e5b791b4bf9e09da56f6f6f4fd3073603889ecb01f:0","mission_step_id":"1015cfd5-1098-4ffa-a078-6c7d5bce27a0","command_center_event_id":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},{"id":"dbbc7209-e4d7-433b-baa3-150a06e2646d","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"49eddf35a4bc9954b138e033a32c5b3199738b17","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Ship a platform-wide WMP Loading Video slot using the existing TENANT_PUBLIC_SURFACE_MEDIA_V1 system. Add `wmp-loading-video` to the WMP media collections and the existing WMP Media settings card grid; accept MP4/WebM only; use the current tenant-media-library create/finalize/delete flow; expose the resolved asset as `wmp_media.loading_video_url` from customer-portal; and use one reusable WMP loading visual in both generic WhatsMyProgressTenantHome and PCGWhatsMyProgressHome. When configured, the loader video must autoplay muted, loop, playsInline, preload auto, cover the loading surface, show no forced spinner/logo overlay, and gracefully fall back to the current WMP loading treatment when absent or autoplay fails. Keep PCG on the loading state until public WMP media resolves so its initial layout/background no longer flashes. Preserve all other WMP imagery, forms, process graphic, status behavior, BMD behavior, and universal workspace loading. Add focused contract tests. Keep the uploader reachable from the canonical Profile/Settings media experience without duplicating storage/state. One focused PR, Gate, squash merge, release frontend plus customer-portal if changed, and live v","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"visual-artifact-scope","satisfied":false,"statement":"The requested visual artifact type is authoritative: workspace only; must not include website. Do not add unrelated or mixed visual surfaces unless the owner explicitly requested them.","proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-content-truth","satisfied":false,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-production","proof-visual"]},{"id":"tenant-visual-isolation","satisfied":false,"statement":"Visual work is isolated to pcg. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","proofConditionIds":["proof-visual"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","proofConditionIds":["proof-visual"]},{"id":"reference-visual-authority","satisfied":false,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-visual"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"e7f0dfc00671da771f588efd980a991d493d541e927eeddec3dcc99da8a64b9b","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"e7f0dfc00671da771f588efd980a991d493d541e927eeddec3dcc99da8a64b9b"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"https://whatsmyprogress.com/pcg","currentSourceSha":"49eddf35a4bc9954b138e033a32c5b3199738b17","witnessSourceSha":"49eddf35a4bc9954b138e033a32c5b3199738b17","verificationState":null,"witnessRequestContractHash":"e7f0dfc00671da771f588efd980a991d493d541e927eeddec3dcc99da8a64b9b"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T18:38:19.59343+00:00","proof_gate":"request_contract_pending","source_sha":"49eddf35a4bc9954b138e033a32c5b3199738b17","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:3f38f89d-f562-44d5-80ee-ba4a718879b7:request-contract:e7f0dfc00671da771f588efd980a991d493d541e927eeddec3dcc99da8a64b9b:49eddf35a4bc9954b138e033a32c5b3199738b17:pending:visual","mission_step_id":"d5ebce25-2d6b-4437-ab9a-b300008fc72d","command_center_event_id":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},{"id":"7a1dbabf-49f4-4dad-b92b-231dc1aa9362","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","leaseEpoch":1,"afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"automatic_mission_resume\",\"status\":\"retryable\",\"proofGate\":\"repair_mission_auto_progress_authorization_retryable\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"retry_bounded_recovery\",\"lane\":\"cc-execution\",\"reason\":\"repair_mission_auto_progress_authorization_retryable\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T19:02:35.191082+00:00\",\"recoveryAction\":\"retry_bounded_recovery\"},\"blocker\":\"repair_mission_auto_progress_authorization_retryable\",\"terminal\":false,\"branch\":\"ai/fix-experience-preview-route-collision-20260803-r202608031852\",\"prNumber\":3900,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T19:02:35.191082+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"canonical_release_blocked\",\"terminal\":false,\"branch\":\"ai/fix-experience-preview-route-collision-20260803-r202608031852\",\"prNumber\":3900,\"sourceSha\":null,\"deploymentId\":null}","transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:15:30.997233+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:784c5567-fce0-43e9-b36b-2a35fa3f7a9c:deterministic-transition:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_ex","mission_step_id":"a0267a88-9aef-4a90-a187-7fb9485eedb9","command_center_event_id":"784c5567-fce0-43e9-b36b-2a35fa3f7a9c"},{"id":"da4ee4b7-67a2-4c27-be36-c16401272bea","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.256-protected-main-release-dispatch","prNumber":null,"terminal":false,"missionId":"5e6cc931-8b1f-44a4-b475-25f2243e67a7","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3364,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":369,"providerAuthMs":0,"shipAndProveMs":3042,"ledgerPrepareMs":369,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":369,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":369,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"5e6cc931-8b1f-44a4-b475-25f2243e67a7"},"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":1467,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:11:37.414866+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5e6cc931-8b1f-44a4-b475-25f2243e67a7:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"7cd3e2cf-9ac4-4412-9315-78edb5938aad","command_center_event_id":"5e6cc931-8b1f-44a4-b475-25f2243e67a7"},{"id":"07ede4f1-2ab7-45f8-9244-6ebc936ac809","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-c9e442a78255","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":5594,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":23786,"firstUsefulResultAt":"2026-09-24T17:15:27.475Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":3645,"terminal":false,"missionId":"c9e442a7-8255-4ef8-a592-40da0d9aac0b","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4561,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":659,"missionSetupMs":245,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":245,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":245,"repositoryMutationMs":3902,"repositoryProviderMs":3902,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2193,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":245,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1709},"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":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},"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":3729,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T17:15:56.883925+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3645","receipt_type":"execute_mission","idempotency_key":"mission:c9e442a7-8255-4ef8-a592-40da0d9aac0b:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"1015cfd5-1098-4ffa-a078-6c7d5bce27a0","command_center_event_id":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},{"id":"28fab1a2-76fa-492e-8ac0-2b44933adaf8","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-c9e442a78255","prNumber":3645,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T17:17:02.220675+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","external_id":"3645","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:c9e442a7-8255-4ef8-a592-40da0d9aac0b:merged-pr:3645:4cbb84de5ca634c3f5d29d96e17c0bd84593688f","mission_step_id":"264d46cb-0a4f-436c-b33a-d2eb14f70ad0","command_center_event_id":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},{"id":"bfa15f6a-3dc2-4716-a5cc-409cd4b96691","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c9e442a78255","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":13935,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":1,"executorlessWaitMs":100438,"firstUsefulResultAt":"2026-09-24T17:15:27.475Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":3646,"terminal":false,"missionId":"c9e442a7-8255-4ef8-a592-40da0d9aac0b","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"d329d572f776afc216608bd7bb00325f280febe2","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4343,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":519,"approvedPlanMs":0,"missionSetupMs":493,"providerAuthMs":0,"shipAndProveMs":3281,"ledgerPrepareMs":329,"ledgerReconcileMs":0,"lineageReconcileMs":164,"resolvePreflightMs":493,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":329,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},"performance":null,"deploymentId":"forgejo-main-d329d572f776","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"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":2505,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T17:17:33.058884+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"d329d572f776afc216608bd7bb00325f280febe2","external_id":"forgejo-main-d329d572f776","receipt_type":"execute_mission","idempotency_key":"mission:c9e442a7-8255-4ef8-a592-40da0d9aac0b:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"264d46cb-0a4f-436c-b33a-d2eb14f70ad0","command_center_event_id":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},{"id":"3eef11c8-c1d0-4fec-bb4d-9e5cbcaa4d12","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-universal-preview-redirect-settling-20260803-r202608031907","reason":"auto_progress_pr_read_failed:404","status":"retryable","metrics":{"receiptBytes":820,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3901,"terminal":false,"missionId":"37d3c969-191c-4268-8c33-bc30ba20d50f","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":"37d3c969-191c-4268-8c33-bc30ba20d50f"},"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":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:24:29.159622+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3901","receipt_type":"automatic_mission_resume","idempotency_key":"mission:37d3c969-191c-4268-8c33-bc30ba20d50f:automatic-mission-resume:3901:repair_mission_auto_progress_authorization_retryable","mission_step_id":"986260ca-a6fd-4734-ad28-94215a38becd","command_center_event_id":"37d3c969-191c-4268-8c33-bc30ba20d50f"},{"id":"7bf48341-3036-4b27-82f0-af42bbbd6696","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-550bfa402129","writes":[],"patches":[],"version":1,"approved":true,"missionId":"550bfa40-2129-465e-bab1-700e9239ceab","objective":"Fix the release conductor Forgejo read-budget mismatch. In workers/cc-execution/src/index-mission-control.js, inside dispatchForgejoRelease -> releaseGet, pass release-specific defaults into forgejoReadJson: attemptTimeoutMs: FORGEJO_RELEASE_READ_TIMEOUT_MS, totalBudgetMs: FORGEJO_RELEASE_READ_TIMEOUT_MS, maxAttempts: 1, before spreading caller options so explicit tighter specialized options still override these defaults. Preserve preserveBudgetDuringBrownout:true. This makes queue/run reads use the declared 15s release budget instead of falling back to the interactive 2s/4.5s provider budget. Add a focused regression assertion in src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts that releaseGet contains the three release-budget defaults before the options spread. Bump workers/cc-execution/src/version.js from 1.58.256-protected-main-release-dispatch to 1.58.257-release-read-budget. One fresh ai branch, one PR, canonical Gate, squash merge, deploy cc-execution, verify runtime. No frontend source changes.","sourceSha":"32438d3c54b2023cb4d7b4813a9b804ab782468d","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"    const result = await forgejoReadJson(url, {\n      headers,\n      attemptTimeoutMs: FORGEJO_RELEASE_READ_TIMEOUT_MS,\n      totalBudgetMs: FORGEJO_RELEASE_READ_TIMEOUT_MS,\n      maxAttempts: 1,\n      ...(options && typeof options === \"object\" ? options : {}),\n      preserveBudgetDuringBrownout: true,\n    });","old_content":"    const result = await forgejoReadJson(url, {\n      headers,\n      ...(options && typeof options === \"object\" ? options : {}),\n      preserveBudgetDuringBrownout: true,\n    });"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.58.257-release-read-budget\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.256-protected-main-release-dispatch\";"},{"path":"src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","new_content":"  it('keeps release reconciliation inside the direct operator read budget', () => {\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_TIMEOUT_MS = 1200;');\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_MAX_ATTEMPTS = 1;');\n  });\n\n  it('uses the dedicated release read budget for release-conductor Forgejo reads', () => {\n    expect(missionControlSource).toContain('attemptTimeoutMs: FORGEJO_RELEASE_READ_TIMEOUT_MS');\n    expect(missionControlSource).toContain('totalBudgetMs: FORGEJO_RELEASE_READ_TIMEOUT_MS');\n    expect(missionControlSource).toContain('maxAttempts: 1');\n  });","old_content":"  it('keeps release reconciliation inside the direct operator read budget', () => {\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_TIMEOUT_MS = 1200;');\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_MAX_ATTEMPTS = 1;');\n  });"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"There are no things in the merge queue or action queue.","wordingChanged":false,"canonicalIntent":"Release recovery must survive normal Forgejo Actions API latency long enough to reconcile queue/target state and dispatch the missing frontend run.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"release-read-budget","statement":"dispatchForgejoRelease uses the 15s release read budget by default, while explicit tighter per-call budgets remain authoritative.","proofConditionIds":["proof-cc"]}],"objective":"Make the release conductor use its declared Forgejo release-read budget instead of the interactive read budget.","constraints":[{"id":"bounded","statement":"Change only mission-control releaseGet defaults, version marker, and one regression contract.","proofConditionIds":["proof-cc"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-cc","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"requestContract":{"intent":{"rawUtterance":"There are no things in the merge queue or action queue.","wordingChanged":false,"canonicalIntent":"Release recovery must survive normal Forgejo Actions API latency long enough to reconcile queue/target state and dispatch the missing frontend run.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"release-read-budget","statement":"dispatchForgejoRelease uses the 15s release read budget by default, while explicit tighter per-call budgets remain authoritative.","proofConditionIds":["proof-cc"]}],"objective":"Make the release conductor use its declared Forgejo release-read budget instead of the interactive read budget.","constraints":[{"id":"bounded","statement":"Change only mission-control releaseGet defaults, version marker, and one regression contract.","proofConditionIds":["proof-cc"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-cc","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner authorized fixing the release conductor read-budget defect that prevents the missing frontend workflow dispatch."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner authorized fixing the release conductor read-budget defect that prevents the missing frontend workflow dispatch."},"recovery":false,"fingerprint":"74758b3cd17eb5e0137428bb31bf6617c13add67b6667a52879fb29620c90708","replayCount":0,"serializedBytes":7247},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:15:53.368148+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:550bfa40-2129-465e-bab1-700e9239ceab:repository-mutation-intent:74758b3cd17eb5e0137428bb31bf6617c13add67b6667a52879fb29620c90708:0","mission_step_id":"e19ceacd-7bfa-4a66-8019-4bf95530a470","command_center_event_id":"550bfa40-2129-465e-bab1-700e9239ceab"},{"id":"0a49a12a-65f8-42d7-aa9f-280bcbb84aec","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"reason":"Owner authorized fixing the release conductor read-budget defect that prevents the missing frontend workflow dispatch.","baseSha":"32438d3c54b2023cb4d7b4813a9b804ab782468d","issuedAt":1790259354286,"expiresAt":1790259534286,"missionId":"550bfa40-2129-465e-bab1-700e9239ceab","authorizationId":"c3b6f81b-4ad4-4d21-a904-76c36042efb4","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:15:54.607206+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"32438d3c54b2023cb4d7b4813a9b804ab782468d","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c3b6f81b-4ad4-4d21-a904-76c36042efb4","mission_step_id":"d2ced6c1-f1f6-487f-8a86-23a0c9bab17f","command_center_event_id":"550bfa40-2129-465e-bab1-700e9239ceab"},{"id":"2f2f992f-b9fb-4b44-ac4e-6e85eec86473","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"475aa5e50741c92ced77274b14105a8a5c16cdfd","sourceSha":"8d98dd238edafc14bfd378d372f754dd51d089d7","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:25:04.961574+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"8d98dd238edafc14bfd378d372f754dd51d089d7","external_id":"canonical-release-8d98dd238eda","receipt_type":"canonical_release_status","idempotency_key":"mission:c9566ade-a980-461c-b88a-036b7ce12faa:forgejo-release-ancestry:8d98dd238edafc14bfd378d372f754dd51d089d7:475aa5e50741c92ced77274b14105a8a5c16cdfd:ancestry_read_retryable","mission_step_id":"443c28bf-d559-4377-a582-00f60557d4b9","command_center_event_id":"c9566ade-a980-461c-b88a-036b7ce12faa"},{"id":"e49f4689-a87d-48e8-8f1b-1b5659755cc5","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"093e54573c4213f1a8bb683241f25c607ae79854087b641aa9dd63c371088871","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/11546","runId":11546,"status":"running","sourceSha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","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":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T17:16:06.263532+00:00","proof_gate":"canonical_release_pending","source_sha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","external_id":"forgejo-main-4cbb84de5ca6","receipt_type":"canonical_release_status","idempotency_key":"mission:c9e442a7-8255-4ef8-a592-40da0d9aac0b:forgejo-release-status:4cbb84de5ca634c3f5d29d96e17c0bd84593688f:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"264d46cb-0a4f-436c-b33a-d2eb14f70ad0","command_center_event_id":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},{"id":"91f6ba14-60fc-4a5b-b58d-fd9450b99922","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"7b85c3e2-3cae-414d-830c-679f38abadd4","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-3f38f89df562","reason":null,"status":"pending","metrics":{"receiptBytes":66728,"releaseCount":0,"toolCallCount":20,"repeatedCallCount":8,"executorlessWaitMs":720524,"firstUsefulResultAt":"2026-09-29T18:27:16.029Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4162,"terminal":false,"missionId":"3f38f89d-f562-44d5-80ee-ba4a718879b7","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"49eddf35a4bc9954b138e033a32c5b3199738b17","timingsMs":{"queue":340,"total":450,"execution":110},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},"performance":null,"deploymentId":"forgejo-main-49eddf35a4bc","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"7b85c3e2-3cae-414d-830c-679f38abadd4","tenant":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"7b85c3e2-3cae-414d-830c-679f38abadd4","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"https://whatsmyprogress.com/pcg","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":13138,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["customer-portal"]},"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":1807,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T18:39:18.602665+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"49eddf35a4bc9954b138e033a32c5b3199738b17","external_id":"7b85c3e2-3cae-414d-830c-679f38abadd4","receipt_type":"visual_proof_started","idempotency_key":"mission:3f38f89d-f562-44d5-80ee-ba4a718879b7:visual-start:7b85c3e2-3cae-414d-830c-679f38abadd4","mission_step_id":"ad2daee5-ddb1-4a22-9d1b-a240c31a4e30","command_center_event_id":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},{"id":"8cf20ead-8537-48ac-864c-2092aefc5140","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","leaseEpoch":1,"afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"automatic_mission_resume\",\"status\":\"retryable\",\"proofGate\":\"repair_mission_auto_progress_authorization_retryable\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"retry_bounded_recovery\",\"lane\":\"cc-execution\",\"reason\":\"repair_mission_auto_progress_authorization_retryable\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T19:17:33.183955+00:00\",\"recoveryAction\":\"retry_bounded_recovery\"},\"blocker\":\"repair_mission_auto_progress_authorization_retryable\",\"terminal\":false,\"branch\":\"ai/fix-universal-preview-redirect-settling-20260803-r202608031907\",\"prNumber\":3901,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T19:17:33.183955+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"canonical_release_blocked\",\"terminal\":false,\"branch\":\"ai/fix-universal-preview-redirect-settling-20260803-r202608031907\",\"prNumber\":3901,\"sourceSha\":null,\"deploymentId\":null}","transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:24:34.598108+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:37d3c969-191c-4268-8c33-bc30ba20d50f:deterministic-transition:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_ex","mission_step_id":"986260ca-a6fd-4734-ad28-94215a38becd","command_center_event_id":"37d3c969-191c-4268-8c33-bc30ba20d50f"},{"id":"a9030b67-c014-4ccb-a3f2-6808da85e779","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-1366705afd03","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.196-replay-fenced-mission-runtime","prNumber":3300,"terminal":false,"missionId":"1366705a-fd03-4453-9b2f-d503c6aa8fcd","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7845,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":939,"missionSetupMs":286,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":286,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":286,"repositoryMutationMs":6906,"repositoryProviderMs":6906,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":4287,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":286,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2619},"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":"1366705a-fd03-4453-9b2f-d503c6aa8fcd"},"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":3443,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T17:20:06.167211+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3300","receipt_type":"execute_mission","idempotency_key":"mission:1366705a-fd03-4453-9b2f-d503c6aa8fcd:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"bec3d108-fb02-4de6-98c2-fb47287b32b6","command_center_event_id":"1366705a-fd03-4453-9b2f-d503c6aa8fcd"},{"id":"f25e49be-fbb3-4f81-a5c2-fc3abf111171","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ff0b2487be08","reason":"pull_request_not_open","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3301,"terminal":false,"missionId":"ff0b2487-be08-4053-8bfd-919d90bd1903","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":"ff0b2487-be08-4053-8bfd-919d90bd1903"},"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":689,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T17:27:04.557549+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3301","receipt_type":"automatic_mission_resume","idempotency_key":"mission:ff0b2487-be08-4053-8bfd-919d90bd1903:automatic-mission-resume:3301:repair_mission_auto_progress_authorization_retryable","mission_step_id":"78e7fb76-01ac-4412-bb58-3f9754ba61a6","command_center_event_id":"ff0b2487-be08-4053-8bfd-919d90bd1903"}],"rows":200,"limit":200,"table":"command_center_receipts","format":"knocklaunch-table-chunk-v1","offset":23000,"schema":"public"}