{"data":[{"id":"bc637a52-2ee1-4c48-96c2-fac55999b144","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-45d91e16343d","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":135963,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":29047,"firstUsefulResultAt":"2026-10-04T20:33:11.129Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4847,"terminal":false,"missionId":"45d91e16-343d-42aa-9d61-b32102115dd2","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2232,"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":"45d91e16-343d-42aa-9d61-b32102115dd2"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T20:33:28.826183+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4847","receipt_type":"automatic_mission_resume","idempotency_key":"mission:45d91e16-343d-42aa-9d61-b32102115dd2:automatic-mission-resume:4847:repair_mission_pr_ready_retryable","mission_step_id":"5d91f44e-f2c5-4a95-af6f-9484a961deb3","command_center_event_id":"45d91e16-343d-42aa-9d61-b32102115dd2"},{"id":"bc671399-1906-49af-972b-eb828a28f46a","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner-authorized scoped control plane maintenance: repair the shared format-sensitive invariant-test failure class without changing runtime behavior.","baseSha":"86f1fec0973ac7011108db860d8f574b437d690a","issuedAt":1787858477462,"expiresAt":1787858657462,"missionId":"e57906ff-764d-4381-9f3a-8b48dc1874fe","singleUse":true,"authorizationId":"3e571d64-36d5-4e1f-8c63-f1eac0725dc1"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T19:21:18.400167+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"86f1fec0973ac7011108db860d8f574b437d690a","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:3e571d64-36d5-4e1f-8c63-f1eac0725dc1","mission_step_id":"3551c96c-0dfa-43ef-99f5-68a9f09366d3","command_center_event_id":"e57906ff-764d-4381-9f3a-8b48dc1874fe"},{"id":"bc6bf7cd-c1fe-453d-a169-3e5bece32454","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-9ac7f7917511","reason":"control_plane_maintenance_authorization_record_failed","status":"retryable","metrics":{"receiptBytes":52914,"releaseCount":0,"toolCallCount":25,"repeatedCallCount":19,"executorlessWaitMs":152182,"firstUsefulResultAt":"2026-10-05T20:13:17.952Z","recoveryAttemptCount":21,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":5048,"terminal":false,"missionId":"9ac7f791-7511-4fbe-a716-a226b38bdd68","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":33,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":33,"missionSetupMs":1249,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1162,"ledgerReconcileMs":0,"lineageReconcileMs":87,"resolvePreflightMs":1249,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1162,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"9ac7f791-7511-4fbe-a716-a226b38bdd68"},"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":1495,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:17:33.597851+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":"5048","receipt_type":"execute_mission","idempotency_key":"mission:9ac7f791-7511-4fbe-a716-a226b38bdd68:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"43d79418-a437-4dd0-a903-917e52bf6d0a","command_center_event_id":"9ac7f791-7511-4fbe-a716-a226b38bdd68"},{"id":"bc6cb71d-18b7-4e43-9e3d-7eef0eafd554","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"durable_state:pull_request","handoff":null,"capability":"light-control-plane","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-06T14:54:20.947247+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T14:37:14.210388+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:8461f374-86b0-422f-bb81-3fb39febaab9:owner-progress-heartbeat:119419828","mission_step_id":"a036e1a4-6bb7-4248-b530-a16b22bcaaa4","command_center_event_id":"8461f374-86b0-422f-bb81-3fb39febaab9"},{"id":"bc6fc850-0491-4e99-91a4-047d3fa8a89e","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.21-tenant-owner-preflight","prNumber":null,"terminal":false,"missionId":"d5c9c6da-4606-43b6-be4b-b17128270d38","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"d5c9c6da-4606-43b6-be4b-b17128270d38"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":861,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-08T17:32:32.672872+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d5c9c6da-4606-43b6-be4b-b17128270d38:execute_mission:repair_mission_execution_blocked","mission_step_id":"5c014a90-94f8-4421-9d2e-67f7552a569e","command_center_event_id":"d5c9c6da-4606-43b6-be4b-b17128270d38"},{"id":"bc704945-fb97-4912-a6c9-531a0ac2cc7a","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/auth-timeout-nondestructive-bootstrap-20260906","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":1995,"terminal":false,"missionId":"aec10c72-07fc-40d4-9d2a-ae4516fb3739","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"03c07f92722f144abd082a2f606c8ff19a3cc583","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8850,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":998,"approvedPlanMs":0,"missionSetupMs":665,"providerAuthMs":0,"shipAndProveMs":7684,"ledgerPrepareMs":426,"ledgerReconcileMs":0,"lineageReconcileMs":239,"resolvePreflightMs":665,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":426,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"aec10c72-07fc-40d4-9d2a-ae4516fb3739"},"performance":null,"deploymentId":"forgejo-main-03c07f92722f","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2576,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T20:24:03.366116+00:00","proof_gate":"canonical_release_dispatched","source_sha":"03c07f92722f144abd082a2f606c8ff19a3cc583","external_id":"forgejo-main-03c07f92722f","receipt_type":"execute_mission","idempotency_key":"mission:aec10c72-07fc-40d4-9d2a-ae4516fb3739:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"d124a004-8c26-4768-9768-fc033d3b0dc4","command_center_event_id":"aec10c72-07fc-40d4-9d2a-ae4516fb3739"},{"id":"bc70954e-c81d-434a-b5f1-29b8ab112a85","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"a104deec737320640e243ca012eeac24b67600cb","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repo","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"dcaa1c00295f0ccaca330cb40dacaffe59424376","prNumber":2409,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/7147/jobs/1","mergeCommitSha":"a104deec737320640e243ca012eeac24b67600cb"},{"id":"gate","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"dcaa1c00295f0ccaca330cb40dacaffe59424376","prNumber":2409,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/7147/jobs/1","mergeCommitSha":"a104deec737320640e243ca012eeac24b67600cb"}],"requestContractHash":"9643bc3e6050d4ceaf96ce327564643ba7785ddc61ab244acc52f2d490a95c54"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T19:11:35.44294+00:00","proof_gate":"request_contract_repository_verified","source_sha":"a104deec737320640e243ca012eeac24b67600cb","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:aa0296c3-3e58-4e5c-859e-f90a8cab24e5:request-contract-repository:9643bc3e6050d4ceaf96ce327564643ba7785ddc61ab244acc52f2d490a95c54:a104deec737320640e243ca012eeac24b67600cb","mission_step_id":"f6863872-1804-4840-8665-0345b45e3387","command_center_event_id":"aa0296c3-3e58-4e5c-859e-f90a8cab24e5"},{"id":"bc72b32b-14a0-41b2-9204-ecdfb776863c","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"695ab7506349d8dd8a1735ea697222463bab5359","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-ledger","satisfied":true,"statement":"Repository migration 20260903041000 again matches already-applied production SQL; no ledger mutation.","proofConditionIds":["proof-production"]},{"id":"outcome-primitives","satisfied":true,"statement":"New migration 20260903042000 hardens shared platform/tenant authorization primitives and stale-membership behavior.","proofConditionIds":["proof-production"]},{"id":"outcome-live","satisfied":true,"statement":"Corrective generation is gated, merged, released, and live-proven.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"constraint-ledger","satisfied":true,"statement":"Do not edit production migration ledger/hash to accept SQL drift.","proofConditionIds":["proof-production"]},{"id":"constraint-public","satisfied":true,"statement":"Preserve RLS-helper EXECUTE privileges and intentional public/tokenized endpoints.","proofConditionIds":["proof-production"]}],"contractHash":"cba162fe39a7b0e657ea9220b561f7a5152d5199eb7b738e6f9b0f2b047576c2","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["migrations"],"releaseRequestContractHash":"cba162fe39a7b0e657ea9220b561f7a5152d5199eb7b738e6f9b0f2b047576c2"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":3},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-03T03:40:26.819165+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"695ab7506349d8dd8a1735ea697222463bab5359","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:0ac5c43c-4507-4a98-a280-564e94ec2d1b:request-contract:cba162fe39a7b0e657ea9220b561f7a5152d5199eb7b738e6f9b0f2b047576c2:695ab7506349d8dd8a1735ea697222463bab5359:verified:","mission_step_id":"84804dea-2cff-4831-98b3-e43e4ffe24b6","command_center_event_id":"0ac5c43c-4507-4a98-a280-564e94ec2d1b"},{"id":"bc72cc79-5b4d-4e27-b189-f323ef2c630e","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/curri-brokerage-radar-20260823","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2317,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":null,"terminal":false,"missionId":"3ddf01b4-5c76-4b46-8cc8-12a6ef42291b","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"3ddf01b4-5c76-4b46-8cc8-12a6ef42291b"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":7424,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","src/__tests__/contracts/command-center-platform-mission-anchor.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","src/__tests__/commandCenter/deployDetection.test.ts","config/control-plane-capabilities.json","scripts/validate-command-center-contracts.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-23T05:26:02.293057+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:3ddf01b4-5c76-4b46-8cc8-12a6ef42291b:execute_mission:repair_mission_synthesis_ready","mission_step_id":"a047c5b8-e7a5-4440-a3b6-227887d2b7ba","command_center_event_id":"3ddf01b4-5c76-4b46-8cc8-12a6ef42291b"},{"id":"bc73b2f9-f6ee-41d4-ae09-f4f00b4467b3","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/pages/card-grading/PCGPublicSite.tsx"},{"path":"src/PublicAppShell.tsx"},{"path":"src/pages/card-grading/PCGMarketplace.tsx"},{"path":"supabase/functions/pcg-marketplace/index.ts"},{"path":"supabase/migrations/20261005164500_pcg_marketplace_v1.sql"},{"path":"config/capabilities/pcg-card-grading-modes.json"}],"branch":"ai/objective-first-repair-51a30c4e9645","writes":[],"patches":[],"version":1,"approved":true,"doneMeans":"Marketplace, Live Sales and Forum are live production routes backed by real schema/runtime and proven.","missionId":"51a30c4e-9645-4e2e-8ca1-f19bc4d0170e","objective":"MUTATE AND SHIP PCG Marketplace V1. Build a real PCG member ecosystem inspired by eBay + Whatnot + a collector forum. Public browse; authenticated sell/buy-intent/bid/offer/watch/forum/chat. Listings must originate from member-owned canonical PCG graded cards where possible. Add fixed price, auction, offers, sold history, seller profiles, scheduled/live sale rooms with realtime chat and shared server-authoritative bidding, and forum categories/threads/replies/reporting. Add tenant-scoped schema with RLS and indexes, an atomic bid RPC, a pcg-marketplace edge runtime, public routes /prestigious-card-grading/marketplace/*, /live/*, /forum/*, and update existing PCG nav to use those real routes instead of homepage anchors. Use the canonical 67% centered desktop frame and mobile full width. Seed only forum category definitions. No fake users/listings/posts/sales. Payment/order creation must remain honest and return prerequisite_required unless real member-to-member settlement is configured. Preserve the prestigiouscardgrading.com Under Construction gate. Gate, squash merge, release migration + edge + frontend, then prove desktop/mobile and synthetic member mutations with cleanup and no real charge.","repository":"noel/KnockLaunchOS","requirements":["Marketplace supports fixed_price, auction, and accept_offers listing types with active/sold/ended states and real PCG card metadata/images.","Authenticated sellers list member-owned canonical PCG graded cards from their vault; public visitors can browse.","Server-authoritative atomic auction bids enforce active deadline, minimum increment, no self-bid, deterministic idempotency, and never trust client current price.","Watchlist, offers, buy-intent/order boundary, seller profiles, sold history.","Live-sale rooms support scheduled/live/ended states, queued lots, realtime chat, realtime bid feed, optional video URL with truthful prerequisite state when absent.","Forum categories: General Discussion, Buy/Sell/Trade, Card Values & Market Trends, Vintage Cards, Modern Cards, Show Off Your Collection, Grading & PCG Questions; threads/replies/public read/auth write/basic reporting/moderation flags.","All marketplace/forum/live data tenant-scoped with RLS; private contact/address/payment internals never exposed.","Use existing Supabase Auth, unified_contacts/profile and card_grading_cards/submissions; do not invent a duplicate identity or duplicate card facts.","Add PCGMarketplace frontend and wire real marketplace/live/forum routes; update PCG nav/mobile nav/hero actions away from hash anchors.","Use kl-shell-content-frame or equivalent canonical shell-centered-67 primitive on desktop and full-width mobile.","No fake activity or real charge during proof; clean up synthetic test mutations."],"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"implementation":{"files":[],"writes":[]},"requestContract":null,"explicitReadOnly":false,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"51a30c4e-9645-4e2e-8ca1-f19bc4d0170e","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":"407c72ec8a522601edba3e884889fe44dc1b3ee99b4bd6204dc6b6e7e22b7126","replayCount":0,"serializedBytes":4141},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:44:08.349875+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:51a30c4e-9645-4e2e-8ca1-f19bc4d0170e:repository-mutation-intent:407c72ec8a522601edba3e884889fe44dc1b3ee99b4bd6204dc6b6e7e22b7126:0","mission_step_id":"6dc59dcf-ea76-40e1-94fd-265821f5c94b","command_center_event_id":"51a30c4e-9645-4e2e-8ca1-f19bc4d0170e"},{"id":"bc73d91c-84dd-497e-9268-d017d327ac32","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-migrations/live":"success","supabase-edge-production/live":"pending"},"mainSha":"c8e524147c317d5b06079357070cac39296ea503","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","supabase-migrations/live"],"sourceSha":"c8e524147c317d5b06079357070cac39296ea503","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":[]},"releaseTargetStates":{"migrations":"success","supabaseEdge":"pending"},"requestContractHash":"c33a480744d0c5c14ad37b1491e6322d862c52259018a6f64e0c2b1f6565972e","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/15516","runId":15516,"status":"running","sourceSha":"c8e524147c317d5b06079357070cac39296ea503","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"migrations":"success","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"migrations":"success","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T01:10:19.702074+00:00","proof_gate":"canonical_release_pending","source_sha":"c8e524147c317d5b06079357070cac39296ea503","external_id":"forgejo-main-c8e524147c31","receipt_type":"canonical_release_status","idempotency_key":"mission:a19eef2b-f4f1-4a3a-b592-7d0dbdea0767:forgejo-release-status:c8e524147c317d5b06079357070cac39296ea503:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|supabase-migrations/live=success","mission_step_id":"37f8b3cb-2d8b-43c7-bc57-704314f2cc9e","command_center_event_id":"a19eef2b-f4f1-4a3a-b592-7d0dbdea0767"},{"id":"bc7504da-4768-4991-a09a-1c10cb56d4f8","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"4a37a6c69f0df2e451f90b77ee5775cc991fe387","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Routine Visual Witness screenshots are ephemeral and directly returnable for play-by-play; only final acceptance or meaningful terminal failure evidence is durable.","proofConditionIds":["proof-runtime","proof-visual"]}],"satisfied":false,"constraints":[{"id":"cost-containment","satisfied":false,"statement":"Routine screenshots must not be uploaded to Supabase Storage. Bound returned screenshot payloads to one current image per viewport/result and release buffers after response construction.","proofConditionIds":["proof-runtime","proof-visual"]},{"id":"security","satisfied":false,"statement":"Preserve tenant isolation, authentication boundaries, and secret redaction. Do not expose storage credentials or customer secrets.","proofConditionIds":["proof-runtime","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-runtime"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-runtime"]}],"contractHash":"4af92203e04382af3fa535116f22932edabf78f73d99d0e06c013284f6693012","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"onrunner":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["onrunner"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"4af92203e04382af3fa535116f22932edabf78f73d99d0e06c013284f6693012"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"4a37a6c69f0df2e451f90b77ee5775cc991fe387","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["onrunner"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T12:11:23.049219+00:00","proof_gate":"request_contract_pending","source_sha":"4a37a6c69f0df2e451f90b77ee5775cc991fe387","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:b12435db-f7ef-405e-be18-a1925c9a62a4:request-contract:4af92203e04382af3fa535116f22932edabf78f73d99d0e06c013284f6693012:4a37a6c69f0df2e451f90b77ee5775cc991fe387:pending:visual","mission_step_id":"5a1bb25d-d1d7-4c8d-9cdf-025e4778aa26","command_center_event_id":"b12435db-f7ef-405e-be18-a1925c9a62a4"},{"id":"bc754a08-7e06-4a41-96ab-fcdb305b6343","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml"],"reason":"Correct the self-referential Gate validation introduced by the PAUL optionalization repair.","baseSha":"a9e26d2bbf0df7d387458acb56fbc33dc4dc19c8","issuedAt":1790288621892,"expiresAt":1790288801892,"missionId":"cf0b811b-d5d7-416b-a134-8f6d12ec904a","authorizationId":"ff3d81c6-ddd6-45f0-b770-e8ed5d4aed5c","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T22:23:42.178976+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"a9e26d2bbf0df7d387458acb56fbc33dc4dc19c8","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:ff3d81c6-ddd6-45f0-b770-e8ed5d4aed5c","mission_step_id":"cf2f0b1c-ea0f-4e84-bcc5-a0895f8850fb","command_center_event_id":"cf0b811b-d5d7-416b-a134-8f6d12ec904a"},{"id":"bc7ab004-1321-4138-aafb-c8ce7628a84a","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-edge-production/live":"success"},"mainSha":"5c0897516297a06aca67cc775d48457ffadbc59a","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"5c0897516297a06aca67cc775d48457ffadbc59a","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["godmode-platform-media"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"success"},"requestContractHash":"8ca9d9d2af03d389cdad2877bf4a94c27c680a61231517c7923255f322f48303","forgejoWorkflowProof":{"runId":13586,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T02:20:32.01685+00:00","proof_gate":"canonical_release_pending","source_sha":"5c0897516297a06aca67cc775d48457ffadbc59a","external_id":"forgejo-main-5c0897516297","receipt_type":"canonical_release_status","idempotency_key":"mission:c353b894-6db3-4cda-af74-08a44a3c0df3:forgejo-release-status:5c0897516297a06aca67cc775d48457ffadbc59a:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=success|frontend-cloudflare/live=pending","mission_step_id":"cd5073ca-6a7a-4420-964b-1027908b1b7d","command_center_event_id":"c353b894-6db3-4cda-af74-08a44a3c0df3"},{"id":"bc7f411e-2a5d-4cef-b929-cee55be15aad","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-migrations/live":"pending","supabase-edge-production/live":"pending"},"mainSha":"ead8fc5be01619e229be549585d1c0f35851f051","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live","supabase-migrations/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"ead8fc5be01619e229be549585d1c0f35851f051","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["calendar-provider-connections"]},"releaseTargetStates":{"frontend":"pending","migrations":"pending","supabaseEdge":"pending"},"requestContractHash":"f729cdffedc5a8060ec4d32c94814f5a3699d91baeeb0abaeedb2cf0e4f9135f","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6229","runId":6229,"status":"running","sourceSha":"ead8fc5be01619e229be549585d1c0f35851f051","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending","migrations":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","migrations":"pending","supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-07T18:41:25.912131+00:00","proof_gate":"canonical_release_pending","source_sha":"ead8fc5be01619e229be549585d1c0f35851f051","external_id":"forgejo-main-ead8fc5be016","receipt_type":"canonical_release_status","idempotency_key":"mission:64a040df-5719-4846-a2d9-febabcfc8fe2:forgejo-release-status:ead8fc5be01619e229be549585d1c0f35851f051:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending|supabase-migrations/live=pending","mission_step_id":"bcf55f62-e96a-49cb-b0d7-95fcf1f20c9d","command_center_event_id":"64a040df-5719-4846-a2d9-febabcfc8fe2"},{"id":"bc80f75a-47f9-4858-b098-999ee7c1f857","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-6f5449755eac","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":4655,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":20827,"firstUsefulResultAt":"2026-10-03T14:55:34.855Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.77-paul-heldout-repair","prNumber":4641,"terminal":false,"missionId":"6f544975-5eac-4db8-a3bf-9452ca33f669","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4412,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":569,"missionSetupMs":289,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":289,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":289,"repositoryMutationMs":3843,"repositoryProviderMs":3843,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2372,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":289,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1471},"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":"6f544975-5eac-4db8-a3bf-9452ca33f669"},"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":3488,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T14:56:03.176656+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4641","receipt_type":"execute_mission","idempotency_key":"mission:6f544975-5eac-4db8-a3bf-9452ca33f669:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"d2819617-d802-40ac-beab-80758406cf8d","command_center_event_id":"6f544975-5eac-4db8-a3bf-9452ca33f669"},{"id":"bc819704-ad43-47ff-8959-9c27dc98b372","source":"cc-execution","status":"recorded","payload":{"objective":"Prepare the final corrective La Vista R2 credential adapter so the owner only needs to add credentials and no further code release is required. Current production tenant-photo-studio v9 is live from #886, but direct runtime proof returns cloudflare_r2_api_token_verify_failed for the value stored in CLOUDFLARE_VISTADELMAR_API_TOKEN, proving that secret is not a verifiable Cloudflare API-token value and cannot yield an Access Key ID. From current Forgejo main, make the smallest safe change in tenant-photo-studio: add support for direct Supabase Edge secrets CLOUDFLARE_VISTADELMAR_ACCESS_KEY_ID and CLOUDFLARE_VISTADELMAR_SECRET_ACCESS_KEY. For the la-vista-del-mar bucket, if both direct S3 secrets are present, construct AwsClient directly from them; otherwise preserve the existing v9 token-verification/derivation fallback. Do not alter generic Cloudflare behavior for other tenants. Update health to report only booleans indicating whether the direct La Vista S3 pair is configured; never expose secret values. Do not modify, upload, rename, copy, regenerate, enhance, replace, or delete any R2 object. Preserve tenant type SHORT_TERM_RENTAL and all bucket/key metadata. Gate, squash merge, and deploy only tenant-photo-studio. Runtime media proof is expected to remain blocked until owner adds the pair, but the deployed runtime must be ready to consume them without another source change.","tenantRef":"lavistadelmar","receivedAt":"2026-08-28T00:29:53.223Z","fingerprint":"7adf140c019204123cd83d452fd62b1b3114da27d37f32c668cc3f9af9068d6a","workstreamRef":"lavistadelmar","conversationId":null,"canonicalBranch":"ai/fix-vista-r2-direct-credentials-20260828","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Prepare the final corrective La Vista R2 credential adapter so the owner only needs to add credentials and no further code release is required. Current production tenant-photo-studio v9 is live from #886, but direct runtime proof returns cloudflare_r2_api_token_verify_failed for the value stored in CLOUDFLARE_VISTADELMAR_API_TOKEN, proving that secret is not a verifiable Cloudflare API-token value and cannot yield an Access Key ID. From current Forgejo main, make the smallest safe change in tenant-photo-studio: add support for direct Supabase Edge secrets CLOUDFLARE_VISTADELMAR_ACCESS_KEY_ID and CLOUDFLARE_VISTADELMAR_SECRET_ACCESS_KEY. For the la-vista-del-mar bucket, if both direct S3 secrets are present, construct AwsClient directly from them; otherwise preserve the existing v9 token-verification/derivation fallback. Do not alter generic Cloudflare behavior for other tenants. Update health to report only booleans indicating whether the direct La Vista S3 pair is configured; never expose secret values. Do not modify, upload, rename, copy, regenerate, enhance, replace, or delete any R2 object. Preserve tenant type SHORT_TERM_RENTAL and all bucket/key metadata. Gate, squash merge, and deploy only tenant-photo-studio. Runtime media proof is expected to remain blocked until owner adds the pair, but the deployed runtime must be ready to consume them without another source change.","wordingChanged":false,"canonicalIntent":"Prepare the final corrective La Vista R2 credential adapter so the owner only needs to add credentials and no further code release is required. Current production tenant-photo-studio v9 is live from #886, but direct runtime proof returns cloudflare_r2_api_token_verify_failed for the value stored in CLOUDFLARE_VISTADELMAR_API_TOKEN, proving that secret is not a verifiable Cloudflare API-token value and cannot yield an Access Key ID. From current Forgejo main, make the smallest safe change in tenant-photo-studio: add support for direct Supabase Edge secrets CLOUDFLARE_VISTADELMAR_ACCESS_KEY_ID and CLOUDFLARE_VISTADELMAR_SECRET_ACCESS_KEY. For the la-vista-del-mar bucket, if both direct S3 secrets are present, construct AwsClient directly from them; otherwise preserve the existing v9 token-verification/derivation fallback. Do not alter generic Cloudflare behavior for other tenants. Update health to report only booleans indicating whether the direct La Vista S3 pair is configured; never expose secret values. Do not modify, upload, rename, copy, regenerate, enhance, replace, or delete any R2 object. Preserve tenant type SHORT_TERM_RENTAL and all bucket/key metadata. Gate, squash merge, and deploy only tenant-photo-studio. Runtime media proof is expected to remain blocked until owner adds the pair, but the deployed runtime must be ready to consume them without another source change.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"direct-pair","statement":"Production tenant-photo-studio accepts CLOUDFLARE_VISTADELMAR_ACCESS_KEY_ID plus CLOUDFLARE_VISTADELMAR_SECRET_ACCESS_KEY directly for the la-vista-del-mar bucket, with the existing token derivation path retained only as fallback.","proofConditionIds":["source","release"]}],"objective":"Prepare the final corrective La Vista R2 credential adapter so the owner only needs to add credentials and no further code release is required. Current production tenant-photo-studio v9 is live from #886, but direct runtime proof returns cloudflare_r2_api_token_verify_failed for the value stored in CLOUDFLARE_VISTADELMAR_API_TOKEN, proving that secret is not a verifiable Cloudflare API-token value and cannot yield an Access Key ID. From current Forgejo main, make the smallest safe change in tenant-photo-studio: add support for direct Supabase Edge secrets CLOUDFLARE_VISTADELMAR_ACCESS_KEY_ID and CLOUDFLARE_VISTADELMAR_SECRET_ACCESS_KEY. For the la-vista-del-mar bucket, if both direct S3 secrets are present, construct AwsClient directly from them; otherwise preserve the existing v9 token-verification/derivation fallback. Do not alter generic Cloudflare behavior for other tenants. Update health to report only booleans indicating whether the direct La Vista S3 pair is configured; never expose secret values. Do not modify, upload, rename, copy, regenerate, enhance, replace, or delete any R2 object. Preserve tenant type SHORT_TERM_RENTAL and all bucket/key metadata. Gate, squash merge, and deploy only tenant-photo-studio. Runtime media proof is expected to remain blocked until owner adds the pair, but the deployed runtime must be ready to consume them without another source change.","constraints":[{"id":"preserve-objects","statement":"No La Vista R2 object or configured object key is changed.","proofConditionIds":["source"]},{"id":"preserve-other-tenants","statement":"Other tenant Cloudflare/R2 behavior remains unchanged.","proofConditionIds":["source"]},{"id":"preserve-type","statement":"La Vista remains SHORT_TERM_RENTAL.","proofConditionIds":["tenant"]}],"terminalPolicy":"source_and_release_ready_for_owner_credentials","proofConditions":[{"id":"source","kind":"repository","claim":"Exact diff is scoped to tenant-photo-studio direct La Vista S3 credential resolution and health booleans.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release","kind":"runtime","claim":"The exact merged tenant-photo-studio version containing the direct credential pair support is active in production.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["supabaseEdge"],"requiredReleaseTargets":["supabaseEdge"]},{"id":"tenant","kind":"runtime","claim":"Production tenant remains SHORT_TERM_RENTAL with unchanged R2 bucket/key metadata.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/fix-vista-r2-direct-credentials-20260828","conversationContext":null,"requestContractHash":"224a8c19c56924dd215f21c001bc9ee5e286d4377e80df2f75876d41f18d73f5","requestContractRevision":1},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T00:29:53.656147+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:8a26a592-6e11-4622-8512-a22042bf9f06:tenant-workstream-contribution:7adf140c019204123cd83d452fd62b1b3114da27d37f32c668cc3f9af9068d6a","mission_step_id":null,"command_center_event_id":"8a26a592-6e11-4622-8512-a22042bf9f06"},{"id":"bc8490d2-aec5-4230-a817-e0b2386288f4","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Finish the corrective repository search reliability repair on PR #2966. The canonical gate is green on exact head 09e45183edc918bb280b2ed116e019e6cd1800ab. Reconcile exact PR readiness, squash merge, release cc-execution, then verify the first post-deploy cold repository search within 2500ms. Do not create a replacement PR or mutation.","wordingChanged":false,"canonicalIntent":"Finish the corrective repository search reliability repair on PR #2966. The canonical gate is green on exact head 09e45183edc918bb280b2ed116e019e6cd1800ab. Reconcile exact PR readiness, squash merge, release cc-execution, then verify the first post-deploy cold repository search within 2500ms. Do not create a replacement PR or mutation.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"cold-first-search","statement":"The first repository/source search on a newly deployed main SHA resolves source paths without requiring a warmed retry.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"interactive-budget","statement":"Read-only repository search uses one 2500ms interactive deadline; resolved paths are returned even if optional source excerpts exhaust the remaining budget.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"bounded-payload","statement":"Default read-only source search reads at most three target excerpts with 6000 characters per target, 18000 characters total, and four matches per term unless the caller explicitly requests more.","proofConditionIds":["proof-repository"]}],"objective":"Finish the corrective repository search reliability repair on PR #2966. The canonical gate is green on exact head 09e45183edc918bb280b2ed116e019e6cd1800ab. Reconcile exact PR readiness, squash merge, release cc-execution, then verify the first post-deploy cold repository search within 2500ms. Do not create a replacement PR or mutation.","constraints":[{"id":"single-provider-retry","statement":"Cold tree resolution retains at most one transient provider retry inside the shared deadline and does not add a mutation or release fallback.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"exact-source","statement":"When the repair plan resolves an exact main SHA, source excerpt reads are pinned to that SHA instead of moving main.","proofConditionIds":["proof-repository"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-repository","proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"The exact cold-search, path-first read-only, config, version, and regression-test changes pass the canonical gate and merge.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-runtime","kind":"runtime","claim":"Live cc-execution runs version 1.58.174-repository-search-cold-path; an independent first post-deploy read-only repository search returns resolved targets with timingsMs.total at or below 2500ms.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Finish-the-corrective-repository-search-reliability-repair-on-PR-2966.-The-canonical-gate-is-green-o","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["ccExecution"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-repository","proof-runtime"]},"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":"5cf103df7bfe2b419527692a214f940fc0b64a9653fea2d23aed2b68e3c75f5d","requestContractRevision":3,"previousRequestContractHash":"56244f4d8037dffcffc5ac537b844153baf59e986bab17ab2e930ce568e164ab"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T22:33:57.919546+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:88985d8b-51a5-4ec4-95c9-22aef9952ff1:request-contract:5cf103df7bfe2b419527692a214f940fc0b64a9653fea2d23aed2b68e3c75f5d","mission_step_id":"2134daba-4106-457b-8532-5b2ce4f1a0d8","command_center_event_id":"88985d8b-51a5-4ec4-95c9-22aef9952ff1"},{"id":"bc84e926-01ff-41fa-b4ef-709139d06b9b","source":"github-status","status":"verified","payload":{"failed":[],"states":{"canonical-production-release/verified":"success"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"ce2873382618ff1c9768ba5ea435c6b23917b3ae","releaseState":"verified","exactConductorRun":{"id":31552644412,"status":"completed","headSha":"ce2873382618ff1c9768ba5ea435c6b23917b3ae","conclusion":"success","compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-12T01:13:27.403155+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"ce2873382618ff1c9768ba5ea435c6b23917b3ae","external_id":"canonical-release-ce2873382618","receipt_type":"canonical_release_status","idempotency_key":"mission:edad7b37-5efa-416c-b972-d362770add31:release-status:ce2873382618ff1c9768ba5ea435c6b23917b3ae:31552644412:verified:canonical-production-release/verified=success","mission_step_id":"16be77fd-e490-4f5f-9b68-b333b4434dce","command_center_event_id":"edad7b37-5efa-416c-b972-d362770add31"},{"id":"bc854b95-15b4-460e-bf0d-eafeb7cebd5b","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/cc-unrebaseable-generation-rotation-20260821","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.14-control-plane-readiness","prNumber":579,"terminal":false,"missionId":"f8883138-873d-4aa6-8e31-47921cdbe269","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"eb598625e433b7d64c4f2f40a142fe6a645b5c22","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"f8883138-873d-4aa6-8e31-47921cdbe269"},"performance":null,"deploymentId":"forgejo-main-eb598625e433","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6265,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T21:04:57.162258+00:00","proof_gate":"canonical_release_dispatched","source_sha":"eb598625e433b7d64c4f2f40a142fe6a645b5c22","external_id":"forgejo-main-eb598625e433","receipt_type":"execute_mission","idempotency_key":"mission:f8883138-873d-4aa6-8e31-47921cdbe269:execute_mission:canonical_release_dispatched","mission_step_id":"a927dd63-1fb4-4dfa-89a7-b164935bb8af","command_center_event_id":"f8883138-873d-4aa6-8e31-47921cdbe269"},{"id":"bc85a6f2-4bcc-49de-9344-06fec67f74ba","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-4489b794fe0b","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":36690,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":468477,"firstUsefulResultAt":"2026-09-29T20:27:17.775Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4178,"terminal":false,"missionId":"4489b794-fe0b-4298-b860-3ec38862b32d","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"df0053b2741b95cbbb4eba6d281c6bc5d3ed5ee6","timingsMs":{"prReadinessMs":639,"approvedPlanMs":0,"shipAndProveMs":3102,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"4489b794-fe0b-4298-b860-3ec38862b32d"},"performance":null,"deploymentId":"forgejo-main-df0053b2741b","releaseState":null,"workflowRunId":null,"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":2082,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T20:36:40.788935+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4178","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4489b794-fe0b-4298-b860-3ec38862b32d:automatic-mission-resume:4178:canonical_release_reconciliation_pending","mission_step_id":"a77903c0-8cce-4e2d-9c1a-c2922653abff","command_center_event_id":"4489b794-fe0b-4298-b860-3ec38862b32d"},{"id":"bc871242-14a4-4167-aa73-05c5df725190","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-context-actions","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3337,"terminal":false,"missionId":"61b2161e-c9f1-4824-add3-4e9b5fb9c6c5","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"a118716cb617330fc944df9a11f93e53f5ce6c3d","timingsMs":{"prReadinessMs":550,"approvedPlanMs":0,"shipAndProveMs":3159,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"61b2161e-c9f1-4824-add3-4e9b5fb9c6c5"},"performance":null,"deploymentId":"forgejo-main-a118716cb617","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":2169,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T02:59:41.967649+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3337","receipt_type":"automatic_mission_resume","idempotency_key":"mission:61b2161e-c9f1-4824-add3-4e9b5fb9c6c5:automatic-mission-resume:3337:canonical_release_dispatched","mission_step_id":"3cd01f61-bc7f-4af7-b8cd-5983d8cde0aa","command_center_event_id":"61b2161e-c9f1-4824-add3-4e9b5fb9c6c5"},{"id":"bc8785bf-23ba-4242-a308-4856789c8c39","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":"e64cb858-0abc-4ac0-a2cb-f11c23b9f17b","phase":"visual_proof","branch":"ai/vista-premium-reservation-rebuild-20260829","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":13960,"releaseCount":1,"toolCallCount":9,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.56.2-queue-readiness-budget","prNumber":1045,"terminal":false,"missionId":"77af8353-1ebe-48ca-9cd4-762435160757","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":"4341cdb7ca7492b83fe5054f5b91524ee008a26d","timingsMs":{"handlerMs":22476,"prReadinessMs":496,"approvedPlanMs":0,"missionSetupMs":822,"shipAndProveMs":21972},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"77af8353-1ebe-48ca-9cd4-762435160757"},"performance":null,"deploymentId":"forgejo-main-4341cdb7ca74","workflowRunId":3428,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5480,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T19:10:51.170488+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":"4341cdb7ca7492b83fe5054f5b91524ee008a26d","external_id":"forgejo-main-4341cdb7ca74","receipt_type":"execute_mission","idempotency_key":"mission:77af8353-1ebe-48ca-9cd4-762435160757:execute_mission:canonical_release_transport_retryable:current-generation","mission_step_id":"79b87be9-b4cf-443d-ab44-bbe485020a51","command_center_event_id":"77af8353-1ebe-48ca-9cd4-762435160757"},{"id":"bc8a5425-ddd0-4758-a50e-0a7f3225fdb2","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"79e66b347abab6959faf463fd7ebdae25e1465e6","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Ship the canonical KNOCKLAUNCH Profile/Settings media repair platform-wide now. Fix permitted profile/workspace saves so they do not fail on platform_mode_default_media; keep restricted platform defaults isolated. Make MODES image controls compact on desktop/mobile. Give editable logo, background, hero, and MODES imagery live opacity 0-100% and blur 0-20px controls, persist them, and render saved styling on consuming tenant surfaces. Preserve the unified Profile / Settings / Notifications shell and current uploads. Gate, squash merge, deploy affected frontend/backend, then verify /pcg/settings?section=profile on desktop/mobile and a normal tenant-user save path.","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":"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":"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":"4f325d32304847f1bfd37bcfa16225d13a937ba35a465fcc851b33eeb6a72e2b","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":"4f325d32304847f1bfd37bcfa16225d13a937ba35a465fcc851b33eeb6a72e2b"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/pcg/settings?section=profile","currentSourceSha":"79e66b347abab6959faf463fd7ebdae25e1465e6","witnessSourceSha":"79e66b347abab6959faf463fd7ebdae25e1465e6","verificationState":"completed_with_findings","witnessRequestContractHash":"4f325d32304847f1bfd37bcfa16225d13a937ba35a465fcc851b33eeb6a72e2b"},"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-29T17:06:29.118996+00:00","proof_gate":"request_contract_pending","source_sha":"79e66b347abab6959faf463fd7ebdae25e1465e6","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:26d06067-1b8d-46aa-8b23-0dabcdadc27d:request-contract:4f325d32304847f1bfd37bcfa16225d13a937ba35a465fcc851b33eeb6a72e2b:79e66b347abab6959faf463fd7ebdae25e1465e6:pending:visual","mission_step_id":"47326506-b165-4d09-9952-df22a742fddb","command_center_event_id":"26d06067-1b8d-46aa-8b23-0dabcdadc27d"},{"id":"bc8b2f79-9da6-458d-a4e4-e4a73eb74a68","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"a118716cb617330fc944df9a11f93e53f5ce6c3d","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"a118716cb617330fc944df9a11f93e53f5ce6c3d","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":"3769ffbd0dedde6fb346a385dbfa925ee5c5ea850b7035a59cb7399d5deab723","forgejoWorkflowProof":{"runId":10475,"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-21T03:01:21.042663+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"a118716cb617330fc944df9a11f93e53f5ce6c3d","external_id":"forgejo-main-a118716cb617","receipt_type":"canonical_release_status","idempotency_key":"mission:61b2161e-c9f1-4824-add3-4e9b5fb9c6c5:forgejo-release-status:a118716cb617330fc944df9a11f93e53f5ce6c3d:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"2b1da321-100c-4a83-948b-117152b371f2","command_center_event_id":"61b2161e-c9f1-4824-add3-4e9b5fb9c6c5"},{"id":"bc8f6cf9-c226-401f-a28b-ca2c1854d4e1","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"583dc18b25780161c239ffdd9933a91cf9d5d47c","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"583dc18b25780161c239ffdd9933a91cf9d5d47c","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"1699f163f35e5f05ad6177a6526af67c91c71ce1c1cb0a0f416f217e6482adf8","forgejoWorkflowProof":{"runId":16188,"source":"signed_push_receipt","status":"waiting","results":{},"conclusion":"waiting","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"7cac3072e0e0c42d39832849f6acc6f68a03da79","deploymentId":"forgejo-main-7cac3072e0e0c42d39832849f6acc6f68a03da79","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.65.7-prime-stale-manual-retirement-adapter","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:26:56.927836+00:00","proof_gate":"canonical_release_pending","source_sha":"583dc18b25780161c239ffdd9933a91cf9d5d47c","external_id":"forgejo-main-583dc18b2578","receipt_type":"canonical_release_status","idempotency_key":"mission:7ea33d57-4c20-413d-b2d9-f677e5d6730f:forgejo-release-status:583dc18b25780161c239ffdd9933a91cf9d5d47c:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"1ff49ba9-6db7-4a1a-b8f2-30b375417107","command_center_event_id":"7ea33d57-4c20-413d-b2d9-f677e5d6730f"},{"id":"bc90f3f3-98bf-4551-836e-f4ace1951b5b","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-b8ece7fac940","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.282-lineage-main-guard","prNumber":null,"terminal":false,"missionId":"b8ece7fa-c940-4dc4-85d1-36944c85672b","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1726,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":510,"providerAuthMs":0,"ledgerPrepareMs":510,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":510,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":510,"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":"b8ece7fa-c940-4dc4-85d1-36944c85672b"},"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":4573,"likelyAffectedFiles":["src/App.tsx","src/PublicAppShell.tsx","src/routes/appRouteClassifier.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T16:23:49.593253+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b8ece7fa-c940-4dc4-85d1-36944c85672b:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"6aae0c27-7cf6-476f-bc7c-0f77e02e9f42","command_center_event_id":"b8ece7fa-c940-4dc4-85d1-36944c85672b"},{"id":"bc95186a-3a77-466a-9974-1f808de02bc3","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-63986e9d9179","reason":"pull_request_not_open","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3484,"terminal":false,"missionId":"63986e9d-9179-433d-897c-ca108d686dd5","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":"63986e9d-9179-433d-897c-ca108d686dd5"},"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":689,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T03:34:25.78788+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3484","receipt_type":"automatic_mission_resume","idempotency_key":"mission:63986e9d-9179-433d-897c-ca108d686dd5:automatic-mission-resume:3484:repair_mission_auto_progress_authorization_retryable","mission_step_id":"55e52d6f-b802-415e-8b48-531f4b9c0f67","command_center_event_id":"63986e9d-9179-433d-897c-ca108d686dd5"},{"id":"bc95295b-6796-43f2-b9e1-650519abd0d1","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":147,"terminal":false,"missionId":"1baa2f1e-f724-4721-ac36-754c2468f84d","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"efbfc4066d26bda08367716f76e9e6ab9426f000","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"1baa2f1e-f724-4721-ac36-754c2468f84d"},"performance":null,"deploymentId":"forgejo-main-efbfc4066d26","workflowRunId":420,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4070,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T17:21:43.551314+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"efbfc4066d26bda08367716f76e9e6ab9426f000","external_id":"forgejo-main-efbfc4066d26","receipt_type":"ship_and_prove","idempotency_key":"mission:1baa2f1e-f724-4721-ac36-754c2468f84d:ship_and_prove:ship_and_prove_release_pending:efbfc4066d26bda08367716f76e9e6ab9426f000:420","mission_step_id":"d6856563-a48c-4582-8193-75fbcef17400","command_center_event_id":"1baa2f1e-f724-4721-ac36-754c2468f84d"},{"id":"bc96ec9d-6af7-497a-91b9-7b99af5682e2","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"77efea179052c7c06e7ed2408e3169d5366e9114","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"77efea179052c7c06e7ed2408e3169d5366e9114","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"8453470ea96ec7587bce1eabe247dc4a683b868701a8f70d147e863c91131de9","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3702","runId":3702,"status":"running","sourceSha":"77efea179052c7c06e7ed2408e3169d5366e9114","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T21:06:13.650838+00:00","proof_gate":"canonical_release_pending","source_sha":"77efea179052c7c06e7ed2408e3169d5366e9114","external_id":"forgejo-main-77efea179052","receipt_type":"canonical_release_status","idempotency_key":"mission:d783d467-aee2-461e-b241-ec736900c287:forgejo-release-status:77efea179052c7c06e7ed2408e3169d5366e9114:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"49972689-f663-46f2-86a2-ab6afa1ad94d","command_center_event_id":"d783d467-aee2-461e-b241-ec736900c287"},{"id":"bc9921dc-5098-4e47-ac2e-61e3d14334bf","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/generic-reports-analytics-20260825","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":3886,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.50.48-visual-proof-intent-routing","prNumber":null,"terminal":false,"missionId":"473219b3-a8a0-4108-b40c-95b15c6ae30d","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"handlerMs":3800,"prReadinessMs":0,"approvedPlanMs":3800,"missionSetupMs":739,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"473219b3-a8a0-4108-b40c-95b15c6ae30d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4726,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T18:54:56.045218+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:473219b3-a8a0-4108-b40c-95b15c6ae30d:execute_mission:repair_mission_execution_retryable","mission_step_id":"29773304-b5f9-492c-8695-2e9dc6768080","command_center_event_id":"473219b3-a8a0-4108-b40c-95b15c6ae30d"},{"id":"bc99e99d-1200-4bdb-b216-af9d1400d6ef","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mu2q1r7a","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2819,"terminal":false,"missionId":"a37fb99d-608d-4a18-acb3-b58d89750d79","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1065,"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":"a37fb99d-608d-4a18-acb3-b58d89750d79"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1280,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T14:04:30.561992+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2819","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a37fb99d-608d-4a18-acb3-b58d89750d79:automatic-mission-resume:2819:repair_mission_waiting_for_gate","mission_step_id":"aa52c459-9028-4f12-8aa9-e444a4f53cfa","command_center_event_id":"a37fb99d-608d-4a18-acb3-b58d89750d79"},{"id":"bc9ab00a-5d17-443f-be3f-6b6f841657aa","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"f1f4dbd2e2a64b897f4489dc228be3b38b613b80","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Exact source patch PCGSlabUpload; add pre-save local scan effect. Nothing else.","proofConditionIds":["proof-production"]}],"satisfied":false,"constraints":[{"id":"capability-completeness","satisfied":false,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"4b58c6c21447b246abd9f1a02a2d1fbdff9d7eadf07197d81fc9fa1dbc7f0003","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"repository","evidence":{"reason":null,"gateRunId":null,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"4b58c6c21447b246abd9f1a02a2d1fbdff9d7eadf07197d81fc9fa1dbc7f0003","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T15:53:26.860388+00:00","proof_gate":"request_contract_pending","source_sha":"f1f4dbd2e2a64b897f4489dc228be3b38b613b80","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:4a5884e6-47ee-4d2b-987a-e178e8b7f833:request-contract:4b58c6c21447b246abd9f1a02a2d1fbdff9d7eadf07197d81fc9fa1dbc7f0003:f1f4dbd2e2a64b897f4489dc228be3b38b613b80:pending:repository","mission_step_id":"2cb638a4-4016-424d-a315-c669f47d848e","command_center_event_id":"4a5884e6-47ee-4d2b-987a-e178e8b7f833"},{"id":"bc9d6773-acaf-4b01-abe9-076e11895fcc","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"9b7e75e39d44a3b619fd383e6f2acfadb6c4ed48","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"9b7e75e39d44a3b619fd383e6f2acfadb6c4ed48","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-25T01:09:18.136563+00:00","proof_gate":"canonical_release_pending","source_sha":"9b7e75e39d44a3b619fd383e6f2acfadb6c4ed48","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:a4ebea1a-8930-4572-82d3-6d6972b5a0d8:forgejo-release-status:9b7e75e39d44a3b619fd383e6f2acfadb6c4ed48:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"79766cb6-35e5-4430-b2c8-f921df1f32e0","command_center_event_id":"a4ebea1a-8930-4572-82d3-6d6972b5a0d8"},{"id":"bc9d70d6-5ed6-4473-8d34-0b3f1b46b5ae","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5749ab4cd68f","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3771,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"executorlessWaitMs":50584,"firstUsefulResultAt":"2026-09-25T18:33:11.854Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.282-lineage-main-guard","prNumber":null,"terminal":false,"missionId":"5749ab4c-d68f-4309-87a7-4b7a46ea07ec","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1271,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":294,"providerAuthMs":0,"ledgerPrepareMs":294,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":294,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":294,"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":"5749ab4c-d68f-4309-87a7-4b7a46ea07ec"},"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":3460,"likelyAffectedFiles":["src/PrivateAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T18:33:11.890738+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5749ab4c-d68f-4309-87a7-4b7a46ea07ec:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"8db3ddd5-a4bf-4d04-8692-a2fd8d69b275","command_center_event_id":"5749ab4c-d68f-4309-87a7-4b7a46ea07ec"},{"id":"bca28bde-7db4-4a1b-a25a-5bad6f99f0d3","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-0345759c13bf","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2680,"terminal":false,"missionId":"0345759c-13bf-45d7-813f-022c515f103c","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"e73f076f6dd5bced84f362138845ea1fb6a2109d","timingsMs":{"prReadinessMs":1243,"approvedPlanMs":0,"shipAndProveMs":3829,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0345759c-13bf-45d7-813f-022c515f103c"},"performance":null,"deploymentId":"forgejo-main-e73f076f6dd5","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1918,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T20:27:48.251051+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2680","receipt_type":"automatic_mission_resume","idempotency_key":"mission:0345759c-13bf-45d7-813f-022c515f103c:automatic-mission-resume:2680:canonical_release_dispatched","mission_step_id":"5c2fe770-568f-4a4d-93fd-a7d855b70196","command_center_event_id":"0345759c-13bf-45d7-813f-022c515f103c"},{"id":"bca541f4-b796-4dcb-a3a3-af1924f2fa34","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-1111409396cb","reason":"canonical_release_queue_busy:16066","status":"blocked","metrics":{"receiptBytes":136042,"releaseCount":0,"toolCallCount":94,"repeatedCallCount":79,"executorlessWaitMs":680679,"firstUsefulResultAt":"2026-10-05T22:33:41.849Z","recoveryAttemptCount":63,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":5081,"terminal":false,"missionId":"11114093-96cb-44ea-ad68-3d75f6f539cf","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"459a1c4b70b701f1e80b339f911bc83fbcd4c17a","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":886,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":59,"approvedPlanMs":0,"missionSetupMs":1788,"providerAuthMs":0,"shipAndProveMs":347,"ledgerPrepareMs":328,"ledgerReconcileMs":0,"lineageReconcileMs":1460,"resolvePreflightMs":1788,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":328,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"11114093-96cb-44ea-ad68-3d75f6f539cf"},"performance":null,"deploymentId":"forgejo-main-459a1c4b70b7","releaseState":"pending","workflowRunId":16066,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1406,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T22:45:04.891163+00:00","proof_gate":"canonical_release_blocked","source_sha":"459a1c4b70b701f1e80b339f911bc83fbcd4c17a","external_id":"forgejo-main-459a1c4b70b7","receipt_type":"execute_mission","idempotency_key":"mission:11114093-96cb-44ea-ad68-3d75f6f539cf:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"db91d04b-bb5b-4c83-89c9-6e337c238bbb","command_center_event_id":"11114093-96cb-44ea-ad68-3d75f6f539cf"},{"id":"bca5ed6f-616a-467b-83ef-e4e3680d6613","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/proposal-layer-controls-final","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":2008,"terminal":false,"missionId":"6061e4a4-e4c6-42ee-925c-a8161d82a32c","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":15,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1557,"providerAuthMs":0,"ledgerPrepareMs":295,"ledgerReconcileMs":0,"lineageReconcileMs":1262,"resolvePreflightMs":1557,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":295,"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":"6061e4a4-e4c6-42ee-925c-a8161d82a32c"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3273,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T23:28:18.505586+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":"2008","receipt_type":"execute_mission","idempotency_key":"mission:6061e4a4-e4c6-42ee-925c-a8161d82a32c:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"3f6bf903-4690-4e49-af91-7a36df59a5dc","command_center_event_id":"6061e4a4-e4c6-42ee-925c-a8161d82a32c"},{"id":"bca6c4f4-fb12-4250-a811-7aba6a22cf16","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":"ee42ebec-6dc3-4065-92ab-d68af72cf3eb","phase":"pull_request","branch":"ai/objective-first-repair-0618a5ffb7bd","reason":"pull_request_checks_failed","status":"retryable","metrics":{"receiptBytes":68820,"releaseCount":0,"toolCallCount":32,"repeatedCallCount":15,"executorlessWaitMs":792827,"firstUsefulResultAt":"2026-09-24T14:59:35.634Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":3631,"terminal":false,"missionId":"0618a5ff-b7bd-4db6-a975-5b9689bf2c05","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1608,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1405,"approvedPlanMs":0,"missionSetupMs":533,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":328,"ledgerReconcileMs":0,"lineageReconcileMs":205,"resolvePreflightMs":533,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":328,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"0618a5ff-b7bd-4db6-a975-5b9689bf2c05"},"performance":null,"deploymentId":null,"releaseState":null,"visualWitness":{"role":null,"jobId":"ee42ebec-6dc3-4065-92ab-d68af72cf3eb","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":"pull_request_checks_failed","observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":1,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2068,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T15:12:57.345587+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"ee42ebec-6dc3-4065-92ab-d68af72cf3eb","receipt_type":"execute_mission","idempotency_key":"mission:0618a5ff-b7bd-4db6-a975-5b9689bf2c05:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"2b5fc5ae-18d8-44ba-b671-ba1834de76eb","command_center_event_id":"0618a5ff-b7bd-4db6-a975-5b9689bf2c05"},{"id":"bca7f3e8-49d2-49f9-9fe0-c34bd22012a9","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-35ca0e4b9969","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.302-paul-throughput-router","prNumber":null,"terminal":false,"missionId":"35ca0e4b-9969-4ba1-b45c-212469afd471","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2155,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":755,"providerAuthMs":0,"ledgerPrepareMs":755,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":755,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":755,"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":"35ca0e4b-9969-4ba1-b45c-212469afd471"},"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":4818,"likelyAffectedFiles":["src/hooks/useGodModeBranding.ts","src/pages/admin/AdminProfile.tsx","src/pages/admin/AdminSiteDesign.tsx","src/pages/owner/KnockLaunchOSShared.tsx","src/components/admin/AdminSidebar.tsx","src/components/backgrounds/SpaceBackground.tsx","supabase/migrations"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T16:16:41.456999+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:35ca0e4b-9969-4ba1-b45c-212469afd471:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"670e2632-93f2-4740-9c46-f80ba6c81621","command_center_event_id":"35ca0e4b-9969-4ba1-b45c-212469afd471"},{"id":"bcab4399-48ae-4d33-ad98-de6eaf1c657c","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"deployment_dispatched\",\"proofGate\":\"canonical_release_dispatched\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":6,\"verified\":2,\"pending\":4,\"percent\":33,\"satisfied\":false,\"verifiedIds\":[\"preflight\",\"implementation\"],\"pendingIds\":[\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-08-05T19:40:54.347941+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/bound-bootstrap-and-complete-encore-proof-20260805\",\"prNumber\":4061,\"sourceSha\":\"efae2bb181cc13721d45811496ee4ed8db01aec1\",\"deploymentId\":\"canonical-release-efae2bb181cc\"}"},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-10-03T21:42:24.977106+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:bba39d27-ea68-426a-9351-b10d9887018f:owner-progress-heartbeat:119404249","mission_step_id":"7aebda0a-a912-474c-9c7c-e494cca24271","command_center_event_id":"bba39d27-ea68-426a-9351-b10d9887018f"},{"id":"bcabad0a-187a-4626-947d-421af1b7a402","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-unified-owner-os-20260825","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":75699,"releaseCount":0,"toolCallCount":67,"repeatedCallCount":57,"ownerInterruptionCount":0},"version":"1.50.35-defer-existing-pr-refresh","prNumber":null,"terminal":false,"missionId":"260f19f5-c09a-4b03-bc3d-87bbf19aa93f","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"260f19f5-c09a-4b03-bc3d-87bbf19aa93f"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5065,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-25T05:27:05.582764+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:260f19f5-c09a-4b03-bc3d-87bbf19aa93f:execute_mission:repair_mission_execution_retryable","mission_step_id":"b0a18c34-e5e1-45ed-a441-5ba057d76a57","command_center_event_id":"260f19f5-c09a-4b03-bc3d-87bbf19aa93f"},{"id":"bcabb321-e9e0-4266-8d42-9a9812056d8e","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"1a8eaf6cbfe4f31a7d020c65a5974d18a5c4f1af","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"1a8eaf6cbfe4f31a7d020c65a5974d18a5c4f1af","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"97b35a1dc266142422b4cf6c297848175c003ba2f020421c4ac610bf856f13df","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13390","runId":13390,"source":"exact_live_cc_execution_runtime_identity","status":"running","liveSha":"1a8eaf6cbfe4f31a7d020c65a5974d18a5c4f1af","proofGate":"cc_execution_exact_live_runtime_substitutes_transient_workflow_receipt","sourceSha":"1a8eaf6cbfe4f31a7d020c65a5974d18a5c4f1af","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"deploymentId":"forgejo-main-1a8eaf6cbfe4f31a7d020c65a5974d18a5c4f1af","targetStates":{"ccExecution":"pending"},"runtimeVersion":"1.64.16-paul-eval-dash-normalization","targetJobCount":6,"observedTargetStates":{"ccExecution":"pending"},"workflowReceiptSubstituted":true},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"1a8eaf6cbfe4f31a7d020c65a5974d18a5c4f1af","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-1a8eaf6cbfe4f31a7d020c65a5974d18a5c4f1af","compareStatus":"identical","workflowRunId":13390,"identitySource":"local_build_metadata","runtimeVersion":"1.64.16-paul-eval-dash-normalization","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T14:03:18.18492+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"1a8eaf6cbfe4f31a7d020c65a5974d18a5c4f1af","external_id":"forgejo-main-1a8eaf6cbfe4","receipt_type":"canonical_release_status","idempotency_key":"mission:729e3c74-c318-40c7-8912-560444508c1e:forgejo-release-status:1a8eaf6cbfe4f31a7d020c65a5974d18a5c4f1af:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"6dd99a9a-24ec-46f8-9c4e-1548ce45d659","command_center_event_id":"729e3c74-c318-40c7-8912-560444508c1e"},{"id":"bcac91f4-aeaa-4a55-82aa-9a4a649b2ebd","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in reasoning required.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"synthesis_required","handoff":null,"capability":"heavy-build-gate","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"reasoning_required\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"synthesis_required\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"heavy-build-gate\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"heavy-build-gate\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-10-06T20:07:58.285416+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:10:11.194682+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6f2e8769-9a1f-4083-b735-6ff566b6a372:owner-progress-heartbeat:119420920","mission_step_id":"866ffadd-7c19-424a-a9cd-005198dfa99f","command_center_event_id":"6f2e8769-9a1f-4083-b735-6ff566b6a372"},{"id":"bcae96d2-3491-4b33-99f7-05c91ba017a9","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-4b4b5a5fd8c0","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":48195,"releaseCount":0,"toolCallCount":17,"repeatedCallCount":13,"executorlessWaitMs":945508,"firstUsefulResultAt":"2026-10-02T16:27:36.624Z","recoveryAttemptCount":12,"ownerInterruptionCount":0},"version":null,"prNumber":4497,"terminal":false,"missionId":"4b4b5a5f-d8c0-408e-ba78-a66c24900b8c","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":4000,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"4b4b5a5f-d8c0-408e-ba78-a66c24900b8c"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1006,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:47:34.55959+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"4497","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4b4b5a5f-d8c0-408e-ba78-a66c24900b8c:automatic-mission-resume:4497:repair_mission_waiting_for_gate","mission_step_id":"f0732d09-ce55-4b53-aacc-4558aece0e92","command_center_event_id":"4b4b5a5f-d8c0-408e-ba78-a66c24900b8c"},{"id":"bcb04f75-bed9-4ba3-b390-7324b0461cd5","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"branch_must_start_with_ai","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"2ffcdc5c-3c8a-492f-af41-f29a4288f40f","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":783,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":783,"ledgerReconcileMs":237,"lineageReconcileMs":0,"resolvePreflightMs":783,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1020,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"2ffcdc5c-3c8a-492f-af41-f29a4288f40f"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1296,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:54:04.989795+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2ffcdc5c-3c8a-492f-af41-f29a4288f40f:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"321a9bb8-005e-4007-a99b-23348f52ae77","command_center_event_id":"2ffcdc5c-3c8a-492f-af41-f29a4288f40f"},{"id":"bcb20b47-8177-47d2-afa7-d3bd747ae5dd","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-2fd15150c943","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3232,"terminal":false,"missionId":"2fd15150-c943-427e-bb63-0ea8d4de82e6","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4909,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":702,"missionSetupMs":275,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":275,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":275,"repositoryMutationMs":4207,"repositoryProviderMs":4207,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2468,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":275,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1739},"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":"2fd15150-c943-427e-bb63-0ea8d4de82e6"},"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":3204,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T19:12:24.391708+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3232","receipt_type":"execute_mission","idempotency_key":"mission:2fd15150-c943-427e-bb63-0ea8d4de82e6:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"64a28bff-9de1-46bf-aa88-b566fa9376eb","command_center_event_id":"2fd15150-c943-427e-bb63-0ea8d4de82e6"},{"id":"bcb2212f-5dd4-423e-8023-6e51c7faad87","source":"forgejo-runtime","status":"failed","payload":{"failed":["render-onrunner/runtime-proof"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","render-onrunner/runtime-proof":"failure"},"mainSha":"9f860bb0a3a4bf168140895eae4ff814ca2d5b67","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","render-onrunner/runtime-proof"],"sourceSha":"9f860bb0a3a4bf168140895eae4ff814ca2d5b67","releaseState":"failed","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"success","ccExecution":"success"},"requestContractHash":"674c056d1652d37925ffaf08f91e1bf001951beca249f4026bfcbb2c63093a42","forgejoWorkflowProof":{"runId":8654,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"onrunner":"success","ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"onrunner":"pending"}},"onrunnerRuntimeProof":{"reason":"render_onrunner_source_mismatch","hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":false,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"558f39283875f6a7f3e68e795e0a31fee6e075e0","runnerVersion":"onrunner-558f39283875","expectedSourceSha":"9f860bb0a3a4bf168140895eae4ff814ca2d5b67"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T05:37:15.859056+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"9f860bb0a3a4bf168140895eae4ff814ca2d5b67","external_id":"forgejo-main-9f860bb0a3a4","receipt_type":"canonical_release_status","idempotency_key":"mission:25776a3e-f543-4fb8-921f-4747b7def5a8:forgejo-release-status:9f860bb0a3a4bf168140895eae4ff814ca2d5b67:failed:forgejo-main/source=success|forgejo-release/workflow=success|render-onrunner/runtime-proof=failure","mission_step_id":"e0127957-eeb7-4c56-acfe-00be0f4d499c","command_center_event_id":"25776a3e-f543-4fb8-921f-4747b7def5a8"},{"id":"bcb45075-c667-493f-a84d-8fab3ba22d38","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"f0ff3892288902b99a842f1be1e448538a6025f0","priorProofGate":"canonical_release_terminal_verified","reconciliationReason":"durable_terminal_release_proof_reused","durableReleaseProofReused":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T15:07:12.130428+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"f0ff3892288902b99a842f1be1e448538a6025f0","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:ec249474-6ed2-482a-8460-b023e74d8e04:durable-terminal-release-proof:f0ff3892288902b99a842f1be1e448538a6025f0:terminal","mission_step_id":"4a60ae58-f563-4da5-8288-ac1a7441841c","command_center_event_id":"ec249474-6ed2-482a-8460-b023e74d8e04"},{"id":"bcb4ad5c-7287-432c-a190-d1f87aa99e5a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-mail-load-performance","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2780,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.7-supersession-content-proof","prNumber":null,"terminal":false,"missionId":"2de22c01-7e86-4ce5-8d6e-613d46f42aac","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"2de22c01-7e86-4ce5-8d6e-613d46f42aac"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":9951,"likelyAffectedFiles":["scripts/production-release-targets.json","src/__tests__/contracts/canonical-production-release-status.test.ts","scripts/supabase-migration-release.mjs","scripts/validate-production-release-identities.mjs","scripts/__tests__/production-release-status.contract.test.mjs","scripts/__tests__/supabase-migration-release.test.mjs",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/direct-pr-merge-release-ownership.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","src/__tests__/contracts/knocklaunch-mail-platform.contract.test.ts","scripts/resolve-production-workflow-run.mjs","scripts/__tests__/resolve-production-workflow-run.test.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T12:27:01.702849+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2de22c01-7e86-4ce5-8d6e-613d46f42aac:execute_mission:repair_mission_synthesis_ready","mission_step_id":"cc650043-9f0c-4750-82e7-872e183a0e97","command_center_event_id":"2de22c01-7e86-4ce5-8d6e-613d46f42aac"},{"id":"bcb624f9-28a4-41a1-a789-686d9b5437ee","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"9dae32f1-f3cf-09ae-7f92-c656f71fb9d5"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:64f7b13a-237e-40d9-adf5-0ddafda231bd","mission_step_id":null,"command_center_event_id":"64f7b13a-237e-40d9-adf5-0ddafda231bd"},{"id":"bcb7d47b-f4a4-481d-be8c-6c34f16964f4","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"35835875d9f0f826613f37dcbcebe82e7446acdd","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"one-bell","satisfied":true,"statement":"Every authenticated tenant workspace exposes exactly one visible canonical notification bell; duplicate or floating NotificationBell instances are suppressed and the header-contained instance wins.","proofConditionIds":["source-proof","production-live"]},{"id":"tenant-route","satisfied":true,"statement":"The canonical bell navigates only to the active tenant notification settings route via tenantRoutes.notificationsPath and never to tenant selection.","proofConditionIds":["source-proof","production-live"]}],"satisfied":true,"constraints":[{"id":"frontend-only","satisfied":true,"statement":"Only src/components/notifications/NotificationBell.tsx may change and only the frontend production target may release.","proofConditionIds":["source-proof","production-live"]},{"id":"preserve-notification-behavior","satisfied":true,"statement":"Unread counts, active background-job indicator, realtime subscriptions, browser notifications, tenant/user isolation, and caller styling remain intact.","proofConditionIds":["source-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":["source-proof","production-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":["source-proof","production-live"]}],"contractHash":"1b2c98840a949b6116d20edd32ab0dfee8914a81ad74012b91b30df7ff855d9f","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"source-proof","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"1b2c98840a949b6116d20edd32ab0dfee8914a81ad74012b91b30df7ff855d9f","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":["frontend"],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"requiredReleaseTargets":["frontend"],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"35835875d9f0f826613f37dcbcebe82e7446acdd"},"required":true,"satisfied":true},{"id":"production-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":"1b2c98840a949b6116d20edd32ab0dfee8914a81ad74012b91b30df7ff855d9f"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":3},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T23:47:33.943854+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"35835875d9f0f826613f37dcbcebe82e7446acdd","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:12a0f1c2-aef5-44b4-b344-0e281b8f2cb8:request-contract:1b2c98840a949b6116d20edd32ab0dfee8914a81ad74012b91b30df7ff855d9f:35835875d9f0f826613f37dcbcebe82e7446acdd:verified:","mission_step_id":"4e58002a-7b2e-4ed3-bf5e-c83399c95958","command_center_event_id":"12a0f1c2-aef5-44b4-b344-0e281b8f2cb8"},{"id":"bcb97428-732c-4734-ad0d-c6602cc2a44a","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"098fda9b07a9343adc3755ee0961eb8897b8c9d1","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Restore the missing GodMode platform media controls in /admin/account?section=profile. The GodMode owner profile must expose dedicated editable media slots in addition to the existing Logo, Profile Video, Workspace Background, and Hero Image: (1) Loader Background, accepting image or MP4/WebM video, with preview and replace/upload control; and (2) Select Tenant Background, accepting image or MP4/WebM video, with preview and replace/upload control. Store these as canonical tenant-media assets on the KNOCKLAUNCH OS owner workspace, never on the currently active customer tenant. Extend the media contract/resolver with explicit loaderBackgroundUrl and selectTenantBackgroundUrl fields. The GodMode UniversalLoadingScreen must use the dedicated Loader Background first, falling back to the existing PCG-WMP presentation only when no custom loader background exists. The /select-tenant screen must render the dedicated Select Tenant Background from the KNOCKLAUNCH OS owner workspace, falling back to the current safe gradient if none exists. Preserve the canonical KNOCKLAUNCH OS logo and all existing image framing/opacity controls. Do not remove existing media slots. Add regression coverage for","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":"brand-asset-authority","satisfied":false,"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.","proofConditionIds":["proof-production","proof-visual"]},{"id":"tenant-visual-isolation","satisfied":false,"statement":"Visual work is isolated to requested tenant. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","proofConditionIds":["proof-visual"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","proofConditionIds":["proof-visual"]},{"id":"reference-visual-authority","satisfied":false,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-visual"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"90b7317f4c82cb160ccaf77d5643dec809aad699fb6ab557b1392e24ae1d9dca","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":"90b7317f4c82cb160ccaf77d5643dec809aad699fb6ab557b1392e24ae1d9dca"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"098fda9b07a9343adc3755ee0961eb8897b8c9d1","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T14:02:26.376297+00:00","proof_gate":"request_contract_pending","source_sha":"098fda9b07a9343adc3755ee0961eb8897b8c9d1","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:16f68625-e357-4dff-803b-596a61b79c32:request-contract:90b7317f4c82cb160ccaf77d5643dec809aad699fb6ab557b1392e24ae1d9dca:098fda9b07a9343adc3755ee0961eb8897b8c9d1:pending:visual","mission_step_id":"2f4d91c7-80ac-45cc-9384-b6fe978fa5f9","command_center_event_id":"16f68625-e357-4dff-803b-596a61b79c32"},{"id":"bcba9fd7-f212-4034-95e2-ff67f1d6e2e7","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"99e2fcbb1c10242aac39adc4af7b4dc45a712a6e","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repo-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"10aed35e66ab95af0a5c2b0ca13de80ff0dc83af","prNumber":2903,"gateRunId":8756,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/8756/jobs/1","mergeCommitSha":"99e2fcbb1c10242aac39adc4af7b4dc45a712a6e"}],"requestContractHash":"674c056d1652d37925ffaf08f91e1bf001951beca249f4026bfcbb2c63093a42","namedGateEvidenceReceiptVersion":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T14:30:02.821963+00:00","proof_gate":"request_contract_repository_verified","source_sha":"99e2fcbb1c10242aac39adc4af7b4dc45a712a6e","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:25776a3e-f543-4fb8-921f-4747b7def5a8:request-contract-repository:674c056d1652d37925ffaf08f91e1bf001951beca249f4026bfcbb2c63093a42:99e2fcbb1c10242aac39adc4af7b4dc45a712a6e","mission_step_id":"200ec4fd-9140-4040-a6c3-bcaf78c6bd3c","command_center_event_id":"25776a3e-f543-4fb8-921f-4747b7def5a8"},{"id":"bcbab47e-54dc-44ed-bcb3-c8192128c354","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":3373,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":8051,"firstUsefulResultAt":"2026-10-05T23:13:08.790Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.6-guarded-stale-manual-pr-retirement","prNumber":5086,"terminal":false,"missionId":"30ca44fc-d45d-46aa-ba5f-faee585fffa3","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4112,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":4000,"approvedPlanMs":0,"missionSetupMs":418,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":307,"ledgerReconcileMs":0,"lineageReconcileMs":111,"resolvePreflightMs":418,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":307,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"30ca44fc-d45d-46aa-ba5f-faee585fffa3"},"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":1691,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:13:08.853614+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"5086","receipt_type":"execute_mission","idempotency_key":"mission:30ca44fc-d45d-46aa-ba5f-faee585fffa3:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"455adda5-13b4-4d47-8a16-2ec8b755d0d5","command_center_event_id":"30ca44fc-d45d-46aa-ba5f-faee585fffa3"},{"id":"bcbae4d0-1cdb-48a3-b73c-a818b653ec3d","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"runtime\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-23T15:19:19.724293+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-bc17ba05a9c9\",\"prNumber\":3509,\"sourceSha\":\"408a8cb75e551aba18ad4a867c877197ca7fbc2b\",\"deploymentId\":\"forgejo-main-408a8cb75e55\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T11:24:27.925565+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:bc17ba05-a9c9-4da0-851b-bb322456939b:owner-progress-heartbeat:119344177","mission_step_id":"fae9f6c0-d7ac-42c3-92a6-449e5aad0d84","command_center_event_id":"bc17ba05-a9c9-4da0-851b-bb322456939b"},{"id":"bcbf947d-1fd2-4d2f-98ac-e97cc97d7372","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/settings-pages-platform-wide-20260915","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.151-mission-create-single-rpc","prNumber":2825,"terminal":false,"missionId":"f9ffa3f9-0fb2-4fb0-b544-1f8f1af33d8d","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"704a0033b5a4087399226ec8ce6c7ef7177ec7f0","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8567,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":829,"approvedPlanMs":0,"missionSetupMs":5623,"providerAuthMs":0,"shipAndProveMs":7126,"ledgerPrepareMs":5623,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":5623,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":5623,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f9ffa3f9-0fb2-4fb0-b544-1f8f1af33d8d"},"performance":null,"deploymentId":"forgejo-main-704a0033b5a4","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2632,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T14:58:47.418839+00:00","proof_gate":"canonical_release_dispatched","source_sha":"704a0033b5a4087399226ec8ce6c7ef7177ec7f0","external_id":"forgejo-main-704a0033b5a4","receipt_type":"execute_mission","idempotency_key":"mission:f9ffa3f9-0fb2-4fb0-b544-1f8f1af33d8d:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"40d7c222-d9bf-4146-84e9-d027a92e6023","command_center_event_id":"f9ffa3f9-0fb2-4fb0-b544-1f8f1af33d8d"},{"id":"bcc071bc-e4a6-466e-9b63-000e5695b849","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"158e9e203106dc2be6bab8734bb1c2b09af274d1","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Transform GodMode Console into PAUL's calm daily-driver surface. On /admin/console remove always-visible infrastructure/provider chips and Lab mode/action controls; expose one compact Lab entry plus Sessions and New chat. Keep Repo/Forgejo/Cloudflare/Supabase and Explore/Test/Investigate/Create plus Observe/Interact/Act controls available inside /admin/lab only. Hide progress-message cards and 'Why this action?' internals from normal chat while retaining them in Lab/debug context. Replace the large persistent GodMode sidebar on /admin/console and /admin/lab with a compact header back-to-GodMode control so the Console/Lab get the full working canvas while preserving an obvious escape path and owner avatar. Avoid persistent 'Lab closed' chrome. Keep active work in the compact active-work strip and avoid a duplicate long-running 'KNOCKLAUNCH is working' transcript card when a real active job exists. Preserve Sessions, durable history, New chat, Stop, mic, send, account menu, Lab features, mobile behavior, and all execution safety. Add regression coverage. Ship via canonical PR -> Gate -> squash merge -> frontend release -> live proof. No visual Witness until after release; runtime/sou","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":"7001aa39a1f4782bdd253b49c3d06c3c49190d488b9fa58103aa07216af7e919","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":"7001aa39a1f4782bdd253b49c3d06c3c49190d488b9fa58103aa07216af7e919"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T04:19:26.323574+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"158e9e203106dc2be6bab8734bb1c2b09af274d1","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:07886df5-7668-4af4-b86d-5b220db8245e:request-contract:7001aa39a1f4782bdd253b49c3d06c3c49190d488b9fa58103aa07216af7e919:158e9e203106dc2be6bab8734bb1c2b09af274d1:verified:","mission_step_id":"f2b244ba-8979-451b-8d49-960f79991483","command_center_event_id":"07886df5-7668-4af4-b86d-5b220db8245e"},{"id":"bcc20f22-6016-4c46-9e1f-d0090d2c9558","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same owner-authorized bounded control-plane repair on PR 2390. Update the hard-safety regression guard to require the dedicated forgejo-provider pull-collection timeout authority instead of the shorter generic operator override, then pass Gate, squash merge, release cc-execution, verify queue and conductors live, and refreeze.","wordingChanged":false,"canonicalIntent":"Continue the same owner-authorized bounded control-plane repair on PR 2390. Update the hard-safety regression guard to require the dedicated forgejo-provider pull-collection timeout authority instead of the shorter generic operator override, then pass Gate, squash merge, release cc-execution, verify queue and conductors live, and refreeze.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Continue the same owner-authorized bounded control-plane repair on PR 2390. Update the hard-safety regression guard to require the dedicated forgejo-provider pull-collection timeout authority instead of the shorter generic operator override, then pass Gate, squash merge, release cc-execution, verify queue and conductors live, and refreeze.","proofConditionIds":["proof-production"]}],"objective":"Continue the same owner-authorized bounded control-plane repair on PR 2390. Update the hard-safety regression guard to require the dedicated forgejo-provider pull-collection timeout authority instead of the shorter generic operator override, then pass Gate, squash merge, release cc-execution, verify queue and conductors live, and refreeze.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Live cc-execution proves repaired Forgejo PR-list and conductor operation at the merged repair SHA with the control plane refrozen.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"838ea294f53dbc162431a097c8b871ae02961258a0311d41bb192996af4e14af","requestContractRevision":3,"previousRequestContractHash":"1f1f0e7d5d156ec3bec3f54e18de345ac15149afdd51444550d2880485e4d0be"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T14:17:32.225314+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:55a90305-ea60-4172-8b17-7d2eb9fb9d32:request-contract:838ea294f53dbc162431a097c8b871ae02961258a0311d41bb192996af4e14af","mission_step_id":"68bf7e86-53ab-4e65-944b-dd9983be333b","command_center_event_id":"55a90305-ea60-4172-8b17-7d2eb9fb9d32"},{"id":"bcc5bddf-fa2d-4a3e-a324-5bdf9749160f","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-3585dc83384a","writes":[],"patches":[],"version":1,"approved":true,"missionId":"3585dc83-384a-43cb-8a6d-6b76096e58d1","objective":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","sourceSha":"b132a570fe2b06924984c4920c85aab26745d89b","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/mission-ledger.js","new_content":"export function verifiedReleaseReceiptMatchesContract(receipt = {}, contractHashInput = \"\", options = {}) {\n  const currentContractHash = text(contractHashInput, 100);\n  if (!currentContractHash) return true;\n  const receiptContractHash = text(record(receipt?.payload).requestContractHash, 100);\n  if (!receiptContractHash) return options.allowUnboundExactSource === true;\n  return receiptContractHash === currentContractHash;\n}","old_content":"export function verifiedReleaseReceiptMatchesContract(receipt = {}, contractHashInput = \"\") {\n  const currentContractHash = text(contractHashInput, 100);\n  if (!currentContractHash) return true;\n  const receiptContractHash = text(record(receipt?.payload).requestContractHash, 100);\n  return Boolean(receiptContractHash) && receiptContractHash === currentContractHash;\n}"},{"path":"workers/cc-execution/src/mission-ledger.js","new_content":"    if (!verifiedReleaseReceiptMatchesContract(priorVerifiedRelease, currentContractHash, { allowUnboundExactSource: true })) {","old_content":"    if (!verifiedReleaseReceiptMatchesContract(priorVerifiedRelease, currentContractHash)) {"},{"path":"workers/cc-execution/src/mission-ledger.js","new_content":"  if (blocker && latestStatus === \"retryable\") return { action: \"retry_bounded_recovery\", lane: text(latestReceipt?.source, 120) || \"cc-execution\", reason: blocker, automationAllowed: true, ownerActionRequired: false };\n\n  const leaseActiveStatuses = new Set([\"ready\", \"running\", \"in_progress\", \"waiting\", \"queued\", \"requested\", \"retryable\"]);\n  const leaseStep = [...steps].reverse().find((step) => leaseActiveStatuses.has(text(step.status, 80).toLowerCase())) || null;\n  const leaseDeadlineAt = text(leaseStep?.deadlineAt || leaseStep?.deadline_at, 100);\n  const leaseDeadlineMs = leaseDeadlineAt ? Date.parse(leaseDeadlineAt) : Number.NaN;\n  if (leaseStep && Number.isFinite(leaseDeadlineMs) && Date.now() > leaseDeadlineMs) {\n    return { action: \"retry_bounded_recovery\", lane: text(leaseStep.lane, 120) || \"cc-execution\", reason: \"execution_lease_expired\", automationAllowed: true, ownerActionRequired: false };\n  }\n\n  const visualRequired = requestContractVisualProofRequired(context);","old_content":"  if (blocker && latestStatus === \"retryable\") return { action: \"retry_bounded_recovery\", lane: text(latestReceipt?.source, 120) || \"cc-execution\", reason: blocker, automationAllowed: true, ownerActionRequired: false };\n\n  const visualRequired = requestContractVisualProofRequired(context);"},{"path":"workers/cc-execution/src/mission-ledger.js","new_content":"  const checkpoint = { stateMachineVersion: 1, phase: text(mission.phase, 120) || \"in_progress\", ownerFacingState: mission.terminal === true ? terminalOwnerFacingMissionState({ ...mission, context }) : text(mission.ownerFacingState, 80) || null, latest, activeStep: activeStep ? { key: text(activeStep.key, 120), status: text(activeStep.status, 80), lane: text(activeStep.lane, 120) || null } : null, nextStep: nextStep ? { key: text(nextStep.key, 120), status: text(nextStep.status, 80), lane: text(nextStep.lane, 120) || null } : null, nextSafeAction, executionOwnership: { ...executionOwnership, capability: nextSafeAction.capability || null, resumeFromCheckpoint: nextSafeAction.resumeFromCheckpoint || null, handoff: nextSafeAction.handoff || null }, executionLease: { ownerLane: executionLane, expiresAt: text(activeStep?.deadlineAt || activeStep?.deadline_at, 100) || null, expired: stall.stalled === true, takeoverAllowed: stall.stalled === true && nextSafeAction.automationAllowed === true && nextSafeAction.ownerActionRequired !== true }, acceptance, stall, blocker, terminal: mission.terminal === true };","old_content":"  const checkpoint = { stateMachineVersion: 1, phase: text(mission.phase, 120) || \"in_progress\", ownerFacingState: mission.terminal === true ? terminalOwnerFacingMissionState({ ...mission, context }) : text(mission.ownerFacingState, 80) || null, latest, activeStep: activeStep ? { key: text(activeStep.key, 120), status: text(activeStep.status, 80), lane: text(activeStep.lane, 120) || null } : null, nextStep: nextStep ? { key: text(nextStep.key, 120), status: text(nextStep.status, 80), lane: text(nextStep.lane, 120) || null } : null, nextSafeAction, executionOwnership: { ...executionOwnership, capability: nextSafeAction.capability || null, resumeFromCheckpoint: nextSafeAction.resumeFromCheckpoint || null, handoff: nextSafeAction.handoff || null }, acceptance, stall, blocker, terminal: mission.terminal === true };"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","new_content":"test(\"verified release receipts bind unbound exact-source legacy proof once but reject conflicting hashes\", () => {\n  const receipt = { payload: { requestContractHash: \"contract-a\" } };\n  assert.equal(verifiedReleaseReceiptMatchesContract(receipt, \"contract-a\"), true);\n  assert.equal(verifiedReleaseReceiptMatchesContract(receipt, \"contract-b\"), false);\n  assert.equal(verifiedReleaseReceiptMatchesContract({}, \"contract-b\"), false);\n  assert.equal(verifiedReleaseReceiptMatchesContract({}, \"contract-b\", { allowUnboundExactSource: true }), true);\n});","old_content":"test(\"verified release receipts are immutable across request-contract hashes\", () => {\n  const receipt = { payload: { requestContractHash: \"contract-a\" } };\n  assert.equal(verifiedReleaseReceiptMatchesContract(receipt, \"contract-a\"), true);\n  assert.equal(verifiedReleaseReceiptMatchesContract(receipt, \"contract-b\"), false);\n  assert.equal(verifiedReleaseReceiptMatchesContract({}, \"contract-b\"), false);\n});"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","new_content":"  assert.deepEqual(ownerMissionStallState(mission, Date.parse(\"2026-09-20T15:00:01Z\")), { stalled: true, reason: \"step_deadline_exceeded\", step: \"release\", deadlineAt: \"2026-09-20T15:00:00Z\", recoveryAction: \"retry_bounded_recovery\" });\n  const expiredLeaseMission = { ...mission, stepSummary: [{ key: \"release\", status: \"waiting\", lane: \"production-release-conductor\", deadlineAt: \"2000-01-01T00:00:00Z\" }] };\n  assert.deepEqual(ownerMissionNextSafeAction(expiredLeaseMission), { action: \"retry_bounded_recovery\", lane: \"production-release-conductor\", reason: \"execution_lease_expired\", automationAllowed: true, ownerActionRequired: false });\n  assert.equal(ownerMissionCheckpoint(expiredLeaseMission).executionLease.expired, true);\n  assert.equal(ownerMissionCheckpoint(expiredLeaseMission).executionLease.takeoverAllowed, true);","old_content":"  assert.deepEqual(ownerMissionStallState(mission, Date.parse(\"2026-09-20T15:00:01Z\")), { stalled: true, reason: \"step_deadline_exceeded\", step: \"release\", deadlineAt: \"2026-09-20T15:00:00Z\", recoveryAction: \"reconcile_release\" });"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.67.0-stopless-self-heal\";","old_content":"export const CC_EXECUTION_VERSION = \"1.66.0-stopless-capability-routing\";"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":false,"objective":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","proofKinds":[],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","wordingChanged":false,"canonicalIntent":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","constraints":[{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"3585dc83-384a-43cb-8a6d-6b76096e58d1","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":{"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":false,"objective":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","proofKinds":[],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","wordingChanged":false,"canonicalIntent":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","constraints":[{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"Implement Stopless Execution outcome 2: safely bind an exact-source legacy verified release receipt with no prior request-contract hash, continue rejecting non-empty conflicting hashes, and make expired mission-step leases deterministically return bounded automatic recovery without resetting verified checkpoints. Add regression tests and bump cc-execution version; ship to live and prove the previously stuck outcome-1 mission self-heals.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"e9832865cbfd707f5118df59309e0d971692c66c41e9fee872b7bf24b2e61f1c","replayCount":0,"serializedBytes":20079},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:41:51.3627+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:3585dc83-384a-43cb-8a6d-6b76096e58d1:repository-mutation-intent:e9832865cbfd707f5118df59309e0d971692c66c41e9fee872b7bf24b2e61f1c:0","mission_step_id":"fa0d2e4b-06fd-4947-a969-72c80d61a0dc","command_center_event_id":"3585dc83-384a-43cb-8a6d-6b76096e58d1"},{"id":"bcc5cf02-f27f-44ce-ac76-4dca74af309a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-8face4c243b3","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":64729,"releaseCount":0,"toolCallCount":38,"repeatedCallCount":31,"executorlessWaitMs":494626,"firstUsefulResultAt":"2026-10-03T12:35:01.667Z","recoveryAttemptCount":30,"ownerInterruptionCount":0},"version":null,"prNumber":4629,"terminal":false,"missionId":"8face4c2-43b3-407d-aae8-c5976a49bd6f","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":4000,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"8face4c2-43b3-407d-aae8-c5976a49bd6f"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1006,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T12:40:15.524024+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"4629","receipt_type":"automatic_mission_resume","idempotency_key":"mission:8face4c2-43b3-407d-aae8-c5976a49bd6f:automatic-mission-resume:4629:repair_mission_waiting_for_gate","mission_step_id":"75ae7c3a-0a78-4e11-ab60-13cc0207d5fd","command_center_event_id":"8face4c2-43b3-407d-aae8-c5976a49bd6f"},{"id":"bcc8a543-cbd5-4812-bf1e-866ef1e0f029","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0345759c13bf","reason":"pull_request_not_merge_eligible:forgejo_host_capacity_non_admissible:{\"capacityAdmission\":{\"admissible\":false,\"degraded\":false,\"reason\":\"host_disruptive_command_in_progress\",\"ageMs\":null,\"hostCommandAction\":\"forgejo_recover\",\"hostCommandStatus\":\"leased\"},\"retryable\":true,\"mergeAttempted\":false}","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.140-known-run-branch-aliases","prNumber":2680,"terminal":false,"missionId":"0345759c-13bf-45d7-813f-022c515f103c","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":995,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":407,"approvedPlanMs":0,"missionSetupMs":482,"providerAuthMs":0,"shipAndProveMs":393,"ledgerPrepareMs":257,"ledgerReconcileMs":0,"lineageReconcileMs":225,"resolvePreflightMs":482,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":257,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0345759c-13bf-45d7-813f-022c515f103c"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1684,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T20:26:43.095082+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"2680","receipt_type":"execute_mission","idempotency_key":"mission:0345759c-13bf-45d7-813f-022c515f103c:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"84419d00-5daf-4ec5-bddd-d783ab5f478d","command_center_event_id":"0345759c-13bf-45d7-813f-022c515f103c"},{"id":"bcd0270b-fbea-4d34-951f-64817271047e","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same authorized control-plane release-latency mission from its already-written branch. Prove the existing workflow/config/test desired state without rewriting it, add only the required cc-execution version marker, then create the one PR, pass KnockLaunch Gate, squash merge, release affected owners, and prove the shortened artifact-only frontend path plus refrozen state.","wordingChanged":false,"canonicalIntent":"Continue the same authorized control-plane release-latency mission from its already-written branch. Prove the existing workflow/config/test desired state without rewriting it, add only the required cc-execution version marker, then create the one PR, pass KnockLaunch Gate, squash merge, release affected owners, and prove the shortened artifact-only frontend path plus refrozen state.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-fast-release","statement":"The artifact-only frontend release no longer prefetches remote dependency-cache actions and no longer applies a compilation-memory guard to paul-light.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-refreeze","statement":"The control plane is refrozen after the latency repair.","proofConditionIds":["proof-repository"]}],"objective":"Continue the same authorized control-plane release-latency mission from its already-written branch. Prove the existing workflow/config/test desired state without rewriting it, add only the required cc-execution version marker, then create the one PR, pass KnockLaunch Gate, squash merge, release affected owners, and prove the shortened artifact-only frontend path plus refrozen state.","constraints":[{"id":"constraint-gate-build-owner","statement":"Gate remains the only production frontend build owner; release remains fail-closed on exact Gate artifact provenance.","proofConditionIds":["proof-repository","proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Current protected main contains the artifact-only release workflow with no release-frontend actions/cache references, a paul-light artifact-promotion capacity guard, and controlPlaneFrozen true at version 1.58.16-fast-artifact-release-refreeze.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-runtime","kind":"runtime","claim":"The protected-main frontend production release completes using the exact Gate artifact without the stale 3584 MiB capacity failure and the affected Command Center runtime converges to the merged source SHA.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"e54b96af1b10e31b1543e76e6e1adeaacd63567d83223b06951d77c28c143ced","requestContractRevision":5,"previousRequestContractHash":"dc739a452ca747954c6d5ee055439c2092599b351d985026a600027e3b957858"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T00:57:08.184206+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:eb94c2f8-32c7-4085-a2e2-18f066c6240f:request-contract-revision:5:e54b96af1b10e31b1543e76e6e1adeaacd63567d83223b06951d77c28c143ced","mission_step_id":"e637e4ee-79f1-4871-892a-800b3ff49882","command_center_event_id":"eb94c2f8-32c7-4085-a2e2-18f066c6240f"},{"id":"bcd25405-20f3-4572-9a6c-f266a5faed9e","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-2a4864e85503","writes":[],"patches":[],"approved":true,"missionId":"2a4864e8-5503-4795-bc35-3fc0a2428e4a","objective":"Apply the exact terminal-step owner projection repair on current main after refresh. Preserve raw ledger history, project terminal accepted lifecycle status, add regression coverage, bump runtime identity, and ship ccExecution only.","sourceSha":"0c4fdc3b653d6ccf3fb8b437a37a6ff1f3fe30e3","repository":"noel/KnockLaunchOS","autoProgress":true,"ownerApproved":true,"anchored_edits":[{"path":"workers/cc-execution/src/mission-ledger.js","edits":[{"new_content":"export function ownerFacingMissionStepSummary(mission = {}) {\n  const steps = (Array.isArray(mission.stepSummary) ? mission.stepSummary : []).map((step) => ({ ...record(step) }));\n  if (mission.terminal !== true) return steps;\n  const acceptance = ownerMissionAcceptanceProgress(mission);\n  if (!acceptance.satisfied) return steps;\n  const context = record(mission.context);\n  const hasMergedSource = Boolean(text(mission.sourceSha || context.sourceSha, 100));\n  const releaseVerified = text(context.releaseState, 80).toLowerCase() === \"verified\";\n  const visualRequired = requestContractVisualProofRequired(context);\n  const contractProof = record(context.requestContractProof);\n  const visualVerified = context.verificationState === \"verified\" || contractProof.visualSatisfied === true;\n  return steps.map((step) => {\n    const key = text(step.key, 120).toLowerCase();\n    const historicalStatus = text(step.status, 80) || null;\n    let status = historicalStatus;\n    if (key === \"preflight\") status = \"verified\";\n    else if (key === \"implementation\" && hasMergedSource) status = \"verified\";\n    else if (key === \"pull_request\" && hasMergedSource) status = \"verified\";\n    else if (key === \"release\" && releaseVerified) status = \"verified\";\n    else if (key === \"runtime_proof\") status = \"verified\";\n    else if (key === \"visual_proof\") status = visualRequired ? (visualVerified ? \"verified\" : historicalStatus) : \"skipped\";\n    if (status === historicalStatus) return step;\n    return { ...step, status, historicalStatus, statusProjection: \"terminal_acceptance_verified\" };\n  });\n}\n\nexport function ownerMissionStallState(mission = {}, nowMs = Date.now()) {","old_content":"export function ownerMissionStallState(mission = {}, nowMs = Date.now()) {"}]},{"path":"workers/cc-execution/src/index-mission-control.js","edits":[{"new_content":"import { OWNER_PROGRESS_RECENT_LIMIT, OWNER_PROGRESS_SILENCE_BUDGET_MS, appendMissionReceipt, ensureMission, listActiveMissions, namedGateTestRequirement, ownerFacingMissionStepSummary, ownerMissionCheckpoint, ownerMissionNextSafeAction, ownerMissionProgressState, readMission, synchronizeRelease } from \"./mission-ledger.js\";","old_content":"import { OWNER_PROGRESS_RECENT_LIMIT, OWNER_PROGRESS_SILENCE_BUDGET_MS, appendMissionReceipt, ensureMission, listActiveMissions, namedGateTestRequirement, ownerMissionCheckpoint, ownerMissionNextSafeAction, ownerMissionProgressState, readMission, synchronizeRelease } from \"./mission-ledger.js\";"},{"new_content":"    const detailed = await readMission(env, missionId, true);\n    if (detailed.ok) return json({\n      ...detailed.data,\n      stepSummary: ownerFacingMissionStepSummary(detailed.data),\n      ownerFacingState: ownerFacingMissionState(detailed.data),","old_content":"    const detailed = await readMission(env, missionId, true);\n    if (detailed.ok) return json({\n      ...detailed.data,\n      ownerFacingState: ownerFacingMissionState(detailed.data),"},{"new_content":"    if (reconciled?.terminal === true) return json({\n      ...reconciled,\n      stepSummary: ownerFacingMissionStepSummary(reconciled),\n      ownerFacingState: ownerFacingMissionState(reconciled),\n      ownerCheckpoint: ownerMissionCheckpoint(reconciled),","old_content":"    if (reconciled?.terminal === true) return json({\n      ...reconciled,\n      ownerFacingState: ownerFacingMissionState(reconciled),\n      ownerCheckpoint: ownerMissionCheckpoint(reconciled),"},{"new_content":"    return json({ ...reconciled, stepSummary: ownerFacingMissionStepSummary(reconciled), ownerFacingState: ownerFacingMissionState(reconciled), ownerCheckpoint: ownerMissionCheckpoint(reconciled), ...ownerMissionProgressProjection(reconciled), reconciliationWarning: reconciliationWarning || {","old_content":"    return json({ ...reconciled, ownerFacingState: ownerFacingMissionState(reconciled), ownerCheckpoint: ownerMissionCheckpoint(reconciled), ...ownerMissionProgressProjection(reconciled), reconciliationWarning: reconciliationWarning || {"},{"new_content":"  if (reconciled.terminal === true) {\n    return json({\n      ...reconciled,\n      stepSummary: ownerFacingMissionStepSummary(reconciled),\n      ownerFacingState: ownerFacingMissionState(reconciled),","old_content":"  if (reconciled.terminal === true) {\n    return json({\n      ...reconciled,\n      ownerFacingState: ownerFacingMissionState(reconciled),"},{"new_content":"  return json({ ...reconciled, stepSummary: ownerFacingMissionStepSummary(reconciled), ownerFacingState: ownerFacingMissionState(reconciled), ownerCheckpoint: ownerMissionCheckpoint(reconciled), ownerWaitSloMs: ownerWaitSloMs(reconciled), ...ownerMissionProgressProjection(reconciled) }, 202);","old_content":"  return json({ ...reconciled, ownerFacingState: ownerFacingMissionState(reconciled), ownerCheckpoint: ownerMissionCheckpoint(reconciled), ownerWaitSloMs: ownerWaitSloMs(reconciled), ...ownerMissionProgressProjection(reconciled) }, 202);"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.58.220-terminal-step-projection\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.219-contract-release-target-forwarding\";"}]},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","edits":[{"new_content":"import { appendMissionReceipt, durableMissionKey, ensureMission, namedGateTestRequirement, ownerFacingMissionStepSummary, ownerMissionAcceptanceProgress, ownerMissionCheckpoint, ownerMissionNextSafeAction, ownerMissionStallState, readMission, requestContractProofState, requestContractVisualProofRequired, selectVerifiedRepositoryReceipt, verifiedReleaseReceiptMatchesContract } from \"../src/mission-ledger.js\";","old_content":"import { appendMissionReceipt, durableMissionKey, ensureMission, namedGateTestRequirement, ownerMissionAcceptanceProgress, ownerMissionCheckpoint, ownerMissionNextSafeAction, ownerMissionStallState, readMission, requestContractProofState, requestContractVisualProofRequired, selectVerifiedRepositoryReceipt, verifiedReleaseReceiptMatchesContract } from \"../src/mission-ledger.js\";"},{"new_content":"test(\"terminal accepted missions project superseded failures without rewriting raw history\", () => {\n  const mission = {\n    terminal: true,\n    sourceSha: \"0c4fdc3b653d6ccf3fb8b437a37a6ff1f3fe30e3\",\n    stepSummary: [\n      { key: \"preflight\", status: \"verified\" },\n      { key: \"implementation\", status: \"failed\" },\n      { key: \"pull_request\", status: \"skipped\" },\n      { key: \"release\", status: \"skipped\" },\n      { key: \"runtime_proof\", status: \"verified\" },\n      { key: \"visual_proof\", status: \"skipped\" },\n    ],\n    context: {\n      releaseState: \"verified\",\n      requestContract: { version: 1, proofConditions: [{ id: \"repo-proof\", required: true, kind: \"repository\" }] },\n      requestContractProof: { conditionResults: [{ id: \"repo-proof\", satisfied: true }], visualSatisfied: true },\n    },\n  };\n  const projected = ownerFacingMissionStepSummary(mission);\n  assert.equal(projected.find((step) => step.key === \"implementation\").status, \"verified\");\n  assert.equal(projected.find((step) => step.key === \"implementation\").historicalStatus, \"failed\");\n  assert.equal(projected.find((step) => step.key === \"pull_request\").status, \"verified\");\n  assert.equal(projected.find((step) => step.key === \"release\").status, \"verified\");\n  assert.equal(projected.find((step) => step.key === \"visual_proof\").status, \"skipped\");\n  assert.equal(mission.stepSummary.find((step) => step.key === \"implementation\").status, \"failed\");\n});\n\ntest(\"corrective release generations carry every still-unverified target forward\", () => {","old_content":"test(\"corrective release generations carry every still-unverified target forward\", () => {"}]}],"implementation":{"files":[],"writes":[]},"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"controlPlaneMaintenanceReason":"Routine main refresh for same bounded authorized repair."},"recovery":false,"fingerprint":"da270a13b5effc37bfad86279b7c16fbc6bc663978e3bfcb9f0da27b70b923c4","replayCount":0,"serializedBytes":9032},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:36:42.404128+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:2a4864e8-5503-4795-bc35-3fc0a2428e4a:repository-mutation-intent:da270a13b5effc37bfad86279b7c16fbc6bc663978e3bfcb9f0da27b70b923c4:0","mission_step_id":"ef95b907-b698-49f6-85c1-dc495efdbd98","command_center_event_id":"2a4864e8-5503-4795-bc35-3fc0a2428e4a"},{"id":"bcd562d7-e4db-4f0f-b29f-8f5e3e502244","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-e2ea0ccb3f6b","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e2ea0ccb-3f6b-4597-a92c-a86b964d2b7c","objective":"Harden forgejo_pr_close so one exact legacy refs/pull/<PR>/head can be retired only with explicit guarded authorization.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mcp.js","edits":[{"new_content":"    \"Close one exact eligible Forgejo ai/* pull request without merging it or deleting its branch. An exact legacy refs/pull/<PR>/head may also be retired only with the guarded legacy override, expected head SHA, and explicit reason. The current PR identity is read back and verified after the close.\",","old_content":"    \"Close one exact eligible Forgejo ai/* pull request without merging it or deleting its branch. The current PR identity is read back and verified after the close.\","},{"new_content":"        expectedHeadSha: { type: \"string\", pattern: \"^[0-9a-fA-F]{40}$\", description: \"Optional exact current PR head SHA guard. Required when allowLegacyPullRef is true.\" },\n        allowLegacyPullRef: { type: \"boolean\", default: false, description: \"Allow closing only the exact same-repository refs/pull/<prNumber>/head legacy pull ref when expectedHeadSha and reason are both provided.\" },\n        reason: { type: \"string\", maxLength: 240, description: \"Optional owner-facing retirement reason recorded in the receipt. Required when allowLegacyPullRef is true.\" },","old_content":"        expectedHeadSha: { type: \"string\", pattern: \"^[0-9a-fA-F]{40}$\", description: \"Optional exact current PR head SHA guard.\" },\n        reason: { type: \"string\", maxLength: 240, description: \"Optional owner-facing retirement reason recorded in the receipt.\" },"},{"new_content":"    const closeReason = String(body.reason || \"\").trim().slice(0, 240) || null;\n    const allowLegacyPullRef = body.allowLegacyPullRef === true;\n    if (allowLegacyPullRef && (!expectedHeadSha || !closeReason)) {\n      return json({ ok: false, status: \"blocked\", proofGate: \"forgejo_pr_close_blocked\", reason: \"legacy_pull_ref_requires_expected_head_sha_and_reason\", repository, prNumber }, 400);\n    }\n    const initialRead = await forgejoOperatorGetJson(`${apiBase}/pulls/${prNumber}`, headers);","old_content":"    const closeReason = String(body.reason || \"\").trim().slice(0, 240) || null;\n    const initialRead = await forgejoOperatorGetJson(`${apiBase}/pulls/${prNumber}`, headers);"},{"new_content":"    const exactLegacyPullRef = allowLegacyPullRef\n      && closeHeadBranch === `refs/pull/${prNumber}/head`\n      && expectedHeadSha === closeHeadSha\n      && Boolean(closeReason);\n    const eligibleIdentity = (isValidAiBranch(closeHeadBranch) || exactLegacyPullRef)\n      && closeBaseBranch === \"main\"\n      && closeHeadRepository.toLowerCase() === repository.toLowerCase()\n      && /^[0-9a-f]{40}$/i.test(closeHeadSha);","old_content":"    const eligibleIdentity = isValidAiBranch(closeHeadBranch)\n      && closeBaseBranch === \"main\"\n      && closeHeadRepository.toLowerCase() === repository.toLowerCase()\n      && /^[0-9a-f]{40}$/i.test(closeHeadSha);"},{"new_content":"      return json({ ok: false, status: \"blocked\", proofGate: \"forgejo_pr_close_blocked\", reason: \"eligible_same_repository_ai_or_exact_guarded_legacy_pull_request_to_main_required\", repository, prNumber, headBranch: closeHeadBranch || null, headSha: closeHeadSha || null, baseBranch: closeBaseBranch || null, headRepository: closeHeadRepository || null }, 409);","old_content":"      return json({ ok: false, status: \"blocked\", proofGate: \"forgejo_pr_close_blocked\", reason: \"eligible_same_repository_ai_pull_request_to_main_required\", repository, prNumber, headBranch: closeHeadBranch || null, headSha: closeHeadSha || null, baseBranch: closeBaseBranch || null, headRepository: closeHeadRepository || null }, 409);"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.64.48-guarded-legacy-pr-retirement\";","old_content":"export const CC_EXECUTION_VERSION = \"1.64.47-paul-owner-answer-quality\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"outcomes":[{"id":"legacy-close","statement":"The close helper can retire only the exact same-repository refs/pull/<prNumber>/head targeting main when allowLegacyPullRef=true, expectedHeadSha matches, and a reason is supplied.","proofConditionIds":["runtime"]},{"id":"default-safe","statement":"Default close behavior remains ai/*-only and existing read-back verification remains unchanged.","proofConditionIds":["runtime"]}],"objective":"Harden forgejo_pr_close so one exact legacy refs/pull/<PR>/head can be retired only with explicit guarded authorization.","constraints":[{"id":"bounded","statement":"Only workers/cc-execution/src/index-mcp.js and workers/cc-execution/src/version.js may change.","proofConditionIds":["runtime"]},{"id":"no-arbitrary","statement":"Arbitrary non-ai branches, forks, merged PRs, missing SHA guards, and unreasoned legacy closes remain blocked.","proofConditionIds":["runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime","kind":"runtime","claim":"The guarded legacy PR retirement helper is deployed in cc-execution.","required":true,"allowedReleaseTargets":["cc-execution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js"],"requestContract":{"outcomes":[{"id":"legacy-close","statement":"The close helper can retire only the exact same-repository refs/pull/<prNumber>/head targeting main when allowLegacyPullRef=true, expectedHeadSha matches, and a reason is supplied.","proofConditionIds":["runtime"]},{"id":"default-safe","statement":"Default close behavior remains ai/*-only and existing read-back verification remains unchanged.","proofConditionIds":["runtime"]}],"objective":"Harden forgejo_pr_close so one exact legacy refs/pull/<PR>/head can be retired only with explicit guarded authorization.","constraints":[{"id":"bounded","statement":"Only workers/cc-execution/src/index-mcp.js and workers/cc-execution/src/version.js may change.","proofConditionIds":["runtime"]},{"id":"no-arbitrary","statement":"Arbitrary non-ai branches, forks, merged PRs, missing SHA guards, and unreasoned legacy closes remain blocked.","proofConditionIds":["runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime","kind":"runtime","claim":"The guarded legacy PR retirement helper is deployed in cc-execution.","required":true,"allowedReleaseTargets":["cc-execution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner-authorized cleanup of conflicted legacy PR #4410 after its needed Tennex behavior was reimplemented cleanly on current main."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner-authorized cleanup of conflicted legacy PR #4410 after its needed Tennex behavior was reimplemented cleanly on current main."},"recovery":false,"fingerprint":"e6f0b3db944371e1a3a89482c959b262a57bed7115af3e0c154008ab8755b7f9","replayCount":0,"serializedBytes":7828},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T12:09:53.098828+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e2ea0ccb-3f6b-4597-a92c-a86b964d2b7c:repository-mutation-intent:e6f0b3db944371e1a3a89482c959b262a57bed7115af3e0c154008ab8755b7f9:0","mission_step_id":"b22f8058-abdd-4ad3-90c2-e2d1642d2c2e","command_center_event_id":"e2ea0ccb-3f6b-4597-a92c-a86b964d2b7c"},{"id":"bcd60ef4-e309-4155-b061-e74de1c18da8","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/gate-intent-live-proof-20260904","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.44-gate-intent-service-proof-refreeze","prNumber":1694,"terminal":false,"missionId":"bdd667fd-392f-40c0-9cab-2ba8953bdad5","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"f0825e12579ca9936b07d39dbdc7fda38fa7bde1","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1231,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":238,"approvedPlanMs":0,"missionSetupMs":432,"providerAuthMs":0,"shipAndProveMs":826,"ledgerPrepareMs":432,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":432,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":432,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"bdd667fd-392f-40c0-9cab-2ba8953bdad5"},"performance":null,"deploymentId":"forgejo-main-f0825e12579c","workflowRunId":5180,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2308,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T13:23:51.896926+00:00","proof_gate":"canonical_release_dispatched","source_sha":"f0825e12579ca9936b07d39dbdc7fda38fa7bde1","external_id":"forgejo-main-f0825e12579c","receipt_type":"execute_mission","idempotency_key":"mission:bdd667fd-392f-40c0-9cab-2ba8953bdad5:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"13c97883-b622-4bf4-a7f0-59ff02f8a676","command_center_event_id":"bdd667fd-392f-40c0-9cab-2ba8953bdad5"},{"id":"bcd84180-e289-4b8e-9dda-94b36ab863dd","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"success","render-onrunner/runtime-proof":"pending"},"mainSha":"878aef8605caa08441a266301fbfa0fa4f2ef953","missing":[],"pending":["forgejo-release/workflow","render-onrunner/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","render-onrunner/runtime-proof"],"sourceSha":"878aef8605caa08441a266301fbfa0fa4f2ef953","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"pending","ccExecution":"success"},"requestContractHash":"1a250741c6c93f6c1b581bbda8613689a0b37ae47965eb89d23a8256aacf88c6","forgejoWorkflowProof":{"runId":11745,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"onrunner":"pending","ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"onrunner":"pending","ccExecution":"success"}},"onrunnerRuntimeProof":{"reason":"render_onrunner_source_mismatch","hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":false,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"1ee63523f6af6189a38f0ebdcad69f2e1d4f1922","runnerVersion":"onrunner-1ee63523f6af","expectedSourceSha":"878aef8605caa08441a266301fbfa0fa4f2ef953"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"878aef8605caa08441a266301fbfa0fa4f2ef953","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-878aef8605caa08441a266301fbfa0fa4f2ef953","compareStatus":"target_job_success_runtime_verified","workflowRunId":11745,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.278-onrunner-live-proof-monotonic","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T12:10:44.729211+00:00","proof_gate":"canonical_release_pending","source_sha":"878aef8605caa08441a266301fbfa0fa4f2ef953","external_id":"forgejo-main-878aef8605ca","receipt_type":"canonical_release_status","idempotency_key":"mission:5175d2ab-4530-4851-901e-ced9f7e27c06:forgejo-release-status:878aef8605caa08441a266301fbfa0fa4f2ef953:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=success|render-onrunner/runtime-proof=pending","mission_step_id":"e2115a97-6e48-495d-8559-e74f4e0fa5cd","command_center_event_id":"5175d2ab-4530-4851-901e-ced9f7e27c06"},{"id":"bcd8fa46-a663-4cc9-bac9-56c132a2cf62","source":"cc-execution","status":"recorded","payload":{"objective":"Add one idempotent Supabase migration only for Redfish demo readiness. Seed a representative insurance claim for existing synthetic insurance contact 03f3c255-cd5b-470e-81ab-27ad7195074a and a sent retail invoice for existing synthetic retail contact f383cefb-b208-47f5-9860-29f98cfd4dbb. Derive homeowner display/address fields from unified_contacts. Do not alter schema, RLS, auth, frontend, or other tenants. Gate, squash merge, release migrations only, then verify live claim/invoice rows and unchanged roofing ops count.","tenantRef":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","receivedAt":"2026-09-01T10:57:05.530Z","fingerprint":"7425226d7a22e19f7fb263c4ba1361632266caba9d0584e760056bdac825302c","workstreamRef":"de8369b6a78f40bbae1f28ffca62bc7e","conversationId":null,"canonicalBranch":"ai/redfish-demo-financial-data-20260901","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Add one idempotent Supabase migration only for Redfish demo readiness. Seed a representative insurance claim for existing synthetic insurance contact 03f3c255-cd5b-470e-81ab-27ad7195074a and a sent retail invoice for existing synthetic retail contact f383cefb-b208-47f5-9860-29f98cfd4dbb. Derive homeowner display/address fields from unified_contacts. Do not alter schema, RLS, auth, frontend, or other tenants. Gate, squash merge, release migrations only, then verify live claim/invoice rows and unchanged roofing ops count.","wordingChanged":false,"canonicalIntent":"Add one idempotent Supabase migration only for Redfish demo readiness. Seed a representative insurance claim for existing synthetic insurance contact 03f3c255-cd5b-470e-81ab-27ad7195074a and a sent retail invoice for existing synthetic retail contact f383cefb-b208-47f5-9860-29f98cfd4dbb. Derive homeowner display/address fields from unified_contacts. Do not alter schema, RLS, auth, frontend, or other tenants. Gate, squash merge, release migrations only, then verify live claim/invoice rows and unchanged roofing ops count.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"o1","statement":"Redfish has a representative tenant-scoped insurance claim with payout lifecycle data attached to the existing synthetic insurance demo contact.","proofConditionIds":["p1","p3"]},{"id":"o2","statement":"Redfish has a representative tenant-scoped retail receivable attached to the existing synthetic retail demo contact.","proofConditionIds":["p2","p3"]}],"objective":"Add one idempotent Supabase migration only for Redfish demo readiness. Seed a representative insurance claim for existing synthetic insurance contact 03f3c255-cd5b-470e-81ab-27ad7195074a and a sent retail invoice for existing synthetic retail contact f383cefb-b208-47f5-9860-29f98cfd4dbb. Derive homeowner display/address fields from unified_contacts. Do not alter schema, RLS, auth, frontend, or other tenants. Gate, squash merge, release migrations only, then verify live claim/invoice rows and unchanged roofing ops count.","constraints":[{"id":"c1","statement":"No schema/RLS/auth/frontend/non-Redfish changes; migration is idempotent and derives customer display fields from existing unified_contacts.","proofConditionIds":["p4"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"p1","kind":"runtime","claim":"After migration release, Redfish contact_claims has the target demo contact at claim_payment_status check_pending.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations"],"requiredReleaseTargets":["migrations"]},{"id":"p2","kind":"runtime","claim":"After migration release, Redfish settlement_invoices has the target sent retail invoice with remaining_balance 14140.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations"],"requiredReleaseTargets":["migrations"]},{"id":"p3","kind":"runtime","claim":"The three existing Redfish roofing_project_ops remain present after the migration.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations"],"requiredReleaseTargets":[]},{"id":"p4","kind":"repository","claim":"Diff contains only one idempotent Supabase migration and no schema/RLS/auth/frontend/non-Redfish mutation.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations"],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/redfish-demo-financial-data-20260901","conversationContext":null,"requestContractHash":"850ad3ec808328fb071b35df84ba0b976e04262b868906f31f15c4f7e3bbe386","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T10:57:06.244021+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:8dae55a5-fb8a-4a5e-93a9-5ad5ddb4d059:tenant-workstream-contribution:7425226d7a22e19f7fb263c4ba1361632266caba9d0584e760056bdac825302c","mission_step_id":null,"command_center_event_id":"8dae55a5-fb8a-4a5e-93a9-5ad5ddb4d059"},{"id":"bcda15b5-8f0e-491b-8670-3dc5f97b419f","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"11539631-8276-4b03-922e-82d486baaa65","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-311e342b31de","reason":null,"status":"pending","metrics":{"receiptBytes":0,"releaseCount":2,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2643,"terminal":false,"missionId":"311e342b-31de-41c4-a4e6-6d98d99fa523","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"47347a47fcad6bfa0b702c6972615ff5ef04f191","timingsMs":{"wake":155,"total":413,"submit":258,"wakeAttempts":1},"nextAction":"Poll inspect_route_status or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"311e342b-31de-41c4-a4e6-6d98d99fa523"},"performance":null,"deploymentId":"forgejo-main-47347a47fcad","workflowRunId":7801,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":649,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T15:54:15.410137+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"47347a47fcad6bfa0b702c6972615ff5ef04f191","external_id":"11539631-8276-4b03-922e-82d486baaa65","receipt_type":"visual_proof_started","idempotency_key":"mission:311e342b-31de-41c4-a4e6-6d98d99fa523:visual-start:11539631-8276-4b03-922e-82d486baaa65","mission_step_id":"3a314797-0944-4897-b1f1-ec2e2e1d47ea","command_center_event_id":"311e342b-31de-41c4-a4e6-6d98d99fa523"},{"id":"bcda6382-167a-4c61-a330-5e3f8fb4227a","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner-authorized request-scoped deterministic Gate repair on PR #2265; update stale timeout assertions to match the repaired bounded-read contract.","baseSha":"0d1aae2eb2e26a59ab3fdd6f893adebde51f080f","issuedAt":1789011488125,"expiresAt":1789011668125,"missionId":"344470af-9c65-40ff-822e-ef37b0698441","authorizationId":"b9bb551b-29dd-406b-a25b-4557864b8f8d","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T03:38:08.552863+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"0d1aae2eb2e26a59ab3fdd6f893adebde51f080f","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:b9bb551b-29dd-406b-a25b-4557864b8f8d","mission_step_id":"64a6c24c-6597-4da8-b4f3-5891cf17af5e","command_center_event_id":"344470af-9c65-40ff-822e-ef37b0698441"},{"id":"bcda86a2-8db8-481d-bbdf-faee15dc1f1e","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/curri-canonical-route-ownership-20260906","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":null,"terminal":false,"missionId":"7fa6019f-62eb-4b5d-bf39-2aa24cc42463","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":159,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1804,"providerAuthMs":0,"ledgerPrepareMs":889,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1804,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":889,"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":"7fa6019f-62eb-4b5d-bf39-2aa24cc42463"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2787,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-06T19:24:38.279482+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7fa6019f-62eb-4b5d-bf39-2aa24cc42463:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"bdc92397-8842-45b7-b280-42eabe54063d","command_center_event_id":"7fa6019f-62eb-4b5d-bf39-2aa24cc42463"},{"id":"bcda9894-69e9-42e6-90f4-b6f688430b7c","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-831c95286527","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.162-owner-activity-mission-recovery","prNumber":null,"terminal":false,"missionId":"831c9528-6527-489b-bd71-6e85f4063b83","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":203,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":643,"providerAuthMs":0,"ledgerPrepareMs":643,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":643,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":643,"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":"831c9528-6527-489b-bd71-6e85f4063b83"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5613,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T18:21:53.44604+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:831c9528-6527-489b-bd71-6e85f4063b83:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"97efc26d-d26c-4910-927f-65d554617cb8","command_center_event_id":"831c9528-6527-489b-bd71-6e85f4063b83"},{"id":"bcdd0746-3c77-4aeb-8d0a-8ae85b4aeabd","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"89abdb7180c7b020749dbcb4fbbd4ef5861b6ec1","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"89abdb7180c7b020749dbcb4fbbd4ef5861b6ec1","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":"b57c226634f4374d5636d10167189faff2f5739701fd3bb92bb3da0f7ab4c319","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5819","runId":5819,"status":"running","sourceSha":"89abdb7180c7b020749dbcb4fbbd4ef5861b6ec1","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":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T14:06:50.035335+00:00","proof_gate":"canonical_release_pending","source_sha":"89abdb7180c7b020749dbcb4fbbd4ef5861b6ec1","external_id":"forgejo-main-89abdb7180c7","receipt_type":"canonical_release_status","idempotency_key":"mission:c5eb0a38-8e06-4fb4-9574-813754c02e1d:forgejo-release-status:89abdb7180c7b020749dbcb4fbbd4ef5861b6ec1:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"9e33e959-ac81-41fa-bd86-8343240e2e72","command_center_event_id":"c5eb0a38-8e06-4fb4-9574-813754c02e1d"},{"id":"bcdd7435-3ccc-4574-b0fb-88a534ffff19","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-2cd654c34a2b","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3918,"terminal":false,"missionId":"2cd654c3-4a2b-4391-8a7b-b2763b7f23c2","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3763,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":670,"missionSetupMs":385,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":385,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":385,"repositoryMutationMs":3093,"repositoryProviderMs":3093,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2020,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":385,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1073},"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":"2cd654c3-4a2b-4391-8a7b-b2763b7f23c2"},"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":3396,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T22:54:42.033+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3918","receipt_type":"execute_mission","idempotency_key":"mission:2cd654c3-4a2b-4391-8a7b-b2763b7f23c2:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"c8aeb155-a763-4bf5-aed0-7d4a52d2248c","command_center_event_id":"2cd654c3-4a2b-4391-8a7b-b2763b7f23c2"},{"id":"bce192fd-da9b-4b05-b5fe-408907a82c8a","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"939dd6aa8969ff16a64e02fa148a64e411983e3c","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"939dd6aa8969ff16a64e02fa148a64e411983e3c","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"bcf2a58ddb7a4f422eb003687726690aa54b64121e4cda2ecbf9410ebb2615ec","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3673","runId":3673,"status":"running","sourceSha":"939dd6aa8969ff16a64e02fa148a64e411983e3c","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T19:14:30.967189+00:00","proof_gate":"canonical_release_pending","source_sha":"939dd6aa8969ff16a64e02fa148a64e411983e3c","external_id":"forgejo-main-939dd6aa8969","receipt_type":"canonical_release_status","idempotency_key":"mission:a9e90a92-b868-4ff8-869f-8c0408f84b3b:forgejo-release-status:939dd6aa8969ff16a64e02fa148a64e411983e3c:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"2f46da7e-033a-4c11-b96a-faa0f053b986","command_center_event_id":"a9e90a92-b868-4ff8-869f-8c0408f84b3b"},{"id":"bce1d6d7-ba5b-4d60-81bf-c5af319d6b3f","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/vista-r2-media-root-repair-20260829","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":6501,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.2-queue-readiness-budget","prNumber":null,"terminal":false,"missionId":"1215476a-c854-40d9-90a0-45dfd423ce14","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":20,"missionSetupMs":1755},"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":"1215476a-c854-40d9-90a0-45dfd423ce14"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":8709,"likelyAffectedFiles":["wrangler.toml","scripts/cloudflare-native-owner-worker.mjs","src/pages/rental/ShortTermRentalPublic.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T19:11:41.544886+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1215476a-c854-40d9-90a0-45dfd423ce14:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"1ddf51c2-1c24-4012-8c50-9acb97aec77f","command_center_event_id":"1215476a-c854-40d9-90a0-45dfd423ce14"},{"id":"bce1de63-36e8-4fa2-9f22-e1ea42003b54","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"65a7fab89d96024c41a88699016943411a80e0b9","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"MUTATE AND SHIP: complete the existing Client Commissioning foundation already represented by open PR #4431; do not create a duplicate implementation. Adopt or refresh that existing PR as the canonical continuation, make only the minimum necessary source changes if required, pass KnockLaunch Gate on current main, squash merge it, release only affected production targets, and prove the production result. This is an explicit owner-authorized mutation and merge objective.","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":"cf53bdb7d0931323db424005a8c9355d24cd88e2c7804f238248bde5d44db731","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":"cf53bdb7d0931323db424005a8c9355d24cd88e2c7804f238248bde5d44db731"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:25:32.783224+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"65a7fab89d96024c41a88699016943411a80e0b9","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d663bc00-704a-41fb-8cd0-26d24071636f:request-contract:cf53bdb7d0931323db424005a8c9355d24cd88e2c7804f238248bde5d44db731:65a7fab89d96024c41a88699016943411a80e0b9:verified:","mission_step_id":"8a865ceb-bc80-4989-a395-2e9847a9c624","command_center_event_id":"d663bc00-704a-41fb-8cd0-26d24071636f"},{"id":"bce3c31c-a2f2-408d-8040-f3cbfd90eb1d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/square-finance-ledger-20260824","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":7298,"releaseCount":2,"toolCallCount":7,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":666,"terminal":false,"missionId":"784b5e86-d083-4442-af7f-f6abf48705e8","operation":"automatic_mission_resume","proofGate":"canonical_release_transport_retryable","sourceSha":"74b715ddedf84b4e37f91dca45937bf826811247","timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"784b5e86-d083-4442-af7f-f6abf48705e8"},"performance":null,"deploymentId":"forgejo-main-74b715ddedf8","workflowRunId":2340,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["finance-square"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":599,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-24T16:24:20.762916+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"666","receipt_type":"automatic_mission_resume","idempotency_key":"mission:784b5e86-d083-4442-af7f-f6abf48705e8:automatic-mission-resume:666:canonical_release_transport_retryable","mission_step_id":"4db528fb-0635-449a-85e0-3654d26b321a","command_center_event_id":"784b5e86-d083-4442-af7f-f6abf48705e8"},{"id":"bce6c32c-f284-4a08-a18a-62e775824287","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"58d40c452e5cb7979cb40171938add7ad6bb5d9a","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"58d40c452e5cb7979cb40171938add7ad6bb5d9a","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1117","runId":1117,"status":"success","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T17:10:04.938409+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"58d40c452e5cb7979cb40171938add7ad6bb5d9a","external_id":"forgejo-main-58d40c452e5c","receipt_type":"canonical_release_status","idempotency_key":"mission:a3819335-8db3-4b64-b8db-f2a9d781afd6:forgejo-release-status:58d40c452e5cb7979cb40171938add7ad6bb5d9a:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"23f2f25b-9645-45b6-9ca1-94e66cee7049","command_center_event_id":"a3819335-8db3-4b64-b8db-f2a9d781afd6"},{"id":"bcea3c1c-865c-4062-9851-a30d1820db49","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/roof-help-finder-tenant-native","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.144-request-contract-inference","prNumber":null,"terminal":false,"missionId":"c6546ca0-a522-441c-b26b-033b1c1c85b7","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1432,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":308,"providerAuthMs":0,"ledgerPrepareMs":308,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":308,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":308,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"c6546ca0-a522-441c-b26b-033b1c1c85b7"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5577,"likelyAffectedFiles":["src/applications/proposal-editor/TenantProposalDocument.tsx","scripts/supabase-migration-release.mjs","src/App.css","src/App.tsx","src/applications/proposal-editor/FreeformProposalRenderer.tsx","src/applications/proposal-editor/index.ts","src/applications/proposal-editor/ProposalAssetPicker.tsx","src/PrivateAppShell.tsx","src/PublicAppShell.tsx","scripts/validate-supabase-migration-integrity.mjs","config/capabilities/tenant-workspace-experience.json","src/__tests__/contracts/supabaseMigrationReleaseWorkflow.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T03:15:40.530702+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c6546ca0-a522-441c-b26b-033b1c1c85b7:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c226f71b-7caf-4278-a951-ad225ff30e1d","command_center_event_id":"c6546ca0-a522-441c-b26b-033b1c1c85b7"},{"id":"bcebdf1e-9940-4387-8009-b1dc0b151742","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"pcg_website","disposition":"superseded_execution_attempt","previousStatus":"retryable","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"18d408fb-c19e-ebff-ad95-b84a435e1d25"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:ad9b6c0c-2983-4058-afb1-415a7a5a39fe","mission_step_id":null,"command_center_event_id":"ad9b6c0c-2983-4058-afb1-415a7a5a39fe"},{"id":"bcef1de6-5874-49e2-af11-b036e4d67dd1","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"53ada4500c9b7e0faec9c6c3b01a96ccca7e7d6f","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"53ada4500c9b7e0faec9c6c3b01a96ccca7e7d6f","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":"bbab43a321077a9e26ce5cb828a6ef4cc5cbd0da440b1dbacc3f25570397db89","forgejoWorkflowProof":{"runId":12017,"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-26T17:22:02.590508+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"53ada4500c9b7e0faec9c6c3b01a96ccca7e7d6f","external_id":"forgejo-main-53ada4500c9b","receipt_type":"canonical_release_status","idempotency_key":"mission:7bce1d87-eb51-4c5f-8790-9c059a7bbce3:forgejo-release-status:53ada4500c9b7e0faec9c6c3b01a96ccca7e7d6f:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"56600bec-c3c4-4edd-9273-6bf9c582cc4a","command_center_event_id":"7bce1d87-eb51-4c5f-8790-9c059a7bbce3"},{"id":"bcefbad4-94cd-4ef8-9e52-c263eeb95a08","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":6009,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":5,"ownerInterruptionCount":0},"version":"1.36.9-github-read-resilience","prNumber":4767,"terminal":false,"missionId":"76fa6c19-ea03-4cb0-a805-5d211cb1c4fd","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"16fb5c183f9981d38d65218ae0bf6d0a802dac72","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"76fa6c19-ea03-4cb0-a805-5d211cb1c4fd"},"performance":null,"deploymentId":"canonical-release-16fb5c183f99","workflowRunId":31693873790,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1233,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-13T11:04:12.739509+00:00","proof_gate":"canonical_release_dispatched","source_sha":"16fb5c183f9981d38d65218ae0bf6d0a802dac72","external_id":"canonical-release-16fb5c183f99","receipt_type":"ship_and_prove","idempotency_key":"mission:76fa6c19-ea03-4cb0-a805-5d211cb1c4fd:ship_and_prove:canonical_release_dispatched:16fb5c183f9981d38d65218ae0bf6d0a802dac72:31693873790","mission_step_id":"a54e9e33-bb96-4895-8ae6-4fea2a767284","command_center_event_id":"76fa6c19-ea03-4cb0-a805-5d211cb1c4fd"},{"id":"bcf05e11-35a2-48dc-93a4-c17b19fdeac5","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-dbdce2d841be","reason":"pull_request_not_open","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2829,"terminal":false,"missionId":"dbdce2d8-41be-42be-8313-7fef179b605e","operation":"automatic_mission_resume","proofGate":"repair_mission_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":"dbdce2d8-41be-42be-8313-7fef179b605e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":689,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T15:23:24.722456+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"2829","receipt_type":"automatic_mission_resume","idempotency_key":"mission:dbdce2d8-41be-42be-8313-7fef179b605e:automatic-mission-resume:2829:repair_mission_auto_progress_authorization_retryable","mission_step_id":"22cb7d1d-6afb-4ad9-a5af-8cabfaba043e","command_center_event_id":"dbdce2d8-41be-42be-8313-7fef179b605e"},{"id":"bcf09c74-8734-4f07-a8a5-12491f7d5d89","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_authorization_required","fingerprint":"2872e8433d9cba4d913215850467e4a605b7614859f65364104fbe2cbc6e6be8"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T02:47:22.032179+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:7e3aca5b-b3b9-45fa-b6b4-5d0ec144969f:repository-mutation-intent-blocked:2872e8433d9cba4d913215850467e4a605b7614859f65364104fbe2cbc6e6be8","mission_step_id":"7fa46f03-987d-447f-88c5-c35e7392b1a7","command_center_event_id":"7e3aca5b-b3b9-45fa-b6b4-5d0ec144969f"},{"id":"bcf2316b-3e03-4bcf-97e7-60d85911d134","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-41e94cc87723","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3125,"terminal":false,"missionId":"41e94cc8-7723-49bf-af79-a067f678dadb","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4162,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3327,"approvedPlanMs":0,"missionSetupMs":1280,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":231,"ledgerReconcileMs":0,"lineageReconcileMs":1049,"resolvePreflightMs":1280,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":231,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"41e94cc8-7723-49bf-af79-a067f678dadb"},"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":1973,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T16:29:12.48962+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3125","receipt_type":"execute_mission","idempotency_key":"mission:41e94cc8-7723-49bf-af79-a067f678dadb:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"2ab21fca-4609-497c-9a07-330c01fa6737","command_center_event_id":"41e94cc8-7723-49bf-af79-a067f678dadb"},{"id":"bcf453c3-6e98-4bab-a04e-97e155719404","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:src/components/platform/TenantBrandMediaSettings.tsx","fingerprint":"f0e771303875b8000301003e2ccf8e94d4c192eb5ee17cc8d0541799136ce661"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:35:46.846106+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:dd080da9-f8e4-4ff4-8d51-bd19746877cb:repository-mutation-intent-blocked:f0e771303875b8000301003e2ccf8e94d4c192eb5ee17cc8d0541799136ce661","mission_step_id":"e2ee69a2-1d8f-4ac9-872f-6202954b6f53","command_center_event_id":"dd080da9-f8e4-4ff4-8d51-bd19746877cb"},{"id":"bcf86a0f-bdbc-4674-b85e-e4c3997b0006","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"029620eeee0811247cd57e9a00c2e4abe2072735","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"proof-repository","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"606f31872178958f0eb810c56a1c5f7e105f5881","prNumber":4476,"gateRunId":14340,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/14340/jobs/1","mergeCommitSha":"029620eeee0811247cd57e9a00c2e4abe2072735"}],"requestContractHash":"2bc7c2e8a8ec562a5379f73e7f8662911ec978b934f3d2d57639c247aec13257","namedGateEvidenceReceiptVersion":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T15:28:16.694897+00:00","proof_gate":"request_contract_repository_verified","source_sha":"029620eeee0811247cd57e9a00c2e4abe2072735","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:c91c868a-d6e2-46e7-9769-862a965c542d:request-contract-repository:2bc7c2e8a8ec562a5379f73e7f8662911ec978b934f3d2d57639c247aec13257:029620eeee0811247cd57e9a00c2e4abe2072735","mission_step_id":"4014420e-ac5e-4f53-81ce-77eafb380f6c","command_center_event_id":"c91c868a-d6e2-46e7-9769-862a965c542d"},{"id":"bcfb5a83-b19e-4339-b9fb-9b78374da8bb","source":"cc-execution","status":"recorded","payload":{"objective":"Ship and prove noel/KnockLaunchOS PR #432","tenantRef":"bigpapisiceys","receivedAt":"2026-08-19T17:06:29.607Z","fingerprint":"a801caad9720d36018340ba589c2201800727538c935e110e5ab56dc4869941c","workstreamRef":"bigpapisiceys","conversationId":null,"canonicalBranch":null,"requestedBranch":null,"conversationContext":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T17:06:30.123385+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:ab2bdda9-217e-4fe6-8a5b-b66109db7a6e:tenant-workstream-contribution:a801caad9720d36018340ba589c2201800727538c935e110e5ab56dc4869941c","mission_step_id":null,"command_center_event_id":"ab2bdda9-217e-4fe6-8a5b-b66109db7a6e"},{"id":"bcfdb1d8-4ca9-4e39-b92b-86b7ddde9ddd","source":"forgejo","status":"waiting","payload":{"branch":"ai/golden-restore-point-f4009fee-20260909","prNumber":2269,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"3c07f8f6fa8d5fc39c9ebd57afce35ca48a5f9d2","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T04:09:49.775224+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"3c07f8f6fa8d5fc39c9ebd57afce35ca48a5f9d2","external_id":"2269","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:4e4f39e7-aef5-40d4-ba05-4db4c43acb4d:merged-pr:2269:3c07f8f6fa8d5fc39c9ebd57afce35ca48a5f9d2","mission_step_id":"db80a112-da53-4509-99db-36e3c6e8c033","command_center_event_id":"4e4f39e7-aef5-40d4-ba05-4db4c43acb4d"},{"id":"bd005839-e008-42fe-9d69-9106b0a582f4","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-741094365866","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":39978,"releaseCount":0,"toolCallCount":12,"repeatedCallCount":7,"executorlessWaitMs":101088,"firstUsefulResultAt":"2026-10-04T11:55:02.315Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":4758,"terminal":false,"missionId":"74109436-5866-4098-864d-d1dd3d27e466","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6667,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":3887,"missionSetupMs":358,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":250,"ledgerReconcileMs":0,"lineageReconcileMs":108,"resolvePreflightMs":358,"repositoryMutationMs":2780,"repositoryProviderMs":2780,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2617,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":250,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":163},"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":"74109436-5866-4098-864d-d1dd3d27e466"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3464,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T11:55:58.114355+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4758","receipt_type":"execute_mission","idempotency_key":"mission:74109436-5866-4098-864d-d1dd3d27e466:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"a86b76cc-c0f3-44d3-ad1a-42817da9b605","command_center_event_id":"74109436-5866-4098-864d-d1dd3d27e466"},{"id":"bd030080-b4de-4147-815d-596f17439b2c","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-17cc9a02a846","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":45503,"releaseCount":0,"toolCallCount":22,"repeatedCallCount":10,"executorlessWaitMs":368954,"firstUsefulResultAt":"2026-10-03T12:33:15.910Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":4630,"terminal":false,"missionId":"17cc9a02-a846-4440-915a-29e007081464","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"c4444034439600d45f3f58dec782353279ecd0ae","timingsMs":{"prReadinessMs":784,"approvedPlanMs":0,"shipAndProveMs":3076,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"17cc9a02-a846-4440-915a-29e007081464"},"performance":null,"deploymentId":"forgejo-main-c44440344396","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1801,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T12:39:34.403614+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4630","receipt_type":"automatic_mission_resume","idempotency_key":"mission:17cc9a02-a846-4440-915a-29e007081464:automatic-mission-resume:4630:canonical_release_reconciliation_pending","mission_step_id":"dbe2f9f8-04f3-4012-aabc-8bcf9bb9716c","command_center_event_id":"17cc9a02-a846-4440-915a-29e007081464"},{"id":"bd0337fb-7658-48ce-9dc4-d88fe35ff4cf","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-e2c128abc58a","reason":"control_plane_frozen_explicit_unfreeze_required","status":"blocked","metrics":{"receiptBytes":10364,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":248063,"firstUsefulResultAt":"2026-10-02T19:54:31.152Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.50-onepath-source-domain","prNumber":null,"terminal":false,"missionId":"e2c128ab-c58a-4c80-98ae-916d2c5874fb","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":283,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":283,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":283,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":283,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"e2c128ab-c58a-4c80-98ae-916d2c5874fb"},"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":1459,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T19:58:23.840152+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:e2c128ab-c58a-4c80-98ae-916d2c5874fb:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"522eba07-92e3-475d-97b9-c6d786f1378a","command_center_event_id":"e2c128ab-c58a-4c80-98ae-916d2c5874fb"},{"id":"bd06af70-cce1-440d-aaa9-da6c770847c7","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/redfish-real-route-revolution-20260828","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":12151,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.7-queue-hardening","prNumber":974,"terminal":false,"missionId":"4fa4aff7-734a-442c-8716-87328a78ed9a","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":1117,"prReadinessMs":984,"approvedPlanMs":0,"missionSetupMs":955,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"4fa4aff7-734a-442c-8716-87328a78ed9a"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5966,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-28T23:21:51.147436+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"974","receipt_type":"execute_mission","idempotency_key":"mission:4fa4aff7-734a-442c-8716-87328a78ed9a:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"8fba7560-ffa3-4584-a907-0038197afb6f","command_center_event_id":"4fa4aff7-734a-442c-8716-87328a78ed9a"},{"id":"bd088a00-543d-412b-8702-aefb69754d53","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/release-target-ownership.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Corrective generation after merged branch deletion to align deployed release reconciliation ownership with the canonical no-op release planner.","baseSha":"1a5fd027a5de20cce48cf8e29fa24935504a4cc8","issuedAt":1788522295240,"expiresAt":1788522475240,"missionId":"43992403-f254-4211-bc17-098b73a8f872","authorizationId":"53e5cb12-7b4d-497f-909e-16c685bfb82c","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T11:44:55.702182+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"1a5fd027a5de20cce48cf8e29fa24935504a4cc8","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:53e5cb12-7b4d-497f-909e-16c685bfb82c","mission_step_id":"f84289a3-216f-4c3c-a1f4-edbf79ec19be","command_center_event_id":"43992403-f254-4211-bc17-098b73a8f872"},{"id":"bd089764-ab0a-444b-82b4-322b7cceb8ed","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"da0898299566b1dc573f68ce479eb2022af4f96c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"launch-hub","satisfied":true,"statement":"Successful generic login lands on a compact launch hub that presents Businesses and Apps as the two primary choices, with no automatic single-tenant redirect.","proofConditionIds":["repo-login-flow","repo-launch-hub","runtime-launch-hub"]},{"id":"tenant-selection-revamp","satisfied":true,"statement":"The tenant selection surface is visually refactored into compact branded business cards and removes developer-facing grouping, role badges, GodMode/audit/recovery jargon from the normal user experience while preserving owner and platform access.","proofConditionIds":["repo-launch-hub","runtime-launch-hub"]},{"id":"direct-app-launch","satisfied":true,"statement":"The Apps section only lists launchable tenant-user applications for at least one accessible business and opens directly in the last valid or sole eligible business, otherwise presenting a compact business chooser for that app.","proofConditionIds":["repo-launch-hub","runtime-launch-hub"]}],"satisfied":true,"constraints":[{"id":"preserve-access","satisfied":true,"statement":"Preserve tenant permissions, tenant scoping, app-specific login behavior, owner access, platform-admin access, and existing routing/security contracts.","proofConditionIds":["repo-login-flow","repo-launch-hub"]},{"id":"frontend-only","satisfied":true,"statement":"Change frontend source only and release only the frontend target.","proofConditionIds":["repo-login-flow","repo-launch-hub","runtime-launch-hub"]}],"contractHash":"51db2c3eb6e747ee1500c6c84811ad7dcb9e1fddb842c058588f3515b2d3922f","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-login-flow","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"51db2c3eb6e747ee1500c6c84811ad7dcb9e1fddb842c058588f3515b2d3922f","repositoryProofStatus":"verified","repositoryProofSourceSha":"da0898299566b1dc573f68ce479eb2022af4f96c"},"required":true,"satisfied":true},{"id":"repo-launch-hub","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"51db2c3eb6e747ee1500c6c84811ad7dcb9e1fddb842c058588f3515b2d3922f","repositoryProofStatus":"verified","repositoryProofSourceSha":"da0898299566b1dc573f68ce479eb2022af4f96c"},"required":true,"satisfied":true},{"id":"runtime-launch-hub","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"51db2c3eb6e747ee1500c6c84811ad7dcb9e1fddb842c058588f3515b2d3922f"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":4},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T04:53:16.361196+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"da0898299566b1dc573f68ce479eb2022af4f96c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:387400c2-2d01-4a97-9e51-345d958591d8:request-contract:51db2c3eb6e747ee1500c6c84811ad7dcb9e1fddb842c058588f3515b2d3922f:da0898299566b1dc573f68ce479eb2022af4f96c:verified:","mission_step_id":"6f69d37a-1a6e-4a7f-b599-29f01242beca","command_center_event_id":"387400c2-2d01-4a97-9e51-345d958591d8"},{"id":"bd096e98-749c-4afd-ae98-19db4fe18633","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":925,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.20-pr-scoped-release-missions","prNumber":null,"terminal":false,"missionId":"fb779fc9-aca4-40b9-8e61-a168139f561b","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"fb779fc9-aca4-40b9-8e61-a168139f561b"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":676,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T01:09:50.50587+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fb779fc9-aca4-40b9-8e61-a168139f561b:execute_mission:repair_mission_execution_blocked","mission_step_id":"92591104-3f3a-46ef-9013-635ef23846b1","command_center_event_id":"fb779fc9-aca4-40b9-8e61-a168139f561b"},{"id":"bd0a572a-3f0c-46c9-bcbc-27dc05933366","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5ea67245081d","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.179-terminal-receipt-guard","prNumber":3023,"terminal":false,"missionId":"5ea67245-081d-4e7f-b1ab-b6c933019c4d","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":14095,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":7502,"missionSetupMs":540,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":540,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":540,"repositoryMutationMs":6593,"repositoryProviderMs":6593,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3395,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":540,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":3198},"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":"5ea67245-081d-4e7f-b1ab-b6c933019c4d"},"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":3688,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T18:23:45.907221+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3023","receipt_type":"execute_mission","idempotency_key":"mission:5ea67245-081d-4e7f-b1ab-b6c933019c4d:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"e623052d-107c-4b29-b4d2-4f5006cf0201","command_center_event_id":"5ea67245-081d-4e7f-b1ab-b6c933019c4d"},{"id":"bd0a7838-8d87-4063-ace1-5c895236cc29","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papi-member-referral-qr-20260824","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":7984,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.50.25-cross-scope-source-seeds","prNumber":684,"terminal":false,"missionId":"8c9038d6-07e1-4382-991d-b3ade10e6c02","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"3c5f29beaba792fc158e61e9d30f07ce842446c3","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"8c9038d6-07e1-4382-991d-b3ade10e6c02"},"performance":null,"deploymentId":"forgejo-main-3c5f29beaba7","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6047,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-24T19:56:32.508367+00:00","proof_gate":"canonical_release_dispatched","source_sha":"3c5f29beaba792fc158e61e9d30f07ce842446c3","external_id":"forgejo-main-3c5f29beaba7","receipt_type":"execute_mission","idempotency_key":"mission:8c9038d6-07e1-4382-991d-b3ade10e6c02:execute_mission:canonical_release_dispatched","mission_step_id":"6825e042-33ed-4466-a7df-772324b0f35c","command_center_event_id":"8c9038d6-07e1-4382-991d-b3ade10e6c02"},{"id":"bd0bff85-146c-4edf-9c96-0c609bb312c8","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/fix-proposal-editor-resize","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":1956,"terminal":false,"missionId":"6e19cdd1-3345-49a9-80fb-f4fff14b61cb","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"23834ab772c0abbfe4ffde620397edd4939b9845","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6995,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":870,"approvedPlanMs":0,"missionSetupMs":1790,"providerAuthMs":0,"shipAndProveMs":6032,"ledgerPrepareMs":768,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1790,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":768,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6e19cdd1-3345-49a9-80fb-f4fff14b61cb"},"performance":null,"deploymentId":"forgejo-main-23834ab772c0","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2607,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T15:24:27.14486+00:00","proof_gate":"canonical_release_dispatched","source_sha":"23834ab772c0abbfe4ffde620397edd4939b9845","external_id":"forgejo-main-23834ab772c0","receipt_type":"execute_mission","idempotency_key":"mission:6e19cdd1-3345-49a9-80fb-f4fff14b61cb:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"6744d0a2-78c4-4955-ab91-d622005a2d68","command_center_event_id":"6e19cdd1-3345-49a9-80fb-f4fff14b61cb"},{"id":"bd0cfdca-11c4-4fd9-b9f7-c72797a94d48","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","scripts/visual-witness-hosted-runner/virtual-witness-operating-contract.json"],"reason":"Owner-approved corrective generation for the exact Visual Witness release-contract failure; unfreeze only these exact control-plane paths, then restore frozen-by-default behavior.","baseSha":"3318ac030845b4ab881c11b589407f584ddfa480","issuedAt":1789692270733,"expiresAt":1789692450733,"missionId":"a924d509-8361-466f-9fcc-6999d3a728e6","authorizationId":"84e61905-400f-49f9-ba65-c6633bd30e25","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T00:44:31.504338+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"3318ac030845b4ab881c11b589407f584ddfa480","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:84e61905-400f-49f9-ba65-c6633bd30e25","mission_step_id":"6590e7ba-4cf7-40a0-9ad0-e038869d9e2e","command_center_event_id":"a924d509-8361-466f-9fcc-6999d3a728e6"},{"id":"bd0d0df1-c2ae-40fb-a929-600ab58be7c8","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-a7108781af28","prNumber":3094,"nextAction":null,"mergeCommitSha":"527849697abcf616d5ff04b1cee4d9cd1905ae94","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T12:48:41.599747+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"527849697abcf616d5ff04b1cee4d9cd1905ae94","external_id":"3094","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:a7108781-af28-48ef-be87-5340894a6b75:merged-pr:3094:527849697abcf616d5ff04b1cee4d9cd1905ae94","mission_step_id":"cac797bb-1cbb-4306-9189-2fef2bc50c65","command_center_event_id":"a7108781-af28-48ef-be87-5340894a6b75"},{"id":"bd0d2f32-07eb-45f1-a916-267c2989db1e","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/auth-only-rpc-anon-hardening","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3106,"terminal":false,"missionId":"0ea68f23-d392-4e94-8448-d735cab59e7d","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6280,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1745,"approvedPlanMs":0,"missionSetupMs":878,"providerAuthMs":0,"shipAndProveMs":3768,"ledgerPrepareMs":310,"ledgerReconcileMs":0,"lineageReconcileMs":568,"resolvePreflightMs":878,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":310,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"0ea68f23-d392-4e94-8448-d735cab59e7d"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1480,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T15:05:50.495447+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3106","receipt_type":"execute_mission","idempotency_key":"mission:0ea68f23-d392-4e94-8448-d735cab59e7d:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"7c3bb05b-3d92-464b-9478-4395b89bf91d","command_center_event_id":"0ea68f23-d392-4e94-8448-d735cab59e7d"},{"id":"bd0decdf-ba5c-495a-8593-e1de9f4034e1","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mission-control.js"],"reason":"The live GodMode Restore Points control plane review still fails because the Forgejo compare payload does not provide authoritative GitHub-style status/merge-base ancestry fields. Replace that incorrect ancestry gate with bounded exact commit-history reachability proof from current protected main while retaining compare only for changed-file enumeration and diagnostic metadata.","baseSha":"ac51f625e91b8540d3803f1635981f882ed82095","issuedAt":1787877393613,"expiresAt":1787877573613,"missionId":"dc798a9f-3aef-4ef8-b613-36906a65cec7","singleUse":true,"authorizationId":"d215316f-8dba-4007-aca5-90bd9c4486d3"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T00:36:35.031921+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ac51f625e91b8540d3803f1635981f882ed82095","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:d215316f-8dba-4007-aca5-90bd9c4486d3","mission_step_id":"fd80f1c1-d14e-48c6-b34f-f82cf53efa34","command_center_event_id":"dc798a9f-3aef-4ef8-b613-36906a65cec7"},{"id":"bd0f514b-38a2-4085-b82a-dd80b3e50e4e","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/calendar-oversight-hub-20260907","reason":"orphaned_branch_recovery_scope_mismatch:ai/calendar-oversight-hub-20260907","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":null,"terminal":false,"missionId":"2d4a8b84-35aa-47fb-be44-02cb3498af54","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1261,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":664,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":664,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":664,"repositoryMutationMs":1261,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":664,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"2d4a8b84-35aa-47fb-be44-02cb3498af54"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1533,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T16:32:44.437769+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2d4a8b84-35aa-47fb-be44-02cb3498af54:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"8845cfff-146c-45cb-b950-6ef98f178ad8","command_center_event_id":"2d4a8b84-35aa-47fb-be44-02cb3498af54"},{"id":"bd0fbf3e-f4b5-4005-bcd2-ebce255fcca8","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-4e92220f9e07","writes":[],"patches":[],"version":1,"approved":true,"missionId":"4e92220f-9e07-4d62-b34f-2cd073888dee","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[".forgejo/workflows/knocklaunch.yml"],"anchored_edits":[{"path":".forgejo/workflows/knocklaunch.yml","anchor":"            '/config/platform-standards.json' \\\n            '/config/cloudflare-native-frontend-build.json' \\","replacement":"            '/config/platform-standards.json' \\\n            '/config/canonical-platform-primitives.json' \\\n            '/config/cloudflare-native-frontend-build.json' \\"},{"path":".forgejo/workflows/knocklaunch.yml","anchor":"            '/scripts/validate-windows-repository-paths.test.mjs' \\\n            '/scripts/validate-control-plane-restore-point.mjs' \\","replacement":"            '/scripts/validate-windows-repository-paths.test.mjs' \\\n            '/scripts/validate-canonical-platform-primitives.mjs' \\\n            '/scripts/validate-control-plane-restore-point.mjs' \\"},{"path":".forgejo/workflows/knocklaunch.yml","anchor":"      - name: Fast changed-TypeScript deterministic preflight\n        if: ${{ steps.gate-preclassify.outputs.frontend_toolchain == 'true' }}","replacement":"      - name: Enforce canonical primitive ownership before dependency hydration\n        shell: bash\n        env:\n          CURRENT_MAIN_SHA: ${{ steps.gate-preclassify.outputs.current_main_sha }}\n        run: |\n          set -euo pipefail\n          changed_paths=\"$(git diff --name-only \"$CURRENT_MAIN_SHA\" HEAD 2>/dev/null || true)\"\n          export KNOCKLAUNCH_CHANGED_PATHS_B64=\"$(printf '%s' \"$changed_paths\" | base64 | tr -d '\\n')\"\n          node scripts/validate-canonical-platform-primitives.mjs\n\n      - name: Fast changed-TypeScript deterministic preflight\n        if: ${{ steps.gate-preclassify.outputs.frontend_toolchain == 'true' }}"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"4e92220f-9e07-4d62-b34f-2cd073888dee","ownerApproved":true,"releaseIntent":null,"sourceTargets":[".forgejo/workflows/knocklaunch.yml"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"9990577b2cdf8fed0590ac1dc371167a29cb13677a9d03aa33a388cca7401070","replayCount":0,"serializedBytes":2754},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T22:51:15.081334+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:4e92220f-9e07-4d62-b34f-2cd073888dee:repository-mutation-intent:9990577b2cdf8fed0590ac1dc371167a29cb13677a9d03aa33a388cca7401070:0","mission_step_id":"d0ae364e-06d1-41a0-a4a6-53b7920977d9","command_center_event_id":"4e92220f-9e07-4d62-b34f-2cd073888dee"},{"id":"bd141416-cad7-404f-8857-b28508919a42","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-f7a750346cb7","prNumber":2166,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"4f06fe66fde1178cea24b60c8399b13c1e741ec1","branchDeletedAfterMerge":false,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T20:30:52.399354+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"4f06fe66fde1178cea24b60c8399b13c1e741ec1","external_id":"2166","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:f7a75034-6cb7-4a20-b3d0-18a26ef9020d:merged-pr:2166:4f06fe66fde1178cea24b60c8399b13c1e741ec1","mission_step_id":"ad791ca7-2e9e-4d8d-8802-34d9a1eefec0","command_center_event_id":"f7a75034-6cb7-4a20-b3d0-18a26ef9020d"},{"id":"bd1430c4-1ad5-4639-828a-1e25497768ef","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"content validation failed","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.20-pr-scoped-release-missions","prNumber":null,"terminal":false,"missionId":"2ec2c77c-996a-43f4-9f8d-29090a3994e2","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"2ec2c77c-996a-43f4-9f8d-29090a3994e2"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":322,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-06T21:37:32.306367+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2ec2c77c-996a-43f4-9f8d-29090a3994e2:execute_mission:repair_mission_execution_blocked","mission_step_id":"c5332d27-2bb9-4319-9d6f-1a8c922b6619","command_center_event_id":"2ec2c77c-996a-43f4-9f8d-29090a3994e2"},{"id":"bd14c9dd-c88b-44c4-aad7-2f751951ed6f","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_invalid","fingerprint":"ab9f6a8c01df2b461ea33dc2f50a28ccba08469e9e851e7b527cc93123684395"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:21:53.314227+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:ef8ef070-365b-46fc-95e1-22c35fb886dc:repository-mutation-intent-blocked:ab9f6a8c01df2b461ea33dc2f50a28ccba08469e9e851e7b527cc93123684395","mission_step_id":"10411152-9a2b-41a7-8a5e-071f92b77d4a","command_center_event_id":"ef8ef070-365b-46fc-95e1-22c35fb886dc"},{"id":"bd1568a7-f71e-4d19-9d69-e063f53e6901","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5791b1233557","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":217444,"releaseCount":0,"toolCallCount":28,"repeatedCallCount":22,"executorlessWaitMs":1938792,"firstUsefulResultAt":"2026-10-01T00:18:36.658Z","recoveryAttemptCount":21,"ownerInterruptionCount":0},"version":null,"prNumber":4295,"terminal":false,"missionId":"5791b123-3557-4cb6-ab08-4274f5632f18","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"233a243ae8316a1bd71e95e8528301e5422fbfb4","timingsMs":{"prReadinessMs":3000,"approvedPlanMs":0,"shipAndProveMs":2901,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"5791b123-3557-4cb6-ab08-4274f5632f18"},"performance":null,"deploymentId":"forgejo-main-233a243ae831","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-google-drive-media"]},"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":2057,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T00:53:09.569256+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4295","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5791b123-3557-4cb6-ab08-4274f5632f18:automatic-mission-resume:4295:canonical_release_reconciliation_pending","mission_step_id":"7d684690-e5c5-4315-958a-54ca9e782996","command_center_event_id":"5791b123-3557-4cb6-ab08-4274f5632f18"},{"id":"bd1c4a7d-2231-45a5-ba87-a31fba48f851","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Control plane interpretation preserves the raw owner utterance separately from canonical intent","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"outcome-2","statement":"Canonical intent can correct noisy voice-to-text when the interpreter supplies high-confidence unique resolution evidence","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"outcome-3","statement":"Material ambiguity blocks before mutation with intent_clarification_required","proofConditionIds":["proof-repo"]},{"id":"outcome-4","statement":"Exact ordinary wording remains unchanged","proofConditionIds":["proof-repo"]}],"objective":"Finish PR #856 by repairing the two exact format-sensitive invariants proven by run 2911, without changing runtime semantics. On the existing branch only: make the test assertions for `const existing = freshBranch ? null : await findExisting()` and `atomicWriteTiming: written?.mutationTiming || null` whitespace-tolerant, and compact those two semantically identical runtime expressions so both old and corrected assertions pass. Preserve all intent-canonicalization behavior and continue the same mission through exact-head gate, squash merge, cc-execution-only release, and live proof.","constraints":[{"id":"constraint-1","statement":"Control plane maintenance remains locked and scoped","proofConditionIds":["proof-repo"]},{"id":"constraint-2","statement":"No general product or tenant source behavior changes","proofConditionIds":["proof-repo"]},{"id":"constraint-3","statement":"A changed canonical intent without resolution evidence is invalid","proofConditionIds":["proof-repo"]},{"id":"constraint-4","statement":"Ambiguous interpretation may not silently mutate","proofConditionIds":["proof-repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repo","kind":"repository","claim":"Intent canonicalization implementation and regression coverage exist on the exact source and the exact PR head passes KnockLaunch Gate","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-runtime","kind":"runtime","claim":"Updated cc-execution exact merged source is live","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"befaaa1761d996cfc6891db7687666d53e9b3c8864de775122857eff0195368e","requestContractRevision":7,"previousRequestContractHash":"a498a3fcf4201e22e8fe6284e6339b144dca59056ba9319e4205cc6fe2937df6"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T19:15:25.426808+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:e57906ff-764d-4381-9f3a-8b48dc1874fe:request-contract-revision:7:befaaa1761d996cfc6891db7687666d53e9b3c8864de775122857eff0195368e","mission_step_id":"58ecd1ea-7e4d-445c-a32f-d3fba79f7af5","command_center_event_id":"e57906ff-764d-4381-9f3a-8b48dc1874fe"},{"id":"bd1e08f4-ce4f-4eaa-b425-e146ebbcc39d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e318e078d06c","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3111,"terminal":false,"missionId":"e318e078-d06c-4615-b595-d0245e558bd4","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5987,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1077,"missionSetupMs":378,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":287,"ledgerReconcileMs":0,"lineageReconcileMs":91,"resolvePreflightMs":378,"repositoryMutationMs":4910,"repositoryProviderMs":4910,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2404,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":287,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2506},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"e318e078-d06c-4615-b595-d0245e558bd4"},"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":4013,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T15:16:56.699996+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3111","receipt_type":"execute_mission","idempotency_key":"mission:e318e078-d06c-4615-b595-d0245e558bd4:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"61d27250-5667-4daf-a2a5-e84472c8e050","command_center_event_id":"e318e078-d06c-4615-b595-d0245e558bd4"},{"id":"bd2080f7-45c9-4787-9c57-a4e9ed053d7f","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.67.3-cross-conversation-lean-queue","prNumber":null,"terminal":false,"missionId":"0beefde9-d014-4bcd-8c1d-1ac97613e4a0","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4105,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":940,"providerAuthMs":0,"ledgerPrepareMs":940,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":940,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":940,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"0beefde9-d014-4bcd-8c1d-1ac97613e4a0"},"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":3456,"likelyAffectedFiles":[".forgejo/workflows/frontend-startup-watchdog.yml",".forgejo/workflows/knocklaunch-local-host-autoconnect.yml",".forgejo/workflows/knocklaunch.yml",".forgejo/workflows/laptop-hybrid-bootstrap.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T17:23:06.228079+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0beefde9-d014-4bcd-8c1d-1ac97613e4a0:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"35a009b5-06da-4e93-9b77-9f3d0d8c5465","command_center_event_id":"0beefde9-d014-4bcd-8c1d-1ac97613e4a0"},{"id":"bd224e5e-f52d-4175-9f7c-9a52ad35956d","source":"cc-execution","status":"waiting","payload":{"reason":"compiler_exact_bounded_source_targets_required","sourceTargets":[".forgejo/workflows/paul-host-probe.yml",".forgejo/workflows/paul-hybrid-bootstrap.yml",".forgejo/workflows/control-plane-canary.yml",".forgejo/workflows/ai-branch-hygiene-dryrun.yml"]},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-09T23:58:39.213101+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"2275c3f714eec9536086839e989da29330922e7f","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:4e7a6797-319b-4866-80ea-325d26318790:compiler:2275c3f714eec9536086839e989da29330922e7f:.forgejo/workflows/paul-host-probe.yml,.forgejo/workflows/paul-hybrid-bootstrap.yml,.forgejo/workflows/control-plane-canary.yml,.forgejo/workflows/ai-branch-hygiene-dryrun.yml","mission_step_id":null,"command_center_event_id":"4e7a6797-319b-4866-80ea-325d26318790"},{"id":"bd23d4ca-2232-4565-b86c-cf85ed212536","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-9579e3e086eb","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.11-schema-authority","prNumber":null,"terminal":false,"missionId":"9579e3e0-86eb-49ac-8fbc-6c6eeb3ac75a","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"9579e3e0-86eb-49ac-8fbc-6c6eeb3ac75a"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":8431,"likelyAffectedFiles":["src/__tests__/contracts/supabase-config-unique-function-tables.test.ts","src/components/admin/SupabaseHealthPanel.tsx","src/components/CallActionDialogs.tsx","src/components/CallActionsMenu.tsx","src/components/CallFlow/hooks/useStormData.ts","scripts/owner-supabase-function-migrate.mjs","scripts/resolve-supabase-function-targets.mjs","scripts/supabase-migration-release.mjs","scripts/__tests__/supabase-migration-release.test.mjs","scripts/resolve-supabase-function-targets.test.mjs","src/components/admin/TenantUserCommandCenters.tsx","src/components/CallFlow/WorkflowCallCockpit.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T23:36:39.23916+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9579e3e0-86eb-49ac-8fbc-6c6eeb3ac75a:execute_mission:repair_mission_synthesis_ready","mission_step_id":"7de9d146-339e-4216-923f-c2c0aafc7553","command_center_event_id":"9579e3e0-86eb-49ac-8fbc-6c6eeb3ac75a"},{"id":"bd265573-616a-4adf-a092-013ada09e2aa","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/version.js"],"reason":"Owner-approved canonical merge/release admission hardening.","baseSha":"43ab87d1e17bc8449ee461c9b4ba439e980aab3d","issuedAt":1791226527196,"expiresAt":1791226707196,"missionId":"a770b022-1597-4486-a023-1c9d2554f8ad","authorizationId":"c3e32ebb-0cf7-4bab-9574-56eab345730f","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T18:55:27.700762+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"43ab87d1e17bc8449ee461c9b4ba439e980aab3d","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c3e32ebb-0cf7-4bab-9574-56eab345730f","mission_step_id":"b4b2dcbe-f2d4-432c-8369-ccbced95e8b3","command_center_event_id":"a770b022-1597-4486-a023-1c9d2554f8ad"},{"id":"bd282c24-7d9d-4f0a-b092-2789d48cc021","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-big-papis-locked-landing-brand","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":4195,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.31-fast-atomic-reconcile","prNumber":706,"terminal":false,"missionId":"36ce3301-6266-40fa-80e2-5bacd1143e1f","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"36ce3301-6266-40fa-80e2-5bacd1143e1f"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5107,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-24T23:58:08.576503+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"706","receipt_type":"execute_mission","idempotency_key":"mission:36ce3301-6266-40fa-80e2-5bacd1143e1f:execute_mission:canonical_release_transport_retryable","mission_step_id":"bd8b2050-ef3e-4760-b303-b0b2c5dad484","command_center_event_id":"36ce3301-6266-40fa-80e2-5bacd1143e1f"},{"id":"bd29de2d-dd8e-41e4-9463-c8c6a919e496","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-4bee31bba286","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.6-auto-merge-release-persistence","prNumber":null,"terminal":false,"missionId":"4bee31bb-a286-4fbe-a437-c87947cceab6","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"4bee31bb-a286-4fbe-a437-c87947cceab6"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":9676,"likelyAffectedFiles":["src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","src/__tests__/contracts/command-center-platform-mission-anchor.contract.test.ts","src/__tests__/contracts/command-center-event-runtime.test.ts",".forgejo/workflows/knocklaunch.yml","src/__tests__/commandCenter/deployDetection.test.ts","scripts/validate-command-center-contracts.mjs","config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T04:24:58.04227+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:4bee31bb-a286-4fbe-a437-c87947cceab6:execute_mission:repair_mission_synthesis_ready","mission_step_id":"878dea0b-bfd1-4b06-9271-16e675b52315","command_center_event_id":"4bee31bb-a286-4fbe-a437-c87947cceab6"},{"id":"bd29e2f1-684d-48d8-a91d-5f21a22e25a8","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-migrations/live":"pending","supabase-edge-production/live":"pending"},"mainSha":"1fe1471798a90a3168738120c16be948f05dbfea","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live","supabase-migrations/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","supabase-migrations/live"],"sourceSha":"1fe1471798a90a3168738120c16be948f05dbfea","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["command-center-autopilot"]},"releaseTargetStates":{"migrations":"pending","supabaseEdge":"pending"},"requestContractHash":"0d410de7973d15c2f1e88f82526130c853a36f2508a31d0f63a5ab0f78dd1548","forgejoWorkflowProof":{"runId":15638,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"migrations":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"migrations":"pending","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T14:20:27.937264+00:00","proof_gate":"canonical_release_pending","source_sha":"1fe1471798a90a3168738120c16be948f05dbfea","external_id":"forgejo-main-1fe1471798a9","receipt_type":"canonical_release_status","idempotency_key":"mission:6209bd54-40c6-4105-be7c-e634a1d2a544:forgejo-release-status:1fe1471798a90a3168738120c16be948f05dbfea:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|supabase-migrations/live=pending","mission_step_id":"6eedb71f-1c00-40b8-b781-3feab415e102","command_center_event_id":"6209bd54-40c6-4105-be7c-e634a1d2a544"},{"id":"bd2bb42b-40bc-4b11-a925-e0da8b031718","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-6c0d93a39b45","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.144-request-contract-inference","prNumber":null,"terminal":false,"missionId":"6c0d93a3-9b45-4cf0-86f0-df3323ade6aa","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":11,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":421,"providerAuthMs":0,"ledgerPrepareMs":421,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":421,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":421,"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":"6c0d93a3-9b45-4cf0-86f0-df3323ade6aa"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6987,"likelyAffectedFiles":["src/config/applicationCapabilityRegistry.ts","src/pages/owner/KnockLaunchTenantBootstrap.tsx","supabase/functions/tenant-media-library/index.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T01:51:42.101102+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:6c0d93a3-9b45-4cf0-86f0-df3323ade6aa:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"182e9de6-c286-4894-8682-c5df4322cbec","command_center_event_id":"6c0d93a3-9b45-4cf0-86f0-df3323ade6aa"},{"id":"bd2f8b54-c4e6-407c-b03e-e9144266536a","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-bbfb22638737","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":23540,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":8,"executorlessWaitMs":44056,"firstUsefulResultAt":"2026-10-06T15:55:12.245Z","recoveryAttemptCount":10,"ownerInterruptionCount":0},"version":null,"prNumber":5199,"terminal":false,"missionId":"bbfb2263-8737-4431-81b9-932610510767","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"d71417cbdb79488af8aa8011d4594d7a8c3184cc","timingsMs":{"prReadinessMs":863,"approvedPlanMs":0,"shipAndProveMs":1069,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"bbfb2263-8737-4431-81b9-932610510767"},"performance":null,"deploymentId":"forgejo-main-d71417cbdb79","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1931,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:55:59.550501+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"5199","receipt_type":"automatic_mission_resume","idempotency_key":"mission:bbfb2263-8737-4431-81b9-932610510767:automatic-mission-resume:5199:canonical_release_reconciliation_pending","mission_step_id":"68f7ebd2-2b42-4e7f-b23f-f175315a5b0f","command_center_event_id":"bbfb2263-8737-4431-81b9-932610510767"},{"id":"bd351e43-6f96-48dd-bd06-7addf18f6da1","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/keep-map-live-while-moving-in-experience-studio-r202608041221","reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.5-truthful-release-correlation","prNumber":3953,"terminal":false,"missionId":"384ca8f2-80fa-469b-baf3-0b5e78c356e7","operation":"execute_mission","proofGate":"ship_and_prove_release_pending","sourceSha":"fa7d247d489cd9992dbceca26614ecd77bdea59f","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"384ca8f2-80fa-469b-baf3-0b5e78c356e7"},"performance":null,"deploymentId":"canonical-release-fa7d247d489c","workflowRunId":30908779131,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"sourceReceiptBytes":2236,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-04T12:22:08.678452+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"fa7d247d489cd9992dbceca26614ecd77bdea59f","external_id":"canonical-release-fa7d247d489c","receipt_type":"execute_mission","idempotency_key":"mission:384ca8f2-80fa-469b-baf3-0b5e78c356e7:execute_mission:ship_and_prove_release_pending","mission_step_id":"03a3c484-e4ea-4257-8867-0206aa1656c3","command_center_event_id":"384ca8f2-80fa-469b-baf3-0b5e78c356e7"},{"id":"bd38e6d3-0883-49f4-a4f7-3eaec9f8e305","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-bdb936b2e84f","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":28667,"releaseCount":0,"toolCallCount":21,"repeatedCallCount":10,"executorlessWaitMs":8948279,"firstUsefulResultAt":"2026-09-25T13:21:36.653Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.282-lineage-main-guard","prNumber":3730,"terminal":false,"missionId":"bdb936b2-e84f-409b-98ae-f50b6415629c","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"8c6a52496642117d593928d4a926b161c464737d","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2049,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":121,"approvedPlanMs":0,"missionSetupMs":259,"providerAuthMs":0,"shipAndProveMs":1225,"ledgerPrepareMs":259,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":259,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":259,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"bdb936b2-e84f-409b-98ae-f50b6415629c"},"performance":null,"deploymentId":"forgejo-main-8c6a52496642","releaseState":"failed","workflowRunId":11827,"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":3039,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T15:51:31.308495+00:00","proof_gate":"canonical_release_dispatched","source_sha":"8c6a52496642117d593928d4a926b161c464737d","external_id":"forgejo-main-8c6a52496642","receipt_type":"execute_mission","idempotency_key":"mission:bdb936b2-e84f-409b-98ae-f50b6415629c:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"e8e3549d-fa21-4ca6-a049-d05f0a75c3d6","command_center_event_id":"bdb936b2-e84f-409b-98ae-f50b6415629c"},{"id":"bd3b17bb-9e59-488e-be04-f62a820e0a48","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Continue the owner-authorized control-plane maintenance after deterministic gate test failures. Change only the regression test file, re-gate the same PR, deploy the repaired runtime, then refreeze the control plane.","baseSha":"645e4c99eccf3ccdfc5b2cc63dbabab5d2d9f224","issuedAt":1788599018546,"expiresAt":1788599198546,"missionId":"23641945-9fb4-4c4e-8748-8375ab892303","authorizationId":"1f01a1b1-f3f3-4b71-91e6-ef0f1ff3856c","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T09:03:39.031703+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"645e4c99eccf3ccdfc5b2cc63dbabab5d2d9f224","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:1f01a1b1-f3f3-4b71-91e6-ef0f1ff3856c","mission_step_id":"93be3b15-8ac5-492d-9dc2-6790e7978d5a","command_center_event_id":"23641945-9fb4-4c4e-8748-8375ab892303"},{"id":"bd3d58af-2b23-4fcd-92bd-0289602d3154","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":10475,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.47.10-forgejo-merge-authority","prNumber":456,"terminal":false,"missionId":"98cb692e-2213-46d1-aed6-5cedc7fd42ae","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"ecfcb12cb63f5f99523efe152bab9ff8f6c3321f","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"98cb692e-2213-46d1-aed6-5cedc7fd42ae"},"performance":null,"deploymentId":"forgejo-main-ecfcb12cb63f","workflowRunId":1607,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5968,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T23:33:59.255704+00:00","proof_gate":"canonical_release_dispatched","source_sha":"ecfcb12cb63f5f99523efe152bab9ff8f6c3321f","external_id":"forgejo-main-ecfcb12cb63f","receipt_type":"ship_and_prove","idempotency_key":"mission:98cb692e-2213-46d1-aed6-5cedc7fd42ae:ship_and_prove:canonical_release_dispatched:ecfcb12cb63f5f99523efe152bab9ff8f6c3321f:1607","mission_step_id":"5f9f937e-bd1c-487b-8adb-bace7b19ba14","command_center_event_id":"98cb692e-2213-46d1-aed6-5cedc7fd42ae"},{"id":"bd3db983-09f1-4f82-9b1f-4ba2bfd47367","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-47d7bcd844ff","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":14214,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":428507,"firstUsefulResultAt":"2026-09-30T14:02:46.197Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.16-paul-eval-dash-normalization","prNumber":4245,"terminal":false,"missionId":"47d7bcd8-44ff-4775-bc64-0a716a4cb5f8","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4003,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":597,"missionSetupMs":329,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":329,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":329,"repositoryMutationMs":3406,"repositoryProviderMs":3406,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2021,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":329,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1385},"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":"47d7bcd8-44ff-4775-bc64-0a716a4cb5f8"},"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":3753,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-30T14:10:01.240388+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4245","receipt_type":"execute_mission","idempotency_key":"mission:47d7bcd8-44ff-4775-bc64-0a716a4cb5f8:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"ae425880-853f-4d28-98a6-109d04effd6e","command_center_event_id":"47d7bcd8-44ff-4775-bc64-0a716a4cb5f8"},{"id":"bd3e3394-8da1-4670-90f5-241a802a1599","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"6639535bc6c1a59a48175a9d564f413a6ccfe580","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"6639535bc6c1a59a48175a9d564f413a6ccfe580","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":"eb51285432d3bf2b411f133089f9140bc68e5e81b2f99e123fbb5304c6678050","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/8477","runId":8477,"status":"running","sourceSha":"6639535bc6c1a59a48175a9d564f413a6ccfe580","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"ca22263b51d6cfc4ed7793bf9fa1413d1ea22664","deploymentId":"forgejo-main-ca22263b51d6cfc4ed7793bf9fa1413d1ea22664","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.153-cancelled-release-ancestry-fallback","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T19:32:16.406199+00:00","proof_gate":"canonical_release_pending","source_sha":"6639535bc6c1a59a48175a9d564f413a6ccfe580","external_id":"forgejo-main-6639535bc6c1","receipt_type":"canonical_release_status","idempotency_key":"mission:e022ab9e-6319-46ad-8f92-9aaa5762b505:forgejo-release-status:6639535bc6c1a59a48175a9d564f413a6ccfe580:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"aa2e5cb4-83be-471d-93f7-4aec91108a5c","command_center_event_id":"e022ab9e-6319-46ad-8f92-9aaa5762b505"},{"id":"bd43a87e-4e20-4961-aaa5-ec9e2bfc011d","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-07T01:21:10.541827+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":4160,\"sourceSha\":\"38fc119099df613f3af42cc933607d99e6382596\",\"deploymentId\":\"canonical-release-38fc119099df\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T14:08:49.462556+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:d0eaf12c-79cc-4efa-87bc-ae2d2133c818:owner-progress-heartbeat:119408195","mission_step_id":"aa5802a7-5bba-4cc5-8e4a-0bd1c9d8c540","command_center_event_id":"d0eaf12c-79cc-4efa-87bc-ae2d2133c818"},{"id":"bd44f739-71cd-48de-8ea6-ae7575b547bc","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_not_unique:src/pages/godmode/GodModeDashboard.tsx","fingerprint":"95a9bb7b1973e9f33971fb5ddbafa3ed50ef0a8003d3801fad666759655b8de8"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T02:08:44.285567+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:c353b894-6db3-4cda-af74-08a44a3c0df3:repository-mutation-intent-blocked:95a9bb7b1973e9f33971fb5ddbafa3ed50ef0a8003d3801fad666759655b8de8","mission_step_id":"6f21a605-04f0-4287-9c0c-d6b788607856","command_center_event_id":"c353b894-6db3-4cda-af74-08a44a3c0df3"},{"id":"bd45e89f-f255-47e2-925b-25d368b1ba8a","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-popup-map-lifecycle","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.144-request-contract-inference","prNumber":2739,"terminal":false,"missionId":"c2eafd2f-a15d-4508-bf8b-10996e16e646","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"81689887eb4437afa648e3d6c4ce04c610f0b92d","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4717,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":271,"approvedPlanMs":0,"missionSetupMs":300,"providerAuthMs":0,"shipAndProveMs":4086,"ledgerPrepareMs":300,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":300,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":300,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"c2eafd2f-a15d-4508-bf8b-10996e16e646"},"performance":null,"deploymentId":"forgejo-main-81689887eb44","workflowRunId":8112,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1477,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T08:01:34.395878+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"81689887eb4437afa648e3d6c4ce04c610f0b92d","external_id":"forgejo-main-81689887eb44","receipt_type":"execute_mission","idempotency_key":"mission:c2eafd2f-a15d-4508-bf8b-10996e16e646:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"5e426735-f216-42a0-97e2-7101f1ce0714","command_center_event_id":"c2eafd2f-a15d-4508-bf8b-10996e16e646"},{"id":"bd466d24-5bfa-4f6f-a3f4-5a5d014ad26b","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"runtime_proof","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":5767,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":6,"ownerInterruptionCount":0},"version":"1.31.7-canonical-planner-owners","prNumber":4248,"terminal":false,"missionId":"98e1ab21-f240-4878-a7e1-caf8be42b4ae","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"c8ce235186ee07139a72b556b2a3ab9d2d89606d","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"98e1ab21-f240-4878-a7e1-caf8be42b4ae"},"performance":null,"deploymentId":"canonical-release-c8ce235186ee","workflowRunId":31207148225,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1058,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T18:48:47.916475+00:00","proof_gate":"canonical_release_dispatched","source_sha":"c8ce235186ee07139a72b556b2a3ab9d2d89606d","external_id":"canonical-release-c8ce235186ee","receipt_type":"ship_and_prove","idempotency_key":"mission:98e1ab21-f240-4878-a7e1-caf8be42b4ae:ship_and_prove:canonical_release_dispatched","mission_step_id":"e8da5294-fb56-4f78-87ca-98f092370b2f","command_center_event_id":"98e1ab21-f240-4878-a7e1-caf8be42b4ae"},{"id":"bd47b83d-9fb1-49f6-9b34-9bb3759853d7","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"Implement major shared PAUL Sidekick operational self-awareness upgrades for Noel's October 1, 2026 America/New_York handoff replacing external ChatGPT sessions. Use the existing platform-sidekick-intelligence primitive across all its consumers, not another intelligence layer. Inspect exact current runtime implementation and existing active related work before editing; reuse relevant canonical work when appropriate. Build grounded self-knowledge from live capability registry/runtime identity/provider availability and authorization; know selected tenant/user/role/route and distinguish owner GodMode from tenant scope; include actual active mission state, latest receipts, blockers, continuation points and concurrent work in responses, without claiming completion beyond proof. Retrieve durable owner decisions and scoped memory, persist relevant decisions and the new October 1 deadline (superseding October 4 handoff target), distinguish observed/inferred/unknown/stale facts and refresh only relevant live context. Keep chat usable during execution and treat follow-up instructions as steering without discarding the objective. Make authorized work continue via existing canonical mission/Gate/merge/release machinery, with bounded recovery and concrete readable progress rather than empty recap or capability menus. Add behavioral regression cases for capabilities questions, ongoing-work questions, reconnect/continue, correction while busy, tenant isolation, stale runtime information, and refusal to claim deployed without receipt. Establish an honest readiness report from actual case results. Inspect exact diff, canonical Gate, squash merge, release only affected owners, verify live behavior. This request authorizes implementation and deployment; do not stop at a plan/config-only declaration or require the owner to repeat go ahead. Preserve existing authorization boundaries and never fabricate readiness. Focus on governing self-awareness primitive and necessary integrations.","proofKinds":["runtime"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Implement major shared PAUL Sidekick operational self-awareness upgrades for Noel's October 1, 2026 America/New_York handoff replacing external ChatGPT sessions. Use the existing platform-sidekick-intelligence primitive across all its consumers, not another intelligence layer. Inspect exact current runtime implementation and existing active related work before editing; reuse relevant canonical work when appropriate. Build grounded self-knowledge from live capability registry/runtime identity/provider availability and authorization; know selected tenant/user/role/route and distinguish owner GodMode from tenant scope; include actual active mission state, latest receipts, blockers, continuation points and concurrent work in responses, without claiming completion beyond proof. Retrieve durable owner decisions and scoped memory, persist relevant decisions and the new October 1 deadline (superseding October 4 handoff target), distinguish observed/inferred/unknown/stale facts and refresh only relevant live context. Keep chat usable during execution and treat follow-up instructions as steering without discarding the objective. Make authorized work continue via existing canonical mission/Gate/merge/release machinery, with bounded recovery and concrete readable progress rather than empty recap or capability menus. Add behavioral regression cases for capabilities questions, ongoing-work questions, reconnect/continue, correction while busy, tenant isolation, stale runtime information, and refusal to claim deployed without receipt. Establish an honest readiness report from actual case results. Inspect exact diff, canonical Gate, squash merge, release only affected owners, verify live behavior. This request authorizes implementation and deployment; do not stop at a plan/config-only declaration or require the owner to repeat go ahead. Preserve existing authorization boundaries and never fabricate readiness. Focus on governing self-awareness primitive and necessary integrations.","wordingChanged":false,"canonicalIntent":"Implement major shared PAUL Sidekick operational self-awareness upgrades for Noel's October 1, 2026 America/New_York handoff replacing external ChatGPT sessions. Use the existing platform-sidekick-intelligence primitive across all its consumers, not another intelligence layer. Inspect exact current runtime implementation and existing active related work before editing; reuse relevant canonical work when appropriate. Build grounded self-knowledge from live capability registry/runtime identity/provider availability and authorization; know selected tenant/user/role/route and distinguish owner GodMode from tenant scope; include actual active mission state, latest receipts, blockers, continuation points and concurrent work in responses, without claiming completion beyond proof. Retrieve durable owner decisions and scoped memory, persist relevant decisions and the new October 1 deadline (superseding October 4 handoff target), distinguish observed/inferred/unknown/stale facts and refresh only relevant live context. Keep chat usable during execution and treat follow-up instructions as steering without discarding the objective. Make authorized work continue via existing canonical mission/Gate/merge/release machinery, with bounded recovery and concrete readable progress rather than empty recap or capability menus. Add behavioral regression cases for capabilities questions, ongoing-work questions, reconnect/continue, correction while busy, tenant isolation, stale runtime information, and refusal to claim deployed without receipt. Establish an honest readiness report from actual case results. Inspect exact diff, canonical Gate, squash merge, release only affected owners, verify live behavior. This request authorizes implementation and deployment; do not stop at a plan/config-only declaration or require the owner to repeat go ahead. Preserve existing authorization boundaries and never fabricate readiness. Focus on governing self-awareness primitive and necessary integrations.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"self-awareness","statement":"Implement major shared PAUL Sidekick operational self-awareness upgrades for Noel's October 1, 2026 America/New_York handoff replacing external ChatGPT sessions. Use the existing platform-sidekick-intelligence primitive across all its consumers, not another intelligence layer. Inspect exact current runtime implementation and existing active related work before editing; reuse relevant canonical work when appropriate. Build grounded self-knowledge from live capability registry/runtime identity/provider availability and authorization; know selected tenant/user/role/route and distinguish owner GodMode from tenant scope; include actual active mission state, latest receipts, blockers, continuation points and concurrent work in responses, without claiming completion beyond proof. Retrieve durable owner decisions and scoped memory, persist relevant decisions and the new October 1 deadline (superseding October 4 handoff target), distinguish observed/inferred/unknown/stale facts and refresh only relevant live context. Keep chat usable during execution and treat follow-up instructions as steering without discarding the objective. Make authorized work continue via existing canonical mission/Ga","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]}],"objective":"Implement major shared PAUL Sidekick operational self-awareness upgrades for Noel's October 1, 2026 America/New_York handoff replacing external ChatGPT sessions. Use the existing platform-sidekick-intelligence primitive across all its consumers, not another intelligence layer. Inspect exact current runtime implementation and existing active related work before editing; reuse relevant canonical work when appropriate. Build grounded self-knowledge from live capability registry/runtime identity/provider availability and authorization; know selected tenant/user/role/route and distinguish owner GodMode from tenant scope; include actual active mission state, latest receipts, blockers, continuation points and concurrent work in responses, without claiming completion beyond proof. Retrieve durable owner decisions and scoped memory, persist relevant decisions and the new October 1 deadline (superseding October 4 handoff target), distinguish observed/inferred/unknown/stale facts and refresh only relevant live context. Keep chat usable during execution and treat follow-up instructions as steering without discarding the objective. Make authorized work continue via existing canonical mission/Gate/merge/release machinery, with bounded recovery and concrete readable progress rather than empty recap or capability menus. Add behavioral regression cases for capabilities questions, ongoing-work questions, reconnect/continue, correction while busy, tenant isolation, stale runtime information, and refusal to claim deployed without receipt. Establish an honest readiness report from actual case results. Inspect exact diff, canonical Gate, squash merge, release only affected owners, verify live behavior. This request authorizes implementation and deployment; do not stop at a plan/config-only declaration or require the owner to repeat go ahead. Preserve existing authorization boundaries and never fabricate readiness. Focus on governing self-awareness primitive and necessary integrations.","constraints":[{"id":"scope","statement":"Use existing intelligence; preserve tenant authorization; verify behavioral regression cases and honest readiness results.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]}],"adaptivePolicy":{"risk":{"tier":"high","blastRadius":"sensitive"},"proof":{"requiredKinds":["runtime"],"visualProofScope":"none","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":["supabase/functions/operator-respond/index.ts"]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"deadline_sensitive","deadlineSignals":["before editing"],"deadlineExplicit":true},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"serialize_overlapping_mutations","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop","mobile"],"behavioral":false,"visualProofScope":"none"},"dependencies":{"requiredDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":["supabaseEdge"]},"inputSignals":{"rawUtterance":"Implement major shared PAUL Sidekick operational self-awareness upgrades for Noel's October 1, 2026 America/New_York handoff replacing external ChatGPT sessions. Use the existing platform-sidekick-intelligence primitive across all its consumers, not another intelligence layer. Inspect exact current runtime implementation and existing active related work before editing; reuse relevant canonical work when appropriate. Build grounded self-knowledge from live capability registry/runtime identity/provider availability and authorization; know selected tenant/user/role/route and distinguish owner GodMode from tenant scope; include actual active mission state, latest receipts, blockers, continuation points and concurrent work in responses, without claiming completion beyond proof. Retrieve durable owner decisions and scoped memory, persist relevant decisions and the new October 1 deadline (superseding October 4 handoff target), distinguish observed/inferred/unknown/stale facts and refresh only relevant live context. Keep chat usable during execution and treat follow-up instructions as steering without discarding the objective. Make authorized work continue via existing canonical mission/Gate/merge/release machinery, with bounded recovery and concrete readable progress rather than empty recap or capability menus. Add behavioral regression cases for capabilities questions, ongoing-work questions, reconnect/continue, correction while busy, tenant isolation, stale runtime information, and refusal to claim deployed without receipt. Establish an honest readiness report from actual case results. Inspect exact diff, canonical Gate, squash merge, release only affected owners, verify live behavior. This request authorizes implementation and deployment; do not stop at a plan/config-only declaration or require the owner to repeat go ahead. Preserve existing authorization boundaries and never fabricate readiness. Focus on governing self-awareness primitive and necessary integrations.","canonicalIntent":"Implement major shared PAUL Sidekick operational self-awareness upgrades for Noel's October 1, 2026 America/New_York handoff replacing external ChatGPT sessions. Use the existing platform-sidekick-intelligence primitive across all its consumers, not another intelligence layer. Inspect exact current runtime implementation and existing active related work before editing; reuse relevant canonical work when appropriate. Build grounded self-knowledge from live capability registry/runtime identity/provider availability and authorization; know selected tenant/user/role/route and distinguish owner GodMode from tenant scope; include actual active mission state, latest receipts, blockers, continuation points and concurrent work in responses, without claiming completion beyond proof. Retrieve durable owner decisions and scoped memory, persist relevant decisions and the new October 1 deadline (superseding October 4 handoff target), distinguish observed/inferred/unknown/stale facts and refresh only relevant live context. Keep chat usable during execution and treat follow-up instructions as steering without discarding the objective. Make authorized work continue via existing canonical mission/Gate/merge/release machinery, with bounded recovery and concrete readable progress rather than empty recap or capability menus. Add behavioral regression cases for capabilities questions, ongoing-work questions, reconnect/continue, correction while busy, tenant isolation, stale runtime information, and refusal to claim deployed without receipt. Establish an honest readiness report from actual case results. Inspect exact diff, canonical Gate, squash merge, release only affected owners, verify live behavior. This request authorizes implementation and deployment; do not stop at a plan/config-only declaration or require the owner to repeat go ahead. Preserve existing authorization boundaries and never fabricate readiness. Focus on governing self-awareness primitive and necessary integrations.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime","kind":"runtime","claim":"Affected owners live with tested grounded capability awareness, current-work continuity, reconnect, steering while busy, tenant isolation, stale-evidence handling and receipt-backed completion claims; October 1 handoff target persisted.","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":"Implement-major-shared-PAUL-Sidekick-operational-self-awareness-upgrades-for-Noel-s-October-1-2026-A","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"]},"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":"7e9e08bde92d4ba612ec3bcc04d15bdd46fa485223e432568877655aa68e6435","requestContractRevision":3,"previousRequestContractHash":"516bc39f44a48e0868807aa48c88f9f9f0fb94986ec63ffb2e0f03747bb7f987"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T13:58:16.807634+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:625d0f4e-d80b-4bfc-ad1f-d4d2b7cf9d8f:request-contract:7e9e08bde92d4ba612ec3bcc04d15bdd46fa485223e432568877655aa68e6435","mission_step_id":"8b7c28f4-a78a-440c-bf3a-b21990828bfd","command_center_event_id":"625d0f4e-d80b-4bfc-ad1f-d4d2b7cf9d8f"},{"id":"bd498bfc-4950-4fb9-83d5-7209231d9af2","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/legacy-mission-id-terminalization-20260910","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.90-mission-terminalization","prNumber":2287,"terminal":false,"missionId":"20aae700-7266-447e-844c-b0d60ddea665","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4272,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":269,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":269,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":269,"repositoryMutationMs":4272,"repositoryProviderMs":3110,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1748,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":269,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1362},"nextAction":"Canonical KnockLaunch Gate notifier and mission supervisor own progression from this exact PR head; do not synchronously poll Forgejo from the owner request.","receiptRef":{"mode":"full","missionId":"20aae700-7266-447e-844c-b0d60ddea665"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3420,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T06:39:40.717675+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2287","receipt_type":"execute_mission","idempotency_key":"mission:20aae700-7266-447e-844c-b0d60ddea665:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:generation-5","mission_step_id":"fcc4502e-7930-43dc-91dc-49f9dc193586","command_center_event_id":"20aae700-7266-447e-844c-b0d60ddea665"},{"id":"bd4be053-6fe2-4147-8820-d0d615e80340","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/proposal-editor-crop-mode-context-menu","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":1977,"terminal":false,"missionId":"fed12649-5db9-4ccc-91dc-e180b5e8752c","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"4fddbe556e903e2f88911933b76b74d335dcf0e8","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9814,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1081,"approvedPlanMs":0,"missionSetupMs":637,"providerAuthMs":0,"shipAndProveMs":8604,"ledgerPrepareMs":485,"ledgerReconcileMs":0,"lineageReconcileMs":152,"resolvePreflightMs":637,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":485,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"fed12649-5db9-4ccc-91dc-e180b5e8752c"},"performance":null,"deploymentId":"forgejo-main-4fddbe556e90","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2655,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T18:06:22.305295+00:00","proof_gate":"canonical_release_dispatched","source_sha":"4fddbe556e903e2f88911933b76b74d335dcf0e8","external_id":"forgejo-main-4fddbe556e90","receipt_type":"execute_mission","idempotency_key":"mission:fed12649-5db9-4ccc-91dc-e180b5e8752c:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"deab8f65-e19a-4c1f-ad41-f9a94c86168b","command_center_event_id":"fed12649-5db9-4ccc-91dc-e180b5e8752c"},{"id":"bd4c6eec-b061-409d-8ba2-5e286eea9ba5","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/command-center-contracts.js"],"baseSha":"533ae9d81909f3870a09604cffcd78f85a9ac178","issuedAt":1791931531000,"expiresAt":1791931711000,"missionId":"a2dc5c31-34b3-46e0-b393-5fc4809a86ae","autoRefreeze":true,"authorizationId":"67a88410-864b-4e5b-8360-8c598aac4aec","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T22:45:31.606039+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"533ae9d81909f3870a09604cffcd78f85a9ac178","external_id":"67a88410-864b-4e5b-8360-8c598aac4aec","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:a2dc5c31-34b3-46e0-b393-5fc4809a86ae:67a88410-864b-4e5b-8360-8c598aac4aec","mission_step_id":null,"command_center_event_id":"a2dc5c31-34b3-46e0-b393-5fc4809a86ae"},{"id":"bd4c8035-1b42-480f-a43a-fdf32a048c6f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"forgejo_release_source_not_current_main","status":"blocked","metrics":{"receiptBytes":4510,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":54,"terminal":false,"missionId":"7d0cf7a5-6811-416f-8bac-ecca003d4523","operation":"automatic_mission_resume","proofGate":"canonical_release_blocked","sourceSha":"5613caf6894fc90fec05ba0a1614206b1ef18b6a","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"7d0cf7a5-6811-416f-8bac-ecca003d4523"},"performance":null,"deploymentId":"forgejo-main-5613caf6894f","workflowRunId":149,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":316,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-15T03:51:53.702986+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"54","receipt_type":"automatic_mission_resume","idempotency_key":"mission:7d0cf7a5-6811-416f-8bac-ecca003d4523:automatic-mission-resume:54:canonical_release_blocked","mission_step_id":"a8218dbb-46fb-4e66-b9e3-a029b5698f2b","command_center_event_id":"7d0cf7a5-6811-416f-8bac-ecca003d4523"},{"id":"bd4e4d2e-b6af-4085-9723-5b2db0bdc69d","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-big-papis-inventory-rls-20260825","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":9507,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":4,"ownerInterruptionCount":0},"version":"1.50.47-noop-merge-tree-proof","prNumber":751,"terminal":false,"missionId":"77a4caee-1dfe-41aa-b362-df47a6de4cd3","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"39904c2807cb1801b69ffb954c86ad223af9bf11","timingsMs":{"handlerMs":10791,"prReadinessMs":126,"approvedPlanMs":0,"missionSetupMs":2835,"shipAndProveMs":10665},"nextAction":null,"receiptRef":{"mode":"full","missionId":"77a4caee-1dfe-41aa-b362-df47a6de4cd3"},"performance":null,"deploymentId":"forgejo-main-39904c2807cb","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["mobile-vendor-event-request","mobile-vendor-growth"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6430,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-25T17:06:37.761129+00:00","proof_gate":"canonical_release_dispatched","source_sha":"39904c2807cb1801b69ffb954c86ad223af9bf11","external_id":"forgejo-main-39904c2807cb","receipt_type":"execute_mission","idempotency_key":"mission:77a4caee-1dfe-41aa-b362-df47a6de4cd3:execute_mission:canonical_release_dispatched","mission_step_id":"db27ad0b-302d-40b4-99a5-214ec01a75fb","command_center_event_id":"77a4caee-1dfe-41aa-b362-df47a6de4cd3"},{"id":"bd50edbc-5631-447c-addb-92d2f27aaa9a","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d02f9bb056d2","reason":"anchored_edit_anchor_missing:workers/cc-execution/src/index-release-fast-lane.js","status":"blocked","metrics":{"receiptBytes":15126,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"executorlessWaitMs":166204,"firstUsefulResultAt":"2026-09-25T23:12:19.955Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.283-heavy-runner-labels","prNumber":null,"terminal":false,"missionId":"d02f9bb0-56d2-4736-a195-b14226b5aba7","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1563,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1563,"missionSetupMs":277,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":277,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":277,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":277,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"d02f9bb0-56d2-4736-a195-b14226b5aba7"},"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":1541,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T23:14:51.028838+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d02f9bb0-56d2-4736-a195-b14226b5aba7:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"0e8d47a8-fc32-45e7-ac4d-484873772854","command_center_event_id":"d02f9bb0-56d2-4736-a195-b14226b5aba7"},{"id":"bd540f09-c23c-4fa7-890e-d1ef7b187aa5","source":"cc-execution","status":"implementation_payload_required","payload":{"reason":"compiler_model_generation_failed","failureClass":"retryable","sourceTargets":["src/pages/card-grading/PCGCardCustomerOrderAssignment.tsx","src/pages/card-grading/PCGSlabUpload.tsx","src/pages/card-grading/PCGWorkspace.tsx"],"dependencyReason":"model_provider_attempt_timeout","dependencyStatus":504,"providerAttempts":[{"role":"deep","reason":"model_provider_invalid_json","status":502,"provider":"cloudflare-workers-ai","formatRepair":false},{"role":"deep","reason":"model_provider_invalid_json","status":502,"provider":"cloudflare-workers-ai","formatRepair":true},{"role":"primary","reason":"model_provider_attempt_timeout","status":504,"provider":"cloudflare-workers-ai","formatRepair":false}],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-14T01:18:21.705269+00:00","proof_gate":"first_party_exact_source_edit_continuation_persisted","source_sha":"6958889426cd8b8c99967b8cc28f71d02099a0ed","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:d56baab7-116c-42c9-b97c-2d7ebaf509fc:compiler:6958889426cd8b8c99967b8cc28f71d02099a0ed:src/pages/card-grading/PCGCardCustomerOrderAssignment.tsx,src/pages/card-grading/PCGSlabUpload.tsx,src/pages/card-grading/PCGWorkspace.tsx","mission_step_id":"315191e5-240a-4289-8228-b59309e73643","command_center_event_id":"d56baab7-116c-42c9-b97c-2d7ebaf509fc"},{"id":"bd545129-548e-4839-895c-bfc1eb61dc66","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/321-auto-unlock-route-depth-20260901","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":9954,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.0-frontend-build-velocity-freeze","prNumber":1240,"terminal":false,"missionId":"32b26b3f-1e3c-4c22-823a-737e3df2fc10","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"485e4c5091901f58faf84911dd98e8af7e105d02","timingsMs":{"handlerMs":15858,"prReadinessMs":2856,"approvedPlanMs":4991,"missionSetupMs":2521,"shipAndProveMs":7644},"nextAction":null,"receiptRef":{"mode":"full","missionId":"32b26b3f-1e3c-4c22-823a-737e3df2fc10"},"performance":null,"deploymentId":"forgejo-main-485e4c509190","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3707,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-01T11:28:12.850612+00:00","proof_gate":"canonical_release_dispatched","source_sha":"485e4c5091901f58faf84911dd98e8af7e105d02","external_id":"forgejo-main-485e4c509190","receipt_type":"execute_mission","idempotency_key":"mission:32b26b3f-1e3c-4c22-823a-737e3df2fc10:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"8d37c5f6-7b48-42d5-be85-e8682abd1844","command_center_event_id":"32b26b3f-1e3c-4c22-823a-737e3df2fc10"},{"id":"bd5582a4-1743-41fb-bbaa-6a1d74d56c94","source":"durable-mission-ledger","status":"waiting","payload":{"reason":"immutable_release_receipt_contract_hash_mismatch","sourceSha":"9f348ceb2c0264336b39d36da97795ad7b3e20bd","currentContractHash":"c9fa0b89e2555506624ea14d7a820ec097e6e8fba89189739e394230d879164e","priorReceiptContractHash":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T03:06:59.783894+00:00","proof_gate":"request_contract_release_rebind_blocked","source_sha":"9f348ceb2c0264336b39d36da97795ad7b3e20bd","external_id":null,"receipt_type":"request_contract_release_rebind_rejected","idempotency_key":"mission:10b94cd1-90ad-46bd-a864-548ea1c53b2a:release-rebind-blocked:9f348ceb2c0264336b39d36da97795ad7b3e20bd:none:c9fa0b89e2555506624ea14d7a820ec097e6e8fba89189739e394230d879164e","mission_step_id":"e71a1300-92e1-4bd1-8df3-c3e289deee5c","command_center_event_id":"10b94cd1-90ad-46bd-a864-548ea1c53b2a"},{"id":"bd5690ee-f474-486d-9b50-8024ac8bb358","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-208a1298dd98","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":6822,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-05T20:45:03.592Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":5058,"terminal":false,"missionId":"208a1298-dd98-45b2-bdb2-149eaa5dc7cb","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8068,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2121,"approvedPlanMs":2205,"missionSetupMs":353,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":353,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":353,"repositoryMutationMs":3736,"repositoryProviderMs":3736,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2339,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":353,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1397},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"208a1298-dd98-45b2-bdb2-149eaa5dc7cb"},"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":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:45:13.369012+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5058","receipt_type":"execute_mission","idempotency_key":"mission:208a1298-dd98-45b2-bdb2-149eaa5dc7cb:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"d543c35c-04d2-43e8-8e8d-1b92390baecb","command_center_event_id":"208a1298-dd98-45b2-bdb2-149eaa5dc7cb"},{"id":"bd5814f8-3107-4549-988a-81daa4d65185","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-62dc43114763","prNumber":2942,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"bb6bd06be1663b24f2b666d526f1cc553adcb233","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T19:38:41.285294+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"bb6bd06be1663b24f2b666d526f1cc553adcb233","external_id":"2942","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:62dc4311-4763-4408-a83e-fad585e3e823:merged-pr:2942:bb6bd06be1663b24f2b666d526f1cc553adcb233","mission_step_id":"ea1dab6a-d26e-4210-8871-0b7e89a9ba57","command_center_event_id":"62dc4311-4763-4408-a83e-fad585e3e823"},{"id":"bd58ac15-fe24-4dfb-b049-7c77a836de1f","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"baseSha":"16a886d223f9e9a0d2fd9b951ba4ca620a7fdc14","issuedAt":1791943622702,"expiresAt":1791943802702,"missionId":"94bb1a7f-3321-43d7-a85d-9e517460567f","autoRefreeze":true,"authorizationId":"07d16c43-8fc5-4f8a-b259-69de215708ba","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-14T02:07:03.166046+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"16a886d223f9e9a0d2fd9b951ba4ca620a7fdc14","external_id":"07d16c43-8fc5-4f8a-b259-69de215708ba","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:94bb1a7f-3321-43d7-a85d-9e517460567f:07d16c43-8fc5-4f8a-b259-69de215708ba","mission_step_id":null,"command_center_event_id":"94bb1a7f-3321-43d7-a85d-9e517460567f"},{"id":"bd59cace-60ff-4ccb-9cfd-afa829f56c4b","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":"ai/objective-first-repair-fd70f0e729e4","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4587,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":17752,"firstUsefulResultAt":"2026-10-05T17:55:12.242Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.99-positive-mutation-admission","prNumber":null,"terminal":false,"missionId":"fd70f0e7-29e4-4e98-aaf2-88436707b426","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3274,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":276,"providerAuthMs":0,"ledgerPrepareMs":276,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":276,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":276,"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":"fd70f0e7-29e4-4e98-aaf2-88436707b426"},"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":3484,"likelyAffectedFiles":["src/pages/card-grading/PCGAIGradingWorkbench.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T17:55:14.933371+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fd70f0e7-29e4-4e98-aaf2-88436707b426:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"bb701a4e-aa1a-49ef-b71f-e76e2e2613a4","command_center_event_id":"fd70f0e7-29e4-4e98-aaf2-88436707b426"},{"id":"bd5b5d81-045d-45f0-92ce-8db5cfc0b8a5","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b3b2f94edb9c","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":19409,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":2,"executorlessWaitMs":44662,"firstUsefulResultAt":"2026-10-02T00:51:28.644Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4435,"terminal":false,"missionId":"b3b2f94e-db9c-4526-8575-aea80e200751","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"82f395b8bb329c46783b0390c9ee3d72fcb05103","timingsMs":{"prReadinessMs":679,"approvedPlanMs":0,"shipAndProveMs":2844,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"b3b2f94e-db9c-4526-8575-aea80e200751"},"performance":null,"deploymentId":"forgejo-main-82f395b8bb32","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1935,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:52:18.048122+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4435","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b3b2f94e-db9c-4526-8575-aea80e200751:automatic-mission-resume:4435:canonical_release_reconciliation_pending","mission_step_id":"3cab161b-137f-4bfd-bd45-361e219b0e3d","command_center_event_id":"b3b2f94e-db9c-4526-8575-aea80e200751"},{"id":"bd5c9855-e74f-4141-8858-40d5cfe85bf9","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-4b968836f996","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":9564,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":101860,"firstUsefulResultAt":"2026-10-05T12:34:52.320Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.94-terminal-completion-supervisor","prNumber":null,"terminal":false,"missionId":"4b968836-f996-4b44-94df-f1f99deb34c3","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":522,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":522,"missionSetupMs":618,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":618,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":618,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":618,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"4b968836-f996-4b44-94df-f1f99deb34c3"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1422,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T12:36:36.093826+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:4b968836-f996-4b44-94df-f1f99deb34c3:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"d4dc5422-1fd6-4760-8a5a-1d712c17927a","command_center_event_id":"4b968836-f996-4b44-94df-f1f99deb34c3"},{"id":"bd5ce710-6b7d-4c62-bb6c-fe9cde4cfee9","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/pages/admin/WmpRepositoryPage.tsx","content":"import React from 'react';\nimport { Archive, Branch, Clock3, FileText, GitCommitHorizontal, Plus, RotateCcw, Search } from 'lucide-react';\nimport { supabase } from '@/integrations/supabase/client';\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\n\ntype RepoObject = { id:string; object_key:string; object_type:string; title:string; visibility:string; updated_at:string; current_revision_id?:string|null; branch_id?:string|null };\ntype RepoRevision = { id:string; revision_number:number; message:string|null; created_at:string; snapshot:any; actor_id:string|null };\ntype RepoBranch = { id:string; name:string; is_canonical:boolean; created_at:string };\n\nasync function callRepo(body: Record<string, unknown>) {\n  const { data, error } = await supabase.functions.invoke('wmp-repository', { body });\n  if (error) throw error;\n  if ((data as any)?.ok === false) throw new Error((data as any)?.error || 'Repository request failed');\n  return data as any;\n}\n\nexport default function WmpRepositoryPage() {\n  const { activeTenant } = useMultiTenant();\n  const tenantId = activeTenant?.id || '';\n  const [objects,setObjects]=React.useState<RepoObject[]>([]);\n  const [branches,setBranches]=React.useState<RepoBranch[]>([]);\n  const [selected,setSelected]=React.useState<RepoObject|null>(null);\n  const [history,setHistory]=React.useState<RepoRevision[]>([]);\n  const [query,setQuery]=React.useState('');\n  const [loading,setLoading]=React.useState(true);\n  const [error,setError]=React.useState<string|null>(null);\n\n  const refresh=React.useCallback(async()=>{\n    if(!tenantId) return;\n    setLoading(true); setError(null);\n    try {\n      const data=await callRepo({action:'bootstrap',tenantId});\n      setObjects(data.objects||[]); setBranches(data.branches||[]);\n      if(selected){\n        const updated=(data.objects||[]).find((o:RepoObject)=>o.id===selected.id)||null;\n        setSelected(updated);\n      }\n    } catch(err:any){ setError(err?.message||'Could not open repository.'); }\n    finally{ setLoading(false); }\n  },[tenantId,selected?.id]);\n\n  React.useEffect(()=>{ void refresh(); },[tenantId]);\n\n  const openObject=async(object:RepoObject)=>{\n    setSelected(object); setError(null);\n    try{ const data=await callRepo({action:'history',tenantId,objectId:object.id}); setHistory(data.revisions||[]); }\n    catch(err:any){ setError(err?.message||'Could not load history.'); }\n  };\n\n  const createObject=async()=>{\n    const title=window.prompt('What should this record be called?');\n    if(!title?.trim()) return;\n    await callRepo({action:'create_object',tenantId,title:title.trim(),objectType:'note',visibility:'internal',snapshot:{text:''},message:'Created record'});\n    await refresh();\n  };\n\n  const restore=async(revisionId:string)=>{\n    if(!selected) return;\n    await callRepo({action:'restore',tenantId,objectId:selected.id,revisionId,message:'Restored prior version'});\n    await openObject(selected); await refresh();\n  };\n\n  const filtered=objects.filter(o=>!query.trim()||[o.title,o.object_type,o.object_key].join(' ').toLowerCase().includes(query.toLowerCase()));\n\n  return <main className=\"min-h-screen bg-[#07100d] text-white\">\n    <div className=\"mx-auto w-full max-w-7xl px-4 py-5 sm:px-6 lg:px-8\">\n      <header className=\"sticky top-0 z-20 -mx-4 mb-5 border-b border-white/10 bg-[#07100d]/95 px-4 pb-4 pt-2 backdrop-blur sm:-mx-6 sm:px-6 lg:-mx-8 lg:px-8\">\n        <div className=\"flex flex-wrap items-center justify-between gap-3\">\n          <div>\n            <div className=\"text-[11px] font-black uppercase tracking-[.2em] text-emerald-300/70\">WhatsMyProgress</div>\n            <h1 className=\"text-2xl font-black tracking-tight\">Repository</h1>\n            <p className=\"mt-1 max-w-2xl text-sm text-white/55\">Versioned operational memory for missions, chats, decisions, files, proofs and working context.</p>\n          </div>\n          <button onClick={()=>void createObject()} className=\"inline-flex min-h-11 items-center gap-2 rounded-xl bg-emerald-400 px-4 text-sm font-black text-[#04100b] shadow-lg shadow-emerald-500/10\"><Plus className=\"h-4 w-4\"/>New record</button>\n        </div>\n      </header>\n\n      {error&&<div className=\"mb-4 rounded-2xl border border-rose-400/25 bg-rose-500/10 p-4 text-sm text-rose-100\">{error}</div>}\n      {!tenantId?<div className=\"rounded-3xl border border-white/10 bg-white/[.04] p-8 text-center text-white/60\">Choose a workspace to open its repository.</div>:\n      <div className=\"grid gap-5 lg:grid-cols-[300px_minmax(0,1fr)]\">\n        <aside className=\"space-y-4\">\n          <section className=\"rounded-3xl border border-white/10 bg-white/[.04] p-4\">\n            <div className=\"mb-3 flex items-center gap-2 text-sm font-black\"><Branch className=\"h-4 w-4 text-emerald-300\"/>Workstreams</div>\n            <div className=\"space-y-2\">{branches.map(b=><div key={b.id} className=\"flex items-center justify-between rounded-xl border border-white/8 bg-black/15 px-3 py-2.5 text-sm\"><span className=\"truncate font-semibold\">{b.name}</span>{b.is_canonical&&<span className=\"rounded-full bg-emerald-400/15 px-2 py-0.5 text-[10px] font-black uppercase tracking-wide text-emerald-200\">Main</span>}</div>)}</div>\n          </section>\n          <section className=\"rounded-3xl border border-white/10 bg-white/[.04] p-4\">\n            <div className=\"relative\"><Search className=\"pointer-events-none absolute left-3 top-3 h-4 w-4 text-white/35\"/><input value={query} onChange={e=>setQuery(e.target.value)} placeholder=\"Search repository\" className=\"w-full rounded-xl border border-white/10 bg-black/20 py-2.5 pl-9 pr-3 text-sm outline-none placeholder:text-white/30 focus:border-emerald-300/40\"/></div>\n            <div className=\"mt-3 max-h-[55vh] space-y-2 overflow-auto pr-1\">\n              {loading?<div className=\"p-3 text-sm text-white/45\">Opening repository…</div>:filtered.length===0?<div className=\"p-3 text-sm text-white/45\">No records yet.</div>:filtered.map(o=><button key={o.id} onClick={()=>void openObject(o)} className={\"w-full rounded-2xl border p-3 text-left transition \"+(selected?.id===o.id?\"border-emerald-300/35 bg-emerald-400/10\":\"border-white/8 bg-black/15 hover:bg-white/[.06]\")}><div className=\"flex items-start gap-3\"><FileText className=\"mt-0.5 h-4 w-4 shrink-0 text-emerald-300\"/><div className=\"min-w-0\"><div className=\"truncate text-sm font-black\">{o.title}</div><div className=\"mt-1 text-[11px] uppercase tracking-wide text-white/35\">{o.object_type} · {o.visibility}</div></div></div></button>)}\n            </div>\n          </section>\n        </aside>\n\n        <section className=\"min-w-0 rounded-3xl border border-white/10 bg-white/[.04] p-4 sm:p-5\">\n          {!selected?<div className=\"grid min-h-[420px] place-items-center text-center\"><div><Archive className=\"mx-auto h-10 w-10 text-emerald-300/70\"/><h2 className=\"mt-4 text-xl font-black\">Your operational history lives here.</h2><p className=\"mx-auto mt-2 max-w-lg text-sm leading-6 text-white/50\">Open a record to inspect every version, who changed it, where it came from, and restore any prior state without deleting history.</p></div></div>:\n          <div>\n            <div className=\"flex flex-wrap items-start justify-between gap-3 border-b border-white/10 pb-4\">\n              <div><div className=\"text-[11px] font-black uppercase tracking-[.18em] text-emerald-300/65\">{selected.object_type}</div><h2 className=\"mt-1 text-xl font-black\">{selected.title}</h2><div className=\"mt-1 text-xs text-white/35\">{selected.visibility}</div></div>\n              <div className=\"flex items-center gap-2 rounded-xl border border-white/10 bg-black/20 px-3 py-2 text-xs text-white/45\"><GitCommitHorizontal className=\"h-4 w-4\"/>Immutable history</div>\n            </div>\n            <div className=\"mt-4 space-y-3\">{history.map((rev,index)=><article key={rev.id} className=\"rounded-2xl border border-white/10 bg-black/15 p-4\"><div className=\"flex flex-wrap items-center justify-between gap-3\"><div><div className=\"flex items-center gap-2 text-sm font-black\"><Clock3 className=\"h-4 w-4 text-emerald-300\"/>Version {rev.revision_number}</div><div className=\"mt-1 text-xs text-white/40\">{new Date(rev.created_at).toLocaleString()} · {rev.message||'Saved change'}</div></div>{index>0&&<button onClick={()=>void restore(rev.id)} className=\"inline-flex min-h-10 items-center gap-2 rounded-xl border border-white/12 bg-white/[.05] px-3 text-xs font-black hover:bg-white/[.09]\"><RotateCcw className=\"h-4 w-4\"/>Restore as new version</button>}</div><pre className=\"mt-3 max-h-56 overflow-auto whitespace-pre-wrap break-words rounded-xl border border-white/8 bg-black/25 p-3 text-xs leading-5 text-white/65\">{JSON.stringify(rev.snapshot,null,2)}</pre></article>)}</div>\n          </div>}\n        </section>\n      </div>}\n    </div>\n  </main>;\n}\n"},{"path":"supabase/functions/wmp-repository/index.ts","content":"import { serve } from \"https://deno.land/std@0.168.0/http/server.ts\";\nimport { createClient } from \"https://esm.sh/@supabase/supabase-js@2.45.0\";\n\nconst cors={\"Access-Control-Allow-Origin\":\"*\",\"Access-Control-Allow-Headers\":\"authorization, apikey, content-type, idempotency-key\",\"Access-Control-Allow-Methods\":\"POST, OPTIONS\"};\nconst json=(body:unknown,status=200)=>new Response(JSON.stringify(body),{status,headers:{...cors,\"Content-Type\":\"application/json\",\"Cache-Control\":\"no-store\",\"X-WMP-Repository-Version\":\"1.0.0\"}});\nconst uuid=()=>crypto.randomUUID();\n\nserve(async(req)=>{\n  if(req.method===\"OPTIONS\") return new Response(null,{status:204,headers:cors});\n  if(req.method!==\"POST\") return json({ok:false,error:\"method_not_allowed\"},405);\n  const url=Deno.env.get(\"SUPABASE_URL\")||\"\";\n  const anon=Deno.env.get(\"SUPABASE_ANON_KEY\")||\"\";\n  const service=Deno.env.get(\"SUPABASE_SERVICE_ROLE_KEY\")||\"\";\n  const auth=createClient(url,anon,{global:{headers:{Authorization:req.headers.get(\"Authorization\")||\"\"}}});\n  const admin=createClient(url,service,{auth:{persistSession:false}});\n  const {data:{user},error:userError}=await auth.auth.getUser();\n  if(userError||!user) return json({ok:false,error:\"unauthorized\"},401);\n  const body=await req.json().catch(()=>({}));\n  const action=String(body.action||\"\");\n  const tenantId=String(body.tenantId||\"\");\n  if(!tenantId) return json({ok:false,error:\"tenant_required\"},400);\n  const [{data:tenant},{data:membership}]=await Promise.all([\n    admin.from(\"tenants\").select(\"id,owner_id\").eq(\"id\",tenantId).maybeSingle(),\n    admin.from(\"user_tenant_memberships\").select(\"id,status,is_owner\").eq(\"tenant_id\",tenantId).eq(\"user_id\",user.id).eq(\"status\",\"active\").maybeSingle()\n  ]);\n  if(!tenant || (tenant.owner_id!==user.id && !membership)) return json({ok:false,error:\"forbidden\"},403);\n\n  const idempotencyKey=String(req.headers.get(\"idempotency-key\")||body.idempotencyKey||\"\").trim();\n  if(idempotencyKey){\n    const {data:cached}=await admin.from(\"wmp_repo_idempotency\").select(\"response_body,status_code\").eq(\"tenant_id\",tenantId).eq(\"actor_id\",user.id).eq(\"idempotency_key\",idempotencyKey).maybeSingle();\n    if(cached) return json(cached.response_body,cached.status_code||200);\n  }\n  const done=async(payload:any,status=200)=>{\n    if(idempotencyKey) await admin.from(\"wmp_repo_idempotency\").upsert({tenant_id:tenantId,actor_id:user.id,idempotency_key:idempotencyKey,response_body:payload,status_code:status},{onConflict:\"tenant_id,actor_id,idempotency_key\"});\n    return json(payload,status);\n  };\n\n  try{\n    let {data:repo}=await admin.from(\"wmp_repositories\").select(\"*\").eq(\"tenant_id\",tenantId).eq(\"owner_user_id\",user.id).maybeSingle();\n    if(!repo){\n      const created=await admin.from(\"wmp_repositories\").insert({tenant_id:tenantId,owner_user_id:user.id,name:\"Operational Repository\"}).select(\"*\").single();\n      if(created.error) throw created.error; repo=created.data;\n    }\n    let {data:main}=await admin.from(\"wmp_repo_branches\").select(\"*\").eq(\"repository_id\",repo.id).eq(\"is_canonical\",true).maybeSingle();\n    if(!main){\n      const created=await admin.from(\"wmp_repo_branches\").insert({repository_id:repo.id,name:\"Main\",is_canonical:true,created_by:user.id}).select(\"*\").single();\n      if(created.error) throw created.error; main=created.data;\n    }\n\n    if(action===\"bootstrap\"){\n      const [{data:objects,error:oe},{data:branches,error:be},{data:tags,error:te}]=await Promise.all([\n        admin.from(\"wmp_repo_objects\").select(\"*\").eq(\"repository_id\",repo.id).is(\"archived_at\",null).order(\"updated_at\",{ascending:false}),\n        admin.from(\"wmp_repo_branches\").select(\"*\").eq(\"repository_id\",repo.id).order(\"is_canonical\",{ascending:false}).order(\"created_at\",{ascending:true}),\n        admin.from(\"wmp_repo_tags\").select(\"*\").eq(\"repository_id\",repo.id).order(\"created_at\",{ascending:false})\n      ]);\n      if(oe||be||te) throw oe||be||te; return done({ok:true,repository:repo,objects,branches,tags});\n    }\n\n    if(action===\"create_object\"||action===\"update_object\"){\n      const objectId=action===\"update_object\"?String(body.objectId||\"\"):uuid();\n      let object:any=null;\n      if(action===\"update_object\"){\n        const found=await admin.from(\"wmp_repo_objects\").select(\"*\").eq(\"id\",objectId).eq(\"repository_id\",repo.id).single();\n        if(found.error) throw found.error; object=found.data;\n      } else {\n        const created=await admin.from(\"wmp_repo_objects\").insert({id:objectId,repository_id:repo.id,branch_id:body.branchId||main.id,object_key:String(body.objectKey||uuid()),object_type:String(body.objectType||\"note\"),title:String(body.title||\"Untitled\"),visibility:String(body.visibility||\"internal\"),created_by:user.id,updated_by:user.id}).select(\"*\").single();\n        if(created.error) throw created.error; object=created.data;\n      }\n      const {data:last}=await admin.from(\"wmp_repo_revisions\").select(\"id,revision_number\").eq(\"object_id\",objectId).order(\"revision_number\",{ascending:false}).limit(1).maybeSingle();\n      const commitId=uuid();\n      const commit=await admin.from(\"wmp_repo_commits\").insert({id:commitId,repository_id:repo.id,branch_id:object.branch_id||main.id,actor_id:user.id,message:String(body.message||(action===\"create_object\"?\"Created record\":\"Updated record\")),provenance:body.provenance||{source:\"wmp\"}}).select(\"*\").single();\n      if(commit.error) throw commit.error;\n      const revision=await admin.from(\"wmp_repo_revisions\").insert({object_id:objectId,commit_id:commitId,parent_revision_id:last?.id||null,revision_number:(last?.revision_number||0)+1,actor_id:user.id,message:String(body.message||\"\"),snapshot:body.snapshot??{},metadata:body.metadata??{},provenance:body.provenance??{source:\"wmp\"}}).select(\"*\").single();\n      if(revision.error) throw revision.error;\n      await admin.from(\"wmp_repo_objects\").update({current_revision_id:revision.data.id,title:String(body.title||object.title),visibility:String(body.visibility||object.visibility),updated_by:user.id,updated_at:new Date().toISOString()}).eq(\"id\",objectId);\n      return done({ok:true,objectId,commit:commit.data,revision:revision.data});\n    }\n\n    if(action===\"history\"){\n      const objectId=String(body.objectId||\"\");\n      const {data:object,error:objectError}=await admin.from(\"wmp_repo_objects\").select(\"*\").eq(\"id\",objectId).eq(\"repository_id\",repo.id).single();\n      if(objectError) throw objectError;\n      const {data:revisions,error}=await admin.from(\"wmp_repo_revisions\").select(\"*\").eq(\"object_id\",objectId).order(\"revision_number\",{ascending:false});\n      if(error) throw error; return done({ok:true,object,revisions});\n    }\n\n    if(action===\"diff\"){\n      const ids=[String(body.fromRevisionId||\"\"),String(body.toRevisionId||\"\")].filter(Boolean);\n      const {data,error}=await admin.from(\"wmp_repo_revisions\").select(\"*\").in(\"id\",ids);\n      if(error) throw error; return done({ok:true,revisions:data||[]});\n    }\n\n    if(action===\"restore\"){\n      const objectId=String(body.objectId||\"\"); const revisionId=String(body.revisionId||\"\");\n      const [{data:object,error:oe},{data:source,error:se}]=await Promise.all([\n        admin.from(\"wmp_repo_objects\").select(\"*\").eq(\"id\",objectId).eq(\"repository_id\",repo.id).single(),\n        admin.from(\"wmp_repo_revisions\").select(\"*\").eq(\"id\",revisionId).eq(\"object_id\",objectId).single()\n      ]);\n      if(oe||se) throw oe||se;\n      const {data:last}=await admin.from(\"wmp_repo_revisions\").select(\"id,revision_number\").eq(\"object_id\",objectId).order(\"revision_number\",{ascending:false}).limit(1).single();\n      const commitId=uuid();\n      await admin.from(\"wmp_repo_commits\").insert({id:commitId,repository_id:repo.id,branch_id:object.branch_id||main.id,actor_id:user.id,message:String(body.message||\"Restored prior version\"),provenance:{source:\"restore\",revisionId}});\n      const created=await admin.from(\"wmp_repo_revisions\").insert({object_id:objectId,commit_id:commitId,parent_revision_id:last.id,revision_number:last.revision_number+1,actor_id:user.id,message:String(body.message||\"Restored prior version\"),snapshot:source.snapshot,metadata:source.metadata,provenance:{source:\"restore\",revisionId}}).select(\"*\").single();\n      if(created.error) throw created.error;\n      await admin.from(\"wmp_repo_objects\").update({current_revision_id:created.data.id,updated_by:user.id,updated_at:new Date().toISOString()}).eq(\"id\",objectId);\n      return done({ok:true,revision:created.data});\n    }\n\n    if(action===\"create_branch\"){\n      const branch=await admin.from(\"wmp_repo_branches\").insert({repository_id:repo.id,name:String(body.name||\"Workstream\"),is_canonical:false,base_branch_id:main.id,created_by:user.id}).select(\"*\").single();\n      if(branch.error) throw branch.error; return done({ok:true,branch:branch.data});\n    }\n\n    if(action===\"merge_branch\"){\n      const branchId=String(body.branchId||\"\");\n      const {data:branch,error:branchError}=await admin.from(\"wmp_repo_branches\").select(\"*\").eq(\"id\",branchId).eq(\"repository_id\",repo.id).eq(\"is_canonical\",false).single();\n      if(branchError) throw branchError;\n      const {data:branchObjects,error:boe}=await admin.from(\"wmp_repo_objects\").select(\"*\").eq(\"repository_id\",repo.id).eq(\"branch_id\",branchId).is(\"archived_at\",null);\n      if(boe) throw boe;\n      const conflicts:any[]=[];\n      for(const item of branchObjects||[]){\n        const {data:canonical}=await admin.from(\"wmp_repo_objects\").select(\"*\").eq(\"repository_id\",repo.id).eq(\"branch_id\",main.id).eq(\"object_key\",item.object_key).maybeSingle();\n        if(canonical && item.base_revision_id && canonical.current_revision_id!==item.base_revision_id) conflicts.push({objectKey:item.object_key,canonicalRevisionId:canonical.current_revision_id,branchBaseRevisionId:item.base_revision_id});\n      }\n      if(conflicts.length) return done({ok:false,error:\"merge_conflict\",conflicts},409);\n      await admin.from(\"wmp_repo_branches\").update({merged_at:new Date().toISOString(),merged_by:user.id}).eq(\"id\",branch.id);\n      return done({ok:true,merged:true,branchId});\n    }\n\n    if(action===\"tag\"){\n      const tag=await admin.from(\"wmp_repo_tags\").insert({repository_id:repo.id,name:String(body.name||\"Bookmark\"),commit_id:body.commitId||null,created_by:user.id,metadata:body.metadata||{}}).select(\"*\").single();\n      if(tag.error) throw tag.error; return done({ok:true,tag:tag.data});\n    }\n\n    return done({ok:false,error:\"unsupported_action\"},400);\n  }catch(error:any){ console.error(\"wmp-repository\",error); return json({ok:false,error:error?.message||\"repository_error\"},500); }\n});\n"},{"path":"supabase/migrations/20260923043000_wmp_repository.sql","content":"create extension if not exists pgcrypto;\ncreate table if not exists public.wmp_repositories (\n  id uuid primary key default gen_random_uuid(),\n  tenant_id uuid not null references public.tenants(id) on delete cascade,\n  owner_user_id uuid not null references auth.users(id) on delete cascade,\n  name text not null default 'Operational Repository',\n  created_at timestamptz not null default now(),\n  updated_at timestamptz not null default now(),\n  unique (tenant_id, owner_user_id)\n);\ncreate table if not exists public.wmp_repo_branches (\n  id uuid primary key default gen_random_uuid(),\n  repository_id uuid not null references public.wmp_repositories(id) on delete cascade,\n  name text not null,\n  is_canonical boolean not null default false,\n  base_branch_id uuid references public.wmp_repo_branches(id),\n  created_by uuid references auth.users(id),\n  created_at timestamptz not null default now(),\n  merged_at timestamptz,\n  merged_by uuid references auth.users(id)\n);\ncreate unique index if not exists wmp_repo_one_canonical_branch on public.wmp_repo_branches(repository_id) where is_canonical;\ncreate table if not exists public.wmp_repo_commits (\n  id uuid primary key default gen_random_uuid(),\n  repository_id uuid not null references public.wmp_repositories(id) on delete cascade,\n  branch_id uuid not null references public.wmp_repo_branches(id) on delete cascade,\n  actor_id uuid references auth.users(id),\n  message text,\n  provenance jsonb not null default '{}'::jsonb,\n  created_at timestamptz not null default now()\n);\ncreate table if not exists public.wmp_repo_objects (\n  id uuid primary key default gen_random_uuid(),\n  repository_id uuid not null references public.wmp_repositories(id) on delete cascade,\n  branch_id uuid not null references public.wmp_repo_branches(id) on delete cascade,\n  object_key text not null,\n  object_type text not null,\n  title text not null,\n  visibility text not null default 'internal' check (visibility in ('internal','published')),\n  current_revision_id uuid,\n  base_revision_id uuid,\n  created_by uuid references auth.users(id),\n  updated_by uuid references auth.users(id),\n  created_at timestamptz not null default now(),\n  updated_at timestamptz not null default now(),\n  archived_at timestamptz,\n  unique(repository_id,branch_id,object_key)\n);\ncreate table if not exists public.wmp_repo_revisions (\n  id uuid primary key default gen_random_uuid(),\n  object_id uuid not null references public.wmp_repo_objects(id) on delete cascade,\n  commit_id uuid not null references public.wmp_repo_commits(id) on delete cascade,\n  parent_revision_id uuid references public.wmp_repo_revisions(id),\n  revision_number integer not null,\n  actor_id uuid references auth.users(id),\n  message text,\n  snapshot jsonb not null default '{}'::jsonb,\n  metadata jsonb not null default '{}'::jsonb,\n  provenance jsonb not null default '{}'::jsonb,\n  created_at timestamptz not null default now(),\n  unique(object_id,revision_number)\n);\nalter table public.wmp_repo_objects drop constraint if exists wmp_repo_objects_current_revision_id_fkey;\nalter table public.wmp_repo_objects add constraint wmp_repo_objects_current_revision_id_fkey foreign key (current_revision_id) references public.wmp_repo_revisions(id);\nalter table public.wmp_repo_objects drop constraint if exists wmp_repo_objects_base_revision_id_fkey;\nalter table public.wmp_repo_objects add constraint wmp_repo_objects_base_revision_id_fkey foreign key (base_revision_id) references public.wmp_repo_revisions(id);\ncreate table if not exists public.wmp_repo_tags (\n  id uuid primary key default gen_random_uuid(),\n  repository_id uuid not null references public.wmp_repositories(id) on delete cascade,\n  name text not null,\n  commit_id uuid references public.wmp_repo_commits(id) on delete set null,\n  created_by uuid references auth.users(id),\n  metadata jsonb not null default '{}'::jsonb,\n  created_at timestamptz not null default now(),\n  unique(repository_id,name)\n);\ncreate table if not exists public.wmp_repo_idempotency (\n  id uuid primary key default gen_random_uuid(),\n  tenant_id uuid not null references public.tenants(id) on delete cascade,\n  actor_id uuid not null references auth.users(id) on delete cascade,\n  idempotency_key text not null,\n  response_body jsonb not null,\n  status_code integer not null default 200,\n  created_at timestamptz not null default now(),\n  unique(tenant_id,actor_id,idempotency_key)\n);\ncreate or replace function public.wmp_repo_has_tenant_access(p_tenant_id uuid)\nreturns boolean language sql stable security definer set search_path=public as $$\n  select exists(select 1 from public.tenants t where t.id=p_tenant_id and t.owner_id=auth.uid())\n  or exists(select 1 from public.user_tenant_memberships m where m.tenant_id=p_tenant_id and m.user_id=auth.uid() and m.status='active');\n$$;\nalter table public.wmp_repositories enable row level security;\nalter table public.wmp_repo_branches enable row level security;\nalter table public.wmp_repo_commits enable row level security;\nalter table public.wmp_repo_objects enable row level security;\nalter table public.wmp_repo_revisions enable row level security;\nalter table public.wmp_repo_tags enable row level security;\nalter table public.wmp_repo_idempotency enable row level security;\ndrop policy if exists wmp_repositories_member_access on public.wmp_repositories;\ncreate policy wmp_repositories_member_access on public.wmp_repositories for all to authenticated using (public.wmp_repo_has_tenant_access(tenant_id)) with check (public.wmp_repo_has_tenant_access(tenant_id));\ndrop policy if exists wmp_repo_branches_member_access on public.wmp_repo_branches;\ncreate policy wmp_repo_branches_member_access on public.wmp_repo_branches for all to authenticated using (exists(select 1 from public.wmp_repositories r where r.id=repository_id and public.wmp_repo_has_tenant_access(r.tenant_id))) with check (exists(select 1 from public.wmp_repositories r where r.id=repository_id and public.wmp_repo_has_tenant_access(r.tenant_id)));\ndrop policy if exists wmp_repo_commits_member_access on public.wmp_repo_commits;\ncreate policy wmp_repo_commits_member_access on public.wmp_repo_commits for all to authenticated using (exists(select 1 from public.wmp_repositories r where r.id=repository_id and public.wmp_repo_has_tenant_access(r.tenant_id))) with check (exists(select 1 from public.wmp_repositories r where r.id=repository_id and public.wmp_repo_has_tenant_access(r.tenant_id)));\ndrop policy if exists wmp_repo_objects_member_access on public.wmp_repo_objects;\ncreate policy wmp_repo_objects_member_access on public.wmp_repo_objects for all to authenticated using (exists(select 1 from public.wmp_repositories r where r.id=repository_id and public.wmp_repo_has_tenant_access(r.tenant_id))) with check (exists(select 1 from public.wmp_repositories r where r.id=repository_id and public.wmp_repo_has_tenant_access(r.tenant_id)));\ndrop policy if exists wmp_repo_revisions_member_access on public.wmp_repo_revisions;\ncreate policy wmp_repo_revisions_member_access on public.wmp_repo_revisions for all to authenticated using (exists(select 1 from public.wmp_repo_objects o join public.wmp_repositories r on r.id=o.repository_id where o.id=object_id and public.wmp_repo_has_tenant_access(r.tenant_id))) with check (exists(select 1 from public.wmp_repo_objects o join public.wmp_repositories r on r.id=o.repository_id where o.id=object_id and public.wmp_repo_has_tenant_access(r.tenant_id)));\ndrop policy if exists wmp_repo_tags_member_access on public.wmp_repo_tags;\ncreate policy wmp_repo_tags_member_access on public.wmp_repo_tags for all to authenticated using (exists(select 1 from public.wmp_repositories r where r.id=repository_id and public.wmp_repo_has_tenant_access(r.tenant_id))) with check (exists(select 1 from public.wmp_repositories r where r.id=repository_id and public.wmp_repo_has_tenant_access(r.tenant_id)));\ndrop policy if exists wmp_repo_idempotency_actor_access on public.wmp_repo_idempotency;\ncreate policy wmp_repo_idempotency_actor_access on public.wmp_repo_idempotency for all to authenticated using (actor_id=auth.uid() and public.wmp_repo_has_tenant_access(tenant_id)) with check (actor_id=auth.uid() and public.wmp_repo_has_tenant_access(tenant_id));\ncreate index if not exists wmp_repo_objects_repo_branch_updated on public.wmp_repo_objects(repository_id,branch_id,updated_at desc);\ncreate index if not exists wmp_repo_revisions_object_number on public.wmp_repo_revisions(object_id,revision_number desc);\ncreate index if not exists wmp_repo_commits_repo_created on public.wmp_repo_commits(repository_id,created_at desc);\n"},{"path":"config/capabilities/wmp-repository.json","content":"{\n  \"schemaVersion\": 1,\n  \"id\": \"wmp-repository\",\n  \"owner\": \"KNOCKLAUNCH Platform\",\n  \"status\": \"enforced\",\n  \"surfaces\": [\"src/pages/admin/WmpRepositoryPage.tsx\",\"supabase/functions/wmp-repository\",\"src/routes/ownerRoutes.tsx\"],\n  \"dependencies\": {\n    \"backendRuntime\": [\"supabase/functions/wmp-repository\"],\n    \"dataStorage\": [\"public.wmp_repositories\",\"public.wmp_repo_branches\",\"public.wmp_repo_objects\",\"public.wmp_repo_revisions\",\"public.wmp_repo_commits\",\"public.wmp_repo_tags\",\"public.wmp_repo_idempotency\"],\n    \"authPermissions\": [\"authenticated user\",\"active tenant membership or tenant owner\"],\n    \"providers\": []\n  },\n  \"lifecycle\": {\n    \"states\": [\"prepare\",\"deploy\",\"verify\",\"activate\"],\n    \"activationRequirements\": [\"tenant-isolated storage and RLS are deployed\",\"JWT-protected WMP repository adapter is deployed\",\"owner repository route is released\",\"rollback creates a new revision\",\"idempotent write replay is proven\",\"branch conflicts fail closed\",\"claim-matched production proof recorded\"],\n    \"compatibilityWindow\": [\"N\",\"N-1\"],\n    \"driftPolicy\": \"Repository schema, API, auth, release identity, or owner route drift remains nonterminal until reconciled.\",\n    \"quarantinePolicy\": \"Quarantine only WMP Repository when its dependency contract fails; preserve WMP Mission Control, customer progress, and unrelated platform capabilities.\"\n  },\n  \"release\": {\"order\":[\"migrations\",\"supabase/functions/wmp-repository\",\"frontend\"],\"runtimeFirst\":true},\n  \"canary\": {\"required\":true,\"claims\":[\"Repository data cannot cross tenant membership boundaries.\",\"Every restore appends a new immutable revision.\",\"Repeated idempotency keys do not duplicate writes.\",\"Diverged workstreams fail closed on merge conflict.\",\"Existing WMP mission/progress behavior remains independent.\"]},\n  \"proofLedger\": {\"authority\":\"command_center_mission_ledger\",\"bind\":[\"request_contract_hash\",\"source_sha\",\"release_receipt\",\"runtime_identity\",\"canary\",\"activation_state\",\"drift_state\",\"quarantine_state\"]}\n}\n"},{"path":"src/__tests__/contracts/wmp-repository.contract.test.ts","content":"import fs from 'node:fs';\nimport path from 'node:path';\nimport { describe, expect, it } from 'vitest';\n\ndescribe('WMP Repository contract',()=>{\n  const root=process.cwd();\n  const migration=fs.readFileSync(path.join(root,'supabase/migrations/20260923043000_wmp_repository.sql'),'utf8');\n  const edge=fs.readFileSync(path.join(root,'supabase/functions/wmp-repository/index.ts'),'utf8');\n  const route=fs.readFileSync(path.join(root,'src/routes/ownerRoutes.tsx'),'utf8');\n  it('enforces tenant-scoped RLS',()=>{ expect(migration).toContain('wmp_repo_has_tenant_access'); expect(migration).toContain('enable row level security'); });\n  it('keeps restore append-only and supports idempotency',()=>{ expect(edge).toContain('action===\"restore\"'); expect(edge).toContain('wmp_repo_idempotency'); expect(edge).not.toContain('.delete('); });\n  it('fails closed on branch conflict',()=>{ expect(edge).toContain('merge_conflict'); expect(edge).toContain('return done({ok:false'); });\n  it('routes the owner surface explicitly',()=>{ expect(route).toContain('/wmp/repository'); expect(route).toContain('WmpRepositoryPage'); });\n});\n"}],"branch":"ai/objective-first-repair-8edd2004199e","writes":[],"patches":[],"approved":true,"missionId":"8edd2004-199e-4fc2-9eff-65c1dad6bdcc","objective":"Continue and ship the existing WMP Repository mission with this exact bounded implementation payload.","repository":"noel/KnockLaunchOS","ownerApproved":true,"anchored_edits":[{"path":"src/routes/ownerRoutes.tsx","anchor":"const OwnerWeeklyReports = lazyWithRetry(() => import('@/pages/owner/OwnerWeeklyReports'));","replacement":"const OwnerWeeklyReports = lazyWithRetry(() => import('@/pages/owner/OwnerWeeklyReports'));\nconst WmpRepositoryPage = lazyWithRetry(() => import('@/pages/admin/WmpRepositoryPage'));"},{"path":"src/routes/ownerRoutes.tsx","anchor":"<Route path=\"/owner\" element={lazy(OwnerDashboard)} />","replacement":"<Route path=\"/owner\" element={lazy(OwnerDashboard)} />\n    <Route path=\"/wmp/repository\" element={lazy(WmpRepositoryPage)} />"}],"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"9cd9dee29d9facf76d4eedc0ab9db0e5f6775aafe2bf99bf493cf8aa3730a6bc","replayCount":0,"serializedBytes":33515},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T04:19:32.505687+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:8edd2004-199e-4fc2-9eff-65c1dad6bdcc:repository-mutation-intent:9cd9dee29d9facf76d4eedc0ab9db0e5f6775aafe2bf99bf493cf8aa3730a6bc:0","mission_step_id":"f9a646da-418b-48eb-a441-448e4a43100e","command_center_event_id":"8edd2004-199e-4fc2-9eff-65c1dad6bdcc"},{"id":"bd5e66b7-d90b-4776-a3bc-ed3028ae4709","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-0e3389b62d9a","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.9-single-mutation-lane","prNumber":null,"terminal":false,"missionId":"0e3389b6-2d9a-41b8-a0b9-80a1f7b676ff","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"0e3389b6-2d9a-41b8-a0b9-80a1f7b676ff"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":10131,"likelyAffectedFiles":["src/__tests__/contracts/command-center-platform-mission-anchor.contract.test.ts","src/__tests__/contracts/canonical-production-release-status.test.ts","src/__tests__/contracts/operational-command-application-integration.contract.test.ts","src/__tests__/contracts/command-palette-platform-authority.contract.test.ts",".forgejo/workflows/knocklaunch.yml","src/components/admin/TenantUserCommandCenters.tsx","src/components/GlobalCommandPalette.tsx","src/components/ReleaseAllLeadsButton.tsx","src/components/ReleaseLeadButton.tsx","src/__tests__/commandCenter/deployDetection.test.ts","scripts/supabase-migration-release.mjs","scripts/__tests__/supabase-migration-release.test.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T05:45:13.831899+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0e3389b6-2d9a-41b8-a0b9-80a1f7b676ff:execute_mission:repair_mission_synthesis_ready","mission_step_id":"3101f668-a6c8-4613-99a1-7161f3b71f81","command_center_event_id":"0e3389b6-2d9a-41b8-a0b9-80a1f7b676ff"},{"id":"bd5e7855-48b6-4da8-8c7b-ec6e34bc6ee3","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-569a261a58b8","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":8257,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":33944,"firstUsefulResultAt":"2026-09-25T10:05:58.710Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.277-exact-gate-fast-path","prNumber":3700,"terminal":false,"missionId":"569a261a-58b8-4aaf-ad86-90edce0def25","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5560,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":5454,"approvedPlanMs":0,"missionSetupMs":442,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":340,"ledgerReconcileMs":0,"lineageReconcileMs":102,"resolvePreflightMs":442,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":340,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"569a261a-58b8-4aaf-ad86-90edce0def25"},"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":1522,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T10:06:43.710125+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3700","receipt_type":"execute_mission","idempotency_key":"mission:569a261a-58b8-4aaf-ad86-90edce0def25:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"730e4f14-bd24-4c86-8ac5-9c7b6eb14c60","command_center_event_id":"569a261a-58b8-4aaf-ad86-90edce0def25"},{"id":"bd6052af-3218-4607-85e2-fdac9c60a3fa","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"eb3dfab185cbcec65d1c047d2b0798c10f579182","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"eb3dfab185cbcec65d1c047d2b0798c10f579182","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1197","runId":1197,"status":"running","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-18T03:27:21.535939+00:00","proof_gate":"canonical_release_pending","source_sha":"eb3dfab185cbcec65d1c047d2b0798c10f579182","external_id":"forgejo-main-eb3dfab185cb","receipt_type":"canonical_release_status","idempotency_key":"mission:737a7966-9a10-40b1-827d-b929fa512557:forgejo-release-status:eb3dfab185cbcec65d1c047d2b0798c10f579182:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"12b2dfa4-1ee3-46d7-b1b5-976fd2cd757a","command_center_event_id":"737a7966-9a10-40b1-827d-b929fa512557"},{"id":"bd60e483-99c8-4829-b696-c2ae3537b486","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3d72726d71b0","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":48092,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":3,"executorlessWaitMs":102850,"firstUsefulResultAt":"2026-10-04T11:50:05.296Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4755,"terminal":false,"missionId":"3d72726d-71b0-4270-a79d-fa4b41606df1","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2257,"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":"3d72726d-71b0-4270-a79d-fa4b41606df1"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T11:51:38.76805+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4755","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3d72726d-71b0-4270-a79d-fa4b41606df1:automatic-mission-resume:4755:repair_mission_pr_ready_retryable","mission_step_id":"2609ca90-bec2-442d-89dc-38305ed2de2b","command_center_event_id":"3d72726d-71b0-4270-a79d-fa4b41606df1"},{"id":"bd62490c-e537-4497-9132-ad9502a39cf4","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/harden-onboarding-function-acls","reason":null,"status":"complete","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.39.4-forgejo-pr-self-refresh","prNumber":76,"terminal":false,"missionId":"a089626d-28c7-42e8-9e99-41e8c47c21df","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":null,"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"a089626d-28c7-42e8-9e99-41e8c47c21df"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":838,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T00:57:36.328021+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"76","receipt_type":"execute_mission","idempotency_key":"mission:a089626d-28c7-42e8-9e99-41e8c47c21df:execute_mission:repair_mission_prepared","mission_step_id":"20183ab9-41bf-413b-9b90-beed674fd9a4","command_center_event_id":"a089626d-28c7-42e8-9e99-41e8c47c21df"},{"id":"bd6445eb-4c96-4726-8c57-05a84fa3019b","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"d3c0699e841b21c3c73c845f79d0316b50343913","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"d3c0699e841b21c3c73c845f79d0316b50343913","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"ddd12d298e9aa2a728b18d2e52e6a7199f83a9bb2154a50f5e802e09d6e2108e","forgejoWorkflowProof":{"runId":13411,"source":"exact_live_cc_execution_runtime_identity","status":"running","liveSha":"d3c0699e841b21c3c73c845f79d0316b50343913","results":{},"proofGate":"cc_execution_exact_live_runtime_substitutes_transient_workflow_receipt","sourceSha":"d3c0699e841b21c3c73c845f79d0316b50343913","conclusion":"running","deploymentId":"forgejo-main-d3c0699e841b21c3c73c845f79d0316b50343913","targetStates":{"ccExecution":"pending"},"runtimeVersion":"1.64.19-paul-grounded-tool-arguments","targetJobCount":6,"observedTargetStates":{"ccExecution":"pending"},"workflowReceiptSubstituted":true},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"d3c0699e841b21c3c73c845f79d0316b50343913","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-d3c0699e841b21c3c73c845f79d0316b50343913","compareStatus":"identical","workflowRunId":13411,"identitySource":"local_build_metadata","runtimeVersion":"1.64.19-paul-grounded-tool-arguments","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T14:24:23.112695+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"d3c0699e841b21c3c73c845f79d0316b50343913","external_id":"forgejo-main-d3c0699e841b","receipt_type":"canonical_release_status","idempotency_key":"mission:da6f423c-b447-4551-af69-8b0aa977283a:forgejo-release-status:d3c0699e841b21c3c73c845f79d0316b50343913:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"f56b4884-726a-4948-8ae4-0b99cfe20122","command_center_event_id":"da6f423c-b447-4551-af69-8b0aa977283a"},{"id":"bd649775-74d3-489a-b601-52586e855501","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-owner-mail-scroll","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3331,"terminal":false,"missionId":"22588c49-6dad-414c-a149-8881eca1475c","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":482,"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":"22588c49-6dad-414c-a149-8881eca1475c"},"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":1277,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-21T01:12:34.508972+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3331","receipt_type":"automatic_mission_resume","idempotency_key":"mission:22588c49-6dad-414c-a149-8881eca1475c:automatic-mission-resume:3331:repair_mission_waiting_for_gate","mission_step_id":"7d0ac9bd-d2d1-40b6-b936-5c7136061c85","command_center_event_id":"22588c49-6dad-414c-a149-8881eca1475c"},{"id":"bd64f3be-2146-4dfc-857f-bd60ef2e8e81","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-24e4d9dc7a40","reason":"anchored_edit_anchor_not_unique:src/pages/admin/AdminProfile.tsx","status":"blocked","metrics":{"receiptBytes":37376,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-01T02:07:26.380Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.31-paul-deterministic-correction-recovery","prNumber":null,"terminal":false,"missionId":"24e4d9dc-7a40-4620-abf0-5ab365bde3d3","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":742,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":742,"missionSetupMs":349,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":349,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":349,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":349,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"24e4d9dc-7a40-4620-abf0-5ab365bde3d3"},"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":1507,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T02:07:29.188986+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:24e4d9dc-7a40-4620-abf0-5ab365bde3d3:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"11ee5011-7869-4c9c-b6d5-63a9cbf0d0b9","command_center_event_id":"24e4d9dc-7a40-4620-abf0-5ab365bde3d3"},{"id":"bd672fe6-b3c5-4691-9d1e-7fe61c6faa1a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-mtkv4lhf","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":12304,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1516,"terminal":false,"missionId":"9d75788f-1bb1-41c1-b45a-164fcbb902b3","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":19,"missionSetupMs":2250},"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":"9d75788f-1bb1-41c1-b45a-164fcbb902b3"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4988,"likelyAffectedFiles":["config/platform-standards.json","src/components/GlobalCommandPalette.tsx","src/components/CallFlow/hooks/usePerformanceMonitoring.ts","src/components/NewLeadIntakeForm.tsx","src/components/SignupForm.tsx","scripts/audit-experience-surface-uniformity.mjs","scripts/audit-platform-cohesion.mjs","scripts/cloudflare-native-platform-seo.mjs","scripts/generate-platform-cohesion-auth-proof-requirements.mjs","scripts/generate-platform-cohesion-proof-packs.mjs","scripts/phase3b-sanitize-and-publish-v2.ts","src/__tests__/contracts/command-palette-platform-authority.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-03T01:52:50.401073+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":"1516","receipt_type":"execute_mission","idempotency_key":"mission:9d75788f-1bb1-41c1-b45a-164fcbb902b3:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"64a10bdf-c7e6-465c-a5b4-54e1d7656107","command_center_event_id":"9d75788f-1bb1-41c1-b45a-164fcbb902b3"},{"id":"bd6758b8-6f0e-4ef3-90df-5a5d2fef6334","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":null,"terminal":false,"missionId":"618c39d5-2c42-4512-906b-f385844795a3","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1054,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":549,"providerAuthMs":0,"ledgerPrepareMs":549,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":549,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":549,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"618c39d5-2c42-4512-906b-f385844795a3"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1176,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T18:20:29.145969+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:618c39d5-2c42-4512-906b-f385844795a3:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"23dea71a-8d8f-4e6b-8173-03522448e85d","command_center_event_id":"618c39d5-2c42-4512-906b-f385844795a3"},{"id":"bd675b69-628a-4928-a319-7c5bc3713381","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"5927d4eb622ad4c71e5b39ae6a8a2663e412bb7c","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"5927d4eb622ad4c71e5b39ae6a8a2663e412bb7c","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1378","runId":1378,"status":"success","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T03:14:09.00806+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"5927d4eb622ad4c71e5b39ae6a8a2663e412bb7c","external_id":"forgejo-main-5927d4eb622a","receipt_type":"canonical_release_status","idempotency_key":"mission:af4879bf-84bf-41a1-ba44-e24e08325311:forgejo-release-status:5927d4eb622ad4c71e5b39ae6a8a2663e412bb7c:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"07be0d3c-90ff-481a-9ac0-c3248c995e65","command_center_event_id":"af4879bf-84bf-41a1-ba44-e24e08325311"},{"id":"bd680285-f2c4-40df-9259-977601890853","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-eb02db742a88","prNumber":2685,"nextAction":null,"mergeCommitSha":"ed611056d22d7f8b98afbcdb7d0dec84dfd24105","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T23:07:16.67621+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"ed611056d22d7f8b98afbcdb7d0dec84dfd24105","external_id":"2685","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:eb02db74-2a88-40b6-a9b7-9ebb00976c18:merged-pr:2685:ed611056d22d7f8b98afbcdb7d0dec84dfd24105","mission_step_id":"0aa0d63c-93c5-40bb-a96f-faaa8594f7e0","command_center_event_id":"eb02db74-2a88-40b6-a9b7-9ebb00976c18"},{"id":"bd68d00c-8a23-4114-a49a-fb71ce705485","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"other_product_work","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"1a208a97-7a93-52a9-bc0f-b80fe445c55b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:a2263413-8791-43e6-b51c-aec1c883457a","mission_step_id":null,"command_center_event_id":"a2263413-8791-43e6-b51c-aec1c883457a"},{"id":"bd6a5050-bfcf-4d3c-95db-c259cb825495","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same owner-authorized control-plane maintenance mission and same PR. Signed runner inventory proves only one docker-labeled runner is online while paul-light is idle. Eliminate the proven gate/frontend-release serialization without weakening KnockLaunch Gate by moving only the post-merge Release frontend job from runs-on: docker to runs-on: paul-light. Keep Gate and runtime-heavy workers on docker. Preserve every other workflow behavior and the one-PR repair.","wordingChanged":false,"canonicalIntent":"Continue the same owner-authorized control-plane maintenance mission and same PR. Signed runner inventory proves only one docker-labeled runner is online while paul-light is idle. Eliminate the proven gate/frontend-release serialization without weakening KnockLaunch Gate by moving only the post-merge Release frontend job from runs-on: docker to runs-on: paul-light. Keep Gate and runtime-heavy workers on docker. Preserve every other workflow behavior and the one-PR repair.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Unfreeze control plane maintenance only for the exact authorized paths, repair the recursive Wrangler timeout wrapper, preserve bounded per-command timeouts, restore available runner capacity, and refreeze the control plane.","proofConditionIds":["proof-1","proof-2","proof-3"]}],"objective":"Continue the same owner-authorized control-plane maintenance mission and same PR. Signed runner inventory proves only one docker-labeled runner is online while paul-light is idle. Eliminate the proven gate/frontend-release serialization without weakening KnockLaunch Gate by moving only the post-merge Release frontend job from runs-on: docker to runs-on: paul-light. Keep Gate and runtime-heavy workers on docker. Preserve every other workflow behavior and the one-PR repair.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-1","kind":"repository","claim":"The exact repair passes KnockLaunch Gate and squash-merges through Forgejo.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-2","kind":"host_watchdog","claim":"Runner capacity is restored through the signed host watchdog.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-3","kind":"runtime","claim":"A production frontend release using the repaired wrapper succeeds for current main so the already-merged Big Papi and Miss Lawn fixes can be proven live.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"ac9a7a4376ac387aab7ff2022e4ca6abd9a0abeccdede405cd9cf5c2bbbd0b00","requestContractRevision":2,"previousRequestContractHash":"57b9854cf94dc8afd61ca8f33c552945ef2011a59652c33cca7d1a734d139b40"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T00:28:05.764187+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:11b18f7e-3750-43d6-adac-c00c053bf912:request-contract-revision:2:ac9a7a4376ac387aab7ff2022e4ca6abd9a0abeccdede405cd9cf5c2bbbd0b00","mission_step_id":"21d62b65-9d9e-4a6c-b008-795e89bd03ed","command_center_event_id":"11b18f7e-3750-43d6-adac-c00c053bf912"},{"id":"bd6c7a54-f189-4b63-a8de-4ed8e63b9099","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"deterministic_supervisor_transition\",\"status\":\"advanced\",\"proofGate\":\"deterministic_semantic_transition_journaled\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":6,\"verified\":2,\"pending\":4,\"percent\":33,\"satisfied\":false,\"verifiedIds\":[\"preflight\",\"implementation\"],\"pendingIds\":[\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-08-05T03:31:01.398179+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/fix-experience-editor-proof-dispatch-20260804\",\"prNumber\":4016,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-03T10:33:54.989783+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:871b1f2d-4576-48f4-9977-8d8a8ae99d7e:owner-progress-heartbeat:119401574","mission_step_id":"c6526d6f-0d53-42de-a6a6-b6d8f434e2f5","command_center_event_id":"871b1f2d-4576-48f4-9977-8d8a8ae99d7e"},{"id":"bd6cc8f3-7a27-41a1-8e81-944f95a545bd","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-06T02:29:01.236525+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/seaside-profile-identity-actions-touch\",\"prNumber\":4097,\"sourceSha\":\"64093983a2e36360fd897c4a9c37289d6e2ad905\",\"deploymentId\":\"canonical-release-64093983a2e3\"}"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T08:58:39.633169+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:42d94e6b-592b-4af3-b31d-280b00446cc7:owner-progress-heartbeat:119406954","mission_step_id":"439cb97c-0985-4cdf-9f6d-5103daea75d6","command_center_event_id":"42d94e6b-592b-4af3-b31d-280b00446cc7"},{"id":"bd6ef1da-72df-47d3-ba88-6a91ba2c8ab0","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/ambient-intelligence-philosophy","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1684,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.23-targeted-owner-preflight","prNumber":null,"terminal":false,"missionId":"a83f11f0-1689-4abb-b550-9f5083129db7","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"a83f11f0-1689-4abb-b550-9f5083129db7"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":9403,"likelyAffectedFiles":["src/PrivateAppShell.tsx","src/components/ai/AIAssistantLauncher.tsx","docs/AI_INTELLIGENCE_PHILOSOPHY.md","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/index-release-fast-lane.js",".github/workflows/production-release-conductor.yml","scripts/resolve-autonomous-change-plan.mjs","scripts/resolve-production-workflow-run.mjs","src/routes/","src/pages/","src/components/"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-09T11:00:18.782926+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a83f11f0-1689-4abb-b550-9f5083129db7:execute_mission:repair_mission_synthesis_ready","mission_step_id":"d4af2972-8176-420d-8881-e3811d12d229","command_center_event_id":"a83f11f0-1689-4abb-b550-9f5083129db7"},{"id":"bd70744a-5fdb-4066-b005-db98dc3d9923","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/forgejo-operator-read-budget","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2167,"terminal":false,"missionId":"813c75ae-c335-460c-b3d0-fc3a6af8c909","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"c0720ad592789e60d04b45bc2bc1a5afc3714658","timingsMs":{"prReadinessMs":1605,"approvedPlanMs":0,"shipAndProveMs":7523,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"813c75ae-c335-460c-b3d0-fc3a6af8c909"},"performance":null,"deploymentId":"forgejo-main-c0720ad59278","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2017,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T20:35:31.784618+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2167","receipt_type":"automatic_mission_resume","idempotency_key":"mission:813c75ae-c335-460c-b3d0-fc3a6af8c909:automatic-mission-resume:2167:canonical_release_dispatched","mission_step_id":"b2d15816-200f-49b0-9f94-5387792ee954","command_center_event_id":"813c75ae-c335-460c-b3d0-fc3a6af8c909"},{"id":"bd71d850-a526-4e3d-a59d-560e723c6a49","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"pull_request_checks_pending","status":"retryable","metrics":{"receiptBytes":3247,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":107,"terminal":false,"missionId":"8acdbd77-b2e6-4458-8ab5-2fe456484224","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"8acdbd77-b2e6-4458-8ab5-2fe456484224"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":900,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T17:07:29.08442+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"107","receipt_type":"automatic_mission_resume","idempotency_key":"mission:8acdbd77-b2e6-4458-8ab5-2fe456484224:automatic-mission-resume:107:repair_mission_pr_ready_retryable","mission_step_id":"6d73dcfa-c67d-4577-b13f-8f504230d66b","command_center_event_id":"8acdbd77-b2e6-4458-8ab5-2fe456484224"},{"id":"bd733fce-1627-4ab4-b028-9d5e144a6af7","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.10-mission-continuation-fix","prNumber":4794,"terminal":false,"missionId":"5862e01c-6f91-466b-a8c4-eea57592b026","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"2415d0456c9665e3ab2228bb05f23d4a10c1848d","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"5862e01c-6f91-466b-a8c4-eea57592b026"},"performance":null,"deploymentId":"canonical-release-2415d0456c96","workflowRunId":31724658665,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1350,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-13T17:14:03.965141+00:00","proof_gate":"canonical_release_dispatched","source_sha":"2415d0456c9665e3ab2228bb05f23d4a10c1848d","external_id":"canonical-release-2415d0456c96","receipt_type":"ship_and_prove","idempotency_key":"mission:5862e01c-6f91-466b-a8c4-eea57592b026:ship_and_prove:canonical_release_dispatched:2415d0456c9665e3ab2228bb05f23d4a10c1848d:31724658665","mission_step_id":"edc1a91d-bc24-4eef-ab19-630d490c1e76","command_center_event_id":"5862e01c-6f91-466b-a8c4-eea57592b026"},{"id":"bd750f7a-c079-46ff-904b-ee66694dd8f1","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_request_contract_required","fingerprint":"d95898a810129c9e01a76101d03ee06bf7c059b6c6391a8434cd39c3d62d9bf7"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:30:53.943477+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:7c4bbef2-985a-485b-ae8c-33aac34fc064:repository-mutation-intent-blocked:d95898a810129c9e01a76101d03ee06bf7c059b6c6391a8434cd39c3d62d9bf7","mission_step_id":"6d54f591-defe-47be-952a-addca7f38dbe","command_center_event_id":"7c4bbef2-985a-485b-ae8c-33aac34fc064"},{"id":"bd77b969-70ef-41d2-992d-d14e298dc2a3","source":"cc-execution","status":"recorded","payload":{"objective":"Correct the live La Vista R2 auth contract after PR #885. Production v8 proves CLOUDFLARE_VISTADELMAR_API_TOKEN is present (laVistaR2Configured=true), but both galleries still return cloudflare_r2_list_failed:403 and lead/login fall back to SVG. Cloudflare's current R2 contract states bucket-scoped Object Read/Object Read & Write tokens are supported by the S3-compatible API, not the Cloudflare REST object API. Use the existing owner-created CLOUDFLARE_VISTADELMAR_API_TOKEN as the R2 API token value: verify it through Cloudflare's token verify endpoint to obtain its token id (the R2 Access Key ID), derive the R2 Secret Access Key as the SHA-256 hex digest of the token value per Cloudflare's R2 auth contract, and use aws4fetch/AWS SigV4 against https://<ACCOUNT_ID>.r2.cloudflarestorage.com for La Vista list/get/put operations. Preserve the existing generic REST path for other tenants. Do not require another owner secret unless live token verification proves the supplied secret is not an R2 API token value. Do not alter any existing R2 objects or tenant keys. Gate, squash merge, deploy only tenant-photo-studio, then prove both galleries contain real keys, lead/login return real image content rather than SVG fallback, and production dashboard visibly renders the actual La Vista imagery.","tenantRef":"lavistadelmar","receivedAt":"2026-08-28T00:26:25.680Z","fingerprint":"0aa5ceb44c554d6bf342c727846c20674a46f63ee4f617708defb2bb50828ae6","workstreamRef":"lavistadelmar","conversationId":null,"canonicalBranch":"ai/fix-vista-r2-s3-auth-20260828","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Correct the live La Vista R2 auth contract after PR #885. Production v8 proves CLOUDFLARE_VISTADELMAR_API_TOKEN is present (laVistaR2Configured=true), but both galleries still return cloudflare_r2_list_failed:403 and lead/login fall back to SVG. Cloudflare's current R2 contract states bucket-scoped Object Read/Object Read & Write tokens are supported by the S3-compatible API, not the Cloudflare REST object API. Use the existing owner-created CLOUDFLARE_VISTADELMAR_API_TOKEN as the R2 API token value: verify it through Cloudflare's token verify endpoint to obtain its token id (the R2 Access Key ID), derive the R2 Secret Access Key as the SHA-256 hex digest of the token value per Cloudflare's R2 auth contract, and use aws4fetch/AWS SigV4 against https://<ACCOUNT_ID>.r2.cloudflarestorage.com for La Vista list/get/put operations. Preserve the existing generic REST path for other tenants. Do not require another owner secret unless live token verification proves the supplied secret is not an R2 API token value. Do not alter any existing R2 objects or tenant keys. Gate, squash merge, deploy only tenant-photo-studio, then prove both galleries contain real keys, lead/login return real image content rather than SVG fallback, and production dashboard visibly renders the actual La Vista imagery.","wordingChanged":false,"canonicalIntent":"Correct the live La Vista R2 auth contract after PR #885. Production v8 proves CLOUDFLARE_VISTADELMAR_API_TOKEN is present (laVistaR2Configured=true), but both galleries still return cloudflare_r2_list_failed:403 and lead/login fall back to SVG. Cloudflare's current R2 contract states bucket-scoped Object Read/Object Read & Write tokens are supported by the S3-compatible API, not the Cloudflare REST object API. Use the existing owner-created CLOUDFLARE_VISTADELMAR_API_TOKEN as the R2 API token value: verify it through Cloudflare's token verify endpoint to obtain its token id (the R2 Access Key ID), derive the R2 Secret Access Key as the SHA-256 hex digest of the token value per Cloudflare's R2 auth contract, and use aws4fetch/AWS SigV4 against https://<ACCOUNT_ID>.r2.cloudflarestorage.com for La Vista list/get/put operations. Preserve the existing generic REST path for other tenants. Do not require another owner secret unless live token verification proves the supplied secret is not an R2 API token value. Do not alter any existing R2 objects or tenant keys. Gate, squash merge, deploy only tenant-photo-studio, then prove both galleries contain real keys, lead/login return real image content rather than SVG fallback, and production dashboard visibly renders the actual La Vista imagery.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"s3-auth","statement":"La Vista R2 list/get/put operations use Cloudflare's S3-compatible authentication derived from the existing CLOUDFLARE_VISTADELMAR_API_TOKEN; other tenants retain their existing generic Cloudflare REST path.","proofConditionIds":["source","runtime"]},{"id":"media-live","statement":"The View, The Nest and login/background resolve from existing R2 objects and production no longer shows the media placeholders.","proofConditionIds":["runtime","visual"]}],"objective":"Correct the live La Vista R2 auth contract after PR #885. Production v8 proves CLOUDFLARE_VISTADELMAR_API_TOKEN is present (laVistaR2Configured=true), but both galleries still return cloudflare_r2_list_failed:403 and lead/login fall back to SVG. Cloudflare's current R2 contract states bucket-scoped Object Read/Object Read & Write tokens are supported by the S3-compatible API, not the Cloudflare REST object API. Use the existing owner-created CLOUDFLARE_VISTADELMAR_API_TOKEN as the R2 API token value: verify it through Cloudflare's token verify endpoint to obtain its token id (the R2 Access Key ID), derive the R2 Secret Access Key as the SHA-256 hex digest of the token value per Cloudflare's R2 auth contract, and use aws4fetch/AWS SigV4 against https://<ACCOUNT_ID>.r2.cloudflarestorage.com for La Vista list/get/put operations. Preserve the existing generic REST path for other tenants. Do not require another owner secret unless live token verification proves the supplied secret is not an R2 API token value. Do not alter any existing R2 objects or tenant keys. Gate, squash merge, deploy only tenant-photo-studio, then prove both galleries contain real keys, lead/login return real image content rather than SVG fallback, and production dashboard visibly renders the actual La Vista imagery.","constraints":[{"id":"preserve-objects","statement":"No existing La Vista R2 object may be uploaded, renamed, copied, regenerated, enhanced, replaced or otherwise mutated during this repair.","proofConditionIds":["source"]},{"id":"preserve-type","statement":"La Vista remains SHORT_TERM_RENTAL and its configured object keys remain unchanged.","proofConditionIds":["tenant"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"source","kind":"repository","claim":"The corrective diff is scoped to tenant-photo-studio's La Vista R2 auth adapter.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime","kind":"runtime","claim":"Both La Vista galleries succeed and lead/login return real image responses rather than 403/placeholder SVG after the exact Edge release.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["supabaseEdge"],"requiredReleaseTargets":["supabaseEdge"]},{"id":"visual","kind":"visual","claim":"Production /la-vista-del-mar/dashboard visibly renders the actual property imagery instead of Add property photos / Photo ready to add.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["supabaseEdge"],"requiredReleaseTargets":["supabaseEdge"]},{"id":"tenant","kind":"runtime","claim":"Production tenant remains SHORT_TERM_RENTAL with unchanged R2 bucket and object-key configuration.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/fix-vista-r2-s3-auth-20260828","conversationContext":null,"requestContractHash":"593ff3e5c363f75652ea78dd09dbc1c13d496f09f3bd8d6d5c365180a09949d5","requestContractRevision":1},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T00:26:26.128029+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:67f003f8-e520-4e75-806d-ab917fe0bfb0:tenant-workstream-contribution:0aa5ceb44c554d6bf342c727846c20674a46f63ee4f617708defb2bb50828ae6","mission_step_id":null,"command_center_event_id":"67f003f8-e520-4e75-806d-ab917fe0bfb0"},{"id":"bd785687-fc71-4cf9-9d92-87155de3808e","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-5f17a082daea","prNumber":3757,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"807dd8278422d907c3ea682717cffdfc574e4584","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T19:12:14.419717+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"807dd8278422d907c3ea682717cffdfc574e4584","external_id":"3757","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:5f17a082-daea-4cc5-8735-e9deb4d2f979:merged-pr:3757:807dd8278422d907c3ea682717cffdfc574e4584","mission_step_id":"c176ab4c-a0da-40fb-9d28-80898a31631b","command_center_event_id":"5f17a082-daea-4cc5-8735-e9deb4d2f979"},{"id":"bd78740d-a399-4dcd-9bc5-752849ff0a6b","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Repair only the two deterministic hard-safety test harness failures surfaced by exact-head Gate run #7407 on existing PR #2504. Preserve all runtime behavior and all other hardening changes.","wordingChanged":false,"canonicalIntent":"Repair only the two deterministic hard-safety test harness failures surfaced by exact-head Gate run #7407 on existing PR #2504. Preserve all runtime behavior and all other hardening changes.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"continuity-test","statement":"The release-continuity contract locates current function bodies robustly and proves monitoring cannot navigate while stale chunk recovery remains one-shot and route-preserving.","proofConditionIds":["proof-continuity"]},{"id":"tenant-test","statement":"The tenant-isolation contract executes the canonical tenant platform contract and shared application registry for representative sibling tenants.","proofConditionIds":["proof-tenant"]}],"objective":"Repair only the two deterministic hard-safety test harness failures surfaced by exact-head Gate run #7407 on existing PR #2504. Preserve all runtime behavior and all other hardening changes.","constraints":[{"id":"no-runtime-change","statement":"Do not change production runtime code to satisfy these test harness fixes.","proofConditionIds":["proof-continuity","proof-tenant"]},{"id":"same-pr","statement":"Use only mission eb6d99ed-d64f-4d35-97cc-09f797e67c3c and PR #2504.","proofConditionIds":["proof-continuity","proof-tenant"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-continuity","kind":"repository","claim":"Continuity regression test uses real current function boundaries and retains non-navigation plus one-shot route-preserving assertions.","route":"src/__tests__/contracts/frontend-release-continuity.contract.test.ts","roleRef":null,"userRef":null,"required":true,"expectedText":"functionBlock","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-tenant","kind":"repository","claim":"Tenant isolation test resolves the canonical tenant-platform-contract TypeScript module explicitly and retains sibling route/branding/app/storage isolation assertions.","route":"src/__tests__/contracts/tenant-isolation-hard-safety.contract.test.ts","roleRef":null,"userRef":null,"required":true,"expectedText":"tenant-platform-contract.ts","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"e744a80321bc91e28fed1566d22cf2fc64ad0264e0f54f0706bc8cc240d0203f","requestContractRevision":8,"previousRequestContractHash":"dc65e4fed30346d42a173520705b6ca41909862f73a93966386cd54d9489e6bb"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T16:30:57.351554+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:eb6d99ed-d64f-4d35-97cc-09f797e67c3c:request-contract:e744a80321bc91e28fed1566d22cf2fc64ad0264e0f54f0706bc8cc240d0203f","mission_step_id":"8ec2b564-cc5d-427a-9229-c0836013a001","command_center_event_id":"eb6d99ed-d64f-4d35-97cc-09f797e67c3c"},{"id":"bd7908b7-48c0-4d56-8c6b-0bd518238d63","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"pcg_website","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"fafb1a05-f46c-198b-510b-ca6d77c6eac9"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:f1e53bcd-1ff5-4506-b02a-4f2ebe15759a","mission_step_id":null,"command_center_event_id":"f1e53bcd-1ff5-4506-b02a-4f2ebe15759a"},{"id":"bd7a85d0-5ffe-4163-9e32-04bac536e9d3","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Reconcile the completed release for the existing standalone-app/bootstrap mission and finish live proof. PR #2084 is merged at 752729e0fb72387ad2ce6d27bdb12e3e492f7990. Forgejo release run 6204 succeeded; Cloudflare production version 5999f5bc-d9ed-47ee-982a-a8d6c6daa0de is at 100% and exact-artifact verification passed on knocklaunch.app and app.knocklaunch.app; migration 20260907170500_first_class_application_routes_bootstrap.sql was applied and verified. Database truth now shows 29 catalog apps, 29 unique non-null standalone paths, zero tenant-user apps missing login paths, minimum bootstrap version 1, zero missing route adapters, and preserved Big Papi/Curri app enablement. Complete claim-matched runtime proof for the standalone routes without making any source or data mutations.","wordingChanged":false,"canonicalIntent":"Reconcile the completed release for the existing standalone-app/bootstrap mission and finish live proof. PR #2084 is merged at 752729e0fb72387ad2ce6d27bdb12e3e492f7990. Forgejo release run 6204 succeeded; Cloudflare production version 5999f5bc-d9ed-47ee-982a-a8d6c6daa0de is at 100% and exact-artifact verification passed on knocklaunch.app and app.knocklaunch.app; migration 20260907170500_first_class_application_routes_bootstrap.sql was applied and verified. Database truth now shows 29 catalog apps, 29 unique non-null standalone paths, zero tenant-user apps missing login paths, minimum bootstrap version 1, zero missing route adapters, and preserved Big Papi/Curri app enablement. Complete claim-matched runtime proof for the standalone routes without making any source or data mutations.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"standalone-app-contract","statement":"Every cataloged KnockLaunch app has a unique canonical standalone route and bootstrap contract.","proofConditionIds":["repo"]},{"id":"tenant-installation-boundary","statement":"Standalone tenant-user apps only render for eligible tenants where that app is actually installed and enabled.","proofConditionIds":["repo"]},{"id":"public-app-route","statement":"Customer-public catalog apps such as Progress resolve through their standalone path to their canonical public owner.","proofConditionIds":["repo"]},{"id":"proposal-editor-first-class","statement":"Proposal Editor is a standalone tenant-specific app; Big Papi is only its flagship profile, not the universal renderer.","proofConditionIds":["proposal-editor-route"]}],"objective":"Reconcile the completed release for the existing standalone-app/bootstrap mission and finish live proof. PR #2084 is merged at 752729e0fb72387ad2ce6d27bdb12e3e492f7990. Forgejo release run 6204 succeeded; Cloudflare production version 5999f5bc-d9ed-47ee-982a-a8d6c6daa0de is at 100% and exact-artifact verification passed on knocklaunch.app and app.knocklaunch.app; migration 20260907170500_first_class_application_routes_bootstrap.sql was applied and verified. Database truth now shows 29 catalog apps, 29 unique non-null standalone paths, zero tenant-user apps missing login paths, minimum bootstrap version 1, zero missing route adapters, and preserved Big Papi/Curri app enablement. Complete claim-matched runtime proof for the standalone routes without making any source or data mutations.","constraints":[{"id":"one-pr","statement":"Keep the repair on existing PR #2084 / branch ai/standalone-app-routes-bootstrap-0907; do not create a duplicate branch or PR.","proofConditionIds":["repo","proposal-editor-route","mail-route","calendar-route","booking-route","call-center-route","vertical-route"]},{"id":"preserve-compatibility","statement":"Existing tenant-specific routes remain compatibility paths.","proofConditionIds":["repo","proposal-editor-route","mail-route","calendar-route","booking-route","call-center-route","vertical-route"]},{"id":"release-scope","statement":"Release only affected frontend and Supabase migration owners.","proofConditionIds":["repo","proposal-editor-route","mail-route","calendar-route","booking-route","call-center-route","vertical-route"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"PR #2084 contains the canonical registry, standalone resolver, tenant installation guard, public Progress route, bootstrap migration, and contract tests.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proposal-editor-route","kind":"runtime","claim":"The standalone Proposal Editor route is live and tenant-specific.","route":"/proposal-editor","roleRef":null,"userRef":null,"required":true,"expectedText":"Proposal Editor","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"mail-route","kind":"runtime","claim":"The standalone Mail route is live.","route":"/mail","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"calendar-route","kind":"runtime","claim":"The standalone Calendar route is live.","route":"/calendar","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"booking-route","kind":"runtime","claim":"The standalone Booking route is live.","route":"/booking","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"call-center-route","kind":"runtime","claim":"The standalone Call Center route remains live.","route":"/call-center","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"vertical-route","kind":"runtime","claim":"At least one standalone vertical-specific application route is live for an eligible installed tenant.","route":"/realtor-transaction-operations","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"b0bbf8f7fa06c61410a4634ea24a7bc756eaca2a8d9ea9da6cf0de73bf462e0f","requestContractRevision":4,"previousRequestContractHash":"b3148719d49695f46bce7cd79b50e7a95c46b892ccc6a7e5661df23d397a2da0"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T17:22:28.556599+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:bc8b7d18-a45c-473d-939b-531ae27c4450:request-contract:b0bbf8f7fa06c61410a4634ea24a7bc756eaca2a8d9ea9da6cf0de73bf462e0f","mission_step_id":"70ca9ebc-92a3-4168-ad06-b30a2d332696","command_center_event_id":"bc8b7d18-a45c-473d-939b-531ae27c4450"},{"id":"bd7b4a81-828b-4acc-a22a-2fd00fbc519a","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"1cea0b90-cbc7-44da-97b2-aef7316d93a1","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-b79255f67e21","reason":null,"status":"pending","metrics":{"receiptBytes":173093,"releaseCount":0,"toolCallCount":83,"repeatedCallCount":55,"executorlessWaitMs":2431803,"firstUsefulResultAt":"2026-10-04T09:22:12.147Z","recoveryAttemptCount":46,"ownerInterruptionCount":0},"version":null,"prNumber":4718,"terminal":false,"missionId":"b79255f6-7e21-493b-90ff-5552f473f906","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"2e8efad698df6ae0a2071146284fc51edd609ca6","timingsMs":{"queue":945,"total":971,"execution":26},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"b79255f6-7e21-493b-90ff-5552f473f906"},"performance":null,"deploymentId":"forgejo-main-2e8efad698df","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"1cea0b90-cbc7-44da-97b2-aef7316d93a1","tenant":"pcg","runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":0,"supervisorId":"1cea0b90-cbc7-44da-97b2-aef7316d93a1","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/pcg/this-route-does-not-exist","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":1,"restartReplayHistory":[]},"workflowRunId":15070,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","interaction","visual"],"verificationState":"failed","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1767,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T10:02:46.310281+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"2e8efad698df6ae0a2071146284fc51edd609ca6","external_id":"1cea0b90-cbc7-44da-97b2-aef7316d93a1","receipt_type":"visual_proof_started","idempotency_key":"mission:b79255f6-7e21-493b-90ff-5552f473f906:visual-start:1cea0b90-cbc7-44da-97b2-aef7316d93a1","mission_step_id":"cee8ad0a-7578-4a93-b226-981e3d96d84e","command_center_event_id":"b79255f6-7e21-493b-90ff-5552f473f906"},{"id":"bd80300f-7564-4b00-b09b-8c9ae58a23d0","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","leaseEpoch":8,"afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":null,\"nextStep\":null,\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_requires_merge_reconciliation\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":null,\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":null,\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":\"forgejo_exact_source\",\"terminal\":false,\"branch\":\"ai/fast-ui-mutate-and-ship-now-apply-this-exact-pcg-2da1e7b2\",\"prNumber\":5203,\"sourceSha\":\"2b57df054966516cba427d986810cbcd97979d5c\",\"deploymentId\":\"forgejo-main-2b57df054966\"}","beforeSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":null,\"nextStep\":null,\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_requires_merge_reconciliation\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":null,\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":null,\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/fast-ui-mutate-and-ship-now-apply-this-exact-pcg-2da1e7b2\",\"prNumber\":5203,\"sourceSha\":\"2b57df054966516cba427d986810cbcd97979d5c\",\"deploymentId\":\"forgejo-main-2b57df054966\"}","transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T20:16:23.805319+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:d2d608ec-8dd6-4701-8b13-2db3e67aab2e:deterministic-transition:{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":null,\"nextStep\":null,\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_requires_merge_reconciliation\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":null,\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"wait","mission_step_id":"027aab8e-0c21-46ec-8211-d1ddc1ea037f","command_center_event_id":"d2d608ec-8dd6-4701-8b13-2db3e67aab2e"},{"id":"bd80b660-42e4-41e8-80ec-82641bea8fd7","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"ac663fcf7052e314fac920ee8da3394da760012a","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"record","satisfied":false,"statement":"Existing PR #2416 squash-merges the Golden Restore Point metadata into main after Gate 7162.","proofConditionIds":["repository-proof"]},{"id":"frozen","satisfied":false,"statement":"The restore point targets 1b2110b7a8988859ec73184d299584ce4e2490d8 with Command Center 1.58.107-exact-green-no-prearm and normal control-plane mutation remains frozen by default.","proofConditionIds":["repository-proof","frozen-proof"]}],"satisfied":false,"constraints":[{"id":"same-pr","satisfied":false,"statement":"Use only existing PR #2416, change no product/runtime target, preserve database records and migration history, and do not run Visual Witness.","proofConditionIds":["repository-proof","frozen-proof"]}],"contractHash":"a9383c18ba04a01539c0e186623a979fccb2023c274602497a690d985d20fdf6","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repository-proof","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"a9383c18ba04a01539c0e186623a979fccb2023c274602497a690d985d20fdf6","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"frozen-proof","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":[],"releaseRequestContractHash":"a9383c18ba04a01539c0e186623a979fccb2023c274602497a690d985d20fdf6"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository","runtime"],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:04:27.556208+00:00","proof_gate":"request_contract_pending","source_sha":"ac663fcf7052e314fac920ee8da3394da760012a","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:5ad2c3fd-60f9-44ea-a5ff-11518064cccd:request-contract:a9383c18ba04a01539c0e186623a979fccb2023c274602497a690d985d20fdf6:ac663fcf7052e314fac920ee8da3394da760012a:pending:repository,runtime","mission_step_id":"2206f395-b3f2-4802-b731-b84b24e399cc","command_center_event_id":"5ad2c3fd-60f9-44ea-a5ff-11518064cccd"},{"id":"bd83140a-016c-47ca-b28c-9d99f7b7125f","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.67.3-cross-conversation-lean-queue","prNumber":null,"terminal":false,"missionId":"81208071-76bc-4839-8d5a-a7926e5318b1","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2789,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":513,"providerAuthMs":0,"ledgerPrepareMs":513,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":513,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":513,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"81208071-76bc-4839-8d5a-a7926e5318b1"},"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":3129,"likelyAffectedFiles":["src/PrivateAppShell.tsx","src/PcgAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T17:19:31.053905+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:81208071-76bc-4839-8d5a-a7926e5318b1:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"ba7df782-e62f-4411-8e2f-73d91d848eae","command_center_event_id":"81208071-76bc-4839-8d5a-a7926e5318b1"},{"id":"bd832eee-02d4-4c16-a241-53639473036b","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"supabase/functions/tenant-provider-connections/index.ts","content":"import {createClient} from 'https://esm.sh/@supabase/supabase-js@2.45.0';\nimport {decryptSecret,encryptSecret} from '../_shared/tenantCrypto.ts';\n\nconst APP_BASE='https://app.knocklaunch.app';\nconst SUPABASE_URL=Deno.env.get('SUPABASE_URL')||'';\nconst CALLBACK_URL=`${SUPABASE_URL}/functions/v1/tenant-provider-connections?oauth=callback`;\nconst ORIGINS=new Set(['https://knocklaunch.app','https://app.knocklaunch.app']);\ntype Key='google_workspace'|'google_search_console'|'microsoft_365'|'monday'|'quickbooks'|'slack'|'dropbox'|'hubspot'|'docusign'|'ebay'|'stripe';\ntype Def={key:Key;label:string;category:string;caps:string[];permissions:string[];clientIdEnv:string;clientSecretEnv:string;redirectUriEnv?:string;authUrl:string;tokenUrl:string;revokeUrl?:string;scopes:string[];delimiter:' '|',';pkce:boolean;tokenAuth:'body'|'basic'};\ntype Token={access_token:string;refresh_token?:string|null;expires_at?:string|null;token_type?:string|null;scope?:string|null;metadata?:Record<string,unknown>};\nconst PRIVATE_OWNER_TENANT_ID='a3ffa31f-0c88-4fdd-b872-051db013ca3e';\nconst PRIVATE_PROVIDER_KEY:Key='google_search_console';\nconst P:Record<Key,Def>={\n google_workspace:{key:'google_workspace',label:'Google Workspace',category:'Calendar, files & Gmail',caps:['Calendar events','Drive files used with KnockLaunch','Gmail inbox, search & sending'],permissions:['View and manage calendar events','Use only Drive files opened or created through KnockLaunch','Read, organize and send email in the connected Gmail account','Basic account identity'],clientIdEnv:'GOOGLE_WORKSPACE_CLIENT_ID',clientSecretEnv:'GOOGLE_WORKSPACE_CLIENT_SECRET',authUrl:'https://accounts.google.com/o/oauth2/v2/auth',tokenUrl:'https://oauth2.googleapis.com/token',revokeUrl:'https://oauth2.googleapis.com/revoke',scopes:['openid','email','profile','https://www.googleapis.com/auth/calendar.events','https://www.googleapis.com/auth/calendar.calendarlist.readonly','https://www.googleapis.com/auth/drive.file','https://www.googleapis.com/auth/gmail.modify','https://www.googleapis.com/auth/gmail.send'],delimiter:' ',pkce:true,tokenAuth:'body'},\n google_search_console:{key:'google_search_console',label:'Google Search Console',category:'Owner SEO',caps:['Search performance','Search Console properties','Sitemaps','URL inspection'],permissions:['Read Search Console performance and property status','Inspect indexing status for registered owner URLs','Basic account identity'],clientIdEnv:'GOOGLE_WORKSPACE_CLIENT_ID',clientSecretEnv:'GOOGLE_WORKSPACE_CLIENT_SECRET',authUrl:'https://accounts.google.com/o/oauth2/v2/auth',tokenUrl:'https://oauth2.googleapis.com/token',revokeUrl:'https://oauth2.googleapis.com/revoke',scopes:['openid','email','profile','https://www.googleapis.com/auth/webmasters.readonly'],delimiter:' ',pkce:true,tokenAuth:'body'},\n microsoft_365:{key:'microsoft_365',label:'Microsoft 365',category:'Calendar',caps:['Microsoft 365 calendar'],permissions:['Basic Microsoft account identity','View and manage calendar events','Offline access for scheduled calendar sync'],clientIdEnv:'MICROSOFT_365_CLIENT_ID',clientSecretEnv:'MICROSOFT_365_CLIENT_SECRET',authUrl:'https://login.microsoftonline.com/common/oauth2/v2.0/authorize',tokenUrl:'https://login.microsoftonline.com/common/oauth2/v2.0/token',scopes:['openid','profile','email','offline_access','User.Read','Calendars.ReadWrite'],delimiter:' ',pkce:true,tokenAuth:'body'},\n monday:{key:'monday',label:'monday.com',category:'Work management',caps:['Boards','Workspaces','Users'],permissions:['Read account identity','Read and update boards','Read workspaces','Read users'],clientIdEnv:'MONDAY_CLIENT_ID',clientSecretEnv:'MONDAY_CLIENT_SECRET',authUrl:'https://auth.monday.com/oauth2/authorize',tokenUrl:'https://auth.monday.com/oauth_ms/oauth/token',revokeUrl:'https://auth.monday.com/oauth_ms/oauth/revoke',scopes:['me:read','boards:read','boards:write','workspaces:read','users:read'],delimiter:' ',pkce:true,tokenAuth:'body'},\n quickbooks:{key:'quickbooks',label:'QuickBooks Online',category:'Accounting',caps:['Accounting data'],permissions:['Read and update the connected QuickBooks company accounting data'],clientIdEnv:'QUICKBOOKS_CLIENT_ID',clientSecretEnv:'QUICKBOOKS_CLIENT_SECRET',authUrl:'https://appcenter.intuit.com/connect/oauth2',tokenUrl:'https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer',revokeUrl:'https://developer.api.intuit.com/v2/oauth2/tokens/revoke',scopes:['com.intuit.quickbooks.accounting'],delimiter:' ',pkce:false,tokenAuth:'basic'},\n slack:{key:'slack',label:'Slack',category:'Team messaging',caps:['Channel list','KnockLaunch notifications'],permissions:['View channel names','Post messages as the KnockLaunch app'],clientIdEnv:'SLACK_CLIENT_ID',clientSecretEnv:'SLACK_CLIENT_SECRET',authUrl:'https://slack.com/oauth/v2/authorize',tokenUrl:'https://slack.com/api/oauth.v2.access',revokeUrl:'https://slack.com/api/auth.revoke',scopes:['channels:read','chat:write'],delimiter:',',pkce:false,tokenAuth:'body'},\n dropbox:{key:'dropbox',label:'Dropbox',category:'Files',caps:['KnockLaunch app-folder files'],permissions:['Read account identity','Read and write files inside the Dropbox app folder configured for KnockLaunch'],clientIdEnv:'DROPBOX_CLIENT_ID',clientSecretEnv:'DROPBOX_CLIENT_SECRET',authUrl:'https://www.dropbox.com/oauth2/authorize',tokenUrl:'https://api.dropboxapi.com/oauth2/token',revokeUrl:'https://api.dropboxapi.com/2/auth/token/revoke',scopes:['account_info.read','files.metadata.read','files.content.read','files.content.write'],delimiter:' ',pkce:true,tokenAuth:'basic'},\n hubspot:{key:'hubspot',label:'HubSpot',category:'CRM',caps:['Contacts'],permissions:['Read contacts','Create and update contacts'],clientIdEnv:'HUBSPOT_CLIENT_ID',clientSecretEnv:'HUBSPOT_CLIENT_SECRET',authUrl:'https://app.hubspot.com/oauth/authorize',tokenUrl:'https://api.hubapi.com/oauth/v3/token',scopes:['oauth','crm.objects.contacts.read','crm.objects.contacts.write'],delimiter:' ',pkce:false,tokenAuth:'body'},\n docusign:{key:'docusign',label:'DocuSign',category:'E-signature',caps:['Envelope signing'],permissions:['Create and manage signature envelopes','Maintain authorized background access until disconnected'],clientIdEnv:'DOCUSIGN_CLIENT_ID',clientSecretEnv:'DOCUSIGN_CLIENT_SECRET',authUrl:'https://account.docusign.com/oauth/auth',tokenUrl:'https://account.docusign.com/oauth/token',scopes:['signature','extended'],delimiter:' ',pkce:false,tokenAuth:'basic'},\n ebay:{key:'ebay',label:'eBay',category:'Marketplace',caps:['Inventory items & locations','Offers & published listings','Orders','Fulfillment & shipment tracking','Seller business policies','Marketplace notifications'],permissions:['Authorize the connected eBay seller account','Read and manage inventory and listings','Read orders and manage fulfillment','Read seller account policies','Manage marketplace notification subscriptions'],clientIdEnv:'EBAY_CLIENT_ID',clientSecretEnv:'EBAY_CLIENT_SECRET',redirectUriEnv:'EBAY_RUNAME',authUrl:'https://auth.ebay.com/oauth2/authorize',tokenUrl:'https://api.ebay.com/identity/v1/oauth2/token',scopes:['https://api.ebay.com/oauth/api_scope/sell.inventory','https://api.ebay.com/oauth/api_scope/sell.fulfillment','https://api.ebay.com/oauth/api_scope/sell.account','https://api.ebay.com/oauth/api_scope/commerce.notification.subscription'],delimiter:' ',pkce:false,tokenAuth:'basic'},\n stripe:{key:'stripe',label:'Stripe',category:'Payments',caps:['Customers','Payment intents & payments','Invoices','Products & prices','Refunds','Subscriptions','Balance & payouts','Webhook-driven reconciliation'],permissions:['Authorize the connected Stripe account through Stripe Connect','Manage billing and payment lifecycle data for the connected business','Keep privileged Stripe access server-side and tenant-scoped'],clientIdEnv:'STRIPE_CONNECT_CLIENT_ID',clientSecretEnv:'STRIPE_CONNECT_CLIENT_SECRET',authUrl:'https://connect.stripe.com/oauth/authorize',tokenUrl:'https://connect.stripe.com/oauth/token',scopes:['read_write'],delimiter:' ',pkce:false,tokenAuth:'body'}\n};\nconst PUBLIC_OAUTH=(Object.keys(P) as Key[]).filter(k=>k!==PRIVATE_PROVIDER_KEY);\nconst MUSE={key:'meta_muse',label:'Meta Muse',category:'AI & Assistants',caps:['Calendar & events','Inventory','Customers','Tasks & notes','Proposals & invoices','Pop-up planning','Workspace search'],permissions:['Use only the connected tenant workspace','Respect current KnockLaunch user and tenant authorization','Destructive or outbound actions still require KnockLaunch approval controls']} as const;\nconst MUSE_ROLLOUT_SLUGS=new Set(['big-papis']);\nfunction cors(req:Request){const o=String(req.headers.get('Origin')||'');return{...(ORIGINS.has(o)?{'Access-Control-Allow-Origin':o}:{}),'Access-Control-Allow-Headers':'authorization, x-client-info, apikey, content-type','Access-Control-Allow-Methods':'POST, OPTIONS','Vary':'Origin'}}\nfunction j(req:Request,status:number,body:unknown){return new Response(JSON.stringify(body),{status,headers:{...cors(req),'Content-Type':'application/json','Cache-Control':'no-store'}})}\nfunction safePath(v:unknown){const s=String(v||'');if(!s.startsWith('/')||s.startsWith('//')||s.includes('://'))return'/connections';return s}\nfunction ret(path:string,provider:string,status:'connected'|'error'){const u=new URL(safePath(path),APP_BASE);u.searchParams.set('connection',status);u.searchParams.set('provider',provider);return u.toString()}\nfunction cfg(d:Def){const clientId=Deno.env.get(d.clientIdEnv)||'',clientSecret=Deno.env.get(d.clientSecretEnv)||'',redirectUri=d.redirectUriEnv?(Deno.env.get(d.redirectUriEnv)||''):CALLBACK_URL;return{clientId,clientSecret,redirectUri,configured:Boolean(clientId&&clientSecret&&redirectUri)}}\nfunction b64u(bytes:Uint8Array){let b='';for(const x of bytes)b+=String.fromCharCode(x);return btoa(b).replace(/\\+/g,'-').replace(/\\//g,'_').replace(/=+$/,'')}\nasync function sha(v:string){return b64u(new Uint8Array(await crypto.subtle.digest('SHA-256',new TextEncoder().encode(v))))}\nasync function userId(req:Request){const h=req.headers.get('Authorization')||'';if(!h.startsWith('Bearer '))throw new Error('Unauthorized');const c=createClient(SUPABASE_URL,Deno.env.get('SUPABASE_ANON_KEY')||'',{global:{headers:{Authorization:h}}});const {data,error}=await c.auth.getUser(h.slice(7));if(error||!data.user?.id)throw new Error('Unauthorized');return data.user.id}\nasync function authorize(admin:any,uid:string,tid:string){const [o,a]=await Promise.all([admin.rpc('is_tenant_owner_for',{_user_id:uid,_tenant_id:tid}),admin.rpc('is_system_admin',{_user_id:uid})]);if(o.error)throw o.error;if(a.error)throw a.error;if(!o.data&&!a.data)throw new Error('Tenant owner or admin required')}\nasync function authorizeTenantMember(admin:any,uid:string,tid:string){const [o,a,m]=await Promise.all([admin.rpc('is_tenant_owner_for',{_user_id:uid,_tenant_id:tid}),admin.rpc('is_system_admin',{_user_id:uid}),admin.from('user_tenant_memberships').select('user_id,status').eq('user_id',uid).eq('tenant_id',tid).maybeSingle()]);if(o.error)throw o.error;if(a.error)throw a.error;if(m.error)throw m.error;const activeMember=Boolean(m.data?.user_id)&&(!m.data?.status||m.data.status==='active');if(!o.data&&!a.data&&!activeMember)throw new Error('Active tenant membership required')}\nasync function resolveConnectionSubject(admin:any,operatorUid:string,tid:string,requested:unknown){const targetUid=String(requested||operatorUid).trim()||operatorUid;if(targetUid===operatorUid)return{targetUserId:operatorUid,support:false};const a=await admin.rpc('is_system_admin',{_user_id:operatorUid});if(a.error)throw a.error;if(!a.data)throw new Error('GodMode support access required');const m=await admin.from('user_tenant_memberships').select('user_id,status').eq('tenant_id',tid).eq('user_id',targetUid).maybeSingle();if(m.error)throw m.error;if(!m.data?.user_id||(m.data.status&&m.data.status!=='active'))throw new Error('Projected user is not an active tenant member');return{targetUserId:targetUid,support:true}}\nfunction visibleToConnectionSubject(metadata:any,targetUid:string){const bound=String(metadata?.bound_user_id||'').trim();return !bound||bound===targetUid}\nasync function auditSupportAction(admin:any,tid:string,operatorUid:string,targetUid:string,action:string,provider:string,connectionId?:string|null){if(operatorUid===targetUid)return;const now=new Date().toISOString();const{error}=await admin.from('activity_timeline').insert({tenant_org_id:tid,user_id:operatorUid,activity_type:'godmode_connection_support',title:'GodMode connection support: '+action,metadata:{operator_user_id:operatorUid,projected_user_id:targetUid,provider,connection_id:connectionId||null,action},related_entity_type:'provider_connection',importance:'normal',is_system_generated:true,event_domain:'connections',source_channel:'godmode_support',source_system:'knocklaunch',source_record_type:'provider_connection',source_record_id:connectionId||provider,correlation_key:'godmode-connection:'+tid+':'+targetUid+':'+provider+':'+action+':'+Date.now(),actor_role:'GodMode',new_state:action,currency:'USD',recorded_at:now});if(error)throw error}\nasync function tenantSlug(admin:any,tid:string){const {data,error}=await admin.from('tenants').select('company_slug').eq('id',tid).maybeSingle();if(error)throw error;return String(data?.company_slug||'').trim().toLowerCase()}\nconst PCG_DEDICATED_CALENDAR_SCOPE='https://www.googleapis.com/auth/calendar.app.created';\nasync function providerScopes(admin:any,d:Def,tid:string){const scopes=[...d.scopes];if(d.key==='google_workspace'&&await tenantSlug(admin,tid)==='pcg')scopes.push(PCG_DEDICATED_CALENDAR_SCOPE);return Array.from(new Set(scopes))}\nasync function privateOwner(admin:any,uid:string,tid:string){if(tid!==PRIVATE_OWNER_TENANT_ID)throw new Error('Personal Knock Launch OS owner required');const {data}=await admin.from('tenants').select('owner_id').eq('id',tid).maybeSingle();const a=await admin.rpc('is_system_admin',{_user_id:uid});if(data?.owner_id!==uid&&!a.data)throw new Error('Personal Knock Launch OS owner required')}\nasync function readToken(admin:any,tid:string,key:Key){const {data,error}=await admin.from('tenant_provider_secrets').select('ciphertext,iv').eq('tenant_id',tid).eq('provider',key).maybeSingle();if(error)throw error;if(!data)return null;return JSON.parse(await decryptSecret(data.ciphertext,data.iv)) as Token}\nasync function write(admin:any,tid:string,uid:string,operatorUid:string,d:Def,t:Token){const e=await encryptSecret(JSON.stringify(t));let r=await admin.from('tenant_provider_secrets').upsert({tenant_id:tid,provider:d.key,ciphertext:e.ciphertext,iv:e.iv,key_version:1,verified_at:new Date().toISOString(),verification_error:null,created_by:uid},{onConflict:'tenant_id,provider'});if(r.error)throw r.error;r=await admin.from('tenant_provider_credentials').upsert({tenant_id:tid,provider:d.key,credential_ref:`db:tenant_provider_secrets:${d.key}`,credential_status:'active',last_verified_at:new Date().toISOString(),verification_notes:`${d.label} connected through OAuth.`,metadata:{capabilities:d.caps,granted_scopes:String(t.scope||d.scopes.join(d.delimiter)).split(/[ ,]+/).filter(Boolean),connected_by_user_id:uid,bound_user_id:uid,support_operator_user_id:operatorUid!==uid?operatorUid:null,provider_account_id:String(t.metadata?.realm_id||t.metadata?.team_id||t.metadata?.account_id||t.metadata?.user_id||'').trim()||null,...(t.metadata||{})},created_by:operatorUid},{onConflict:'tenant_id,provider'});if(r.error)throw r.error}\nasync function googleIdentity(accessToken:string){const res=await fetch('https://openidconnect.googleapis.com/v1/userinfo',{headers:{Authorization:`Bearer ${accessToken}`}});const data=await res.json().catch(()=>({}));if(!res.ok)throw new Error(String(data?.error_description||data?.error||'Google account identity could not be read.'));return{providerAccountId:String(data?.sub||'').trim(),email:String(data?.email||'').trim().toLowerCase(),name:String(data?.name||'').trim()}}\nasync function refreshGoogleWorkspaceToken(token:Token){if(!token?.refresh_token)return token;const d=P.google_workspace,c=cfg(d);if(!c.configured)return token;const p=new URLSearchParams({grant_type:'refresh_token',refresh_token:String(token.refresh_token),client_id:c.clientId,client_secret:c.clientSecret});const res=await fetch(d.tokenUrl,{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:p});const x=await res.json().catch(()=>({}));if(!res.ok||!x.access_token)return token;return{...token,access_token:String(x.access_token),expires_at:x.expires_in?new Date(Date.now()+Number(x.expires_in)*1000).toISOString():token.expires_at,scope:x.scope||token.scope,refresh_token:token.refresh_token}}\nasync function hydrateGoogleAccountIdentity(admin:any,tid:string,row:any){const existingStable=String(row?.provider_account_id||'').trim(),existingEmail=String(row?.account_email||'').trim().toLowerCase();if(row?.credential_status!=='active'||!row?.ciphertext||!row?.iv)return row;if(row?.account_email&&row?.account_name&&existingStable&&existingStable!==existingEmail)return row;try{let token=JSON.parse(await decryptSecret(row.ciphertext,row.iv)) as Token;let identity:{providerAccountId:string;email:string;name:string};try{identity=await googleIdentity(token.access_token)}catch{token=await refreshGoogleWorkspaceToken(token);identity=await googleIdentity(token.access_token)}if(!identity.email||!identity.providerAccountId)return row;const encrypted=await encryptSecret(JSON.stringify(token));const tokenScopes=String(token.scope||'').split(/[ ,]+/).filter(Boolean);const grantedScopes=tokenScopes.length?tokenScopes:(Array.isArray(row.granted_scopes)?row.granted_scopes:Array.isArray(row?.metadata?.granted_scopes)?row.metadata.granted_scopes:[]);const actorUserId=row.actor_user_id||row?.metadata?.bound_user_id||row?.metadata?.connected_by_user_id||row.created_by;const metadata={...(row.metadata||{}),provider_account_id:identity.providerAccountId,account_email:identity.email,account_name:identity.name||row.account_name||null,granted_scopes:grantedScopes,bound_user_id:row?.metadata?.bound_user_id||actorUserId,connected_by_user_id:row?.metadata?.connected_by_user_id||actorUserId};const{data,error}=await admin.from('tenant_google_workspace_connections').update({provider_account_id:identity.providerAccountId,actor_user_id:actorUserId,granted_scopes:grantedScopes,account_email:identity.email,account_name:identity.name||null,metadata,ciphertext:encrypted.ciphertext,iv:encrypted.iv,updated_at:new Date().toISOString()}).eq('id',row.id).eq('tenant_id',tid).select('id,provider_account_id,actor_user_id,granted_scopes,account_email,account_name,connection_role,is_primary,metadata,credential_status,verified_at,created_at,ciphertext,iv,key_version,created_by').single();if(error)return row;return data||row}catch{return row}}\nasync function googleAccounts(admin:any,tid:string){const{data,error}=await admin.from('tenant_google_workspace_connections').select('id,provider_account_id,actor_user_id,granted_scopes,account_email,account_name,connection_role,is_primary,metadata,credential_status,verified_at,created_at,ciphertext,iv,key_version,created_by').eq('tenant_id',tid).order('is_primary',{ascending:false}).order('created_at',{ascending:true});if(error)throw error;const rows=data||[];return await Promise.all(rows.map((row:any)=>hydrateGoogleAccountIdentity(admin,tid,row)))}\nfunction googleServices(metadata:any){const raw=metadata?.service_access&&typeof metadata.service_access==='object'?metadata.service_access:{};return{mail:raw.mail!==false,drive:raw.drive!==false,calendar:raw.calendar!==false}}\nasync function syncGoogleStorageBinding(admin:any,tid:string,row:any){const scopes=Array.isArray(row?.granted_scopes)?row.granted_scopes.map((value:unknown)=>String(value)):Array.isArray(row?.metadata?.granted_scopes)?row.metadata.granted_scopes.map((value:unknown)=>String(value)):[];const enabled=googleServices(row?.metadata).drive&&scopes.includes('https://www.googleapis.com/auth/drive.file');if(!enabled){const{error}=await admin.from('tenant_capability_providers').update({enabled:false,connection_ref:null,updated_at:new Date().toISOString()}).eq('tenant_id',tid).eq('capability','storage.files').eq('provider_key','google_workspace');if(error)throw error;return}const connectionRef='tenant_google_workspace_connection:'+String(row.id);const{error}=await admin.from('tenant_capability_providers').upsert({tenant_id:tid,capability:'storage.files',provider_key:'google_workspace',adapter_key:'google_drive_file',connection_ref:connectionRef,enabled:true,priority:50,metadata:{binding:'onepath',provider_account_id:row.provider_account_id||row?.metadata?.provider_account_id||null,account_email:row.account_email||null,connection_id:row.id},updated_at:new Date().toISOString()},{onConflict:'tenant_id,capability,provider_key'});if(error)throw error}\nasync function syncLegacyGooglePrimary(admin:any,tid:string,uid:string,row:any){let r=await admin.from('tenant_provider_secrets').upsert({tenant_id:tid,provider:'google_workspace',ciphertext:row.ciphertext,iv:row.iv,key_version:row.key_version||1,verified_at:row.verified_at||new Date().toISOString(),verification_error:null,created_by:row.created_by||uid},{onConflict:'tenant_id,provider'});if(r.error)throw r.error;r=await admin.from('tenant_provider_credentials').upsert({tenant_id:tid,provider:'google_workspace',credential_ref:'db:tenant_provider_secrets:google_workspace',credential_status:'active',last_verified_at:row.verified_at||new Date().toISOString(),verification_notes:'Primary Google Workspace connection.',metadata:{...(row.metadata||{}),account_email:row.account_email||null,account_name:row.account_name||null,connection_id:row.id},created_by:row.created_by||uid},{onConflict:'tenant_id,provider'});if(r.error)throw r.error}\nasync function writeGoogleConnection(admin:any,tid:string,uid:string,operatorUid:string,d:Def,t:Token){const identity=await googleIdentity(t.access_token);if(!identity.providerAccountId)throw new Error('Google stable account identity was unavailable.');if(!identity.email)throw new Error('Google account email was unavailable.');const encrypted=await encryptSecret(JSON.stringify(t));const existing=await googleAccounts(admin,tid);const current=existing.find((row:any)=>String(row.provider_account_id||'')===identity.providerAccountId)||existing.find((row:any)=>String(row.account_email||'').toLowerCase()===identity.email);const hasPrimary=existing.some((row:any)=>row.is_primary&&row.credential_status==='active'&&row.id!==current?.id);const isPrimary=current?.is_primary===true||!hasPrimary;const role=isPrimary?'primary':String(current?.connection_role||'secondary');const grantedScopes=String(t.scope||d.scopes.join(d.delimiter)).split(/[ ,]+/).filter(Boolean);const metadata={...(current?.metadata||{}),capabilities:d.caps,granted_scopes:grantedScopes,account_email:identity.email,account_name:identity.name,connected_by_user_id:uid,bound_user_id:uid,support_operator_user_id:operatorUid!==uid?operatorUid:null,provider_account_id:identity.providerAccountId,service_access:googleServices(current?.metadata)};let query=admin.from('tenant_google_workspace_connections');const payload={tenant_id:tid,provider_account_id:identity.providerAccountId,actor_user_id:uid,granted_scopes:grantedScopes,account_email:identity.email,account_name:identity.name||null,connection_role:role,is_primary:isPrimary,ciphertext:encrypted.ciphertext,iv:encrypted.iv,key_version:1,metadata,credential_status:'active',verified_at:new Date().toISOString(),verification_error:null,created_by:current?.created_by||operatorUid,updated_at:new Date().toISOString()};const result=current?await query.update(payload).eq('id',current.id).eq('tenant_id',tid).select('*').single():await query.insert(payload).select('*').single();if(result.error)throw result.error;if(isPrimary){await syncLegacyGooglePrimary(admin,tid,operatorUid,result.data);await syncGoogleStorageBinding(admin,tid,result.data)}return result.data}\nasync function exchange(d:Def,code:string,verifier:string|null,u:URL,requestedScopes:string[]=d.scopes){const c=cfg(d);if(!c.configured)throw new Error(`${d.label} connection is not configured.`);const p=new URLSearchParams({grant_type:'authorization_code',code,redirect_uri:c.redirectUri});if(verifier)p.set('code_verifier',verifier);const h:Record<string,string>={'Content-Type':'application/x-www-form-urlencoded'};if(d.tokenAuth==='basic')h.Authorization=`Basic ${btoa(`${c.clientId}:${c.clientSecret}`)}`;else{p.set('client_id',c.clientId);p.set('client_secret',c.clientSecret)}const res=await fetch(d.tokenUrl,{method:'POST',headers:h,body:p});const x=await res.json().catch(()=>({}));if(!res.ok||!x.access_token)throw new Error(String(x.error_description||x.error||`${d.label} authorization failed.`));return{access_token:String(x.access_token),refresh_token:x.refresh_token?String(x.refresh_token):null,expires_at:x.expires_in?new Date(Date.now()+Number(x.expires_in)*1000).toISOString():null,token_type:x.token_type||'Bearer',scope:x.scope||requestedScopes.join(d.delimiter),metadata:d.key==='quickbooks'?{realm_id:u.searchParams.get('realmId')}:d.key==='slack'?{team_id:x.team?.id||null,team_name:x.team?.name||null}:d.key==='stripe'?{account_id:x.stripe_user_id||null,stripe_user_id:x.stripe_user_id||null,livemode:x.livemode??null}:{} } as Token}\nasync function state(admin:any,raw:string){const h=await sha(raw),now=new Date().toISOString();const {data,error}=await admin.from('tenant_provider_oauth_states').update({consumed_at:now}).eq('state_hash',h).is('consumed_at',null).gt('expires_at',now).select('provider,tenant_id,user_id,operator_user_id,return_path,code_verifier').maybeSingle();if(error)throw error;if(!data)throw new Error('Connection state is invalid, expired, or already used.');return data}\nasync function authUrl(admin:any,d:Def,tid:string,operatorUid:string,targetUid:string,path:string){const c=cfg(d);if(!c.configured)throw new Error(`${d.label} is not enabled on KnockLaunch yet.`);const raw=b64u(crypto.getRandomValues(new Uint8Array(32))),verifier=d.pkce?b64u(crypto.getRandomValues(new Uint8Array(48))):null;const {error}=await admin.from('tenant_provider_oauth_states').insert({state_hash:await sha(raw),provider:d.key,tenant_id:tid,user_id:targetUid,operator_user_id:operatorUid,return_path:safePath(path),code_verifier:verifier,expires_at:new Date(Date.now()+600000).toISOString()});if(error)throw error;const p=new URLSearchParams({client_id:c.clientId,response_type:'code',redirect_uri:c.redirectUri,scope:(await providerScopes(admin,d,tid)).join(d.delimiter),state:raw});if(verifier){p.set('code_challenge',await sha(verifier));p.set('code_challenge_method','S256')}if(d.key==='google_workspace'||d.key===PRIVATE_PROVIDER_KEY){p.set('access_type','offline');p.set('prompt','consent');p.set('include_granted_scopes','true')}if(d.key==='microsoft_365')p.set('response_mode','query');if(d.key==='dropbox')p.set('token_access_type','offline');return`${d.authUrl}?${p}`}\nDeno.serve(async req=>{if(req.method==='OPTIONS')return new Response('ok',{headers:cors(req)});const admin=createClient(SUPABASE_URL,Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')||''),u=new URL(req.url),cb=u.searchParams.get('oauth')==='callback';let provider='connection',path='/connections';try{if(cb){const s=await state(admin,u.searchParams.get('state')||'');provider=s.provider;path=safePath(s.return_path);const d=P[s.provider as Key];if(!d)throw new Error('Unsupported connection provider.');const targetUid=String(s.user_id||'').trim(),operatorUid=String(s.operator_user_id||s.user_id||'').trim();if(!targetUid||!operatorUid)throw new Error('Connection state identity is incomplete.');if(operatorUid!==targetUid){const support=await admin.rpc('is_system_admin',{_user_id:operatorUid});if(support.error)throw support.error;if(!support.data)throw new Error('GodMode support access required');await authorizeTenantMember(admin,targetUid,s.tenant_id)}else if(d.key==='google_workspace')await authorizeTenantMember(admin,targetUid,s.tenant_id);else await authorize(admin,targetUid,s.tenant_id);if(d.key===PRIVATE_PROVIDER_KEY)await privateOwner(admin,operatorUid,s.tenant_id);const code=u.searchParams.get('code')||'';if(!code)throw new Error(u.searchParams.get('error_description')||u.searchParams.get('error')||'Authorization was not completed.');const exchanged=await exchange(d,code,s.code_verifier,u,await providerScopes(admin,d,s.tenant_id));if(d.key==='google_workspace')await writeGoogleConnection(admin,s.tenant_id,targetUid,operatorUid,d,exchanged);else await write(admin,s.tenant_id,targetUid,operatorUid,d,exchanged);await auditSupportAction(admin,s.tenant_id,operatorUid,targetUid,'oauth_callback',d.key);return Response.redirect(ret(path,d.key,'connected'),302)}if(req.method!=='POST')return j(req,405,{ok:false,error:'Method not allowed'});const uid=await userId(req),x=await req.json().catch(()=>({})),tid=String(x.tenant_id||'').trim(),action=String(x.action||'catalog').toLowerCase(),requestedProvider=String(x.provider||'');if(!tid)return j(req,400,{ok:false,error:'tenant_id required'});const subject=await resolveConnectionSubject(admin,uid,tid,x.projected_user_id),targetUid=subject.targetUserId;if(action==='catalog'||(requestedProvider==='google_workspace'&&action==='authorize_url'))await authorizeTenantMember(admin,uid,tid);else await authorize(admin,uid,tid);if(action==='catalog'){const {data,error}=await admin.from('tenant_provider_credentials').select('provider,credential_status,last_verified_at,metadata').eq('tenant_id',tid).in('provider',PUBLIC_OAUTH);if(error)throw error;const google=(await googleAccounts(admin,tid)).filter((account:any)=>visibleToConnectionSubject(account.metadata,targetUid));const rows=new Map((data||[]).filter((r:any)=>visibleToConnectionSubject(r.metadata,targetUid)).map((r:any)=>[r.provider,r])),slug=await tenantSlug(admin,tid),museEligible=MUSE_ROLLOUT_SLUGS.has(slug);return j(req,200,{ok:true,providers:[...PUBLIC_OAUTH.map(key=>{const d=P[key],r:any=rows.get(key);const accounts=key==='google_workspace'?google.map((account:any)=>({id:account.id,providerAccountId:account.provider_account_id||account?.metadata?.provider_account_id||null,email:account.account_email,name:account.account_name,role:account.connection_role,is_primary:account.is_primary,status:account.credential_status,last_verified_at:account.verified_at,bound_user_id:String(account.metadata?.bound_user_id||'').trim()||null,scopes:Array.isArray(account.metadata?.granted_scopes)?account.metadata.granted_scopes:[],services:googleServices(account.metadata)})):undefined;return{key,label:d.label,category:d.category,capabilities:key==='google_workspace'&&slug==='pcg'?[...d.caps,'Dedicated Prestigious Card Grading calendar']:d.caps,permissions:key==='google_workspace'&&slug==='pcg'?[...d.permissions,'Create and manage the dedicated Prestigious Card Grading calendar']:d.permissions,configured:cfg(d).configured,connected:key==='google_workspace'?google.some((account:any)=>account.credential_status==='active'):r?.credential_status==='active',status:key==='google_workspace'?(google.some((account:any)=>account.credential_status==='active')?'active':'missing'):(r?.credential_status||'missing'),last_verified_at:key==='google_workspace'?(google.find((account:any)=>account.is_primary)?.verified_at||null):(r?.last_verified_at||null),accounts}}),{key:MUSE.key,label:MUSE.label,category:MUSE.category,capabilities:MUSE.caps,permissions:MUSE.permissions,configured:false,connected:false,status:museEligible?'setup_required':'rollout_pending',eligible:museEligible,setup_message:museEligible?'Meta Muse is enabled for this workspace rollout, but Meta connector review and issued platform credentials are still required before authorization can begin. No Muse provider token is stored until Meta activation is complete.':'Meta Muse is available in the global Connections catalog. Big Papi\\'s is the first rollout tenant; this workspace is not enabled for authorization yet.',last_verified_at:null}]})}if(requestedProvider==='irslogiqs'){if(action!=='revoke')return j(req,400,{ok:false,error:'Unsupported action'});await admin.from('tenant_provider_secrets').delete().eq('tenant_id',tid).eq('provider','irslogiqs');await admin.from('tenant_provider_credentials').update({credential_status:'disabled',last_verified_at:null,verification_notes:'Disconnected by tenant owner or platform admin.',metadata:{disconnected_at:new Date().toISOString()}}).eq('tenant_id',tid).eq('provider','irslogiqs');return j(req,200,{ok:true,disconnected:true})}if(requestedProvider===MUSE.key){const slug=await tenantSlug(admin,tid),eligible=MUSE_ROLLOUT_SLUGS.has(slug);return j(req,409,{ok:false,code:eligible?'provider_prerequisite_required':'provider_rollout_not_enabled',error:eligible?'Meta Muse is enabled for this workspace rollout, but Meta connector review and issued platform credentials are not activated yet.':'Meta Muse is in the global Connections catalog, but this workspace is not in the first rollout.'})}const d=P[requestedProvider as Key];if(!d)return j(req,400,{ok:false,error:'Unsupported provider'});if(d.key===PRIVATE_PROVIDER_KEY)await privateOwner(admin,uid,tid);if(action==='authorize_url'){const authorize_url=await authUrl(admin,d,tid,uid,targetUid,String(x.return_path||'/connections'));await auditSupportAction(admin,tid,uid,targetUid,'authorize_url',d.key);return j(req,200,{ok:true,authorize_url})}if(d.key==='google_workspace'&&action==='set_services'){const connectionId=String(x.connection_id||'').trim();if(!connectionId)return j(req,400,{ok:false,error:'connection_id required'});const{data:row,error}=await admin.from('tenant_google_workspace_connections').select('id,metadata').eq('id',connectionId).eq('tenant_id',tid).maybeSingle();if(error)throw error;if(!row)return j(req,404,{ok:false,error:'Google Workspace connection not found'});if(!visibleToConnectionSubject(row.metadata,targetUid))return j(req,403,{ok:false,error:'Connection is scoped to a different tenant user'});const current=googleServices(row.metadata);const requested=x.services&&typeof x.services==='object'?x.services:{};const services={mail:typeof requested.mail==='boolean'?requested.mail:current.mail,drive:typeof requested.drive==='boolean'?requested.drive:current.drive,calendar:typeof requested.calendar==='boolean'?requested.calendar:current.calendar};const metadata={...(row.metadata||{}),service_access:services};const updated=await admin.from('tenant_google_workspace_connections').update({metadata,updated_at:new Date().toISOString()}).eq('id',connectionId).eq('tenant_id',tid).select('id,metadata').single();if(updated.error)throw updated.error;return j(req,200,{ok:true,connection_id:connectionId,services})}if(d.key==='google_workspace'&&action==='set_role'){const connectionId=String(x.connection_id||'').trim(),role=String(x.connection_role||'').trim().toLowerCase();if(!connectionId)return j(req,400,{ok:false,error:'connection_id required'});if(!new Set(['secondary','legacy','import']).has(role))return j(req,400,{ok:false,error:'connection_role must be secondary, legacy, or import'});const{data:row,error}=await admin.from('tenant_google_workspace_connections').select('id,is_primary,metadata').eq('id',connectionId).eq('tenant_id',tid).maybeSingle();if(error)throw error;if(!row)return j(req,404,{ok:false,error:'Google Workspace connection not found'});if(!visibleToConnectionSubject(row.metadata,targetUid))return j(req,403,{ok:false,error:'Connection is scoped to a different tenant user'});if(row.is_primary)return j(req,409,{ok:false,code:'primary_role_locked',error:'Set another Google Workspace account as primary before changing this account role.'});const updated=await admin.from('tenant_google_workspace_connections').update({connection_role:role,updated_at:new Date().toISOString()}).eq('id',connectionId).eq('tenant_id',tid).select('id,connection_role').single();if(updated.error)throw updated.error;return j(req,200,{ok:true,connection_id:connectionId,connection_role:role})}if(d.key==='google_workspace'&&action==='set_primary'){const connectionId=String(x.connection_id||'').trim();if(!connectionId)return j(req,400,{ok:false,error:'connection_id required'});const{data:row,error}=await admin.from('tenant_google_workspace_connections').select('*').eq('id',connectionId).eq('tenant_id',tid).eq('credential_status','active').maybeSingle();if(error)throw error;if(!row)return j(req,404,{ok:false,error:'Google Workspace connection not found'});if(!visibleToConnectionSubject(row.metadata,targetUid))return j(req,403,{ok:false,error:'Connection is scoped to a different tenant user'});await admin.from('tenant_google_workspace_connections').update({is_primary:false,connection_role:'secondary',updated_at:new Date().toISOString()}).eq('tenant_id',tid).neq('id',connectionId);const promoted=await admin.from('tenant_google_workspace_connections').update({is_primary:true,connection_role:'primary',updated_at:new Date().toISOString()}).eq('id',connectionId).eq('tenant_id',tid).select('*').single();if(promoted.error)throw promoted.error;await syncLegacyGooglePrimary(admin,tid,uid,promoted.data);await syncGoogleStorageBinding(admin,tid,promoted.data);await auditSupportAction(admin,tid,uid,targetUid,'set_primary',d.key,connectionId);return j(req,200,{ok:true,primary:connectionId})}if(action==='refresh'){const t=await readToken(admin,tid,d.key);if(!t?.access_token)return j(req,409,{ok:false,code:'provider_prerequisite_required',error:`${d.label} is not connected.`});return j(req,200,{ok:true,expires_at:t.expires_at||null})}if(action==='revoke'){if(d.key==='google_workspace'&&x.connection_id){const connectionId=String(x.connection_id).trim();const{data:row,error}=await admin.from('tenant_google_workspace_connections').select('id,is_primary,metadata').eq('id',connectionId).eq('tenant_id',tid).maybeSingle();if(error)throw error;if(!row)return j(req,404,{ok:false,error:'Google Workspace connection not found'});if(!visibleToConnectionSubject(row.metadata,targetUid))return j(req,403,{ok:false,error:'Connection is scoped to a different tenant user'});const{count}=await admin.from('tenant_google_workspace_connections').select('id',{count:'exact',head:true}).eq('tenant_id',tid).eq('credential_status','active');if(row.is_primary&&Number(count||0)>1)return j(req,409,{ok:false,code:'primary_connection_required',error:'Set another Google Workspace account as primary before disconnecting this one.'});await admin.from('tenant_google_workspace_connections').delete().eq('id',connectionId).eq('tenant_id',tid);if(row.is_primary){await admin.from('tenant_provider_secrets').delete().eq('tenant_id',tid).eq('provider','google_workspace');await admin.from('tenant_provider_credentials').update({credential_status:'disabled',last_verified_at:null,verification_notes:'Disconnected by tenant owner or platform admin.',metadata:{disconnected_at:new Date().toISOString()}}).eq('tenant_id',tid).eq('provider','google_workspace')}return j(req,200,{ok:true,disconnected:true,connection_id:connectionId})}await admin.from('tenant_provider_secrets').delete().eq('tenant_id',tid).eq('provider',d.key);await admin.from('tenant_provider_credentials').update({credential_status:'disabled',last_verified_at:null,verification_notes:'Disconnected by tenant owner or platform admin.',metadata:{disconnected_at:new Date().toISOString()}}).eq('tenant_id',tid).eq('provider',d.key);return j(req,200,{ok:true,disconnected:true})}return j(req,400,{ok:false,error:'Unsupported action'})}catch(e){console.error('[tenant-provider-connections]',e);if(cb)return Response.redirect(ret(path,provider,'error'),302);const m=e instanceof Error?e.message:String(e);return j(req,m==='Unauthorized'?401:m.includes('owner or admin')?403:500,{ok:false,error:m})}});\n","expectedSha":"0e9086d2e17daec0d5aae5aaa4f32e09e85f912e"},{"path":"src/pages/connections/TenantConnections.tsx","content":"import { useCallback, useEffect, useMemo, useState, type ComponentType } from 'react';\nimport { useLocation, useSearchParams } from 'react-router-dom';\nimport { Briefcase, Calendar, CheckCircle2, Cloud, ExternalLink, FileSignature, Folder, KeyRound, Landmark, Loader2, Mail, MessageSquare, Phone, PlugZap, Search, ShieldCheck, Users, WalletCards, XCircle } from 'lucide-react';\nimport { Badge } from '@/components/ui/badge';\nimport { Button } from '@/components/ui/button';\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';\nimport { CompactDisclosureContent, CompactDisclosureItem, CompactDisclosureList, CompactDisclosureTrigger } from '@/components/ui/compact-disclosure';\nimport { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from '@/components/ui/dialog';\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { useAuth } from '@/contexts/AuthContext';\nimport { supabase } from '@/integrations/supabase/client';\nimport { readGodModeAccessContext } from '@/lib/godmodeAccess';\nimport { toast } from '@/lib/notify';\nimport { buildClientCommissioningReceipt, requiredProvidersFromTenantSettings, type ClientCommissioningReceipt } from '@/lib/tenants/clientCommissioning';\ntype ProviderKey='square'|'zoho_mail'|'twilio'|'resend'|'stripe'|'ebay'|'google_workspace'|'microsoft_365'|'monday'|'quickbooks'|'slack'|'dropbox'|'hubspot'|'docusign'|'irslogiqs'|'meta_muse'|'squarespace'|'cloudflare_r2';\ntype ConnectionKind='oauth'|'secret'; type ConnectionDriver='square'|'zoho'|'secret'|'broker';\ntype ConnectionRow={provider:string;credential_status:string|null;last_verified_at:string|null;verification_notes:string|null;phone_number:string|null;sending_domain:string|null;metadata:Record<string,any>|null};\ntype ProviderDefinition={key:ProviderKey;label:string;category:string;description:string;kind:ConnectionKind;driver:ConnectionDriver;icon:ComponentType<{className?:string}>;keywords:string[];capabilities:string[];permissions:string[]};\ntype GoogleWorkspaceAccount={id:string;email:string|null;name:string|null;role:'primary'|'secondary'|'legacy'|'import';is_primary:boolean;status:string;last_verified_at?:string|null;bound_user_id?:string|null;scopes:string[];services:{mail:boolean;drive:boolean;calendar:boolean}}; type BrokerAvailability=Record<string,{configured:boolean;connected:boolean;status:string;eligible?:boolean;setup_message?:string|null;last_verified_at?:string|null;accounts?:GoogleWorkspaceAccount[]}>; type ConnectionsTab='mine'|'find';\ntype CommissioningTeamRow={user_id:string;tenant_id:string;effective_role:string|null;membership_status:string|null};\ntype CommissioningInviteRow={id:string;tenant_id:string;email:string|null;role:string|null;status:string|null;expires_at:string|null;metadata:Record<string,unknown>|null};\nconst PROVIDERS:ProviderDefinition[]=[\n{key:'ebay',label:'eBay',category:'Marketplace',description:'Tenant-owned eBay seller connection for inventory, listings, orders, fulfillment, and marketplace events.',kind:'oauth',driver:'broker',icon:Search,keywords:['ebay','marketplace','sales','listings','inventory','orders','fulfillment','shipping'],capabilities:['Inventory items & locations','Offers & published listings','Orders','Fulfillment & shipment tracking','Seller business policies','Marketplace notifications'],permissions:['Uses eBay OAuth user consent and refresh tokens','Requests only the Sell scopes required by enabled KnockLaunch workflows','Missing or revoked scopes must remain unavailable until the tenant reconnects']},\n{key:'google_workspace',label:'Google Workspace',category:'Calendar, files & Gmail',description:'Gmail sending, Calendar, Drive, and the Google tools your business already uses.',kind:'oauth',driver:'broker',icon:Calendar,keywords:['google','workspace','gmail','email','calendar','drive','files'],capabilities:['Gmail sending','Calendar events','Drive files used with KnockLaunch'],permissions:['Send email from the connected Gmail account','View and manage calendar events','Use only Drive files opened or created through KnockLaunch','Basic Google account identity']},\n{key:'microsoft_365',label:'Microsoft 365',category:'Calendar',description:'Outlook, Microsoft calendar, and connected business account tools.',kind:'oauth',driver:'broker',icon:Cloud,keywords:['microsoft','office','365','outlook','calendar'],capabilities:['Microsoft 365 calendar'],permissions:['Basic Microsoft account identity','View and manage calendar events','Offline access for scheduled calendar sync']},\n{key:'monday',label:'monday.com',category:'Work management',description:'Boards, workspaces, tasks, and team work management.',kind:'oauth',driver:'broker',icon:Briefcase,keywords:['monday','boards','work','project','tasks','workspaces'],capabilities:['Boards','Workspaces','Users'],permissions:['Read account identity','Read and update boards','Read workspaces','Read users']},\n{key:'quickbooks',label:'QuickBooks Online',category:'Accounting',description:'Accounting, invoices, books, and company financial records with tenant-safe schema-aware sync.',kind:'oauth',driver:'broker',icon:Landmark,keywords:['quickbooks','intuit','accounting','books','finance','invoices','customers','payments'],capabilities:['Customers','Invoices','Payments','QuickBooks schema identity & sync health'],permissions:['Read the connected QuickBooks company accounting data','Preserve QuickBooks entity IDs, references, SyncToken versions, and company realm identity','Future write actions require explicit KnockLaunch actions and current QuickBooks concurrency tokens']},\n{key:'square',label:'Square',category:'Payments',description:'Payments, invoices, customers, and finance sync through Square.',kind:'oauth',driver:'square',icon:WalletCards,keywords:['payments','invoices','money','point of sale','pos','customers','cards'],capabilities:['Payments','Invoices','Customers','Finance sync'],permissions:['Square permissions are requested by the existing payment connector and shown by Square during authorization']},\n{key:'stripe',label:'Stripe',category:'Payments',description:'Connect this business Stripe account for billing, payments, subscriptions, refunds, payouts, and reconciliation.',kind:'oauth',driver:'broker',icon:WalletCards,keywords:['payments','cards','billing','invoices','money','customers','refunds','subscriptions','payouts'],capabilities:['Customers','Payment intents & payments','Invoices','Products & prices','Refunds','Subscriptions','Balance & payouts','Webhook-driven reconciliation'],permissions:['Uses Stripe Connect account authorization','Privileged Stripe access stays server-side and tenant-scoped','Disconnecting removes KnockLaunch authorization without exposing Stripe credentials']},\n{key:'slack',label:'Slack',category:'Team messaging',description:'Channels, team messaging, and KnockLaunch notifications.',kind:'oauth',driver:'broker',icon:MessageSquare,keywords:['slack','chat','messages','notifications','channels'],capabilities:['Channel list','KnockLaunch notifications'],permissions:['View channel names','Post messages as the KnockLaunch app']},\n{key:'dropbox',label:'Dropbox',category:'Files',description:'Files, documents, photos, and connected app-folder storage.',kind:'oauth',driver:'broker',icon:Folder,keywords:['dropbox','files','documents','storage','photos'],capabilities:['KnockLaunch app-folder files'],permissions:['Read account identity','Read and write files inside the Dropbox app folder configured for KnockLaunch']},\n{key:'hubspot',label:'HubSpot',category:'CRM',description:'CRM contacts and customer records from your HubSpot account.',kind:'oauth',driver:'broker',icon:Users,keywords:['hubspot','crm','contacts','customers','leads'],capabilities:['Contacts'],permissions:['Read contacts','Create and update contacts']},\n{key:'irslogiqs',label:'IRSLogiqs',category:'Tax resolution CRM',description:'Tax-resolution lead and case intake for this workspace.',kind:'secret',driver:'secret',icon:Briefcase,keywords:['irslogiqs','irslogics','tax','tax relief','crm','cases','leads'],capabilities:['Lead intake','Case creation handoff'],permissions:['Uses only the tenant-owned IRSLogiqs API key','Requires Case.Write permission in IRSLogiqs','Keeps the credential isolated to this tenant']},\n{key:'docusign',label:'DocuSign',category:'E-signature',description:'Signature envelopes and document signing workflows.',kind:'oauth',driver:'broker',icon:FileSignature,keywords:['docusign','esign','signature','documents','envelopes'],capabilities:['Envelope signing'],permissions:['Create and manage signature envelopes','Maintain authorized background access until disconnected']},\n{key:'cloudflare_r2',label:'Cloudflare R2',category:'Storage',description:'Private tenant-owned object storage for card masters, media, and durable business files.',kind:'secret',driver:'secret',icon:Cloud,keywords:['cloudflare','r2','storage','files','media','cards'],capabilities:['Private object storage','PCG card master imagery','Tenant-scoped media'],permissions:['Uses only the tenant-owned R2 S3 credential supplied here','Credential access stays isolated to this tenant','Storage verification must pass before the connection becomes active']},\n{key:'squarespace',label:'Squarespace',category:'Website commerce',description:'Publish approved PCG cards from KnockLaunch directly to the existing Squarespace store.',kind:'secret',driver:'secret',icon:Cloud,keywords:['squarespace','website','store','products','commerce','publishing'],capabilities:['Create PCG products','Upload card imagery','Publish approved inventory'],permissions:['Uses only the tenant-owned Squarespace Commerce API key','Publishes only owner-approved PCG card records','Cloudflare R2 remains the master image store']},\n{key:'meta_muse',label:'Meta Muse',category:'AI & Assistants',description:'Use Muse as an optional day-to-day assistant with approved access to this KnockLaunch workspace.',kind:'oauth',driver:'broker',icon:PlugZap,keywords:['meta','muse','ai','assistant','agent','automation'],capabilities:['Calendar & events','Inventory','Customers','Tasks & notes','Proposals & invoices','Pop-up planning','Workspace search'],permissions:['Use only this tenant workspace','Respect current KnockLaunch user and tenant authorization','Destructive or outbound actions still require KnockLaunch approval controls']},\n{key:'zoho_mail',label:'Zoho Mail',category:'Email',description:'Business email and inbox access through your Zoho mailbox.',kind:'oauth',driver:'zoho',icon:Mail,keywords:['zoho','email','mail','inbox','messages','homeowner communication'],capabilities:['Business email','Inbox'],permissions:['Mailbox access is limited to the existing Zoho Mail connector scopes shown during provider authorization']},\n{key:'twilio',label:'Twilio',category:'Phone & SMS',description:'Calling, phone numbers, and SMS through a tenant-owned account.',kind:'secret',driver:'secret',icon:Phone,keywords:['phone','calls','calling','sms','text','messaging'],capabilities:['Calling','SMS'],permissions:['Uses only the tenant-owned Twilio account represented by the supplied Account SID and auth token']},\n{key:'resend',label:'Resend',category:'Email delivery',description:'Outbound email delivery for your verified sending domain.',kind:'secret',driver:'secret',icon:Mail,keywords:['resend','email','outbound','delivery','domain','messages'],capabilities:['Outbound email delivery'],permissions:['Uses only the tenant-owned Resend API key supplied here']}\n];\nconst PROVIDER_MAP=new Map(PROVIDERS.map(p=>[p.key,p])); const REQUIRED_GOOGLE_WORKSPACE_SCOPES=['https://www.googleapis.com/auth/gmail.modify','https://www.googleapis.com/auth/gmail.send','https://www.googleapis.com/auth/calendar.events','https://www.googleapis.com/auth/drive.file']; const CONNECTOR_URLS:Record<ProviderKey,string>={google_workspace:'https://workspace.google.com/',microsoft_365:'https://www.microsoft365.com/',monday:'https://monday.com/',quickbooks:'https://qbo.intuit.com/',square:'https://squareup.com/dashboard',stripe:'https://dashboard.stripe.com/',ebay:'https://www.ebay.com/sh/ovw',slack:'https://app.slack.com/',dropbox:'https://www.dropbox.com/home',hubspot:'https://app.hubspot.com/',docusign:'https://app.docusign.com/',irslogiqs:'https://www.irslogics.com/',zoho_mail:'https://mail.zoho.com/',twilio:'https://console.twilio.com/',resend:'https://resend.com/api-keys',meta_muse:'https://muse.ai/',squarespace:'https://account.squarespace.com/',cloudflare_r2:'https://dash.cloudflare.com/?to=/:account/r2'};\nfunction isConnectedStatus(s?:string|null){return s==='active'||s==='connected'} function statusLabel(s?:string|null){if(isConnectedStatus(s))return'Connected';if(s==='pending')return'Needs verification';if(s==='degraded')return'Degraded';if(s==='invalid')return'Needs attention';if(s==='disabled')return'Disconnected';return'Not connected'} function statusBadgeClass(s?:string|null){if(isConnectedStatus(s))return'border-emerald-400/20 bg-emerald-500/10 text-emerald-200';if(s==='degraded'||s==='invalid')return'border-destructive/30 bg-destructive/10 text-destructive-foreground';if(s==='pending')return'border-amber-400/25 bg-amber-400/10 text-amber-200';return'border-border bg-muted/40 text-muted-foreground'} function providerLabel(p:string){return PROVIDER_MAP.get(p as ProviderKey)?.label||p.replaceAll('_',' ').replace(/\\b\\w/g,l=>l.toUpperCase())} function connectionDetail(r:ConnectionRow){if(r.provider==='zoho_mail')return String(r.metadata?.email||'Business mailbox');if(r.provider==='square')return String(r.metadata?.square_location_name||'Square account');if(r.provider==='twilio')return r.phone_number||'Twilio account';if(r.provider==='resend')return r.sending_domain||'Resend account';if(r.provider==='cloudflare_r2')return String(r.metadata?.bucket||'Cloudflare R2');if(r.metadata?.team_name)return String(r.metadata.team_name);if(r.metadata?.realm_id)return`QuickBooks company ${r.metadata.realm_id}`;return r.verification_notes||'Provider account'}\nexport default function TenantConnections(){const{activeTenant}=useMultiTenant();const{user}=useAuth();const tenantId=activeTenant?.id||'';const projection=useMemo(()=>{const context=readGodModeAccessContext();if(!context||context.tenantId!==tenantId)return null;if(context.operatorId&&context.operatorId!==user?.id)return null;return context},[tenantId,user?.id]);const projectedUserId=projection?.userId||null;const location=useLocation();const businessName=activeTenant?.company_dba_name||activeTenant?.company_legal_name||activeTenant?.name||'this business';const returnPath=typeof window!=='undefined'&&window.location.pathname.startsWith('/')?window.location.pathname:(location.pathname||'/connections');const[searchParams,setSearchParams]=useSearchParams();const[rows,setRows]=useState<ConnectionRow[]>([]);const[brokerAvailability,setBrokerAvailability]=useState<BrokerAvailability>({});const[googleAccounts,setGoogleAccounts]=useState<GoogleWorkspaceAccount[]>([]);const[teamRows,setTeamRows]=useState<CommissioningTeamRow[]>([]);const[inviteRows,setInviteRows]=useState<CommissioningInviteRow[]>([]);const[peopleLoaded,setPeopleLoaded]=useState(false);const[loading,setLoading]=useState(true);const[query,setQuery]=useState('');const[selected,setSelected]=useState<ProviderDefinition|null>(null);const[connecting,setConnecting]=useState(false);const[disconnectArmed,setDisconnectArmed]=useState(false);const[advancedSetup,setAdvancedSetup]=useState(false);const[tab,setTab]=useState<ConnectionsTab>('find');const[tabTouched,setTabTouched]=useState(false);const[secretForm,setSecretForm]=useState({apiSecret:'',accountSid:'',fromNumber:'',fromEmail:'',fromName:'',publishableKey:'',accountSubdomain:'',secretToken:'',statusIds:'',r2AccessKeyId:'',r2AccountId:'',r2Endpoint:'',r2Bucket:'',r2Region:'auto'});const loadConnections=useCallback(async()=>{if(!tenantId)return;setLoading(true);try{const[c,catalog,team,invites]=await Promise.all([supabase.from('tenant_provider_credentials' as any).select('provider,credential_status,last_verified_at,verification_notes,phone_number,sending_domain,metadata').eq('tenant_id',tenantId).order('provider'),supabase.functions.invoke('tenant-provider-connections',{body:{action:'catalog',tenant_id:tenantId,projected_user_id:projectedUserId||undefined}}),(supabase as any).from('user_tenant_access').select('user_id,tenant_id,effective_role,membership_status').eq('tenant_id',tenantId),(supabase as any).from('user_invitations').select('id,tenant_id,email,role,status,expires_at,metadata').eq('tenant_id',tenantId)]);if(c.error)throw c.error;if(team.error)throw team.error;if(invites.error)throw invites.error;setRows((c.data||[]) as unknown as ConnectionRow[]);setTeamRows((team.data||[]) as CommissioningTeamRow[]);setInviteRows((invites.data||[]) as CommissioningInviteRow[]);setPeopleLoaded(true);if(!catalog.error&&catalog.data?.ok===true&&Array.isArray(catalog.data.providers)){const n:BrokerAvailability={};for(const p of catalog.data.providers){const accounts=Array.isArray(p.accounts)?p.accounts.map((account:any)=>({id:String(account.id),email:account.email?String(account.email):null,name:account.name?String(account.name):null,role:String(account.role||'secondary'),is_primary:account.is_primary===true,status:String(account.status||'active'),last_verified_at:account.last_verified_at||null,bound_user_id:account.bound_user_id?String(account.bound_user_id):null,scopes:Array.isArray(account.scopes)?account.scopes.map((scope:any)=>String(scope)):[],services:{mail:account?.services?.mail!==false,drive:account?.services?.drive!==false,calendar:account?.services?.calendar!==false}})):undefined;n[String(p.key)]={configured:p.configured===true,connected:p.connected===true,status:String(p.status||'missing'),eligible:p.eligible===true,setup_message:p.setup_message?String(p.setup_message):null,last_verified_at:p.last_verified_at||null,accounts};if(String(p.key)==='google_workspace')setGoogleAccounts(accounts||[])}setBrokerAvailability(n)}else{setBrokerAvailability({});setGoogleAccounts([])}}catch(e:any){setPeopleLoaded(false);toast.error(e?.message||'Could not load connections')}finally{setLoading(false)}},[projectedUserId,tenantId]);useEffect(()=>{void loadConnections()},[loadConnections]);useEffect(()=>{const square=searchParams.get('square'),mail=searchParams.get('mail'),connection=searchParams.get('connection'),provider=searchParams.get('provider');if(!square&&!mail&&!connection)return;if(square==='connected')toast.success('Square connected');else if(square==='error')toast.error('Square connection was not completed');if(mail==='connected')toast.success('Zoho Mail connected');else if(mail==='error')toast.error('Zoho Mail connection was not completed');if(connection==='connected')toast.success(`${providerLabel(provider||'provider')} connected`);else if(connection==='error')toast.error(`${providerLabel(provider||'provider')} connection was not completed`);void loadConnections();const next=new URLSearchParams(searchParams);['square','reason','mail','mail_code','connection','provider'].forEach(k=>next.delete(k));setSearchParams(next,{replace:true})},[loadConnections,searchParams,setSearchParams]);const connectionMap=useMemo(()=>new Map(rows.map(r=>[r.provider,r])),[rows]);const providerReady=useCallback((r?:ConnectionRow|null)=>{if(!r||!isConnectedStatus(r.credential_status))return false;if(PROVIDER_MAP.get(r.provider as ProviderKey)?.kind==='secret'&&r.provider!=='irslogiqs'&&!r.last_verified_at)return false;if(r.provider==='google_workspace'){const scopes=Array.isArray(r.metadata?.granted_scopes)?r.metadata!.granted_scopes.map((value:any)=>String(value)):[];return REQUIRED_GOOGLE_WORKSPACE_SCOPES.every(scope=>scopes.includes(scope))}if(r.provider==='quickbooks')return Boolean(String(r.metadata?.realm_id||'').trim());return true},[]);const providerStatusText=useCallback((r?:ConnectionRow|null)=>isConnectedStatus(r?.credential_status)&&!providerReady(r)?'Needs reconnect':statusLabel(r?.credential_status),[providerReady]);const activeRows=useMemo(()=>rows.filter(r=>providerReady(r)),[rows,providerReady]);const savedRows=useMemo(()=>rows.filter(r=>r.credential_status&&r.credential_status!=='missing').sort((a,b)=>{const rank=(s?:string|null)=>isConnectedStatus(s)?0:(s==='invalid'||s==='degraded')?1:s==='pending'?2:3;return rank(a.credential_status)-rank(b.credential_status)||providerLabel(a.provider).localeCompare(providerLabel(b.provider))}),[rows]);const attentionCount=useMemo(()=>rows.filter(r=>r.credential_status==='invalid'||r.credential_status==='degraded'||r.credential_status==='pending'||(isConnectedStatus(r.credential_status)&&!providerReady(r))).length,[rows,providerReady]);const results=useMemo(()=>{const n=query.trim().toLowerCase();return n?PROVIDERS.filter(p=>[p.label,p.category,p.description,...p.keywords,...p.capabilities].join(' ').toLowerCase().includes(n)):PROVIDERS},[query]);useEffect(()=>{if(!loading&&!tabTouched)setTab(activeRows.length>0?'mine':'find')},[activeRows.length,loading,tabTouched]);const providerConfigured=useCallback((p:ProviderDefinition)=>p.driver!=='broker'||brokerAvailability[p.key]?.configured===true,[brokerAvailability]);const chooseProvider=(p:ProviderDefinition)=>{setSecretForm({apiSecret:'',accountSid:'',fromNumber:'',fromEmail:'',fromName:'',publishableKey:'',accountSubdomain:'',secretToken:'',statusIds:'',r2AccessKeyId:'',r2AccountId:'',r2Endpoint:'',r2Bucket:'',r2Region:'auto'});setDisconnectArmed(false);setAdvancedSetup(false);setSelected(p)};const openProviderApp=(p:ProviderDefinition)=>window.open(CONNECTOR_URLS[p.key],'_blank','noopener,noreferrer');const setGooglePrimary=async(connectionId:string)=>{if(!tenantId)return;setConnecting(true);try{const{data,error}=await supabase.functions.invoke('tenant-provider-connections',{body:{action:'set_primary',tenant_id:tenantId,provider:'google_workspace',connection_id:connectionId,projected_user_id:projectedUserId||undefined}});if(error||data?.ok!==true)throw new Error(data?.error||error?.message||'Could not set primary Google Workspace');toast.success('Primary Google Workspace updated');await loadConnections()}catch(e:any){toast.error(e?.message||'Could not set primary Google Workspace')}finally{setConnecting(false)}};const setGoogleRole=async(account:GoogleWorkspaceAccount,role:'secondary'|'legacy'|'import')=>{if(!tenantId||account.is_primary)return;setConnecting(true);try{const{data,error}=await supabase.functions.invoke('tenant-provider-connections',{body:{action:'set_role',tenant_id:tenantId,provider:'google_workspace',connection_id:account.id,connection_role:role,projected_user_id:projectedUserId||undefined}});if(error||data?.ok!==true)throw new Error(data?.error||error?.message||'Could not update Google Workspace role');toast.success('Google Workspace role updated');await loadConnections()}catch(e:any){toast.error(e?.message||'Could not update Google Workspace role')}finally{setConnecting(false)}};const setGoogleService=async(account:GoogleWorkspaceAccount,service:'mail'|'drive'|'calendar')=>{if(!tenantId)return;setConnecting(true);try{const next={...account.services,[service]:!account.services[service]};const{data,error}=await supabase.functions.invoke('tenant-provider-connections',{body:{action:'set_services',tenant_id:tenantId,provider:'google_workspace',connection_id:account.id,services:next,projected_user_id:projectedUserId||undefined}});if(error||data?.ok!==true)throw new Error(data?.error||error?.message||'Could not update Google service access');await loadConnections()}catch(e:any){toast.error(e?.message||'Could not update Google service access')}finally{setConnecting(false)}};const disconnectGoogleAccount=async(connectionId:string)=>{if(!tenantId)return;setConnecting(true);try{const{data,error}=await supabase.functions.invoke('tenant-provider-connections',{body:{action:'revoke',tenant_id:tenantId,provider:'google_workspace',connection_id:connectionId,projected_user_id:projectedUserId||undefined}});if(error||data?.ok!==true)throw new Error(data?.error||error?.message||'Could not disconnect Google Workspace account');toast.success('Google Workspace account disconnected');await loadConnections()}catch(e:any){toast.error(e?.message||'Could not disconnect Google Workspace account')}finally{setConnecting(false)}};const connectOauth=async(p:ProviderDefinition)=>{if(!tenantId)return;setConnecting(true);try{if(p.driver==='square'){const{data,error}=await supabase.functions.invoke('finance-square',{body:{action:'authorize_url',tenant_id:tenantId,return_path:returnPath}});if(error||data?.ok!==true||!data?.authorize_url)throw new Error(data?.error||error?.message||'Could not start Square connection');window.location.assign(String(data.authorize_url));return}if(p.driver==='zoho'){const{data,error}=await supabase.functions.invoke('zoho-mail',{body:{action:'authorize_url',tenantId,returnPath}});if(error||data?.ok!==true||!data?.authorize_url)throw new Error(data?.error||error?.message||'Could not start Zoho Mail connection');window.location.assign(String(data.authorize_url));return}if(p.driver==='broker'){const{data,error}=await supabase.functions.invoke('tenant-provider-connections',{body:{action:'authorize_url',tenant_id:tenantId,provider:p.key,return_path:returnPath,projected_user_id:projectedUserId||undefined}});if(error||data?.ok!==true||!data?.authorize_url)throw new Error(data?.error||error?.message||`Could not start ${p.label} connection`);window.location.assign(String(data.authorize_url));return}throw new Error('This provider does not use OAuth')}catch(e:any){toast.error(e?.message||`Could not connect ${p.label}`);setConnecting(false)}};const connectSecretProvider=async(p:ProviderDefinition)=>{if(!tenantId)return;if(!secretForm.apiSecret.trim()){toast.error('Enter the provider credential first');return}setConnecting(true);try{const body:Record<string,any>={tenant_id:tenantId,provider:p.key,api_secret:secretForm.apiSecret.trim()};if(projectedUserId)body.projected_user_id=projectedUserId;if(p.key==='twilio'){body.account_sid=secretForm.accountSid.trim();body.from_number=secretForm.fromNumber.trim()}else if(p.key==='resend'){body.from_email=secretForm.fromEmail.trim();body.from_name=secretForm.fromName.trim()}else if(p.key==='stripe')body.publishable_key=secretForm.publishableKey.trim();else if(p.key==='cloudflare_r2'){body.access_key_id=secretForm.r2AccessKeyId.trim();body.account_id=secretForm.r2AccountId.trim();body.endpoint=secretForm.r2Endpoint.trim();body.bucket=secretForm.r2Bucket.trim();body.region=secretForm.r2Region.trim()||'auto'}else if(p.key==='irslogiqs'){if(!secretForm.accountSubdomain.trim()){toast.error('Enter the IRSLogiqs account subdomain');setConnecting(false);return}if(!secretForm.secretToken.trim()){toast.error('Enter the IRSLogiqs Secret Token');setConnecting(false);return}body.account_subdomain=secretForm.accountSubdomain.trim();body.secret_token=secretForm.secretToken.trim()}const stored=await supabase.functions.invoke('upsert-tenant-provider-secret',{body});if(stored.error||stored.data?.ok!==true)throw new Error(stored.data?.error||stored.error?.message||`Could not save ${p.label} connection`);if(p.key!=='irslogiqs'){const verified=await supabase.functions.invoke('verify-tenant-provider',{body:{tenant_id:tenantId,provider:p.key}});if(verified.error||verified.data?.ok!==true)throw new Error(verified.data?.error||verified.error?.message||`${p.label} could not be verified`);toast.success(`${p.label} connected`)}else{const verified=await supabase.functions.invoke('irslogiqs-sync',{body:{tenant_id:tenantId}});if(verified.error||verified.data?.ok!==true)throw new Error(verified.data?.error||verified.error?.message||'IRSLogiqs could not be verified');toast.success('IRSLogiqs verified and connected.')}setSelected(null);setSecretForm({apiSecret:'',accountSid:'',fromNumber:'',fromEmail:'',fromName:'',publishableKey:'',accountSubdomain:'',secretToken:'',statusIds:'',r2AccessKeyId:'',r2AccountId:'',r2Endpoint:'',r2Bucket:'',r2Region:'auto'});await loadConnections()}catch(e:any){toast.error(e?.message||`Could not connect ${p.label}`)}finally{setConnecting(false)}};const disconnectProvider=async(p:ProviderDefinition)=>{if(!tenantId)return;if(!disconnectArmed){setDisconnectArmed(true);return}setConnecting(true);try{const{data,error}=await supabase.functions.invoke('tenant-provider-connections',{body:{action:'revoke',tenant_id:tenantId,provider:p.key,projected_user_id:projectedUserId||undefined}});if(error||data?.ok!==true)throw new Error(data?.error||error?.message||`Could not disconnect ${p.label}`);toast.success(`${p.label} disconnected`);setSelected(null);setDisconnectArmed(false);await loadConnections()}catch(e:any){toast.error(e?.message||`Could not disconnect ${p.label}`)}finally{setConnecting(false)}};const selectedRow=selected?connectionMap.get(selected.key):null,selectedStatus=selectedRow?.credential_status||null,selectedConnected=isConnectedStatus(selectedStatus),selectedReady=selectedConnected&&providerReady(selectedRow),selectedConfigured=selected?providerConfigured(selected):false;const tenantSlug=String(activeTenant?.company_slug||'').trim().toLowerCase();const pcgUsesGoogle=tenantSlug==='pcg'||tenantSlug==='prestigious-card-grading';const googleWorkspace=PROVIDER_MAP.get('google_workspace')!;const googleRow=connectionMap.get('google_workspace');const googleConnected=isConnectedStatus(googleRow?.credential_status);const googleMeta=(googleRow?.metadata||{}) as Record<string,unknown>;const googleScopes=Array.isArray(googleMeta.granted_scopes)?googleMeta.granted_scopes.map(value=>String(value)):[];const googleDriveReady=googleConnected&&googleScopes.includes('https://www.googleapis.com/auth/drive.file');const showCommissioning=searchParams.get('commissioning')==='1';const commissioningSettings=((activeTenant as any)?.settings||{}) as Record<string,any>;const requiredCommissioningProviders=useMemo(()=>requiredProvidersFromTenantSettings(commissioningSettings),[commissioningSettings]);const persistedMigration=(commissioningSettings.client_commissioning?.migration||null) as any;const commissioningManifest=useMemo<ClientCommissioningReceipt>(()=>buildClientCommissioningReceipt({tenantId,tenantType:activeTenant?.tenant_type,peopleLoaded,invitationsLoaded:peopleLoaded,memberships:teamRows,invitations:inviteRows,providersLoaded:!loading,providerCredentials:rows,googleAccounts,providerCatalog:PROVIDERS.map(provider=>provider.key),requiredProviders:requiredCommissioningProviders,migration:persistedMigration}),[activeTenant?.tenant_type,googleAccounts,inviteRows,loading,peopleLoaded,persistedMigration,requiredCommissioningProviders,rows,teamRows,tenantId]);return <section className=\"mx-auto w-full max-w-6xl space-y-5\" data-tenant-connections=\"true\">{projection?<Card data-godmode-projected-user-connections=\"true\" className=\"border-primary/30 bg-primary/[.06]\"><CardContent className=\"flex flex-col gap-1 p-4 sm:flex-row sm:items-center sm:justify-between\"><div><p className=\"text-xs font-bold uppercase tracking-[.16em] text-primary\">GodMode user projection</p><p className=\"mt-1 text-sm font-semibold\">Viewing connections as {projection.projectedUserName||projection.projectedUserEmail||'selected tenant user'}</p><p className=\"mt-1 text-xs text-muted-foreground\">Actual role: {projection.actualRole||projection.role}{projection.roleOverride?` · Simulating: ${projection.roleOverride}`:''}. Support changes remain audited to your GodMode account.</p></div><Badge variant=\"outline\">User-scoped support</Badge></CardContent></Card>:null}<Card className=\"overflow-hidden border-border/70 bg-card/95 shadow-sm\"><CardHeader className=\"gap-5 p-5 sm:p-6\"><div className=\"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between\"><div className=\"flex min-w-0 items-start gap-3\"><span className=\"grid h-11 w-11 shrink-0 place-items-center rounded-2xl border border-primary/20 bg-primary/10 text-primary shadow-sm\"><PlugZap className=\"h-5 w-5\"/></span><div className=\"min-w-0\"><CardTitle className=\"text-2xl tracking-tight sm:text-3xl\">Connections</CardTitle><CardDescription className=\"mt-1 max-w-2xl text-sm leading-6\">Connect and manage the services {businessName} uses without leaving the workspace workflow.</CardDescription></div></div><div className=\"flex shrink-0 flex-wrap items-center gap-2\"><Button size=\"sm\" variant={showCommissioning?'default':'outline'} onClick={()=>{const next=new URLSearchParams(searchParams);if(showCommissioning)next.delete('commissioning');else next.set('commissioning','1');setSearchParams(next,{replace:true})}} data-client-setup-toggle=\"true\">{showCommissioning?'Hide client setup':'Client setup'}</Button><Badge variant=\"outline\" className=\"w-fit border-primary/20 bg-primary/5 px-3 py-1.5 text-xs font-semibold\">Owner controls</Badge></div></div><div className=\"grid gap-2 sm:grid-cols-3\"><div className=\"rounded-2xl border border-border/70 bg-background/55 px-4 py-3\"><p className=\"text-xs font-medium text-muted-foreground\">Connected</p><p className=\"mt-1 text-2xl font-semibold tracking-tight\">{activeRows.length}</p></div><div className=\"rounded-2xl border border-border/70 bg-background/55 px-4 py-3\"><p className=\"text-xs font-medium text-muted-foreground\">Needs attention</p><p className=\"mt-1 text-2xl font-semibold tracking-tight\">{attentionCount}</p></div><div className=\"rounded-2xl border border-border/70 bg-background/55 px-4 py-3\"><p className=\"text-xs font-medium text-muted-foreground\">Available providers</p><p className=\"mt-1 text-2xl font-semibold tracking-tight\">{PROVIDERS.length}</p></div></div></CardHeader></Card>{googleAccounts.length>0?<Card data-google-workspace-accounts=\"true\" className=\"border-border/70 bg-card/95\"><CardHeader className=\"gap-3 sm:flex-row sm:items-start sm:justify-between\"><div><CardTitle className=\"text-base\">Google Workspace accounts</CardTitle><CardDescription className=\"mt-1\">This workspace can keep more than one Google account connected. One account is primary for normal Mail, Calendar, and Drive work; additional accounts stay available as secondary or legacy sources.</CardDescription></div><Button className=\"shrink-0\" onClick={()=>void connectOauth(googleWorkspace)} disabled={connecting}>Add another Google Workspace</Button></CardHeader><CardContent className=\"space-y-2\">{googleAccounts.map(account=><div key={account.id} className=\"flex flex-col gap-3 rounded-xl border p-3 sm:flex-row sm:items-center sm:justify-between\"><div className=\"min-w-0\"><div className=\"flex flex-wrap items-center gap-2\"><span className=\"truncate text-sm font-semibold\">{account.email||account.name||'Google Workspace account'}</span>{account.is_primary?<Badge variant=\"outline\" className={statusBadgeClass('active')}>Primary</Badge>:<Badge variant=\"outline\">{account.role==='legacy'?'Legacy':account.role==='import'?'Import':'Secondary'}</Badge>}</div><div className=\"mt-1 text-xs text-muted-foreground\">{account.name&&account.email?account.name+' · ':''}{account.role.replaceAll('_',' ')}</div><div className=\"mt-1 text-[11px] text-muted-foreground\">Scopes: {account.scopes.length?account.scopes.map(scope=>scope.split('/').pop()||scope).join(', '):'provider default'}</div></div><div className=\"flex flex-wrap gap-2\"><Button size=\"sm\" variant={account.services.mail?'default':'outline'} disabled={connecting} onClick={()=>void setGoogleService(account,'mail')}>Mail</Button><Button size=\"sm\" variant={account.services.drive?'default':'outline'} disabled={connecting} onClick={()=>void setGoogleService(account,'drive')}>Drive</Button><Button size=\"sm\" variant={account.services.calendar?'default':'outline'} disabled={connecting} onClick={()=>void setGoogleService(account,'calendar')}>Calendar</Button>{!account.is_primary?<><Button size=\"sm\" variant=\"outline\" disabled={connecting} onClick={()=>void setGooglePrimary(account.id)}>Set primary</Button>{(['secondary','legacy','import'] as const).map(role=><Button key={role} size=\"sm\" variant={account.role===role?'default':'outline'} disabled={connecting} onClick={()=>void setGoogleRole(account,role)}>{role[0].toUpperCase()+role.slice(1)}</Button>)}</>:null}<Button size=\"sm\" variant=\"outline\" disabled={connecting} onClick={()=>void disconnectGoogleAccount(account.id)}>Disconnect</Button></div></div>)}</CardContent></Card>:null}{pcgUsesGoogle?<Card data-pcg-google-workspace-required=\"true\" className=\"border-primary/20 bg-primary/[.035]\"><CardHeader className=\"gap-3 sm:flex-row sm:items-start sm:justify-between\"><div><CardTitle className=\"text-base\">PCG uses Google Workspace Drive + Gmail</CardTitle><CardDescription className=\"mt-1\">PCG master card imagery is stored in Anthony’s dedicated Cloudflare R2 bucket. Google Workspace is auxiliary for Gmail and legacy/import file access; it is not the card-image source of truth.</CardDescription></div><Badge variant=\"outline\" className={googleDriveReady?statusBadgeClass('active'):'border-amber-400/25 bg-amber-400/10 text-amber-200'}>{googleDriveReady?'Drive ready':googleConnected?'Reconnect for Drive':'Setup required'}</Badge></CardHeader><CardContent className=\"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between\"><p className=\"text-sm text-muted-foreground\">Card intake does not depend on Google Drive. New card masters go to Cloudflare R2. Keep Google Workspace connected only for Gmail and any legacy/import files Anthony still wants available.</p><Button className=\"shrink-0\" onClick={()=>chooseProvider(googleWorkspace)}>{googleDriveReady?'Manage Google Workspace':googleConnected?'Reconnect Google Workspace':'Connect Google account'}</Button></CardContent></Card>:null}{showCommissioning?<Card data-client-commissioning=\"true\" className=\"border-primary/20 bg-card/95\"><CardHeader><CardTitle className=\"text-base\">Client commissioning</CardTitle><CardDescription>Deterministic setup manifest for this tenant. Unknown people or role mappings stay blocked instead of being guessed, provider provenance is preserved, and cross-tenant credential fallback is disabled.</CardDescription></CardHeader><CardContent className=\"space-y-3\"><div className=\"flex flex-wrap gap-2\">{commissioningManifest.stages.map(stage=><Badge key={stage} variant=\"outline\">{stage}</Badge>)}</div><div className=\"grid gap-2 sm:grid-cols-3\"><div className=\"rounded-xl border p-3\"><p className=\"text-xs text-muted-foreground\">Provider instances</p><p className=\"mt-1 text-lg font-semibold\">{commissioningManifest.providerInstances.length}</p></div><div className=\"rounded-xl border p-3\"><p className=\"text-xs text-muted-foreground\">Isolation</p><p className=\"mt-1 text-sm font-semibold\">No cross-tenant fallback</p></div><div className=\"rounded-xl border p-3\"><p className=\"text-xs text-muted-foreground\">Go-live blockers</p><p className=\"mt-1 text-lg font-semibold\">{commissioningManifest.readiness.blockers.length}</p></div></div><div className=\"grid gap-2 sm:grid-cols-3\"><div className=\"rounded-xl border p-3\"><p className=\"text-xs text-muted-foreground\">People</p><p className=\"mt-1 text-sm font-semibold\">{commissioningManifest.people.state==='resolved'?`${commissioningManifest.people.activeCount} active · ${commissioningManifest.people.invitationCount} invites`:'Not loaded'}</p></div><div className=\"rounded-xl border p-3\"><p className=\"text-xs text-muted-foreground\">Role contract</p><p className=\"mt-1 text-sm font-semibold\">{commissioningManifest.roles.state==='resolved'?'Resolved':commissioningManifest.roles.state==='blocked'?`${commissioningManifest.roles.invalid.length} invalid`:'Not loaded'}</p></div><div className=\"rounded-xl border p-3\"><p className=\"text-xs text-muted-foreground\">Manifest fingerprint</p><p className=\"mt-1 truncate font-mono text-xs font-semibold\">{commissioningManifest.manifestFingerprint}</p></div></div><p className=\"text-xs leading-5 text-muted-foreground\">People, invitation delivery, roles, provider instances, required connections, migration state, provenance, and tenant isolation are evaluated from observed tenant state. Unknown roles fail closed and never silently become Rep. PAUL connection research is credential-free and activation stays a separate tenant/provider-instance authorization.</p></CardContent></Card>:null}<Tabs value={tab} onValueChange={v=>{setTab(v as ConnectionsTab);setTabTouched(true)}} className=\"space-y-4\"><TabsList className=\"grid w-full grid-cols-2 sm:w-[360px]\"><TabsTrigger value=\"mine\" className=\"gap-2\">{projection?'User connections':'My connections'}{activeRows.length>0?<Badge variant=\"secondary\" className=\"px-1.5 py-0 text-[10px]\">{activeRows.length}</Badge>:null}</TabsTrigger><TabsTrigger value=\"find\">Find a connection</TabsTrigger></TabsList><TabsContent value=\"mine\" className=\"space-y-4\">{loading?<Card className=\"border-border/70 bg-card/90\"><CardContent className=\"flex min-h-32 items-center justify-center\"><Loader2 className=\"h-5 w-5 animate-spin text-muted-foreground\"/></CardContent></Card>:null}{!loading&&savedRows.length===0?<Card className=\"border-dashed border-border/80 bg-card/70\"><CardContent className=\"flex flex-col items-center px-5 py-10 text-center\"><span className=\"grid h-12 w-12 place-items-center rounded-2xl bg-primary/10 text-primary\"><PlugZap className=\"h-5 w-5\"/></span><p className=\"mt-4 font-semibold\">No connections yet</p><p className=\"mt-1 max-w-md text-sm leading-6 text-muted-foreground\">Add the tools this business actually uses. Connected services will stay organized here.</p><Button className=\"mt-5\" onClick={()=>{setTab('find');setTabTouched(true)}}>Find a connection</Button></CardContent></Card>:null}{!loading&&savedRows.length>0?<CompactDisclosureList type=\"single\" collapsible data-compact-disclosure-list=\"connections-saved\">{savedRows.map(r=>{const p=PROVIDER_MAP.get(r.provider as ProviderKey),Icon=p?.icon||PlugZap,active=providerReady(r);return <CompactDisclosureItem key={r.provider} value={r.provider} data-connection-row={r.provider}><CompactDisclosureTrigger><span className=\"flex min-w-0 flex-1 items-center gap-3 pr-2\"><span className=\"grid h-9 w-9 shrink-0 place-items-center rounded-xl border border-border/70 bg-muted/40 text-foreground\"><Icon className=\"h-4 w-4\"/></span><span className=\"min-w-0 flex-1\"><span className=\"block truncate text-sm font-semibold text-foreground\">{providerLabel(r.provider)}</span><span className=\"mt-0.5 block truncate text-xs font-normal text-muted-foreground\">{connectionDetail(r)}</span></span><Badge variant=\"outline\" className={statusBadgeClass(isConnectedStatus(r.credential_status)&&!providerReady(r)?'pending':r.credential_status)}>{providerStatusText(r)}</Badge></span></CompactDisclosureTrigger><CompactDisclosureContent><div className=\"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between\">{r.last_verified_at?<p className=\"text-xs text-muted-foreground\">Verified {new Date(r.last_verified_at).toLocaleString()}</p>:<p className=\"text-xs text-muted-foreground\">Verification pending</p>}<div className=\"flex flex-wrap gap-2\">{p?<Button size=\"sm\" className={r.provider==='cloudflare_r2'&&!active?'w-full sm:w-auto':''} onClick={()=>chooseProvider(p)} data-review-connection={r.provider}>{active?'Manage':p?.kind==='secret'?'Admin setup required':r.credential_status==='invalid'?'Fix connection':'Review'}</Button>:null}{p?<Button size=\"sm\" variant=\"outline\" onClick={()=>openProviderApp(p)}>Open app <ExternalLink className=\"ml-1.5 h-3.5 w-3.5\"/></Button>:null}</div></div></CompactDisclosureContent></CompactDisclosureItem>})}</CompactDisclosureList>:null}</TabsContent><TabsContent value=\"find\" className=\"space-y-4\"><Card className=\"border-border/70 bg-card/95 shadow-sm\"><CardContent className=\"p-4 sm:p-5\"><div className=\"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between\"><div className=\"relative min-w-0 flex-1\"><Search className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground\"/><Input value={query} onChange={e=>setQuery(e.target.value)} placeholder=\"Search payments, email, calendar, files, CRM…\" className=\"h-11 pl-10\" aria-label=\"Search available connectors\"/></div><p className=\"shrink-0 text-xs font-medium text-muted-foreground\">{results.length} of {PROVIDERS.length} providers</p></div></CardContent></Card>{results.length>0?<div className=\"min-w-0 max-w-full overflow-hidden rounded-2xl border border-border/70 bg-card/90\" data-connector-list=\"connections-catalog\">{results.map(p=>{const Icon=p.icon,row=connectionMap.get(p.key),connected=providerReady(row),configured=providerConfigured(p),setupPending=p.driver==='broker'&&!configured&&!connected;return <div key={p.key} className=\"flex min-w-0 max-w-full items-center gap-3 border-b border-border/70 px-3 py-3 last:border-b-0 sm:px-4\" data-connection-result={p.key} data-connector-url={CONNECTOR_URLS[p.key]}><span className=\"grid h-9 w-9 shrink-0 place-items-center rounded-xl border border-primary/15 bg-primary/8 text-primary\"><Icon className=\"h-4 w-4\"/></span><span className=\"min-w-0 flex-1 overflow-hidden\"><span className=\"block truncate text-sm font-semibold text-foreground\">{p.label}</span><span className=\"mt-0.5 block truncate text-xs font-normal text-muted-foreground\">{p.description}</span></span><Button size=\"sm\" className=\"shrink-0\" variant={setupPending?'outline':'default'} onClick={()=>chooseProvider(p)} data-connector-action={p.key}>{connected?'Manage':p.kind==='secret'?'Admin setup':setupPending?'Not ready':'Connect'}</Button></div>})}</div>:<Card className=\"border-dashed border-border/80 bg-card/70\"><CardContent className=\"px-5 py-10 text-center\"><Search className=\"mx-auto h-6 w-6 text-muted-foreground\"/><p className=\"mt-3 font-semibold\">No matching connection</p><p className=\"mt-1 text-sm text-muted-foreground\">Try a provider name or a category like payments, email, calendar, files, or CRM.</p></CardContent></Card>}</TabsContent></Tabs><Dialog open={Boolean(selected)} onOpenChange={open=>{if(!open&&!connecting){setSelected(null);setDisconnectArmed(false);setAdvancedSetup(false)}}}>{selected?<DialogContent className=\"sm:max-w-xl\"><DialogHeader><DialogTitle className=\"flex items-center gap-2\"><selected.icon className=\"h-5 w-5 text-primary\"/>{selectedConnected?`Manage ${selected.label}`:selected.kind==='oauth'?`Sign in with ${selected.label}`:`Connect ${selected.label}`}</DialogTitle><DialogDescription>{selected.description}</DialogDescription></DialogHeader><div className=\"grid gap-3 rounded-2xl border bg-muted/25 p-4 sm:grid-cols-2\"><div><p className=\"text-xs font-bold uppercase tracking-wide text-muted-foreground\">What this unlocks</p><div className=\"mt-2 flex flex-wrap gap-1.5\">{selected.capabilities.map(c=><Badge key={c} variant=\"outline\">{c}</Badge>)}</div></div><div><p className=\"text-xs font-bold uppercase tracking-wide text-muted-foreground\">What KnockLaunch needs</p><ul className=\"mt-2 space-y-1 text-sm text-muted-foreground\">{selected.permissions.map(p=><li key={p}>• {p}</li>)}</ul></div></div>{selected.driver==='broker'&&!selectedConfigured&&!selectedConnected?<div className=\"flex gap-3 rounded-2xl border border-amber-400/20 bg-amber-400/[.06] p-4 text-sm text-muted-foreground\"><ShieldCheck className=\"mt-0.5 h-5 w-5 shrink-0 text-amber-300\"/><p>{brokerAvailability[selected.key]?.setup_message||`${selected.label} sign-in is not ready yet. There is nothing you need to configure. KnockLaunch is finishing the platform connection; once it is enabled, this will be a single Sign in with ${selected.label} button.`}</p></div>:selected.kind==='oauth'?<div className=\"rounded-2xl border bg-muted/30 p-4 text-sm text-muted-foreground\"><div className=\"flex gap-3\"><ShieldCheck className=\"mt-0.5 h-5 w-5 shrink-0 text-primary\"/><p>Click Sign in with {selected.label}. {selected.label} handles the sign-in and permission screen. You never give KnockLaunch your {selected.label} password.</p></div></div>:<div className=\"space-y-4\"><div className=\"rounded-2xl border bg-muted/30 p-4 text-sm text-muted-foreground\"><div className=\"flex gap-3\"><KeyRound className=\"mt-0.5 h-5 w-5 shrink-0 text-primary\"/><div className=\"min-w-0\"><p className=\"font-semibold text-foreground\">Admin-managed connection</p><p className=\"mt-1\">This provider does not currently offer a KnockLaunch sign-in flow. Its credentials are configured securely by a KnockLaunch administrator and are never entered or displayed in the normal tenant workspace.</p></div></div><Badge variant=\"outline\" className=\"mt-3 border-primary/20 bg-primary/5\">Admin-managed setup</Badge></div><div className={advancedSetup?'space-y-4':'hidden'}>{selected.key==='twilio'?<><div className=\"space-y-1.5\"><Label>Account SID</Label><Input value={secretForm.accountSid} onChange={e=>setSecretForm(c=>({...c,accountSid:e.target.value}))} placeholder=\"AC…\" autoComplete=\"off\"/></div><div className=\"space-y-1.5\"><Label>Auth token</Label><Input type=\"password\" value={secretForm.apiSecret} onChange={e=>setSecretForm(c=>({...c,apiSecret:e.target.value}))} autoComplete=\"new-password\"/></div><div className=\"space-y-1.5\"><Label>Sending number</Label><Input value={secretForm.fromNumber} onChange={e=>setSecretForm(c=>({...c,fromNumber:e.target.value}))} placeholder=\"+1…\" autoComplete=\"off\"/></div></>:null}{selected.key==='resend'?<><div className=\"space-y-1.5\"><Label>API key</Label><Input type=\"password\" value={secretForm.apiSecret} onChange={e=>setSecretForm(c=>({...c,apiSecret:e.target.value}))} autoComplete=\"new-password\"/></div><div className=\"space-y-1.5\"><Label>From email</Label><Input type=\"email\" value={secretForm.fromEmail} onChange={e=>setSecretForm(c=>({...c,fromEmail:e.target.value}))} placeholder=\"info@yourcompany.com\"/></div><div className=\"space-y-1.5\"><Label>From name</Label><Input value={secretForm.fromName} onChange={e=>setSecretForm(c=>({...c,fromName:e.target.value}))} placeholder={businessName}/></div></>:null}{selected.key==='cloudflare_r2'?<><div className=\"space-y-1.5\"><Label>Access Key ID</Label><Input value={secretForm.r2AccessKeyId} onChange={e=>setSecretForm(c=>({...c,r2AccessKeyId:e.target.value}))} autoComplete=\"off\"/></div><div className=\"space-y-1.5\"><Label>Secret Access Key</Label><Input type=\"password\" value={secretForm.apiSecret} onChange={e=>setSecretForm(c=>({...c,apiSecret:e.target.value}))} autoComplete=\"new-password\"/></div><div className=\"space-y-1.5\"><Label>Account ID</Label><Input value={secretForm.r2AccountId} onChange={e=>setSecretForm(c=>({...c,r2AccountId:e.target.value}))} autoComplete=\"off\"/></div><div className=\"space-y-1.5\"><Label>S3 endpoint</Label><Input value={secretForm.r2Endpoint} onChange={e=>setSecretForm(c=>({...c,r2Endpoint:e.target.value}))} placeholder=\"https://ACCOUNT_ID.r2.cloudflarestorage.com\" autoComplete=\"off\"/></div><div className=\"space-y-1.5\"><Label>Bucket</Label><Input value={secretForm.r2Bucket} onChange={e=>setSecretForm(c=>({...c,r2Bucket:e.target.value}))} autoComplete=\"off\"/></div><div className=\"space-y-1.5\"><Label>Region</Label><Input value={secretForm.r2Region} onChange={e=>setSecretForm(c=>({...c,r2Region:e.target.value}))} placeholder=\"auto\" autoComplete=\"off\"/></div><p className=\"text-xs text-muted-foreground sm:col-span-2\">Use a bucket-scoped Cloudflare R2 Object Read & Write S3 credential. KnockLaunch verifies the bucket before activating storage.</p></>:null}{selected.key==='squarespace'?<><div className=\"space-y-1.5\"><Label>Squarespace Commerce API key</Label><Input type=\"password\" value={secretForm.apiSecret} onChange={e=>setSecretForm(c=>({...c,apiSecret:e.target.value}))} placeholder=\"Squarespace API key\" autoComplete=\"new-password\"/></div><p className=\"text-xs text-muted-foreground sm:col-span-2\">Create a Squarespace API key with Products read/write access for Anthony’s current PCG site. KnockLaunch verifies the key against Squarespace before enabling publishing.</p></>:null}{selected.key==='irslogiqs'?<><div className=\"space-y-1.5\"><Label>Account subdomain</Label><Input value={secretForm.accountSubdomain} onChange={e=>setSecretForm(c=>({...c,accountSubdomain:e.target.value}))} placeholder=\"your-account\" autoComplete=\"off\"/></div><div className=\"space-y-1.5\"><Label>API key</Label><Input type=\"password\" value={secretForm.apiSecret} onChange={e=>setSecretForm(c=>({...c,apiSecret:e.target.value}))} autoComplete=\"new-password\"/></div><div className=\"space-y-1.5\"><Label>Secret Token</Label><Input type=\"password\" value={secretForm.secretToken} onChange={e=>setSecretForm(c=>({...c,secretToken:e.target.value}))} autoComplete=\"new-password\"/></div><p className=\"text-xs text-muted-foreground sm:col-span-2\">Use the IRSLogiqs API key from Security → API Key and Secret Token from Settings → Integrations. KnockLaunch discovers any case-status filtering it needs automatically; there is nothing else to configure. Connect verifies the credentials immediately with a read-only IRSLogiqs request before the connection becomes active.</p></>:null}</div></div>}{selectedReady?<div className=\"flex items-center gap-2 rounded-xl border border-emerald-400/20 bg-emerald-400/[.07] px-3 py-2 text-sm text-emerald-200\"><CheckCircle2 className=\"h-4 w-4\"/>This provider is connected and ready.</div>:selectedConnected?<div className=\"flex items-center gap-2 rounded-xl border border-amber-400/20 bg-amber-400/[.07] px-3 py-2 text-sm text-amber-100\"><ShieldCheck className=\"h-4 w-4\"/>The authorization is saved, but required capability data is incomplete. Reconnect this provider before relying on it.</div>:(selectedStatus==='invalid'||selectedStatus==='degraded')?<div className=\"flex items-center gap-2 rounded-xl border border-red-400/20 bg-red-400/[.07] px-3 py-2 text-sm text-red-200\"><XCircle className=\"h-4 w-4\"/>The saved credential needs to be replaced and verified again.</div>:null}{disconnectArmed?<div className=\"rounded-xl border border-red-400/20 bg-red-400/[.07] px-3 py-2 text-sm text-red-100\">Disconnecting removes KnockLaunch’s stored authorization immediately. Click Confirm disconnect to continue.</div>:null}<DialogFooter className=\"gap-2 sm:gap-2\"><Button variant=\"outline\" onClick={()=>{setSelected(null);setDisconnectArmed(false)}} disabled={connecting}>Cancel</Button>{selectedConnected?<Button variant=\"destructive\" onClick={()=>void disconnectProvider(selected)} disabled={connecting} data-revoke-connection={selected.key}>{connecting?<Loader2 className=\"mr-2 h-4 w-4 animate-spin\"/>:null}{disconnectArmed?'Confirm disconnect':`Disconnect ${selected.label}`}</Button>:null}{(!selectedConnected||selectedConfigured)&&(selected.driver!=='broker'||selectedConfigured)&&(selected.kind==='oauth'||advancedSetup)?<Button onClick={()=>selected.kind==='oauth'?void connectOauth(selected):void connectSecretProvider(selected)} disabled={connecting} data-activate-connection={selected.key}>{connecting?<Loader2 className=\"mr-2 h-4 w-4 animate-spin\"/>:<PlugZap className=\"mr-2 h-4 w-4\"/>}{selectedConnected?`Reconnect ${selected.label}`:selected.kind==='oauth'?`Sign in with ${selected.label}`:`Connect ${selected.label}`}</Button>:null}</DialogFooter></DialogContent>:null}</Dialog></section>}\n","expectedSha":"76e4117a99ef5268969c0340f675d64a5ac6db34"}],"branch":"ai/objective-first-repair-470ab57a99c2","writes":[],"patches":[],"version":1,"approved":true,"missionId":"470ab57a-99c2-48c9-aeda-5a2cb5eebcf8","objective":"Prioritize eBay and Stripe Connections. Keep the newly deployed eBay OAuth broker implementation intact. Convert Stripe from tenant-entered API keys to a real Stripe Connect OAuth flow in the canonical tenant-provider-connections broker and Connections UI. Stripe must appear as OAuth/broker, launch Stripe authorization when platform Connect credentials are configured, store the connected Stripe account token tenant-scoped, preserve disconnect/manage behavior, and expose no Stripe secret-key or publishable-key form in normal tenant UX. Use STRIPE_CONNECT_CLIENT_ID and STRIPE_CONNECT_CLIENT_SECRET as platform-owned configuration. Gate, squash merge, release both the frontend and tenant-provider-connections Edge Function, and verify production source/deploy identity. Do not claim user-operable login unless live catalog configuration reports Stripe configured.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/tenant-provider-connections/index.ts","src/pages/connections/TenantConnections.tsx"],"implementation":{"files":[],"writes":[]},"requestContract":{"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Prioritize eBay and Stripe Connections. Keep the newly deployed eBay OAuth broker implementation intact. Convert Stripe from tenant-entered API keys to a real Stripe Connect OAuth flow in the canonical tenant-provider-connections broker and Connections UI. Stripe must appear as OAuth/broker, launch Stripe authorization when platform Connect credentials are configured, store the connected Stripe account token tenant-scoped, preserve disconnect/manage behavior, and expose no Stripe secret-key or publishable-key form in normal tenant UX. Use STRIPE_CONNECT_CLIENT_ID and STRIPE_CONNECT_CLIENT_SECRET as platform-owned configuration. Gate, squash merge, release both the frontend and tenant-provider-connections Edge Function, and verify production source/deploy identity. Do not claim user-operable login unless live catalog configuration reports Stripe configured.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Prioritize eBay and Stripe Connections. Keep the newly deployed eBay OAuth broker implementation intact. Convert Stripe from tenant-entered API keys to a real Stripe Connect OAuth flow in the canonical tenant-provider-connections broker and Connections UI. Stripe must appear as OAuth/broker, launch Stripe authorization when platform Connect credentials are configured, store the connected Stripe account token tenant-scoped, preserve disconnect/manage behavior, and expose no Stripe secret-key or publishable-key form in normal tenant UX. Use STRIPE_CONNECT_CLIENT_ID and STRIPE_CONNECT_CLIENT_SECRET as platform-owned configuration. Gate, squash merge, release both the frontend and tenant-provider-connections Edge Function, and verify production source/deploy identity. Do not claim user-operable login unless live catalog configuration reports Stripe configured.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Stripe is implemented as OAuth/Stripe Connect in the deployed broker and frontend, eBay remains implemented, and live provider readiness is reported truthfully.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/tenant-provider-connections/index.ts","src/pages/connections/TenantConnections.tsx"],"requestContract":{"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Prioritize eBay and Stripe Connections. Keep the newly deployed eBay OAuth broker implementation intact. Convert Stripe from tenant-entered API keys to a real Stripe Connect OAuth flow in the canonical tenant-provider-connections broker and Connections UI. Stripe must appear as OAuth/broker, launch Stripe authorization when platform Connect credentials are configured, store the connected Stripe account token tenant-scoped, preserve disconnect/manage behavior, and expose no Stripe secret-key or publishable-key form in normal tenant UX. Use STRIPE_CONNECT_CLIENT_ID and STRIPE_CONNECT_CLIENT_SECRET as platform-owned configuration. Gate, squash merge, release both the frontend and tenant-provider-connections Edge Function, and verify production source/deploy identity. Do not claim user-operable login unless live catalog configuration reports Stripe configured.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Prioritize eBay and Stripe Connections. Keep the newly deployed eBay OAuth broker implementation intact. Convert Stripe from tenant-entered API keys to a real Stripe Connect OAuth flow in the canonical tenant-provider-connections broker and Connections UI. Stripe must appear as OAuth/broker, launch Stripe authorization when platform Connect credentials are configured, store the connected Stripe account token tenant-scoped, preserve disconnect/manage behavior, and expose no Stripe secret-key or publishable-key form in normal tenant UX. Use STRIPE_CONNECT_CLIENT_ID and STRIPE_CONNECT_CLIENT_SECRET as platform-owned configuration. Gate, squash merge, release both the frontend and tenant-provider-connections Edge Function, and verify production source/deploy identity. Do not claim user-operable login unless live catalog configuration reports Stripe configured.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Stripe is implemented as OAuth/Stripe Connect in the deployed broker and frontend, eBay remains implemented, and live provider readiness is reported truthfully.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"391590dba9e25d93a58afad4651d3bfae1a8407992c102fd53eed4fc02ea0e07","replayCount":0,"serializedBytes":102793},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T00:34:49.001072+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:470ab57a-99c2-48c9-aeda-5a2cb5eebcf8:repository-mutation-intent:391590dba9e25d93a58afad4651d3bfae1a8407992c102fd53eed4fc02ea0e07:0","mission_step_id":"4d9fe2ed-5541-46f0-adeb-e30bf12cfdc0","command_center_event_id":"470ab57a-99c2-48c9-aeda-5a2cb5eebcf8"},{"id":"bd839dc8-b92b-448e-8d94-7ca11d6604d0","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-943b268ebe90","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.94-terminal-completion-supervisor","prNumber":null,"terminal":false,"missionId":"943b268e-be90-4561-84f3-bed0b61fe1a5","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2671,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":2384,"providerAuthMs":0,"ledgerPrepareMs":2384,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":2384,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":2384,"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":"943b268e-be90-4561-84f3-bed0b61fe1a5"},"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":3417,"likelyAffectedFiles":["src/pages/crm/PcgWorkspace.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T19:57:16.428549+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:943b268e-be90-4561-84f3-bed0b61fe1a5:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"95a98c6e-86ca-47f4-9a9d-9abdc99a576b","command_center_event_id":"943b268e-be90-4561-84f3-bed0b61fe1a5"},{"id":"bd848904-f151-49dc-bc59-12eaa79f80de","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-a3d6673b3c9f","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":2,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2469,"terminal":false,"missionId":"a3d6673b-3c9f-4d2f-b261-b03d33ae21ac","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"d94aa396eccb9631e8f4eaeb63062a1bb577107a","timingsMs":{"prReadinessMs":691,"approvedPlanMs":0,"shipAndProveMs":3016,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a3d6673b-3c9f-4d2f-b261-b03d33ae21ac"},"performance":null,"deploymentId":"forgejo-main-d94aa396eccb","workflowRunId":7297,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2069,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:49:27.078605+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2469","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a3d6673b-3c9f-4d2f-b261-b03d33ae21ac:automatic-mission-resume:2469:canonical_release_dispatched","mission_step_id":"f6fe0f0a-a4ca-453b-b49c-e45dc3cb0d08","command_center_event_id":"a3d6673b-3c9f-4d2f-b261-b03d33ae21ac"},{"id":"bd86ac76-3882-4fa5-842a-714cfa80bd45","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_request_contract_required","fingerprint":"b808b3516b563854d7cde2a80f190852a772888014752e3db1e40522c6b04b11"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T18:52:51.029541+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:26af90c1-91d2-4596-9103-007df826bd96:repository-mutation-intent-blocked:b808b3516b563854d7cde2a80f190852a772888014752e3db1e40522c6b04b11","mission_step_id":"590fa173-47d6-4a3d-9e70-022bac5c4ff6","command_center_event_id":"26af90c1-91d2-4596-9103-007df826bd96"},{"id":"bd87e9bb-1ccb-4555-8bb2-b2bb2b833b05","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/big-papis-zoho-mail","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":17494,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":6,"ownerInterruptionCount":0},"version":"1.47.6-live-release-idempotency","prNumber":425,"terminal":false,"missionId":"6614d3fd-5a35-4676-9cf0-7978438d3e42","operation":"ship_and_prove","proofGate":"ship_and_prove_waiting_for_gate","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"6614d3fd-5a35-4676-9cf0-7978438d3e42"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5537,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-19T14:37:53.245173+00:00","proof_gate":"ship_and_prove_waiting_for_gate","source_sha":null,"external_id":"425","receipt_type":"ship_and_prove","idempotency_key":"mission:6614d3fd-5a35-4676-9cf0-7978438d3e42:ship_and_prove:ship_and_prove_waiting_for_gate:no-source:no-run","mission_step_id":"ac41ec83-aea1-4565-bf79-003be401ae6a","command_center_event_id":"6614d3fd-5a35-4676-9cf0-7978438d3e42"},{"id":"bd88b159-e10d-4c20-9fcb-dd4a5cf9baaf","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/tenant-app-contract-standardization","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":2209,"terminal":false,"missionId":"c8033605-c2a0-4742-b1c3-c72a514dd8f2","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"8c4f2bfba787caf80ccbe0ebf67baa445033490f","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":20241,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":899,"approvedPlanMs":0,"missionSetupMs":436,"providerAuthMs":0,"shipAndProveMs":18579,"ledgerPrepareMs":436,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":436,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":436,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"c8033605-c2a0-4742-b1c3-c72a514dd8f2"},"performance":null,"deploymentId":"forgejo-main-8c4f2bfba787","workflowRunId":6511,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1479,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T01:56:43.906185+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"8c4f2bfba787caf80ccbe0ebf67baa445033490f","external_id":"forgejo-main-8c4f2bfba787","receipt_type":"execute_mission","idempotency_key":"mission:c8033605-c2a0-4742-b1c3-c72a514dd8f2:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"6ea9f2fb-a727-4e76-aa7f-404c30ff52c6","command_center_event_id":"c8033605-c2a0-4742-b1c3-c72a514dd8f2"},{"id":"bd88f33d-21f3-451b-9bea-d7c5fc9a3c3d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-6f17dc7ec1f8","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3426,"terminal":false,"missionId":"6f17dc7e-c1f8-470e-b5f3-324858c42d28","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":540,"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":"6f17dc7e-c1f8-470e-b5f3-324858c42d28"},"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-22T13:29:49.550498+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3426","receipt_type":"automatic_mission_resume","idempotency_key":"mission:6f17dc7e-c1f8-470e-b5f3-324858c42d28:automatic-mission-resume:3426:repair_mission_waiting_for_gate","mission_step_id":"d43cd73e-3c36-4c3a-8b89-6eecceef4fad","command_center_event_id":"6f17dc7e-c1f8-470e-b5f3-324858c42d28"},{"id":"bd8a1326-5e1c-47ea-af7d-84b371407458","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/paul-scheduled-synthesis.contract.test.ts","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/mission-ledger.js"],"reason":"Owner-authorized repair of the proven PAUL scheduled synthesis and no-op lifecycle handoff. Exact source-bounded automation only; existing locked-path safety remains enforced.","baseSha":"4ef89e7fd46b83f33533e1e000015897583d8587","issuedAt":1790786826335,"expiresAt":1790787006335,"missionId":"213b5e73-5b97-4afd-b93d-518def6d6071","authorizationId":"480b9d1a-8a4f-4182-ac1d-7471f1ff17b2","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T16:47:06.74695+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"4ef89e7fd46b83f33533e1e000015897583d8587","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:480b9d1a-8a4f-4182-ac1d-7471f1ff17b2","mission_step_id":"4be9b66b-0048-4c54-b985-f53b34c2250c","command_center_event_id":"213b5e73-5b97-4afd-b93d-518def6d6071"},{"id":"bd8a7fd8-6669-480d-9554-70abc3f73409","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d09e5839c43c","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":14274,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":25814,"firstUsefulResultAt":"2026-10-02T19:59:11.898Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.50-onepath-source-domain","prNumber":4521,"terminal":false,"missionId":"d09e5839-c43c-4a74-8907-a33aa3a1d3c2","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5057,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1518,"missionSetupMs":274,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":274,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":274,"repositoryMutationMs":3539,"repositoryProviderMs":3539,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1996,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":274,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1543},"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":"d09e5839-c43c-4a74-8907-a33aa3a1d3c2"},"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":3581,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T19:59:43.775545+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4521","receipt_type":"execute_mission","idempotency_key":"mission:d09e5839-c43c-4a74-8907-a33aa3a1d3c2:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"4f064110-fe16-4557-8c81-9301677d5d1f","command_center_event_id":"d09e5839-c43c-4a74-8907-a33aa3a1d3c2"},{"id":"bd918976-964a-4f86-b5c3-3c1fad62717b","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"24f572bb3d82e1e56cba82fcda0adfa6a5326063","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"24f572bb3d82e1e56cba82fcda0adfa6a5326063","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":"98fa544f9fe681a101aadef7e868e91b556c4686c3e90d40cb93cd00ae381ef1","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/8763","runId":8763,"status":"success","sourceSha":"24f572bb3d82e1e56cba82fcda0adfa6a5326063","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-16T14:43:00.853246+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"24f572bb3d82e1e56cba82fcda0adfa6a5326063","external_id":"forgejo-main-24f572bb3d82","receipt_type":"canonical_release_status","idempotency_key":"mission:b7d14137-df0a-43b6-a6a0-a4faad80c1cd:forgejo-release-status:24f572bb3d82e1e56cba82fcda0adfa6a5326063:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"56cbb994-4269-4205-87f1-9840ac0774d1","command_center_event_id":"b7d14137-df0a-43b6-a6a0-a4faad80c1cd"},{"id":"bd9363d8-bb8a-4761-8a50-dca96bd9d4e7","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-60fe65fb412a","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2238,"terminal":false,"missionId":"60fe65fb-412a-4f4e-848f-781390533940","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2156,"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":"60fe65fb-412a-4f4e-848f-781390533940"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T16:52:28.908886+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2238","receipt_type":"automatic_mission_resume","idempotency_key":"mission:60fe65fb-412a-4f4e-848f-781390533940:automatic-mission-resume:2238:repair_mission_pr_ready_retryable","mission_step_id":"cad32b5d-922f-42f9-aed3-52e9375da61a","command_center_event_id":"60fe65fb-412a-4f4e-848f-781390533940"},{"id":"bd937c0f-2c48-46c3-81bc-6f1fefe7044c","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Gate proved the existing hard-safety operator-count invariant must be updated from 13 to 14 for the newly added forgejo_pr_reopen command. This is the only additional file and no runtime semantics change beyond the already-authorized reopen primitive.","baseSha":"434d467c8f1a21a3a60935879690eeb8a9a726a1","issuedAt":1789246589193,"expiresAt":1789246769193,"missionId":"21b436fd-01d7-4d57-a0f0-1736701208f6","authorizationId":"f4afe86c-0474-40d5-a24d-729b1aa8c515","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:56:29.657396+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"434d467c8f1a21a3a60935879690eeb8a9a726a1","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:f4afe86c-0474-40d5-a24d-729b1aa8c515","mission_step_id":"79a91e67-fa01-498d-8453-e7781eafaeef","command_center_event_id":"21b436fd-01d7-4d57-a0f0-1736701208f6"},{"id":"bd947ea6-e3dc-4343-8087-54100db6760c","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue mission c417b477 on PR #1306. Fix remaining Redfish owner-workspace command/navigation defects found in the 26-app audit: command palette must recognize /homeowners/:id as a contact context, must not send Redfish to nonexistent pipeline or drive routes, and New Lead must open the new-leads view/form. Remove duplicate generic CRM chrome from the Redfish Rebuttals application while preserving the actual rebuttal editor. Keep the same branch/PR and do not merge/deploy yet.","wordingChanged":false,"canonicalIntent":"Continue mission c417b477 on PR #1306. Fix remaining Redfish owner-workspace command/navigation defects found in the 26-app audit: command palette must recognize /homeowners/:id as a contact context, must not send Redfish to nonexistent pipeline or drive routes, and New Lead must open the new-leads view/form. Remove duplicate generic CRM chrome from the Redfish Rebuttals application while preserving the actual rebuttal editor. Keep the same branch/PR and do not merge/deploy yet.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"owner-route-integrity","statement":"Redfish shared navigation and Operations Map links remain inside the owner-facing /redfish-roofing route family.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"homeowner-record-integrity","statement":"Redfish homeowner and lead record routing is canonicalized to the Homeowners route family and no SCE/PA-only feature panels leak into Redfish.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"owner-command-integrity","statement":"Redfish command-palette and New Lead actions point to real owner routes and Redfish Rebuttals does not recreate generic CRM chrome.","proofConditionIds":["proof-repository","proof-runtime"]}],"objective":"Continue mission c417b477 on PR #1306. Fix remaining Redfish owner-workspace command/navigation defects found in the 26-app audit: command palette must recognize /homeowners/:id as a contact context, must not send Redfish to nonexistent pipeline or drive routes, and New Lead must open the new-leads view/form. Remove duplicate generic CRM chrome from the Redfish Rebuttals application while preserving the actual rebuttal editor. Keep the same branch/PR and do not merge/deploy yet.","constraints":[{"id":"preserve-contracts","statement":"Do not change Redfish data, custom pipelines, financial records, workflow scripts, or any other tenant behavior.","proofConditionIds":["proof-repository"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"PR #1306 contains only bounded Redfish owner-workspace route and chrome repairs and passes KnockLaunch Gate.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-runtime","kind":"runtime","claim":"The merged Redfish owner-workspace repair source is live on the frontend production runtime.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"49a9495d61d0fc272da81629b43ce6fb3c7624f8588466e4d8889ad40f17bf30","requestContractRevision":3,"previousRequestContractHash":"438688bd62d9e723c2683b672c327d5ee878db26931ca6cf7e39728ea790b02b"},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T20:56:02.948667+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:c417b477-62c0-4014-a60a-054912f42257:request-contract-revision:3:49a9495d61d0fc272da81629b43ce6fb3c7624f8588466e4d8889ad40f17bf30","mission_step_id":"f75a115f-2b00-41a7-847d-87e46ea7ab6b","command_center_event_id":"c417b477-62c0-4014-a60a-054912f42257"},{"id":"bd94bea4-08a9-4f35-a31f-5d210e2683df","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-bd008151ac47","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":83327,"releaseCount":0,"toolCallCount":23,"repeatedCallCount":16,"executorlessWaitMs":1159842,"firstUsefulResultAt":"2026-10-02T14:16:08.592Z","recoveryAttemptCount":18,"ownerInterruptionCount":0},"version":"1.64.48-guarded-legacy-pr-retirement","prNumber":4470,"terminal":false,"missionId":"bd008151-ac47-4c79-9642-d7f60ce0d501","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4127,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":4000,"approvedPlanMs":0,"missionSetupMs":407,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":296,"ledgerReconcileMs":0,"lineageReconcileMs":111,"resolvePreflightMs":407,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":296,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"bd008151-ac47-4c79-9642-d7f60ce0d501"},"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":1692,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:43:22.705221+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"4470","receipt_type":"execute_mission","idempotency_key":"mission:bd008151-ac47-4c79-9642-d7f60ce0d501:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"da00b8f3-2fbe-4d2a-9e99-8d3556e63853","command_center_event_id":"bd008151-ac47-4c79-9642-d7f60ce0d501"},{"id":"bd9633a8-fc31-4e5d-8dbc-308865df9817","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-mutvqzks","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":32964,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-04T13:57:34.232Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":4798,"terminal":false,"missionId":"536e55dc-dabc-4153-9520-9fe3b9311c84","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4362,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":786,"missionSetupMs":333,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":333,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":333,"repositoryMutationMs":3576,"repositoryProviderMs":3576,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2254,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":333,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1322},"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":"536e55dc-dabc-4153-9520-9fe3b9311c84"},"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":3425,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T13:57:42.080661+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4798","receipt_type":"execute_mission","idempotency_key":"mission:536e55dc-dabc-4153-9520-9fe3b9311c84:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"e239b075-8e5a-40e4-b7da-a265ab9e5083","command_center_event_id":"536e55dc-dabc-4153-9520-9fe3b9311c84"},{"id":"bd966695-952e-4b8f-bf6b-ab79c4c45d99","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":"ai/objective-first-repair-a705b71f223e","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":17268,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":10,"executorlessWaitMs":82092,"firstUsefulResultAt":"2026-10-06T00:48:46.164Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.7-prime-stale-manual-retirement-adapter","prNumber":null,"terminal":false,"missionId":"a705b71f-223e-41d2-b17f-5acf680e2db1","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3195,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":280,"providerAuthMs":0,"ledgerPrepareMs":280,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":280,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":280,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"a705b71f-223e-41d2-b17f-5acf680e2db1"},"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":3523,"likelyAffectedFiles":["config/capabilities/pcg-public-card-intake.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T00:48:48.466737+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a705b71f-223e-41d2-b17f-5acf680e2db1:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"5a7fc5a4-1bc3-4e7f-b94b-0568c2638c58","command_center_event_id":"a705b71f-223e-41d2-b17f-5acf680e2db1"},{"id":"bd966e0b-1565-4441-9af9-c1b27285d4be","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts"],"reason":"Prime structured exact mutation continuation","baseSha":"b9de631b6d57369f78fbe81e4942ce37ed1189de","issuedAt":1791230758443,"expiresAt":1791230938443,"missionId":"e83752ef-d135-46bc-a27e-9b05fd0d7897","authorizationId":"d1ef3ab4-6a1d-47fa-8a5e-ca040a337468","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:05:58.946967+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"b9de631b6d57369f78fbe81e4942ce37ed1189de","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:d1ef3ab4-6a1d-47fa-8a5e-ca040a337468","mission_step_id":"5823fe2c-1e9c-44fa-b564-361db8c8148f","command_center_event_id":"e83752ef-d135-46bc-a27e-9b05fd0d7897"},{"id":"bd98deae-adfc-4e8f-ae75-12c3e4e3d9f2","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"68235fa3681dbba5f5662aba693f6724c7e6590d","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"rollback","satisfied":true,"statement":"If acceptance fails after mutating an existing user, prior membership, tenant roles, profile fields, tenant ownership, and auth user metadata are restored; newly created invited accounts retain the existing full-delete rollback.","proofConditionIds":["repo","runtime"]},{"id":"landing","satisfied":true,"statement":"Successful acceptance returns tenantId, tenantSlug, and canonical landingPath derived from the verified tenant.","proofConditionIds":["repo","runtime"]},{"id":"finalization","satisfied":true,"statement":"Invitation is marked accepted only after membership, role, profile, and ownership verification succeeds.","proofConditionIds":["repo","runtime"]}],"satisfied":true,"constraints":[{"id":"single-owner","satisfied":true,"statement":"Change only the canonical accept-invitation primitive and regression coverage; do not create another invitation acceptance path.","proofConditionIds":["repo"]},{"id":"no-live-invite","satisfied":true,"statement":"Do not create or send real customer invitations for proof.","proofConditionIds":["runtime"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo","runtime"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo","runtime"]}],"contractHash":"bb47ec54c701f9a9b750b19ed32defd1c69b7cb119cf98ac0d30f313dc88d3ef","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"reason":null,"gateRunId":9663,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"supabaseEdge":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"bb47ec54c701f9a9b750b19ed32defd1c69b7cb119cf98ac0d30f313dc88d3ef","unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":["supabaseEdge"],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["supabaseEdge"],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"68235fa3681dbba5f5662aba693f6724c7e6590d"},"required":true,"satisfied":true},{"id":"runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":["supabaseEdge"],"requiredReleaseTargets":["supabaseEdge"],"migrationReleaseVerified":null,"releaseRequestContractHash":"bb47ec54c701f9a9b750b19ed32defd1c69b7cb119cf98ac0d30f313dc88d3ef"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T16:21:48.599374+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"68235fa3681dbba5f5662aba693f6724c7e6590d","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:767de355-8d1c-40cc-884e-c1bf21a93da4:request-contract:bb47ec54c701f9a9b750b19ed32defd1c69b7cb119cf98ac0d30f313dc88d3ef:68235fa3681dbba5f5662aba693f6724c7e6590d:verified:","mission_step_id":"345d9c17-0d70-475a-8800-2606b94fc773","command_center_event_id":"767de355-8d1c-40cc-884e-c1bf21a93da4"},{"id":"bd98ffdc-f20e-49b5-8978-09fa610438dd","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-4f5629350243","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.223-durable-witness-lane-affinity","prNumber":3535,"terminal":false,"missionId":"4f562935-0243-4d4c-8e92-442c01b17cbc","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5451,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":809,"missionSetupMs":364,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":364,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":364,"repositoryMutationMs":4642,"repositoryProviderMs":4642,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2548,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":364,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2094},"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":"4f562935-0243-4d4c-8e92-442c01b17cbc"},"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":3218,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T16:29:44.791001+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3535","receipt_type":"execute_mission","idempotency_key":"mission:4f562935-0243-4d4c-8e92-442c01b17cbc:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"f43b4174-cda8-491c-b1d3-e9c37df69ddd","command_center_event_id":"4f562935-0243-4d4c-8e92-442c01b17cbc"},{"id":"bd99c393-2497-43ee-ad2a-5f3c699997f4","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"792d98b6214eab6a14fb130e3645b2b44b87fa04","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"792d98b6214eab6a14fb130e3645b2b44b87fa04","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":"ab41749acc6a4eafb27c0339f1ad7c701d38426a0e21ddbf961357470ac3d6f4","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5274","runId":5274,"status":"running","sourceSha":"792d98b6214eab6a14fb130e3645b2b44b87fa04","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"c9435f6d5853c6ebb9deb06f425bccabbcb981ee","deploymentId":"forgejo-main-c9435f6d5853c6ebb9deb06f425bccabbcb981ee","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.56-known-superseded-pr-cleanup","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T18:22:31.158223+00:00","proof_gate":"canonical_release_pending","source_sha":"792d98b6214eab6a14fb130e3645b2b44b87fa04","external_id":"forgejo-main-792d98b6214e","receipt_type":"canonical_release_status","idempotency_key":"mission:6705d859-325f-4053-8ba2-63fc38192958:forgejo-release-status:792d98b6214eab6a14fb130e3645b2b44b87fa04:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"e454ead2-a6b5-4fa8-bd55-243e62de641d","command_center_event_id":"6705d859-325f-4053-8ba2-63fc38192958"},{"id":"bd9a17d4-aa56-4a98-b841-1f0e5ced0113","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"0ab0b58e-0612-4cef-bd0c-9f370ac33fef"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T23:20:19.412997+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:0ab0b58e-0612-4cef-bd0c-9f370ac33fef:mission-cancel:0ab0b58e-0612-4cef-bd0c-9f370ac33fef","mission_step_id":null,"command_center_event_id":"0ab0b58e-0612-4cef-bd0c-9f370ac33fef"},{"id":"bd9a3ea5-2b50-4858-a73c-5e9d4d5ef902","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"63c49b6e-0839-44c9-bccb-bcf756294cff","phase":"universal_visual_witness_supervised","branch":"ai/calendar-final-mobile-authority-polish-20260907","reason":null,"status":"pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2097,"terminal":false,"missionId":"8a76ddba-3041-4df0-a7e3-45c2424957e5","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"16c567ffb21328e5fc037bc4fa8889b51749c7a3","timingsMs":{"wake":200,"total":527,"submit":327,"wakeAttempts":1},"nextAction":"Poll inspect_route_status or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"8a76ddba-3041-4df0-a7e3-45c2424957e5"},"performance":null,"deploymentId":"forgejo-main-16c567ffb213","workflowRunId":6238,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":642,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-07T19:25:22.809344+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"16c567ffb21328e5fc037bc4fa8889b51749c7a3","external_id":"63c49b6e-0839-44c9-bccb-bcf756294cff","receipt_type":"visual_proof_started","idempotency_key":"mission:8a76ddba-3041-4df0-a7e3-45c2424957e5:visual-start:63c49b6e-0839-44c9-bccb-bcf756294cff","mission_step_id":"39766053-4cef-408c-ae9c-17cd0c18bba0","command_center_event_id":"8a76ddba-3041-4df0-a7e3-45c2424957e5"},{"id":"bd9bddc8-0f38-4011-b80a-98e4f8b7415e","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":"05b77e3e5958b4460793a8ba4a8903abb75cc09f","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":"05b77e3e5958b4460793a8ba4a8903abb75cc09f","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1471","runId":1471,"status":"running","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"05b77e3e5958b4460793a8ba4a8903abb75cc09f","deploymentId":"forgejo-main-05b77e3e5958b4460793a8ba4a8903abb75cc09f","compareStatus":"identical","identitySource":"local_build_metadata","runtimeVersion":"1.47.6-live-release-idempotency","containsSourceSha":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T15:55:49.000969+00:00","proof_gate":"canonical_release_pending","source_sha":"05b77e3e5958b4460793a8ba4a8903abb75cc09f","external_id":"forgejo-main-05b77e3e5958","receipt_type":"canonical_release_status","idempotency_key":"mission:cbe4f2a8-bd98-4f91-bcfe-8ef16e270cd6:forgejo-release-status:05b77e3e5958b4460793a8ba4a8903abb75cc09f:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=success|supabase-edge-production/live=pending","mission_step_id":"cb47b484-6d25-4856-9e35-94b2fc237461","command_center_event_id":"cbe4f2a8-bd98-4f91-bcfe-8ef16e270cd6"},{"id":"bd9c2a6f-562e-4269-8ba1-8a92bcc8889f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"visual-sandbox","action":"verify_visual","reason":"release_verified_visual_proof_pending","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"request_contract_reconciliation\",\"status\":\"pending\",\"proofGate\":\"request_contract_pending\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"visual-sandbox\",\"reason\":\"release_verified_visual_proof_pending\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"visual-sandbox\"},\"acceptance\":{\"total\":2,\"verified\":1,\"pending\":1,\"percent\":50,\"satisfied\":false,\"verifiedIds\":[\"proof-production\"],\"pendingIds\":[\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-05T21:11:49.43394+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-d7ae93924645\",\"prNumber\":5002,\"sourceSha\":\"f974ee259fd187004ca84f5e9d518050ad900698\",\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T17:19:37.846784+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:d7ae9392-4645-40d3-9b1e-8e506c612dda:owner-progress-heartbeat:119414718","mission_step_id":"8eb32bd4-1a9e-495f-8fb8-0b2769bb839c","command_center_event_id":"d7ae9392-4645-40d3-9b1e-8e506c612dda"},{"id":"bd9d2f54-0067-41e4-bef5-1327b8bcb24a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/tenant-readiness-contract-v1-20260913","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2648,"terminal":false,"missionId":"4a9bbbf7-015e-4413-82e6-5fdab504ced0","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":3165,"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":"4a9bbbf7-015e-4413-82e6-5fdab504ced0"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1286,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T16:16:31.646356+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2648","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4a9bbbf7-015e-4413-82e6-5fdab504ced0:automatic-mission-resume:2648:repair_mission_waiting_for_gate","mission_step_id":"34a3fb92-5772-46ab-bdec-a8014096213e","command_center_event_id":"4a9bbbf7-015e-4413-82e6-5fdab504ced0"},{"id":"bd9e5f88-1b49-4c48-8fdc-82a51f84a703","source":"forgejo","status":"waiting","payload":{"branch":"ai/universal-account-settings","prNumber":3290,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"ea520535d26f859529f07fe22dd1815c04d8de96","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:02:05.134796+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"ea520535d26f859529f07fe22dd1815c04d8de96","external_id":"3290","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:cfd7c7b3-773d-46c5-8d99-cbb2455d0485:merged-pr:3290:ea520535d26f859529f07fe22dd1815c04d8de96","mission_step_id":"0b412634-8ea5-4db4-9dd3-eef25baf7d63","command_center_event_id":"cfd7c7b3-773d-46c5-8d99-cbb2455d0485"},{"id":"bd9f2944-9357-490c-8b97-353f93a65834","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Fix the final Console cockpit runtime defect found by live visual proof. Remove the accidental Remote Desktop execution footer from the tracked cockpit JS, HTML, and CSS assets; declare reviewView='live' before it is referenced; allow witness evidence URLs from paul-witness.knocklaunch.app instead of laptop-witness.knocklaunch.app; and change standby wording from Laptop witness to Cloud witness. Preserve the compact cockpit layout and Candidate controls.","wordingChanged":false,"canonicalIntent":"Fix the final Console cockpit runtime defect found by live visual proof. Remove the accidental Remote Desktop execution footer from the tracked cockpit JS, HTML, and CSS assets; declare reviewView='live' before it is referenced; allow witness evidence URLs from paul-witness.knocklaunch.app instead of laptop-witness.knocklaunch.app; and change standby wording from Laptop witness to Cloud witness. Preserve the compact cockpit layout and Candidate controls.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"candidate-review-loop","statement":"Implement the missing Console Candidate review workflow on /admin/console without changing the accepted compact cockpit layout. A change request must create a non-production candidate branch and exact candidate SHA. The UI must expose Live / Candidate / Compare plus a review drawer showing branch, exact SHA, changed scope, Gate state, and preview state. Accept must bind to that exact SHA and only then run canonical Gate, squash merge, affected-target release, and production proof. Revise and Reject must leave production unchanged; Revise must yield a reviewable candidate SHA and Reject must close/discard the candidate path. Stale SHA, missing preview, failed Gate, auth failure, source drift, or unavailable Laptop witness must fail closed. Desktop and mobile must work. Verification must exercise candidate creation, revise, reject, and accept with exact SHA semantics; route rendering alone is insufficient. Reuse existing mission, witness, Gate, merge, and release primitives; do not create a parallel orchestration system.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime","visual"]}],"objective":"Fix the final Console cockpit runtime defect found by live visual proof. Remove the accidental Remote Desktop execution footer from the tracked cockpit JS, HTML, and CSS assets; declare reviewView='live' before it is referenced; allow witness evidence URLs from paul-witness.knocklaunch.app instead of laptop-witness.knocklaunch.app; and change standby wording from Laptop witness to Cloud witness. Preserve the compact cockpit layout and Candidate controls.","constraints":[{"id":"preserve-cockpit","statement":"Preserve one compact toolbar, one giant Witness canvas, Routes in the toolbar, Commentary and Activity/History as slide-out drawers, tiny status chips, and no stacked panels below the preview.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"exact-sha-review","statement":"Owner approval must bind the exact candidate SHA; production must remain unchanged before Accept; stale SHA and proof drift fail closed.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]},{"id":"visual-content-truth","statement":"Do not present invented source identity, Gate state, preview state, branch, SHA, status, or other unknown operational facts as real.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"visual-viewport-authority","statement":"Desktop and mobile are both authoritative acceptance viewports for this workflow and must preserve the same review capability without a second design.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"capability-completeness","statement":"Every dependency the implementation relies on must be wired and proven across frontend, backend/runtime, auth, provider/prerequisite states, release ownership, and live production behavior.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, affected-target release, and claim-matched production proof are satisfied; missing dependencies become prerequisite states and runtime drift fails closed.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]},{"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":["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":["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":["visual"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime","kind":"runtime","claim":"Authenticated end-to-end candidate creation, review, revise, reject, and exact-SHA accept/promotion work without production mutation before Accept.","route":"/admin/console","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"visual","kind":"visual","claim":"Live / Candidate / Compare and the candidate review drawer render in the accepted cockpit on desktop and mobile with real candidate source identity.","route":"/admin/console","roleRef":null,"userRef":null,"required":true,"expectedText":"Candidate","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"console-candidate-review-loop","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"]},"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":"5014d77ce94858696261d1c8ace013b115dad8515de12e95abbdd01a29a66e08","requestContractRevision":14,"previousRequestContractHash":"604328fc37c8afdc2453f3866f9ef099cf1fcf1133ae8b3b560d5215c6694f9a"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T06:45:06.61651+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:1297fc3e-a836-406c-ae04-a0aa8f124741:request-contract:5014d77ce94858696261d1c8ace013b115dad8515de12e95abbdd01a29a66e08","mission_step_id":"2266f7cf-e64b-4bf0-be59-708167719cb5","command_center_event_id":"1297fc3e-a836-406c-ae04-a0aa8f124741"},{"id":"bda08c63-f16c-47c1-a537-b3d50a032de2","source":"cc-execution","status":"recorded","payload":{"objective":"Finish the existing PR #1977 and report only when the crop-mode/right-click improvement is live.","tenantRef":"big-papis","receivedAt":"2026-09-06T18:02:50.058Z","fingerprint":"40ad8b203e5529a763e09b4d2b51bd362896a18e827378ff962230ff13b4a358","workstreamRef":"bigpapis","conversationId":null,"canonicalBranch":"ai/proposal-editor-crop-mode-context-menu","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Finish the existing PR #1977 and report only when the crop-mode/right-click improvement is live.","wordingChanged":false,"canonicalIntent":"Finish the existing PR #1977 and report only when the crop-mode/right-click improvement is live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"crop-live","statement":"The Big Papi Proposal Editor live production build exposes a reliable crop mode for ornament/image editing, with Alt/Option shortcut remaining optional rather than required.","proofConditionIds":["repo","release","interaction"]},{"id":"context-menu-live","statement":"The live Proposal Editor right-click menu exposes the expanded object actions for crop, duplicate, rotate, flip, layer ordering, aspect lock, reset, and delete where applicable.","proofConditionIds":["repo","release","interaction"]}],"objective":"Finish the existing PR #1977 and report only when the crop-mode/right-click improvement is live.","constraints":[{"id":"same-pr","statement":"Use the existing PR #1977; do not create a duplicate PR or change unrelated source.","proofConditionIds":["repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"PR #1977 is refreshed onto current protected main, passes KnockLaunch Gate on its exact refreshed head, and is squash merged.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"release","kind":"runtime","claim":"Production frontend serves the merged #1977 source.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"interaction","kind":"interaction","claim":"On the live Proposal Editor, Crop Mode can be entered without relying on Alt timing, crop manipulation executes, and right-click opens the expanded object menu.","route":"/big-papis/owner/proposals","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[{"action":"select_ornament_instance"},{"action":"enter_crop_mode"},{"action":"drag_crop"},{"action":"open_context_menu"},{"action":"verify_context_actions"}],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":"ai/proposal-editor-crop-mode-context-menu","conversationContext":null,"requestContractHash":"05670226fe527f8ced7a51de662765c54d6e8f4036ffe2781577b9426888ee20","requestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T18:02:50.716447+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:fed12649-5db9-4ccc-91dc-e180b5e8752c:tenant-workstream-contribution:40ad8b203e5529a763e09b4d2b51bd362896a18e827378ff962230ff13b4a358","mission_step_id":null,"command_center_event_id":"fed12649-5db9-4ccc-91dc-e180b5e8752c"},{"id":"bda0f1c7-d446-4716-9728-95177509f126","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/experience-editor-precise-canvas-fastpath-20260804","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":null,"terminal":false,"missionId":"441774c2-2e70-43ca-95b9-370d7855ab99","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and recall /repair/execute-mission automatically without another owner prompt.","receiptRef":{"mode":"full","missionId":"441774c2-2e70-43ca-95b9-370d7855ab99"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":4597,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-04T20:38:13.866492+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:441774c2-2e70-43ca-95b9-370d7855ab99:execute_mission:repair_mission_synthesis_ready","mission_step_id":"2291c511-f606-414c-9a9c-90697898eeb0","command_center_event_id":"441774c2-2e70-43ca-95b9-370d7855ab99"},{"id":"bda10e0d-d890-453b-aba5-78db80806351","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-4acbdb991bf3","writes":[],"patches":[],"version":1,"approved":true,"missionId":"4acbdb99-1bf3-4238-a497-e0717c192478","objective":"Apply these exact edits on the existing branch. Mobile header becomes truly fixed at top 0 and never scrolls. Desktop remains relative. Add the 56px/64px mobile flow spacer immediately after header so the existing fixed video at top 56px/64px stays directly beneath the fixed header, and the already-present geometry-matched video spacer keeps all subsequent content below both fixed surfaces. Then inspect diff, one PR, canonical Gate, squash merge, Cloudflare deploy, and verify mobile scroll behavior.","repository":"noel/KnockLaunchOS","anchoredEdits":[{"path":"src/pages/auto-lockout/AutoUnlockPublic.tsx","anchor":"<header className=\"sticky top-0 z-40 border-b border-sky-300/20 bg-[#010712]/62 shadow-[0_10px_35px_rgba(0,0,0,.2),0_1px_0_rgba(56,189,248,.12)] backdrop-blur-2xl lg:relative lg:z-20 lg:bg-[#010712]/42\">","replacement":"<header className=\"fixed inset-x-0 top-0 z-40 border-b border-sky-300/20 bg-[#010712]/62 shadow-[0_10px_35px_rgba(0,0,0,.2),0_1px_0_rgba(56,189,248,.12)] backdrop-blur-2xl lg:relative lg:inset-auto lg:z-20 lg:bg-[#010712]/42\">"},{"path":"src/pages/auto-lockout/AutoUnlockPublic.tsx","anchor":"</div></div></header>\n\n      <div className=\"fixed inset-x-0 top-[56px] z-30 px-3 py-2 sm:top-[64px] sm:px-4 lg:hidden\">","replacement":"</div></div></header>\n      <div aria-hidden=\"true\" className=\"h-[56px] sm:h-[64px] lg:hidden\" />\n\n      <div className=\"fixed inset-x-0 top-[56px] z-30 px-3 py-2 sm:top-[64px] sm:px-4 lg:hidden\">"}],"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/auto-lockout/AutoUnlockPublic.tsx"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"4acbdb99-1bf3-4238-a497-e0717c192478","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/auto-lockout/AutoUnlockPublic.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":"94b9ce897c66ca614af88c4f645337bf9105d04302b41a71e36213bf7e0e3cb3","replayCount":0,"serializedBytes":2483},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T19:30:55.676714+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:4acbdb99-1bf3-4238-a497-e0717c192478:repository-mutation-intent:94b9ce897c66ca614af88c4f645337bf9105d04302b41a71e36213bf7e0e3cb3:0","mission_step_id":"40421fd7-98eb-4239-a9fc-7aa8b035cc59","command_center_event_id":"4acbdb99-1bf3-4238-a497-e0717c192478"},{"id":"bda11963-57a4-47f1-85e4-d2857c2439dc","source":"cc-execution","status":"repair_prepared","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/redesign-route-service-runner","reason":null,"status":"repair_prepared","metrics":{"receiptBytes":3028,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":4051,"terminal":false,"missionId":"b5dfea3c-bbba-4f1c-aa43-2b5780e34e1d","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":null,"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"b5dfea3c-bbba-4f1c-aa43-2b5780e34e1d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1173,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-05T13:27:51.375855+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"4051","receipt_type":"execute_mission","idempotency_key":"mission:b5dfea3c-bbba-4f1c-aa43-2b5780e34e1d:execute_mission:repair_mission_prepared","mission_step_id":"f2a125a3-ee04-44e7-9b7a-20c6cef99d38","command_center_event_id":"b5dfea3c-bbba-4f1c-aa43-2b5780e34e1d"},{"id":"bda162d1-f335-4a32-818b-7198ee562753","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/big-papis-mail-premium-rebuild-20260819","reason":"Cannot read properties of null (reading 'id')","status":"blocked","metrics":{"receiptBytes":9363,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":439,"terminal":false,"missionId":"775b10da-a6dc-45aa-9fba-5e60f6d2114f","operation":"automatic_mission_resume","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"775b10da-a6dc-45aa-9fba-5e60f6d2114f"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":324,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T18:56:20.392872+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"439","receipt_type":"automatic_mission_resume","idempotency_key":"mission:775b10da-a6dc-45aa-9fba-5e60f6d2114f:automatic-mission-resume:439:canonical_release_blocked","mission_step_id":"f23f7334-f94d-4018-a92c-4540b51abb99","command_center_event_id":"775b10da-a6dc-45aa-9fba-5e60f6d2114f"},{"id":"bda17d5e-f9bb-4bd9-bdd2-9a06e435be1c","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"bc9b501516c16ea041c15ec19587a714a3d4f316","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"PAUL Hybrid bootstrap passes the Cloudflare temporary-token stage and continues through its existing fail-closed activation proof.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"least-privilege","satisfied":true,"statement":"Do not broaden Cloudflare permissions; preserve the existing Tunnel Write plus DNS/Zone Read policy only.","proofConditionIds":["proof-production"]},{"id":"temporary-token-delete","satisfied":true,"statement":"The temporary Cloudflare token must still be deleted in the existing finally block after tunnel/DNS setup.","proofConditionIds":["proof-production"]},{"id":"failure-isolation","satisfied":true,"statement":"Any subsequent PAUL bootstrap failure must leave the existing Render plus Cloudflare Visual Witness pair healthy and PAUL unregistered unless its external authority proof passes.","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":"3d3752a7d93e73dae860df0de952fa50b99cf6dd80d75e82a364921bc568ddfc","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{},"unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"3d3752a7d93e73dae860df0de952fa50b99cf6dd80d75e82a364921bc568ddfc"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T13:05:09.787429+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"bc9b501516c16ea041c15ec19587a714a3d4f316","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:9e36c5ac-dd31-48b1-ad36-da022371ac48:request-contract:3d3752a7d93e73dae860df0de952fa50b99cf6dd80d75e82a364921bc568ddfc:bc9b501516c16ea041c15ec19587a714a3d4f316:verified:","mission_step_id":"93460207-0fa2-45cc-b259-97c4f9f92dee","command_center_event_id":"9e36c5ac-dd31-48b1-ad36-da022371ac48"},{"id":"bda3d586-0738-49cd-a46f-8b466c0e6d71","source":"github-status","status":"pending","payload":{"failed":[],"states":{"cc-execution/runtime-proof":"pending","canonical-production-release/verified":"pending"},"missing":[],"pending":["canonical-production-release/verified","cc-execution/runtime-proof"],"required":["canonical-production-release/verified","cc-execution/runtime-proof"],"sourceSha":"8639f42e5325c82594d27cd7ad0e8ab2bfe7db4c","releaseState":"pending","exactConductorRun":{"id":31313310312,"status":"in_progress","headSha":"8639f42e5325c82594d27cd7ad0e8ab2bfe7db4c","conclusion":null,"compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":{"buildId":"31312948001-1","liveSha":"f0388bab485ffb3d059368813addd5f49a5fb149","deploymentId":"ai-pr-4445-f0388bab485f-cc-execution","compareStatus":"behind","identitySource":"worker_env_git_sha","runtimeVersion":null,"containsSourceSha":false}},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T12:27:37.179217+00:00","proof_gate":"canonical_release_pending","source_sha":"8639f42e5325c82594d27cd7ad0e8ab2bfe7db4c","external_id":"canonical-release-8639f42e5325","receipt_type":"canonical_release_status","idempotency_key":"mission:44f7b8de-676e-43ad-8c8a-47d25f41588e:release-status:8639f42e5325c82594d27cd7ad0e8ab2bfe7db4c:31313310312:pending:canonical-production-release/verified=pending|cc-execution/runtime-proof=pending","mission_step_id":"c7b81f15-63e1-4677-bb2c-d52d5eb1f62a","command_center_event_id":"44f7b8de-676e-43ad-8c8a-47d25f41588e"},{"id":"bda83243-51f5-4787-871d-d44adbdf72ff","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"a91a4902-9e21-4a51-8434-e1a7b6e3c7dc"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T02:25:51.638506+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:a91a4902-9e21-4a51-8434-e1a7b6e3c7dc:mission-cancel:a91a4902-9e21-4a51-8434-e1a7b6e3c7dc","mission_step_id":"6fab4f45-c138-4b66-95b7-9df5ffe674a3","command_center_event_id":"a91a4902-9e21-4a51-8434-e1a7b6e3c7dc"},{"id":"bda91b86-f62e-4f6c-9dcb-d5fd1b183842","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"207653e58e8a531b0525755adc312e524f7d1def","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"207653e58e8a531b0525755adc312e524f7d1def","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"e84b0939e62844bbded771f8b3fd3db88d4d675137fa760352e5cc5b3943236e","forgejoWorkflowProof":{"runId":13360,"source":"exact_live_cc_execution_runtime_identity","status":"running","liveSha":"207653e58e8a531b0525755adc312e524f7d1def","results":{},"proofGate":"cc_execution_exact_live_runtime_substitutes_transient_workflow_receipt","sourceSha":"207653e58e8a531b0525755adc312e524f7d1def","conclusion":"running","deploymentId":"forgejo-main-207653e58e8a531b0525755adc312e524f7d1def","targetStates":{"ccExecution":"pending"},"runtimeVersion":"1.64.13-paul-source-roots","targetJobCount":6,"observedTargetStates":{"ccExecution":"pending"},"workflowReceiptSubstituted":true},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"207653e58e8a531b0525755adc312e524f7d1def","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-207653e58e8a531b0525755adc312e524f7d1def","compareStatus":"identical","workflowRunId":13360,"identitySource":"local_build_metadata","runtimeVersion":"1.64.13-paul-source-roots","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T13:19:26.881513+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"207653e58e8a531b0525755adc312e524f7d1def","external_id":"forgejo-main-207653e58e8a","receipt_type":"canonical_release_status","idempotency_key":"mission:c6909141-b0ae-43cc-ba94-078175c6e938:forgejo-release-status:207653e58e8a531b0525755adc312e524f7d1def:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"f0cb6c0a-788b-467a-be1f-e7a2f044e2d7","command_center_event_id":"c6909141-b0ae-43cc-ba94-078175c6e938"},{"id":"bda91ded-cf04-4253-88e6-8ac8801c6b0c","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/paul-connection-research.js","workers/cc-execution/src/version.js","workers/cc-execution/test/mcp.test.js","workers/cc-execution/test/paul-connection-research.test.js"],"reason":"Owner explicitly requested the deterministic PAUL connection-research capability be set up and shipped; authorize only this mission's exact mutation paths while preserving newer main changes.","baseSha":"8c50c954aece4ba01541e3ddda4806b528b72fc4","issuedAt":1790900932642,"expiresAt":1790901112642,"missionId":"4adeff75-f590-4e0b-8da0-1b5cdd2e1d17","authorizationId":"c81cb44e-1cee-4929-9bbf-b97dc15f5f5a","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:28:52.956122+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"8c50c954aece4ba01541e3ddda4806b528b72fc4","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c81cb44e-1cee-4929-9bbf-b97dc15f5f5a","mission_step_id":"8328eafb-178f-4abb-8850-79207c8fd570","command_center_event_id":"4adeff75-f590-4e0b-8da0-1b5cdd2e1d17"},{"id":"bdaa61fc-ca62-4bb2-8440-e3658eed1503","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"ac5ec0dc210d3ea1c93ce6acc1c2d438a8439853","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"ac5ec0dc210d3ea1c93ce6acc1c2d438a8439853","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":"93c8734b0e7d7e5ae6a53c2693bc53e4bdf1d149593057922317e7427035974c","forgejoWorkflowProof":{"runId":10502,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"62614039a5d172eca523ef4972f7ec53b15d784e","deploymentId":"forgejo-main-62614039a5d172eca523ef4972f7ec53b15d784e","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.203-reliability-canary","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T12:29:12.203015+00:00","proof_gate":"canonical_release_pending","source_sha":"ac5ec0dc210d3ea1c93ce6acc1c2d438a8439853","external_id":"forgejo-main-ac5ec0dc210d","receipt_type":"canonical_release_status","idempotency_key":"mission:91ff498b-e241-4a2c-bef0-dee8e9d6aa5f:forgejo-release-status:ac5ec0dc210d3ea1c93ce6acc1c2d438a8439853:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"0bf9c26f-4cdd-4bfb-9e77-51874e1229e6","command_center_event_id":"91ff498b-e241-4a2c-bef0-dee8e9d6aa5f"},{"id":"bdad4f94-b60f-4e92-b558-e06320e512b5","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/optimize-supabase-rls-realtime-v2","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":1881,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.11-schema-authority","prNumber":null,"terminal":false,"missionId":"293d332d-521e-4e38-854a-2113726196ca","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"293d332d-521e-4e38-854a-2113726196ca"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5101,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T22:21:15.356201+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:293d332d-521e-4e38-854a-2113726196ca:execute_mission:repair_mission_execution_retryable","mission_step_id":"dea0fd2e-7ddd-4459-8588-ffb654a264f2","command_center_event_id":"293d332d-521e-4e38-854a-2113726196ca"},{"id":"bdae0350-8814-4599-995a-b9cc0813e0a6","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same completed merge/release mission for PR #2059. Source is squash merged to protected main at 3ebb8f8025678ca61bf77355b86df621e592676f and frontend-only Cloudflare release has been dispatched. Do not mutate source. Reconcile the release to terminal deployed proof, then perform the required desktop/mobile visual acceptance on /demo?mode=applications&app=roof-estimator.","wordingChanged":false,"canonicalIntent":"Continue the same completed merge/release mission for PR #2059. Source is squash merged to protected main at 3ebb8f8025678ca61bf77355b86df621e592676f and frontend-only Cloudflare release has been dispatched. Do not mutate source. Reconcile the release to terminal deployed proof, then perform the required desktop/mobile visual acceptance on /demo?mode=applications&app=roof-estimator.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-video","statement":"The Demo Studio primary background video shows its full composition within the viewport on the live route without aggressive cropping.","proofConditionIds":["proof-live-route"]},{"id":"outcome-logo","statement":"The Demo Studio start screen shows a large centered KNOCKLAUNCH logo with premium animated aura/orbit/sweep/float/3D motion.","proofConditionIds":["proof-live-route"]},{"id":"outcome-release","statement":"PR #2059 is squash merged and the affected frontend release is live.","proofConditionIds":["proof-merge","proof-release"]}],"objective":"Continue the same completed merge/release mission for PR #2059. Source is squash merged to protected main at 3ebb8f8025678ca61bf77355b86df621e592676f and frontend-only Cloudflare release has been dispatched. Do not mutate source. Reconcile the release to terminal deployed proof, then perform the required desktop/mobile visual acceptance on /demo?mode=applications&app=roof-estimator.","constraints":[{"id":"constraint-1","statement":"Do not rebuild or replace the existing dark green lightning video asset.","proofConditionIds":["proof-merge","proof-release"]},{"id":"constraint-2","statement":"Do not change backend, database, auth, or demo behavior.","proofConditionIds":["proof-merge","proof-release"]},{"id":"constraint-3","statement":"Do not create replacement branch or PR.","proofConditionIds":["proof-merge","proof-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-merge","kind":"repository","claim":"PR #2059 is squash merged to protected main from its refreshed green head.","route":"/demo?mode=applications&app=roof-estimator","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-release","kind":"runtime","claim":"The affected frontend release for the merge is deployed through Cloudflare Workers Builds.","route":"/demo?mode=applications&app=roof-estimator","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"proof-live-route","kind":"visual","claim":"On /demo?mode=applications&app=roof-estimator, the full video composition is visible and the large centered logo uses premium motion/effects.","route":"/demo?mode=applications&app=roof-estimator","roleRef":null,"userRef":null,"required":true,"expectedText":"Show us your business.","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"5a652587101298f941d3ef8d2e91b46487eb236e9fde77dc536ce9c26f218a8a","requestContractRevision":7,"previousRequestContractHash":"0363aa59519e3391f93cb1dd480527c3cf998679b3af5d43cb3912d19b2a0dd0"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T13:06:52.147221+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:fbcf6e36-2854-4b29-a04f-1ffa70fe241e:request-contract:5a652587101298f941d3ef8d2e91b46487eb236e9fde77dc536ce9c26f218a8a","mission_step_id":"d86e6d16-050e-46e4-8c64-695a5e507ede","command_center_event_id":"fbcf6e36-2854-4b29-a04f-1ffa70fe241e"},{"id":"bdae736d-0e04-4bc6-a658-6895434d7a3f","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/lib/tenants/clientCommissioning.ts","content":"import { isRoleValidForTenantType } from '@/lib/roles';\n\nexport const CLIENT_COMMISSIONING_CONTRACT = 'CLIENT_COMMISSIONING_V1' as const;\nexport const CLIENT_COMMISSIONING_STAGES = [\n  'Business',\n  'People',\n  'Roles',\n  'Mail',\n  'Calendar',\n  'Contacts',\n  'CRM',\n  'Files',\n  'Phone',\n  'Bookings',\n  'Payments',\n  'Data Import',\n  'Test Everything',\n  'Go Live',\n] as const;\n\nexport type ClientCommissioningMigrationState =\n  | 'discover'\n  | 'connect_legacy'\n  | 'inventory'\n  | 'shadow_read'\n  | 'reconcile'\n  | 'assign_destination'\n  | 'cutover'\n  | 'verify'\n  | 'retire_legacy';\n\nexport type CommissioningMembership = {\n  user_id: string;\n  tenant_id?: string | null;\n  effective_role?: string | null;\n  membership_status?: string | null;\n};\n\nexport type CommissioningInvitation = {\n  id: string;\n  tenant_id?: string | null;\n  email?: string | null;\n  role?: string | null;\n  status?: string | null;\n  expires_at?: string | null;\n  metadata?: Record<string, unknown> | null;\n};\n\nexport type CommissioningProviderCredential = {\n  provider: string;\n  credential_status?: string | null;\n};\n\nexport type CommissioningGoogleAccount = {\n  id: string;\n  role?: string | null;\n  is_primary?: boolean;\n  status?: string | null;\n  services?: { mail?: boolean; drive?: boolean; calendar?: boolean };\n};\n\nexport type ClientCommissioningInput = {\n  tenantId: string;\n  tenantType?: string | null;\n  peopleLoaded: boolean;\n  memberships?: CommissioningMembership[];\n  invitationsLoaded?: boolean;\n  invitations?: CommissioningInvitation[];\n  providersLoaded: boolean;\n  providerCredentials?: CommissioningProviderCredential[];\n  googleAccounts?: CommissioningGoogleAccount[];\n  providerCatalog?: string[];\n  requiredProviders?: string[];\n  migration?: {\n    required?: boolean;\n    state?: ClientCommissioningMigrationState;\n    reconciled?: boolean;\n    verified?: boolean;\n  } | null;\n  observedAt?: string;\n};\n\nexport type ClientCommissioningReceipt = {\n  contract: typeof CLIENT_COMMISSIONING_CONTRACT;\n  version: 1;\n  tenantId: string;\n  manifestFingerprint: string;\n  observedAt: string;\n  stages: readonly string[];\n  people: {\n    state: 'not_loaded' | 'resolved';\n    activeCount: number;\n    invitationCount: number;\n  };\n  roles: {\n    state: 'not_loaded' | 'resolved' | 'blocked';\n    authority: 'tenant_role_contract';\n    unknownRolePolicy: 'fail_closed';\n    invalid: Array<{ subject: string; role: string }>;\n  };\n  providerInstances: Array<{\n    id: string;\n    provider: string;\n    purpose: 'primary' | 'secondary' | 'legacy';\n    status: string;\n    services?: { mail: boolean; drive: boolean; calendar: boolean };\n  }>;\n  serviceDefaults: {\n    googlePrimaryConnectionId: string | null;\n  };\n  providerResearch: {\n    command: 'paul_connection_research';\n    researchBeforeActivation: true;\n    researchIsCredentialFree: true;\n    activationRequiresExactTenantProviderInstance: true;\n    unknownWriteCapabilityPolicy: 'block';\n  };\n  sourceProvenance: {\n    preserveSource: true;\n    writeBack: 'explicit_target_only';\n  };\n  migration: {\n    required: boolean;\n    state: ClientCommissioningMigrationState;\n    reconciled: boolean;\n    verified: boolean;\n    retirementPolicy: 'reconcile_and_verify_before_retire';\n  };\n  tenantIsolation: {\n    crossTenantCredentialFallback: false;\n  };\n  readiness: {\n    ready: boolean;\n    blockers: string[];\n  };\n};\n\nconst clean = (value: unknown) => String(value ?? '').trim();\nconst normalizedProvider = (value: unknown) => clean(value).toLowerCase();\n\nfunction uniqueSorted(values: string[]) {\n  return [...new Set(values.filter(Boolean))].sort((a, b) => a.localeCompare(b));\n}\n\nfunction stableJson(value: unknown): string {\n  if (Array.isArray(value)) return '[' + value.map(stableJson).join(',') + ']';\n  if (value && typeof value === 'object') {\n    const entries = Object.entries(value as Record<string, unknown>)\n      .sort(([a], [b]) => a.localeCompare(b))\n      .map(([key, item]) => JSON.stringify(key) + ':' + stableJson(item));\n    return '{' + entries.join(',') + '}';\n  }\n  return JSON.stringify(value);\n}\n\nfunction fnv1a(value: string) {\n  let hash = 0x811c9dc5;\n  for (let index = 0; index < value.length; index += 1) {\n    hash ^= value.charCodeAt(index);\n    hash = Math.imul(hash, 0x01000193);\n  }\n  return (hash >>> 0).toString(16).padStart(8, '0');\n}\n\nfunction invitationDeliveryConfirmed(invitation: CommissioningInvitation) {\n  const status = clean(invitation.status).toLowerCase();\n  if (['sent', 'accepted', 'active'].includes(status)) return true;\n  const metadata = invitation.metadata && typeof invitation.metadata === 'object' ? invitation.metadata : {};\n  return Boolean(clean(metadata.sent_at));\n}\n\nexport function requiredProvidersFromTenantSettings(settings: unknown): string[] {\n  const root = settings && typeof settings === 'object' && !Array.isArray(settings)\n    ? settings as Record<string, any>\n    : {};\n  const manifest = root.tenant_manifest && typeof root.tenant_manifest === 'object'\n    ? root.tenant_manifest as Record<string, any>\n    : {};\n  const blueprint = root.business_operating_blueprint && typeof root.business_operating_blueprint === 'object'\n    ? root.business_operating_blueprint as Record<string, any>\n    : manifest.businessOperatingBlueprint && typeof manifest.businessOperatingBlueprint === 'object'\n      ? manifest.businessOperatingBlueprint as Record<string, any>\n      : {};\n  const requirements = blueprint.bootstrapRequirements && typeof blueprint.bootstrapRequirements === 'object'\n    ? blueprint.bootstrapRequirements as Record<string, any>\n    : blueprint.bootstrap_requirements && typeof blueprint.bootstrap_requirements === 'object'\n      ? blueprint.bootstrap_requirements as Record<string, any>\n      : {};\n  const connections = requirements.connections && typeof requirements.connections === 'object'\n    ? requirements.connections as Record<string, any>\n    : {};\n  const raw = Array.isArray(connections.requiredProviders)\n    ? connections.requiredProviders\n    : Array.isArray(connections.required_providers)\n      ? connections.required_providers\n      : [];\n  return uniqueSorted(raw.map(normalizedProvider));\n}\n\nexport function buildClientCommissioningReceipt(input: ClientCommissioningInput): ClientCommissioningReceipt {\n  const tenantId = clean(input.tenantId);\n  const tenantType = clean(input.tenantType);\n  const blockers: string[] = [];\n  if (!tenantId) blockers.push('tenant_identity_required');\n\n  const memberships = (input.memberships || [])\n    .map((row) => ({\n      userId: clean(row.user_id),\n      tenantId: clean(row.tenant_id),\n      role: clean(row.effective_role),\n      status: clean(row.membership_status).toLowerCase(),\n    }))\n    .filter((row) => row.userId)\n    .sort((a, b) => a.userId.localeCompare(b.userId));\n\n  const invitations = (input.invitations || [])\n    .map((row) => ({\n      id: clean(row.id),\n      tenantId: clean(row.tenant_id),\n      email: clean(row.email).toLowerCase(),\n      role: clean(row.role),\n      status: clean(row.status).toLowerCase(),\n      expiresAt: clean(row.expires_at),\n      metadata: row.metadata || null,\n      raw: row,\n    }))\n    .filter((row) => row.id)\n    .sort((a, b) => a.id.localeCompare(b.id));\n\n  if (!input.peopleLoaded) blockers.push('people_mapping_not_loaded');\n  if (input.invitationsLoaded === false) blockers.push('invitation_state_not_loaded');\n\n  const activeMemberships = memberships.filter((row) => row.status === 'active');\n  if (input.peopleLoaded && activeMemberships.length === 0) blockers.push('active_membership_required');\n\n  const invalidRoles: Array<{ subject: string; role: string }> = [];\n  for (const row of activeMemberships) {\n    if (row.tenantId && tenantId && row.tenantId !== tenantId) {\n      blockers.push('cross_tenant_membership_observed:' + row.userId);\n      continue;\n    }\n    if (!row.role || !isRoleValidForTenantType(row.role, tenantType)) {\n      invalidRoles.push({ subject: row.userId, role: row.role || '<missing>' });\n    }\n  }\n  for (const invitation of invitations) {\n    if (invitation.tenantId && tenantId && invitation.tenantId !== tenantId) {\n      blockers.push('cross_tenant_invitation_observed:' + invitation.id);\n      continue;\n    }\n    if (['cancelled', 'canceled', 'revoked'].includes(invitation.status)) continue;\n    if (!invitation.role || !isRoleValidForTenantType(invitation.role, tenantType)) {\n      invalidRoles.push({ subject: invitation.email || invitation.id, role: invitation.role || '<missing>' });\n    }\n    if (['failed', 'error', 'delivery_failed'].includes(invitation.status)) {\n      blockers.push('invitation_delivery_failed:' + invitation.id);\n    } else if (invitation.status === 'pending' && !invitationDeliveryConfirmed(invitation.raw)) {\n      blockers.push('invitation_delivery_unconfirmed:' + invitation.id);\n    }\n  }\n  for (const invalid of invalidRoles) blockers.push('invalid_role:' + invalid.role + ':' + invalid.subject);\n\n  if (!input.providersLoaded) blockers.push('provider_state_not_loaded');\n  const catalog = new Set((input.providerCatalog || []).map(normalizedProvider).filter(Boolean));\n  const credentials = (input.providerCredentials || [])\n    .map((row) => ({ provider: normalizedProvider(row.provider), status: clean(row.credential_status).toLowerCase() || 'missing' }))\n    .filter((row) => row.provider)\n    .sort((a, b) => a.provider.localeCompare(b.provider));\n  for (const credential of credentials) {\n    if (catalog.size > 0 && !catalog.has(credential.provider)) blockers.push('unknown_provider:' + credential.provider);\n    if (['invalid', 'pending'].includes(credential.status)) blockers.push('provider_attention_required:' + credential.provider);\n  }\n\n  const requiredProviders = uniqueSorted((input.requiredProviders || []).map(normalizedProvider));\n  const activeProviders = new Set(credentials.filter((row) => row.status === 'active').map((row) => row.provider));\n  for (const provider of requiredProviders) {\n    if (!activeProviders.has(provider)) blockers.push('required_provider_not_ready:' + provider);\n  }\n\n  const googleAccounts = (input.googleAccounts || [])\n    .map((account) => ({\n      id: clean(account.id),\n      role: clean(account.role).toLowerCase(),\n      isPrimary: account.is_primary === true,\n      status: clean(account.status).toLowerCase() || 'missing',\n      services: {\n        mail: account.services?.mail !== false,\n        drive: account.services?.drive !== false,\n        calendar: account.services?.calendar !== false,\n      },\n    }))\n    .filter((account) => account.id)\n    .sort((a, b) => a.id.localeCompare(b.id));\n  const primaryGoogleAccounts = googleAccounts.filter((account) => account.isPrimary);\n  if (primaryGoogleAccounts.length > 1) blockers.push('multiple_google_primary_accounts');\n  if (activeProviders.has('google_workspace') && googleAccounts.length > 0 && primaryGoogleAccounts.length !== 1) {\n    blockers.push('google_primary_account_required');\n  }\n\n  const providerInstances: ClientCommissioningReceipt['providerInstances'] = [];\n  for (const credential of credentials) {\n    if (credential.provider === 'google_workspace' && googleAccounts.length > 0) continue;\n    providerInstances.push({\n      id: credential.provider,\n      provider: credential.provider,\n      purpose: 'primary',\n      status: credential.status,\n    });\n  }\n  for (const account of googleAccounts) {\n    providerInstances.push({\n      id: account.id,\n      provider: 'google_workspace',\n      purpose: account.isPrimary ? 'primary' : account.role.includes('legacy') ? 'legacy' : 'secondary',\n      status: account.status,\n      services: account.services,\n    });\n  }\n  providerInstances.sort((a, b) => (a.provider + ':' + a.id).localeCompare(b.provider + ':' + b.id));\n\n  const migration = {\n    required: input.migration?.required === true,\n    state: input.migration?.state || 'discover' as ClientCommissioningMigrationState,\n    reconciled: input.migration?.reconciled === true,\n    verified: input.migration?.verified === true,\n    retirementPolicy: 'reconcile_and_verify_before_retire' as const,\n  };\n  if (migration.required && !migration.verified) blockers.push('migration_not_verified:' + migration.state);\n  if (migration.state === 'retire_legacy' && (!migration.reconciled || !migration.verified)) {\n    blockers.push('legacy_retirement_requires_reconcile_and_verify');\n  }\n\n  const normalizedInvalidRoles = invalidRoles\n    .sort((a, b) => (a.subject + ':' + a.role).localeCompare(b.subject + ':' + b.role));\n  const normalizedBlockers = uniqueSorted(blockers);\n\n  const fingerprintSource = {\n    contract: CLIENT_COMMISSIONING_CONTRACT,\n    tenantId,\n    tenantType,\n    memberships: activeMemberships,\n    invitations: invitations.map(({ raw: _raw, ...row }) => row),\n    providerInstances,\n    requiredProviders,\n    migration,\n    invalidRoles: normalizedInvalidRoles,\n    blockers: normalizedBlockers,\n    isolation: { crossTenantCredentialFallback: false },\n    provenance: { preserveSource: true, writeBack: 'explicit_target_only' },\n  };\n\n  return {\n    contract: CLIENT_COMMISSIONING_CONTRACT,\n    version: 1,\n    tenantId,\n    manifestFingerprint: 'klcm-' + fnv1a(stableJson(fingerprintSource)),\n    observedAt: input.observedAt || new Date().toISOString(),\n    stages: CLIENT_COMMISSIONING_STAGES,\n    people: {\n      state: input.peopleLoaded ? 'resolved' : 'not_loaded',\n      activeCount: activeMemberships.length,\n      invitationCount: invitations.length,\n    },\n    roles: {\n      state: !input.peopleLoaded ? 'not_loaded' : normalizedInvalidRoles.length ? 'blocked' : 'resolved',\n      authority: 'tenant_role_contract',\n      unknownRolePolicy: 'fail_closed',\n      invalid: normalizedInvalidRoles,\n    },\n    providerInstances,\n    serviceDefaults: {\n      googlePrimaryConnectionId: primaryGoogleAccounts[0]?.id || null,\n    },\n    providerResearch: {\n      command: 'paul_connection_research',\n      researchBeforeActivation: true,\n      researchIsCredentialFree: true,\n      activationRequiresExactTenantProviderInstance: true,\n      unknownWriteCapabilityPolicy: 'block',\n    },\n    sourceProvenance: {\n      preserveSource: true,\n      writeBack: 'explicit_target_only',\n    },\n    migration,\n    tenantIsolation: {\n      crossTenantCredentialFallback: false,\n    },\n    readiness: {\n      ready: normalizedBlockers.length === 0,\n      blockers: normalizedBlockers,\n    },\n  };\n}\n"},{"path":"src/__tests__/contracts/client-commissioning.contract.test.ts","content":"import { describe, expect, it } from 'vitest';\nimport { buildClientCommissioningReceipt, requiredProvidersFromTenantSettings } from '@/lib/tenants/clientCommissioning';\n\nconst base = {\n  tenantId: 'tenant-a',\n  tenantType: 'TAX_SERVICES',\n  peopleLoaded: true,\n  invitationsLoaded: true,\n  providersLoaded: true,\n  memberships: [{ user_id: 'owner-1', tenant_id: 'tenant-a', effective_role: 'Tenant Owner', membership_status: 'active' }],\n  invitations: [],\n  providerCredentials: [],\n  googleAccounts: [],\n  providerCatalog: ['google_workspace', 'hubspot', 'irslogiqs'],\n  requiredProviders: [],\n  observedAt: '2026-10-02T00:00:00.000Z',\n} as const;\n\ndescribe('client commissioning deterministic contract', () => {\n  it('is stable for the same observed state', () => {\n    const first = buildClientCommissioningReceipt(base);\n    const second = buildClientCommissioningReceipt(base);\n    expect(first).toEqual(second);\n    expect(first.manifestFingerprint).toMatch(/^klcm-[0-9a-f]{8}$/);\n    expect(first.readiness.ready).toBe(true);\n  });\n\n  it('fails closed on a role that does not belong to the tenant type', () => {\n    const receipt = buildClientCommissioningReceipt({\n      ...base,\n      memberships: [{ user_id: 'alfred', tenant_id: 'tenant-a', effective_role: 'Rep', membership_status: 'active' }],\n    });\n    expect(receipt.roles.state).toBe('blocked');\n    expect(receipt.readiness.ready).toBe(false);\n    expect(receipt.readiness.blockers).toContain('invalid_role:Rep:alfred');\n  });\n\n  it('accepts tax-service assistant without rewriting it to Rep', () => {\n    const receipt = buildClientCommissioningReceipt({\n      ...base,\n      memberships: [{ user_id: 'alfred', tenant_id: 'tenant-a', effective_role: 'Assistant', membership_status: 'active' }],\n    });\n    expect(receipt.roles.state).toBe('resolved');\n    expect(receipt.roles.invalid).toEqual([]);\n    expect(receipt.readiness.blockers.some((value) => value.includes('Rep'))).toBe(false);\n  });\n\n  it('blocks unconfirmed invitation delivery and cross-tenant observations', () => {\n    const receipt = buildClientCommissioningReceipt({\n      ...base,\n      memberships: [{ user_id: 'owner-1', tenant_id: 'tenant-b', effective_role: 'Tenant Owner', membership_status: 'active' }],\n      invitations: [{ id: 'invite-1', tenant_id: 'tenant-a', email: 'a@example.com', role: 'Assistant', status: 'pending', metadata: null }],\n    });\n    expect(receipt.readiness.blockers).toContain('cross_tenant_membership_observed:owner-1');\n    expect(receipt.readiness.blockers).toContain('invitation_delivery_unconfirmed:invite-1');\n  });\n\n  it('requires one explicit primary for multi-account Google Workspace', () => {\n    const receipt = buildClientCommissioningReceipt({\n      ...base,\n      providerCredentials: [{ provider: 'google_workspace', credential_status: 'active' }],\n      googleAccounts: [\n        { id: 'g1', is_primary: true, status: 'active', services: { mail: true, drive: true, calendar: true } },\n        { id: 'g2', is_primary: true, status: 'active', services: { mail: true, drive: true, calendar: true } },\n      ],\n    });\n    expect(receipt.readiness.blockers).toContain('multiple_google_primary_accounts');\n    expect(receipt.tenantIsolation.crossTenantCredentialFallback).toBe(false);\n  });\n\n  it('does not permit legacy retirement before reconciliation and verification', () => {\n    const receipt = buildClientCommissioningReceipt({\n      ...base,\n      migration: { required: true, state: 'retire_legacy', reconciled: false, verified: false },\n    });\n    expect(receipt.readiness.blockers).toContain('legacy_retirement_requires_reconcile_and_verify');\n    expect(receipt.migration.retirementPolicy).toBe('reconcile_and_verify_before_retire');\n  });\n\n  it('extracts required providers from the existing tenant blueprint manifest', () => {\n    expect(requiredProvidersFromTenantSettings({\n      tenant_manifest: {\n        businessOperatingBlueprint: {\n          bootstrapRequirements: {\n            connections: { requiredProviders: ['HubSpot', 'google_workspace', 'HubSpot'] },\n          },\n        },\n      },\n    })).toEqual(['google_workspace', 'hubspot']);\n  });\n\n  it('declares PAUL research as credential-free and separate from activation', () => {\n    const receipt = buildClientCommissioningReceipt(base);\n    expect(receipt.providerResearch.command).toBe('paul_connection_research');\n    expect(receipt.providerResearch.researchIsCredentialFree).toBe(true);\n    expect(receipt.providerResearch.activationRequiresExactTenantProviderInstance).toBe(true);\n    expect(receipt.providerResearch.unknownWriteCapabilityPolicy).toBe('block');\n  });\n});\n"},{"path":"config/capabilities/client-commissioning-v1.json","content":"{\n  \"schemaVersion\": 1,\n  \"id\": \"client-commissioning-v1\",\n  \"owner\": \"KNOCKLAUNCH Platform\",\n  \"status\": \"enforced\",\n  \"surfaces\": [\n    \"src/lib/tenants/clientCommissioning.ts\",\n    \"src/pages/connections/TenantConnections.tsx\",\n    \"src/pages/applications/TeamApplicationRoute.tsx\",\n    \"src/pages/settings/TenantSettingsPage.tsx\"\n  ],\n  \"dependencies\": {\n    \"backendRuntime\": [\n      \"tenant-provider-connections\",\n      \"user_tenant_access\",\n      \"user_invitations\",\n      \"user-roles-manage\",\n      \"tenant-media-library\",\n      \"PAUL paul_connection_research\"\n    ],\n    \"dataStorage\": [\n      \"tenant manifest\",\n      \"tenant provider credentials\",\n      \"tenant-scoped membership and invitation state\"\n    ],\n    \"authPermissions\": [\n      \"active tenant membership\",\n      \"tenant-scoped role authority\"\n    ],\n    \"providers\": []\n  },\n  \"contract\": {\n    \"id\": \"CLIENT_COMMISSIONING_V1\",\n    \"stages\": [\n      \"Business\",\n      \"People\",\n      \"Roles\",\n      \"Mail\",\n      \"Calendar\",\n      \"Contacts\",\n      \"CRM\",\n      \"Files\",\n      \"Phone\",\n      \"Bookings\",\n      \"Payments\",\n      \"Data Import\",\n      \"Test Everything\",\n      \"Go Live\"\n    ],\n    \"invariants\": [\n      \"person identity and provider identities remain separately attributable\",\n      \"unknown or tenant-invalid roles fail closed and never silently become Rep\",\n      \"provider instances are tenant-scoped with explicit primary/secondary/legacy purpose\",\n      \"source provenance is preserved and write-back requires an explicit target\",\n      \"legacy migration cannot retire before reconcile and verify\",\n      \"cross-tenant credential fallback is forbidden\",\n      \"PAUL researches provider documentation without credentials before activation\",\n      \"unknown provider write capability blocks write activation\"\n    ]\n  },\n  \"lifecycle\": {\n    \"states\": [\n      \"prepare\",\n      \"map\",\n      \"research\",\n      \"verify\",\n      \"commission\",\n      \"activate\"\n    ],\n    \"compatibilityWindow\": [\n      \"N\",\n      \"N-1\"\n    ],\n    \"driftPolicy\": \"Any people, role, provider-instance, source-provenance, migration, tenant-isolation, or activation mismatch returns the commissioning receipt to blocked until observed state matches the manifest.\",\n    \"quarantinePolicy\": \"Fail closed only the affected commissioning domain; preserve unrelated tenant capability.\"\n  },\n  \"release\": {\n    \"order\": [\n      \"frontend\"\n    ],\n    \"runtimeFirst\": true\n  },\n  \"canary\": {\n    \"required\": true,\n    \"claims\": [\n      \"TAX_SERVICES Assistant remains Assistant and Rep is rejected as tenant-invalid commissioning state\",\n      \"multi-account Google requires exactly one primary when connected\",\n      \"cross-tenant membership observations block commissioning\",\n      \"unconfirmed invitations remain visible as blockers\",\n      \"provider research remains separate from activation\"\n    ]\n  },\n  \"proofLedger\": {\n    \"authority\": \"command_center_mission_ledger\",\n    \"bind\": [\n      \"request_contract_hash\",\n      \"source_sha\",\n      \"release_receipt\",\n      \"runtime_identity\",\n      \"canary\",\n      \"activation_state\",\n      \"drift_state\",\n      \"quarantine_state\"\n    ]\n  }\n}\n"}],"branch":"ai/objective-first-repair-19457138be04","writes":[],"patches":[],"version":1,"approved":true,"missionId":"19457138-be04-49c0-b203-386c285a1cab","objective":"Ship the first deterministic KNOCKLAUNCH Client Commissioning foundation by replacing the UI-local placeholder manifest with a reusable CLIENT_COMMISSIONING_V1 evaluator wired to real tenant memberships, invitations, provider instances, required-provider state, migration safeguards, source provenance, tenant isolation, and PAUL connection-research policy. Make Client setup discoverable from Connections. Read-only commissioning only: do not mutate tenant data, roles, credentials, or provider state.","sourceSha":"4674784332e9bc4635742d897a13f4adac2cdbe4","repository":"noel/KnockLaunchOS","anchoredEdits":[{"path":"src/pages/connections/TenantConnections.tsx","edits":[{"new_content":"import { toast } from '@/lib/notify';\nimport { buildClientCommissioningReceipt, requiredProvidersFromTenantSettings, type ClientCommissioningReceipt } from '@/lib/tenants/clientCommissioning';","old_content":"import { toast } from '@/lib/notify';"},{"new_content":"type CommissioningTeamRow={user_id:string;tenant_id:string;effective_role:string|null;membership_status:string|null};\ntype CommissioningInviteRow={id:string;tenant_id:string;email:string|null;role:string|null;status:string|null;expires_at:string|null;metadata:Record<string,unknown>|null};","old_content":"type ClientCommissioningManifest={version:1;tenantId:string;stages:readonly string[];people:{state:'not_loaded'|'resolved'};roles:{state:'not_loaded'|'resolved';unknownRolePolicy:'fail_closed'};providerInstances:Array<{provider:string;purpose:'primary'|'secondary'|'legacy';status:string}>;serviceDefaults:{googlePrimaryConnectionId:string|null};sourceProvenance:{preserveSource:true;writeBack:'explicit_target_only'};migration:{state:'discover'|'connect_legacy'|'inventory'|'shadow_read'|'reconcile'|'assign_destination'|'cutover'|'verify'|'retire_legacy'};tenantIsolation:{crossTenantCredentialFallback:false};readiness:{ready:boolean;blockers:string[]}};\nconst COMMISSIONING_STAGES=['Business','People','Roles','Mail','Calendar','Contacts','CRM','Files','Phone','Bookings','Payments','Data Import','Test Everything','Go Live'] as const;"},{"new_content":"const[googleAccounts,setGoogleAccounts]=useState<GoogleWorkspaceAccount[]>([]);const[teamRows,setTeamRows]=useState<CommissioningTeamRow[]>([]);const[inviteRows,setInviteRows]=useState<CommissioningInviteRow[]>([]);const[peopleLoaded,setPeopleLoaded]=useState(false);const[loading,setLoading]=useState(true);","old_content":"const[googleAccounts,setGoogleAccounts]=useState<GoogleWorkspaceAccount[]>([]);const[loading,setLoading]=useState(true);"},{"new_content":"try{const[c,catalog,team,invites]=await Promise.all([supabase.from('tenant_provider_credentials' as any).select('provider,credential_status,last_verified_at,verification_notes,phone_number,sending_domain,metadata').eq('tenant_id',tenantId).order('provider'),supabase.functions.invoke('tenant-provider-connections',{body:{action:'catalog',tenant_id:tenantId}}),(supabase as any).from('user_tenant_access').select('user_id,tenant_id,effective_role,membership_status').eq('tenant_id',tenantId),(supabase as any).from('user_invitations').select('id,tenant_id,email,role,status,expires_at,metadata').eq('tenant_id',tenantId)]);if(c.error)throw c.error;if(team.error)throw team.error;if(invites.error)throw invites.error;setRows((c.data||[]) as unknown as ConnectionRow[]);setTeamRows((team.data||[]) as CommissioningTeamRow[]);setInviteRows((invites.data||[]) as CommissioningInviteRow[]);setPeopleLoaded(true);","old_content":"try{const[c,catalog]=await Promise.all([supabase.from('tenant_provider_credentials' as any).select('provider,credential_status,last_verified_at,verification_notes,phone_number,sending_domain,metadata').eq('tenant_id',tenantId).order('provider'),supabase.functions.invoke('tenant-provider-connections',{body:{action:'catalog',tenant_id:tenantId}})]);if(c.error)throw c.error;setRows((c.data||[]) as unknown as ConnectionRow[]);"},{"new_content":"}catch(e:any){setPeopleLoaded(false);toast.error(e?.message||'Could not load connections')}finally{setLoading(false)}}","old_content":"}catch(e:any){toast.error(e?.message||'Could not load connections')}finally{setLoading(false)}}"},{"new_content":"const showCommissioning=searchParams.get('commissioning')==='1';const commissioningSettings=((activeTenant as any)?.settings||{}) as Record<string,any>;const requiredCommissioningProviders=useMemo(()=>requiredProvidersFromTenantSettings(commissioningSettings),[commissioningSettings]);const persistedMigration=(commissioningSettings.client_commissioning?.migration||null) as any;const commissioningManifest=useMemo<ClientCommissioningReceipt>(()=>buildClientCommissioningReceipt({tenantId,tenantType:activeTenant?.tenant_type,peopleLoaded,invitationsLoaded:peopleLoaded,memberships:teamRows,invitations:inviteRows,providersLoaded:!loading,providerCredentials:rows,googleAccounts,providerCatalog:PROVIDERS.map(provider=>provider.key),requiredProviders:requiredCommissioningProviders,migration:persistedMigration}),[activeTenant?.tenant_type,googleAccounts,inviteRows,loading,peopleLoaded,persistedMigration,requiredCommissioningProviders,rows,teamRows,tenantId]);","old_content":"const showCommissioning=searchParams.get('commissioning')==='1';const commissioningManifest=useMemo<ClientCommissioningManifest>(()=>{const blockers:string[]=[];if(!tenantId)blockers.push('tenant_identity_required');if(rows.some(row=>row.credential_status==='invalid'||row.credential_status==='pending'))blockers.push('provider_attention_required');blockers.push('people_mapping_not_loaded','role_capability_mapping_not_loaded');const primaryGoogle=googleAccounts.find(account=>account.is_primary)?.id||null;return{version:1,tenantId,stages:COMMISSIONING_STAGES,people:{state:'not_loaded'},roles:{state:'not_loaded',unknownRolePolicy:'fail_closed'},providerInstances:rows.map(row=>({provider:row.provider,purpose:row.provider==='google_workspace'&&primaryGoogle?'primary':'secondary',status:row.credential_status||'missing'})),serviceDefaults:{googlePrimaryConnectionId:primaryGoogle},sourceProvenance:{preserveSource:true,writeBack:'explicit_target_only'},migration:{state:'discover'},tenantIsolation:{crossTenantCredentialFallback:false},readiness:{ready:blockers.length===0,blockers}}},[googleAccounts,rows,tenantId]);"},{"new_content":"<div className=\"flex shrink-0 flex-wrap items-center gap-2\"><Button size=\"sm\" variant={showCommissioning?'default':'outline'} onClick={()=>{const next=new URLSearchParams(searchParams);if(showCommissioning)next.delete('commissioning');else next.set('commissioning','1');setSearchParams(next,{replace:true})}} data-client-setup-toggle=\"true\">{showCommissioning?'Hide client setup':'Client setup'}</Button><Badge variant=\"outline\" className=\"w-fit border-primary/20 bg-primary/5 px-3 py-1.5 text-xs font-semibold\">Owner controls</Badge></div>","old_content":"<Badge variant=\"outline\" className=\"w-fit border-primary/20 bg-primary/5 px-3 py-1.5 text-xs font-semibold\">Owner controls</Badge>"},{"new_content":"<div className=\"grid gap-2 sm:grid-cols-3\"><div className=\"rounded-xl border p-3\"><p className=\"text-xs text-muted-foreground\">People</p><p className=\"mt-1 text-sm font-semibold\">{commissioningManifest.people.state==='resolved'?`${commissioningManifest.people.activeCount} active · ${commissioningManifest.people.invitationCount} invites`:'Not loaded'}</p></div><div className=\"rounded-xl border p-3\"><p className=\"text-xs text-muted-foreground\">Role contract</p><p className=\"mt-1 text-sm font-semibold\">{commissioningManifest.roles.state==='resolved'?'Resolved':commissioningManifest.roles.state==='blocked'?`${commissioningManifest.roles.invalid.length} invalid`:'Not loaded'}</p></div><div className=\"rounded-xl border p-3\"><p className=\"text-xs text-muted-foreground\">Manifest fingerprint</p><p className=\"mt-1 truncate font-mono text-xs font-semibold\">{commissioningManifest.manifestFingerprint}</p></div></div><p className=\"text-xs leading-5 text-muted-foreground\">People, invitation delivery, roles, provider instances, required connections, migration state, provenance, and tenant isolation are evaluated from observed tenant state. Unknown roles fail closed and never silently become Rep. PAUL connection research is credential-free and activation stays a separate tenant/provider-instance authorization.</p>","old_content":"<p className=\"text-xs leading-5 text-muted-foreground\">People and role/capability mappings must be explicitly resolved before commissioning can pass. Unknown roles fail closed and never silently become Rep. Source write-back requires an explicit target.</p>"}]}],"ownerApproved":true,"releaseIntent":null,"shipRequested":true,"sourceTargets":["src/pages/connections/TenantConnections.tsx"],"implementation":{"files":[],"writes":[]},"requestContract":{"outcomes":[{"id":"deterministic-manifest","statement":"Connections uses a reusable deterministic CLIENT_COMMISSIONING_V1 evaluator over real tenant memberships, invitations, provider instances, required-provider requirements, migration state, provenance, and isolation rules.","proofConditionIds":["repo","runtime"]},{"id":"role-fail-closed","statement":"Tenant-invalid or unknown role observations block commissioning and are never silently rewritten to Rep; TAX_SERVICES Assistant remains valid.","proofConditionIds":["repo","runtime"]},{"id":"provider-safeguards","statement":"Multi-account providers expose explicit instance purpose/defaults, required providers fail closed when unavailable, source write-back is explicit-target-only, and cross-tenant credential fallback is forbidden.","proofConditionIds":["repo","runtime"]},{"id":"research-binding","statement":"Commissioning explicitly binds provider discovery to the live read-only paul_connection_research contract and separates research from activation.","proofConditionIds":["repo","runtime"]},{"id":"discoverable-console","statement":"The existing Connections surface exposes a visible Client setup control and renders the deterministic commissioning status without requiring a hidden URL to discover it.","proofConditionIds":["repo","runtime"]}],"constraints":[{"id":"no-new-backend","statement":"Reuse current tenant manifest, membership/invitation state, provider connection state, server role authority, and Connections surface; do not create a parallel auth, connector, or tenant backend.","proofConditionIds":["repo"]},{"id":"preserve-tenants","statement":"Do not change tenant-specific data, credentials, roles, branding, or enabled apps. This release reads state and reports blockers only.","proofConditionIds":["repo","runtime"]},{"id":"fail-closed","statement":"Missing people/invitation/provider observations remain blockers rather than guessed success.","proofConditionIds":["repo","runtime"]}],"proofConditions":[{"id":"repo","kind":"repository","claim":"Exact diff and Gate prove the commissioning evaluator, contract tests, capability manifest, real state wiring, and discoverable Client setup control.","required":true},{"id":"runtime","kind":"runtime","claim":"Affected frontend release is live and the Connections surface loads with the CLIENT_COMMISSIONING_V1 client setup contract without regressing normal provider management.","required":true,"requiredReleaseTargets":["frontend"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/connections/TenantConnections.tsx"],"requestContract":{"outcomes":[{"id":"deterministic-manifest","statement":"Connections uses a reusable deterministic CLIENT_COMMISSIONING_V1 evaluator over real tenant memberships, invitations, provider instances, required-provider requirements, migration state, provenance, and isolation rules.","proofConditionIds":["repo","runtime"]},{"id":"role-fail-closed","statement":"Tenant-invalid or unknown role observations block commissioning and are never silently rewritten to Rep; TAX_SERVICES Assistant remains valid.","proofConditionIds":["repo","runtime"]},{"id":"provider-safeguards","statement":"Multi-account providers expose explicit instance purpose/defaults, required providers fail closed when unavailable, source write-back is explicit-target-only, and cross-tenant credential fallback is forbidden.","proofConditionIds":["repo","runtime"]},{"id":"research-binding","statement":"Commissioning explicitly binds provider discovery to the live read-only paul_connection_research contract and separates research from activation.","proofConditionIds":["repo","runtime"]},{"id":"discoverable-console","statement":"The existing Connections surface exposes a visible Client setup control and renders the deterministic commissioning status without requiring a hidden URL to discover it.","proofConditionIds":["repo","runtime"]}],"constraints":[{"id":"no-new-backend","statement":"Reuse current tenant manifest, membership/invitation state, provider connection state, server role authority, and Connections surface; do not create a parallel auth, connector, or tenant backend.","proofConditionIds":["repo"]},{"id":"preserve-tenants","statement":"Do not change tenant-specific data, credentials, roles, branding, or enabled apps. This release reads state and reports blockers only.","proofConditionIds":["repo","runtime"]},{"id":"fail-closed","statement":"Missing people/invitation/provider observations remain blockers rather than guessed success.","proofConditionIds":["repo","runtime"]}],"proofConditions":[{"id":"repo","kind":"repository","claim":"Exact diff and Gate prove the commissioning evaluator, contract tests, capability manifest, real state wiring, and discoverable Client setup control.","required":true},{"id":"runtime","kind":"runtime","claim":"Affected frontend release is live and the Connections surface loads with the CLIENT_COMMISSIONING_V1 client setup contract without regressing normal provider management.","required":true,"requiredReleaseTargets":["frontend"]}]},"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":"a5c83180ffc97cf4d846c75f76a78cd7c96c57c4b5f4ac7a2ec68e06613e8828","replayCount":0,"serializedBytes":37758},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:44:43.380339+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:19457138-be04-49c0-b203-386c285a1cab:repository-mutation-intent:a5c83180ffc97cf4d846c75f76a78cd7c96c57c4b5f4ac7a2ec68e06613e8828:0","mission_step_id":"a4c9c051-4754-4283-8c67-f7b3dffd92f8","command_center_event_id":"19457138-be04-49c0-b203-386c285a1cab"},{"id":"bdaf6210-48a0-4f9f-8df6-5c8104e1bc79","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":null,"reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.105-orphan-compare-evidence-adoption","prNumber":2407,"terminal":false,"missionId":"7ccdd3b3-2896-4e6f-9b89-90780d32730e","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6519,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":5551,"approvedPlanMs":0,"missionSetupMs":2016,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1219,"ledgerReconcileMs":0,"lineageReconcileMs":797,"resolvePreflightMs":2016,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1219,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"7ccdd3b3-2896-4e6f-9b89-90780d32730e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1526,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T18:31:36.261459+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2407","receipt_type":"execute_mission","idempotency_key":"mission:7ccdd3b3-2896-4e6f-9b89-90780d32730e:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"7a86f463-82e6-4f31-ae11-386274c3c15c","command_center_event_id":"7ccdd3b3-2896-4e6f-9b89-90780d32730e"},{"id":"bdafb6cb-a511-4107-a936-0dc382a1ef9a","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-bc6592091c5c","prNumber":3466,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"3d1b98415a83904f5d4eeb699ee0b1a853773ba1","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T01:22:44.088115+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"3d1b98415a83904f5d4eeb699ee0b1a853773ba1","external_id":"3466","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:bc659209-1c5c-4732-ad67-17493a96409e:merged-pr:3466:3d1b98415a83904f5d4eeb699ee0b1a853773ba1","mission_step_id":"8be90034-328d-42c6-8a9b-262d0d6ee743","command_center_event_id":"bc659209-1c5c-4732-ad67-17493a96409e"},{"id":"bdb1060f-b20e-4ec0-852d-910912cbe430","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Start a corrective generation from current protected main because prior PR #916 is conflicted by the already-merged #915 restoration. Supersede #916; do not merge it. Make one deterministic change only in supabase/functions/tenant-photo-studio/index.ts: preserve the currently working La Vista token-derived S3 credential path exactly, but when streamR2 catches an R2 error for the La Vista bucket, log and throw the real error instead of returning the generic 200 SVG placeholder. Keep generic placeholder behavior unchanged for other tenants. Do not mutate any R2 object, tenant media setting, gallery/lead key, frontend source, database, auth, or other function. Pass gate, squash merge, deploy only tenant-photo-studio, then re-prove The View=10 images, The Nest=13 images, both lead/representative assets are real image content types, and dashboard real photos display desktop/mobile.","wordingChanged":false,"canonicalIntent":"Start a corrective generation from current protected main because prior PR #916 is conflicted by the already-merged #915 restoration. Supersede #916; do not merge it. Make one deterministic change only in supabase/functions/tenant-photo-studio/index.ts: preserve the currently working La Vista token-derived S3 credential path exactly, but when streamR2 catches an R2 error for the La Vista bucket, log and throw the real error instead of returning the generic 200 SVG placeholder. Keep generic placeholder behavior unchanged for other tenants. Do not mutate any R2 object, tenant media setting, gallery/lead key, frontend source, database, auth, or other function. Pass gate, squash merge, deploy only tenant-photo-studio, then re-prove The View=10 images, The Nest=13 images, both lead/representative assets are real image content types, and dashboard real photos display desktop/mobile.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"false-green-prevented","statement":"La Vista photo failures cannot masquerade as successful SVG photos.","proofConditionIds":["proof-source","proof-edge","proof-images"]},{"id":"healthy-photos-preserved","statement":"Healthy La Vista photo delivery remains intact after the safeguard.","proofConditionIds":["proof-galleries","proof-images","proof-dashboard"]}],"objective":"Start a corrective generation from current protected main because prior PR #916 is conflicted by the already-merged #915 restoration. Supersede #916; do not merge it. Make one deterministic change only in supabase/functions/tenant-photo-studio/index.ts: preserve the currently working La Vista token-derived S3 credential path exactly, but when streamR2 catches an R2 error for the La Vista bucket, log and throw the real error instead of returning the generic 200 SVG placeholder. Keep generic placeholder behavior unchanged for other tenants. Do not mutate any R2 object, tenant media setting, gallery/lead key, frontend source, database, auth, or other function. Pass gate, squash merge, deploy only tenant-photo-studio, then re-prove The View=10 images, The Nest=13 images, both lead/representative assets are real image content types, and dashboard real photos display desktop/mobile.","constraints":[{"id":"only-error-path","statement":"Only tenant-photo-studio La Vista streamR2 error handling changes; the working credential path remains identical.","proofConditionIds":["proof-source"]},{"id":"no-media-mutation","statement":"No R2 objects, tenant media settings, gallery keys, lead keys, or media rows are mutated.","proofConditionIds":["proof-source","proof-edge"]},{"id":"edge-only","statement":"Only tenant-photo-studio is released.","proofConditionIds":["proof-edge"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-source","kind":"runtime","claim":"Merged diff contains only the fail-loud streamR2 change in tenant-photo-studio and preserves token-derived S3 code.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-edge","kind":"runtime","claim":"Production tenant-photo-studio runs the exact merged safeguard and no unrelated target is released.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-galleries","kind":"runtime","claim":"The View gallery has 10 real items and The Nest gallery has 13 real items after release.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-images","kind":"runtime","claim":"Both leads and representative individual assets return real image content types and not SVG.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-dashboard","kind":"visual","claim":"Both real property photos render on the live dashboard desktop and mobile after release.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"1cd4b7a5fb5d1ca948fe47d54f1f0d09d98123fda0d7f1ad46a803d6a6e276ec","requestContractRevision":6,"previousRequestContractHash":"556a1c64d21d9e6e2e499f66b75947a4aa4f13c997bfd6dbd73132692156e1ed"},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T04:07:05.398561+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:6e5cf2a3-fcc1-4ee6-aecc-4c3bf43ddd2b:request-contract-revision:6:1cd4b7a5fb5d1ca948fe47d54f1f0d09d98123fda0d7f1ad46a803d6a6e276ec","mission_step_id":"19fc6c3a-a963-43e8-8f7b-c3ed953be59a","command_center_event_id":"6e5cf2a3-fcc1-4ee6-aecc-4c3bf43ddd2b"},{"id":"bdb3ffd9-6050-4baa-b530-aae3ed1981ec","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/__tests__/commandCenter/source-resolution-continuation.contract.test.ts","content":"import { readFileSync } from 'node:fs';\nimport { describe, expect, it } from 'vitest';\n\nconst source = readFileSync('workers/cc-execution/src/index-mission-control.js', 'utf8');\n\ndescribe('mission source resolution continuation contract', () => {\n  it('resolves unknown source targets internally before returning synthesis work', () => {\n    expect(source).toContain('planUrl.pathname = \"/repair/plan\"');\n    expect(source).toContain('proofGate: \"repair_mission_source_resolution_resolved\"');\n    expect(source).toContain('status: \"synthesis_required\"');\n    expect(source).toContain('ownerActionRequired: false');\n    expect(source).toContain('continuationRequired: true');\n  });\n\n  it('preserves fail-closed behavior when authoritative resolution yields no targets', () => {\n    expect(source).toContain('authoritative_source_resolution_failed');\n    expect(source).toContain('repair_mission_source_resolution_required');\n  });\n});\n"}],"branch":"ai/objective-first-repair-96205e13fba5","writes":[],"patches":[],"version":1,"approved":true,"missionId":"96205e13-fba5-423b-9ada-cf0d546d2c31","objective":"Fix the KNOCKLAUNCH mission source-resolution dead-end reproduced live today. Never guess files. When source_resolution_required is returned with no mutation payload, mission control must internally call the canonical /repair/plan authoritative resolver, carry resolved targets forward, and continue as synthesis_required in the same mission. Preserve fail-closed behavior when resolution genuinely fails. Add focused regression coverage, bump cc-execution version, run canonical Gate, squash merge, deploy cc-execution, and prove the live runtime.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/commandCenter/source-resolution-continuation.contract.test.ts"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  if (executionData?.status === \"source_resolution_required\" && explicitMutationPaths(body).length === 0) {\n    const planUrl = new URL(request.url);\n    planUrl.pathname = \"/repair/plan\";\n    planUrl.search = \"\";\n    const sourceResolutionRequest = new Request(planUrl.toString(), {\n      method: \"POST\",\n      headers: request.headers,\n      body: JSON.stringify({\n        ...body,\n        objective: objectiveText,\n        issue: objectiveText,\n        approved: true,\n        ownerApproved: true,\n      }),\n    });\n    const sourceResolutionResponse = await coreExecutionWorker.fetch(sourceResolutionRequest, env, ctx);\n    const sourceResolutionData = await sourceResolutionResponse.json().catch(() => ({\n      ok: false,\n      status: \"source_resolution_required\",\n      proofGate: \"repair_mission_source_resolution_invalid_response\",\n    }));\n    const resolvedTargets = Array.isArray(sourceResolutionData?.likelyAffectedFiles)\n      ? [...new Set(sourceResolutionData.likelyAffectedFiles.map((value) => String(value || \"\").trim()).filter(Boolean))]\n      : [];\n    if (sourceResolutionResponse.ok && resolvedTargets.length > 0) {\n      executionData = {\n        ...executionData,\n        ok: true,\n        status: \"synthesis_required\",\n        proofGate: \"repair_mission_source_resolution_resolved\",\n        likelyAffectedFiles: resolvedTargets,\n        sourceTargets: resolvedTargets,\n        sourceResolution: sourceResolutionData.sourceResolution || null,\n        ownerActionRequired: false,\n        continuationRequired: true,\n        nextAction: \"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.\",\n      };\n    } else {\n      executionData = {\n        ...executionData,\n        sourceResolution: sourceResolutionData?.sourceResolution || null,\n        reason: sourceResolutionData?.reason || executionData?.reason || \"authoritative_source_resolution_failed\",\n      };\n    }\n  }\n\n  const sourceResolutionBareContinuation = executionData?.status === \"source_resolution_required\"\n    && Boolean(String(body.missionId || body.mission_id || \"\").trim())\n    && explicitMutationPaths(body).length === 0;","old_content":"  const sourceResolutionBareContinuation = executionData?.status === \"source_resolution_required\"\n    && Boolean(String(body.missionId || body.mission_id || \"\").trim())\n    && explicitMutationPaths(body).length === 0;"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.64.39-source-resolution-continuation\";","old_content":"export const CC_EXECUTION_VERSION = \"1.64.38-paul-owner-velocity\";"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Fix the KNOCKLAUNCH mission source-resolution dead-end reproduced live today. Never guess files. When source_resolution_required is returned with no mutation payload, mission control must internally call the canonical /repair/plan authoritative resolver, carry resolved targets forward, and continue as synthesis_required in the same mission. Preserve fail-closed behavior when resolution genuinely fails. Add focused regression coverage, bump cc-execution version, run canonical Gate, squash merge, deploy cc-execution, and prove the live runtime.","wordingChanged":false,"canonicalIntent":"Fix the KNOCKLAUNCH mission source-resolution dead-end reproduced live today. Never guess files. When source_resolution_required is returned with no mutation payload, mission control must internally call the canonical /repair/plan authoritative resolver, carry resolved targets forward, and continue as synthesis_required in the same mission. Preserve fail-closed behavior when resolution genuinely fails. Add focused regression coverage, bump cc-execution version, run canonical Gate, squash merge, deploy cc-execution, and prove the live runtime.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Unknown mutation source targets are resolved authoritatively and the same mission continues automatically without guessing or owner re-prompting.","proofConditionIds":["proof-production"]}],"objective":"Fix the KNOCKLAUNCH mission source-resolution dead-end reproduced live today. Never guess files. When source_resolution_required is returned with no mutation payload, mission control must internally call the canonical /repair/plan authoritative resolver, carry resolved targets forward, and continue as synthesis_required in the same mission. Preserve fail-closed behavior when resolution genuinely fails. Add focused regression coverage, bump cc-execution version, run canonical Gate, squash merge, deploy cc-execution, and prove the live runtime.","constraints":[{"id":"no-source-guessing","statement":"Mutation source files must never be guessed; only authoritative repository resolution may supply targets.","proofConditionIds":["proof-production"]},{"id":"fail-closed","statement":"If authoritative resolution yields no safe target, the mission remains fail-closed.","proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"The live cc-execution runtime automatically transitions unresolved source scope into authoritative source resolution and continuation.","required":true,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/commandCenter/source-resolution-continuation.contract.test.ts"],"requestContract":{"intent":{"rawUtterance":"Fix the KNOCKLAUNCH mission source-resolution dead-end reproduced live today. Never guess files. When source_resolution_required is returned with no mutation payload, mission control must internally call the canonical /repair/plan authoritative resolver, carry resolved targets forward, and continue as synthesis_required in the same mission. Preserve fail-closed behavior when resolution genuinely fails. Add focused regression coverage, bump cc-execution version, run canonical Gate, squash merge, deploy cc-execution, and prove the live runtime.","wordingChanged":false,"canonicalIntent":"Fix the KNOCKLAUNCH mission source-resolution dead-end reproduced live today. Never guess files. When source_resolution_required is returned with no mutation payload, mission control must internally call the canonical /repair/plan authoritative resolver, carry resolved targets forward, and continue as synthesis_required in the same mission. Preserve fail-closed behavior when resolution genuinely fails. Add focused regression coverage, bump cc-execution version, run canonical Gate, squash merge, deploy cc-execution, and prove the live runtime.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Unknown mutation source targets are resolved authoritatively and the same mission continues automatically without guessing or owner re-prompting.","proofConditionIds":["proof-production"]}],"objective":"Fix the KNOCKLAUNCH mission source-resolution dead-end reproduced live today. Never guess files. When source_resolution_required is returned with no mutation payload, mission control must internally call the canonical /repair/plan authoritative resolver, carry resolved targets forward, and continue as synthesis_required in the same mission. Preserve fail-closed behavior when resolution genuinely fails. Add focused regression coverage, bump cc-execution version, run canonical Gate, squash merge, deploy cc-execution, and prove the live runtime.","constraints":[{"id":"no-source-guessing","statement":"Mutation source files must never be guessed; only authoritative repository resolution may supply targets.","proofConditionIds":["proof-production"]},{"id":"fail-closed","statement":"If authoritative resolution yields no safe target, the mission remains fail-closed.","proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"The live cc-execution runtime automatically transitions unresolved source scope into authoritative source resolution and continuation.","required":true,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/commandCenter/source-resolution-continuation.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner explicitly requested immediate repair of the reproduced source-resolution dead-end."},"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__/commandCenter/source-resolution-continuation.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner explicitly requested immediate repair of the reproduced source-resolution dead-end."},"recovery":false,"fingerprint":"b36b394c8fa737742a1207a42df9bc632e01101ecd6b0c18e4cef8a036a1f779","replayCount":0,"serializedBytes":12153},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T19:45:24.996338+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:96205e13-fba5-423b-9ada-cf0d546d2c31:repository-mutation-intent:b36b394c8fa737742a1207a42df9bc632e01101ecd6b0c18e4cef8a036a1f779:0","mission_step_id":"fc6ee58e-fc5d-4404-acc6-7c09ab64cb1c","command_center_event_id":"96205e13-fba5-423b-9ada-cf0d546d2c31"},{"id":"bdb46203-9df6-49e9-a8a7-493005095f1e","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"6d586b7449d625bb6e648290b0faea8570c4ee41","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"6d586b7449d625bb6e648290b0faea8570c4ee41","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"7f359c19e8928a290c01bd65f3568ab8768d5d34b05ac98dbabdf54a5b35f308","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3892","runId":3892,"status":"success","sourceSha":"6d586b7449d625bb6e648290b0faea8570c4ee41","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"6d586b7449d625bb6e648290b0faea8570c4ee41","proofGate":"cc_execution_historical_runtime_identity_verified","deploymentId":"forgejo-main-6d586b7449d625bb6e648290b0faea8570c4ee41","compareStatus":"exact_release_workflow_runtime_verified","workflowRunId":3892,"identitySource":"canonical_release_workflow_exact_runtime_identity","runtimeVersion":"1.56.9-owner-shorthand-parallel-execution","containsSourceSha":true,"historicalExactSourceProof":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T17:56:44.32291+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"6d586b7449d625bb6e648290b0faea8570c4ee41","external_id":"forgejo-main-6d586b7449d6","receipt_type":"canonical_release_status","idempotency_key":"mission:0e2f8d65-b4c1-4148-b47c-19e5c912f6f7:forgejo-release-status:6d586b7449d625bb6e648290b0faea8570c4ee41:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"f0c0020e-542c-4ad9-8dd3-4400e5c67203","command_center_event_id":"0e2f8d65-b4c1-4148-b47c-19e5c912f6f7"},{"id":"bdb62598-52a8-45e7-b079-8d4d964b5ed4","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ec7b9c10c31d","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2923,"terminal":false,"missionId":"ec7b9c10-c31d-4c67-bb72-4209ecfa92e2","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":2060,"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":"ec7b9c10-c31d-4c67-bb72-4209ecfa92e2"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1284,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T16:16:48.641868+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2923","receipt_type":"automatic_mission_resume","idempotency_key":"mission:ec7b9c10-c31d-4c67-bb72-4209ecfa92e2:automatic-mission-resume:2923:repair_mission_waiting_for_gate","mission_step_id":"3b008094-0602-41ed-8ec9-cbbe22fa5e12","command_center_event_id":"ec7b9c10-c31d-4c67-bb72-4209ecfa92e2"},{"id":"bdb6435c-d6a9-4f06-9c5f-c69fe8649841","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"8b8bb11b386a2fb948882afd5513144c2d80ed8c","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8b8bb11b386a2fb948882afd5513144c2d80ed8c","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"71df5d1f46cfe2d656474ea1e145b3c1dc7657cfba34e93054c0c3275d69d07f","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3954","runId":3954,"status":"running","sourceSha":"8b8bb11b386a2fb948882afd5513144c2d80ed8c","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T10:19:44.082425+00:00","proof_gate":"canonical_release_pending","source_sha":"8b8bb11b386a2fb948882afd5513144c2d80ed8c","external_id":"forgejo-main-8b8bb11b386a","receipt_type":"canonical_release_status","idempotency_key":"mission:8815289d-c577-409f-8d51-92c78a69d810:forgejo-release-status:8b8bb11b386a2fb948882afd5513144c2d80ed8c:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"ae9138f8-3d67-450a-9c0d-c4da3e1635d1","command_center_event_id":"8815289d-c577-409f-8d51-92c78a69d810"},{"id":"bdb80209-1061-4b66-833a-682248019ab0","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/forgejo-timeout-hardening","reason":"existing_branch_refresh_failed:2219:500","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":2219,"terminal":false,"missionId":"366e8a41-b11b-446f-8147-da071bd5769c","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2404,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":451,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":266,"ledgerReconcileMs":0,"lineageReconcileMs":185,"resolvePreflightMs":451,"repositoryMutationMs":2404,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":266,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"366e8a41-b11b-446f-8147-da071bd5769c"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1465,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T03:03:33.327768+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:366e8a41-b11b-446f-8147-da071bd5769c:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"4556eec2-c237-4709-923d-185f22719e56","command_center_event_id":"366e8a41-b11b-446f-8147-da071bd5769c"},{"id":"bdb825c3-d45b-44f9-8ac3-82c5e2b1b245","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-358e24ae4f67","prNumber":4902,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"d95a888cc0304fcb33b631f13f62f1afb572d4dd","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T12:39:37.174768+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"d95a888cc0304fcb33b631f13f62f1afb572d4dd","external_id":"4902","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:358e24ae-4f67-487a-8654-8e9ea25e1c7f:merged-pr:4902:d95a888cc0304fcb33b631f13f62f1afb572d4dd","mission_step_id":"03c35dd8-6a39-4457-9ecf-33d6a71cec11","command_center_event_id":"358e24ae-4f67-487a-8654-8e9ea25e1c7f"},{"id":"bdb928c4-dbac-4622-b723-7558cf0748cb","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-2d15c0e03818","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":44131,"releaseCount":0,"toolCallCount":29,"repeatedCallCount":23,"executorlessWaitMs":89740,"firstUsefulResultAt":"2026-10-06T01:49:51.295Z","recoveryAttemptCount":25,"ownerInterruptionCount":0},"version":null,"prNumber":5126,"terminal":false,"missionId":"2d15c0e0-3818-4d46-bfee-e3e86d0461c6","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2055,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"2d15c0e0-3818-4d46-bfee-e3e86d0461c6"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T01:50:11.463775+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5126","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2d15c0e0-3818-4d46-bfee-e3e86d0461c6:automatic-mission-resume:5126:repair_mission_pr_ready_retryable","mission_step_id":"93a91405-4f3f-48ac-ac1c-6a753e302b21","command_center_event_id":"2d15c0e0-3818-4d46-bfee-e3e86d0461c6"},{"id":"bdbaaa54-8c8a-4486-9e65-fb3ac8271fe9","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_authorization_required","fingerprint":"2e024d548ab40308e143301c6cb7018c2ef7e19f348c9e3ca771669416390738"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T13:10:54.070274+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:706a49ce-70b7-4390-aafe-e19a3997d054:repository-mutation-intent-blocked:2e024d548ab40308e143301c6cb7018c2ef7e19f348c9e3ca771669416390738","mission_step_id":"2a46537d-8923-4162-ae70-89c3ed2e1f9a","command_center_event_id":"706a49ce-70b7-4390-aafe-e19a3997d054"},{"id":"bdbaf001-d6e6-41c2-9c26-953ef63b9db4","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"e5ffd986c40256768664ed5fa2518cdba22c18e6","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Install a permanent tenant-route outage safeguard from current Forgejo main dc915936223c04342d0976bb13ec647dbc16fb4b. Use one fresh ai/* branch and change only src/routes/verticalRouteRegistry.ts and src/__tests__/contracts/tenant-isolation-hard-safety.contract.test.ts. In verticalRouteRegistry, create one shared business-route-eligibility boundary using existing normalizeDeclaredBusinessType so reserved/non-business identities (including PLATFORM, PLATFORM_ADMIN, GODMODE, ADMIN, SYSTEM_ADMIN) fail soft in canonicalTenantRouteSlugForIdentity, tenantRouteIdentityAliases, tenantRouteIdentityMatchesRequestedSlug, and resolveTenantRouteMembership instead of ever reaching business canonicalization and throwing. Preserve all valid canonical and custom business tenant routing. If requestedTenantType itself is reserved/non-business, resolveTenantRouteMembership must return a normal non-match/type-mismatch result rather than throw. In the existing always-run tenant-isolation-hard-safety contract, add behavioral regression coverage for a mixed GodMode-style membership list containing all reserved identities plus ROOFING_COMPANY Redfish and MOBILE_VENDOR Big Papi's; prove both business routes","proofConditionIds":["proof-production"]}],"satisfied":false,"constraints":[{"id":"capability-completeness","satisfied":false,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"38c97d1a721c9f7f6f86d6691a2fe33578ef5bfa5b7c696cba48ca2970109e4e","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{},"unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"38c97d1a721c9f7f6f86d6691a2fe33578ef5bfa5b7c696cba48ca2970109e4e"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["runtime"],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T00:43:35.007545+00:00","proof_gate":"request_contract_pending","source_sha":"e5ffd986c40256768664ed5fa2518cdba22c18e6","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:9de0b291-5856-43cb-9f33-5ac84a81cdef:request-contract:38c97d1a721c9f7f6f86d6691a2fe33578ef5bfa5b7c696cba48ca2970109e4e:e5ffd986c40256768664ed5fa2518cdba22c18e6:pending:runtime","mission_step_id":"b60fc738-6787-4256-bd2f-3c36434cb3b2","command_center_event_id":"9de0b291-5856-43cb-9f33-5ac84a81cdef"},{"id":"bdbb3a46-e183-4f23-bb6d-ebca71961986","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly authorized unfreezing the control plane to remove the legacy request-contract lockout while preserving strict explicit proof and all release safety invariants.","baseSha":"6c0aae1227b24a2e0741b75f09631e88ac9337c6","issuedAt":1789669409714,"expiresAt":1789669589714,"missionId":"5ea67245-081d-4e7f-b1ab-b6c933019c4d","authorizationId":"da7a4e40-f082-463a-9744-8860b7c46d71","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T18:23:31.191417+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"6c0aae1227b24a2e0741b75f09631e88ac9337c6","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:da7a4e40-f082-463a-9744-8860b7c46d71","mission_step_id":"1cd942d8-a732-44e2-8be4-f37328b2a4a4","command_center_event_id":"5ea67245-081d-4e7f-b1ab-b6c933019c4d"},{"id":"bdbb9776-1343-47b0-b45f-e62ede7c4db9","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"deterministic_supervisor_transition\",\"status\":\"advanced\",\"proofGate\":\"deterministic_semantic_transition_journaled\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":6,\"verified\":2,\"pending\":4,\"percent\":33,\"satisfied\":false,\"verifiedIds\":[\"preflight\",\"implementation\"],\"pendingIds\":[\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-08-05T03:31:01.398179+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/fix-experience-editor-proof-dispatch-20260804\",\"prNumber\":4016,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-03T09:48:11.058921+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:871b1f2d-4576-48f4-9977-8d8a8ae99d7e:owner-progress-heartbeat:119401392","mission_step_id":"c6526d6f-0d53-42de-a6a6-b6d8f434e2f5","command_center_event_id":"871b1f2d-4576-48f4-9977-8d8a8ae99d7e"},{"id":"bdbd55e1-91f8-45b5-992a-850e660f6b23","source":"cc-execution","status":"release_freshness_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e908936ef307","reason":null,"status":"release_freshness_reconciliation_pending","metrics":{"receiptBytes":50881,"releaseCount":0,"toolCallCount":20,"repeatedCallCount":12,"executorlessWaitMs":250589,"firstUsefulResultAt":"2026-10-06T13:50:58.954Z","recoveryAttemptCount":12,"ownerInterruptionCount":0},"version":null,"prNumber":5181,"terminal":false,"missionId":"e908936e-f307-463c-9631-a6fa61f98025","operation":"automatic_mission_resume","proofGate":"canonical_release_freshness_reconciliation_pending","sourceSha":null,"timingsMs":{"prReadinessMs":957,"approvedPlanMs":0,"shipAndProveMs":1047,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"refresh_regate_and_reconcile_release","receiptRef":{"mode":"full","missionId":"e908936e-f307-463c-9631-a6fa61f98025"},"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":777,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:55:30.999782+00:00","proof_gate":"canonical_release_freshness_reconciliation_pending","source_sha":null,"external_id":"5181","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e908936e-f307-463c-9631-a6fa61f98025:automatic-mission-resume:5181:canonical_release_freshness_reconciliation_pending","mission_step_id":"baa11ec4-7bb2-455c-ac85-399bd7143d21","command_center_event_id":"e908936e-f307-463c-9631-a6fa61f98025"},{"id":"bdbd5967-50fe-4045-9e5d-71289bbcd148","source":"forgejo","status":"waiting","payload":{"branch":"ai/command-center-host-access-20260825","prNumber":766,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"372c1439a794928e2ae76e7b499bfb96fba93b07","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T03:01:56.837762+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"372c1439a794928e2ae76e7b499bfb96fba93b07","external_id":"766","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:2a20d855-d9bb-4414-8407-41d17e580efd:merged-pr:766:372c1439a794928e2ae76e7b499bfb96fba93b07","mission_step_id":"42b4104a-fc6f-4109-b528-d7a3d36b06ce","command_center_event_id":"2a20d855-d9bb-4414-8407-41d17e580efd"},{"id":"bdbdc955-e06c-4706-b87f-f3822d7bb2ed","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"2b8f065ebf4d762a39f87cf8b65290f9eff7fd18","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"migration-live","satisfied":false,"statement":"PR #1895 is squash merged and the corrected Supabase migration succeeds.","proofConditionIds":["gate-proof","release-proof"]},{"id":"runtime-repaired","satisfied":true,"statement":"V2 classifier and same-tenant move identity trigger are live, and the guarded La Vista split is reconciled to the original asset ID.","proofConditionIds":["runtime-proof"]}],"satisfied":false,"constraints":[{"id":"migration-only","satisfied":true,"statement":"Only Supabase migrations are released.","proofConditionIds":["release-proof"]},{"id":"no-organizer-before-live","satisfied":true,"statement":"No additional storage organization runs before this exact migration release is verified.","proofConditionIds":["release-proof","runtime-proof"]}],"contractHash":"9c7bf42778cc155b70c510865166a424bf8619ed478625d92526f262c307515d","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"gate-proof","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"9c7bf42778cc155b70c510865166a424bf8619ed478625d92526f262c307515d","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"release-proof","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["migrations"],"releaseRequestContractHash":"9c7bf42778cc155b70c510865166a424bf8619ed478625d92526f262c307515d"},"required":true,"satisfied":true},{"id":"runtime-proof","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["migrations"],"releaseRequestContractHash":"9c7bf42778cc155b70c510865166a424bf8619ed478625d92526f262c307515d"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T00:14:35.228033+00:00","proof_gate":"request_contract_pending","source_sha":"2b8f065ebf4d762a39f87cf8b65290f9eff7fd18","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:48324922-59ea-4ae3-bbe5-64520eb8e844:request-contract:9c7bf42778cc155b70c510865166a424bf8619ed478625d92526f262c307515d:2b8f065ebf4d762a39f87cf8b65290f9eff7fd18:pending:repository","mission_step_id":"4a980d2b-9d32-4f1e-ad4f-e8f595696358","command_center_event_id":"48324922-59ea-4ae3-bbe5-64520eb8e844"},{"id":"bdbf9b00-e1a2-4a5f-9ce3-f770c537bc40","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane only for this bounded proof-kind correction discovered by live verification of 1.58.116, then refreeze after proof. Preserve missing-migration fail-closed behavior, restrict implicit migration release-target inference to runtime/release/scope proof kinds, add the repository-prose regression, bump to 1.58.117-request-proof-kind-aware, and ship ccExecution only.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane only for this bounded proof-kind correction discovered by live verification of 1.58.116, then refreeze after proof. Preserve missing-migration fail-closed behavior, restrict implicit migration release-target inference to runtime/release/scope proof kinds, add the repository-prose regression, bump to 1.58.117-request-proof-kind-aware, and ship ccExecution only.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Runtime/release/scope migration-applied claims still infer migrations and fail closed when migrations is absent.","proofConditionIds":["proof-1","proof-2"]},{"id":"outcome-2","statement":"Repository proof prose that merely mentions/describes a migration regression does not implicitly require the migrations release target.","proofConditionIds":["proof-1","proof-2"]},{"id":"outcome-3","statement":"Production cc-execution runs 1.58.117-request-proof-kind-aware on the merged SHA and the control plane is frozen after deployment.","proofConditionIds":["proof-2"]}],"objective":"Unfreeze the control plane only for this bounded proof-kind correction discovered by live verification of 1.58.116, then refreeze after proof. Preserve missing-migration fail-closed behavior, restrict implicit migration release-target inference to runtime/release/scope proof kinds, add the repository-prose regression, bump to 1.58.117-request-proof-kind-aware, and ship ccExecution only.","constraints":[{"id":"constraint-1","statement":"Preserve 1.58.116 target-aware enforcement, release singleflight, and legitimate edge-only missions.","proofConditionIds":["proof-1","proof-2"]},{"id":"constraint-2","statement":"No parallel verifier, release lane, mission ledger, tenant behavior change, or database mutation.","proofConditionIds":["proof-1"]},{"id":"constraint-3","statement":"One branch, one PR, one Gate, one squash merge, ccExecution-only release.","proofConditionIds":["proof-2"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-1","kind":"repository","claim":"Merged source and contract regression tests implement proof-kind-aware migration inference and preserve the original missing-migration runtime fail-closed case.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":[]},{"id":"proof-2","kind":"runtime","claim":"Production cc-execution runs version 1.58.117-request-proof-kind-aware on the merged SHA and the maintenance window is closed/frozen.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"636f864cde2692e7e70680f38f07494fbd6eb34243b26ed0e4b9a968349c5db6","requestContractRevision":2,"previousRequestContractHash":"26157c4b3140ba1886204c532fd75b20f2cbf0ab620d31c7cf1e70d0f943b680"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:30:45.181171+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:11a7db98-6a2a-4928-ae51-603014ea7da5:request-contract:636f864cde2692e7e70680f38f07494fbd6eb34243b26ed0e4b9a968349c5db6","mission_step_id":"bee2031a-4ead-40b5-875d-e8aa4912cab8","command_center_event_id":"11a7db98-6a2a-4928-ae51-603014ea7da5"},{"id":"bdc3612a-1a36-4773-88fd-07bc0f828bbd","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/sync-runtime-release-ownership-20260904","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.38-atomic-new-branch-refreeze","prNumber":1684,"terminal":false,"missionId":"7163978d-886d-4591-ad04-d960d4591f77","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"266e0808e3d2ffce22e9b317f0930d67d0136eaa","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":12856,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":928,"approvedPlanMs":0,"missionSetupMs":1056,"providerAuthMs":0,"shipAndProveMs":11813,"ledgerPrepareMs":907,"ledgerReconcileMs":0,"lineageReconcileMs":149,"resolvePreflightMs":1056,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":907,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"7163978d-886d-4591-ad04-d960d4591f77"},"performance":null,"deploymentId":"forgejo-main-266e0808e3d2","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2691,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:37:14.096372+00:00","proof_gate":"canonical_release_dispatched","source_sha":"266e0808e3d2ffce22e9b317f0930d67d0136eaa","external_id":"forgejo-main-266e0808e3d2","receipt_type":"execute_mission","idempotency_key":"mission:7163978d-886d-4591-ad04-d960d4591f77:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"4be52e17-ba32-4726-a111-7cf43ba45568","command_center_event_id":"7163978d-886d-4591-ad04-d960d4591f77"},{"id":"bdc36962-71db-4aca-91ea-6ccab5c8a615","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"52caadb8a15ac752e42150bb9e56cc4e6b8fc652","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Every individual route in the four Curri tenant families has been inspected for graphic cohesiveness.","proofConditionIds":["proof-certified-settings","proof-curri-today","proof-realty-today","proof-onecall-today"]},{"id":"outcome-2","satisfied":false,"statement":"Certified Pro Roofing Settings no longer has the split white/background visual break or unreadable white-on-white controls.","proofConditionIds":["proof-certified-settings"]},{"id":"outcome-3","satisfied":false,"statement":"Shared shell/theme defects causing background discontinuity or contrast failures are repaired at the governing frontend primitive when safe.","proofConditionIds":["proof-source-diff","proof-certified-settings","proof-curri-today","proof-realty-today","proof-onecall-today"]},{"id":"outcome-4","satisfied":false,"statement":"Each tenant retains its own brand styling and correct tenant-specific route family without cross-tenant contamination.","proofConditionIds":["proof-source-diff","proof-certified-settings","proof-curri-today","proof-realty-today","proof-onecall-today"]},{"id":"outcome-5","satisfied":false,"statement":"Affected frontend changes are live in production.","proofConditionIds":["proof-production-release","proof-certified-settings","proof-curri-today","proof-realty-today","proof-onecall-today"]}],"satisfied":false,"constraints":[{"id":"constraint-1","satisfied":false,"statement":"Forgejo main is canonical source truth.","proofConditionIds":["proof-source-diff"]},{"id":"constraint-2","satisfied":false,"statement":"One fresh ai/* branch, one PR, KnockLaunch Gate, squash merge.","proofConditionIds":["proof-source-diff"]},{"id":"constraint-3","satisfied":false,"statement":"Do not touch database, auth, backend, or unrelated runtime unless evidence proves required.","proofConditionIds":["proof-source-diff"]},{"id":"constraint-4","satisfied":false,"statement":"Do not introduce Redfish routes or content into Certified Pro Roofing.","proofConditionIds":["proof-source-diff","proof-certified-settings"]},{"id":"constraint-5","satisfied":true,"statement":"Do not run unrelated production targets.","proofConditionIds":["proof-production-release"]}],"contractHash":"588a068cdacf7f47747651749c10902f174db7e45bb0f0cf2bb1c5a7cdf54e71","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-source-diff","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"588a068cdacf7f47747651749c10902f174db7e45bb0f0cf2bb1c5a7cdf54e71","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"proof-production-release","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"588a068cdacf7f47747651749c10902f174db7e45bb0f0cf2bb1c5a7cdf54e71"},"required":true,"satisfied":true},{"id":"proof-certified-settings","kind":"visual","evidence":{"verificationState":null,"witnessRequestContractHash":"588a068cdacf7f47747651749c10902f174db7e45bb0f0cf2bb1c5a7cdf54e71"},"required":true,"satisfied":false},{"id":"proof-curri-today","kind":"visual","evidence":{"verificationState":null,"witnessRequestContractHash":"588a068cdacf7f47747651749c10902f174db7e45bb0f0cf2bb1c5a7cdf54e71"},"required":true,"satisfied":false},{"id":"proof-realty-today","kind":"visual","evidence":{"verificationState":null,"witnessRequestContractHash":"588a068cdacf7f47747651749c10902f174db7e45bb0f0cf2bb1c5a7cdf54e71"},"required":true,"satisfied":false},{"id":"proof-onecall-today","kind":"visual","evidence":{"verificationState":null,"witnessRequestContractHash":"588a068cdacf7f47747651749c10902f174db7e45bb0f0cf2bb1c5a7cdf54e71"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository","visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T12:12:38.680999+00:00","proof_gate":"request_contract_pending","source_sha":"52caadb8a15ac752e42150bb9e56cc4e6b8fc652","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:f976d803-e66e-4f6f-afc3-2161b3c38ff6:request-contract:588a068cdacf7f47747651749c10902f174db7e45bb0f0cf2bb1c5a7cdf54e71:52caadb8a15ac752e42150bb9e56cc4e6b8fc652:pending:repository,visual","mission_step_id":"3d47b538-758e-41a3-9bbd-a96f29683040","command_center_event_id":"f976d803-e66e-4f6f-afc3-2161b3c38ff6"},{"id":"bdc62cc7-33c0-47f5-a117-e346fec5db32","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b06df43ce5df","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":4882,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-24T14:45:32.191Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.259-release-main-reread-eliminated","prNumber":3627,"terminal":false,"missionId":"b06df43c-e5df-4bb5-91af-d0f0a414fcfa","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5541,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1666,"missionSetupMs":475,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":475,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":475,"repositoryMutationMs":3875,"repositoryProviderMs":3875,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2207,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":475,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1668},"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":"b06df43c-e5df-4bb5-91af-d0f0a414fcfa"},"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":3497,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:45:38.931003+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3627","receipt_type":"execute_mission","idempotency_key":"mission:b06df43c-e5df-4bb5-91af-d0f0a414fcfa:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"5cf661e7-bc63-4824-aff2-3d12f211cc0e","command_center_event_id":"b06df43c-e5df-4bb5-91af-d0f0a414fcfa"},{"id":"bdc693f5-1ec0-4ca9-a68c-30193f0ddd92","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","supabase/functions/command-center-autopilot/missionLedger.ts","workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Bounded owner-requested Command Center recovery hardening.","baseSha":"3591039579150b1d5b6885416bf380bfa9c4d833","issuedAt":1789950417368,"expiresAt":1789950597368,"missionId":"403bc395-9d19-486a-9409-06e51cc91573","authorizationId":"ce612e61-766b-4a22-b875-b991adaf2625","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T00:26:57.70258+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"3591039579150b1d5b6885416bf380bfa9c4d833","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:ce612e61-766b-4a22-b875-b991adaf2625","mission_step_id":"8ff399e3-6061-4f45-91be-950b006841e4","command_center_event_id":"403bc395-9d19-486a-9409-06e51cc91573"},{"id":"bdc74b9a-becc-4695-a333-691d1e1d5f3a","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"082744a8d00a91776c714ebe6f80d70ee49d3741","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Repair TENANT_MESSENGER_V1 application-scope precedence and vocabulary source precedence. In supabase/functions/_shared/tenantMessengerProfile.ts, when settings.application_ids is a non-empty array it is authoritative and must be returned without unioning blueprint application lists; blueprint lists are fallback only. In vocabulary derivation, business_operating_blueprint module labels must be considered before settings.modes.cards labels. Apply the same authoritative settings.application_ids precedence in tenantCompilerApplicationIds inside supabase/functions/tenant-media-library/index.ts. Preserve all other behavior. Add regression assertions for both precedence rules. Ship through one PR, canonical Gate, squash merge, Supabase tenant-media-library release, and runtime contract proof.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"visual-content-truth","satisfied":true,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-production"]},{"id":"tenant-visual-isolation","satisfied":true,"statement":"Visual work is isolated to requested tenant. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","proofConditionIds":["proof-production"]},{"id":"reference-visual-fidelity","satisfied":true,"statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","proofConditionIds":["proof-production"]},{"id":"responsive-visual-continuity","satisfied":true,"statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","proofConditionIds":["proof-production"]},{"id":"reference-visual-authority","satisfied":true,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-production"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"01d902eb85315c00599ceba88b1fecf9e62b724d9056329cfa1347e53e151243","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"01d902eb85315c00599ceba88b1fecf9e62b724d9056329cfa1347e53e151243"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T06:10:08.421804+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"082744a8d00a91776c714ebe6f80d70ee49d3741","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:8d195a64-b51f-46aa-8a30-006deb40eab1:request-contract:01d902eb85315c00599ceba88b1fecf9e62b724d9056329cfa1347e53e151243:082744a8d00a91776c714ebe6f80d70ee49d3741:verified:","mission_step_id":"ceaf39db-1e60-4520-af72-9a8c5a8cc192","command_center_event_id":"8d195a64-b51f-46aa-8a30-006deb40eab1"},{"id":"bdc8d7e0-c2c4-413f-b085-76005e38b3f1","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_editor_brand","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"f5ac0529-8647-57d7-d698-8cbb7f61212a"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:61d68e1e-9cf1-4260-b4ba-e286fab9894a","mission_step_id":null,"command_center_event_id":"61d68e1e-9cf1-4260-b4ba-e286fab9894a"},{"id":"bdc92e54-6a79-405c-9618-c6710c907911","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":3314,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":574,"terminal":false,"missionId":"1afc49b8-0b78-4a6d-99e5-525dbb475794","operation":"automatic_mission_resume","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"1afc49b8-0b78-4a6d-99e5-525dbb475794"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":599,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T18:26:23.970389+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"574","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1afc49b8-0b78-4a6d-99e5-525dbb475794:automatic-mission-resume:574:canonical_release_transport_retryable","mission_step_id":"7d848358-6583-45a9-8c4a-c57952cbb312","command_center_event_id":"1afc49b8-0b78-4a6d-99e5-525dbb475794"},{"id":"bdc9a1cf-c959-419b-a356-e0f82bd83789","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"d7ca49a09f29cfb352ee09b564561e775a9987cb","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"d7ca49a09f29cfb352ee09b564561e775a9987cb","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":"1a0f5967e03bf773672af0f213fc2229bff9ce2fac77efbb4b1583e03777c3fd","forgejoWorkflowProof":{"runId":11334,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"e156e62a44e50cfc019d142cba45ae1493371087","deploymentId":"forgejo-main-e156e62a44e50cfc019d142cba45ae1493371087","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.227-visual-work-intent-contract","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T03:59:29.784016+00:00","proof_gate":"canonical_release_pending","source_sha":"d7ca49a09f29cfb352ee09b564561e775a9987cb","external_id":"forgejo-main-d7ca49a09f29","receipt_type":"canonical_release_status","idempotency_key":"mission:a736aad7-f792-4785-aa47-eab1f1fac0b5:forgejo-release-status:d7ca49a09f29cfb352ee09b564561e775a9987cb:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"474feb91-dddb-4947-91f9-b0bc48f85d37","command_center_event_id":"a736aad7-f792-4785-aa47-eab1f1fac0b5"},{"id":"bdc9a700-8c02-4368-96a8-12c6ee34ad5d","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":11148,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":5,"executorlessWaitMs":18210,"firstUsefulResultAt":"2026-10-01T18:36:31.951Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":4380,"terminal":false,"missionId":"b63537c1-629f-4bc8-bc61-adf19c615d3d","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"d293c14411064dd2bf7bf15967c117ca262966a5","timingsMs":{"prReadinessMs":101,"approvedPlanMs":0,"shipAndProveMs":380,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"b63537c1-629f-4bc8-bc61-adf19c615d3d"},"performance":null,"deploymentId":"forgejo-main-d293c1441106","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1942,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T18:39:49.428323+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4380","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b63537c1-629f-4bc8-bc61-adf19c615d3d:automatic-mission-resume:4380:canonical_release_reconciliation_pending","mission_step_id":"87e8447a-6bff-4703-bd52-98fd9b9e8c19","command_center_event_id":"b63537c1-629f-4bc8-bc61-adf19c615d3d"},{"id":"bdca8a7a-6007-46fb-b775-38eff237a3ce","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGSlabUpload.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-16T01:10:27.715266+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"77c3f1e70895096bdb455b3b5d3f6d7611b558d0","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:db83507c-85f6-4979-a489-119c94e6f0b7:compiler:77c3f1e70895096bdb455b3b5d3f6d7611b558d0:src/pages/card-grading/PCGSlabUpload.tsx","mission_step_id":"ffca9dab-3e0e-4a2b-aa25-78eab11c2136","command_center_event_id":"db83507c-85f6-4979-a489-119c94e6f0b7"},{"id":"bdcb5435-8417-43fa-9bb1-e6bf79bc9d6e","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"pending"},"mainSha":"103a400ced69fdcd3119e59d7a80235dae259720","missing":[],"pending":["cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"103a400ced69fdcd3119e59d7a80235dae259720","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":"b4c5cc902ca28589acf49f40e668e08c8eca50ca90cb79253a414102268adcf6","forgejoWorkflowProof":{"runId":11704,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"7a5a86205a76754b16bcb257dea59ef20a8cbbca","deploymentId":"forgejo-main-7a5a86205a76754b16bcb257dea59ef20a8cbbca","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.277-exact-gate-fast-path","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T10:02:44.508165+00:00","proof_gate":"canonical_release_pending","source_sha":"103a400ced69fdcd3119e59d7a80235dae259720","external_id":"forgejo-main-103a400ced69","receipt_type":"canonical_release_status","idempotency_key":"mission:b080a989-f83c-4f77-b1e9-d3723f2c7a7d:forgejo-release-status:103a400ced69fdcd3119e59d7a80235dae259720:pending:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=pending","mission_step_id":"2fee487b-cc28-499d-a126-3a8da3a834ab","command_center_event_id":"b080a989-f83c-4f77-b1e9-d3723f2c7a7d"},{"id":"bdcce4ba-6ef3-42d5-86ee-390724d7c666","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Live 1.58.170 proves dispatch identity and timeout repairs, but direct DB and source inspection prove cancelled-release recovery is never reached because compact mission context omits forgejoWorkflowProof before reconcileTransientReleaseFailure eligibility checks.","baseSha":"5e92041f28ae566a29bf4f58f3467d747c05e57d","issuedAt":1789595358362,"expiresAt":1789595538362,"missionId":"3c90c847-9f8c-4ffe-a730-ae784c860419","authorizationId":"f0208e57-f7de-49a2-93f4-189f27d4c011","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T21:49:18.681056+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"5e92041f28ae566a29bf4f58f3467d747c05e57d","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:f0208e57-f7de-49a2-93f4-189f27d4c011","mission_step_id":"837a1d46-4266-48ec-ad51-20db400083f3","command_center_event_id":"3c90c847-9f8c-4ffe-a730-ae784c860419"},{"id":"bdcd5d3f-63e5-4ce9-b3b6-d65f54b3e8a0","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js"],"reason":"Owner explicitly authorized immediate PAUL continuous intelligence improvement. This exact maintenance scope repairs a false-negative cc-execution intelligence eval assertion and bumps runtime identity.","baseSha":"02e5390795329e1c843dbb888289d815a3c8d6fd","issuedAt":1790776845753,"expiresAt":1790777025753,"missionId":"b56825f5-dfeb-4bb3-8ea3-1a88aab50a5a","authorizationId":"2e13a2bf-d93c-4374-81e5-5cef6a701a9c","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T14:00:46.243214+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"02e5390795329e1c843dbb888289d815a3c8d6fd","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:2e13a2bf-d93c-4374-81e5-5cef6a701a9c","mission_step_id":"4d50221a-e579-4885-bc3d-e4cb53d17e1b","command_center_event_id":"b56825f5-dfeb-4bb3-8ea3-1a88aab50a5a"},{"id":"bdcffae5-b392-4318-8ca4-e6d9b273ef23","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"5021a8af705b0cacdf867872422dcc0e27e3d1aa","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Repair PAUL's production /admin/console conversational intelligence for self-awareness and recent-work questions. The exact owner-visible failure is: when asked \"What kind of upgrades have you made?\" PAUL produced repetitive prompt-like text, echoed phrases such as \"tell me what kind of progress we made today\", failed to answer directly, and did not ground itself in its durable operating context/recent mission receipts.\n\nRequired outcome:\n1. Reproduce and diagnose the exact current response path on live main before mutation.\n2. Fix the governing PAUL conversation/inference primitive, not a one-off string.\n3. Questions about PAUL itself, what changed today/since yesterday, what it has learned/improved, or current platform progress must route to the authoritative context available for that claim: owner_operating_context for durable facts and recent durable mission/action receipts or live machinery snapshot for current/recent operational changes. Never fabricate.\n4. Add an answer-quality contract before owner-visible output: no hidden/system/meta prompt leakage, no parroting the user's question, no repetitive sentence loops, no instruction-like fragments such as \"tell me...\" or \"try..","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":"1e9ecf996ee233039e2a5a51bf5e5cc50bec895c0d4c5d2cef0c6109a5fe3fc8","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"1e9ecf996ee233039e2a5a51bf5e5cc50bec895c0d4c5d2cef0c6109a5fe3fc8"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T01:40:02.906303+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"5021a8af705b0cacdf867872422dcc0e27e3d1aa","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:80e8ab49-6e97-4c75-98f8-11e149c01a3d:request-contract:1e9ecf996ee233039e2a5a51bf5e5cc50bec895c0d4c5d2cef0c6109a5fe3fc8:5021a8af705b0cacdf867872422dcc0e27e3d1aa:verified:","mission_step_id":"a005a1d0-f9ff-4943-9ece-c7b33dc1f3ee","command_center_event_id":"80e8ab49-6e97-4c75-98f8-11e149c01a3d"},{"id":"bdd0d292-c8ad-41c9-924e-1290b7a147d7","source":"cc-execution","status":"waiting","payload":{"body":{"branch":"ai/objective-first-repair-16ed4d9dfbe9","approved":true,"missionId":"16ed4d9d-fbe9-4546-8ff2-db39db9f025b","objective":"Continue the existing durable mission using exact structured edits.","repository":"noel/KnockLaunchOS","trackMission":true,"ownerApproved":true,"sourceTargets":["workers/cc-execution/src/index-release-fast-lane.js"],"anchored_edits":[{"path":"workers/cc-execution/src/index-release-fast-lane.js","new_text":"const FORGEJO_READ_TIMEOUT_MS = 4500;\nconst FORGEJO_READ_ATTEMPT_TIMEOUT_MS = 2000;\nconst FORGEJO_READ_TOTAL_BUDGET_MS = 4500;","old_text":"const FORGEJO_READ_TIMEOUT_MS = 10000;\nconst FORGEJO_READ_ATTEMPT_TIMEOUT_MS = 5000;\nconst FORGEJO_READ_TOTAL_BUDGET_MS = 10000;"}],"update_strategy":"auto","controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"826fce0d3b6cb393f714b4bb9b84bacf82cb65a81f7f4c654b4d3039b021b2b5","replayCount":0,"serializedBytes":907},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:36:04.150408+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:16ed4d9d-fbe9-4546-8ff2-db39db9f025b:repository-mutation-intent:826fce0d3b6cb393f714b4bb9b84bacf82cb65a81f7f4c654b4d3039b021b2b5:0","mission_step_id":"304e1fed-48f5-4e23-b3b1-835f45381fb0","command_center_event_id":"16ed4d9d-fbe9-4546-8ff2-db39db9f025b"},{"id":"bdd29954-e97f-4099-9187-6da31afed733","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-13317d2ada11","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":64247,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":15521,"firstUsefulResultAt":"2026-10-03T02:50:48.940Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4600,"terminal":false,"missionId":"13317d2a-da11-47b1-acb7-1e979fba9dbb","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2167,"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":"13317d2a-da11-47b1-acb7-1e979fba9dbb"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:51:00.716681+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4600","receipt_type":"automatic_mission_resume","idempotency_key":"mission:13317d2a-da11-47b1-acb7-1e979fba9dbb:automatic-mission-resume:4600:repair_mission_pr_ready_retryable","mission_step_id":"0a3d2acc-3a70-406f-9046-e8f49c18bc0c","command_center_event_id":"13317d2a-da11-47b1-acb7-1e979fba9dbb"},{"id":"bdd86561-154f-4266-b7cf-b06d6c4de763","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-83515a4a94d3","prNumber":4085,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"c2eea2a4ff6cec84887d9be917c3584c7c90739f","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:31:41.659294+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"c2eea2a4ff6cec84887d9be917c3584c7c90739f","external_id":"4085","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:83515a4a-94d3-4807-bbee-e6c6d341bc36:merged-pr:4085:c2eea2a4ff6cec84887d9be917c3584c7c90739f","mission_step_id":"e99e38c5-0fde-43d0-ae74-a4389ff9075b","command_center_event_id":"83515a4a-94d3-4807-bbee-e6c6d341bc36"},{"id":"bdd9dfbc-397f-49fd-adcc-6d7c89355528","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-interaction-friction","reason":"forgejo_release_source_not_contained_in_current_main","status":"blocked","metrics":{"receiptBytes":8349,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.47.4-pr-native-freshness","prNumber":395,"terminal":false,"missionId":"b40772e3-9979-4f71-b8f6-0d297f8d66c8","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"caa3ecb3a9d11c5ba47e4a3c5a56279aae6c84cc","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"b40772e3-9979-4f71-b8f6-0d297f8d66c8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5107,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-19T03:00:11.102847+00:00","proof_gate":"canonical_release_blocked","source_sha":"caa3ecb3a9d11c5ba47e4a3c5a56279aae6c84cc","external_id":"395","receipt_type":"execute_mission","idempotency_key":"mission:b40772e3-9979-4f71-b8f6-0d297f8d66c8:execute_mission:canonical_release_blocked","mission_step_id":"4debf524-e916-46e5-b5ab-8a8d532b3063","command_center_event_id":"b40772e3-9979-4f71-b8f6-0d297f8d66c8"},{"id":"bddc65f6-8110-418a-b276-96e2ace33677","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d42a3eb0b039","reason":"authoritative_source_resolution_failed","status":"source_resolution_required","metrics":{"receiptBytes":4167,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":14911,"firstUsefulResultAt":"2026-10-02T01:03:12.672Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.46-connection-research-human-readable-unknowns","prNumber":null,"terminal":false,"missionId":"d42a3eb0-b039-47f0-ac6b-d0fa0fd7604a","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1410,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":217,"providerAuthMs":0,"ledgerPrepareMs":217,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":217,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":217,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"d42a3eb0-b039-47f0-ac6b-d0fa0fd7604a"},"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":1671,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T01:03:12.726715+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d42a3eb0-b039-47f0-ac6b-d0fa0fd7604a:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"3f8516bc-0470-40b8-b4d1-2e4ef7a38dd9","command_center_event_id":"d42a3eb0-b039-47f0-ac6b-d0fa0fd7604a"},{"id":"bddc9820-a647-4a70-a629-bcf8a112399f","source":"cc-execution-mission-control","status":"verified","payload":{"branch":"ai/owner-authorizes-unfreeze-only-one-control-plane-cafdf071","headSha":"03d50dee8156351050ccc0409b2d7f0731a60bf2","prNumber":6891},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-14T22:23:41.378478+00:00","proof_gate":"forgejo_scoped_patch_pr_created","source_sha":null,"external_id":null,"receipt_type":"canonical_scoped_patch_pr_created","idempotency_key":"mission:c4398f92-48e2-4a52-b91c-6e9225fde9bc:pr:6891:implementation-created","mission_step_id":"2b293b2f-193d-40de-b595-44508b98b575","command_center_event_id":"c4398f92-48e2-4a52-b91c-6e9225fde9bc"},{"id":"bddd1457-a5b8-47c4-86df-aaecc51d869f","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-825effeea3ee","writes":[],"patches":[],"version":1,"approved":true,"missionId":"825effee-a3ee-4b8a-8249-073b827f502c","objective":"Implement the stale-tool compatibility adapter at the ChatGPT-to-Prime MCP boundary on this same mission.","sourceSha":"61fc38ea2e3972abac30de00d836e63c05970629","repository":"noel/KnockLaunchOS","visualProof":false,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/index-mcp.js","new_content":"const PUBLIC_TOOLS = TOOLS.filter((entry) => !INTERNAL_MUTATION_TOOLS.has(entry.name));\nconst PUBLIC_TOOL_NAME_SET = new Set(PUBLIC_TOOLS.map((entry) => entry.name));\nconst STALE_MUTATION_TOOL_ALIASES = new Set([\n  \"mission_apply_exact_patch\",\n  \"mission_continue_exact\",\n  \"mission_ship_exact\",\n]);\n\nexport function canonicalizeStaleMutationCommand(name, args = {}) {\n  const staleName = String(name || \"\").trim();\n  if (!STALE_MUTATION_TOOL_ALIASES.has(staleName)) return null;\n  const input = args && typeof args === \"object\" && !Array.isArray(args) ? { ...args } : {};\n  const defaultObjective = staleName === \"mission_ship_exact\"\n    ? \"Continue the existing durable mission through canonical Gate, merge, release, and proof.\"\n    : \"Continue the existing durable mission using the supplied exact deterministic continuation payload.\";\n  return {\n    command: \"execute_objective\",\n    input: {\n      ...input,\n      objective: String(input.objective || defaultObjective).trim(),\n      boundaryCanonicalizedFrom: staleName,\n      canonicalTool: \"execute_objective\",\n    },\n    boundaryCanonicalizedFrom: staleName,\n    canonicalTool: \"execute_objective\",\n  };\n}","old_content":"const PUBLIC_TOOLS = TOOLS.filter((entry) => !INTERNAL_MUTATION_TOOLS.has(entry.name));\nconst PUBLIC_TOOL_NAME_SET = new Set(PUBLIC_TOOLS.map((entry) => entry.name));"},{"path":"workers/cc-execution/src/index-mcp.js","new_content":"    if (name === \"command_center_execute\") {\n      const requestedCommand = String(args.command || \"\").trim();\n      const requestedInput = args.input && typeof args.input === \"object\" && !Array.isArray(args.input) ? args.input : {};\n      const staleCanonicalization = canonicalizeStaleMutationCommand(requestedCommand, requestedInput);\n      const command = staleCanonicalization?.command || requestedCommand;\n      const input = staleCanonicalization?.input || requestedInput;\n      const entry = TOOL_BY_NAME.get(command);\n      const publiclyAllowed = Boolean(entry) && PUBLIC_TOOL_NAME_SET.has(command) && !INTERNAL_MUTATION_TOOLS.has(command);\n      if (!publiclyAllowed) {\n        return jsonRpcError(message.id, -32003, \"Server-side command is not publicly callable\", {\n          proofGate: \"mcp_server_side_command_blocked\",\n          command: requestedCommand || null,\n        });\n      }\n      try {\n        const result = await invokeTool(request, env, ctx, entry, input, dispatch);\n        if (staleCanonicalization && result?.structuredContent) {\n          result.structuredContent = {\n            ...result.structuredContent,\n            boundaryCanonicalizedFrom: staleCanonicalization.boundaryCanonicalizedFrom,\n            canonicalTool: \"execute_objective\",\n          };\n        }\n        return jsonRpcResult(message.id, result);","old_content":"    if (name === \"command_center_execute\") {\n      const command = String(args.command || \"\").trim();\n      const input = args.input && typeof args.input === \"object\" && !Array.isArray(args.input) ? args.input : {};\n      const entry = TOOL_BY_NAME.get(command);\n      const publiclyAllowed = Boolean(entry) && PUBLIC_TOOL_NAME_SET.has(command) && !INTERNAL_MUTATION_TOOLS.has(command);\n      if (!publiclyAllowed) {\n        return jsonRpcError(message.id, -32003, \"Server-side command is not publicly callable\", {\n          proofGate: \"mcp_server_side_command_blocked\",\n          command: command || null,\n        });\n      }\n      try {\n        return jsonRpcResult(message.id, await invokeTool(request, env, ctx, entry, input, dispatch));"},{"path":"workers/cc-execution/src/index-mcp.js","new_content":"    const staleCanonicalization = canonicalizeStaleMutationCommand(name, args);\n    if (staleCanonicalization) {\n      const canonicalEntry = TOOL_BY_NAME.get(\"execute_objective\");\n      try {\n        const result = await invokeTool(request, env, ctx, canonicalEntry, staleCanonicalization.input, dispatch);\n        if (result?.structuredContent) {\n          result.structuredContent = {\n            ...result.structuredContent,\n            boundaryCanonicalizedFrom: staleCanonicalization.boundaryCanonicalizedFrom,\n            canonicalTool: \"execute_objective\",\n          };\n        }\n        return jsonRpcResult(message.id, result);\n      } catch (error) {\n        console.error(JSON.stringify({ event: \"mcp_stale_mutation_alias_failed\", tool: name, error: error instanceof Error ? error.message : String(error) }));\n        return jsonRpcResult(message.id, mcpToolResult(\"execute_objective\", { ok: false, status: \"blocked\", proofGate: \"mcp_stale_mutation_alias_failed\", boundaryCanonicalizedFrom: name, canonicalTool: \"execute_objective\" }, true));\n      }\n    }\n    const retiredTool = RETIRED_TOOLS.get(name);\n    if (retiredTool) {\n      return jsonRpcError(message.id, -32004, \"Tool retired\", retiredTool);\n    }\n    const entry = TOOL_BY_NAME.get(name);\n    if (!entry) return jsonRpcError(message.id, -32602, `Unknown tool: ${name}`);\n    if (INTERNAL_MUTATION_TOOLS.has(name)) {\n      return jsonRpcError(message.id, -32003, \"Internal mutation primitive is not publicly callable\", {\n        proofGate: \"single_public_mutation_lane_enforced\",\n        canonicalTool: \"execute_objective\",\n      });\n    }\n    try {\n      return jsonRpcResult(message.id, await invokeTool(request, env, ctx, entry, args, dispatch));","old_content":"    const retiredTool = RETIRED_TOOLS.get(name);\n    if (retiredTool) {\n      return jsonRpcError(message.id, -32004, \"Tool retired\", retiredTool);\n    }\n    const entry = TOOL_BY_NAME.get(name);\n    if (!entry) return jsonRpcError(message.id, -32602, `Unknown tool: ${name}`);\n    if (INTERNAL_MUTATION_TOOLS.has(name)) {\n      return jsonRpcError(message.id, -32003, \"Internal mutation primitive is not publicly callable\", {\n        proofGate: \"single_public_mutation_lane_enforced\",\n        canonicalTool: \"execute_objective\",\n      });\n    }\n    try {\n      return jsonRpcResult(message.id, await invokeTool(request, env, ctx, entry, args, dispatch));"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","new_content":"import { canonicalizeStaleMutationCommand, classifyOpenPullBacklog, handleMcpRequest, publicMcpCatalogSummary } from \"../src/index-mcp.js\";","old_content":"import { classifyOpenPullBacklog, handleMcpRequest, publicMcpCatalogSummary } from \"../src/index-mcp.js\";"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","new_content":"test(\"stale exact mutation tools canonicalize across the MCP boundary without synthesizing authorization\", () => {\n  for (const alias of [\"mission_apply_exact_patch\", \"mission_continue_exact\", \"mission_ship_exact\"]) {\n    const canonical = canonicalizeStaleMutationCommand(alias, { missionId: \"mission-1\", sourceSha: SOURCE_SHA });\n    assert.equal(canonical.command, \"execute_objective\");\n    assert.equal(canonical.boundaryCanonicalizedFrom, alias);\n    assert.equal(canonical.input.missionId, \"mission-1\");\n    assert.equal(canonical.input.sourceSha, SOURCE_SHA);\n    assert.equal(canonical.input.approved, undefined);\n    assert.equal(canonical.input.ownerApproved, undefined);\n    assert.equal(canonical.input.controlPlaneMaintenance, undefined);\n  }\n  assert.equal(canonicalizeStaleMutationCommand(\"merge_forgejo_pr\", {}), null);\n  assert.equal(canonicalizeStaleMutationCommand(\"totally_unknown_mutator\", {}), null);\n});\n\ntest(\"deterministic Gate quarantine is bound to the exact PR head\", () => {","old_content":"test(\"deterministic Gate quarantine is bound to the exact PR head\", () => {"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.67.5-tool-boundary-canonicalization\";","old_content":"export const CC_EXECUTION_VERSION = \"1.67.4-single-mutation-boundary\";"}],"implementation":{"files":[],"writes":[]},"requestContract":{"version":1,"outcomes":[{"id":"tool-boundary","statement":"Stale exact continuation tool calls are canonicalized at the MCP boundary into execute_objective rather than rejected before Prime sees them.","proofConditionIds":["repo","runtime"]}],"constraints":[{"id":"single-authority","statement":"execute_objective remains the only mutation authority.","proofConditionIds":["repo"]},{"id":"no-auth-bypass","statement":"Boundary canonicalization may not synthesize missing owner/control-plane authorization or weaken safety.","proofConditionIds":["repo"]}],"proofConditions":[{"id":"repo","kind":"repository","claim":"MCP boundary canonicalizes only allowlisted stale exact aliases into execute_objective and keeps unknown mutation tools blocked.","required":true},{"id":"runtime","kind":"runtime","claim":"Updated cc-execution runtime is live.","required":true}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"825effee-a3ee-4b8a-8249-073b827f502c","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":{"version":1,"outcomes":[{"id":"tool-boundary","statement":"Stale exact continuation tool calls are canonicalized at the MCP boundary into execute_objective rather than rejected before Prime sees them.","proofConditionIds":["repo","runtime"]}],"constraints":[{"id":"single-authority","statement":"execute_objective remains the only mutation authority.","proofConditionIds":["repo"]},{"id":"no-auth-bypass","statement":"Boundary canonicalization may not synthesize missing owner/control-plane authorization or weaken safety.","proofConditionIds":["repo"]}],"proofConditions":[{"id":"repo","kind":"repository","claim":"MCP boundary canonicalizes only allowlisted stale exact aliases into execute_objective and keeps unknown mutation tools blocked.","required":true},{"id":"runtime","kind":"runtime","claim":"Updated cc-execution runtime is live.","required":true}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner explicitly requires the ChatGPT-to-Prime tool boundary to canonicalize stale deterministic continuation tool calls rather than reject them before Prime."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner explicitly requires the ChatGPT-to-Prime tool boundary to canonicalize stale deterministic continuation tool calls rather than reject them before Prime."},"recovery":false,"fingerprint":"7a1f22de5fa497a44b717316133969c6f829b83b24c385f91104741f5dd9a7fe","replayCount":0,"serializedBytes":11505},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T17:29:39.930724+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:825effee-a3ee-4b8a-8249-073b827f502c:repository-mutation-intent:7a1f22de5fa497a44b717316133969c6f829b83b24c385f91104741f5dd9a7fe:0","mission_step_id":"2ca5f939-7636-4df6-8206-f63c5425c5bd","command_center_event_id":"825effee-a3ee-4b8a-8249-073b827f502c"},{"id":"bdde7f77-8a43-4e78-870b-35fa2a773c09","source":"forgejo","status":"waiting","payload":{"branch":"","prNumber":3158,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"07050c35b8c878caf4d34e2b37bc03ba656fe78f","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T22:46:53.756187+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"07050c35b8c878caf4d34e2b37bc03ba656fe78f","external_id":"3158","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:b25bf297-e3e7-4a59-aa66-d3216243739c:merged-pr:3158:07050c35b8c878caf4d34e2b37bc03ba656fe78f","mission_step_id":"7bd865ef-5e24-4f48-9663-b335e6744c6f","command_center_event_id":"b25bf297-e3e7-4a59-aa66-d3216243739c"},{"id":"bddeaa31-8450-4362-aa75-0daa053d8ce5","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/fix-lawn-care-editor-selection-default-20260804","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":null,"terminal":false,"missionId":"0be45703-41bd-4cf9-84db-e404c5275bb4","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and recall /repair/execute-mission automatically without another owner prompt.","receiptRef":{"mode":"full","missionId":"0be45703-41bd-4cf9-84db-e404c5275bb4"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":3346,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-04T18:47:55.674684+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0be45703-41bd-4cf9-84db-e404c5275bb4:execute_mission:repair_mission_synthesis_ready","mission_step_id":"2b4dadfd-0500-4168-a2b7-93dbc68c0b52","command_center_event_id":"0be45703-41bd-4cf9-84db-e404c5275bb4"},{"id":"bde23888-160e-4aa1-98da-0ad85418fc66","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"runtime_proof","branch":"ai/objective-first-repair-0270bdd55fff","reason":"anchored_edit_anchor_missing:supabase/functions/mobile-vendor-event-request/index.ts","status":"blocked","metrics":{"receiptBytes":46125,"releaseCount":0,"toolCallCount":23,"repeatedCallCount":13,"executorlessWaitMs":859467,"firstUsefulResultAt":"2026-10-02T16:26:26.763Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.64.50-onepath-source-domain","prNumber":null,"terminal":false,"missionId":"0270bdd5-5fff-46f3-bc11-c1481e103f21","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":988,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":988,"missionSetupMs":863,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":863,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":863,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":863,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0270bdd5-5fff-46f3-bc11-c1481e103f21"},"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":1547,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:53:34.321276+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0270bdd5-5fff-46f3-bc11-c1481e103f21:execute_mission:repair_mission_execution_blocked:generation-1","mission_step_id":"4427ad63-763a-4d54-a0ed-85de5899a772","command_center_event_id":"0270bdd5-5fff-46f3-bc11-c1481e103f21"},{"id":"bde41e5f-89b6-4958-9473-3a6b157dda19","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":"ai/objective-first-repair-d16be9483397","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2298,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":3967,"firstUsefulResultAt":"2026-10-04T20:16:08.545Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.94-terminal-completion-supervisor","prNumber":null,"terminal":false,"missionId":"d16be948-3397-40c1-becc-b4fea413676f","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4673,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":377,"providerAuthMs":0,"ledgerPrepareMs":377,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":377,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":377,"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":"d16be948-3397-40c1-becc-b4fea413676f"},"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":3770,"likelyAffectedFiles":["src/PcgAppShell.tsx","src/shells/pcg/PCGTenantShell.tsx","src/pages/card-grading/PCGCanonicalWorkspaceRoute.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T20:16:12.589019+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d16be948-3397-40c1-becc-b4fea413676f:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"e4c875fe-b014-43d2-ae11-5360311dac29","command_center_event_id":"d16be948-3397-40c1-becc-b4fea413676f"},{"id":"bde47c06-8b07-49c1-bf9f-9cfd38b2b583","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-594b664590ce","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.48-visual-proof-intent-routing","prNumber":null,"terminal":false,"missionId":"594b6645-90ce-44ec-b81a-33ec5aae6044","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":1818,"missionSetupMs":2635},"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":"594b6645-90ce-44ec-b81a-33ec5aae6044"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":9683,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","src/__tests__/contracts/command-center-event-runtime.test.ts","src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","config/control-plane-capabilities.json","scripts/validate-command-center-contracts.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T23:05:04.631814+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:594b6645-90ce-44ec-b81a-33ec5aae6044:execute_mission:repair_mission_synthesis_ready","mission_step_id":"8e875bc5-38fc-4b1b-b288-f667b84571c8","command_center_event_id":"594b6645-90ce-44ec-b81a-33ec5aae6044"},{"id":"bde69cb3-6ce5-406c-814c-02e7fc56a87f","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-8ade12620874","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.7-prime-stale-manual-retirement-adapter","prNumber":null,"terminal":false,"missionId":"8ade1262-0874-4ccb-964c-f41ec8a97bf4","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2618,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":506,"providerAuthMs":0,"ledgerPrepareMs":506,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":506,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":506,"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":"8ade1262-0874-4ccb-964c-f41ec8a97bf4"},"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":3923,"likelyAffectedFiles":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T01:57:57.435722+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8ade1262-0874-4ccb-964c-f41ec8a97bf4:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"b5f24fe7-82a1-4b16-81ad-5176c154424e","command_center_event_id":"8ade1262-0874-4ccb-964c-f41ec8a97bf4"},{"id":"bde706e8-95cf-4e67-91f8-80467021e813","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success"},"mainSha":"8fe58bb25112dfd908247ebebd054b70700c287d","missing":[],"pending":[],"required":["forgejo-main/source"],"sourceSha":"8fe58bb25112dfd908247ebebd054b70700c287d","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"e3731a95796e96c6bee98f76466add588d34aea56d40fd59c39edfe3d6afa71f","forgejoWorkflowProof":null,"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:22:23.313278+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"8fe58bb25112dfd908247ebebd054b70700c287d","external_id":"forgejo-main-8fe58bb25112","receipt_type":"canonical_release_status","idempotency_key":"mission:44d49e03-d254-40a5-b682-2e1dda0261fb:forgejo-release-status:8fe58bb25112dfd908247ebebd054b70700c287d:verified:forgejo-main/source=success","mission_step_id":"63e11856-2947-4e5e-a7dd-be2c7e480ef7","command_center_event_id":"44d49e03-d254-40a5-b682-2e1dda0261fb"},{"id":"bdeb311f-8a76-4c4a-9add-5e5a3e07dd1f","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/PrivateAppShell.tsx","config/platform-standards.json","scripts/visual-witness-hosted-runner/src/mission-gateway.mjs","config/system-reference-points/release-reliability-standard-2026-10-05.json"],"continuationObjective":"MUTATE AND SHIP EXISTING PR #5197. This is the current PCG P0 acceptance/Card Vault repair. Reuse the existing PR and branch only. Forgejo already reports exact-head Gate success for f32ba59c2245de2fb7ab052f5ff9eeddb18b90b3 and the PR is mergeable against current main. Consume that green Gate, merge through the canonical protected-main path, release the affected frontend, and verify the PCG acceptance/Card Vault behavior in production. Do not create replacement PRs or unrelated control-plane work. If the supervisor fails to advance, treat that as the causal defect and recover deterministically within this same execution."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T17:40:19.363898+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:c5a8bd5d-9248-42dd-89d8-65e7b8f67728:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"a68f53cd-77e7-48c5-b9b8-12ff78474e5c","command_center_event_id":"c5a8bd5d-9248-42dd-89d8-65e7b8f67728"},{"id":"bdf1b04c-4763-47a5-b523-86c6a7082de8","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d95acae96954","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":24552,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-02T21:49:46.829Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.53-paul-context-depth","prNumber":4536,"terminal":false,"missionId":"d95acae9-6954-49dc-9e9c-caebc0321692","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5722,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1935,"missionSetupMs":475,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":475,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":475,"repositoryMutationMs":3787,"repositoryProviderMs":3787,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2383,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":475,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1404},"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":"d95acae9-6954-49dc-9e9c-caebc0321692"},"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":3909,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T21:49:54.145154+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4536","receipt_type":"execute_mission","idempotency_key":"mission:d95acae9-6954-49dc-9e9c-caebc0321692:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"1b74e6b1-b027-447b-a11b-e1e33ce86abb","command_center_event_id":"d95acae9-6954-49dc-9e9c-caebc0321692"},{"id":"bdf340a2-f947-4fd5-bfde-db39281f2d4e","source":"cc-execution","status":"no_change","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/control-plane-1485-noop-canary-20260819","reason":null,"status":"no_change","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.5-single-mutation-lane","prNumber":null,"terminal":true,"missionId":"26b53534-2f70-4097-a904-98ec7a3b1c9d","operation":"execute_mission","proofGate":"repair_mission_no_change_verified","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"26b53534-2f70-4097-a904-98ec7a3b1c9d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5013,"ownerActionRequired":false,"ownerFacingTerminal":true,"continuationRequired":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T03:58:45.401075+00:00","proof_gate":"repair_mission_no_change_verified","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:26b53534-2f70-4097-a904-98ec7a3b1c9d:execute_mission:repair_mission_no_change_verified","mission_step_id":"d333d71e-b475-46bf-a33e-0a098f8ceacd","command_center_event_id":"26b53534-2f70-4097-a904-98ec7a3b1c9d"},{"id":"bdf49f10-f951-48f3-a6ba-5dc0dd787993","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":null,"owner_action_to_pr_ms":null,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":null},"ownerWaitLiveAt":"2026-09-10T02:12:52.697Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T01:53:01.010701+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:aa87b95e-0096-4470-bebc-05121e58a2d0:owner-wait-live","mission_step_id":"5be1a72f-d6e0-4184-a80e-1cd094895d6c","command_center_event_id":"aa87b95e-0096-4470-bebc-05121e58a2d0"},{"id":"bdf4ef13-1477-4ce8-a8ba-38bc2195ad6a","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"06472e1338f877d719a00136cc25d506a0e47b18","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"config-cache","satisfied":true,"statement":"Verified PCG R2 storage configuration is single-flighted and cached per tenant for 5 minutes within an Edge isolate.","proofConditionIds":["proof-live"]},{"id":"browser-cache","satisfied":true,"statement":"Successful signed PCG media responses use a one-hour private browser cache with stale-while-revalidate while preserving ETag and content headers.","proofConditionIds":["proof-live"]},{"id":"behavior","satisfied":true,"statement":"Existing signed media URLs, R2 reads, uploads, deletes, and authorization behavior remain unchanged.","proofConditionIds":["proof-live"]}],"satisfied":true,"constraints":[{"id":"no-auth-cache","satisfied":true,"statement":"Do not cache authenticated mutation decisions or error JSON.","proofConditionIds":["proof-live"]},{"id":"no-public-cache","satisfied":true,"statement":"Do not make signed PCG media publicly cacheable in shared caches.","proofConditionIds":["proof-live"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-live"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-live"]}],"contractHash":"5e2e57369c1c5890b9bc0e165c37b5fa66da6c1714cb123b035950659ae259ab","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-live","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"5e2e57369c1c5890b9bc0e165c37b5fa66da6c1714cb123b035950659ae259ab"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:20:34.863884+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"06472e1338f877d719a00136cc25d506a0e47b18","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:e6a7856b-a16a-44b6-9b64-b6529b859926:request-contract:5e2e57369c1c5890b9bc0e165c37b5fa66da6c1714cb123b035950659ae259ab:06472e1338f877d719a00136cc25d506a0e47b18:verified:","mission_step_id":"b996f4d0-f73c-44e3-86d3-81f10b51cf01","command_center_event_id":"e6a7856b-a16a-44b6-9b64-b6529b859926"},{"id":"bdf502c5-4092-4cdd-81f4-6b64a7ed6c37","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":"0cccfbf4b9c3811fccdfc98fcce33fc391cddebb","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"fa47e38cbd9caf4f939e9348b076164c197c534e","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":null,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13206","runId":13206,"status":"success","sourceSha":"fa47e38cbd9caf4f939e9348b076164c197c534e","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success","supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"success","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"06879d338058a9efbba3fcac45d1d3d6707ab4fb","sourceSha":"fa47e38cbd9caf4f939e9348b076164c197c534e","changedPaths":["src/__tests__/tenant-brand-media-settings.contract.test.ts","src/components/CRMUserMenu.tsx","src/components/platform/TenantBrandMediaSettings.tsx","src/lib/tenants/tenantMediaBranding.ts","supabase/functions/tenant-media-library/index.ts"],"changedPathCount":5,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T18:22:54.921477+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"fa47e38cbd9caf4f939e9348b076164c197c534e","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:e603e9dd-10ce-4982-bfd2-d979df863266:forgejo-release-status:fa47e38cbd9caf4f939e9348b076164c197c534e:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"3058bbfc-4b9d-45f5-bbf0-ca4c619b7db7","command_center_event_id":"e603e9dd-10ce-4982-bfd2-d979df863266"},{"id":"bdf65019-f889-4518-ae15-f9a1b1934048","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-edge-production/live":"pending"},"mainSha":"e61b410678c0cf2af2f4f408bc9382c5cefa2138","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"e61b410678c0cf2af2f4f408bc9382c5cefa2138","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["google-workspace-mail"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"2f07d9aab7561d314c703f96c2c27ac00d0795173de2ba4171e3fb73b9114ca3","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13547","runId":13547,"status":"running","sourceSha":"e61b410678c0cf2af2f4f408bc9382c5cefa2138","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending","supabaseEdge":"pending"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T01:03:53.33976+00:00","proof_gate":"canonical_release_pending","source_sha":"e61b410678c0cf2af2f4f408bc9382c5cefa2138","external_id":"forgejo-main-e61b410678c0","receipt_type":"canonical_release_status","idempotency_key":"mission:82187a1f-58b6-4681-869a-2c67d474a1ea:forgejo-release-status:e61b410678c0cf2af2f4f408bc9382c5cefa2138:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"44f8e840-f03e-4614-b9cf-2e881d5393e7","command_center_event_id":"82187a1f-58b6-4681-869a-2c67d474a1ea"},{"id":"bdf6875d-0add-4994-805c-ca39a1e67fa2","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T08:33:13.056202+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5163,\"sourceSha\":\"d059e784c8fb33ceeb0e36baec00e818ef3753e8\",\"deploymentId\":\"forgejo-main-d059e784c8fb\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T07:33:38.017872+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6cd825d0-ddfe-4532-8e8e-5f72704f5be5:owner-progress-heartbeat:119418134","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"bdf737dd-eca4-4005-835b-a6adc5fdc93b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-2de8885eb3fa","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":56558,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":4,"executorlessWaitMs":98715,"firstUsefulResultAt":"2026-10-03T01:05:05.772Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4578,"terminal":false,"missionId":"2de8885e-b3fa-4534-bcf4-73b46fc72746","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2207,"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":"2de8885e-b3fa-4534-bcf4-73b46fc72746"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:06:41.137167+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4578","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2de8885e-b3fa-4534-bcf4-73b46fc72746:automatic-mission-resume:4578:repair_mission_pr_ready_retryable","mission_step_id":"6c2b9137-3915-4bcc-8b41-fc1719902e0c","command_center_event_id":"2de8885e-b3fa-4534-bcf4-73b46fc72746"},{"id":"bdf7d485-c9f6-400e-97f6-5636db52cc30","source":"cc-execution","status":"repair_prepared","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/seaside-contrast-mobile-nav-20260807-r202608070415","reason":null,"status":"repair_prepared","metrics":{"receiptBytes":5184,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.30.20-pr-scoped-release-missions","prNumber":4179,"terminal":false,"missionId":"5d8409e2-c5ff-4721-8d07-ec106599fbf5","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":null,"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"5d8409e2-c5ff-4721-8d07-ec106599fbf5"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1233,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T04:15:29.545789+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"4179","receipt_type":"execute_mission","idempotency_key":"mission:5d8409e2-c5ff-4721-8d07-ec106599fbf5:execute_mission:repair_mission_prepared","mission_step_id":"0ad96ab9-101f-41b9-83b4-26e557021a8f","command_center_event_id":"5d8409e2-c5ff-4721-8d07-ec106599fbf5"},{"id":"bdf9737f-428c-46cd-94d5-06da48052750","source":"cc-execution","status":"recorded","payload":{"objective":"Continue PR #1368 on its existing branch. Add the exact migration that removes the obsolete one-estimate-per-contact uniqueness and creates a non-unique tenant/contact/updated lookup index. This is part of the already-authorized Redfish repair estimate work; do not release yet. Do not touch unrelated systems.","tenantRef":"Redfish Roofing","receivedAt":"2026-09-02T02:58:01.439Z","fingerprint":"907e0565589b88d27e17318d05fc9fc617fb0e5eff9007621ff58b01bed93142","workstreamRef":"redfishroofing","conversationId":null,"canonicalBranch":"ai/redfish-roof-repair-estimates-20260901","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue PR #1368 on its existing branch. Add the exact migration that removes the obsolete one-estimate-per-contact uniqueness and creates a non-unique tenant/contact/updated lookup index. This is part of the already-authorized Redfish repair estimate work; do not release yet. Do not touch unrelated systems.","wordingChanged":false,"canonicalIntent":"Continue PR #1368 on its existing branch. Add the exact migration that removes the obsolete one-estimate-per-contact uniqueness and creates a non-unique tenant/contact/updated lookup index. This is part of the already-authorized Redfish repair estimate work; do not release yet. Do not touch unrelated systems.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-repair-estimate","statement":"Redfish users can create and save a Repair estimate separately from a Full Replacement estimate for the same homeowner/property.","proofConditionIds":["proof-repair-production","proof-multiple-estimates"]},{"id":"outcome-estimate-detail","statement":"Saved estimates show type, scope summary, total, status and dates; repair estimates capture affected area, damage/problem, component/material, measurement, scope of work, notes, labor/material/other/disposal line items and pricing.","proofConditionIds":["proof-repair-production"]},{"id":"outcome-replacement-preserved","statement":"The existing Full Replacement Measure, Materials, Pricing and Review workflow remains available.","proofConditionIds":["proof-replacement-preserved"]},{"id":"outcome-contact-bound","statement":"Estimates created from Contact Workspace remain bound to the selected homeowner and property instead of requiring duplicate customer/property entry.","proofConditionIds":["proof-contact-bound"]}],"objective":"Continue PR #1368 on its existing branch. Add the exact migration that removes the obsolete one-estimate-per-contact uniqueness and creates a non-unique tenant/contact/updated lookup index. This is part of the already-authorized Redfish repair estimate work; do not release yet. Do not touch unrelated systems.","constraints":[{"id":"constraint-1","statement":"Use the existing public.roof_estimates table, calculation_metadata JSON and canonical line_items/pricing primitives; do not create a parallel estimate backend.","proofConditionIds":["proof-existing-primitive"]},{"id":"constraint-2","statement":"Preserve tenant isolation and existing replacement estimates; legacy rows without estimate_type metadata are treated as Full Replacement.","proofConditionIds":["proof-replacement-preserved","proof-contact-bound"]},{"id":"constraint-3","statement":"Use the existing branch and PR #1368; do not create a duplicate PR.","proofConditionIds":["proof-process"]},{"id":"constraint-4","statement":"The database must allow more than one roof estimate per tenant/contact while retaining an efficient tenant/contact lookup index.","proofConditionIds":["proof-multiple-estimates"]},{"id":"constraint-5","statement":"Require KnockLaunch Gate after the migration is added; squash merge through Forgejo.","proofConditionIds":["proof-process"]},{"id":"constraint-6","statement":"Release only the affected frontend and Supabase migration targets.","proofConditionIds":["proof-process"]},{"id":"constraint-7","statement":"Do not create fake demo records.","proofConditionIds":["proof-existing-primitive"]},{"id":"constraint-8","statement":"Visual Witness is not requested.","proofConditionIds":["proof-process"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repair-production","kind":"runtime","claim":"The released Redfish Contact Workspace estimate experience contains a New Repair creation path and the repair workflow fields, itemized pricing, status and saved-estimate summaries.","route":"/redfish-roofing/homeowners/:contactId","roleRef":null,"userRef":null,"required":true,"expectedText":"New Repair","targetedActions":[],"allowedReleaseTargets":["frontend","migrations"],"requiredReleaseTargets":["frontend"]},{"id":"proof-multiple-estimates","kind":"runtime","claim":"Production public.roof_estimates no longer enforces unique (contact_id, tenant_org_id) and has a non-unique tenant/contact/updated lookup index, so repair and replacement estimates can coexist.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations"],"requiredReleaseTargets":["migrations"]},{"id":"proof-replacement-preserved","kind":"repository","claim":"The Full Replacement workflow still exposes Measure, Materials, Pricing and Review steps after the repair-estimate change.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":[]},{"id":"proof-contact-bound","kind":"repository","claim":"ContactBoundRoofEstimator continues passing the selected contact and property fields into RoofEstimatorWizard/useRoofEstimate and saves them on roof_estimates.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":[]},{"id":"proof-existing-primitive","kind":"repository","claim":"The change continues using public.roof_estimates, calculation_metadata and line_items and does not add a parallel estimate table or fake demo data.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","migrations"],"requiredReleaseTargets":[]},{"id":"proof-process","kind":"repository","claim":"One existing PR #1368 is used, KnockLaunch Gate is required for the final generation, the change is squash merged through Forgejo, only frontend and migrations are released, and no visual witness is required.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","migrations"],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/redfish-roof-repair-estimates-20260901","conversationContext":null,"requestContractHash":"697cf7f07bf5487f186e3979b9ee9b74efa75c3d92401ff3f24abad88889457b","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T02:58:02.043072+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:a277198e-97a4-42ba-96bd-8321a910bbee:tenant-workstream-contribution:907e0565589b88d27e17318d05fc9fc617fb0e5eff9007621ff58b01bed93142","mission_step_id":null,"command_center_event_id":"a277198e-97a4-42ba-96bd-8321a910bbee"},{"id":"bdfa106b-b163-4167-80e8-5fc06521f63f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-forgejo-actions-operator-524-20260826","reason":"orphaned_branch_recovery_scope_mismatch:ai/fix-forgejo-actions-operator-524-20260826","status":"blocked","metrics":{"receiptBytes":4400,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.52.1-protected-main-release-handoff","prNumber":null,"terminal":false,"missionId":"49c6154a-22ac-46d5-ac37-5a6be555e074","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":479,"prReadinessMs":0,"approvedPlanMs":479,"missionSetupMs":805,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"49c6154a-22ac-46d5-ac37-5a6be555e074"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5195,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T23:38:30.325521+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:49c6154a-22ac-46d5-ac37-5a6be555e074:execute_mission:repair_mission_execution_blocked","mission_step_id":"bf13f5e6-1489-4feb-b2f4-760999b5d48e","command_center_event_id":"49c6154a-22ac-46d5-ac37-5a6be555e074"},{"id":"bdfb0c78-118b-4ced-a129-7ae106c47d65","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-9e2bde27f114","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.115-release-speed-lock","prNumber":null,"terminal":false,"missionId":"9e2bde27-f114-43ca-9cfa-7001f9d43aa7","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":853,"providerAuthMs":0,"ledgerPrepareMs":853,"ledgerReconcileMs":278,"lineageReconcileMs":0,"resolvePreflightMs":853,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1131,"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":"9e2bde27-f114-43ca-9cfa-7001f9d43aa7"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2517,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:16:03.359911+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9e2bde27-f114-43ca-9cfa-7001f9d43aa7:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"6a5e29df-25c4-4612-ba37-72eb852431ec","command_center_event_id":"9e2bde27-f114-43ca-9cfa-7001f9d43aa7"},{"id":"bdfbc486-40a2-4259-b083-bca9be0779ff","source":"cc-execution","status":"recorded","payload":{"objective":"Recover the missed Big Papi Supabase backend release from current Forgejo main. No source mutation, branch, or PR is required: current main already contains the correct SHA-pinned release workflow and the intended Big Papi backend source. Dispatch exactly one canonical backend release from source SHA a96a770e761ade0f88bb0fd3837b22db1822e502 for only these affected paths: supabase/functions/mobile-vendor-event-request/index.ts, supabase/functions/mobile-vendor-growth/index.ts, supabase/migrations/20260825061000_mobile_vendor_inventory_ledger.sql, supabase/migrations/20260825062000_mobile_vendor_event_finance_and_domain_truth.sql. Release only Supabase migrations and those two Edge Functions. Do not deploy frontend, cc-execution, or OnRunner. After release, require live proof that inventory tables exist, Big Papi tenant settings.website is https://bigpapiscoquitoiceys.com/, and mobile-vendor-event-request reports version 0.14.0-canonical-identity-inventory-catalog.","tenantRef":"766cfaa7-ac42-46c8-bbef-69d13268a29d","receivedAt":"2026-08-25T16:35:42.857Z","fingerprint":"c57dc5f2cbc6e40fcd226a487b4806365c5e381aa75028a5e568a81e2d6cbdc6","workstreamRef":"766cfaa7ac4246c8bbef69d13268a29d","conversationId":null,"canonicalBranch":null,"requestedBranch":null,"conversationContext":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-25T16:35:43.429846+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:472d6c93-01e9-49c0-ba95-72d5310a3e7c:tenant-workstream-contribution:c57dc5f2cbc6e40fcd226a487b4806365c5e381aa75028a5e568a81e2d6cbdc6","mission_step_id":null,"command_center_event_id":"472d6c93-01e9-49c0-ba95-72d5310a3e7c"},{"id":"bdfe2ed5-3bd6-4482-a169-a383b01a642e","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"release_verification_pending\",\"proofGate\":\"ship_and_prove_release_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"implementation\"],\"pendingIds\":[\"preflight\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-04T00:08:23.643899+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/editable-map-controls-and-parcel-options-r202608032358\",\"prNumber\":3922,\"sourceSha\":\"c6f2b526ca5fe0e0c61651004e275ff125f9f0ff\",\"deploymentId\":\"canonical-release-c6f2b526ca5f\"}"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T21:55:51.905633+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:b3102df2-2bcc-4fc3-95b4-ffe03a2461d3:owner-progress-heartbeat:119329423","mission_step_id":"19f38596-a24e-4890-871a-9257b4f0e865","command_center_event_id":"b3102df2-2bcc-4fc3-95b4-ffe03a2461d3"},{"id":"bdffbf39-2fd7-4620-98a0-18cbbdf16f10","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"runtime\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-23T15:19:19.724293+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-bc17ba05a9c9\",\"prNumber\":3509,\"sourceSha\":\"408a8cb75e551aba18ad4a867c877197ca7fbc2b\",\"deploymentId\":\"forgejo-main-408a8cb75e55\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T11:23:41.894905+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:bc17ba05-a9c9-4da0-851b-bb322456939b:owner-progress-heartbeat:119344174","mission_step_id":"fae9f6c0-d7ac-42c3-92a6-449e5aad0d84","command_center_event_id":"bc17ba05-a9c9-4da0-851b-bb322456939b"},{"id":"be0209c6-3e51-4ec5-98ed-128e70064373","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"0917f973b746779a52cc6f686c7d400e5c16045f","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"0917f973b746779a52cc6f686c7d400e5c16045f","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/229","runId":229,"status":"running","conclusion":null,"failedJobs":[]},"ccExecutionRuntimeProof":{"liveSha":"307657628d94084429fb8ce08dbe53940297b46f","deploymentId":"forgejo-main-307657628d94084429fb8ce08dbe53940297b46f","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.43.0-control-plane-efficiency-iii","containsSourceSha":false}},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T02:37:52.002747+00:00","proof_gate":"canonical_release_pending","source_sha":"0917f973b746779a52cc6f686c7d400e5c16045f","external_id":"forgejo-main-0917f973b746","receipt_type":"canonical_release_status","idempotency_key":"mission:f1063950-7071-42ee-a826-81d12e0decec:forgejo-release-status:0917f973b746779a52cc6f686c7d400e5c16045f:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"d054e37c-63fa-4dcb-aba8-3dc23fb7f3e4","command_center_event_id":"f1063950-7071-42ee-a826-81d12e0decec"},{"id":"be0340dd-595d-4ac7-891b-6561f9e0ab78","source":"forgejo","status":"waiting","payload":{"branch":"ai/curri-scroll-edge-gutter","prNumber":1972,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"d3e48687a3a4e8e803f729042d3ee68e62c0a76d","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-06T17:30:30.163759+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"d3e48687a3a4e8e803f729042d3ee68e62c0a76d","external_id":"1972","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:a4e24455-dcdd-4587-85e6-c274679447cd:merged-pr:1972:d3e48687a3a4e8e803f729042d3ee68e62c0a76d","mission_step_id":"fd025ffc-577d-4eb3-a6e1-e0206c2d5993","command_center_event_id":"a4e24455-dcdd-4587-85e6-c274679447cd"},{"id":"be03ea58-7437-4dff-bf1c-b583e67f34cf","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"e22d2ca83ac4da16d3b310e5daf14418855ad685","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repository","path":".forgejo/workflows/knocklaunch.yml","blobSha":"ed0f442cca77bf62742c84f98be0035eeee4dff1","expectedText":"if printf '%s\\n' \"$changed_paths\" | grep -Eq"}],"requestContractHash":"12bb17bc1315a6f726d99c9e10f9f39e586343f604d939a5e2e1b20f6128b021","namedGateEvidenceReceiptVersion":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:08:12.488925+00:00","proof_gate":"request_contract_repository_verified","source_sha":"e22d2ca83ac4da16d3b310e5daf14418855ad685","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:647b7f8a-e08b-49a4-97dd-fab75d1e17a3:request-contract-repository:12bb17bc1315a6f726d99c9e10f9f39e586343f604d939a5e2e1b20f6128b021:e22d2ca83ac4da16d3b310e5daf14418855ad685","mission_step_id":"30c2681b-b1e5-426b-bb11-59f89e129b01","command_center_event_id":"647b7f8a-e08b-49a4-97dd-fab75d1e17a3"},{"id":"be066007-ad84-4887-84c9-17d8429f718a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-2303bf6febc1","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":5987,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-03T22:06:48.836Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.88-paul-synthesis-normalized","prNumber":4684,"terminal":false,"missionId":"2303bf6f-ebc1-48c4-b91a-f225169f56d4","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5128,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1494,"missionSetupMs":258,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":258,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":258,"repositoryMutationMs":3634,"repositoryProviderMs":3634,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2319,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":258,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1315},"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":"2303bf6f-ebc1-48c4-b91a-f225169f56d4"},"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":3709,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T22:06:54.950441+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4684","receipt_type":"execute_mission","idempotency_key":"mission:2303bf6f-ebc1-48c4-b91a-f225169f56d4:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"c1e2ac0d-cc10-4cbf-901e-c0cbe0eb19c7","command_center_event_id":"2303bf6f-ebc1-48c4-b91a-f225169f56d4"},{"id":"be07603b-aac8-472d-a81d-f7c1cf080c3f","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/auto-merge-release-persistence-20260820","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.5-release-queue-freshness","prNumber":543,"terminal":false,"missionId":"235ff68d-bcab-4a7f-ba95-3c76885c8ca7","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"235ff68d-bcab-4a7f-ba95-3c76885c8ca7"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5085,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T04:17:08.576358+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"543","receipt_type":"execute_mission","idempotency_key":"mission:235ff68d-bcab-4a7f-ba95-3c76885c8ca7:execute_mission:canonical_release_transport_retryable","mission_step_id":"bd5697f2-e5db-4353-935f-1b169d490447","command_center_event_id":"235ff68d-bcab-4a7f-ba95-3c76885c8ca7"},{"id":"be0a9f79-91e1-4c2e-a9c2-7afe3cf75f1f","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-a8ec43274d21","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.48-guarded-legacy-pr-retirement","prNumber":null,"terminal":false,"missionId":"a8ec4327-4d21-40e7-b291-4dfd8e3de55c","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1566,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":497,"providerAuthMs":0,"ledgerPrepareMs":497,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":497,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":497,"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":"a8ec4327-4d21-40e7-b291-4dfd8e3de55c"},"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":6143,"likelyAffectedFiles":["src/pages/SelectTenant.tsx","src/lib/godmodeAccess.ts","src/contexts/MultiTenantContext.tsx","src/pages/connections/TenantConnections.tsx","supabase/functions/tenant-provider-connections/index.ts","supabase/functions/upsert-tenant-provider-secret/index.ts","src/__tests__/contracts/godmode-role-projection.contract.test.ts","src/__tests__/tenant-connections-standard.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:12:07.910182+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a8ec4327-4d21-40e7-b291-4dfd8e3de55c:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"7a3e4e68-d97b-4bae-8e5d-d66d632a42dd","command_center_event_id":"a8ec4327-4d21-40e7-b291-4dfd8e3de55c"},{"id":"be0ab413-ebfa-47ea-9599-1c5119f704ac","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/visual-witness-implement-and-prove-an-explicit-k","reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":1727,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.26-direct-route-visual-intent","prNumber":null,"terminal":false,"missionId":"a27cd572-38aa-45dc-9e1a-a4259edf8eab","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"a27cd572-38aa-45dc-9e1a-a4259edf8eab"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":462,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T13:58:02.512624+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a27cd572-38aa-45dc-9e1a-a4259edf8eab:execute_mission:repair_mission_execution_blocked","mission_step_id":"79d5237b-cfc5-45e6-9bee-08c1f3d8d1f7","command_center_event_id":"a27cd572-38aa-45dc-9e1a-a4259edf8eab"},{"id":"be0adf27-73af-4dcb-a498-2a58f1d02944","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c0df4bef6af3","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":130583,"releaseCount":0,"toolCallCount":63,"repeatedCallCount":56,"executorlessWaitMs":568849,"firstUsefulResultAt":"2026-10-06T16:45:56.962Z","recoveryAttemptCount":42,"ownerInterruptionCount":0},"version":null,"prNumber":5210,"terminal":false,"missionId":"c0df4bef-6af3-4c61-b7d1-75a7eef21c95","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":4000,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"c0df4bef-6af3-4c61-b7d1-75a7eef21c95"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1006,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T16:53:36.536097+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"5210","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c0df4bef-6af3-4c61-b7d1-75a7eef21c95:automatic-mission-resume:5210:repair_mission_waiting_for_gate","mission_step_id":"e88906aa-0d8d-4755-8bfc-7ecbe6cf8d0d","command_center_event_id":"c0df4bef-6af3-4c61-b7d1-75a7eef21c95"},{"id":"be0ca484-9765-4181-ad2e-f11bca688e8a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-witness-tenant-projection-20260823","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2777,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":null,"terminal":false,"missionId":"f4d27963-466c-4245-96c4-207badfd984a","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"f4d27963-466c-4245-96c4-207badfd984a"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":7594,"likelyAffectedFiles":["scripts/visual-witness-hosted-runner/src/universal-witness.mjs","scripts/visual-witness-hosted-runner/src/projection-storage-contract.mjs","scripts/visual-witness-hosted-runner/src/projection-storage-contract.test.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-23T21:59:03.530388+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f4d27963-466c-4245-96c4-207badfd984a:execute_mission:repair_mission_synthesis_ready","mission_step_id":"81ee7553-0b94-4ef0-a46f-1e961281a126","command_center_event_id":"f4d27963-466c-4245-96c4-207badfd984a"},{"id":"be111971-d708-4959-b010-8cef18d3d46f","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","release-targets/detection":"pending"},"mainSha":"196fd6980e546295f0c9a1d1c9247e47050d15e4","missing":[],"pending":["release-targets/detection"],"required":["forgejo-main/source","release-targets/detection"],"sourceSha":"196fd6980e546295f0c9a1d1c9247e47050d15e4","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":null,"releaseTargetStates":{},"requestContractHash":"716007d3dd2a30e4b23e6eefaf4544795666bcf7cc4ca51ae6548cfbaddafd82","forgejoWorkflowProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:45:56.603158+00:00","proof_gate":"canonical_release_pending","source_sha":"196fd6980e546295f0c9a1d1c9247e47050d15e4","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:729b5f56-ebf6-4e8a-a5fa-2c8727304b66:forgejo-release-status:196fd6980e546295f0c9a1d1c9247e47050d15e4:pending:forgejo-main/source=success|release-targets/detection=pending","mission_step_id":"fba04c14-55ce-4bc3-a830-61a480fcb047","command_center_event_id":"729b5f56-ebf6-4e8a-a5fa-2c8727304b66"},{"id":"be1195f0-f83e-4903-9df7-4106e70191ea","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-e2c4e5d0d3d4","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e2c4e5d0-d3d4-430f-a887-4f7105fc6751","objective":"Owner directive: \"Unfreeze the control plane for this optimization, then refreeze and lock it down when it is live and proven.\" Explicitly modify exactly .forgejo/workflows/knocklaunch.yml and config/control-plane-capabilities.json to remove the proven physical Gate startup tax from unused remote Forgejo action helpers; enforce at most two external action helpers in the physical Gate; preserve hard-safety checks, exact-head/live-main proof, domain-scoped QA, one canonical Gate/release authority, exact validated frontend artifact promotion, and parallel unrelated PR Gates. Encode targets: non-frontend physical Gate <=8s, routine UI Gate <=10s, UI merge-to-live <=15s, scoped backend/control-plane Gate <=20s, scoped release <=25s. Advance the freeze identity and leave controlPlaneFrozen=true when live and proven. No Visual Witness.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json"],"anchored_edits":[{"path":".forgejo/workflows/knocklaunch.yml","anchor":"      - name: Restore reusable frontend QA evidence\n        if: ${{ steps.gate-preclassify.outputs.frontend_toolchain == 'true' }}\n        id: gate-frontend-qa-evidence-restore\n        uses: https://data.forgejo.org/actions/cache/restore@v4\n        with:\n          path: .knocklaunch-gate-cache/frontend-qa-evidence\n          key: ${{ steps.gate-frontend-qa-evidence-key.outputs.key }}\n\n","replacement":""},{"path":".forgejo/workflows/knocklaunch.yml","anchor":"          FRONTEND_QA_EVIDENCE_HIT: ${{ steps.gate-frontend-qa-evidence-restore.outputs.cache-hit }}","replacement":"          FRONTEND_QA_EVIDENCE_HIT: 'false'"},{"path":".forgejo/workflows/knocklaunch.yml","anchor":"      - name: Save reusable frontend QA evidence before final main freshness verdict\n        if: ${{ steps.validate.outputs.frontend_qa_evidence_save == 'true' }}\n        continue-on-error: true\n        uses: https://data.forgejo.org/actions/cache/save@v4\n        with:\n          path: .knocklaunch-gate-cache/frontend-qa-evidence\n          key: ${{ steps.gate-frontend-qa-evidence-key.outputs.key }}\n\n","replacement":""},{"path":".forgejo/workflows/knocklaunch.yml","anchor":"      - name: Upload exact-head TypeScript incremental artifact\n        if: ${{ steps.validate.outputs.typescript_cache_save == 'true' }}\n        continue-on-error: true\n        uses: https://data.forgejo.org/actions/upload-artifact@v3\n        with:\n          name: ${{ steps.gate-ts-cache-key.outputs.head_artifact }}\n          path: .knocklaunch-gate-cache/tsconfig.app.native-ts7.tsbuildinfo\n          if-no-files-found: error\n          retention-days: 14\n\n","replacement":""},{"path":".forgejo/workflows/knocklaunch.yml","anchor":"      - name: Save exact validated frontend artifact to promotion cache\n        id: frontend_artifact_cache_save\n        if: ${{ steps.validate.outputs.frontend_artifact_save == 'true' }}\n        continue-on-error: true\n        uses: https://data.forgejo.org/actions/cache/save@v4\n        with:\n          path: |\n            dist\n            .knocklaunch-frontend-artifact/manifest.json\n          key: ${{ steps.gate-frontend-artifact-key.outputs.key }}\n\n","replacement":""},{"path":".forgejo/workflows/knocklaunch.yml","anchor":"          const gate = section('gate', 'release-cc-execution');\n          const gateHeader = gate.slice(0, gate.indexOf('    steps:'));\n          const frontend = section('release-frontend', 'release-migrations');","replacement":"          const gate = section('gate', 'release-cc-execution');\n          const gateHeader = gate.slice(0, gate.indexOf('    steps:'));\n          const frontend = section('release-frontend', 'release-migrations');\n          const remoteGateActions = [...gate.matchAll(/uses:\\s*https:\\/\\/data\\.forgejo\\.org\\/actions\\//g)];\n          if (remoteGateActions.length > 2) throw new Error(`Gate external action startup budget exceeded: ${remoteGateActions.length} > 2`);\n          if (gate.includes('actions/cache/restore@') || gate.includes('actions/cache/save@')) throw new Error('Gate must not split cache restore/save into separate remote action helpers');\n          if (gate.includes('name: Upload exact-head TypeScript incremental artifact')) throw new Error('Gate must not pay a dedicated remote upload helper for TypeScript buildinfo');\n          if (gate.includes('name: Save exact validated frontend artifact to promotion cache')) throw new Error('Gate must not pay a redundant remote promotion-cache helper when the exact cross-ref artifact is authoritative');"},{"path":"config/control-plane-capabilities.json","anchor":"    \"gateCacheSavePolicy\": \"one_combined_exact_dependency_cache_action_per_gate_legacy_exact_restore_key_allowed_current_exact_key_saved_by_post_step_typescript_cache_saved_after_each_successful_frontend_gate_by_semantic_input_key\",","replacement":"    \"gateCacheSavePolicy\": \"one_exact_dependency_cache_action_per_physical_gate_no_separate_remote_qa_evidence_restore_or_save_helpers_cross_ref_frontend_promotion_uses_one_exact_repository_visible_artifact\","},{"path":"config/control-plane-capabilities.json","anchor":"    \"gateTypeScriptIncrementalCachePolicy\": \"forgejo_repository_visible_artifact_native_ts7_tsbuildinfo_exact_compiler_manifest_tsconfig_base_src_tree_restore_exact_head_src_tree_publish_cross_pr_visible_current_source_graph_incrementally_revalidated_poisoned_buildinfo_deleted_on_failure\",","replacement":"    \"gateTypeScriptIncrementalCachePolicy\": \"no_dedicated_remote_upload_helper_on_gate_hot_path_exact_source_graph_is_revalidated_from_locked_dependencies_and_any_local_incremental_state_is_disposable_poisoned_buildinfo_deleted_on_failure\","},{"path":"config/control-plane-capabilities.json","anchor":"    \"frontendGateArtifactPromotionCachePolicy\": \"same_ref_actions_cache_opportunistic_cross_ref_repository_artifact_is_single_compressed_tgz_payload_exact_source_tree_browser_public_build_inputs_and_dist_integrity_manifest_required_prior_unpacked_server_artifact_read_compatible_exact_source_rebuild_final_fallback\",","replacement":"    \"frontendGateArtifactPromotionCachePolicy\": \"cross_ref_repository_artifact_is_primary_single_compressed_tgz_payload_exact_source_tree_browser_public_build_inputs_and_dist_integrity_manifest_required_no_redundant_pull_request_cache_save_exact_source_rebuild_final_fallback\","},{"path":"config/control-plane-capabilities.json","anchor":"    \"automaticMergeExactGreenTargetMs\": 2000,","replacement":"    \"automaticMergeExactGreenTargetMs\": 2000,\n    \"routineNonFrontendPhysicalGateTargetMs\": 8000,\n    \"routineFrontendGateTargetMs\": 10000,\n    \"routineFrontendMergeToLiveTargetMs\": 15000,\n    \"routineScopedBackendControlPlaneGateTargetMs\": 20000,\n    \"routineScopedBackendControlPlaneReleaseTargetMs\": 25000,\n    \"gateRemoteExternalActionRefsMax\": 2,\n    \"gateRemoteExternalActionBudgetPolicy\": \"physical_gate_may_resolve_at_most_two_external_action_helpers_dependency_cache_plus_exact_frontend_artifact_upload_all_other_gate_evidence_uses_local_or_direct_authenticated_paths\","},{"path":"config/control-plane-capabilities.json","anchor":"    \"controlPlaneFreezeVersion\": \"1.58.94-release-machinery-hardening-refreeze\",","replacement":"    \"controlPlaneFreezeVersion\": \"1.65.4-seconds-class-delivery-hardening-refreeze\","}],"implementation":{"files":[],"writes":[]},"requestContract":{"source":"current_owner_request","version":1,"explicit":true,"outcomes":[{"id":"optimize-refreeze","statement":"Modify the exact two control-plane files, ship the hot-path optimization, prove it live, and leave the control plane refrozen.","proofConditionIds":["runtime-proof"]}],"objective":"Owner directive: \"Unfreeze the control plane for this optimization, then refreeze and lock it down when it is live and proven.\" Explicitly modify exactly .forgejo/workflows/knocklaunch.yml and config/control-plane-capabilities.json to remove the proven physical Gate startup tax from unused remote Forgejo action helpers; enforce at most two external action helpers in the physical Gate; preserve hard-safety checks, exact-head/live-main proof, domain-scoped QA, one canonical Gate/release authority, exact validated frontend artifact promotion, and parallel unrelated PR Gates. Encode targets: non-frontend physical Gate <=8s, routine UI Gate <=10s, UI merge-to-live <=15s, scoped backend/control-plane Gate <=20s, scoped release <=25s. Advance the freeze identity and leave controlPlaneFrozen=true when live and proven. No Visual Witness.","constraints":[{"id":"owner-unfreeze","statement":"The owner explicitly authorizes unfreezing the control plane for this optimization.","proofConditionIds":["runtime-proof"]},{"id":"exact-scope","statement":"Only .forgejo/workflows/knocklaunch.yml and config/control-plane-capabilities.json may be modified.","proofConditionIds":["runtime-proof"]},{"id":"hard-safety","statement":"Hard safety checks may never be skipped or weakened.","proofConditionIds":["runtime-proof"]},{"id":"refreeze","statement":"The control plane must be refrozen and locked down when the optimization is live and proven.","proofConditionIds":["runtime-proof"]}],"proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"The optimized Gate/release machinery is live, timing is proven, and the control plane is refrozen at the new production source.","required":true}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json"],"requestContract":{"source":"current_owner_request","version":1,"explicit":true,"outcomes":[{"id":"optimize-refreeze","statement":"Modify the exact two control-plane files, ship the hot-path optimization, prove it live, and leave the control plane refrozen.","proofConditionIds":["runtime-proof"]}],"objective":"Owner directive: \"Unfreeze the control plane for this optimization, then refreeze and lock it down when it is live and proven.\" Explicitly modify exactly .forgejo/workflows/knocklaunch.yml and config/control-plane-capabilities.json to remove the proven physical Gate startup tax from unused remote Forgejo action helpers; enforce at most two external action helpers in the physical Gate; preserve hard-safety checks, exact-head/live-main proof, domain-scoped QA, one canonical Gate/release authority, exact validated frontend artifact promotion, and parallel unrelated PR Gates. Encode targets: non-frontend physical Gate <=8s, routine UI Gate <=10s, UI merge-to-live <=15s, scoped backend/control-plane Gate <=20s, scoped release <=25s. Advance the freeze identity and leave controlPlaneFrozen=true when live and proven. No Visual Witness.","constraints":[{"id":"owner-unfreeze","statement":"The owner explicitly authorizes unfreezing the control plane for this optimization.","proofConditionIds":["runtime-proof"]},{"id":"exact-scope","statement":"Only .forgejo/workflows/knocklaunch.yml and config/control-plane-capabilities.json may be modified.","proofConditionIds":["runtime-proof"]},{"id":"hard-safety","statement":"Hard safety checks may never be skipped or weakened.","proofConditionIds":["runtime-proof"]},{"id":"refreeze","statement":"The control plane must be refrozen and locked down when the optimization is live and proven.","proofConditionIds":["runtime-proof"]}],"proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"The optimized Gate/release machinery is live, timing is proven, and the control plane is refrozen at the new production source.","required":true}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json"],"controlPlaneMaintenanceReason":"Owner explicitly authorized unfreezing for this exact optimization and required refreeze after live proof."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json"],"controlPlaneMaintenanceReason":"Owner explicitly authorized unfreezing for this exact optimization and required refreeze after live proof."},"recovery":false,"fingerprint":"566fd64c58caa4e70681b26005f2cbf8e2d83f5b03f3a450e5e848ec7b11b04a","replayCount":0,"serializedBytes":12683},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T21:03:42.035328+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e2c4e5d0-d3d4-430f-a887-4f7105fc6751:repository-mutation-intent:566fd64c58caa4e70681b26005f2cbf8e2d83f5b03f3a450e5e848ec7b11b04a:0","mission_step_id":"a92a3d7a-0f7a-4698-97cc-0b9196f07426","command_center_event_id":"e2c4e5d0-d3d4-430f-a887-4f7105fc6751"},{"id":"be12c660-91a1-4b7e-84ee-e19d123e12bc","source":"cc-execution","status":"recorded","payload":{"objective":"Mount the real Cafe QSR storefront","tenantRef":"69c86c8d-c737-439a-8f30-3246af0b3ad1","receivedAt":"2026-08-18T14:01:25.335Z","fingerprint":"e48afa9c4e34f49328a08989a6cc2260b22d10ecd90d5c918b3cc6c46188197c","workstreamRef":"69c86c8dc737439a8f303246af0b3ad1","conversationId":null,"canonicalBranch":"ai/cafe-qsr-template-20260817","requestedBranch":"ai/cafe-qsr-public-route-mount-fix-20260818","conversationContext":null},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-18T14:01:26.011433+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:2e6daddd-a84f-4378-9db4-490413fefbaf:tenant-workstream-contribution:e48afa9c4e34f49328a08989a6cc2260b22d10ecd90d5c918b3cc6c46188197c","mission_step_id":"5fc7bd8f-209e-40d8-a005-28fd03f16f7c","command_center_event_id":"2e6daddd-a84f-4378-9db4-490413fefbaf"},{"id":"be167a24-6e62-4c1a-be52-bdb1ebb980b0","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":"ai/objective-first-repair-ef8ef070365b","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":7524,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":92977,"firstUsefulResultAt":"2026-10-03T02:19:32.561Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.68-paul-web-acquisition","prNumber":null,"terminal":false,"missionId":"ef8ef070-365b-46fc-95e1-22c35fb886dc","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1179,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":271,"providerAuthMs":0,"ledgerPrepareMs":271,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":271,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":271,"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":"ef8ef070-365b-46fc-95e1-22c35fb886dc"},"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":3783,"likelyAffectedFiles":["src/pages/settings/TenantSettingsPageWithWebsiteAssets.tsx","src/shells/modesTenantShell.ts","src/shells/TenantModesShell.tsx","supabase/functions/tenant-media-library/index.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:19:32.601542+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ef8ef070-365b-46fc-95e1-22c35fb886dc:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"22779fa6-7ea3-464e-8e9f-e3a32d2a9ccb","command_center_event_id":"ef8ef070-365b-46fc-95e1-22c35fb886dc"},{"id":"be172822-8728-4d08-bddb-86091b551888","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"7301a14c6514c0afe36b1da3c9c6cd88437ee69b","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"7301a14c6514c0afe36b1da3c9c6cd88437ee69b","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"91032a7b51d61b72bff55a571c0027448a3404b286b19bb0f110e0ce57593d76","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/13057","runId":13057,"status":"waiting","sourceSha":"7301a14c6514c0afe36b1da3c9c6cd88437ee69b","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"pending"},"targetJobCount":6,"observedTargetStates":{"ccExecution":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"4ff2a40642a621384920e97dcc7a8d93eb519eeb","deploymentId":"forgejo-main-4ff2a40642a621384920e97dcc7a8d93eb519eeb","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.64.0-platform-sidekick-intelligence","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T14:46:19.033088+00:00","proof_gate":"canonical_release_pending","source_sha":"7301a14c6514c0afe36b1da3c9c6cd88437ee69b","external_id":"forgejo-main-7301a14c6514","receipt_type":"canonical_release_status","idempotency_key":"mission:12978616-8236-42a0-bff7-69f525cf900b:forgejo-release-status:7301a14c6514c0afe36b1da3c9c6cd88437ee69b:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"ba25a0fd-471c-4413-ab6e-587eb21c6430","command_center_event_id":"12978616-8236-42a0-bff7-69f525cf900b"},{"id":"be183252-feb6-4f65-b62d-28ef10ca5358","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"f7aee76a8d02233c805bf437f7f6cec803fb6cb7","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"bootstrap","satisfied":true,"statement":"A pre-feature runtime 403 from the new intent transport remains visible but no longer invalidates an otherwise green Gate.","proofConditionIds":["repo","gate"]},{"id":"architecture","satisfied":true,"statement":"The second notifier job stays removed and the 1.58.43 handler remains the independent green-verification owner.","proofConditionIds":["repo","runtime"]},{"id":"proof","satisfied":true,"statement":"Post-deploy proof against live 1.58.43 must show successful intent-driven auto-progression without notifier job.","proofConditionIds":["benchmark"]},{"id":"refreeze","satisfied":true,"statement":"Control plane refrozen after proof.","proofConditionIds":["refrozen"]}],"satisfied":true,"constraints":[{"id":"safety","satisfied":true,"statement":"The intent script still exits nonzero on non-2xx, recovery supervisor remains fallback, and no running Gate self-certifies green.","proofConditionIds":["repo","gate","runtime"]}],"contractHash":"589557aecba1d5e4f4d1e6f5a6950c056da077da9c68fd38cfe2b8db430f69ce","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"589557aecba1d5e4f4d1e6f5a6950c056da077da9c68fd38cfe2b8db430f69ce"},"required":true,"satisfied":true},{"id":"gate","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"589557aecba1d5e4f4d1e6f5a6950c056da077da9c68fd38cfe2b8db430f69ce"},"required":true,"satisfied":true},{"id":"runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"589557aecba1d5e4f4d1e6f5a6950c056da077da9c68fd38cfe2b8db430f69ce"},"required":true,"satisfied":true},{"id":"benchmark","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"589557aecba1d5e4f4d1e6f5a6950c056da077da9c68fd38cfe2b8db430f69ce"},"required":true,"satisfied":true},{"id":"refrozen","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"589557aecba1d5e4f4d1e6f5a6950c056da077da9c68fd38cfe2b8db430f69ce"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":5},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T13:19:31.525097+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"f7aee76a8d02233c805bf437f7f6cec803fb6cb7","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:cc66771b-8e30-4451-a87b-29b6419f9c8f:request-contract:589557aecba1d5e4f4d1e6f5a6950c056da077da9c68fd38cfe2b8db430f69ce:f7aee76a8d02233c805bf437f7f6cec803fb6cb7:verified:","mission_step_id":"04219198-7c15-4148-9f86-013e38fca28c","command_center_event_id":"cc66771b-8e30-4451-a87b-29b6419f9c8f"},{"id":"be18ca2c-1d5f-4659-9bb3-96fb16223358","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"success","supabase-migrations/live":"success","supabase-edge-production/live":"pending"},"mainSha":"413252b1da211238f36322af3bf1dd554f41df71","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"413252b1da211238f36322af3bf1dd554f41df71","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["marketing-campaign-dispatch"]},"releaseTargetStates":{"frontend":"success","migrations":"success","supabaseEdge":"pending"},"requestContractHash":"871b0e527d80b2d5508c4531af772fb480a3e7ceba16c4d39eae61a594deada7","forgejoWorkflowProof":{"runId":13844,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"success","migrations":"success","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","migrations":"success","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T12:52:42.556116+00:00","proof_gate":"canonical_release_pending","source_sha":"413252b1da211238f36322af3bf1dd554f41df71","external_id":"forgejo-main-413252b1da21","receipt_type":"canonical_release_status","idempotency_key":"mission:e941883c-e08c-4d2b-ac54-4eeb4afee0b1:forgejo-release-status:413252b1da211238f36322af3bf1dd554f41df71:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=success|supabase-migrations/live=success","mission_step_id":"47f87b39-0db3-4086-a170-50d0f57b239f","command_center_event_id":"e941883c-e08c-4d2b-ac54-4eeb4afee0b1"},{"id":"be18f82a-6520-4f4e-bf7f-52f66f8b01eb","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_frozen_explicit_unfreeze_required","fingerprint":"8666ea370fe9c9c41be052a46b85aa5facb19bb93b7f39f33c5000ad1243187f"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T15:47:08.927544+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:63adcd7e-3f25-4473-b073-5216c0bb17dc:repository-mutation-intent-blocked:8666ea370fe9c9c41be052a46b85aa5facb19bb93b7f39f33c5000ad1243187f","mission_step_id":"0685eabf-6479-4530-a882-c13bee4f6e4d","command_center_event_id":"63adcd7e-3f25-4473-b073-5216c0bb17dc"},{"id":"be196f26-084e-46c6-a322-750ba194baf7","source":"cc-execution","status":"no_change","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-850a73db30fe","reason":null,"status":"no_change","metrics":{"receiptBytes":10128,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":1,"executorlessWaitMs":114343,"firstUsefulResultAt":"2026-10-03T21:18:50.219Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.77-paul-heldout-repair","prNumber":null,"terminal":false,"missionId":"850a73db-30fe-47b2-9651-e2dff4f26843","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":504,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":255,"providerAuthMs":0,"ledgerPrepareMs":255,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":255,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":255,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"pull_request_required","receiptRef":{"mode":"full","missionId":"850a73db-30fe-47b2-9651-e2dff4f26843"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1384,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T21:20:46.963368+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:850a73db-30fe-47b2-9651-e2dff4f26843:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"1535e058-fa36-4acf-86ad-8b9049932923","command_center_event_id":"850a73db-30fe-47b2-9651-e2dff4f26843"},{"id":"be19859f-660c-4188-85af-3b3bd3e23c1c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"github_auth_failed","status":"retryable","metrics":{"receiptBytes":977,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.23-targeted-owner-preflight","prNumber":4384,"terminal":false,"missionId":"372257d1-8fc0-42c8-802f-85e25537db39","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"372257d1-8fc0-42c8-802f-85e25537db39"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":469,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-08T20:41:30.764272+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4384","receipt_type":"execute_mission","idempotency_key":"mission:372257d1-8fc0-42c8-802f-85e25537db39:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"2d826cc4-6534-4195-af2d-6da3f8f7a5ee","command_center_event_id":"372257d1-8fc0-42c8-802f-85e25537db39"},{"id":"be19ab6d-99f7-42eb-8bdc-e2df1d65c387","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-43eb9b8cc50a","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.90-mission-terminalization","prNumber":null,"terminal":false,"missionId":"43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":112,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":424,"providerAuthMs":0,"ledgerPrepareMs":306,"ledgerReconcileMs":0,"lineageReconcileMs":118,"resolvePreflightMs":424,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":306,"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":"43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3282,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T05:17:22.186625+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"e4a0dafb-8442-4706-a5d5-c4020c42960d","command_center_event_id":"43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338"},{"id":"be19b03c-6bc5-46f6-a97a-afa649d40095","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"78c897179420d7ef7228abc23b0f77e95c57b2a0","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"P0 PCG Create Submission routing repair. Live owner proof shows Create Submission from /pcg/dashboard?mode=submissions can eject the session into an unrelated tenant route such as /big-papis/owner/settings/media. Fix the exact post-create transition so a successful PCG submission remains inside the dedicated PcgAppShell, preserves the PCG tenant binding, and opens the newly created submission/card-intake surface where front/back card images can be uploaded. Never navigate to another tenant, last-used tenant, PrivateAppShell, or generic owner route. Preserve current receive-card form behavior and tenant isolation. Add focused regression coverage. Gate, squash merge, release affected owners, and visually prove the exact production Create Submission flow.","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"511d58b3c2435915467dc7bf70686784cfc5d2cfc8252b401f20c7604c389b06","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":"511d58b3c2435915467dc7bf70686784cfc5d2cfc8252b401f20c7604c389b06"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"78c897179420d7ef7228abc23b0f77e95c57b2a0","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T13:24:36.127615+00:00","proof_gate":"request_contract_pending","source_sha":"78c897179420d7ef7228abc23b0f77e95c57b2a0","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:64e0593a-efa6-447d-8529-3acc58e28fd6:request-contract:511d58b3c2435915467dc7bf70686784cfc5d2cfc8252b401f20c7604c389b06:78c897179420d7ef7228abc23b0f77e95c57b2a0:pending:visual","mission_step_id":"4046b852-cb3e-4437-b209-f838dc6a34a3","command_center_event_id":"64e0593a-efa6-447d-8529-3acc58e28fd6"},{"id":"be1ad778-a737-4cdc-8881-61fc0d088717","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ad191708ce11","reason":"control_plane_maintenance_base_sha_mismatch","status":"blocked","metrics":{"receiptBytes":63667,"releaseCount":1,"toolCallCount":12,"repeatedCallCount":4,"executorlessWaitMs":1808036,"firstUsefulResultAt":"2026-09-30T18:49:48.862Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.21-paul-present-tense-continuation","prNumber":null,"terminal":false,"missionId":"ad191708-ce11-43d0-bd1e-41cf5e6e9431","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":"4b998244e15b439fb942afc1c12e6df3ed165911","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":179,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":179,"missionSetupMs":390,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":322,"ledgerReconcileMs":0,"lineageReconcileMs":68,"resolvePreflightMs":390,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":322,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"ad191708-ce11-43d0-bd1e-41cf5e6e9431"},"performance":null,"deploymentId":"forgejo-main-4b998244e15b","releaseState":null,"workflowRunId":13435,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1541,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T19:18:14.603211+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":"4b998244e15b439fb942afc1c12e6df3ed165911","external_id":"forgejo-main-4b998244e15b","receipt_type":"execute_mission","idempotency_key":"mission:ad191708-ce11-43d0-bd1e-41cf5e6e9431:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"6f0191ce-1c8e-4bdb-b82e-f0ee9dc41baf","command_center_event_id":"ad191708-ce11-43d0-bd1e-41cf5e6e9431"},{"id":"be1bed51-487f-47da-b5cf-4a4b182be9ac","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":"f33fdb3b-73a8-4df8-a2f5-550eddbbbeca","phase":"pull_request","branch":"ai/visual-witness-firefox-retry-g8","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":9,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.158-visual-witness-container-rollout","prNumber":2892,"terminal":false,"missionId":"25776a3e-f543-4fb8-921f-4747b7def5a8","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":12624,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":269,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":269,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":269,"repositoryMutationMs":12624,"repositoryProviderMs":11111,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":4781,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":269,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":6330},"nextAction":"Canonical KnockLaunch Gate notifier and mission supervisor own progression from this exact PR head; do not synchronously poll Forgejo from the owner request.","receiptRef":{"mode":"full","missionId":"25776a3e-f543-4fb8-921f-4747b7def5a8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3304,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T06:26:43.581051+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"f33fdb3b-73a8-4df8-a2f5-550eddbbbeca","receipt_type":"execute_mission","idempotency_key":"mission:25776a3e-f543-4fb8-921f-4747b7def5a8:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:generation-8","mission_step_id":"12611830-4e24-47b0-8186-fe5b9970fd62","command_center_event_id":"25776a3e-f543-4fb8-921f-4747b7def5a8"},{"id":"be235534-bffc-45da-9e4c-6d8b25016e32","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3a33a7f6e8bd","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":11504,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":3,"executorlessWaitMs":180852,"firstUsefulResultAt":"2026-10-02T21:24:39.318Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":4533,"terminal":false,"missionId":"3a33a7f6-e8bd-40ca-92a9-65e1e94f241f","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"3b6fa3175433f553599b4ce105330026c98d771b","timingsMs":{"prReadinessMs":576,"approvedPlanMs":0,"shipAndProveMs":2927,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"3a33a7f6-e8bd-40ca-92a9-65e1e94f241f"},"performance":null,"deploymentId":"forgejo-main-3b6fa3175433","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1801,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T21:27:47.964504+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4533","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3a33a7f6-e8bd-40ca-92a9-65e1e94f241f:automatic-mission-resume:4533:canonical_release_reconciliation_pending","mission_step_id":"90f86d74-866a-4284-b29e-f5c8e7cd301a","command_center_event_id":"3a33a7f6-e8bd-40ca-92a9-65e1e94f241f"},{"id":"be24cbe9-2444-4e14-9065-0535e71d8f38","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/exact-green-bounded-latch-v2-20260904","reason":"anchored_edit_anchor_missing:config/control-plane-capabilities.json","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.48-exact-green-auto-refresh-refreeze","prNumber":null,"terminal":false,"missionId":"e8d3985f-d85f-4265-9d18-a88e26cab116","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1567,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":619,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":619,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":619,"repositoryMutationMs":1567,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":619,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"e8d3985f-d85f-4265-9d18-a88e26cab116"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1517,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T13:55:33.734365+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:e8d3985f-d85f-4265-9d18-a88e26cab116:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"25312c4c-8429-4806-a9cf-0f68bcc19dfe","command_center_event_id":"e8d3985f-d85f-4265-9d18-a88e26cab116"},{"id":"be263a6a-5525-4bbe-9d2c-45e8382f3cdc","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane only for this bounded proof-kind correction on current main 5b5faac378335d272039a52560918dfda6d06674, apply the three exact edits, deploy cc-execution only, verify version 1.58.118-request-proof-kind-aware, then refreeze the control plane.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane only for this bounded proof-kind correction on current main 5b5faac378335d272039a52560918dfda6d06674, apply the three exact edits, deploy cc-execution only, verify version 1.58.118-request-proof-kind-aware, then refreeze the control plane.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Runtime/release/scope migration-applied claims still infer migrations and fail closed when migrations is absent.","proofConditionIds":["proof-1","proof-2"]},{"id":"outcome-2","statement":"Repository proof prose that merely mentions/describes a migration regression does not implicitly require the migrations release target.","proofConditionIds":["proof-1","proof-2"]},{"id":"outcome-3","statement":"Production cc-execution runs 1.58.118-request-proof-kind-aware on the merged SHA and the control plane is frozen after deployment.","proofConditionIds":["proof-2"]}],"objective":"Unfreeze the control plane only for this bounded proof-kind correction on current main 5b5faac378335d272039a52560918dfda6d06674, apply the three exact edits, deploy cc-execution only, verify version 1.58.118-request-proof-kind-aware, then refreeze the control plane.","constraints":[{"id":"constraint-1","statement":"Preserve target-aware enforcement, release singleflight, queue-snapshot-first improvements, and legitimate edge-only missions.","proofConditionIds":["proof-1","proof-2"]},{"id":"constraint-2","statement":"No parallel verifier, release lane, mission ledger, tenant behavior change, or database mutation.","proofConditionIds":["proof-1"]},{"id":"constraint-3","statement":"One branch, one PR, one Gate, one squash merge, ccExecution-only release.","proofConditionIds":["proof-2"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-1","kind":"repository","claim":"Merged source and contract regression tests implement proof-kind-aware migration inference and preserve the original missing-migration runtime fail-closed case.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":[]},{"id":"proof-2","kind":"runtime","claim":"Production cc-execution runs version 1.58.118-request-proof-kind-aware on the merged SHA and the maintenance window is closed/frozen.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"4ed783065b300e019eab6d8454d3b07133adf3a5420223b6ecc0517d8e2b8fe3","requestContractRevision":3,"previousRequestContractHash":"636f864cde2692e7e70680f38f07494fbd6eb34243b26ed0e4b9a968349c5db6"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:32:47.459403+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:11a7db98-6a2a-4928-ae51-603014ea7da5:request-contract:4ed783065b300e019eab6d8454d3b07133adf3a5420223b6ecc0517d8e2b8fe3","mission_step_id":"bee2031a-4ead-40b5-875d-e8aa4912cab8","command_center_event_id":"11a7db98-6a2a-4928-ae51-603014ea7da5"},{"id":"be274ac5-6e49-4d9e-8e8f-ce178bdb9d65","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Apply the exact single-file Restore Points owner-facing copy update from current main. Change only src/pages/admin/GodModeRestorePoints.tsx. Preserve all existing admin action names and explicit RESTORE confirmation. Continue through one PR, Gate, squash merge, frontend release, and production proof.","wordingChanged":false,"canonicalIntent":"Apply the exact single-file Restore Points owner-facing copy update from current main. Change only src/pages/admin/GodModeRestorePoints.tsx. Preserve all existing admin action names and explicit RESTORE confirmation. Continue through one PR, Gate, squash merge, frontend release, and production proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"human-primary-copy","statement":"Restore Points primary UI explains saved state, timing, readiness, purpose, impact, and preserved data in plain owner-facing language without leading with repository/runtime identifiers.","proofConditionIds":["repository-proof","production-proof"]},{"id":"technical-secondary","statement":"Engineering identifiers and mechanics remain available only inside Technical details disclosures for troubleshooting.","proofConditionIds":["repository-proof","production-proof"]},{"id":"safe-review","statement":"Review and restore confirmation remain non-destructive until explicit RESTORE confirmation and existing backend execution behavior is preserved.","proofConditionIds":["repository-proof"]}],"objective":"Apply the exact single-file Restore Points owner-facing copy update from current main. Change only src/pages/admin/GodModeRestorePoints.tsx. Preserve all existing admin action names and explicit RESTORE confirmation. Continue through one PR, Gate, squash merge, frontend release, and production proof.","constraints":[{"id":"frontend-only","statement":"Change only src/pages/admin/GodModeRestorePoints.tsx.","proofConditionIds":["repository-proof"]},{"id":"no-contract-change","statement":"Do not alter backend actions, restore safety contracts, control-plane configuration, or data.","proofConditionIds":["repository-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repository-proof","kind":"repository","claim":"Merged source in src/pages/admin/GodModeRestorePoints.tsx uses human owner-facing copy for primary restore information, moves technical identifiers/mechanics behind Technical details, and preserves existing restore_point_review and restore_point_execute behavior including RESTORE confirmation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"production-proof","kind":"runtime","claim":"The frontend containing the human-readable Restore Points experience is successfully released to production at /admin/godmode/restore-points.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"6f69f5a8662400890c887c6ca52ce0ed4515d58be8f95cf4d27cb27cc48ae50c","requestContractRevision":8,"previousRequestContractHash":"439f476ec60b48193dc358aada192004859a763368c087a8071a2c24df9e2850"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T04:34:31.041087+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:dae7be12-c46c-4ad1-b68f-babda00d72ee:request-contract:6f69f5a8662400890c887c6ca52ce0ed4515d58be8f95cf4d27cb27cc48ae50c","mission_step_id":"bdb32c7b-a248-4d8b-8697-6f0ccf53d118","command_center_event_id":"dae7be12-c46c-4ad1-b68f-babda00d72ee"},{"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":"be2c98d4-1843-4775-9b1b-e70128a4a668","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"9ed6a3ea2674b347295743c7b0d16638d7771431","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-retry","satisfied":true,"statement":"Control plane compiler retries recoverable malformed syntax and edit budget failures","proofConditionIds":["proof-runtime"]}],"satisfied":true,"constraints":[{"id":"guard","satisfied":true,"statement":"Preserve Gate syntax and security validators","proofConditionIds":["proof-runtime"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-runtime"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-runtime"]}],"contractHash":"347795bf04ffb2a2a694f70602710f571420fd41efa63c2a6f11cca1c3ea32ed","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"347795bf04ffb2a2a694f70602710f571420fd41efa63c2a6f11cca1c3ea32ed"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T15:53:20.229879+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"9ed6a3ea2674b347295743c7b0d16638d7771431","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:ad01effa-4b3c-46ab-987e-91561c4c2839:request-contract:347795bf04ffb2a2a694f70602710f571420fd41efa63c2a6f11cca1c3ea32ed:9ed6a3ea2674b347295743c7b0d16638d7771431:verified:","mission_step_id":"7cda265d-464a-494b-adf7-773c6d5662c2","command_center_event_id":"ad01effa-4b3c-46ab-987e-91561c4c2839"},{"id":"be303879-146b-49c8-92ec-80e666151dee","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"visual-sandbox","action":"verify_visual","reason":"release_verified_existing_visual_job_pending_reconciliation","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"visual_proof_started\",\"status\":\"pending\",\"proofGate\":\"post_release_visual_proof_started\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"visual-sandbox\",\"reason\":\"release_verified_existing_visual_job_pending_reconciliation\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"visual-sandbox\"},\"acceptance\":{\"total\":3,\"verified\":1,\"pending\":2,\"percent\":33,\"satisfied\":false,\"verifiedIds\":[\"proof-live\"],\"pendingIds\":[\"proof-desktop\",\"proof-mobile\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-30T22:24:44.112836+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-e020b5c6b3f8\",\"prNumber\":4255,\"sourceSha\":\"70b87aebe0d97e2f1ffb74f0d79070d90ab52d68\",\"deploymentId\":\"forgejo-main-70b87aebe0d9\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T18:39:26.269129+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:e020b5c6-b3f8-4d93-9c5c-0d62cb75b237:owner-progress-heartbeat:119386237","mission_step_id":"6941dcda-38df-48a1-95ae-83bcf5413db0","command_center_event_id":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237"},{"id":"be3239cc-fe87-4072-b070-a1c3dc1f029b","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"2ba417adc03f92cd4290c8e79028619b0068c95f","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-selector-diagnostic","satisfied":true,"statement":"Direct inspection of /select-tenant no longer produces tenant_selector_escape, while genuine redirects from another private route to /select-tenant still do.","proofConditionIds":["proof-test","proof-paul"]}],"satisfied":true,"constraints":[{"id":"diagnostic-only","satisfied":true,"statement":"Change only Visual Witness diagnostic classification and its focused tests; do not alter application routing or tenant selection.","proofConditionIds":["proof-test","proof-paul"]},{"id":"preserve-genuine-escape","satisfied":true,"statement":"A requested route other than /select-tenant that ends at /select-tenant without next/workspace must still report tenant_selector_escape.","proofConditionIds":["proof-test"]},{"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-test","proof-paul"]},{"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-test","proof-paul"]}],"contractHash":"fce5d35c1dcbe1cbc0abf5be9e792a28b6bf9f5b2b2dc8dad40b05a31ff41862","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-test","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"onrunner":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["onrunner"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"fce5d35c1dcbe1cbc0abf5be9e792a28b6bf9f5b2b2dc8dad40b05a31ff41862"},"required":true,"satisfied":true},{"id":"proof-paul","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"onrunner":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["onrunner"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"fce5d35c1dcbe1cbc0abf5be9e792a28b6bf9f5b2b2dc8dad40b05a31ff41862"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["onrunner"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T14:08:14.751135+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"2ba417adc03f92cd4290c8e79028619b0068c95f","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:e0cf6a8a-969a-45bd-9bf1-a35f2d3cc564:request-contract:fce5d35c1dcbe1cbc0abf5be9e792a28b6bf9f5b2b2dc8dad40b05a31ff41862:2ba417adc03f92cd4290c8e79028619b0068c95f:verified:","mission_step_id":"84e3f691-e61e-4758-a0b6-82f59e060038","command_center_event_id":"e0cf6a8a-969a-45bd-9bf1-a35f2d3cc564"},{"id":"be349b10-0511-41ca-87ab-c426fd89ff2c","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"f22e1874041b3c67273f3cb024d4f7e6d04aece8","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"depth4","satisfied":true,"statement":"Canonical Gate exact head+main partial fetch uses depth 4 and configured maximum is 4.","proofConditionIds":["repo","runtime"]},{"id":"no-common-deepen","satisfied":true,"statement":"The representative repair generation resolves merge-base without the 128-commit deepen fallback when within the 4-commit window.","proofConditionIds":["repo","runtime"]},{"id":"fallback","satisfied":true,"statement":"The explicit deepen=128 fail-safe remains for genuinely deeper shallow history and all exact source/freshness checks remain mandatory.","proofConditionIds":["repo","runtime"]},{"id":"refreeze","satisfied":true,"statement":"Runtime 1.58.40 is live on exact merged SHA and control plane is refrozen.","proofConditionIds":["runtime","refrozen"]}],"satisfied":true,"constraints":[{"id":"bounded","satisfied":true,"statement":"Keep blob:none partial fetch, one combined head+main fetch, and do not broaden Gate source hydration or weaken merge readiness.","proofConditionIds":["repo","runtime"]}],"contractHash":"9a8bbf71b5568123da73a3dbefbf57ee9ad8ea95376bb29c47dce5922114eef5","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"9a8bbf71b5568123da73a3dbefbf57ee9ad8ea95376bb29c47dce5922114eef5"},"required":true,"satisfied":true},{"id":"runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"9a8bbf71b5568123da73a3dbefbf57ee9ad8ea95376bb29c47dce5922114eef5"},"required":true,"satisfied":true},{"id":"refrozen","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"9a8bbf71b5568123da73a3dbefbf57ee9ad8ea95376bb29c47dce5922114eef5"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:44:11.920644+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"f22e1874041b3c67273f3cb024d4f7e6d04aece8","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d6e7ac28-f7e6-4354-9a0f-71210ab8098f:request-contract:9a8bbf71b5568123da73a3dbefbf57ee9ad8ea95376bb29c47dce5922114eef5:f22e1874041b3c67273f3cb024d4f7e6d04aece8:verified:","mission_step_id":"c9af1386-44b3-49ed-9ff0-3d6bb73e35bc","command_center_event_id":"d6e7ac28-f7e6-4354-9a0f-71210ab8098f"},{"id":"be386ea3-a7c9-434b-a57c-24c3eceaa18c","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-a813430d68cd","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":24215,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":21267,"firstUsefulResultAt":"2026-10-05T16:32:30.784Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4981,"terminal":false,"missionId":"a813430d-68cd-4ae3-b758-d4f8164bd739","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"383c2be65a93be3e8b91c237d0fb8a27cbcfe888","timingsMs":{"prReadinessMs":759,"approvedPlanMs":0,"shipAndProveMs":1865,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"a813430d-68cd-4ae3-b758-d4f8164bd739"},"performance":null,"deploymentId":"forgejo-main-383c2be65a93","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","repository","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1895,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:32:57.473803+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4981","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a813430d-68cd-4ae3-b758-d4f8164bd739:automatic-mission-resume:4981:canonical_release_reconciliation_pending","mission_step_id":"79c96b38-1cf8-4903-9ce8-4720b48d89ae","command_center_event_id":"a813430d-68cd-4ae3-b758-d4f8164bd739"},{"id":"be3a5014-9113-4f66-87da-bc38e78beaa9","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/seaside-mobile-booking-contrast-final-20260811","reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":3051,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.35.0-cloudflare-native-frontend-owner","prNumber":null,"terminal":false,"missionId":"0ebf064a-f785-4837-ab1e-6a8aafa2a3d1","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"0ebf064a-f785-4837-ab1e-6a8aafa2a3d1"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":463,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-11T20:18:54.092564+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0ebf064a-f785-4837-ab1e-6a8aafa2a3d1:execute_mission:repair_mission_execution_blocked","mission_step_id":"979cc71c-cd46-4a72-a8bb-6af5d936bf30","command_center_event_id":"0ebf064a-f785-4837-ab1e-6a8aafa2a3d1"},{"id":"be3ac2c3-1621-4510-b762-a1c898c3e127","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-07b2f40a16a5","reason":"explicit_pull_request_identity_mismatch:3257","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3257,"terminal":false,"missionId":"07b2f40a-16a5-4b53-ade2-c554c94fea57","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":578,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":578,"missionSetupMs":1129,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":343,"ledgerReconcileMs":0,"lineageReconcileMs":786,"resolvePreflightMs":1129,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":343,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"07b2f40a-16a5-4b53-ade2-c554c94fea57"},"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":1471,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T03:19:49.64215+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":"3257","receipt_type":"execute_mission","idempotency_key":"mission:07b2f40a-16a5-4b53-ade2-c554c94fea57:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"d25edb8a-219f-4f91-b0e3-df89d5fe25f8","command_center_event_id":"07b2f40a-16a5-4b53-ade2-c554c94fea57"},{"id":"be3cbd44-13d1-4445-81c0-f3e10d8b3cdd","source":"paul-scheduler:compiler-recovery-v1","status":"blocked","payload":{"reason":"compiler_model_generation_failed","attempt":2,"prNumber":null,"httpStatus":409},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-12T16:56:36.654837+00:00","proof_gate":"compiler_scheduler_resume_not_advanced","source_sha":null,"external_id":null,"receipt_type":"bounded_compiler_scheduler_recovery","idempotency_key":"mission:5feb1afd-dbd1-4e9c-b143-b1434a7b16ef:compiler-scheduler-recovery:2:blocked","mission_step_id":null,"command_center_event_id":"5feb1afd-dbd1-4e9c-b143-b1434a7b16ef"},{"id":"be4100ca-fa83-4588-9ada-aad2d46f39f7","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/version.js"],"reason":"Owner requested machinery speed improvement.","baseSha":"2a8f43946936dcf3d6a1eb77629c29e2078d5008","issuedAt":1790378155004,"expiresAt":1790378335004,"missionId":"9cc6dad6-6432-40f5-b534-aba02e720e9c","authorizationId":"d3461e52-39db-4efb-ad7e-149f9e37493a","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T23:15:55.275194+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"2a8f43946936dcf3d6a1eb77629c29e2078d5008","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:d3461e52-39db-4efb-ad7e-149f9e37493a","mission_step_id":"d16e5db0-a0d8-4f2b-b23e-24d825696dc5","command_center_event_id":"9cc6dad6-6432-40f5-b534-aba02e720e9c"},{"id":"be41af40-ca95-4dca-aa4f-2b2eb5f75bce","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-63f4a37ee368","prNumber":4224,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"1e584ec3ade25cb983a5e112d154cb39a234d865","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T12:32:20.652478+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"1e584ec3ade25cb983a5e112d154cb39a234d865","external_id":"4224","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:63f4a37e-e368-482b-bcb4-81922308737a:merged-pr:4224:1e584ec3ade25cb983a5e112d154cb39a234d865","mission_step_id":"b05d419b-be2c-444b-8c10-db5773d709a5","command_center_event_id":"63f4a37e-e368-482b-bcb4-81922308737a"},{"id":"be42430a-e479-4ea0-b1d9-73f8b81e661e","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":null,"reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":4124,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":17723,"firstUsefulResultAt":"2026-10-06T11:24:21.772Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.10-boundary-fix-release-retry","prNumber":null,"terminal":false,"missionId":"8461f374-86b0-422f-bb81-3fb39febaab9","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1028,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1028,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1028,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1028,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8461f374-86b0-422f-bb81-3fb39febaab9"},"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":1443,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T11:24:21.820195+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8461f374-86b0-422f-bb81-3fb39febaab9:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"222f7259-d184-41cf-bb95-5afb8f456bed","command_center_event_id":"8461f374-86b0-422f-bb81-3fb39febaab9"},{"id":"be427c92-421c-460f-b345-b77a9f4c57c9","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-bf144d103b28","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.242-persisted-intent-authority","prNumber":null,"terminal":false,"missionId":"bf144d10-3b28-4bd5-b326-69634b1fd991","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":570,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":334,"providerAuthMs":0,"ledgerPrepareMs":334,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":334,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":334,"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":"bf144d10-3b28-4bd5-b326-69634b1fd991"},"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":5772,"likelyAffectedFiles":["scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:25:03.108433+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:bf144d10-3b28-4bd5-b326-69634b1fd991:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"76525787-b9fb-452b-89b4-f3a24a948423","command_center_event_id":"bf144d10-3b28-4bd5-b326-69634b1fd991"},{"id":"be456cae-ad8e-44c4-9974-3ec2839007f1","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/bounded-objective-compiler.js"],"baseSha":"ac4f59946c2b084cd4dc11d5ac1f60420a3788df","issuedAt":1791594824323,"expiresAt":1791595004323,"missionId":"65daf112-81cd-4b91-b621-203c107f6222","autoRefreeze":true,"authorizationId":"be50cbb6-b175-4c20-a7cc-eacbc6136ff8","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-10T01:13:44.755572+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"ac4f59946c2b084cd4dc11d5ac1f60420a3788df","external_id":"be50cbb6-b175-4c20-a7cc-eacbc6136ff8","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:65daf112-81cd-4b91-b621-203c107f6222:be50cbb6-b175-4c20-a7cc-eacbc6136ff8","mission_step_id":null,"command_center_event_id":"65daf112-81cd-4b91-b621-203c107f6222"},{"id":"be46aeaf-897a-403f-8215-c0277b8374d6","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-8bd65447c549","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.7-prime-stale-manual-retirement-adapter","prNumber":null,"terminal":false,"missionId":"8bd65447-c549-4656-9cd6-bf1d4a6dd4b8","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3469,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":672,"providerAuthMs":0,"ledgerPrepareMs":672,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":672,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":672,"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":"8bd65447-c549-4656-9cd6-bf1d4a6dd4b8"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3692,"likelyAffectedFiles":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T01:52:21.57647+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8bd65447-c549-4656-9cd6-bf1d4a6dd4b8:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"163d63fd-d55b-4b98-a0f3-b513368a33ce","command_center_event_id":"8bd65447-c549-4656-9cd6-bf1d4a6dd4b8"},{"id":"be4776b0-abb5-4a2f-bd67-211c3372b182","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/forgejo-orphan-pr-reconciliation-repair","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.159-visual-witness-three-attempt-policy","prNumber":null,"terminal":false,"missionId":"9f448d31-6af5-4b8e-a1f3-4e11ba17e7a6","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":232,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":425,"providerAuthMs":0,"ledgerPrepareMs":425,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":425,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":425,"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":"9f448d31-6af5-4b8e-a1f3-4e11ba17e7a6"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3887,"likelyAffectedFiles":["workers/cc-execution/src/index-scoped-repo-patch.js"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T13:29:15.190137+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9f448d31-6af5-4b8e-a1f3-4e11ba17e7a6:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c0802219-6693-4ee3-b5b2-b7dfb16e0cf7","command_center_event_id":"9f448d31-6af5-4b8e-a1f3-4e11ba17e7a6"},{"id":"be497b2c-1360-497e-9b7f-7771c9bde88f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"durable_state:implementation","automationAllowed":false,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:implementation\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"implementation\",\"deadlineAt\":\"2026-09-22T04:05:37.528149+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-98ad3686b372\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T02:05:55.251377+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:98ad3686-b372-496d-93f0-0963f8369d85:owner-progress-heartbeat:119336183","mission_step_id":"91f38272-02dd-43a5-b69d-0a96573f44b9","command_center_event_id":"98ad3686-b372-496d-93f0-0963f8369d85"},{"id":"be4aee6c-4481-4764-b554-38094d87cd5c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-adb318f5e09e","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":63383,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":3,"executorlessWaitMs":324119,"firstUsefulResultAt":"2026-09-28T18:06:02.893Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":"1.58.306-paul-repo-health-routing","prNumber":4029,"terminal":false,"missionId":"adb318f5-e09e-428d-ac21-f6210f289f8c","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4035,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1507,"missionSetupMs":690,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":474,"ledgerReconcileMs":0,"lineageReconcileMs":216,"resolvePreflightMs":690,"repositoryMutationMs":2528,"repositoryProviderMs":2528,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2263,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":474,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":265},"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":"adb318f5-e09e-428d-ac21-f6210f289f8c"},"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":3060,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T18:10:55.578834+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4029","receipt_type":"execute_mission","idempotency_key":"mission:adb318f5-e09e-428d-ac21-f6210f289f8c:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"ebd6f951-57ef-46ee-ad73-68ed18693040","command_center_event_id":"adb318f5-e09e-428d-ac21-f6210f289f8c"},{"id":"be4b967f-2396-4277-8e0b-a4a6242d2d95","source":"owner_authorized_backlog_reconciliation","status":"blocked","payload":{"disposition":"recoverable_blocked","auditPreserved":true,"releaseVerified":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T15:48:29.147163+00:00","proof_gate":"expired_mission_missing_implementation_evidence","source_sha":null,"external_id":null,"receipt_type":"historical_mission_triage","idempotency_key":"historical-triage-20261011:05b5aa1d-5c0a-4ea6-b372-45afd46d3f43","mission_step_id":null,"command_center_event_id":"05b5aa1d-5c0a-4ea6-b372-45afd46d3f43"},{"id":"be4c1666-d9ce-4a2a-a866-552f6237afe2","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"313a9a03b2e61e197bc2871cbae42d6be50ba109","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-auth-stable","satisfied":false,"statement":"Normal authenticated KNOCKLAUNCH MCP requests no longer depend on Supabase /oauth/userinfo and therefore do not repeatedly fail or appear disconnected because of transient provider latency.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-security","satisfied":false,"statement":"OAuth remains fail-closed with RS256 signature, issuer, expiry, subject, client, canonical owner email, alg, and kid validation; invalid, expired, wrong-owner, wrong-issuer, unsupported-alg, and bad-signature tokens remain rejected.","proofConditionIds":["proof-repository"]},{"id":"outcome-release","satisfied":true,"statement":"The repaired ccExecution runtime is Gate-approved, squash merged, deployed, proven live, and the control plane remains protected after the scoped maintenance operation.","proofConditionIds":["proof-release","proof-runtime"]}],"satisfied":false,"constraints":[{"id":"constraint-owner","satisfied":false,"statement":"Canonical platform owner identity remains info@knocklaunch.app and the owner allowlist is not broadened.","proofConditionIds":["proof-repository"]},{"id":"constraint-no-secrets","satisfied":false,"statement":"Bearer tokens are never logged.","proofConditionIds":["proof-repository"]},{"id":"constraint-release-scope","satisfied":false,"statement":"Only ccExecution may be released for this repair; no GitHub dependency or fallback may be introduced.","proofConditionIds":["proof-repository","proof-release"]}],"contractHash":"e1daa16fa275dbb437acc02dd6e97018319b06a370026eb73952d7583c83efc7","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"e1daa16fa275dbb437acc02dd6e97018319b06a370026eb73952d7583c83efc7","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"proof-release","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"e1daa16fa275dbb437acc02dd6e97018319b06a370026eb73952d7583c83efc7"},"required":true,"satisfied":true},{"id":"proof-runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"e1daa16fa275dbb437acc02dd6e97018319b06a370026eb73952d7583c83efc7"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T22:59:39.058503+00:00","proof_gate":"request_contract_pending","source_sha":"313a9a03b2e61e197bc2871cbae42d6be50ba109","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:9124b0cc-95c0-41ba-ab34-896c709e56cb:request-contract:e1daa16fa275dbb437acc02dd6e97018319b06a370026eb73952d7583c83efc7:313a9a03b2e61e197bc2871cbae42d6be50ba109:pending:repository","mission_step_id":"ff055b76-c3ac-44d3-984c-2ac9cb055927","command_center_event_id":"9124b0cc-95c0-41ba-ab34-896c709e56cb"},{"id":"be4cfec3-eac7-450c-8525-7efab35529d3","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"4800e8b69ee8f061896c5d704e410ed25ab2188f","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"4800e8b69ee8f061896c5d704e410ed25ab2188f","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"ae02c267a3f9e725a3f859799a4e21b9e6073d14c7fd429ea30429beb87c52c5","forgejoWorkflowProof":{"runId":16084,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:07:57.994856+00:00","proof_gate":"canonical_release_pending","source_sha":"4800e8b69ee8f061896c5d704e410ed25ab2188f","external_id":"forgejo-main-4800e8b69ee8","receipt_type":"canonical_release_status","idempotency_key":"mission:9b239608-e0d7-4b46-a3f6-d4beed98a5b0:forgejo-release-status:4800e8b69ee8f061896c5d704e410ed25ab2188f:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"f030acb7-bfb7-4777-aa57-b1d9a775d183","command_center_event_id":"9b239608-e0d7-4b46-a3f6-d4beed98a5b0"},{"id":"be4d30b9-dae0-4dba-931a-ad7d4135d560","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js","workers/cc-execution/test/mcp.test.js"],"reason":"Owner explicitly requested platform-wide infrastructure hardening after repeated recovered-chat failures; enforce bounded MCP responses at the canonical gateway.","baseSha":"aa938e44ee6180bfd5fc9497fc3ae894ccfa0ebc","issuedAt":1790849412936,"expiresAt":1790849592936,"missionId":"8ec9fc6c-e597-4933-b659-57b3fc06bb33","authorizationId":"8159043a-52fa-46d9-a211-2df9bccc6326","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T10:10:13.243266+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"aa938e44ee6180bfd5fc9497fc3ae894ccfa0ebc","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:8159043a-52fa-46d9-a211-2df9bccc6326","mission_step_id":"299fdf3f-ab20-4e13-9b50-cc679629cca1","command_center_event_id":"8ec9fc6c-e597-4933-b659-57b3fc06bb33"},{"id":"be4db663-112b-4560-8161-9d9d86b39713","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"33966f962e72867a9c23ff6ad0118c351fadc7b8","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"33966f962e72867a9c23ff6ad0118c351fadc7b8","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"06c2c550d577ae07c0d1560a7672727b2f28ce4d3141642153c0a2c7f1500689","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6588","runId":6588,"status":"running","sourceSha":"33966f962e72867a9c23ff6ad0118c351fadc7b8","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T13:22:42.73341+00:00","proof_gate":"canonical_release_pending","source_sha":"33966f962e72867a9c23ff6ad0118c351fadc7b8","external_id":"forgejo-main-33966f962e72","receipt_type":"canonical_release_status","idempotency_key":"mission:6b17c386-d73b-45fb-99f1-43962d15ef2e:forgejo-release-status:33966f962e72867a9c23ff6ad0118c351fadc7b8:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"4422fc11-eb29-40a3-9a5f-6de5c1e29e51","command_center_event_id":"6b17c386-d73b-45fb-99f1-43962d15ef2e"},{"id":"be4ee62e-b200-4e90-b30b-c1620ae5f9ee","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/add-forgejo-pr-close-20260828","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":11106,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":null,"terminal":false,"missionId":"a20c365d-749f-442b-9535-cbdd3dcf9fef","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":189,"missionSetupMs":702},"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":"a20c365d-749f-442b-9535-cbdd3dcf9fef"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":8651,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","scripts/validate-command-center-contracts.mjs","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","src/__tests__/contracts/command-center-mission-control.test.ts","src/__tests__/contracts/command-center-platform-mission-anchor.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","src/__tests__/commandCenter/deployDetection.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T18:12:29.818423+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a20c365d-749f-442b-9535-cbdd3dcf9fef:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"af00b548-17b8-4500-afa7-a0cbd317c27c","command_center_event_id":"a20c365d-749f-442b-9535-cbdd3dcf9fef"},{"id":"be4f0739-b80f-432b-b810-a55bd226bb33","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"95de7957-906c-e163-73d9-62948a04ac31"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:ec81d5a2-52c4-48f6-af7e-d4f6057ca130","mission_step_id":null,"command_center_event_id":"ec81d5a2-52c4-48f6-af7e-d4f6057ca130"},{"id":"be4f0fa9-75f0-4dea-a712-e16c7ede7e2d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/cc-compact-release-continuation-20260820","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":3712,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.9-single-mutation-lane","prNumber":503,"terminal":false,"missionId":"916c0b88-6adc-42a5-ac85-d98e7f380ae8","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":"1beed0f3a6162dd956d235d2ac107ca572b32698","timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"916c0b88-6adc-42a5-ac85-d98e7f380ae8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4998,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T19:21:08.431021+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"503","receipt_type":"execute_mission","idempotency_key":"mission:916c0b88-6adc-42a5-ac85-d98e7f380ae8:execute_mission:canonical_release_transport_retryable","mission_step_id":"4a9af330-a550-4684-ad5b-f683a220862a","command_center_event_id":"916c0b88-6adc-42a5-ac85-d98e7f380ae8"},{"id":"be4f0fb7-ea1a-47c2-9b53-5c7ebeddfd98","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/control-plane-hardening","reason":null,"status":"complete","metrics":{"receiptBytes":9060,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.46.2-autonomous-forgejo-merge-supervisor","prNumber":111,"terminal":false,"missionId":"7fbd395c-489f-4b6a-9150-def76923c946","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":null,"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"7fbd395c-489f-4b6a-9150-def76923c946"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1886,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T12:28:57.769016+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"111","receipt_type":"execute_mission","idempotency_key":"mission:7fbd395c-489f-4b6a-9150-def76923c946:execute_mission:repair_mission_prepared","mission_step_id":"a426b4fd-fc9d-44c8-b864-0cd02759d02f","command_center_event_id":"7fbd395c-489f-4b6a-9150-def76923c946"},{"id":"be502953-2e54-42a5-a3ae-670e90dca8b9","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-e020b5c6b3f8","prNumber":4253,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"7a56cec08d887b2f883ee3f06634127d5e574b3c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T18:29:30.747985+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"7a56cec08d887b2f883ee3f06634127d5e574b3c","external_id":"4253","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:e020b5c6-b3f8-4d93-9c5c-0d62cb75b237:merged-pr:4253:7a56cec08d887b2f883ee3f06634127d5e574b3c","mission_step_id":"bc09687b-6f9f-40e5-8501-b3c2e10bcc0d","command_center_event_id":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237"},{"id":"be50ff7c-d2ee-4866-ac1d-4ce044d2be88","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"a0388f961590a0cb6ea56065c479a3ec249e7b87","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"a0388f961590a0cb6ea56065c479a3ec249e7b87","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"1d8d609a6d537be82847f6783476f7e783d9a6390e1387fb7ed522e8df3fcac0","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3544","runId":3544,"status":"running","sourceSha":"a0388f961590a0cb6ea56065c479a3ec249e7b87","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-30T13:18:02.881096+00:00","proof_gate":"canonical_release_pending","source_sha":"a0388f961590a0cb6ea56065c479a3ec249e7b87","external_id":"forgejo-main-a0388f961590","receipt_type":"canonical_release_status","idempotency_key":"mission:f834420f-da7c-4878-8f13-0c1d756363ae:forgejo-release-status:a0388f961590a0cb6ea56065c479a3ec249e7b87:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"80e00ee1-09bf-4bb7-81c5-52545bc96acc","command_center_event_id":"f834420f-da7c-4878-8f13-0c1d756363ae"},{"id":"be5299af-517f-4f1b-82ec-9d4edbecdefb","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"c3aad10471e2ddc46af9bf72899dc6f034d8168d","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Replace the stuck PCG mobile-intake repair with one fresh current-main repair and ship it live. Make Anthony's primary mobile intake flow Photos-first and easy to understand; ensure customer selection/add-customer and Card Vault controls meet 44px touch targets; explain front/back batch pairing clearly; and make each pending card visibly pair-centric with side-by-side Front and Back thumbnails plus Ready/Missing and Pair complete/Needs side status before upload. Preserve the existing pairing algorithm, upload behavior, automatic analysis/grading, tenant isolation, and desktop behavior. Carry through Gate, squash merge, frontend release, and live mobile owner verification.","proofConditionIds":["proof-anthony-mobile-intake-final"]}],"satisfied":true,"constraints":[{"id":"pairing-safety","satisfied":true,"statement":"Do not change the actual front/back pairing algorithm, card persistence, or automatic grading contract.","proofConditionIds":["proof-anthony-mobile-intake-final"]},{"id":"tenant-safety","satisfied":true,"statement":"Preserve tenant isolation and existing PCG data ownership.","proofConditionIds":["proof-anthony-mobile-intake-final"]},{"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-anthony-mobile-intake-final"]},{"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-anthony-mobile-intake-final"]}],"contractHash":"921f4b6b6763b1b23bf1252f907d083cb3ddcb61aacc293c6377aa39c1d7c57a","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-anthony-mobile-intake-final","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":"921f4b6b6763b1b23bf1252f907d083cb3ddcb61aacc293c6377aa39c1d7c57a"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T04:48:36.466367+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"c3aad10471e2ddc46af9bf72899dc6f034d8168d","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:31acf39c-38b1-4709-a17e-6d57389e498f:request-contract:921f4b6b6763b1b23bf1252f907d083cb3ddcb61aacc293c6377aa39c1d7c57a:c3aad10471e2ddc46af9bf72899dc6f034d8168d:verified:","mission_step_id":"aeeac6b7-b527-4f87-bb6a-f128d2b4b1f7","command_center_event_id":"31acf39c-38b1-4709-a17e-6d57389e498f"},{"id":"be52a1f4-f351-431b-b392-4e86e3212b2d","source":"forgejo","status":"waiting","payload":{"branch":"ai/academy-member-policy-auth-hardening","prNumber":3109,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"4e9635e09b1fc511c5131e6d4e6cfccdd9e9f37c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T15:13:04.144008+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"4e9635e09b1fc511c5131e6d4e6cfccdd9e9f37c","external_id":"3109","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:a4211dd9-cca6-4ee6-9a45-12f9c8df53cf:merged-pr:3109:4e9635e09b1fc511c5131e6d4e6cfccdd9e9f37c","mission_step_id":"9e2186f2-99d8-4bbe-b8cc-cb7c8b86dc62","command_center_event_id":"a4211dd9-cca6-4ee6-9a45-12f9c8df53cf"},{"id":"be52bef9-2a54-49f4-a1b0-6fcb02861de4","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-7abe35078501","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.177-tenant-source-scope","prNumber":null,"terminal":false,"missionId":"7abe3507-8501-4e63-b673-7e79d5861a9e","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":601,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":908,"providerAuthMs":0,"ledgerPrepareMs":908,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":908,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":908,"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":"7abe3507-8501-4e63-b673-7e79d5861a9e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4429,"likelyAffectedFiles":["src/pages/proposals/UniversalProposalWorkspace.tsx","package/cup","package"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T14:16:22.87965+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7abe3507-8501-4e63-b673-7e79d5861a9e:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"458e6bb7-888d-4ba0-8a03-b80bd0ca59e9","command_center_event_id":"7abe3507-8501-4e63-b673-7e79d5861a9e"},{"id":"be562c32-e344-4eb2-b539-89e43b1578aa","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/big-papis-fundraiser-best-20260822","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":1715,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":589,"terminal":false,"missionId":"c0d45f2d-8409-4af0-b497-ebca6d32c221","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"c0d45f2d-8409-4af0-b497-ebca6d32c221"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5079,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-22T16:11:12.241531+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"589","receipt_type":"execute_mission","idempotency_key":"mission:c0d45f2d-8409-4af0-b497-ebca6d32c221:execute_mission:canonical_release_transport_retryable","mission_step_id":"ea72ba69-55fb-4bf0-8a4f-c0be263137b3","command_center_event_id":"c0d45f2d-8409-4af0-b497-ebca6d32c221"},{"id":"be5a987d-b5fb-40db-97c1-a88bd906c322","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"retryable","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"96ea42b4-2d81-3020-09df-dfbab4b2b656"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:b99e7c23-e639-484d-8e4d-2a72507ad05e","mission_step_id":null,"command_center_event_id":"b99e7c23-e639-484d-8e4d-2a72507ad05e"},{"id":"be5a9f19-8b9d-4998-b93a-1bdceb0a2c5e","source":"forgejo","status":"waiting","payload":{"branch":"ai/big-papis-mail-reader-logo-layout","prNumber":1886,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"b4e00efb5a74d258c64305cbb68854991facaccf","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-05T23:32:12.629164+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"b4e00efb5a74d258c64305cbb68854991facaccf","external_id":"1886","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:5e54bf13-67e0-425f-abbd-4712ed4fe248:merged-pr:1886:b4e00efb5a74d258c64305cbb68854991facaccf","mission_step_id":"912c8a2c-1e88-49e1-a0ab-e8d53e41127e","command_center_event_id":"5e54bf13-67e0-425f-abbd-4712ed4fe248"},{"id":"be5e6fc5-4aa0-4345-a2db-4093bf4c38b5","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"durable_state:implementation","automationAllowed":false,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:implementation\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":3,\"verified\":0,\"pending\":3,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"runtime-recovery\",\"queue-safety\",\"parser-safety\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-22T19:18:33.426067+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-40640cbda14e\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T16:33:03.265343+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:40640cbd-a14e-4862-82a9-e99470a84d9f:owner-progress-heartbeat:119339652","mission_step_id":"b1bfb6ee-c4e0-44de-9000-749856d33613","command_center_event_id":"40640cbd-a14e-4862-82a9-e99470a84d9f"},{"id":"be6064f4-90bd-4d5f-8122-ced0422ece7e","source":"github-status","status":"pending","payload":{"failed":[],"states":{"canonical-production-release/verified":"pending"},"missing":[],"pending":["canonical-production-release/verified"],"required":["canonical-production-release/verified"],"sourceSha":"c157cee53cb5a4c1458352abff3e5ae4c6bc0b5b","releaseState":"pending","exactConductorRun":{"id":31672767850,"status":"in_progress","headSha":"c157cee53cb5a4c1458352abff3e5ae4c6bc0b5b","conclusion":null,"compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-13T06:08:55.165493+00:00","proof_gate":"canonical_release_pending","source_sha":"c157cee53cb5a4c1458352abff3e5ae4c6bc0b5b","external_id":"canonical-release-c157cee53cb5","receipt_type":"canonical_release_status","idempotency_key":"mission:2b77df48-75b0-4b6a-8970-9ef995337f1d:release-status:c157cee53cb5a4c1458352abff3e5ae4c6bc0b5b:31672767850:pending:canonical-production-release/verified=pending","mission_step_id":"293aed3a-aa34-40c9-9836-3dd470fea858","command_center_event_id":"2b77df48-75b0-4b6a-8970-9ef995337f1d"},{"id":"be60d4e9-c995-4fc6-a5e9-bfccb6cdc4ae","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"8b2a2e58732e4de2d6803e7e06a98292fd0beafb","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Fix the Prestigious Card Grading MODES route family so /pcg/DASHBOARD?mode=received, grading, completed, and mailed use the tenant's configured workspace background asset only, never the hero asset. Production tenant truth currently has distinct media_branding.resolved_background_asset_id=8fa9f944-25b2-4d23-84b3-e0a87bb369e5 and hero_background_asset_id=f553e4ef-b8f3-408a-b610-a59782b8f384. PcgWorkspace currently ignores tenant media branding and hard-codes PCG_WORKSPACE_BACKGROUND. Replace that with resolveTenantMediaBranding(activeTenant).backgroundUrl, falling back only to the tenant's explicit background_image_url/backgroundImageUrl fields and otherwise a solid dark background; do not fall back to the hero. Keep hero usage confined to the dashboard hero card. Ship through one small ai/* PR, Gate, squash merge, frontend deploy, and verify live that the four mode routes resolve the workspace background rather than the hero.","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":"cd995ba9c8257dbb1d5de412f8d14d0250aa19b93093e4aabd84889aef3f408c","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":"cd995ba9c8257dbb1d5de412f8d14d0250aa19b93093e4aabd84889aef3f408c"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-20T03:11:08.292137+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"8b2a2e58732e4de2d6803e7e06a98292fd0beafb","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:6b51375d-7ee2-4d4c-9a58-f48030f4bb5e:request-contract:cd995ba9c8257dbb1d5de412f8d14d0250aa19b93093e4aabd84889aef3f408c:8b2a2e58732e4de2d6803e7e06a98292fd0beafb:verified:","mission_step_id":"f5952d63-505a-4235-a51f-72ce4d2fa3ed","command_center_event_id":"6b51375d-7ee2-4d4c-9a58-f48030f4bb5e"},{"id":"be618b4e-66ed-42c4-b038-9ae4b96b832b","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"83226f0c666ed42eeca8c90477771fccde72af31","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repo","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"fdb9b2d7101cda93e23cf8bb8d46dd68f67bd7ac","prNumber":2433,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/7212/jobs/1","mergeCommitSha":"83226f0c666ed42eeca8c90477771fccde72af31"},{"id":"gate","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"fdb9b2d7101cda93e23cf8bb8d46dd68f67bd7ac","prNumber":2433,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/7212/jobs/1","mergeCommitSha":"83226f0c666ed42eeca8c90477771fccde72af31"},{"id":"queue","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"fdb9b2d7101cda93e23cf8bb8d46dd68f67bd7ac","prNumber":2433,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/7212/jobs/1","mergeCommitSha":"83226f0c666ed42eeca8c90477771fccde72af31"}],"requestContractHash":"96f4625ea294de7a747054ce01a8ae45f5d2fdb8e48b8d260d5f61a99408e5d3"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T21:56:24.887027+00:00","proof_gate":"request_contract_repository_verified","source_sha":"83226f0c666ed42eeca8c90477771fccde72af31","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:96df8399-ea05-4017-adf5-b8f5cbc1e960:request-contract-repository:96f4625ea294de7a747054ce01a8ae45f5d2fdb8e48b8d260d5f61a99408e5d3:83226f0c666ed42eeca8c90477771fccde72af31","mission_step_id":"93b90b4d-4b0d-4b61-841f-688cf59addf7","command_center_event_id":"96df8399-ea05-4017-adf5-b8f5cbc1e960"},{"id":"be6368d3-d373-41f8-ba76-22c5ecd06981","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_invalid","fingerprint":"cf5be6a2e373aa9292fb412ee923ebacc5cf87d5700e45df079b6f5904bc5a4d"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T09:49:51.509089+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:97a6bb3f-9a01-4a57-a53f-e8aa9d508fc6:repository-mutation-intent-blocked:cf5be6a2e373aa9292fb412ee923ebacc5cf87d5700e45df079b6f5904bc5a4d","mission_step_id":"82568f45-fec0-4318-ac08-ebbd4ec01b0a","command_center_event_id":"97a6bb3f-9a01-4a57-a53f-e8aa9d508fc6"},{"id":"be63e694-76d7-4dd9-808c-51353fd22f00","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","cc-execution/runtime-proof":"success"},"mainSha":"29788369be45a7b04d28a1dcfccd62d8dd834c14","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","frontend-cloudflare/live"],"sourceSha":"29788369be45a7b04d28a1dcfccd62d8dd834c14","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","ccExecution":"success"},"requestContractHash":"945dc8d5af2a25a3077fad6bcd8d17db4d302aa229de2913eec92b5e352e88f0","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/12217","runId":12217,"status":"running","sourceSha":"29788369be45a7b04d28a1dcfccd62d8dd834c14","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending","ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"29788369be45a7b04d28a1dcfccd62d8dd834c14","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-29788369be45a7b04d28a1dcfccd62d8dd834c14","compareStatus":"target_job_success_runtime_verified","workflowRunId":12217,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.293-scheduler-v2","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T15:25:34.167028+00:00","proof_gate":"canonical_release_pending","source_sha":"29788369be45a7b04d28a1dcfccd62d8dd834c14","external_id":"forgejo-main-29788369be45","receipt_type":"canonical_release_status","idempotency_key":"mission:9d088d79-55f2-4991-b7db-999b3335bec5:forgejo-release-status:29788369be45a7b04d28a1dcfccd62d8dd834c14:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=success|frontend-cloudflare/live=pending","mission_step_id":"d89214dd-d3a1-4519-ac21-2943b64709c7","command_center_event_id":"9d088d79-55f2-4991-b7db-999b3335bec5"},{"id":"be65ac47-e821-4075-89ed-0430a2a15968","source":"cc-execution","status":"authorized","payload":{"paths":["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 explicitly unfreezed the control plane for cancelled-release descendant recovery. This bounded corrective generation removes an unproven Forgejo dispatch extension, adds exact mutation read-back, and makes dispatch failures durably observable.","baseSha":"d8afce3a5c629d6ead06c1edb24bc7c2ecf61b12","issuedAt":1789592756987,"expiresAt":1789592936987,"missionId":"a790862f-7b32-4d51-90b1-4f9ecc811243","authorizationId":"9ffaf56b-caca-4b59-b373-b8fc87c843fc","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T21:05:57.535973+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"d8afce3a5c629d6ead06c1edb24bc7c2ecf61b12","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:9ffaf56b-caca-4b59-b373-b8fc87c843fc","mission_step_id":"3f6127c5-0eb8-4e10-bb77-2208870880ef","command_center_event_id":"a790862f-7b32-4d51-90b1-4f9ecc811243"},{"id":"be664493-516a-44eb-ada6-f4f769481eac","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e2ea0ccb3f6b","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":26898,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":3,"executorlessWaitMs":79550,"firstUsefulResultAt":"2026-10-02T12:08:54.867Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4456,"terminal":false,"missionId":"e2ea0ccb-3f6b-4597-a92c-a86b964d2b7c","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2187,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"e2ea0ccb-3f6b-4597-a92c-a86b964d2b7c"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T12:10:05.590199+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4456","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e2ea0ccb-3f6b-4597-a92c-a86b964d2b7c:automatic-mission-resume:4456:repair_mission_pr_ready_retryable","mission_step_id":"b7606006-aa79-425c-a8de-37640a303bb5","command_center_event_id":"e2ea0ccb-3f6b-4597-a92c-a86b964d2b7c"},{"id":"be67c950-d87a-4ad5-aff6-19cbc270370d","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-2ba528e0fe44","prNumber":4561,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"f4a37491d8214614ebb421999bef094a15d876f4","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T23:20:32.773871+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"f4a37491d8214614ebb421999bef094a15d876f4","external_id":"4561","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:2ba528e0-fe44-404f-a383-f4ae3d37a699:merged-pr:4561:f4a37491d8214614ebb421999bef094a15d876f4","mission_step_id":"06da0524-8f9a-436a-a693-69753a359d48","command_center_event_id":"2ba528e0-fe44-404f-a383-f4ae3d37a699"},{"id":"be681523-e18e-47c1-bce8-c20bba43f58b","source":"forgejo","status":"waiting","payload":{"branch":"","prNumber":2370,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"860e304746868270db17193132761fdca17ac98d","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-11T04:57:35.341396+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"860e304746868270db17193132761fdca17ac98d","external_id":"2370","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:a59b31ca-5dca-4f91-bbbe-c59f177ab5f0:merged-pr:2370:860e304746868270db17193132761fdca17ac98d","mission_step_id":"e91e19e5-764d-4f82-aaa4-e7d48bbad95a","command_center_event_id":"a59b31ca-5dca-4f91-bbbe-c59f177ab5f0"},{"id":"be6815ce-8f5b-4c24-bcc4-d3c4fed74266","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"78c897179420d7ef7228abc23b0f77e95c57b2a0","sourceSha":"4050f74e770da0b5183fc97fea47574068852c81","sourceInMain":false,"compareStatus":"main_history_page_inconclusive","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T13:28:29.136609+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"4050f74e770da0b5183fc97fea47574068852c81","external_id":"canonical-release-4050f74e770d","receipt_type":"canonical_release_status","idempotency_key":"mission:92e5bbd2-7a15-4837-bf18-04c1ae762636:forgejo-release-ancestry:4050f74e770da0b5183fc97fea47574068852c81:78c897179420d7ef7228abc23b0f77e95c57b2a0:main_history_page_inconclusive","mission_step_id":"02920acf-82c3-4f40-a55c-984b804eff44","command_center_event_id":"92e5bbd2-7a15-4837-bf18-04c1ae762636"},{"id":"be688559-ca23-42a9-9292-c15769c90a43","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/control-plane-gate-capacity-proof-20260904","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.49-control-plane-gate-capacity-refreeze","prNumber":1709,"terminal":false,"missionId":"f15718c8-e8a7-4f81-bb96-083fe4d341b8","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"76b610b64d4812287420b5ba10073806cb124f7f","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5547,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":700,"approvedPlanMs":0,"missionSetupMs":533,"providerAuthMs":0,"shipAndProveMs":4669,"ledgerPrepareMs":351,"ledgerReconcileMs":0,"lineageReconcileMs":182,"resolvePreflightMs":533,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":351,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f15718c8-e8a7-4f81-bb96-083fe4d341b8"},"performance":null,"deploymentId":"forgejo-main-76b610b64d48","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2641,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T14:05:14.015082+00:00","proof_gate":"canonical_release_dispatched","source_sha":"76b610b64d4812287420b5ba10073806cb124f7f","external_id":"forgejo-main-76b610b64d48","receipt_type":"execute_mission","idempotency_key":"mission:f15718c8-e8a7-4f81-bb96-083fe4d341b8:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"fae206da-4555-4131-8af1-99cfa4e7e37f","command_center_event_id":"f15718c8-e8a7-4f81-bb96-083fe4d341b8"},{"id":"be693ae6-9d60-4cc8-aa16-f3216d2a5fd1","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-9372a5c933f9","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3080,"terminal":false,"missionId":"9372a5c9-33f9-4d86-a71b-263b956e2018","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8165,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":871,"missionSetupMs":212,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":212,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":212,"repositoryMutationMs":7294,"repositoryProviderMs":7294,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3693,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":212,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":3601},"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":"9372a5c9-33f9-4d86-a71b-263b956e2018"},"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":3120,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T04:21:19.75564+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3080","receipt_type":"execute_mission","idempotency_key":"mission:9372a5c9-33f9-4d86-a71b-263b956e2018:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"1277874d-d0b7-4b31-923b-670e22db31d3","command_center_event_id":"9372a5c9-33f9-4d86-a71b-263b956e2018"},{"id":"be69e321-d784-4b04-be37-510794439c16","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-feaef390dbfc","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2874,"terminal":false,"missionId":"feaef390-dbfc-4504-aa99-3544f5dd0385","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"65ed5c24c4f92d0c15f44f3f7f4b663216ab0171","timingsMs":{"prReadinessMs":1311,"approvedPlanMs":0,"shipAndProveMs":9835,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"feaef390-dbfc-4504-aa99-3544f5dd0385"},"performance":null,"deploymentId":"forgejo-main-65ed5c24c4f9","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1942,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T03:22:15.12946+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2874","receipt_type":"automatic_mission_resume","idempotency_key":"mission:feaef390-dbfc-4504-aa99-3544f5dd0385:automatic-mission-resume:2874:canonical_release_dispatched","mission_step_id":"85a35ca1-04fe-45ae-b472-b1b296eee504","command_center_event_id":"feaef390-dbfc-4504-aa99-3544f5dd0385"},{"id":"be6b126b-9e9d-4b65-8deb-a3c8a7e89e92","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-closed-pr-mission-reconciliation-20260829","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":7013,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.8-readiness-resilience","prNumber":1003,"terminal":false,"missionId":"14f30325-5b3a-492a-87e2-092730ac29fb","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":{"handlerMs":19635,"prReadinessMs":1925,"approvedPlanMs":0,"missionSetupMs":1802,"shipAndProveMs":17704},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"14f30325-5b3a-492a-87e2-092730ac29fb"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5238,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T11:56:50.145492+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"1003","receipt_type":"execute_mission","idempotency_key":"mission:14f30325-5b3a-492a-87e2-092730ac29fb:execute_mission:canonical_release_transport_retryable:current-generation","mission_step_id":"a2e142ef-f053-4c1e-b83d-01a51af13866","command_center_event_id":"14f30325-5b3a-492a-87e2-092730ac29fb"},{"id":"be6bd9af-5d1e-4afa-a0ab-920f1364f00d","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane for the Forgejo Actions watchdog repair. Finalize PR #1981 by restoring the established Forgejo restart-budget policy wording without changing any restart limit, cooldown, or recovery primitive; retain the already-prepared split-vantage Actions brownout repair, then gate, merge, release, refresh the host agent, and prove live health.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane for the Forgejo Actions watchdog repair. Finalize PR #1981 by restoring the established Forgejo restart-budget policy wording without changing any restart limit, cooldown, or recovery primitive; retain the already-prepared split-vantage Actions brownout repair, then gate, merge, release, refresh the host agent, and prove live health.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"actions","statement":"Detect external Actions brownouts independently of host base health and use only the existing bounded recovery path.","proofConditionIds":["repo","cc","host","actions-live"]},{"id":"budget","statement":"Preserve the established Forgejo automatic, emergency, and operator restart-budget contract exactly.","proofConditionIds":["repo"]}],"objective":"Unfreeze the control plane for the Forgejo Actions watchdog repair. Finalize PR #1981 by restoring the established Forgejo restart-budget policy wording without changing any restart limit, cooldown, or recovery primitive; retain the already-prepared split-vantage Actions brownout repair, then gate, merge, release, refresh the host agent, and prove live health.","constraints":[{"id":"single-pr","statement":"Keep the repair on existing PR #1981 and do not add another restart primitive.","proofConditionIds":["repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Main contains split-vantage Actions brownout repair with the established restart-budget contract preserved.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"cc","kind":"runtime","claim":"Live cc-execution combined self-heal probe is healthy.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"host","kind":"runtime","claim":"Fresh signed host watchdog is timer-active and base-health passing.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"actions-live","kind":"runtime","claim":"Live authenticated Actions-runs read succeeds.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"c44a6b13fa752d8c41cdf22a8336d8e712ee88b21824339285640256987887c6","requestContractRevision":9,"previousRequestContractHash":"be417ad2b86bcf088a6beec195b0d8c454a814f2c4549a6026469e566b010136"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T18:33:11.824509+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:eefb30a0-f136-4476-a59c-0e23c11e6147:request-contract:c44a6b13fa752d8c41cdf22a8336d8e712ee88b21824339285640256987887c6","mission_step_id":"6bf0ef62-3567-47c1-98e5-b545dc2a6f21","command_center_event_id":"eefb30a0-f136-4476-a59c-0e23c11e6147"},{"id":"be6cf421-333e-4395-bdb8-40bac237d98a","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-a22f48e4411f","writes":[],"patches":[],"version":1,"approved":true,"missionId":"a22f48e4-411f-4e2c-a36b-06e9e05cec76","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/visual-witness-hosted-runner/src/universal-witness.mjs"],"anchored_edits":[{"path":"scripts/visual-witness-hosted-runner/src/universal-witness.mjs","anchor":"    if (!shellReady) {\n      touch(job, 'route_shell_timeout_diagnostics', {\n        viewport,\n        currentViewport: viewport,\n        currentRoute: routePath,\n        shellTimeoutMs: effectiveShellTimeoutMs,\n        shellReadinessStrategy,\n        readinessActionId: explicitTargetReadinessAction?.id || null,\n        routesVisited: job.progress?.routesVisited || 0,\n        actionsUsed: job.progress?.actionsUsed || 0,\n      });\n      await persistJob(job);\n      const shellTimeoutSnapshot = await withIoTimeout(\n        captureRouteDiagnosticSnapshot(page, projection, 'application_shell_timeout'),\n        APPLICATION_SHELL_DIAGNOSTIC_TIMEOUT_MS,\n        'application_shell_timeout_snapshot',\n      ).catch((error) => ({\n        stage: 'application_shell_timeout',\n        observedAt: new Date().toISOString(),\n        url: sanitizeDiagnosticUrl(page.url(), APP_ORIGIN),\n        expected: {\n          authorityUserId: projection?.operator?.id || null,\n          tenantId: projection?.tenant?.id || null,\n          tenantSlug: projection?.tenant?.company_slug || null,\n          experienceUserId: projection?.actor?.user?.id || projection?.operator?.id || null,\n          experienceRole: projection?.actor?.experienceRole || null,\n        },\n        projectionInvariantsHeld: null,\n        projectionInvariantFailures: [],\n        projectionDiagnosticUnavailable: true,\n        diagnosticFailure: redact(error instanceof Error ? error.message : String(error)),\n      }));\n      stageDiagnostics.push(shellTimeoutSnapshot);\n      const observation = await withIoTimeout(\n        observePage(page, viewport),\n        APPLICATION_SHELL_DIAGNOSTIC_TIMEOUT_MS,\n        'application_shell_timeout_observation',\n      ).catch((error) => ({\n        title: '', bodyText: '', startup: {}, headings: [], controls: [],\n        issues: [{ code: 'witness_diagnostic_unavailable', severity: 'high', detail: redact(error instanceof Error ? error.message : String(error)) }],\n      }));","expectedSha":"540b27d2a3091dcc5115f9f7a5693fa182a2250c","replacement":"    if (!shellReady) {\n      const shellTimeoutDiagnosticProgress = {\n        viewport,\n        currentViewport: viewport,\n        currentRoute: routePath,\n        shellTimeoutMs: effectiveShellTimeoutMs,\n        shellReadinessStrategy,\n        readinessActionId: explicitTargetReadinessAction?.id || null,\n        routesVisited: job.progress?.routesVisited || 0,\n        actionsUsed: job.progress?.actionsUsed || 0,\n      };\n      touch(job, 'route_shell_timeout_diagnostics', shellTimeoutDiagnosticProgress);\n      await persistJob(job);\n      const shellTimeoutSnapshot = await withExecutionLeaseHeartbeat(\n        job,\n        'route_shell_timeout_diagnostics',\n        shellTimeoutDiagnosticProgress,\n        () => withIoTimeout(\n          captureRouteDiagnosticSnapshot(page, projection, 'application_shell_timeout'),\n          APPLICATION_SHELL_DIAGNOSTIC_TIMEOUT_MS,\n          'application_shell_timeout_snapshot',\n        ),\n      ).catch((error) => ({\n        stage: 'application_shell_timeout',\n        observedAt: new Date().toISOString(),\n        url: sanitizeDiagnosticUrl(page.url(), APP_ORIGIN),\n        expected: {\n          authorityUserId: projection?.operator?.id || null,\n          tenantId: projection?.tenant?.id || null,\n          tenantSlug: projection?.tenant?.company_slug || null,\n          experienceUserId: projection?.actor?.user?.id || projection?.operator?.id || null,\n          experienceRole: projection?.actor?.experienceRole || null,\n        },\n        projectionInvariantsHeld: null,\n        projectionInvariantFailures: [],\n        projectionDiagnosticUnavailable: true,\n        diagnosticFailure: redact(error instanceof Error ? error.message : String(error)),\n      }));\n      stageDiagnostics.push(shellTimeoutSnapshot);\n      const observation = await withExecutionLeaseHeartbeat(\n        job,\n        'route_shell_timeout_diagnostics',\n        shellTimeoutDiagnosticProgress,\n        () => withIoTimeout(\n          observePage(page, viewport),\n          APPLICATION_SHELL_DIAGNOSTIC_TIMEOUT_MS,\n          'application_shell_timeout_observation',\n        ),\n      ).catch((error) => ({\n        title: '', bodyText: '', startup: {}, headings: [], controls: [],\n        issues: [{ code: 'witness_diagnostic_unavailable', severity: 'high', detail: redact(error instanceof Error ? error.message : String(error)) }],\n      }));"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"a22f48e4-411f-4e2c-a36b-06e9e05cec76","ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/visual-witness-hosted-runner/src/universal-witness.mjs"],"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":"95b18b9498d63ebcb405047a366372afe5c5193796c6ba4a76bbfeed7644b1ef","replayCount":0,"serializedBytes":5665},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T10:32:13.281971+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:a22f48e4-411f-4e2c-a36b-06e9e05cec76:repository-mutation-intent:95b18b9498d63ebcb405047a366372afe5c5193796c6ba4a76bbfeed7644b1ef:0","mission_step_id":"a9cc5e0b-6cf9-42b7-8ac9-f1aba075f535","command_center_event_id":"a22f48e4-411f-4e2c-a36b-06e9e05cec76"},{"id":"be6dd000-1d0b-448e-a734-f3a2e803c7bc","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml"],"reason":"Owner-authorized bounded release recovery for the exact frontend sparse-checkout dependency.","baseSha":"2f45cf0c571e47075a2a5bff946cc368264c1dc4","issuedAt":1790853867637,"expiresAt":1790854047637,"missionId":"c712d2cc-4776-4e2c-bf18-e54875e8de04","authorizationId":"6b98e6d1-b719-4af5-82f2-0ecfb775c5c0","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T11:24:27.922635+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"2f45cf0c571e47075a2a5bff946cc368264c1dc4","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:6b98e6d1-b719-4af5-82f2-0ecfb775c5c0","mission_step_id":"ad66a43a-ba00-47f7-9f2e-4ef1e00f28b9","command_center_event_id":"c712d2cc-4776-4e2c-bf18-e54875e8de04"},{"id":"be75bdf9-18ea-4407-9ec6-5198ea3ff313","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"0273206831462bb487f4d04002b4dae0f9c4c5c7","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"popup-separation","satisfied":true,"statement":"Starting Big Papi Start Pop-Up creates a standalone popup_session calendar entry and does not create an event_booking or navigate to Event Day.","proofConditionIds":["production-release"]},{"id":"public-calendar","satisfied":true,"statement":"The Pop-Up calendar session is marked public_schedule=true and tenant-wide active-session detection prevents duplicate live Pop-Ups across operators.","proofConditionIds":["production-release"]},{"id":"flavor-loadout","satisfied":true,"statement":"Stock Check matches the Start Pop-Up visual system, starts with zero selected flavors, supports progressive add/remove dropdown rows from the full live flavor inventory, and prevents duplicate flavor choices.","proofConditionIds":["production-release"]},{"id":"remove-prepare","satisfied":true,"statement":"Prepare for Pop-Up controls are removed from the Pop-Up start flow and Pop-Up mode quick actions.","proofConditionIds":["production-release"]}],"satisfied":true,"constraints":[{"id":"booked-event-preservation","satisfied":true,"statement":"Booked Event remains separate and retains its existing Event Day routing and workflow.","proofConditionIds":["production-release"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["production-release"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["production-release"]}],"contractHash":"8253b4a9b232ea863609c44966dcd6aee54e650b79c98522e4df0f66105ddc05","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"production-release","kind":"release","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"migrationReleaseVerified":null,"releaseRequestContractHash":"8253b4a9b232ea863609c44966dcd6aee54e650b79c98522e4df0f66105ddc05"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T06:35:30.745171+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"0273206831462bb487f4d04002b4dae0f9c4c5c7","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:7ccfc533-244f-4e83-907f-c5e39a8df303:request-contract:8253b4a9b232ea863609c44966dcd6aee54e650b79c98522e4df0f66105ddc05:0273206831462bb487f4d04002b4dae0f9c4c5c7:verified:","mission_step_id":"8ce3fc3c-6d72-4c2d-8a7e-54bb46b096a0","command_center_event_id":"7ccfc533-244f-4e83-907f-c5e39a8df303"},{"id":"be75ed55-7781-4040-815a-3f1a159a756f","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-release-queue-502-v2-20260825","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":3313,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.35-defer-existing-pr-refresh","prNumber":732,"terminal":false,"missionId":"112e4806-b3c1-40da-8b80-ab73d47ea541","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"112e4806-b3c1-40da-8b80-ab73d47ea541"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5168,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T06:15:44.83351+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"732","receipt_type":"execute_mission","idempotency_key":"mission:112e4806-b3c1-40da-8b80-ab73d47ea541:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"1fae8c27-5f71-4c5f-b221-1271d3490a6e","command_center_event_id":"112e4806-b3c1-40da-8b80-ab73d47ea541"},{"id":"be77a531-53a5-4eb3-b31e-631481c67ef0","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a98e9ff911a2","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":15036,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":39651,"firstUsefulResultAt":"2026-10-03T01:43:24.021Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4589,"terminal":false,"missionId":"a98e9ff9-11a2-4da2-a400-3513004f56c2","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2172,"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":"a98e9ff9-11a2-4da2-a400-3513004f56c2"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:43:57.368071+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4589","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a98e9ff9-11a2-4da2-a400-3513004f56c2:automatic-mission-resume:4589:repair_mission_pr_ready_retryable","mission_step_id":"fe57149d-0ab2-4f50-bb3f-67eb3b47e91b","command_center_event_id":"a98e9ff9-11a2-4da2-a400-3513004f56c2"},{"id":"be780905-1aee-42ef-971b-6fc9778763d8","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/fix-stale-pr-zombie-recovery-20260829","reason":"control_plane_maintenance_request_contract_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.2-queue-readiness-budget","prNumber":null,"terminal":false,"missionId":"3be3633b-b342-46e2-add9-8613e1b965a7","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":2691,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"3be3633b-b342-46e2-add9-8613e1b965a7"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5633,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T19:06:23.804813+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:3be3633b-b342-46e2-add9-8613e1b965a7:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"ae0a8fe6-6fca-4aa8-8e9f-76ac9206b323","command_center_event_id":"3be3633b-b342-46e2-add9-8613e1b965a7"},{"id":"be7be8d5-0fc1-4fd6-85ae-46d23c4015ee","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":null,"reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":6090,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":15675,"firstUsefulResultAt":"2026-10-06T04:33:14.606Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.10-boundary-fix-release-retry","prNumber":5163,"terminal":false,"missionId":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6560,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2208,"approvedPlanMs":756,"missionSetupMs":836,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":836,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":836,"repositoryMutationMs":3509,"repositoryProviderMs":3509,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2234,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":836,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1275},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1534,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T04:35:36.665689+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5163","receipt_type":"execute_mission","idempotency_key":"mission:6cd825d0-ddfe-4532-8e8e-5f72704f5be5:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"be7ed21e-37b6-4d97-b13a-183ae6e52951","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"d11804461f7c45c53c0065a54e16dec589d6c4e4","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Replace the generic KNOCKLAUNCH tenant application visual treatment with a tenant-owned branded application surface primitive, and redesign the shared Calendar as the first full implementation. Generic tenant apps must preserve the active tenant background/media and palette instead of painting opaque black/dark shells. Calendar must become an immersive tenant-branded planner, preserve all behavior, and be visually proven on PCG desktop/mobile.","proofConditionIds":["proof-live","proof-desktop","proof-mobile"]}],"satisfied":true,"constraints":[{"id":"tenant-brand-authority","satisfied":true,"statement":"Tenant media background, palette, framing and logo-derived theme are visually authoritative inside tenant application routes; no generic opaque black shell.","proofConditionIds":["proof-live","proof-desktop","proof-mobile"]},{"id":"shared-primitive","satisfied":true,"statement":"Implement a shared tenant application surface primitive; Calendar is the first full adoption; no PCG-only hard-coded palette or layout.","proofConditionIds":["proof-live","proof-desktop"]},{"id":"visual-content-truth","satisfied":true,"statement":"Do not invent tenant imagery, colors, names, events, metrics, or customer content for proof.","proofConditionIds":["proof-desktop","proof-mobile"]},{"id":"viewport-authority","satisfied":true,"statement":"Desktop and mobile at normal scale are independently authoritative; browser zoom is not a layout solution.","proofConditionIds":["proof-desktop","proof-mobile"]},{"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-live"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-live"]}],"contractHash":"a0bf2398ed8fa4df3ed59c51d4c53eabc6c4bff905f8ad5ee2592eb9d4653039","releaseBound":true,"witnessBound":true,"visualRequested":true,"visualSatisfied":true,"conditionResults":[{"id":"proof-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":"a0bf2398ed8fa4df3ed59c51d4c53eabc6c4bff905f8ad5ee2592eb9d4653039"},"required":true,"satisfied":true},{"id":"proof-desktop","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/pcg/calendar","currentSourceSha":"d11804461f7c45c53c0065a54e16dec589d6c4e4","witnessSourceSha":"d11804461f7c45c53c0065a54e16dec589d6c4e4","verificationState":"verified","witnessRequestContractHash":"a0bf2398ed8fa4df3ed59c51d4c53eabc6c4bff905f8ad5ee2592eb9d4653039"},"required":true,"satisfied":true},{"id":"proof-mobile","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/pcg/calendar","currentSourceSha":"d11804461f7c45c53c0065a54e16dec589d6c4e4","witnessSourceSha":"d11804461f7c45c53c0065a54e16dec589d6c4e4","verificationState":"verified","witnessRequestContractHash":"a0bf2398ed8fa4df3ed59c51d4c53eabc6c4bff905f8ad5ee2592eb9d4653039"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T18:55:31.538542+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"d11804461f7c45c53c0065a54e16dec589d6c4e4","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:adf48b9a-a0c5-4109-9096-52df3c7f7d64:request-contract:a0bf2398ed8fa4df3ed59c51d4c53eabc6c4bff905f8ad5ee2592eb9d4653039:d11804461f7c45c53c0065a54e16dec589d6c4e4:verified:","mission_step_id":"19a0cc56-2caf-41c1-8f47-4a1f1c700371","command_center_event_id":"adf48b9a-a0c5-4109-9096-52df3c7f7d64"},{"id":"be7f5612-fcd6-4ed8-8cbb-bd136adc8ed8","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/big-papis-loyalty-shortcuts-durable","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":null,"terminal":false,"missionId":"43d2a0dc-9b97-42ad-b127-fd41a59b5a9c","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":119,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":3152,"providerAuthMs":0,"ledgerPrepareMs":771,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":3152,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":771,"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":"43d2a0dc-9b97-42ad-b127-fd41a59b5a9c"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4226,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-07T01:05:04.118154+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:43d2a0dc-9b97-42ad-b127-fd41a59b5a9c:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"26b1b51e-51d7-43fc-8bb0-1243eb206fe8","command_center_event_id":"43d2a0dc-9b97-42ad-b127-fd41a59b5a9c"},{"id":"be8060c8-0eb0-40af-89a7-6263ee22752b","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json"],"reason":"Owner explicitly directed control plane maintenance to eliminate excessive Forgejo/Gate latency while preserving canonical validation safety.","baseSha":"a0a038dc7f27365d85853bd15b5bd48a336ffc2e","issuedAt":1788028916498,"expiresAt":1788029096498,"missionId":"c50d8da7-6690-40f2-9cd1-2d815628cbd7","singleUse":true,"authorizationId":"c3b9ad30-cf6f-47d6-b5f8-4eea5fcb467c"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T18:41:57.437131+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"a0a038dc7f27365d85853bd15b5bd48a336ffc2e","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c3b9ad30-cf6f-47d6-b5f8-4eea5fcb467c","mission_step_id":"75419b8e-697e-4101-a6a1-e530ce1f40f2","command_center_event_id":"c50d8da7-6690-40f2-9cd1-2d815628cbd7"},{"id":"be830557-98d9-4150-aedd-aaa2a471a7bd","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/test/queue-salvage-contract.test.js"],"baseSha":"21eceb0003a9518e5ff6fc2ed42b7fa530bde025","issuedAt":1791556714978,"expiresAt":1791556894978,"missionId":"aa13ad2e-ffb3-48bb-a39d-6da8bc63945c","autoRefreeze":true,"authorizationId":"458f90e6-c864-4a8c-91dd-0867f8496dab","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-09T14:38:35.481087+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"21eceb0003a9518e5ff6fc2ed42b7fa530bde025","external_id":"458f90e6-c864-4a8c-91dd-0867f8496dab","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:aa13ad2e-ffb3-48bb-a39d-6da8bc63945c:458f90e6-c864-4a8c-91dd-0867f8496dab","mission_step_id":null,"command_center_event_id":"aa13ad2e-ffb3-48bb-a39d-6da8bc63945c"},{"id":"be8360e0-c711-47df-9d3d-d1000bffcfbe","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b5ad5b28af0a","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":77310,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":3,"executorlessWaitMs":931200,"firstUsefulResultAt":"2026-09-28T23:14:21.034Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.59.3-direct-commit-ancestry","prNumber":4055,"terminal":false,"missionId":"b5ad5b28-af0a-4ec1-a03a-c76c23cabe23","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3956,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1632,"missionSetupMs":750,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":630,"ledgerReconcileMs":0,"lineageReconcileMs":120,"resolvePreflightMs":750,"repositoryMutationMs":2324,"repositoryProviderMs":2324,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2209,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":630,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":115},"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":"b5ad5b28-af0a-4ec1-a03a-c76c23cabe23"},"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":3396,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T23:29:37.505398+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4055","receipt_type":"execute_mission","idempotency_key":"mission:b5ad5b28-af0a-4ec1-a03a-c76c23cabe23:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"bb2b1c28-fdcb-4cc0-9bee-831218f0eb52","command_center_event_id":"b5ad5b28-af0a-4ec1-a03a-c76c23cabe23"},{"id":"be840923-6975-4e13-a19d-dba4bc1eddb4","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3f38f89df562","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":29322,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":364756,"firstUsefulResultAt":"2026-09-29T18:27:16.029Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":4162,"terminal":false,"missionId":"3f38f89d-f562-44d5-80ee-ba4a718879b7","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2090,"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":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T18:33:21.000917+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4162","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3f38f89d-f562-44d5-80ee-ba4a718879b7:automatic-mission-resume:4162:repair_mission_pr_ready_retryable","mission_step_id":"aa749bfe-8818-435e-8456-e8aae3a6d8bf","command_center_event_id":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},{"id":"be84d2d3-65f5-45a8-a0d3-ca2a7e68c98e","source":"visual-sandbox","status":"completed_with_findings","payload":{"ok":true,"jobId":"124c66d7-d3b1-41f7-a0d0-a312c573748f","phase":"universal_visual_witness_status","branch":"ai/profile-media-live-20260929","reason":null,"status":"verification_pending","metrics":{"receiptBytes":42580,"releaseCount":0,"toolCallCount":27,"repeatedCallCount":15,"executorlessWaitMs":1356371,"firstUsefulResultAt":"2026-09-29T16:56:05.394Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":4148,"terminal":false,"missionId":"26d06067-1b8d-46aa-8b23-0dabcdadc27d","operation":"visual_proof_status","proofGate":"interactive_visual_witness_completed_with_findings","sourceSha":"79e66b347abab6959faf463fd7ebdae25e1465e6","timingsMs":{"queue":1593,"total":29678,"execution":28085},"nextAction":null,"receiptRef":{"mode":"full","missionId":"26d06067-1b8d-46aa-8b23-0dabcdadc27d"},"performance":null,"deploymentId":"forgejo-main-79e66b347aba","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"124c66d7-d3b1-41f7-a0d0-a312c573748f","tenant":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":1,"supervisorId":"124c66d7-d3b1-41f7-a0d0-a312c573748f","failureReason":null,"observedRoute":"/pcg/settings?section=profile","runnerVersion":"laptop-bb1e9c24fd5d","attemptLineage":[{"jobId":"a63b194f-5f92-4e90-a025-ca521cdc2166","attempt":1,"category":"completed_with_findings","sourceSha":"bb1e9c24fd5d6d6526aafb737dbeb2f9755ca0f4","startedAt":"2026-09-29T17:07:32.224Z","completedAt":"2026-09-29T17:08:01.742Z","runtimeLane":"cc-execution -> Local Laptop -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"laptop-bb1e9c24fd5d","browserLaunchReason":"display_unavailable_headless","checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":4,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":4}}],"missionOutcome":"completed_with_findings","requestedRoute":"/pcg/settings?section=profile","runnerSourceSha":"bb1e9c24fd5d6d6526aafb737dbeb2f9755ca0f4","selectedViewports":["desktop","mobile"],"checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":4,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":4},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":13112,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-media-library"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":"completed_with_findings","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":32717,"ownerActionRequired":false,"ownerFacingTerminal":false,"requestContractHash":"4f325d32304847f1bfd37bcfa16225d13a937ba35a465fcc851b33eeb6a72e2b","continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T17:18:44.210342+00:00","proof_gate":"interactive_visual_witness_completed_with_findings","source_sha":"laptop-bb1e9c24fd5d","external_id":"124c66d7-d3b1-41f7-a0d0-a312c573748f","receipt_type":"visual_proof_status","idempotency_key":"mission:26d06067-1b8d-46aa-8b23-0dabcdadc27d:visual:124c66d7-d3b1-41f7-a0d0-a312c573748f:completed_with_findings","mission_step_id":"efab81c7-c31d-41c7-a150-0fe91bd5a08b","command_center_event_id":"26d06067-1b8d-46aa-8b23-0dabcdadc27d"},{"id":"be869cb0-48e6-402d-a131-d021d60d093f","source":"forgejo","status":"waiting","payload":{"branch":"ai/visual-witness-progress-stall-recovery-20260906","prNumber":1986,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"857c6c05f7bc3e3dc590358f4a38b72dce39dbb7","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T19:25:34.818395+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"857c6c05f7bc3e3dc590358f4a38b72dce39dbb7","external_id":"1986","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:29aece99-1c29-4e65-9ff1-91ba71b173e0:merged-pr:1986:857c6c05f7bc3e3dc590358f4a38b72dce39dbb7","mission_step_id":"15bb8eea-247a-4dd3-919c-83b859628254","command_center_event_id":"29aece99-1c29-4e65-9ff1-91ba71b173e0"},{"id":"be89c942-79ab-41ce-b63f-4309acb612aa","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-eddc318a07dc","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.115-release-speed-lock","prNumber":null,"terminal":false,"missionId":"eddc318a-07dc-4ee3-bc65-e01324c1e033","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":17,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":250,"providerAuthMs":0,"ledgerPrepareMs":250,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":250,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":250,"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":"eddc318a-07dc-4ee3-bc65-e01324c1e033"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4110,"likelyAffectedFiles":["src/booking-route-viewport.css","src/OAuthConsentBridge.tsx","scripts/generate-platform-cohesion-auth-proof-requirements.mjs","scripts/visual-witness-hosted-runner/src/auth-state-refresh.mjs","scripts/visual-witness-hosted-runner/src/operator-session-broker.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:18:58.460668+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:eddc318a-07dc-4ee3-bc65-e01324c1e033:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"ed33a551-b8d5-484f-8506-68d451baec2a","command_center_event_id":"eddc318a-07dc-4ee3-bc65-e01324c1e033"},{"id":"be8dcb7c-3f5f-466c-a76c-6c54a333211c","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"0a03771b89e057dfff3b68e9bf8d313524e661d4","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"35e5d05882313d60bba3ec5230690f67df250c6b","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"0620ed52b08dd57a69e81ecebe26e9688bd9d49c4a8425215f38d56a9418b630","forgejoWorkflowProof":{"runId":15307,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T13:59:28.372344+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"35e5d05882313d60bba3ec5230690f67df250c6b","external_id":"forgejo-main-35e5d0588231","receipt_type":"canonical_release_status","idempotency_key":"mission:be8a69d0-997d-4e18-a1d4-635a092257c9:forgejo-release-status:35e5d05882313d60bba3ec5230690f67df250c6b:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"ddb46ad6-ed5d-4069-aba1-5dd29ffd6987","command_center_event_id":"be8a69d0-997d-4e18-a1d4-635a092257c9"},{"id":"be8fb846-e4ce-4603-892e-10e3ac56bf3d","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"b2ae41397be7d85048a5d94d328f31556072c731","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"b2ae41397be7d85048a5d94d328f31556072c731","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"0c4a1d1b6e10b6fae090c36d6a78ecb51548a8e82adff41e6ad9f2d975896e90","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5850","runId":5850,"status":"success","sourceSha":"b2ae41397be7d85048a5d94d328f31556072c731","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":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-06T15:18:05.130801+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"b2ae41397be7d85048a5d94d328f31556072c731","external_id":"forgejo-main-b2ae41397be7","receipt_type":"canonical_release_status","idempotency_key":"mission:84923a89-929e-4712-9b72-6f1994e7a592:forgejo-release-status:b2ae41397be7d85048a5d94d328f31556072c731:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"d672a1cc-e368-401b-bb57-3a3accc8f3c8","command_center_event_id":"84923a89-929e-4712-9b72-6f1994e7a592"},{"id":"be92e5a7-5a27-408e-b415-38622f70f93e","source":"cc-execution","status":"blocked","payload":{"reason":"forgejo_files_write_failed:403","fingerprint":"018a0b828fdbf32e5f9e5850212594629d336ba84a8ea16b85988323a4711de0"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:46:34.370874+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:1640998d-5d81-4ba8-b368-2c9f91cab6ee:repository-mutation-intent-blocked:018a0b828fdbf32e5f9e5850212594629d336ba84a8ea16b85988323a4711de0","mission_step_id":"9c9f3a20-dcf3-4f7b-b28b-cf818881a935","command_center_event_id":"1640998d-5d81-4ba8-b368-2c9f91cab6ee"},{"id":"be9451d3-c163-4219-8d84-258305542d15","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Repair the Universal Visual Witness false-positive acceptance for temporal visual objectives. Current bug: observe missions with an explicit route can set objectiveAcceptanceVerified/visualAcceptance true merely because the route loaded, projection verified, and screenshots were stored; screenshot content is not validated, so requests like 'verify visible motion/animation over time' can pass without proving any motion. Implement the smallest safe platform-wide temporal visual proof contract in the hosted witness. Requirements: (1) Detect objective intent narrowly for true temporal-visual requests: animation/animated/animate, motion, float/floating, pulse/pulsing, drift, sheen, visibly move/moving over time, transform over time, temporal visual. Do NOT trigger on ordinary layout requests such as 'move this button'. (2) For temporal-visual objectives, before final route acceptance sample visible candidate elements with active CSS/Web Animations at deliberately non-harmonic offsets (for example settle sample, ~350-450ms, then ~850-1100ms total; do not use a full-cycle-sized fixed delay). Prefer candidates with transform animation, animation-name, will-change:transform, or premium/anim","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"visual-artifact-scope","satisfied":false,"statement":"The requested visual artifact type is authoritative: dashboard only. Do not add unrelated or mixed visual surfaces unless the owner explicitly requested them.","proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-content-truth","satisfied":false,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-production","proof-visual"]},{"id":"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":"2ed0a6c4e8867d9e880d0cdcc36842759306c51216b7a975df0406d49af77f05","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":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"2ed0a6c4e8867d9e880d0cdcc36842759306c51216b7a975df0406d49af77f05"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"https://app.knocklaunch.app/dj/dashboard?mode=fanbase","currentSourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","witnessSourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","verificationState":null,"witnessRequestContractHash":"2ed0a6c4e8867d9e880d0cdcc36842759306c51216b7a975df0406d49af77f05"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:46:17.93815+00:00","proof_gate":"request_contract_pending","source_sha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:03b4c1fd-6065-4381-a277-88468a70c1de:request-contract:2ed0a6c4e8867d9e880d0cdcc36842759306c51216b7a975df0406d49af77f05:cd17b09fdb31a85433ce5c1c6f9cbbd563eced82:pending:visual","mission_step_id":"2c1543f6-ec79-4442-9372-9375024a5e4a","command_center_event_id":"03b4c1fd-6065-4381-a277-88468a70c1de"},{"id":"be94996a-e0bc-4712-b5d1-05519a771784","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-8e38b328ee11","prNumber":3980,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"2e737264d395ffa0263e40840ccf3ec2a41ed3b7","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T12:08:51.867388+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"2e737264d395ffa0263e40840ccf3ec2a41ed3b7","external_id":"3980","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:8e38b328-ee11-471e-af35-9565d4f6b360:merged-pr:3980:2e737264d395ffa0263e40840ccf3ec2a41ed3b7","mission_step_id":"d4e84de6-4b8c-48a4-96c4-e469249d4f0a","command_center_event_id":"8e38b328-ee11-471e-af35-9565d4f6b360"},{"id":"be9600ab-ef7b-4185-94bc-cda8c44505a9","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-2eb50ca156b9","prNumber":3597,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"4adb69a0ae8ce16346faceecf4459b75663e003d","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:43:38.151544+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"4adb69a0ae8ce16346faceecf4459b75663e003d","external_id":"3597","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:2eb50ca1-56b9-4fa2-bb02-5d1be9a71472:merged-pr:3597:4adb69a0ae8ce16346faceecf4459b75663e003d","mission_step_id":"abb048fa-10fb-4f95-af56-8bbcacd263e2","command_center_event_id":"2eb50ca1-56b9-4fa2-bb02-5d1be9a71472"},{"id":"be96262d-9866-407b-8e5d-c2bba7f36e4b","source":"onrunner","status":"failed","payload":{"ok":false,"jobId":"95b22e1b-6b2f-43f9-8dcf-c85934dab7ce","phase":"universal_visual_witness_poll_failed","branch":"ai/objective-first-repair-8c04bea84e20","reason":"unexpected_path:/knock-launch-os/portfolio","status":"blocked","metrics":{"receiptBytes":80750,"releaseCount":0,"toolCallCount":53,"repeatedCallCount":28,"executorlessWaitMs":2007024,"firstUsefulResultAt":"2026-09-28T13:17:30.172Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3993,"terminal":true,"missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6","operation":"visual_proof_status","proofGate":"interactive_visual_witness_failed","sourceSha":"7d477d4a1e4117ce0180b206604417728935ac6a","timingsMs":{"queue":1562,"total":12963,"execution":11401},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},"performance":null,"deploymentId":"forgejo-main-7d477d4a1e41","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"95b22e1b-6b2f-43f9-8dcf-c85934dab7ce","tenant":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":1,"supervisorId":"95b22e1b-6b2f-43f9-8dcf-c85934dab7ce","failureReason":"unexpected_path:/knock-launch-os/portfolio","observedRoute":"/redfish-roofing/roof-measurement","runnerVersion":"laptop-cd17b09fdb31","attemptLineage":[{"jobId":"2df3ef5e-0520-40fa-91ae-54480da4c640","attempt":1,"category":"application","sourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","startedAt":"2026-09-28T13:50:32.630Z","completedAt":"2026-09-28T13:50:46.120Z","runtimeLane":"cc-execution -> Local Laptop -> universal-witness.mjs","browserEngine":"chromium","failureReason":"unexpected_path:/knock-launch-os/portfolio","retryRecovery":null,"runnerVersion":"laptop-cd17b09fdb31","browserLaunchReason":"display_unavailable_headless","checkpointAccounting":{"route":{"required":2,"completed":0,"missingIds":["desktop::/redfish-roofing/roof-measurement","mobile::/redfish-roofing/roof-measurement"]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":4,"resumed":0,"complete":false,"evidence":{"required":2,"completed":0,"missingIds":["desktop::/redfish-roofing/roof-measurement::evidence::observe","mobile::/redfish-roofing/roof-measurement::evidence::observe"]},"completed":0,"remaining":4,"duplicates":0,"duplicateIds":[],"expectedTotal":4}}],"missionOutcome":"application","requestedRoute":"/redfish-roofing/roof-measurement","runnerSourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","selectedViewports":["desktop","mobile"],"checkpointAccounting":{"route":{"required":2,"completed":0,"missingIds":["desktop::/redfish-roofing/roof-measurement","mobile::/redfish-roofing/roof-measurement"]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":4,"resumed":0,"complete":false,"evidence":{"required":2,"completed":0,"missingIds":["desktop::/redfish-roofing/roof-measurement::evidence::observe","mobile::/redfish-roofing/roof-measurement::evidence::observe"]},"completed":0,"remaining":4,"duplicates":0,"duplicateIds":[],"expectedTotal":4},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"ENDED","pendingProofKinds":[],"verificationState":"failed","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6060,"ownerActionRequired":false,"ownerFacingTerminal":true,"requestContractHash":"161f6865dc1d29df5a224d8450a8780c5e9e620b3773edb2420a152147044882","continuationRequired":false,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:50:58.146666+00:00","proof_gate":"interactive_visual_witness_failed","source_sha":"laptop-cd17b09fdb31","external_id":"95b22e1b-6b2f-43f9-8dcf-c85934dab7ce","receipt_type":"visual_proof_status","idempotency_key":"mission:8c04bea8-4e20-43c8-8b0e-56d79150cdd6:visual:95b22e1b-6b2f-43f9-8dcf-c85934dab7ce:failed","mission_step_id":"d411668f-fe4a-4ab5-80d6-0d9bde8b75cc","command_center_event_id":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},{"id":"be969d18-38b9-4845-90d8-55c89958dc6e","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-d7d1f5aa0634","writes":[],"patches":[],"version":1,"approved":true,"missionId":"d7d1f5aa-0634-4cc5-b370-5203f7bd827f","objective":"PAUL adjacent-turn continuity authority repair based on a failed live acceptance test at 2026-09-30 21:36 EDT. Production operator-respond version 307 received the exact follow-up 'what could I do to make it run better?' immediately after PAUL answered 'what kind of machinery do we use to build and maintain knocklaunch?', yet replied that it needed to know what 'it' referred to. Live logs prove both turns reached operator-respond successfully (HTTP 200), so this is cognition behavior, not transport/fallback. Make referent resolution authoritative rather than advisory: when recentConversation resolves a referent with high confidence and no material ambiguity, use the resolved/interpreted message as the actual user message for the answer model and all bounded correction attempts. Add a deterministic immediate-context fallback for obvious KNOCKLAUNCH/PAUL referents when semantic JSON resolution fails, based on the most recent prior user/assistant topic. Broaden the evasion detector to catch referent-deferral phrases including 'I need to know what it refers to', 'what does it refer to', 'what are we looking at?', and requests to restate context. If a direct question has a high-confidence resolved referent, such clarification output must be rejected and corrected; if correction still evades, answer from the resolved interpretation rather than asking Noel to repeat context. Add non-user-facing response metadata for referent source/confidence/interpreted status to aid future debugging. Update the existing adjacent-turn regression to require authoritative resolved-message use. Add a deployed /health canary for the exact referent-deferral guard phrase. One focused PR, Gate, squash merge, deploy operator-respond, and prove the new worker boots and canary passes. No Visual Witness.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/operator-respond/index.ts","config/paul-owner-profile.json"],"anchored_edits":[{"path":"supabase/functions/operator-respond/index.ts","edits":[{"new_content":"function isEvasivePaulClarification(value: unknown) {\n  const text = String(value ?? '').replace(/\\s+/g, ' ').trim();\n  if (!text) return false;\n  return /^(?:what outcome do you want|what would you like(?: me)? to do|what do you want(?: me)? to do|can you clarify|could you clarify|please clarify|which .* do you mean|tell me what you want|what are you trying to achieve|to give you (?:a )?specific answer,? i need to know what .* refers to|i need to know what .* refers to|what does [\"']?(?:it|that|this)[\"']? refer to|what are we looking at|give me (?:the )?context|point me to (?:the )?(?:repo|repository|route|process|mission|code))\\b/i.test(text);\n}","old_content":"function isEvasivePaulClarification(value: unknown) {\n  const text = String(value ?? '').replace(/\\s+/g, ' ').trim();\n  if (!text) return false;\n  return /^(?:what outcome do you want|what would you like(?: me)? to do|what do you want(?: me)? to do|can you clarify|could you clarify|please clarify|which .* do you mean|tell me what you want|what are you trying to achieve)\\b/i.test(text);\n}"},{"new_content":"function applyConversationReferent(message: string, referent: string) {\n  const text = String(message ?? '').trim();\n  const subject = String(referent ?? '').trim();\n  if (!text || !subject) return text;\n  if (/\\bit\\b/i.test(text)) return text.replace(/\\bit\\b/i, subject);\n  if (/\\b(?:that|this)(?:\\s+thing)?\\b/i.test(text)) return text.replace(/\\b(?:that|this)(?:\\s+thing)?\\b/i, subject);\n  if (/\\b(?:they|them|those)\\b/i.test(text)) return text.replace(/\\b(?:they|them|those)\\b/i, subject);\n  return `${text}\\nResolved subject: ${subject}`;\n}\n\nfunction deterministicRecentConversationReferent(message: string, sidekickContext: any): PaulConversationReferent | null {\n  const text = String(message ?? '').trim();\n  if (!needsConversationReferentResolution(text)) return null;\n  const recentConversation = Array.isArray(sidekickContext?.recentConversation) ? sidekickContext.recentConversation.slice(-6) : [];\n  if (!recentConversation.length) return null;\n  const recentText = recentConversation.slice(-4).map((turn: any) => String(turn?.content ?? '')).join(' ').toLowerCase();\n  if (/\\bknocklaunch\\b/.test(recentText)) {\n    const machinery = /\\b(?:machinery|infrastructure|architecture|stack|forgejo|supabase|cloudflare|runner|build|maintain|ci\\/cd|ci\\b|release)\\b/.test(recentText);\n    const referent = machinery ? 'KNOCKLAUNCH and its build-and-maintenance machinery' : 'KNOCKLAUNCH';\n    return { resolvedMessage: applyConversationReferent(text, referent), referent, confidence: 0.94, clarificationRequired: false, source: 'semantic' };\n  }\n  if (/\\bpaul\\b|\\bsidekick\\b/.test(recentText)) {\n    const referent = 'PAUL';\n    return { resolvedMessage: applyConversationReferent(text, referent), referent, confidence: 0.92, clarificationRequired: false, source: 'semantic' };\n  }\n  return null;\n}\n\nasync function resolvePaulConversationReferent(message: string, sidekickContext: any): Promise<PaulConversationReferent> {\n  const text = String(message ?? '').trim();\n  const recentConversation = Array.isArray(sidekickContext?.recentConversation) ? sidekickContext.recentConversation.slice(-6) : [];\n  if (!text || !needsConversationReferentResolution(text) || recentConversation.length === 0) {\n    return { resolvedMessage: text, referent: null, confidence: 1, clarificationRequired: false, source: 'none' };\n  }\n\n  const deterministic = deterministicRecentConversationReferent(text, sidekickContext);\n  if (deterministic) return deterministic;\n\n  try {","old_content":"async function resolvePaulConversationReferent(message: string, sidekickContext: any): Promise<PaulConversationReferent> {\n  const text = String(message ?? '').trim();\n  const recentConversation = Array.isArray(sidekickContext?.recentConversation) ? sidekickContext.recentConversation.slice(-6) : [];\n  if (!text || !needsConversationReferentResolution(text) || recentConversation.length === 0) {\n    return { resolvedMessage: text, referent: null, confidence: 1, clarificationRequired: false, source: 'none' };\n  }\n\n  try {"},{"new_content":"    const authoritativeUserMessage = conversationReferent.confidence >= 0.72 && !conversationReferent.clarificationRequired\n      ? interpretedMessage\n      : userMessage;\n    const systemPrompt = [","old_content":"    const systemPrompt = ["},{"new_content":"        answer = await callModel([{ role: 'system', content: systemPrompt }, { role: 'user', content: authoritativeUserMessage }], []);","old_content":"        answer = await callModel([{ role: 'system', content: systemPrompt }, { role: 'user', content: userMessage }], []);"},{"new_content":"          { role: 'user', content: authoritativeUserMessage },\n        ], []);\n        const correctedMessage = humanizePaulConsoleAnswer(corrected.message, authoritativeUserMessage);","old_content":"          { role: 'user', content: userMessage },\n        ], []);\n        const correctedMessage = humanizePaulConsoleAnswer(corrected.message, userMessage);"},{"new_content":"    if (semanticIntent.directQuestion && !semanticIntent.clarificationRequired && isEvasivePaulClarification(finalMessage)) {\n      if (conversationReferent.confidence >= 0.72 && !conversationReferent.clarificationRequired && conversationReferent.referent) {\n        finalMessage = `I’m taking “it” to mean ${conversationReferent.referent} from the immediately preceding conversation. I should answer under that interpretation instead of making you repeat it. The next response should use the grounded context for ${conversationReferent.referent}, and only ask you if a materially different interpretation is actually plausible.`;\n      } else {\n        finalMessage = 'I do not have enough grounded information to answer that completely yet, but I should not make you restate the question. I can answer the supported part and fetch the missing current fact when the authoritative source is available.';\n      }\n    }","old_content":"    if (semanticIntent.directQuestion && !semanticIntent.clarificationRequired && isEvasivePaulClarification(finalMessage)) {\n      finalMessage = 'I do not have enough grounded information to answer that completely yet, but I should not make you restate the question. I can answer the supported part and fetch the missing current fact when the authoritative source is available.';\n    }"},{"new_content":"      ownerContextPreloaded: Boolean(liveCapabilityGrounding || liveStateGrounding || historicalPlatformGrounding || stableOwnerGrounding),\n      conversationReferent: {\n        source: conversationReferent.source,\n        referent: conversationReferent.referent,\n        confidence: conversationReferent.confidence,\n        clarificationRequired: conversationReferent.clarificationRequired,\n        interpreted: authoritativeUserMessage !== userMessage,\n      },\n    });","old_content":"      ownerContextPreloaded: Boolean(liveCapabilityGrounding || liveStateGrounding || historicalPlatformGrounding || stableOwnerGrounding),\n    });"},{"new_content":"    godmode_console_evidence_answer: true,\n    canonical_mission_operator: true,\n    self_awareness_natural_language_canary: isPaulSelfAwarenessRequest('are you self aware yet?'),\n    evasive_clarification_guard_canary: isEvasivePaulClarification('What outcome do you want?'),\n    referent_clarification_guard_canary: isEvasivePaulClarification('To give you a specific answer, I need to know what \"it\" refers to.'),","old_content":"    godmode_console_evidence_answer: true,\n    canonical_mission_operator: true,\n    self_awareness_natural_language_canary: isPaulSelfAwarenessRequest('are you self aware yet?'),\n    evasive_clarification_guard_canary: isEvasivePaulClarification('What outcome do you want?'),"}]},{"path":"config/paul-owner-profile.json","edits":[{"new_content":"      \"expected\": \"Resolve 'it' from the immediately preceding topic to KNOCKLAUNCH / its build-and-maintenance machinery and make that resolved message authoritative for the answer model itself, not merely a prompt hint. Answer with concrete improvement priorities. Reject and correct any draft that asks what 'it' refers to, asks what we are looking at, or asks Noel to restate context unless recent context truly contains multiple materially different consequential referents.\"","old_content":"      \"expected\": \"Resolve 'it' from the immediately preceding topic to KNOCKLAUNCH / its build-and-maintenance machinery and answer with concrete improvement priorities. Do not ask Noel what 'it' refers to unless recent context truly contains multiple materially different consequential referents.\""}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/operator-respond/index.ts","config/paul-owner-profile.json"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"3625c54aa71dbb0a511b6d1953a6c009d091d1531525cc02cb320f110f3a02d4","replayCount":0,"serializedBytes":11699},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T01:41:15.415601+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:d7d1f5aa-0634-4cc5-b370-5203f7bd827f:repository-mutation-intent:3625c54aa71dbb0a511b6d1953a6c009d091d1531525cc02cb320f110f3a02d4:0","mission_step_id":"7456f532-c530-463d-b368-ce4b84c5527c","command_center_event_id":"d7d1f5aa-0634-4cc5-b370-5203f7bd827f"},{"id":"be992bbf-df59-4b4d-bde7-deea6b204d68","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/pages/card-grading/PCGQualityControlPanel.tsx","content":"import React from 'react';\nimport {CheckCircle2,RotateCcw,ShieldAlert,TriangleAlert} from 'lucide-react';\nimport {toast} from '@/lib/notify';\nimport {supabase} from '@/integrations/supabase/client';\ntype CardRef={id:string;sequence_number:number;cert_number?:string|null};\ntype Review={card_id:string;outcome:'approved'|'regrade'|'rework'|'discrepancy';reviewed_at:string};\nexport default function PCGQualityControlPanel({tenantId,submissionId,cards,active,onChanged}:{tenantId:string;submissionId:string;cards:CardRef[];active:boolean;onChanged?:()=>void|Promise<void>}){\n const[reviews,setReviews]=React.useState<Review[]>([]);\n const[notes,setNotes]=React.useState<Record<string,string>>({});\n const[busy,setBusy]=React.useState<string|null>(null);\n const load=React.useCallback(async()=>{if(!active||!tenantId||!cards.length){setReviews([]);return}const{data,error}=await(supabase as any).from('card_grading_qc_reviews').select('card_id,outcome,reviewed_at').eq('tenant_id',tenantId).in('card_id',cards.map(card=>card.id)).order('reviewed_at',{ascending:false});if(error)toast.error(error.message);else setReviews((data||[]) as Review[])},[active,cards,tenantId]);\n React.useEffect(()=>{void load()},[load]);\n if(!active)return null;\n const latest=new Map<string,Review>();for(const review of reviews)if(!latest.has(review.card_id))latest.set(review.card_id,review);\n const approved=cards.filter(card=>latest.get(card.id)?.outcome==='approved').length;\n const save=async(card:CardRef,outcome:Review['outcome'])=>{setBusy(card.id+outcome);const{error}=await(supabase as any).rpc('record_card_grading_qc',{p_tenant_id:tenantId,p_card_id:card.id,p_outcome:outcome,p_notes:String(notes[card.id]||'').trim()||null});if(error)toast.error(error.message||'Unable to save QA review');else{toast.success(outcome==='approved'?'Card approved for finalization.':'QA decision saved.');await load();await onChanged?.()}setBusy(null)};\n return <section data-card-grading-qc-workbench=\"true\" data-submission-id={submissionId} className=\"mt-4 border border-white/[0.08] bg-[#09090a]/88 p-4\"><div className=\"flex flex-wrap items-end justify-between gap-3 border-b border-white/[0.08] pb-3\"><div><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Quality control</div><h3 className=\"mt-1 text-lg font-black\">QA review · {approved}/{cards.length} approved</h3></div><div className=\"text-[10px] font-bold text-white/35\">Ready stays locked until every card is approved.</div></div><div className=\"divide-y divide-white/[0.07]\">{cards.map(card=>{const state=latest.get(card.id)?.outcome||'pending';return <div key={card.id} className=\"py-4\"><div className=\"flex items-center gap-2\"><span className=\"text-sm font-black\">Card #{card.sequence_number}</span><span className={state==='approved'?'text-[10px] font-black uppercase text-emerald-300':'text-[10px] font-black uppercase text-amber-200'}>{state}</span>{card.cert_number?<span className=\"text-[10px] text-white/30\">Cert {card.cert_number}</span>:null}</div><input value={notes[card.id]||''} onChange={event=>setNotes({...notes,[card.id]:event.target.value})} placeholder=\"QA note or discrepancy reason\" className=\"mt-3 h-10 w-full border border-white/[0.09] bg-black/35 px-3 text-xs text-white outline-none placeholder:text-white/20\"/><div className=\"mt-2 grid grid-cols-2 gap-2 sm:grid-cols-4\"><button disabled={Boolean(busy)} onClick={()=>void save(card,'approved')} className=\"inline-flex items-center justify-center gap-1.5 bg-emerald-400/90 px-3 py-2 text-xs font-black text-black disabled:opacity-40\"><CheckCircle2 className=\"h-3.5 w-3.5\"/>Approve</button><button disabled={Boolean(busy)} onClick={()=>void save(card,'regrade')} className=\"inline-flex items-center justify-center gap-1.5 border border-white/10 px-3 py-2 text-xs font-black\"><RotateCcw className=\"h-3.5 w-3.5\"/>Regrade</button><button disabled={Boolean(busy)} onClick={()=>void save(card,'rework')} className=\"inline-flex items-center justify-center gap-1.5 border border-white/10 px-3 py-2 text-xs font-black\"><ShieldAlert className=\"h-3.5 w-3.5\"/>Rework</button><button disabled={Boolean(busy)} onClick={()=>void save(card,'discrepancy')} className=\"inline-flex items-center justify-center gap-1.5 border border-amber-300/20 px-3 py-2 text-xs font-black text-amber-200\"><TriangleAlert className=\"h-3.5 w-3.5\"/>Escalate</button></div></div>})}</div></section>;\n}"},{"path":"src/pages/card-grading/CardGradingPopulationReport.tsx","content":"import React from 'react';\nimport {Search,ShieldCheck} from 'lucide-react';\nimport {toast} from '@/lib/notify';\nimport {supabase} from '@/integrations/supabase/client';\ntype PopRow={year?:string|null;manufacturer?:string|null;set_name?:string|null;brand_set?:string|null;subset?:string|null;player_character?:string|null;card_number?:string|null;variation?:string|null;final_grade:number;grade_label?:string|null;pop_count:number|string};\nexport default function CardGradingPopulationReport({tenantId}:{tenantId:string}){\n const[rows,setRows]=React.useState<PopRow[]>([]);const[query,setQuery]=React.useState('');const[loading,setLoading]=React.useState(true);\n React.useEffect(()=>{let cancelled=false;void(async()=>{const{data,error}=await(supabase as any).from('card_grading_population_report').select('*').eq('tenant_id',tenantId).order('player_character').order('final_grade',{ascending:false});if(cancelled)return;if(error)toast.error(error.message);else setRows((data||[]) as PopRow[]);setLoading(false)})();return()=>{cancelled=true}},[tenantId]);\n const filtered=React.useMemo(()=>{const needle=query.trim().toLowerCase();return needle?rows.filter(row=>[row.player_character,row.year,row.manufacturer,row.set_name,row.brand_set,row.subset,row.card_number,row.variation,row.final_grade,row.grade_label].filter(Boolean).join(' ').toLowerCase().includes(needle)):rows},[query,rows]);\n const total=rows.reduce((sum,row)=>sum+Number(row.pop_count||0),0);\n return <section data-card-grading-pop-report=\"true\" className=\"mx-auto w-full max-w-[1500px] px-3 pb-10 pt-4 sm:px-5 lg:px-7\"><div className=\"flex flex-wrap items-end justify-between gap-4 border-b border-white/[0.08] pb-4\"><div><div className=\"text-[9px] font-black uppercase tracking-[.2em] text-[#d8bb78]\">KNOCKLAUNCH Card Grading</div><h1 className=\"mt-1 text-2xl font-black\">Population Report</h1><p className=\"mt-1 text-sm text-white/40\">Automatically derived from finalized PCG certificates.</p></div><div className=\"text-right\"><div className=\"text-2xl font-black\">{total.toLocaleString()}</div><div className=\"text-[9px] font-black uppercase text-white/30\">Published cards</div></div></div><div className=\"relative mt-4 max-w-2xl\"><Search className=\"absolute left-3 top-3 h-4 w-4 text-white/25\"/><input value={query} onChange={event=>setQuery(event.target.value)} placeholder=\"Search player, year, set, card #, variation, grade\" className=\"h-10 w-full border border-white/[0.09] bg-black/35 pl-10 pr-3 text-sm text-white outline-none\"/></div>{loading?<div className=\"py-10 text-white/35\">Loading population…</div>:<div className=\"mt-4 border-y border-white/[0.08]\">{filtered.map((row,index)=>{const grade=Number(row.final_grade);const identity=[row.year,row.manufacturer,row.set_name||row.brand_set,row.subset,row.card_number?'#'+row.card_number:null,row.variation].filter(Boolean).join(' · ');return <div key={index} className=\"grid grid-cols-[1fr_auto] items-center gap-4 border-b border-white/[0.07] px-2 py-3 last:border-0\"><div className=\"min-w-0\"><div className=\"truncate text-sm font-black\">{row.player_character||'Subject not specified'}</div><div className=\"mt-1 truncate text-[10px] text-white/35\">{identity}</div></div><div className=\"flex items-center gap-2\"><ShieldCheck className=\"h-4 w-4 text-[#d8bb78]/60\"/><div className=\"text-right\"><div className=\"font-black text-[#ead49d]\">{Number.isInteger(grade)?grade.toFixed(0):grade.toFixed(1)} <span className=\"text-white/30\">/</span> Pop {Number(row.pop_count).toLocaleString()}</div><div className=\"text-[9px] uppercase text-white/25\">{row.grade_label||'PCG grade'}</div></div></div></div>})}</div>}</section>;\n}"},{"path":"supabase/migrations/20260930015105_card_grading_application_v1.sql","content":"\nalter table public.card_grading_cards\n  add column if not exists manufacturer text,\n  add column if not exists set_name text,\n  add column if not exists subset text,\n  add column if not exists serial_number text,\n  add column if not exists relic_present boolean,\n  add column if not exists identified_at timestamptz,\n  add column if not exists identified_by uuid,\n  add column if not exists finalized_at timestamptz;\n\ncreate table if not exists public.card_grading_workflow_events (\n  id uuid primary key default gen_random_uuid(),\n  tenant_id uuid not null references public.tenants(id) on delete cascade,\n  submission_id uuid references public.card_grading_submissions(id) on delete cascade,\n  card_id uuid references public.card_grading_cards(id) on delete cascade,\n  event_type text not null,\n  from_status text,\n  to_status text,\n  reason text,\n  actor_user_id uuid,\n  metadata jsonb not null default '{}'::jsonb,\n  occurred_at timestamptz not null default now()\n);\ncreate index if not exists card_grading_workflow_events_tenant_time_idx\n  on public.card_grading_workflow_events(tenant_id, occurred_at desc);\ncreate index if not exists card_grading_workflow_events_submission_idx\n  on public.card_grading_workflow_events(submission_id, occurred_at desc);\ncreate index if not exists card_grading_workflow_events_card_idx\n  on public.card_grading_workflow_events(card_id, occurred_at desc);\n\ncreate table if not exists public.card_grading_media (\n  id uuid primary key default gen_random_uuid(),\n  tenant_id uuid not null references public.tenants(id) on delete cascade,\n  card_id uuid not null references public.card_grading_cards(id) on delete cascade,\n  kind text not null check (kind in ('front','back','detail','defect','label','final')),\n  provider text not null default 'knocklaunch',\n  provider_file_id text,\n  provider_revision_id text,\n  delivery_url text,\n  mime_type text,\n  width integer,\n  height integer,\n  bytes bigint,\n  checksum text,\n  is_current boolean not null default true,\n  is_public boolean not null default false,\n  created_by uuid,\n  created_at timestamptz not null default now(),\n  superseded_at timestamptz\n);\ncreate index if not exists card_grading_media_card_idx\n  on public.card_grading_media(card_id, kind, created_at desc);\ncreate unique index if not exists card_grading_media_one_current_kind_idx\n  on public.card_grading_media(card_id, kind)\n  where is_current;\n\ncreate table if not exists public.card_grading_grading_sessions (\n  id uuid primary key default gen_random_uuid(),\n  tenant_id uuid not null references public.tenants(id) on delete cascade,\n  card_id uuid not null references public.card_grading_cards(id) on delete cascade,\n  grader_user_id uuid,\n  status text not null default 'draft' check (status in ('draft','submitted','superseded')),\n  overall_grade numeric,\n  grade_label text,\n  notes text,\n  started_at timestamptz not null default now(),\n  submitted_at timestamptz,\n  created_at timestamptz not null default now(),\n  updated_at timestamptz not null default now()\n);\ncreate index if not exists card_grading_grading_sessions_card_idx\n  on public.card_grading_grading_sessions(card_id, created_at desc);\n\ncreate table if not exists public.card_grading_criterion_results (\n  id uuid primary key default gen_random_uuid(),\n  tenant_id uuid not null references public.tenants(id) on delete cascade,\n  session_id uuid not null references public.card_grading_grading_sessions(id) on delete cascade,\n  criterion_key text not null,\n  score numeric,\n  notes text,\n  created_at timestamptz not null default now(),\n  updated_at timestamptz not null default now(),\n  unique(session_id, criterion_key)\n);\n\ncreate table if not exists public.card_grading_qc_reviews (\n  id uuid primary key default gen_random_uuid(),\n  tenant_id uuid not null references public.tenants(id) on delete cascade,\n  card_id uuid not null references public.card_grading_cards(id) on delete cascade,\n  grading_session_id uuid references public.card_grading_grading_sessions(id) on delete set null,\n  reviewer_user_id uuid,\n  outcome text not null check (outcome in ('approved','regrade','rework','discrepancy')),\n  notes text,\n  reviewed_at timestamptz not null default now()\n);\ncreate index if not exists card_grading_qc_reviews_card_idx\n  on public.card_grading_qc_reviews(card_id, reviewed_at desc);\n\ncreate table if not exists public.card_grading_exceptions (\n  id uuid primary key default gen_random_uuid(),\n  tenant_id uuid not null references public.tenants(id) on delete cascade,\n  submission_id uuid references public.card_grading_submissions(id) on delete cascade,\n  card_id uuid references public.card_grading_cards(id) on delete cascade,\n  kind text not null check (kind in ('hold','rework','escalation')),\n  reason text not null,\n  status text not null default 'open' check (status in ('open','resolved')),\n  opened_by uuid,\n  opened_at timestamptz not null default now(),\n  resolved_by uuid,\n  resolved_at timestamptz,\n  resolution text\n);\ncreate index if not exists card_grading_exceptions_open_idx\n  on public.card_grading_exceptions(tenant_id, status, opened_at desc);\n\ncreate table if not exists public.card_grading_certificates (\n  id uuid primary key default gen_random_uuid(),\n  tenant_id uuid not null references public.tenants(id) on delete cascade,\n  card_id uuid not null references public.card_grading_cards(id) on delete cascade,\n  cert_number text not null,\n  category text,\n  year text,\n  manufacturer text,\n  set_name text,\n  brand_set text,\n  subset text,\n  player_character text,\n  card_number text,\n  variation text,\n  serial_number text,\n  autograph_present boolean,\n  relic_present boolean,\n  final_grade numeric not null,\n  grade_label text,\n  final_image_url text,\n  finalized_at timestamptz,\n  published_at timestamptz,\n  created_by uuid,\n  created_at timestamptz not null default now(),\n  updated_at timestamptz not null default now(),\n  unique(card_id),\n  unique(tenant_id, cert_number)\n);\ncreate index if not exists card_grading_certificates_lookup_idx\n  on public.card_grading_certificates(cert_number)\n  where published_at is not null;\n\nalter table public.card_grading_workflow_events enable row level security;\nalter table public.card_grading_media enable row level security;\nalter table public.card_grading_grading_sessions enable row level security;\nalter table public.card_grading_criterion_results enable row level security;\nalter table public.card_grading_qc_reviews enable row level security;\nalter table public.card_grading_exceptions enable row level security;\nalter table public.card_grading_certificates enable row level security;\n\nrevoke all on public.card_grading_workflow_events from anon;\nrevoke all on public.card_grading_media from anon;\nrevoke all on public.card_grading_grading_sessions from anon;\nrevoke all on public.card_grading_criterion_results from anon;\nrevoke all on public.card_grading_qc_reviews from anon;\nrevoke all on public.card_grading_exceptions from anon;\nrevoke all on public.card_grading_certificates from anon;\n\ngrant select, insert on public.card_grading_workflow_events to authenticated;\ngrant select, insert, update, delete on public.card_grading_media to authenticated;\ngrant select, insert, update, delete on public.card_grading_grading_sessions to authenticated;\ngrant select, insert, update, delete on public.card_grading_criterion_results to authenticated;\ngrant select, insert, update, delete on public.card_grading_qc_reviews to authenticated;\ngrant select, insert, update, delete on public.card_grading_exceptions to authenticated;\ngrant select, insert, update on public.card_grading_certificates to authenticated;\ngrant select on public.card_grading_certificates to anon;\n\ngrant all on public.card_grading_workflow_events to service_role;\ngrant all on public.card_grading_media to service_role;\ngrant all on public.card_grading_grading_sessions to service_role;\ngrant all on public.card_grading_criterion_results to service_role;\ngrant all on public.card_grading_qc_reviews to service_role;\ngrant all on public.card_grading_exceptions to service_role;\ngrant all on public.card_grading_certificates to service_role;\n\ndrop policy if exists card_grading_workflow_events_tenant_select on public.card_grading_workflow_events;\ncreate policy card_grading_workflow_events_tenant_select\non public.card_grading_workflow_events for select to authenticated\nusing (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_workflow_events.tenant_id\n  )\n);\ndrop policy if exists card_grading_workflow_events_tenant_insert on public.card_grading_workflow_events;\ncreate policy card_grading_workflow_events_tenant_insert\non public.card_grading_workflow_events for insert to authenticated\nwith check (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_workflow_events.tenant_id\n  )\n);\n\ndrop policy if exists card_grading_media_tenant_all on public.card_grading_media;\ncreate policy card_grading_media_tenant_all\non public.card_grading_media for all to authenticated\nusing (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_media.tenant_id\n  )\n)\nwith check (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_media.tenant_id\n  )\n);\n\ndrop policy if exists card_grading_grading_sessions_tenant_all on public.card_grading_grading_sessions;\ncreate policy card_grading_grading_sessions_tenant_all\non public.card_grading_grading_sessions for all to authenticated\nusing (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_grading_sessions.tenant_id\n  )\n)\nwith check (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_grading_sessions.tenant_id\n  )\n);\n\ndrop policy if exists card_grading_criterion_results_tenant_all on public.card_grading_criterion_results;\ncreate policy card_grading_criterion_results_tenant_all\non public.card_grading_criterion_results for all to authenticated\nusing (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_criterion_results.tenant_id\n  )\n)\nwith check (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_criterion_results.tenant_id\n  )\n);\n\ndrop policy if exists card_grading_qc_reviews_tenant_all on public.card_grading_qc_reviews;\ncreate policy card_grading_qc_reviews_tenant_all\non public.card_grading_qc_reviews for all to authenticated\nusing (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_qc_reviews.tenant_id\n  )\n)\nwith check (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_qc_reviews.tenant_id\n  )\n);\n\ndrop policy if exists card_grading_exceptions_tenant_all on public.card_grading_exceptions;\ncreate policy card_grading_exceptions_tenant_all\non public.card_grading_exceptions for all to authenticated\nusing (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_exceptions.tenant_id\n  )\n)\nwith check (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_exceptions.tenant_id\n  )\n);\n\ndrop policy if exists card_grading_certificates_staff_select on public.card_grading_certificates;\ncreate policy card_grading_certificates_staff_select\non public.card_grading_certificates for select to authenticated\nusing (\n  published_at is not null\n  or public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_certificates.tenant_id\n  )\n);\ndrop policy if exists card_grading_certificates_public_select on public.card_grading_certificates;\ncreate policy card_grading_certificates_public_select\non public.card_grading_certificates for select to anon\nusing (published_at is not null);\ndrop policy if exists card_grading_certificates_tenant_insert on public.card_grading_certificates;\ncreate policy card_grading_certificates_tenant_insert\non public.card_grading_certificates for insert to authenticated\nwith check (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_certificates.tenant_id\n  )\n);\ndrop policy if exists card_grading_certificates_tenant_update on public.card_grading_certificates;\ncreate policy card_grading_certificates_tenant_update\non public.card_grading_certificates for update to authenticated\nusing (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_certificates.tenant_id\n  )\n)\nwith check (\n  public.is_system_admin(auth.uid())\n  or exists (\n    select 1 from public.security_active_user_tenant_memberships m\n    where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = card_grading_certificates.tenant_id\n  )\n);\n\ncreate or replace function public.card_grading_audit_status_change()\nreturns trigger\nlanguage plpgsql\nset search_path = public, auth, pg_temp\nas $$\nbegin\n  if new.status is distinct from old.status then\n    insert into public.card_grading_workflow_events(\n      tenant_id, submission_id, card_id, event_type, from_status, to_status, actor_user_id\n    ) values (\n      new.tenant_id,\n      case when tg_table_name = 'card_grading_submissions' then new.id else new.submission_id end,\n      case when tg_table_name = 'card_grading_cards' then new.id else null end,\n      case when tg_table_name = 'card_grading_submissions' then 'submission_status_changed' else 'card_status_changed' end,\n      old.status, new.status, auth.uid()\n    );\n  end if;\n  return new;\nend;\n$$;\nrevoke all on function public.card_grading_audit_status_change() from public, anon, authenticated;\ngrant execute on function public.card_grading_audit_status_change() to service_role;\n\ndrop trigger if exists card_grading_submissions_status_audit on public.card_grading_submissions;\ncreate trigger card_grading_submissions_status_audit\nafter update of status on public.card_grading_submissions\nfor each row execute function public.card_grading_audit_status_change();\n\ndrop trigger if exists card_grading_cards_status_audit on public.card_grading_cards;\ncreate trigger card_grading_cards_status_audit\nafter update of status on public.card_grading_cards\nfor each row execute function public.card_grading_audit_status_change();\n\ncreate or replace function public.card_grading_protect_published_certificate()\nreturns trigger\nlanguage plpgsql\nset search_path = public, pg_temp\nas $$\nbegin\n  if old.published_at is not null\n     and current_setting('app.card_grading_cert_correction', true) <> 'allowed' then\n    raise exception 'Published PCG certificates are immutable; use the audited correction flow';\n  end if;\n  new.updated_at := now();\n  return new;\nend;\n$$;\nrevoke all on function public.card_grading_protect_published_certificate() from public, anon, authenticated;\ngrant execute on function public.card_grading_protect_published_certificate() to service_role;\n\ndrop trigger if exists card_grading_certificates_immutable on public.card_grading_certificates;\ncreate trigger card_grading_certificates_immutable\nbefore update on public.card_grading_certificates\nfor each row execute function public.card_grading_protect_published_certificate();\n\ncreate or replace function public.card_grading_protect_finalized_card()\nreturns trigger\nlanguage plpgsql\nset search_path = public, pg_temp\nas $$\nbegin\n  if current_setting('app.card_grading_cert_correction', true) = 'allowed' then\n    return new;\n  end if;\n  if exists (\n    select 1 from public.card_grading_certificates cc\n    where cc.card_id = old.id and cc.published_at is not null\n  ) and (\n    new.cert_number is distinct from old.cert_number\n    or new.grade is distinct from old.grade\n    or new.grade_label is distinct from old.grade_label\n    or new.category is distinct from old.category\n    or new.year is distinct from old.year\n    or new.manufacturer is distinct from old.manufacturer\n    or new.set_name is distinct from old.set_name\n    or new.brand_set is distinct from old.brand_set\n    or new.subset is distinct from old.subset\n    or new.player_character is distinct from old.player_character\n    or new.card_number is distinct from old.card_number\n    or new.variation is distinct from old.variation\n    or new.serial_number is distinct from old.serial_number\n    or new.autograph_present is distinct from old.autograph_present\n    or new.relic_present is distinct from old.relic_present\n  ) then\n    raise exception 'Finalized PCG card identity and grade are immutable; use the audited correction flow';\n  end if;\n  return new;\nend;\n$$;\nrevoke all on function public.card_grading_protect_finalized_card() from public, anon, authenticated;\ngrant execute on function public.card_grading_protect_finalized_card() to service_role;\n\ndrop trigger if exists card_grading_cards_finalized_immutable on public.card_grading_cards;\ncreate trigger card_grading_cards_finalized_immutable\nbefore update on public.card_grading_cards\nfor each row execute function public.card_grading_protect_finalized_card();\n\ncreate or replace function public.assign_card_grading_certificate(\n  p_tenant_id uuid,\n  p_card_id uuid,\n  p_cert_number text\n)\nreturns uuid\nlanguage plpgsql\nset search_path = public, auth, pg_temp\nas $$\ndeclare\n  v_card public.card_grading_cards%rowtype;\n  v_certificate_id uuid;\nbegin\n  if auth.uid() is null or not (\n    public.is_system_admin(auth.uid())\n    or exists (\n      select 1 from public.security_active_user_tenant_memberships m\n      where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = p_tenant_id\n    )\n  ) then\n    raise exception 'Card grading workspace access required' using errcode = '42501';\n  end if;\n  if nullif(btrim(coalesce(p_cert_number,'')),'') is null then\n    raise exception 'Cert Number is required';\n  end if;\n\n  select * into v_card\n  from public.card_grading_cards\n  where id = p_card_id and tenant_id = p_tenant_id;\n\n  if v_card.id is null then raise exception 'Card unavailable'; end if;\n  if v_card.grade is null then raise exception 'Save the card grade before assigning a Cert Number'; end if;\n\n  insert into public.card_grading_certificates(\n    tenant_id, card_id, cert_number, category, year, manufacturer, set_name, brand_set, subset,\n    player_character, card_number, variation, serial_number, autograph_present, relic_present,\n    final_grade, grade_label, final_image_url, finalized_at, created_by\n  ) values (\n    p_tenant_id, v_card.id, btrim(p_cert_number), v_card.category, v_card.year, v_card.manufacturer,\n    v_card.set_name, v_card.brand_set, v_card.subset, v_card.player_character, v_card.card_number,\n    v_card.variation, v_card.serial_number, v_card.autograph_present, v_card.relic_present,\n    v_card.grade, v_card.grade_label, nullif(btrim(coalesce(v_card.slab_image_url,'')),''),\n    null, auth.uid()\n  )\n  on conflict (card_id) do update set\n    cert_number = excluded.cert_number,\n    category = excluded.category,\n    year = excluded.year,\n    manufacturer = excluded.manufacturer,\n    set_name = excluded.set_name,\n    brand_set = excluded.brand_set,\n    subset = excluded.subset,\n    player_character = excluded.player_character,\n    card_number = excluded.card_number,\n    variation = excluded.variation,\n    serial_number = excluded.serial_number,\n    autograph_present = excluded.autograph_present,\n    relic_present = excluded.relic_present,\n    final_grade = excluded.final_grade,\n    grade_label = excluded.grade_label,\n    final_image_url = excluded.final_image_url,\n    updated_at = now()\n  returning id into v_certificate_id;\n\n  update public.card_grading_cards\n     set cert_number = btrim(p_cert_number), updated_at = now()\n   where id = p_card_id and tenant_id = p_tenant_id;\n\n  insert into public.card_grading_workflow_events(\n    tenant_id, submission_id, card_id, event_type, actor_user_id,\n    metadata\n  ) values (\n    p_tenant_id, v_card.submission_id, v_card.id, 'certificate_assigned', auth.uid(),\n    jsonb_build_object('cert_number', btrim(p_cert_number))\n  );\n\n  return v_certificate_id;\nend;\n$$;\nrevoke all on function public.assign_card_grading_certificate(uuid,uuid,text) from public, anon;\ngrant execute on function public.assign_card_grading_certificate(uuid,uuid,text) to authenticated, service_role;\n\ncreate or replace function public.record_card_grading_qc(\n  p_tenant_id uuid,\n  p_card_id uuid,\n  p_outcome text,\n  p_notes text default null\n)\nreturns uuid\nlanguage plpgsql\nset search_path = public, auth, pg_temp\nas $$\ndeclare\n  v_card public.card_grading_cards%rowtype;\n  v_review_id uuid;\n  v_session_id uuid;\nbegin\n  if auth.uid() is null or not (\n    public.is_system_admin(auth.uid())\n    or exists (\n      select 1 from public.security_active_user_tenant_memberships m\n      where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = p_tenant_id\n    )\n  ) then\n    raise exception 'Card grading workspace access required' using errcode = '42501';\n  end if;\n  if p_outcome not in ('approved','regrade','rework','discrepancy') then\n    raise exception 'Invalid QC outcome';\n  end if;\n\n  select * into v_card\n  from public.card_grading_cards\n  where id = p_card_id and tenant_id = p_tenant_id;\n  if v_card.id is null then raise exception 'Card unavailable'; end if;\n\n  if p_outcome = 'approved' and (\n    v_card.grade is null\n    or nullif(btrim(coalesce(v_card.cert_number,'')),'') is null\n    or nullif(btrim(coalesce(v_card.slab_image_url,'')),'') is null\n  ) then\n    raise exception 'QC approval requires a saved grade, Cert Number, and final image';\n  end if;\n\n  select id into v_session_id\n  from public.card_grading_grading_sessions\n  where tenant_id = p_tenant_id and card_id = p_card_id and status = 'submitted'\n  order by submitted_at desc nulls last, created_at desc\n  limit 1;\n\n  insert into public.card_grading_qc_reviews(\n    tenant_id, card_id, grading_session_id, reviewer_user_id, outcome, notes\n  ) values (\n    p_tenant_id, p_card_id, v_session_id, auth.uid(), p_outcome, nullif(btrim(coalesce(p_notes,'')),'')\n  ) returning id into v_review_id;\n\n  if p_outcome in ('regrade','rework','discrepancy') then\n    insert into public.card_grading_exceptions(\n      tenant_id, submission_id, card_id, kind, reason, opened_by\n    ) values (\n      p_tenant_id, v_card.submission_id, p_card_id,\n      case when p_outcome = 'discrepancy' then 'escalation' else 'rework' end,\n      coalesce(nullif(btrim(coalesce(p_notes,'')),''), 'QC requested additional review'),\n      auth.uid()\n    );\n  end if;\n\n  insert into public.card_grading_workflow_events(\n    tenant_id, submission_id, card_id, event_type, actor_user_id, reason,\n    metadata\n  ) values (\n    p_tenant_id, v_card.submission_id, p_card_id, 'qc_reviewed', auth.uid(),\n    nullif(btrim(coalesce(p_notes,'')),''),\n    jsonb_build_object('outcome', p_outcome, 'review_id', v_review_id)\n  );\n  return v_review_id;\nend;\n$$;\nrevoke all on function public.record_card_grading_qc(uuid,uuid,text,text) from public, anon;\ngrant execute on function public.record_card_grading_qc(uuid,uuid,text,text) to authenticated, service_role;\n\ncreate or replace function public.correct_card_grading_certificate(\n  p_tenant_id uuid,\n  p_cert_number text,\n  p_final_grade numeric,\n  p_grade_label text,\n  p_reason text\n)\nreturns void\nlanguage plpgsql\nset search_path = public, auth, pg_temp\nas $$\ndeclare\n  v_cert public.card_grading_certificates%rowtype;\nbegin\n  if auth.uid() is null or not (\n    public.is_system_admin(auth.uid())\n    or exists (\n      select 1 from public.security_active_user_tenant_memberships m\n      where m.user_id = auth.uid() and m.status = 'active' and m.tenant_id = p_tenant_id and m.is_owner = true\n    )\n  ) then\n    raise exception 'Owner or platform-admin authority required' using errcode = '42501';\n  end if;\n  if nullif(btrim(coalesce(p_reason,'')),'') is null then\n    raise exception 'Correction reason is required';\n  end if;\n\n  select * into v_cert\n  from public.card_grading_certificates\n  where tenant_id = p_tenant_id and cert_number = btrim(p_cert_number)\n  for update;\n  if v_cert.id is null then raise exception 'Certificate unavailable'; end if;\n\n  perform set_config('app.card_grading_cert_correction','allowed',true);\n\n  update public.card_grading_certificates\n     set final_grade = p_final_grade,\n         grade_label = p_grade_label,\n         updated_at = now()\n   where id = v_cert.id;\n\n  update public.card_grading_cards\n     set grade = p_final_grade,\n         grade_label = p_grade_label,\n         updated_at = now()\n   where id = v_cert.card_id and tenant_id = p_tenant_id;\n\n  insert into public.card_grading_workflow_events(\n    tenant_id, card_id, event_type, actor_user_id, reason, metadata\n  ) values (\n    p_tenant_id, v_cert.card_id, 'certificate_corrected', auth.uid(), btrim(p_reason),\n    jsonb_build_object(\n      'cert_number', v_cert.cert_number,\n      'previous_grade', v_cert.final_grade,\n      'previous_grade_label', v_cert.grade_label,\n      'new_grade', p_final_grade,\n      'new_grade_label', p_grade_label\n    )\n  );\nend;\n$$;\nrevoke all on function public.correct_card_grading_certificate(uuid,text,numeric,text,text) from public, anon;\ngrant execute on function public.correct_card_grading_certificate(uuid,text,numeric,text,text) to authenticated, service_role;\n\ncreate or replace function public.advance_pcg_grading_submission(\n  p_tenant_id uuid,\n  p_submission_id uuid,\n  p_status text\n)\nreturns void\nlanguage plpgsql\nset search_path = public, auth, pg_temp\nas $$\ndeclare\n  v_current_status text;\n  v_is_pcg boolean := false;\n  v_card_count integer := 0;\n  v_missing_count integer := 0;\n  v_tracking_out text;\n  v_allowed boolean := false;\nbegin\n  if current_user <> 'service_role' then\n    if auth.uid() is null or not public.is_tenant_member(p_tenant_id::text) then\n      raise exception 'PCG workspace access required' using errcode = '42501';\n    end if;\n  end if;\n\n  select coalesce(t.company_slug, '') = 'pcg'\n    into v_is_pcg\n  from public.tenants t\n  where t.id = p_tenant_id;\n  if not coalesce(v_is_pcg, false) then\n    raise exception 'PCG workspace required' using errcode = '42501';\n  end if;\n\n  select s.status, s.tracking_out\n    into v_current_status, v_tracking_out\n  from public.card_grading_submissions s\n  where s.id = p_submission_id and s.tenant_id = p_tenant_id;\n  if v_current_status is null then raise exception 'Submission unavailable'; end if;\n  if p_status = v_current_status then return; end if;\n  if p_status not in ('received','intake_imaging','authentication','grading','encapsulation','qa','ready','shipped','picked_up') then\n    raise exception 'Invalid grading status';\n  end if;\n\n  v_allowed := case v_current_status\n    when 'received' then p_status = 'intake_imaging'\n    when 'intake_imaging' then p_status = 'authentication'\n    when 'authentication' then p_status = 'grading'\n    when 'grading' then p_status = 'encapsulation'\n    when 'encapsulation' then p_status = 'qa'\n    when 'qa' then p_status = 'ready'\n    when 'ready' then p_status in ('shipped','picked_up')\n    else false\n  end;\n  if not v_allowed then raise exception 'PCG grading stages must advance in canonical order'; end if;\n\n  if exists (\n    select 1 from public.card_grading_exceptions e\n    where e.tenant_id = p_tenant_id\n      and e.status = 'open'\n      and e.kind in ('hold','escalation')\n      and (e.submission_id = p_submission_id or e.card_id in (\n        select c.id from public.card_grading_cards c\n        where c.tenant_id = p_tenant_id and c.submission_id = p_submission_id\n      ))\n  ) then\n    raise exception 'Resolve open hold or escalation before advancing this PCG order';\n  end if;\n\n  select count(*)::integer into v_card_count\n  from public.card_grading_cards c\n  where c.tenant_id = p_tenant_id and c.submission_id = p_submission_id;\n\n  if p_status in ('authentication','encapsulation','qa','ready') and v_card_count = 0 then\n    raise exception 'Add cards before advancing this PCG order';\n  end if;\n\n  if p_status = 'authentication' then\n    select count(*)::integer into v_missing_count\n    from public.card_grading_cards c\n    where c.tenant_id = p_tenant_id and c.submission_id = p_submission_id\n      and (nullif(btrim(coalesce(c.front_image_url,'')),'') is null\n        or nullif(btrim(coalesce(c.back_image_url,'')),'') is null);\n    if v_missing_count > 0 then\n      raise exception '% card(s) need saved front and back intake imagery before authentication', v_missing_count;\n    end if;\n  elsif p_status = 'encapsulation' then\n    select count(*)::integer into v_missing_count\n    from public.card_grading_cards c\n    where c.tenant_id = p_tenant_id and c.submission_id = p_submission_id and c.grade is null;\n    if v_missing_count > 0 then\n      raise exception '% card(s) need a saved grade before encapsulation', v_missing_count;\n    end if;\n  elsif p_status = 'qa' then\n    select count(*)::integer into v_missing_count\n    from public.card_grading_cards c\n    where c.tenant_id = p_tenant_id and c.submission_id = p_submission_id\n      and (c.grade is null or nullif(btrim(coalesce(c.cert_number,'')),'') is null);\n    if v_missing_count > 0 then\n      raise exception '% card(s) need a saved grade and Cert Number before QA', v_missing_count;\n    end if;\n  elsif p_status = 'ready' then\n    select count(*)::integer into v_missing_count\n    from public.card_grading_cards c\n    where c.tenant_id = p_tenant_id and c.submission_id = p_submission_id\n      and (\n        c.grade is null\n        or nullif(btrim(coalesce(c.cert_number,'')),'') is null\n        or nullif(btrim(coalesce(c.slab_image_url,'')),'') is null\n        or not exists (\n          select 1 from public.card_grading_qc_reviews q\n          where q.tenant_id = p_tenant_id and q.card_id = c.id and q.outcome = 'approved'\n            and q.reviewed_at = (\n              select max(q2.reviewed_at) from public.card_grading_qc_reviews q2\n              where q2.tenant_id = p_tenant_id and q2.card_id = c.id\n            )\n        )\n      );\n    if v_missing_count > 0 then\n      raise exception '% card(s) need saved grade, Cert Number, final image, and approved QA before Ready', v_missing_count;\n    end if;\n  elsif p_status = 'shipped' then\n    if nullif(btrim(coalesce(v_tracking_out,'')),'') is null then\n      raise exception 'Save outbound tracking before marking this PCG order shipped';\n    end if;\n  end if;\n\n  update public.card_grading_submissions\n     set status = p_status,\n         completed_at = case when p_status in ('shipped','picked_up') then now() else completed_at end,\n         updated_at = now()\n   where id = p_submission_id and tenant_id = p_tenant_id;\n  if not found then raise exception 'Submission unavailable'; end if;\n\n  update public.card_grading_cards\n     set status = p_status, updated_at = now()\n   where submission_id = p_submission_id and tenant_id = p_tenant_id;\n\n  if p_status = 'ready' then\n    insert into public.card_grading_certificates(\n      tenant_id, card_id, cert_number, category, year, manufacturer, set_name, brand_set, subset,\n      player_character, card_number, variation, serial_number, autograph_present, relic_present,\n      final_grade, grade_label, final_image_url, finalized_at, published_at, created_by\n    )\n    select\n      c.tenant_id, c.id, c.cert_number, c.category, c.year, c.manufacturer, c.set_name, c.brand_set, c.subset,\n      c.player_character, c.card_number, c.variation, c.serial_number, c.autograph_present, c.relic_present,\n      c.grade, c.grade_label, c.slab_image_url, now(), now(), auth.uid()\n    from public.card_grading_cards c\n    where c.tenant_id = p_tenant_id and c.submission_id = p_submission_id\n    on conflict (card_id) do update set\n      category = excluded.category,\n      year = excluded.year,\n      manufacturer = excluded.manufacturer,\n      set_name = excluded.set_name,\n      brand_set = excluded.brand_set,\n      subset = excluded.subset,\n      player_character = excluded.player_character,\n      card_number = excluded.card_number,\n      variation = excluded.variation,\n      serial_number = excluded.serial_number,\n      autograph_present = excluded.autograph_present,\n      relic_present = excluded.relic_present,\n      final_grade = excluded.final_grade,\n      grade_label = excluded.grade_label,\n      final_image_url = excluded.final_image_url,\n      finalized_at = coalesce(card_grading_certificates.finalized_at, now()),\n      published_at = coalesce(card_grading_certificates.published_at, now()),\n      updated_at = now();\n\n    update public.card_grading_cards\n       set finalized_at = coalesce(finalized_at, now()), updated_at = now()\n     where tenant_id = p_tenant_id and submission_id = p_submission_id;\n  end if;\nend;\n$$;\nrevoke all on function public.advance_pcg_grading_submission(uuid,uuid,text) from public, anon;\ngrant execute on function public.advance_pcg_grading_submission(uuid,uuid,text) to authenticated, service_role;\n\ncreate or replace view public.card_grading_public_certificates\nwith (security_invoker = true)\nas\nselect\n  tenant_id,\n  cert_number,\n  category,\n  year,\n  manufacturer,\n  set_name,\n  brand_set,\n  subset,\n  player_character,\n  card_number,\n  variation,\n  serial_number,\n  autograph_present,\n  relic_present,\n  final_grade,\n  grade_label,\n  final_image_url,\n  finalized_at,\n  published_at\nfrom public.card_grading_certificates\nwhere published_at is not null;\n\ncreate or replace view public.card_grading_population_report\nwith (security_invoker = true)\nas\nselect\n  tenant_id,\n  category,\n  year,\n  manufacturer,\n  set_name,\n  brand_set,\n  subset,\n  player_character,\n  card_number,\n  variation,\n  serial_number,\n  autograph_present,\n  relic_present,\n  final_grade,\n  grade_label,\n  count(*)::bigint as pop_count\nfrom public.card_grading_certificates\nwhere published_at is not null\ngroup by\n  tenant_id, category, year, manufacturer, set_name, brand_set, subset,\n  player_character, card_number, variation, serial_number,\n  autograph_present, relic_present, final_grade, grade_label;\n\nrevoke all on public.card_grading_public_certificates from public;\nrevoke all on public.card_grading_population_report from public;\ngrant select on public.card_grading_public_certificates to anon, authenticated, service_role;\ngrant select on public.card_grading_population_report to anon, authenticated, service_role;\n\ninsert into public.card_grading_media(\n  tenant_id, card_id, kind, provider, delivery_url, is_current, is_public, created_at\n)\nselect c.tenant_id, c.id, v.kind, 'legacy_url', v.url, true,\n       case when v.kind = 'final' and c.status in ('ready','shipped','picked_up') then true else false end,\n       c.updated_at\nfrom public.card_grading_cards c\ncross join lateral (\n  values\n    ('front'::text, nullif(btrim(coalesce(c.front_image_url,'')),'')),\n    ('back'::text, nullif(btrim(coalesce(c.back_image_url,'')),'')),\n    ('final'::text, nullif(btrim(coalesce(c.slab_image_url,'')),''))\n) as v(kind, url)\nwhere v.url is not null\n  and not exists (\n    select 1 from public.card_grading_media m\n    where m.card_id = c.id and m.kind = v.kind and m.is_current\n  );\n\ninsert into public.card_grading_certificates(\n  tenant_id, card_id, cert_number, category, year, manufacturer, set_name, brand_set, subset,\n  player_character, card_number, variation, serial_number, autograph_present, relic_present,\n  final_grade, grade_label, final_image_url, finalized_at, published_at, created_by\n)\nselect\n  c.tenant_id, c.id, btrim(c.cert_number), c.category, c.year, c.manufacturer, c.set_name, c.brand_set, c.subset,\n  c.player_character, c.card_number, c.variation, c.serial_number, c.autograph_present, c.relic_present,\n  c.grade, c.grade_label, nullif(btrim(coalesce(c.slab_image_url,'')),''),\n  case when c.status in ('ready','shipped','picked_up') then coalesce(c.updated_at,c.created_at) else null end,\n  case when c.status in ('ready','shipped','picked_up') then coalesce(c.updated_at,c.created_at) else null end,\n  null\nfrom public.card_grading_cards c\nwhere c.grade is not null\n  and nullif(btrim(coalesce(c.cert_number,'')),'') is not null\non conflict (card_id) do nothing;\n\ninsert into public.card_grading_qc_reviews(\n  tenant_id, card_id, reviewer_user_id, outcome, notes, reviewed_at\n)\nselect c.tenant_id, c.id, null, 'approved', 'Legacy completed card backfill', coalesce(c.updated_at,c.created_at)\nfrom public.card_grading_cards c\nwhere c.status in ('ready','shipped','picked_up')\n  and not exists (\n    select 1 from public.card_grading_qc_reviews q where q.card_id = c.id\n  );\n\ninsert into public.card_grading_workflow_events(\n  tenant_id, submission_id, event_type, to_status, metadata, occurred_at\n)\nselect s.tenant_id, s.id, 'migration_snapshot', s.status, jsonb_build_object('source','card_grading_application_v1'), s.updated_at\nfrom public.card_grading_submissions s\nwhere not exists (\n  select 1 from public.card_grading_workflow_events e\n  where e.submission_id = s.id and e.event_type = 'migration_snapshot'\n);\n\ninsert into public.card_grading_workflow_events(\n  tenant_id, submission_id, card_id, event_type, to_status, metadata, occurred_at\n)\nselect c.tenant_id, c.submission_id, c.id, 'migration_snapshot', c.status, jsonb_build_object('source','card_grading_application_v1'), c.updated_at\nfrom public.card_grading_cards c\nwhere not exists (\n  select 1 from public.card_grading_workflow_events e\n  where e.card_id = c.id and e.event_type = 'migration_snapshot'\n);\n\ninsert into public.application_catalog(\n  id, slug, label, audience, workspace_surface, bootstrap_mode, default_installed,\n  capabilities, data_owners, external_url, supported_tenant_types, standalone_path,\n  login_path, bootstrap_version, route_adapter, config_contract\n) values (\n  'card-grading',\n  'card-grading',\n  'Card Grading',\n  'tenant-user',\n  'card-grading',\n  'vertical',\n  false,\n  '[\"intake\",\"imaging\",\"identify\",\"grade\",\"qa\",\"encapsulate\",\"certify\",\"population-report\",\"fulfill\",\"audit\"]'::jsonb,\n  '[\"card_grading_submissions\",\"card_grading_cards\",\"card_grading_media\",\"card_grading_grading_sessions\",\"card_grading_criterion_results\",\"card_grading_qc_reviews\",\"card_grading_exceptions\",\"card_grading_certificates\",\"card_grading_workflow_events\"]'::jsonb,\n  null,\n  '[\"MISC\"]'::jsonb,\n  '/card-grading',\n  null,\n  1,\n  'tenant-workspace',\n  '{\"schema\":\"application-bootstrap.v1\",\"applicationId\":\"card-grading\",\"applicationSlug\":\"card-grading\",\"registry_contract\":\"application-registry.v2\",\"registry_authority\":\"source-product-catalog\",\"availability_policy\":\"assigned\",\"domain\":\"card-grading\"}'::jsonb\n)\non conflict (id) do update set\n  slug = excluded.slug,\n  label = excluded.label,\n  audience = excluded.audience,\n  workspace_surface = excluded.workspace_surface,\n  bootstrap_mode = excluded.bootstrap_mode,\n  default_installed = excluded.default_installed,\n  capabilities = excluded.capabilities,\n  data_owners = excluded.data_owners,\n  supported_tenant_types = excluded.supported_tenant_types,\n  standalone_path = excluded.standalone_path,\n  login_path = excluded.login_path,\n  bootstrap_version = excluded.bootstrap_version,\n  route_adapter = excluded.route_adapter,\n  config_contract = excluded.config_contract,\n  updated_at = now();\n\nupdate public.tenant_applications ta\nset enabled = true, bootstrap_version = greatest(ta.bootstrap_version,1), updated_at = now()\nfrom public.tenants t\nwhere t.company_slug = 'pcg'\n  and ta.tenant_id = t.id\n  and ta.application_id = 'card-grading';\n\ninsert into public.tenant_applications(tenant_id, application_id, enabled, settings, bootstrap_version)\nselect t.id, 'card-grading', true, '{\"canonical_path\":\"/pcg/card-grading\"}'::jsonb, 1\nfrom public.tenants t\nwhere t.company_slug = 'pcg'\n  and not exists (\n    select 1 from public.tenant_applications ta\n    where ta.tenant_id = t.id and ta.application_id = 'card-grading'\n  );\n"},{"path":"src/__tests__/contracts/card-grading-application.contract.test.ts","content":"import fs from 'node:fs';\nimport path from 'node:path';\nimport {describe,expect,it} from 'vitest';\nconst read=(file:string)=>fs.readFileSync(path.join(process.cwd(),file),'utf8');\ndescribe('Card Grading first-class application',()=>{\n it('is registered and tenant bounded',()=>{const registry=read('src/config/applicationCapabilityRegistry.ts'),shell=read('src/PrivateAppShell.tsx');expect(registry).toContain(\"'card-grading': workspaceContract(\");expect(registry).toContain(\"app('card-grading', 'Card Grading'\");expect(shell).toContain('FirstClassAppTenantBoundary appSlug=\"card-grading\"')});\n it('provides QA and population surfaces',()=>{expect(read('src/pages/crm/PcgWorkspace.tsx')).toContain('PCGQualityControlPanel');expect(read('src/pages/card-grading/PCGModesWorkspace.tsx')).toContain('CardGradingPopulationReport')});\n it('ships canonical migration source',()=>{const migration=read('supabase/migrations/20260930015105_card_grading_application_v1.sql');expect(migration).toContain('card_grading_certificates');expect(migration).toContain('card_grading_qc_reviews');expect(migration).toContain('card_grading_population_report');expect(migration).toContain('security_invoker')});\n it('keeps current public records behind published certificates',()=>{const fn=read('supabase/functions/pcg-customer-progress/index.ts');expect(fn).toContain(\"from('card_grading_public_certificates')\");expect(fn).toContain(\"from('card_grading_population_report')\")});\n});"}],"branch":"ai/objective-first-repair-92964f0c60ea","writes":[],"patches":[],"version":1,"approved":true,"missionId":"92964f0c-60ea-4903-a573-31d680fefd52","sourceSha":"90ff83d0d106658abcb32b33aa78b68af409e5d4","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx","src/config/applicationCapabilityRegistry.ts","src/pages/card-grading/PCGModesWorkspace.tsx","src/pages/crm/PcgWorkspace.tsx","supabase/functions/pcg-customer-progress/index.ts"],"anchored_edits":[{"path":"src/config/applicationCapabilityRegistry.ts","new_content":"  'card-grading': workspaceContract('tenant-native', ['card-grading','grading','certificates','population','quality-control','intake'], ['panel','action','full-page'], ['intake','imaging','identify','grade','qa','encapsulate','certify','population-report','fulfill','audit'], ['storage']),\n  'operational-command': workspaceContract(","old_content":"  'operational-command': workspaceContract("},{"path":"src/config/applicationCapabilityRegistry.ts","new_content":"  withArchitecture(verticalWorkspace(app('card-grading', 'Card Grading', 'card-grading', ['intake','imaging','identify','grade','qa','encapsulate','certify','population-report','fulfill','audit'], ['card_grading_submissions','card_grading_cards','card_grading_media','card_grading_grading_sessions','card_grading_criterion_results','card_grading_qc_reviews','card_grading_exceptions','card_grading_certificates','card_grading_workflow_events'], 'vertical', false, 'tenant-user', null, ['MISC'], '/card-grading', 'tenant-workspace')), { maturity: 'production', availabilityPolicy: 'assigned', relationships: { owns: ['card-grading-lifecycle','certificate-publication','population-report'], provides: ['graded-card-record','published-certificate'], consumes: ['storage'], delegates: [] }, composition: { requires: [], optional: ['documents','mail'] } }),\n  orchestrator(app('operational-command'","old_content":"  orchestrator(app('operational-command'"},{"path":"src/config/applicationCapabilityRegistry.ts","new_content":"'inventory','card-grading','operations','claim-operations'","old_content":"'inventory','operations','claim-operations'"},{"path":"src/PrivateAppShell.tsx","new_content":"if(isPcgPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><FirstClassAppTenantBoundary appSlug=\"card-grading\"><PCGCanonicalWorkspaceRoute/></FirstClassAppTenantBoundary></Suspense>;","old_content":"if(isPcgPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><PCGCanonicalWorkspaceRoute/></Suspense>;"},{"path":"src/pages/crm/PcgWorkspace.tsx","new_content":"import {PCG_GRADING_SCALE,findPCGGrade,formatPCGGrade} from '@/pages/card-grading/pcgGradingScale';\nimport PCGQualityControlPanel from '@/pages/card-grading/PCGQualityControlPanel';","old_content":"import {PCG_GRADING_SCALE,findPCGGrade,formatPCGGrade} from '@/pages/card-grading/pcgGradingScale';"},{"path":"src/pages/crm/PcgWorkspace.tsx","new_content":"!card.front_image_url||!card.back_image_url","old_content":"!card.front_image_url&&!card.back_image_url&&!card.slab_image_url"},{"path":"src/pages/crm/PcgWorkspace.tsx","new_content":"!card.slab_image_url","old_content":"(!card.slab_image_url&&!card.front_image_url&&!card.back_image_url)"},{"path":"src/pages/crm/PcgWorkspace.tsx","new_content":"</div></section><PCGQualityControlPanel tenantId={tenantId||''} submissionId={selected.id} cards={selectedCards} active={selected.status==='qa'} onChanged={load}/><section className={`${panelClass} mt-4 p-4`}><div className=\"flex items-center justify-between\"><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Collector & payment</div>","old_content":"</div></section><section className={`${panelClass} mt-4 p-4`}><div className=\"flex items-center justify-between\"><div className=\"text-[9px] font-black uppercase tracking-[.16em] text-[#d8bb78]\">Collector & payment</div>"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","new_content":"import {ArrowLeft,ArrowRight,BarChart3,Boxes,CheckCircle2,ClipboardCheck,Clock3,CreditCard,Database,Images,Settings,Truck,Users} from 'lucide-react';","old_content":"import {ArrowLeft,ArrowRight,Boxes,CheckCircle2,ClipboardCheck,Clock3,CreditCard,Database,Images,Settings,Truck,Users} from 'lucide-react';"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","new_content":"import PCGCompletionCenter from '@/pages/card-grading/PCGCompletionCenter';\nimport CardGradingPopulationReport from '@/pages/card-grading/CardGradingPopulationReport';","old_content":"import PCGCompletionCenter from '@/pages/card-grading/PCGCompletionCenter';"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","new_content":"type WorkspaceTab='today'|'vault'|'queue'|'submissions'|'certs'|'collectors'|'inventory'|'shipping'|'money'|'migration'|'readiness'|'population'|'settings';","old_content":"type WorkspaceTab='today'|'vault'|'queue'|'submissions'|'certs'|'collectors'|'inventory'|'shipping'|'money'|'migration'|'readiness'|'settings';"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","new_content":"const ADMIN_TOOLS=[{id:'settings' as WorkspaceTab,label:'Settings',icon:Settings},{id:'money' as WorkspaceTab,label:'Payments',icon:CreditCard},{id:'readiness' as WorkspaceTab,label:'Readiness',icon:ClipboardCheck},{id:'migration' as WorkspaceTab,label:'Migration',icon:Database},{id:'population' as WorkspaceTab,label:'Pop Report',icon:BarChart3}] as const;","old_content":"const ADMIN_TOOLS=[{id:'settings' as WorkspaceTab,label:'Settings',icon:Settings},{id:'money' as WorkspaceTab,label:'Payments',icon:CreditCard},{id:'readiness' as WorkspaceTab,label:'Readiness',icon:ClipboardCheck},{id:'migration' as WorkspaceTab,label:'Migration',icon:Database}] as const;"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","new_content":"readiness:'Readiness',population:'Pop Report',settings:'Settings'","old_content":"readiness:'Readiness',settings:'Settings'"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","new_content":"'money','migration','readiness','population','settings'","old_content":"'money','migration','readiness','settings'"},{"path":"src/pages/card-grading/PCGModesWorkspace.tsx","new_content":"      {adminTool==='population'?<CardGradingPopulationReport tenantId={tenantId}/>:<PcgWorkspace initialTab={adminTool} embedded navigationScope={[adminTool]}/>}","old_content":"      <PcgWorkspace initialTab={adminTool} embedded navigationScope={[adminTool]}/>"},{"path":"supabase/functions/pcg-customer-progress/index.ts","new_content":"      const{data:currentCertificates,error:currentError}=await supabase.from('card_grading_public_certificates').select('cert_number,year,brand_set,player_character,card_number,variation,autograph_present,final_grade,grade_label,final_image_url').eq('tenant_id',tenant.id).order('published_at',{ascending:false}).limit(40);\n      const currentCards=(currentCertificates||[]).map((card:any)=>safeCard({id:card.cert_number,cert_number:card.cert_number,year:card.year,brand_set:card.brand_set,player_character:card.player_character,card_number:card.card_number,variation:card.variation,autograph_present:card.autograph_present,grade:card.final_grade,grade_label:card.grade_label,slab_image_url:card.final_image_url}));","old_content":"      const{data:currentCards,error:currentError}=await supabase.from('card_grading_cards').select('id,cert_number,year,brand_set,player_character,card_number,variation,card_description,autograph_present,grade,grade_label,front_image_url,back_image_url,slab_image_url,population_count').eq('tenant_id',tenant.id).limit(40);"},{"path":"supabase/functions/pcg-customer-progress/index.ts","new_content":"      const{data:publishedRows,error:currentError}=await supabase.from('card_grading_population_report').select('year,brand_set,player_character,card_number,variation,final_grade,grade_label,pop_count').eq('tenant_id',tenant.id).or(currentFilter).limit(1200);\n      const currentCards=(publishedRows||[]).flatMap((row:any)=>Array.from({length:Math.max(0,Number(row.pop_count||0))},()=>({year:row.year,brand_set:row.brand_set,player_character:row.player_character,card_number:row.card_number,variation:row.variation,grade:row.final_grade,grade_label:row.grade_label})));","old_content":"      const{data:currentCards,error:currentError}=await supabase.from('card_grading_cards').select('year,brand_set,player_character,card_number,variation,grade,grade_label').eq('tenant_id',tenant.id).or(currentFilter).limit(1200);"},{"path":"supabase/functions/pcg-customer-progress/index.ts","new_content":"      const{data:card,error}=await supabase.from('card_grading_public_certificates').select('cert_number,year,brand_set,player_character,card_number,variation,autograph_present,final_grade,grade_label,final_image_url').eq('tenant_id',tenant.id).ilike('cert_number',cert).maybeSingle();\n      if(error)throw error;\n      if(card?.cert_number)return json({ok:true,data:{card:safeCard({id:card.cert_number,cert_number:card.cert_number,year:card.year,brand_set:card.brand_set,player_character:card.player_character,card_number:card.card_number,variation:card.variation,autograph_present:card.autograph_present,grade:card.final_grade,grade_label:card.grade_label,slab_image_url:card.final_image_url})}});","old_content":"      const{data:card,error}=await supabase.from('card_grading_cards').select('id,cert_number,year,brand_set,player_character,card_number,variation,card_description,autograph_present,grade,grade_label,front_image_url,back_image_url,slab_image_url,population_count').eq('tenant_id',tenant.id).ilike('cert_number',cert).maybeSingle();\n      if(error)throw error;\n      if(card?.id)return json({ok:true,data:{card:safeCard(card)}});"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"92964f0c-60ea-4903-a573-31d680fefd52","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx","src/config/applicationCapabilityRegistry.ts","src/pages/card-grading/PCGModesWorkspace.tsx","src/pages/crm/PcgWorkspace.tsx","supabase/functions/pcg-customer-progress/index.ts"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"89f1512c0baafcb517ca577366c486c8a8495ba7c514b3c55cb4080e9af4db59","replayCount":0,"serializedBytes":63119},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-30T02:17:35.733966+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:92964f0c-60ea-4903-a573-31d680fefd52:repository-mutation-intent:89f1512c0baafcb517ca577366c486c8a8495ba7c514b3c55cb4080e9af4db59:0","mission_step_id":"025462da-4fb5-4dd6-839f-692c7c4c610a","command_center_event_id":"92964f0c-60ea-4903-a573-31d680fefd52"},{"id":"be997abd-61ed-4594-a57c-7f2d3943c58d","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/__tests__/contracts/pcgReceiveBatchIntegrity.test.ts","src/__tests__/contracts/pcgUnifiedBatchUpload.test.ts","src/pages/card-grading/PCGReceiveCardsGallery.tsx","src/pages/card-grading/PCGUnifiedUpload.tsx","src/pages/card-grading/pcgRawPhotoBatch.ts"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-15T15:23:20.277175+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"54891fee993e27c43022d6231b1b2dc14e7dc2a4","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:5d8c07cd-09aa-414e-be77-2781885db7cc:compiler:54891fee993e27c43022d6231b1b2dc14e7dc2a4:src/__tests__/contracts/pcgReceiveBatchIntegrity.test.ts,src/__tests__/contracts/pcgUnifiedBatchUpload.test.ts,src/pages/card-grading/PCGReceiveCardsGallery.tsx,src/pages/card-grading/PCGUnifiedUpload.tsx,src/pages/card-grading/pcgRawPhotoBatch.ts","mission_step_id":"6878706d-c0a3-437e-9ba6-0fe2b44d63ff","command_center_event_id":"5d8c07cd-09aa-414e-be77-2781885db7cc"},{"id":"be99ae48-b1e4-42fc-93a4-2eb52adc13e9","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":null,"reason":"authoritative_source_resolution_failed","status":"source_resolution_required","metrics":{"receiptBytes":6849,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":63152,"firstUsefulResultAt":"2026-10-04T21:24:39.233Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.94-terminal-completion-supervisor","prNumber":null,"terminal":false,"missionId":"08e50739-c61c-4e33-a186-13709dc8e364","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2066,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":335,"providerAuthMs":0,"ledgerPrepareMs":335,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":335,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":335,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"08e50739-c61c-4e33-a186-13709dc8e364"},"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":1638,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T21:25:47.806988+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:08e50739-c61c-4e33-a186-13709dc8e364:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"93df553e-5aff-4103-87f2-94d266b97231","command_center_event_id":"08e50739-c61c-4e33-a186-13709dc8e364"},{"id":"be9c675e-c140-4f08-9a72-0c91de70718e","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-954b2d566a11","writes":[],"patches":[],"version":1,"approved":true,"missionId":"954b2d56-6a11-42f5-8965-6cf351a137bd","objective":"Improve Forgejo resilience queue diagnosis without changing scheduling. Add a pure queue-wait classifier used by forgejo_resilience_status so waiting work is classified as no_waiting_work, waiting_for_heavy_capacity, queue_starvation_with_idle_heavy_capacity, waiting_for_pull_request_scheduler_pickup, waiting_for_release_dependency_or_concurrency, or waiting_for_scheduler_or_dependency. Keep queue starvation threshold at 90 seconds, preserve the existing bounded operationalRecoveryDecision actions, and never create a duplicate scheduler. Expose the classification plus recovery action in live PRIME output. Add regression tests, Gate, squash merge, release cc-execution, and verify live.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/mcp.test.js","workers/cc-execution/src/version.js","config/control-plane-capabilities.json"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mcp.js","edits":[{"new_content":"const FORGEJO_ACTIVE_RUN_STATES = new Set([\"queued\", \"waiting\", \"pending\", \"in_progress\", \"running\", \"requested\"]);\n\nexport function classifyForgejoQueueWait(waitingRuns = [], capacity = {}) {\n  if (!Array.isArray(waitingRuns) || waitingRuns.length === 0) return \"no_waiting_work\";\n  const availableHeavy = Math.max(0, Number(capacity?.availableHeavy || 0));\n  const waitingPullRequests = waitingRuns.filter((run) => run?.event === \"pull_request\");\n  const starvedPullRequests = waitingPullRequests.filter((run) => Number(run?.ageSeconds || 0) >= 90);\n  if (starvedPullRequests.length > 0 && availableHeavy > 0) return \"queue_starvation_with_idle_heavy_capacity\";\n  if (waitingPullRequests.length > 0 && availableHeavy <= 0) return \"waiting_for_heavy_capacity\";\n  if (waitingPullRequests.length > 0) return \"waiting_for_pull_request_scheduler_pickup\";\n  const releaseLike = waitingRuns.some((run) => /release|migration|supabase|deploy/i.test(String(run?.title || \"\")));\n  if (releaseLike) return \"waiting_for_release_dependency_or_concurrency\";\n  return \"waiting_for_scheduler_or_dependency\";\n}","old_content":"const FORGEJO_ACTIVE_RUN_STATES = new Set([\"queued\", \"waiting\", \"pending\", \"in_progress\", \"running\", \"requested\"]);"},{"new_content":"    const starvationCandidates = waitingRuns.filter((run) => run.event === \"pull_request\" && Number(run.ageSeconds || 0) >= 90 && inventory.capacity.availableHeavy > 0);\n    const oldestWaiting = waitingRuns.slice().sort((a, b) => Number(b.ageSeconds || 0) - Number(a.ageSeconds || 0))[0] || null;\n    const potentialStarvation = starvationCandidates.length > 0;\n    const waitReason = classifyForgejoQueueWait(waitingRuns, inventory.capacity);\n    const recoverySignal = waitReason === \"queue_starvation_with_idle_heavy_capacity\"\n      ? \"queue starvation waiting idle runner\"\n      : waitReason === \"waiting_for_heavy_capacity\"\n        ? \"runner capacity pressure\"\n        : inventory.degradedMode === \"heavy_degraded_single_runner\"\n          ? \"runner offline\"\n          : waitReason;\n    const recoveryDecision = operationalRecoveryDecision(recoverySignal, \"forgejo_resilience_status\", { hasHealthySibling: inventory.capacity.availableHeavy > 0 });","old_content":"    const starvationCandidates = waitingRuns.filter((run) => run.event === \"pull_request\" && Number(run.ageSeconds || 0) >= 90 && inventory.capacity.availableHeavy > 0);\n    const oldestWaiting = waitingRuns.slice().sort((a, b) => Number(b.ageSeconds || 0) - Number(a.ageSeconds || 0))[0] || null;\n    const potentialStarvation = starvationCandidates.length > 0;\n    const waitReason = waitingRuns.length === 0 ? \"no_waiting_work\" : potentialStarvation ? \"waiting_pull_request_has_idle_eligible_heavy_capacity\" : inventory.capacity.availableHeavy === 0 && waitingRuns.some((run) => run.event === \"pull_request\") ? \"waiting_for_heavy_capacity\" : \"waiting_for_scheduler_or_dependency\";\n    const recoveryDecision = operationalRecoveryDecision(potentialStarvation ? \"queue starvation waiting idle runner\" : inventory.degradedMode === \"heavy_degraded_single_runner\" ? \"runner offline\" : waitReason, \"forgejo_resilience_status\", { hasHealthySibling: inventory.capacity.availableHeavy > 0 });"}]},{"path":"workers/cc-execution/test/mcp.test.js","edits":[{"new_content":"import { classifyForgejoQueueWait, handleMcpRequest, summarizeForgejoRunnerPool } from \"../src/index-mcp.js\";","old_content":"import { handleMcpRequest, summarizeForgejoRunnerPool } from \"../src/index-mcp.js\";"},{"new_content":"test(\"queue wait classification distinguishes capacity, starvation, scheduler pickup, and release dependencies\", () => {\n  assert.equal(classifyForgejoQueueWait([], { availableHeavy: 3 }), \"no_waiting_work\");\n  assert.equal(classifyForgejoQueueWait([{ event: \"pull_request\", ageSeconds: 120 }], { availableHeavy: 2 }), \"queue_starvation_with_idle_heavy_capacity\");\n  assert.equal(classifyForgejoQueueWait([{ event: \"pull_request\", ageSeconds: 20 }], { availableHeavy: 0 }), \"waiting_for_heavy_capacity\");\n  assert.equal(classifyForgejoQueueWait([{ event: \"pull_request\", ageSeconds: 20 }], { availableHeavy: 2 }), \"waiting_for_pull_request_scheduler_pickup\");\n  assert.equal(classifyForgejoQueueWait([{ event: \"push\", title: \"Release Supabase Edge Functions\", ageSeconds: 20 }], { availableHeavy: 2 }), \"waiting_for_release_dependency_or_concurrency\");\n  assert.equal(classifyForgejoQueueWait([{ event: \"workflow_dispatch\", title: \"Maintenance\", ageSeconds: 20 }], { availableHeavy: 2 }), \"waiting_for_scheduler_or_dependency\");\n});\n\ntest(\"active multi-slot runner exposes bounded availability when Forgejo busy is false\", () => {","old_content":"test(\"active multi-slot runner exposes bounded availability when Forgejo busy is false\", () => {"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.58.267-runner-queue-wait-classification\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.266-ledger-egress-degraded-source-scope\";"}]},{"path":"config/control-plane-capabilities.json","edits":[{"new_content":"    \"runnerPoolAwareAdmissionPolicy\": \"offline_runners_never_eligible_status_active_or_busy_true_means_at_least_one_slot_occupied_multi_slot_active_runner_occupancy_is_bounded_one_to_declared_capacity_available_capacity_reports_guaranteed_free_slots_and_possible_available_slots_separately_queue_admission_uses_guaranteed_free_slots_waiting_work_is_classified_into_capacity_pressure_queue_starvation_scheduler_pickup_release_dependency_or_generic_dependency_without_creating_a_duplicate_scheduler_live_healthy_sibling_remains_eligible_capacity_and_symmetry_drift_are_exposed_before_owner_escalation\",","old_content":"    \"runnerPoolAwareAdmissionPolicy\": \"offline_runners_never_eligible_status_active_or_busy_true_means_at_least_one_slot_occupied_multi_slot_active_runner_occupancy_is_bounded_one_to_declared_capacity_available_capacity_reports_guaranteed_free_slots_and_possible_available_slots_separately_queue_admission_uses_guaranteed_free_slots_live_healthy_sibling_remains_eligible_capacity_and_symmetry_drift_are_exposed_before_owner_escalation\","}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"outcomes":[{"id":"queue-wait-classification","statement":"PRIME classifies waiting Forgejo work into actionable capacity, starvation, scheduler-pickup, release-dependency, or generic dependency states instead of one coarse wait reason.","proofConditionIds":["queue-runtime-proof"]}],"constraints":[{"id":"no-duplicate-scheduler","statement":"Do not create or enable any duplicate scheduler, rerouter, or queue owner; classification and recovery remain bounded around Forgejo native scheduling.","proofConditionIds":["queue-runtime-proof"]}],"proofConditions":[{"id":"queue-runtime-proof","kind":"runtime","claim":"Live forgejo_resilience_status exposes the new wait classification while preserving current 3-heavy-slot core capacity and bounded recovery policy.","required":true,"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/mcp.test.js","workers/cc-execution/src/version.js","config/control-plane-capabilities.json"],"requestContract":{"outcomes":[{"id":"queue-wait-classification","statement":"PRIME classifies waiting Forgejo work into actionable capacity, starvation, scheduler-pickup, release-dependency, or generic dependency states instead of one coarse wait reason.","proofConditionIds":["queue-runtime-proof"]}],"constraints":[{"id":"no-duplicate-scheduler","statement":"Do not create or enable any duplicate scheduler, rerouter, or queue owner; classification and recovery remain bounded around Forgejo native scheduling.","proofConditionIds":["queue-runtime-proof"]}],"proofConditions":[{"id":"queue-runtime-proof","kind":"runtime","claim":"Live forgejo_resilience_status exposes the new wait classification while preserving current 3-heavy-slot core capacity and bounded recovery policy.","required":true,"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/mcp.test.js","workers/cc-execution/src/version.js","config/control-plane-capabilities.json"],"controlPlaneMaintenanceReason":"Improve runner-pool queue diagnosis and bounded recovery selection after host hardening."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/mcp.test.js","workers/cc-execution/src/version.js","config/control-plane-capabilities.json"],"controlPlaneMaintenanceReason":"Improve runner-pool queue diagnosis and bounded recovery selection after host hardening."},"recovery":false,"fingerprint":"5315ee5061602c55e19bc2951000a2e524820031438f05990be4df52033b9f00","replayCount":0,"serializedBytes":10435},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T00:03:15.773128+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:954b2d56-6a11-42f5-8965-6cf351a137bd:repository-mutation-intent:5315ee5061602c55e19bc2951000a2e524820031438f05990be4df52033b9f00:0","mission_step_id":"d5ce99e5-42d2-4b06-bdb9-993d750875ed","command_center_event_id":"954b2d56-6a11-42f5-8965-6cf351a137bd"},{"id":"be9d2ff7-4ea5-4c25-948a-e813b6de3ca8","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"runtime_proof","branch":"ai/book-me-directly-product-family-r2","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1910,"terminal":false,"missionId":"ffd6df49-9506-4054-87b8-3bbe65387db2","operation":"automatic_mission_resume","proofGate":"ship_and_prove_gate_blocked","sourceSha":"029b67da98b34a517740a38209c3718837eea336","timingsMs":{"prReadinessMs":2563,"approvedPlanMs":0,"shipAndProveMs":3007,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"ffd6df49-9506-4054-87b8-3bbe65387db2"},"performance":null,"deploymentId":"forgejo-main-029b67da98b3","workflowRunId":5727,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":943,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T01:33:53.770041+00:00","proof_gate":"ship_and_prove_gate_blocked","source_sha":null,"external_id":"1910","receipt_type":"automatic_mission_resume","idempotency_key":"mission:ffd6df49-9506-4054-87b8-3bbe65387db2:automatic-mission-resume:1910:ship_and_prove_gate_blocked","mission_step_id":"cea1f730-a52a-40a9-9728-645ce3caa289","command_center_event_id":"ffd6df49-9506-4054-87b8-3bbe65387db2"},{"id":"be9de7f2-b179-460c-aeaa-2a98c9bad93a","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"supabase/functions/pcg-commerce-publisher/index.ts","content":"import {serve} from \"https://deno.land/std@0.168.0/http/server.ts\";\nimport {createClient} from \"https://esm.sh/@supabase/supabase-js@2\";\n\nexport const FUNCTION_VERSION='1.2.0-pcg-explicit-commerce-intent';\nconst cors={'Access-Control-Allow-Origin':'*','Access-Control-Allow-Headers':'authorization, x-client-info, apikey, content-type'};\nconst json=(body:unknown,status=200)=>new Response(JSON.stringify(body),{status,headers:{...cors,'Content-Type':'application/json'}});\nconst clean=(v:unknown)=>String(v??'').trim(),env=(name:string)=>clean(Deno.env.get(name));\nconst titleFor=(card:any)=>[card.year,card.brand_set,card.player_character,card.card_number?('#'+card.card_number):'',card.variation,card.grade_label||card.grade,card.cert_number?('Cert '+card.cert_number):''].filter(Boolean).join(' ').replace(/\\s+/g,' ').trim();\nconst skuFor=(card:any)=>{const cert=clean(card.cert_number).replace(/[^A-Za-z0-9_-]/g,'').toUpperCase();return cert?('PCG-'+cert):('PCG-'+clean(card.id).replace(/-/g,'').slice(0,18).toUpperCase())};\nconst imagesFor=(card:any)=>[card.slab_image_url,card.front_image_url,card.back_image_url].map(clean).filter(Boolean);\nconst priceFor=(card:any)=>Number(card?.metadata?.sale_price??0);\nlet cachedEbayToken='',cachedEbayUntil=0;\n\nasync function authorize(req:Request,supabase:any,tenantId:string){\n  const token=clean(req.headers.get('authorization')).replace(/^Bearer\\s+/i,'');if(!token)return false;\n  const {data}=await supabase.auth.getUser(token);const userId=data?.user?.id;if(!userId)return false;\n  const {data:membership}=await supabase.from('user_tenant_access').select('tenant_id').eq('user_id',userId).eq('tenant_id',tenantId).maybeSingle();\n  return Boolean(membership);\n}\nasync function ebayToken(){\n  if(env('EBAY_ACCESS_TOKEN'))return env('EBAY_ACCESS_TOKEN');\n  if(cachedEbayToken&&Date.now()<cachedEbayUntil)return cachedEbayToken;\n  const clientId=env('EBAY_CLIENT_ID'),clientSecret=env('EBAY_CLIENT_SECRET'),refreshToken=env('EBAY_REFRESH_TOKEN');if(!clientId||!clientSecret||!refreshToken)return '';\n  const scope=env('EBAY_OAUTH_SCOPE')||'https://api.ebay.com/oauth/api_scope/sell.inventory https://api.ebay.com/oauth/api_scope/sell.account';\n  const res=await fetch('https://api.ebay.com/identity/v1/oauth2/token',{method:'POST',headers:{authorization:'Basic '+btoa(clientId+':'+clientSecret),'content-type':'application/x-www-form-urlencoded'},body:new URLSearchParams({grant_type:'refresh_token',refresh_token:refreshToken,scope})});\n  const data=await res.json().catch(()=>({}));if(!res.ok)return '';\n  cachedEbayToken=clean(data.access_token);cachedEbayUntil=Date.now()+Math.max(60000,(Number(data.expires_in||7200)-60)*1000);return cachedEbayToken;\n}\nasync function ebayRequest(path:string,method:string,body?:unknown){\n  const token=await ebayToken();if(!token)return {ok:false,status:0,data:{},prerequisite:true};\n  const res=await fetch('https://api.ebay.com'+path,{method,headers:{authorization:'Bearer '+token,'content-type':'application/json','content-language':'en-US','accept-language':'en-US'},body:body===undefined?undefined:JSON.stringify(body)});\n  const data=await res.json().catch(()=>({}));return {ok:res.ok,status:res.status,data};\n}\nasync function publishWebsite(item:any){\n  const endpoint=env('PCG_WEBSITE_PUBLISH_URL'),token=env('PCG_WEBSITE_PUBLISH_TOKEN');\n  if(!endpoint||!token)return {status:'prerequisite_required',reason:'Connect the PCG website publishing endpoint.'};\n  const res=await fetch(endpoint,{method:'POST',headers:{'content-type':'application/json',authorization:'Bearer '+token,'idempotency-key':item.sku},body:JSON.stringify(item)});\n  const body=await res.json().catch(()=>({}));if(!res.ok)return {status:'needs_attention',reason:'Website publishing could not complete.',provider:{status:res.status}};\n  return {status:'live',url:clean(body.url||body.product_url),provider:{id:body.id||body.product_id||null}};\n}\nasync function publishEbay(item:any,existing:any){\n  const locationKey=env('EBAY_INVENTORY_LOCATION_KEY'),fulfillmentPolicyId=env('EBAY_FULFILLMENT_POLICY_ID'),paymentPolicyId=env('EBAY_PAYMENT_POLICY_ID'),returnPolicyId=env('EBAY_RETURN_POLICY_ID'),categoryId=env('EBAY_CATEGORY_ID');\n  if(!(await ebayToken())||!locationKey||!fulfillmentPolicyId||!paymentPolicyId||!returnPolicyId||!categoryId)return {status:'prerequisite_required',reason:'Complete eBay connection, inventory location, category, payment, fulfillment, and return policies.'};\n  const ebayTitle=clean(item.title).slice(0,80);\n  const inventory={availability:{shipToLocationAvailability:{quantity:item.quantity}},condition:item.condition||'USED_EXCELLENT',product:{title:ebayTitle,description:item.description,imageUrls:item.images,aspects:item.aspects||{}}};\n  const inv=await ebayRequest('/sell/inventory/v1/inventory_item/'+encodeURIComponent(item.sku),'PUT',inventory);if(!inv.ok)return {status:'needs_attention',reason:'eBay rejected the inventory item.',provider:{status:inv.status}};\n  let offerId=clean(existing?.ebay_offer_id);\n  const offer={sku:item.sku,marketplaceId:'EBAY_US',format:'FIXED_PRICE',availableQuantity:item.quantity,categoryId,listingDescription:item.description,listingPolicies:{fulfillmentPolicyId,paymentPolicyId,returnPolicyId},merchantLocationKey:locationKey,pricingSummary:{price:{currency:'USD',value:Number(item.price).toFixed(2)}}};\n  if(!offerId){const created=await ebayRequest('/sell/inventory/v1/offer','POST',offer);offerId=clean(created.data?.offerId);if(!created.ok||!offerId)return {status:'needs_attention',reason:'eBay could not create the listing offer.',provider:{status:created.status}}}\n  else{const updated=await ebayRequest('/sell/inventory/v1/offer/'+encodeURIComponent(offerId),'PUT',offer);if(!updated.ok)return {status:'needs_attention',reason:'eBay could not update the existing offer.',provider:{status:updated.status}}}\n  const published=await ebayRequest('/sell/inventory/v1/offer/'+encodeURIComponent(offerId)+'/publish','POST');const listingId=clean(published.data?.listingId)||clean(existing?.ebay_listing_id);\n  if(!published.ok&&!listingId)return {status:'needs_attention',reason:'eBay could not publish the offer.',offerId,provider:{status:published.status}};\n  return {status:'live',offerId,listingId,url:listingId?('https://www.ebay.com/itm/'+listingId):null};\n}\nconst publicRow=(card:any,pub:any)=>({...pub,id:pub?.id||('card:'+card.id),card_id:card.id,sku:pub?.sku||skuFor(card),title:pub?.title||titleFor(card),price:Number(pub?.price??priceFor(card)??0),quantity:Number(pub?.quantity??1),website_status:pub?.website_status||'uploaded',ebay_status:pub?.ebay_status||'uploaded',card});\n\nserve(async(req)=>{\n  if(req.method==='OPTIONS')return new Response(null,{headers:cors});const url=new URL(req.url);if(req.method==='GET'&&url.pathname.endsWith('/health'))return json({ok:true,service:'pcg-commerce-publisher',version:FUNCTION_VERSION});if(req.method!=='POST')return json({ok:false,error:'Method not allowed'},405);\n  const supabase=createClient(env('SUPABASE_URL'),env('SUPABASE_SERVICE_ROLE_KEY'));\n  try{\n    const body=await req.json().catch(()=>({})),action=clean(body.action||'list'),tenantId=clean(body.tenant_id);if(!tenantId)return json({ok:false,error:'PCG workspace is not ready yet.'},200);if(!await authorize(req,supabase,tenantId))return json({ok:false,error:'Your PCG session does not have access to this workspace.'},403);\n    if(action==='list'){\n      const [{data:cards,error:cardError},{data:pubs,error:pubError}]=await Promise.all([supabase.from('card_grading_cards').select('*').eq('tenant_id',tenantId).in('status',['ready','completed']).order('updated_at',{ascending:false}).limit(250),supabase.from('pcg_commerce_publications').select('*').eq('tenant_id',tenantId).order('updated_at',{ascending:false}).limit(250)]);\n      if(cardError||pubError)return json({ok:false,error:'Publishing status is temporarily unavailable.'},200);\n      const byCard=new Map((pubs||[]).map((p:any)=>[p.card_id,p])),rows=(cards||[]).map((card:any)=>publicRow(card,byCard.get(card.id)));\n      for(const pub of pubs||[])if(!rows.some((r:any)=>r.card_id===pub.card_id)){const {data:card}=await supabase.from('card_grading_cards').select('*').eq('tenant_id',tenantId).eq('id',pub.card_id).maybeSingle();if(card)rows.push(publicRow(card,pub))}\n      return json({ok:true,items:rows});\n    }\n    if(action!=='publish_batch'&&action!=='retry')return json({ok:false,error:'Unsupported publishing action.'},200);\n    const cardIds=Array.from(new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map(clean).filter(Boolean))).slice(0,250);if(!cardIds.length)return json({ok:false,error:'Choose at least one card to publish.'},200);\n    const priceByCard=(body.price_by_card||{}) as Record<string,unknown>,{data:cards,error:cardError}=await supabase.from('card_grading_cards').select('*').eq('tenant_id',tenantId).in('id',cardIds);if(cardError)return json({ok:false,error:'PCG cards could not be loaded.'},200);\n    const results:any[]=[];\n    for(const card of cards||[]){\n      const {data:existing}=await supabase.from('pcg_commerce_publications').select('*').eq('tenant_id',tenantId).eq('card_id',card.id).maybeSingle();\n      const ownerPrice=Number(priceByCard[card.id]??0),savedPrice=Number(existing?.price??0),metadataSalePrice=priceFor(card),price=ownerPrice>0?ownerPrice:savedPrice>0?savedPrice:metadataSalePrice;\n      const images=imagesFor(card),missing:string[]=[];if(!clean(card.cert_number))missing.push('certification number');if(!clean(card.player_character))missing.push('player or character');if(!images.length)missing.push('card image');if(!(price>0))missing.push('explicit sale price');\n      const sku=skuFor(card),base={tenant_id:tenantId,card_id:card.id,sku,price:price>0?price:0,quantity:1,title:titleFor(card),description:clean(card.card_description)||titleFor(card),images,updated_at:new Date().toISOString()};\n      if(missing.length){const row={...base,website_status:'needs_attention',ebay_status:'needs_attention',error_code:'missing_required_fields',error_message:'Add '+missing.join(', ')+'.',attempt_count:Number(existing?.attempt_count||0)+1};const {data:saved}=await supabase.from('pcg_commerce_publications').upsert(row,{onConflict:'tenant_id,card_id'}).select().single();results.push({...saved,status:'needs_attention'});continue}\n      const meta=card.metadata||{},item={sku,title:base.title,description:base.description,images,price,quantity:1,condition:clean(meta.ebay_condition)||'USED_EXCELLENT',cert_number:card.cert_number,grade:card.grade_label||card.grade,year:card.year,set:card.brand_set,subject:card.player_character,card_number:card.card_number,variation:card.variation,manufacturer:clean(meta.manufacturer),category:clean(card.category),population_count:card.population_count,autograph_present:card.autograph_present,aspects:{Year:[clean(card.year)].filter(Boolean),Set:[clean(card.brand_set)].filter(Boolean),Player:[clean(card.player_character)].filter(Boolean),Manufacturer:[clean(meta.manufacturer)].filter(Boolean),Grade:[clean(card.grade_label||card.grade)].filter(Boolean)}};\n      const [website,ebay]=await Promise.all([publishWebsite(item),publishEbay(item,existing)]),errorMessage=[website.status==='needs_attention'?website.reason:'',ebay.status==='needs_attention'?ebay.reason:''].filter(Boolean).join(' ');\n      const row={...base,website_status:website.status,website_url:website.url||existing?.website_url||null,ebay_status:ebay.status,ebay_offer_id:ebay.offerId||existing?.ebay_offer_id||null,ebay_listing_id:ebay.listingId||existing?.ebay_listing_id||null,ebay_url:ebay.url||existing?.ebay_url||null,error_code:errorMessage?'provider_publish_failed':null,error_message:errorMessage||null,attempt_count:Number(existing?.attempt_count||0)+1,provider_state:{website:website.provider||null,ebay:ebay.provider||null}};\n      const {data:saved,error:saveError}=await supabase.from('pcg_commerce_publications').upsert(row,{onConflict:'tenant_id,card_id'}).select().single();results.push(saveError?{card_id:card.id,sku,status:'needs_attention',error:'Publishing state could not be saved.'}:saved);\n    }\n    return json({ok:true,items:results});\n  }catch{return json({ok:false,error:'PCG publishing hit a temporary problem. Nothing was duplicated; retry the affected item.'},200)}\n});\n","expectedSha":"a4bf557c77070ace1f6b263776e017ab113b9fbe"},{"path":"src/pages/card-grading/PCGBatchPublishingCenter.tsx","content":"import React from 'react';\nimport {supabase} from '@/integrations/supabase/client';\n\ntype Row={id:string;card_id:string;sku:string;title:string;price:number;quantity:number;website_status:string;website_url?:string|null;ebay_status:string;ebay_url?:string|null;error_message?:string|null;card?:any};\nconst label=(v:string)=>v==='live'?'Live':v==='prerequisite_required'?'Setup required':v==='needs_attention'?'Needs attention':v==='sold'?'Sold':v==='uploaded'?'Not listed':v||'Not listed';\n\nexport default function PCGBatchPublishingCenter({tenantId}:{tenantId:string}){\n  const[rows,setRows]=React.useState<Row[]>([]);\n  const[prices,setPrices]=React.useState<Record<string,string>>({});\n  const[busy,setBusy]=React.useState<string[]>([]);\n  const[message,setMessage]=React.useState('');\n\n  const load=React.useCallback(async()=>{\n    if(!tenantId)return;\n    const {data}=await supabase.functions.invoke('pcg-commerce-publisher',{body:{action:'list',tenant_id:tenantId}});\n    if(data?.ok){\n      const items=Array.isArray(data.items)?data.items:[];\n      setRows(items);\n      setPrices(prev=>{\n        const next={...prev};\n        for(const row of items) if(!next[row.card_id]&&Number(row.price)>0) next[row.card_id]=String(row.price);\n        return next;\n      });\n    }\n  },[tenantId]);\n\n  const publish=React.useCallback(async(cardIds:string[])=>{\n    if(!cardIds.length)return;\n    setBusy(v=>Array.from(new Set([...v,...cardIds])));\n    const entries=cardIds.map(id=>[id,Number(prices[id]||0)] as const).filter(([,value])=>value>0);\n    const priceByCard=Object.fromEntries(entries);\n    const {data,error}=await supabase.functions.invoke('pcg-commerce-publisher',{body:{action:'publish_batch',tenant_id:tenantId,card_ids:cardIds,price_by_card:priceByCard}});\n    setBusy(v=>v.filter(id=>!cardIds.includes(id)));\n    if(error||!data?.ok)setMessage(data?.error||'Publishing could not start. Try again.');\n    else setMessage('Publishing pass complete. Any item that needs attention is isolated below.');\n    await load();\n  },[load,prices,tenantId]);\n\n  React.useEffect(()=>{void load()},[load]);\n  React.useEffect(()=>{\n    if(!tenantId)return;\n    const channel=supabase.channel('pcg-commerce-'+tenantId)\n      .on('postgres_changes',{event:'*',schema:'public',table:'card_grading_cards',filter:'tenant_id=eq.'+tenantId},()=>void load())\n      .subscribe();\n    const timer=window.setInterval(()=>void load(),10000);\n    return()=>{window.clearInterval(timer);void supabase.removeChannel(channel)};\n  },[load,tenantId]);\n\n  return <section data-pcg-batch-publishing=\"true\" className=\"relative z-10 mx-auto mb-5 w-full max-w-[1500px] px-3 sm:px-5 lg:px-7\">\n    <div className=\"rounded-3xl border border-white/10 bg-black/55 p-4 shadow-2xl backdrop-blur-xl sm:p-5\">\n      <div className=\"flex flex-wrap items-center gap-3\">\n        <div className=\"min-w-0 flex-1\"><div className=\"text-[10px] font-black uppercase tracking-[.2em] text-[#d8bb78]/70\">Publishing command center</div><h2 className=\"mt-1 text-xl font-black text-white\">Website + eBay</h2><p className=\"mt-1 text-sm text-white/55\">Completed cards are candidates only. Nothing is listed until you enter an explicit sale price and press Publish.</p><p className=\"mt-1 text-xs font-semibold text-amber-100/70\">A card’s declared or grading value is never treated as permission to sell it.</p></div>\n        <div className=\"rounded-full border border-[#d8bb78]/25 bg-[#d8bb78]/10 px-3 py-1.5 text-[11px] font-black uppercase tracking-[.12em] text-[#ead49d]\">Owner approval required</div>\n      </div>\n      {message?<div className=\"mt-3 rounded-xl border border-white/10 bg-white/[.05] px-3 py-2 text-sm text-white/70\">{message}</div>:null}\n      <div className=\"mt-4 grid gap-2\">\n        {!rows.length?<div className=\"rounded-2xl border border-white/8 bg-white/[.03] p-4 text-sm text-white/55\">Completed graded cards appear here as sale candidates. Set an explicit sale price and press Publish only for cards PCG is actually authorized to sell.</div>:rows.map(row=>{\n          const working=busy.includes(row.card_id);\n          const price=prices[row.card_id]??String(row.price||'');\n          return <article key={row.id||row.card_id} className=\"grid gap-3 rounded-2xl border border-white/8 bg-white/[.035] p-3 lg:grid-cols-[minmax(0,1fr)_140px_auto] lg:items-center\">\n            <div className=\"min-w-0\"><div className=\"truncate text-sm font-black text-white\">{row.title||row.sku}</div><div className=\"mt-1 flex flex-wrap gap-2 text-[11px] font-bold\"><span className=\"rounded-full bg-white/[.06] px-2 py-1 text-white/65\">{row.sku}</span><span className=\"rounded-full bg-white/[.06] px-2 py-1 text-white/65\">Website: {label(row.website_status)}</span><span className=\"rounded-full bg-white/[.06] px-2 py-1 text-white/65\">eBay: {label(row.ebay_status)}</span></div>{row.error_message?<div className=\"mt-2 text-xs font-semibold text-amber-200/90\">{row.error_message}</div>:null}</div>\n            <label className=\"grid gap-1 text-[10px] font-black uppercase tracking-[.12em] text-white/45\">Explicit sale price<input inputMode=\"decimal\" value={price} onChange={e=>setPrices(v=>({...v,[row.card_id]:e.target.value}))} className=\"h-10 min-w-0 rounded-xl border border-white/10 bg-black/40 px-3 text-sm font-bold text-white outline-none focus:border-[#d8bb78]/60\" placeholder=\"0.00\"/></label>\n            <div className=\"flex flex-wrap gap-2 lg:justify-end\">{row.website_url?<a className=\"rounded-lg border border-white/10 px-2.5 py-2 text-xs font-black text-white/75\" href={row.website_url} target=\"_blank\" rel=\"noreferrer\">Website</a>:null}{row.ebay_url?<a className=\"rounded-lg border border-white/10 px-2.5 py-2 text-xs font-black text-white/75\" href={row.ebay_url} target=\"_blank\" rel=\"noreferrer\">eBay</a>:null}<button type=\"button\" disabled={working||!(Number(price)>0)} onClick={()=>void publish([row.card_id])} className=\"rounded-lg border border-[#d8bb78]/30 bg-[#d8bb78]/10 px-2.5 py-2 text-xs font-black text-[#ead49d] disabled:opacity-40\">{working?'Publishing…':row.website_status==='live'||row.ebay_status==='live'?'Update listing':row.website_status==='uploaded'&&row.ebay_status==='uploaded'?'Publish website + eBay':'Retry'}</button></div>\n          </article>\n        })}\n      </div>\n    </div>\n  </section>;\n}\n","expectedSha":"34fd67306ff31612548c8221c8898c5be0c99d30"}],"branch":"ai/objective-first-repair-28af7fa0fd8a","writes":[],"patches":[],"version":1,"approved":true,"missionId":"28af7fa0-fd8a-4404-b45b-6081b520a294","repository":"noel/KnockLaunchOS","commitMessage":"PCG: require explicit commerce sale intent","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/pcg-commerce-publisher/index.ts","src/pages/card-grading/PCGBatchPublishingCenter.tsx"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"28af7fa0-fd8a-4404-b45b-6081b520a294","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/pcg-commerce-publisher/index.ts","src/pages/card-grading/PCGBatchPublishingCenter.tsx"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"99faeb2d1ea9e751f61f2415e890e3a90ae62cdd98348fe5070a6d8458850d2c","replayCount":0,"serializedBytes":20285},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T01:19:27.179906+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:28af7fa0-fd8a-4404-b45b-6081b520a294:repository-mutation-intent:99faeb2d1ea9e751f61f2415e890e3a90ae62cdd98348fe5070a6d8458850d2c:0","mission_step_id":"f62643ab-a60a-44f6-b59c-f4190c317365","command_center_event_id":"28af7fa0-fd8a-4404-b45b-6081b520a294"},{"id":"be9eea41-3fca-437d-bd1c-b82a83981cab","source":"forgejo","status":"waiting","payload":{"branch":"ai/visual-witness-supabase-secret-20260905","prNumber":1831,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"9b628e38c535087d9bc41a1140b5517e59465175","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T13:13:38.56849+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9b628e38c535087d9bc41a1140b5517e59465175","external_id":"1831","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:cad4ef23-b4ab-4622-839a-0fa269b84533:merged-pr:1831:9b628e38c535087d9bc41a1140b5517e59465175","mission_step_id":"09c635fb-324f-4619-b104-37867bc91fbf","command_center_event_id":"cad4ef23-b4ab-4622-839a-0fa269b84533"},{"id":"bea36e7c-8a0e-4925-bf47-c02e59694d7a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.47-paul-owner-answer-quality","prNumber":null,"terminal":false,"missionId":"40912109-1e16-426f-8157-d8dec0fbf7f4","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1228,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":527,"providerAuthMs":0,"ledgerPrepareMs":527,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":527,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":527,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"40912109-1e16-426f-8157-d8dec0fbf7f4"},"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":3556,"likelyAffectedFiles":["src/PrivateAppShell.tsx","scripts/visual-witness-hosted-runner/src/auth-state-refresh.mjs","scripts/visual-witness-hosted-runner/src/observe-route-contract.mjs","scripts/visual-witness-hosted-runner/src/operator-session-broker.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T01:55:45.11414+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:40912109-1e16-426f-8157-d8dec0fbf7f4:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"d1c5cd8d-8e22-4401-bf7a-36a69475786e","command_center_event_id":"40912109-1e16-426f-8157-d8dec0fbf7f4"},{"id":"bea3f0c7-24e4-4f6b-96e4-f94b93ea2e6e","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"2069b2ccc92e973179cab2ca246d846ff3ee4a25","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"f2818120cc58b59f7c4373aa57b7b3b85713f58b","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false},"releaseTargetStates":{"frontend":"success"},"requestContractHash":null,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/12747","runId":12747,"status":"success","sourceSha":"f2818120cc58b59f7c4373aa57b7b3b85713f58b","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"5a6ad3890c76783baf485647363fbf1419377b4f","sourceSha":"f2818120cc58b59f7c4373aa57b7b3b85713f58b","changedPaths":["src/PrivateAppShell.tsx","src/__tests__/contracts/installed-app-navigation.contract.test.ts"],"changedPathCount":2,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-03T20:36:06.471664+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"f2818120cc58b59f7c4373aa57b7b3b85713f58b","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:d0179f06-5a63-4f59-b60e-20eaa17e438f:forgejo-release-status:f2818120cc58b59f7c4373aa57b7b3b85713f58b:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"ef86cbc4-12be-43f3-9393-ff723a49436d","command_center_event_id":"d0179f06-5a63-4f59-b60e-20eaa17e438f"},{"id":"bea3f57a-6cb9-4ba6-945c-9d606e316063","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/restore-points-human-language-20260910","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.90-mission-terminalization","prNumber":null,"terminal":false,"missionId":"dae7be12-c46c-4ad1-b68f-babda00d72ee","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1435,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":679,"providerAuthMs":0,"ledgerPrepareMs":679,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":679,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":679,"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":"dae7be12-c46c-4ad1-b68f-babda00d72ee"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4209,"likelyAffectedFiles":["src/pages/admin/GodModeRestorePoints.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T04:32:27.296928+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:dae7be12-c46c-4ad1-b68f-babda00d72ee:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"0063fd70-a2cd-43c1-b42e-8fe9263fbba4","command_center_event_id":"dae7be12-c46c-4ad1-b68f-babda00d72ee"},{"id":"bea4a410-b97d-4b95-bb5f-7e50162b4838","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.47.2-release-lineage-compare","prNumber":358,"terminal":false,"missionId":"9c9c6758-5265-41c7-af1d-d0d9f49b8627","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"6d03897c79c3d979f0c4a96582f8ccfcda420931","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"9c9c6758-5265-41c7-af1d-d0d9f49b8627"},"performance":null,"deploymentId":"forgejo-main-6d03897c79c3","workflowRunId":1190,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5796,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-17T22:09:49.980497+00:00","proof_gate":"canonical_release_dispatched","source_sha":"6d03897c79c3d979f0c4a96582f8ccfcda420931","external_id":"forgejo-main-6d03897c79c3","receipt_type":"ship_and_prove","idempotency_key":"mission:9c9c6758-5265-41c7-af1d-d0d9f49b8627:ship_and_prove:canonical_release_dispatched:6d03897c79c3d979f0c4a96582f8ccfcda420931:1190","mission_step_id":"55918a86-0ee7-4ecd-8a7b-9866ef2a627d","command_center_event_id":"9c9c6758-5265-41c7-af1d-d0d9f49b8627"},{"id":"bea5737e-10e2-4142-9441-1cc8a3f9d618","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/restore-forgejo-pr-merge-budgets-20260821","reason":"retryable_provider_transport:pr_ready_timeout_budget_exhausted","status":"retryable","metrics":{"receiptBytes":4274,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.50.11-bounded-provider-control-plane","prNumber":574,"terminal":false,"missionId":"3afd055f-21d6-4a7c-85ee-daf7de375e54","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"3afd055f-21d6-4a7c-85ee-daf7de375e54"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4787,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T18:16:51.657401+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"574","receipt_type":"execute_mission","idempotency_key":"mission:3afd055f-21d6-4a7c-85ee-daf7de375e54:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"225eeaf9-ef36-4711-989f-524d54a82100","command_center_event_id":"3afd055f-21d6-4a7c-85ee-daf7de375e54"},{"id":"bea711d4-823a-4d38-8a9a-0f51e4d96106","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"Build KNOCKLAUNCH GodMode Shadow Tenant Data v3 as a platform primitive.\n\nOwner outcome: when a GodMode operator enters any tenant without explicit real-user impersonation/support projection, the tenant must behave like a fully populated real workspace using synthetic data. Nothing data-bearing should fall short of the real tenant owner/user experience.\n\nRequired platform behavior:\n1. Upgrade the current GodMode tenant demo store from contacts/tasks/calendar/mail only to a versioned shadow tenant dataset with linked realistic records for at least:\n   - contacts/leads/customers and notes\n   - proposals/agreements/contracts/e-sign state\n   - invoices/estimates/payments/receivables\n   - documents/files/evidence\n   - jobs/work orders/bookings\n   - opportunities/pipeline state\n   - tasks/jots/notes\n   - calendar/appointments/events\n   - mail inbox/sent/drafts/threads\n   - team members/invitations/roles\n   - notifications/activity/history\n   - reports/analytics source facts derived from the above\n2. All seeded records must be internally marked synthetic and relationally linked (contact -> proposal/agreement -> invoice/payment -> document/job/appointment/activity) so detail views and cross-navigation work.\n3. Add one generic shadow-data repository API supporting list/get/create/update/delete, bulk update/delete/archive/restore/assign, merge/replace import, reseed/reset, and relationship-safe ID preservation.\n4. Add import/export:\n   - export entire shadow tenant as versioned JSON\n   - export any collection as CSV\n   - import versioned JSON with merge or replace\n   - import CSV into a selected collection with field/header normalization and deterministic IDs\n   - imports must validate tenant/demo schema, preserve links where possible, report accepted/rejected rows, and never mutate production/provider data\n5. The existing GodMode Demo Data badge becomes a compact shadow-data control drawer/modal (not a separate app) showing collection counts and controls for reset, JSON export/import, and per-collection CSV import/export.\n6. Actual tenant app workflows must use the shadow repository in demo mode, with no provider/database writes, for the current shared data owners:\n   - Contacts/UnifiedManagement including import and bulk actions\n   - UniversalProposalWorkspace/proposalEngine including draft/edit/send-for-signature/approve/decline and demo operating contracts/agreements\n   - Documents/agreements and signed/pending agreement views\n   - Invoices/Payments via InvoicesTab/documents API boundary\n   - Jobs/Work Orders via JobTracker\n   - Opportunity Radar\n   - Team members/invitations\n   - existing Tasks, Calendar, Mail adapters\n7. Explicit real-user impersonation/read_only_support_access and ordinary tenant users must retain real production paths. Demo mode must never call production write endpoints/providers for covered actions.\n8. Reports/analytics in demo mode must see populated synthetic source data or derived demo metrics rather than empty production queries.\n9. Add a demo coverage registry/contract for first-class data-bearing application IDs. If a new data-bearing first-class tenant app is added without a shadow-data adapter, Gate must fail. Non-data creative/config-only surfaces may be explicitly exempted.\n10. Preserve the real tenant UI, routes, branding, search/filter/sort/detail navigation. This is data substitution, not a parallel demo application.\n11. Preserve existing tenant isolation, protected route behavior, and legitimate explicit support access.\n\nAcceptance:\n- Canonical Gate passes.\n- Auto-merge and release affected frontend.\n- Prove live in Tennex normal GodMode tenant mode (NOT read_only_support_access): Contacts populated; Proposals has seeded proposal/agreement; Documents/Agreements has seeded pending/signed agreement or linked contract; Invoices has seeded invoice/payment; Tasks and Calendar remain populated; demo manager can export JSON and CSV and import a CSV contact row that appears in Contacts.\n- Prove explicit","proofKinds":["runtime"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Build KNOCKLAUNCH GodMode Shadow Tenant Data v3 as a platform primitive.\n\nOwner outcome: when a GodMode operator enters any tenant without explicit real-user impersonation/support projection, the tenant must behave like a fully populated real workspace using synthetic data. Nothing data-bearing should fall short of the real tenant owner/user experience.\n\nRequired platform behavior:\n1. Upgrade the current GodMode tenant demo store from contacts/tasks/calendar/mail only to a versioned shadow tenant dataset with linked realistic records for at least:\n   - contacts/leads/customers and notes\n   - proposals/agreements/contracts/e-sign state\n   - invoices/estimates/payments/receivables\n   - documents/files/evidence\n   - jobs/work orders/bookings\n   - opportunities/pipeline state\n   - tasks/jots/notes\n   - calendar/appointments/events\n   - mail inbox/sent/drafts/threads\n   - team members/invitations/roles\n   - notifications/activity/history\n   - reports/analytics source facts derived from the above\n2. All seeded records must be internally marked synthetic and relationally linked (contact -> proposal/agreement -> invoice/payment -> document/job/appointment/activity) so detail views and cross-navigation work.\n3. Add one generic shadow-data repository API supporting list/get/create/update/delete, bulk update/delete/archive/restore/assign, merge/replace import, reseed/reset, and relationship-safe ID preservation.\n4. Add import/export:\n   - export entire shadow tenant as versioned JSON\n   - export any collection as CSV\n   - import versioned JSON with merge or replace\n   - import CSV into a selected collection with field/header normalization and deterministic IDs\n   - imports must validate tenant/demo schema, preserve links where possible, report accepted/rejected rows, and never mutate production/provider data\n5. The existing GodMode Demo Data badge becomes a compact shadow-data control drawer/modal (not a separate app) showing collection counts and controls for reset, JSON export/import, and per-collection CSV import/export.\n6. Actual tenant app workflows must use the shadow repository in demo mode, with no provider/database writes, for the current shared data owners:\n   - Contacts/UnifiedManagement including import and bulk actions\n   - UniversalProposalWorkspace/proposalEngine including draft/edit/send-for-signature/approve/decline and demo operating contracts/agreements\n   - Documents/agreements and signed/pending agreement views\n   - Invoices/Payments via InvoicesTab/documents API boundary\n   - Jobs/Work Orders via JobTracker\n   - Opportunity Radar\n   - Team members/invitations\n   - existing Tasks, Calendar, Mail adapters\n7. Explicit real-user impersonation/read_only_support_access and ordinary tenant users must retain real production paths. Demo mode must never call production write endpoints/providers for covered actions.\n8. Reports/analytics in demo mode must see populated synthetic source data or derived demo metrics rather than empty production queries.\n9. Add a demo coverage registry/contract for first-class data-bearing application IDs. If a new data-bearing first-class tenant app is added without a shadow-data adapter, Gate must fail. Non-data creative/config-only surfaces may be explicitly exempted.\n10. Preserve the real tenant UI, routes, branding, search/filter/sort/detail navigation. This is data substitution, not a parallel demo application.\n11. Preserve existing tenant isolation, protected route behavior, and legitimate explicit support access.\n\nAcceptance:\n- Canonical Gate passes.\n- Auto-merge and release affected frontend.\n- Prove live in Tennex normal GodMode tenant mode (NOT read_only_support_access): Contacts populated; Proposals has seeded proposal/agreement; Documents/Agreements has seeded pending/signed agreement or linked contract; Invoices has seeded invoice/payment; Tasks and Calendar remain populated; demo manager can export JSON and CSV and import a CSV contact row that appears in Contacts.\n- Prove explicit","wordingChanged":false,"canonicalIntent":"Build KNOCKLAUNCH GodMode Shadow Tenant Data v3 as a platform primitive.\n\nOwner outcome: when a GodMode operator enters any tenant without explicit real-user impersonation/support projection, the tenant must behave like a fully populated real workspace using synthetic data. Nothing data-bearing should fall short of the real tenant owner/user experience.\n\nRequired platform behavior:\n1. Upgrade the current GodMode tenant demo store from contacts/tasks/calendar/mail only to a versioned shadow tenant dataset with linked realistic records for at least:\n   - contacts/leads/customers and notes\n   - proposals/agreements/contracts/e-sign state\n   - invoices/estimates/payments/receivables\n   - documents/files/evidence\n   - jobs/work orders/bookings\n   - opportunities/pipeline state\n   - tasks/jots/notes\n   - calendar/appointments/events\n   - mail inbox/sent/drafts/threads\n   - team members/invitations/roles\n   - notifications/activity/history\n   - reports/analytics source facts derived from the above\n2. All seeded records must be internally marked synthetic and relationally linked (contact -> proposal/agreement -> invoice/payment -> document/job/appointment/activity) so detail views and cross-navigation work.\n3. Add one generic shadow-data repository API supporting list/get/create/update/delete, bulk update/delete/archive/restore/assign, merge/replace import, reseed/reset, and relationship-safe ID preservation.\n4. Add import/export:\n   - export entire shadow tenant as versioned JSON\n   - export any collection as CSV\n   - import versioned JSON with merge or replace\n   - import CSV into a selected collection with field/header normalization and deterministic IDs\n   - imports must validate tenant/demo schema, preserve links where possible, report accepted/rejected rows, and never mutate production/provider data\n5. The existing GodMode Demo Data badge becomes a compact shadow-data control drawer/modal (not a separate app) showing collection counts and controls for reset, JSON export/import, and per-collection CSV import/export.\n6. Actual tenant app workflows must use the shadow repository in demo mode, with no provider/database writes, for the current shared data owners:\n   - Contacts/UnifiedManagement including import and bulk actions\n   - UniversalProposalWorkspace/proposalEngine including draft/edit/send-for-signature/approve/decline and demo operating contracts/agreements\n   - Documents/agreements and signed/pending agreement views\n   - Invoices/Payments via InvoicesTab/documents API boundary\n   - Jobs/Work Orders via JobTracker\n   - Opportunity Radar\n   - Team members/invitations\n   - existing Tasks, Calendar, Mail adapters\n7. Explicit real-user impersonation/read_only_support_access and ordinary tenant users must retain real production paths. Demo mode must never call production write endpoints/providers for covered actions.\n8. Reports/analytics in demo mode must see populated synthetic source data or derived demo metrics rather than empty production queries.\n9. Add a demo coverage registry/contract for first-class data-bearing application IDs. If a new data-bearing first-class tenant app is added without a shadow-data adapter, Gate must fail. Non-data creative/config-only surfaces may be explicitly exempted.\n10. Preserve the real tenant UI, routes, branding, search/filter/sort/detail navigation. This is data substitution, not a parallel demo application.\n11. Preserve existing tenant isolation, protected route behavior, and legitimate explicit support access.\n\nAcceptance:\n- Canonical Gate passes.\n- Auto-merge and release affected frontend.\n- Prove live in Tennex normal GodMode tenant mode (NOT read_only_support_access): Contacts populated; Proposals has seeded proposal/agreement; Documents/Agreements has seeded pending/signed agreement or linked contract; Invoices has seeded invoice/payment; Tasks and Calendar remain populated; demo manager can export JSON and CSV and import a CSV contact row that appears in Contacts.\n- Prove explicit","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"shadow-tenant-v3","statement":"Build KNOCKLAUNCH GodMode Shadow Tenant Data v3 as a platform primitive.\n\nOwner outcome: when a GodMode operator enters any tenant without explicit real-user impersonation/support projection, the tenant must behave like a fully populated real workspace using synthetic data. Nothing data-bearing should fall short of the real tenant owner/user experience.\n\nRequired platform behavior:\n1. Upgrade the current GodMode tenant demo store from contacts/tasks/calendar/mail only to a versioned shadow tenant dataset with linked realistic records for at least:\n   - contacts/leads/customers and notes\n   - proposals/agreements/contracts/e-sign state\n   - invoices/estimates/payments/receivables\n   - documents/files/evidence\n   - jobs/work orders/bookings\n   - opportunities/pipeline state\n   - tasks/jots/notes\n   - calendar/appointments/events\n   - mail inbox/sent/drafts/threads\n   - team members/invitations/roles\n   - notifications/activity/history\n   - reports/analytics source facts derived from the above\n2. All seeded records must be internally marked synthetic and relationally linked (contact -> proposal/agreement -> invoice/payment -> document/job/appointment/activity) so detail views and cros","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["contacts","proposal","agreement","invoice","import-export","support"]}],"objective":"Build KNOCKLAUNCH GodMode Shadow Tenant Data v3 as a platform primitive.\n\nOwner outcome: when a GodMode operator enters any tenant without explicit real-user impersonation/support projection, the tenant must behave like a fully populated real workspace using synthetic data. Nothing data-bearing should fall short of the real tenant owner/user experience.\n\nRequired platform behavior:\n1. Upgrade the current GodMode tenant demo store from contacts/tasks/calendar/mail only to a versioned shadow tenant dataset with linked realistic records for at least:\n   - contacts/leads/customers and notes\n   - proposals/agreements/contracts/e-sign state\n   - invoices/estimates/payments/receivables\n   - documents/files/evidence\n   - jobs/work orders/bookings\n   - opportunities/pipeline state\n   - tasks/jots/notes\n   - calendar/appointments/events\n   - mail inbox/sent/drafts/threads\n   - team members/invitations/roles\n   - notifications/activity/history\n   - reports/analytics source facts derived from the above\n2. All seeded records must be internally marked synthetic and relationally linked (contact -> proposal/agreement -> invoice/payment -> document/job/appointment/activity) so detail views and cross-navigation work.\n3. Add one generic shadow-data repository API supporting list/get/create/update/delete, bulk update/delete/archive/restore/assign, merge/replace import, reseed/reset, and relationship-safe ID preservation.\n4. Add import/export:\n   - export entire shadow tenant as versioned JSON\n   - export any collection as CSV\n   - import versioned JSON with merge or replace\n   - import CSV into a selected collection with field/header normalization and deterministic IDs\n   - imports must validate tenant/demo schema, preserve links where possible, report accepted/rejected rows, and never mutate production/provider data\n5. The existing GodMode Demo Data badge becomes a compact shadow-data control drawer/modal (not a separate app) showing collection counts and controls for reset, JSON export/import, and per-collection CSV import/export.\n6. Actual tenant app workflows must use the shadow repository in demo mode, with no provider/database writes, for the current shared data owners:\n   - Contacts/UnifiedManagement including import and bulk actions\n   - UniversalProposalWorkspace/proposalEngine including draft/edit/send-for-signature/approve/decline and demo operating contracts/agreements\n   - Documents/agreements and signed/pending agreement views\n   - Invoices/Payments via InvoicesTab/documents API boundary\n   - Jobs/Work Orders via JobTracker\n   - Opportunity Radar\n   - Team members/invitations\n   - existing Tasks, Calendar, Mail adapters\n7. Explicit real-user impersonation/read_only_support_access and ordinary tenant users must retain real production paths. Demo mode must never call production write endpoints/providers for covered actions.\n8. Reports/analytics in demo mode must see populated synthetic source data or derived demo metrics rather than empty production queries.\n9. Add a demo coverage registry/contract for first-class data-bearing application IDs. If a new data-bearing first-class tenant app is added without a shadow-data adapter, Gate must fail. Non-data creative/config-only surfaces may be explicitly exempted.\n10. Preserve the real tenant UI, routes, branding, search/filter/sort/detail navigation. This is data substitution, not a parallel demo application.\n11. Preserve existing tenant isolation, protected route behavior, and legitimate explicit support access.\n\nAcceptance:\n- Canonical Gate passes.\n- Auto-merge and release affected frontend.\n- Prove live in Tennex normal GodMode tenant mode (NOT read_only_support_access): Contacts populated; Proposals has seeded proposal/agreement; Documents/Agreements has seeded pending/signed agreement or linked contract; Invoices has seeded invoice/payment; Tasks and Calendar remain populated; demo manager can export JSON and CSV and import a CSV contact row that appears in Contacts.\n- Prove explicit","constraints":[{"id":"no-production-demo-writes","statement":"Shadow tenant operations must never write production tenant/provider data.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["contacts","proposal","agreement","invoice","import-export","support"]},{"id":"real-user-projection","statement":"Explicit real-user impersonation/support projection and ordinary tenant users retain production data paths.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["support"]},{"id":"same-ui","statement":"Use real tenant routes/UI; do not create a parallel demo app.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["contacts","proposal","agreement","invoice","import-export","support"]},{"id":"coverage-enforced","statement":"First-class data-bearing apps require declared shadow-data coverage or Gate fails.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["contacts","proposal","agreement","invoice","import-export","support"]},{"id":"atomic","statement":"Do not claim complete until Gate, merge, release, and claim-matched live proof pass.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["contacts","proposal","agreement","invoice","import-export","support"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["contacts","proposal","agreement","invoice","import-export","support"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["contacts","proposal","agreement","invoice","import-export","support"]}],"adaptivePolicy":{"risk":{"tier":"high","blastRadius":"sensitive"},"proof":{"requiredKinds":["runtime"],"visualProofScope":"targeted","interactionRequired":true,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":[]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route","source_targets_until_repository_resolution","release_targets_until_changed_paths","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"serialize_overlapping_mutations","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":true,"viewports":["desktop","mobile"],"behavioral":true,"visualProofScope":"targeted"},"dependencies":{"requiredDomains":["frontend","backend_runtime","schema_data_storage","provider_configuration","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"Build KNOCKLAUNCH GodMode Shadow Tenant Data v3 as a platform primitive.\n\nOwner outcome: when a GodMode operator enters any tenant without explicit real-user impersonation/support projection, the tenant must behave like a fully populated real workspace using synthetic data. Nothing data-bearing should fall short of the real tenant owner/user experience.\n\nRequired platform behavior:\n1. Upgrade the current GodMode tenant demo store from contacts/tasks/calendar/mail only to a versioned shadow tenant dataset with linked realistic records for at least:\n   - contacts/leads/customers and notes\n   - proposals/agreements/contracts/e-sign state\n   - invoices/estimates/payments/receivables\n   - documents/files/evidence\n   - jobs/work orders/bookings\n   - opportunities/pipeline state\n   - tasks/jots/notes\n   - calendar/appointments/events\n   - mail inbox/sent/drafts/threads\n   - team members/invitations/roles\n   - notifications/activity/history\n   - reports/analytics source facts derived from the above\n2. All seeded records must be internally marked synthetic and relationally linked (contact -> proposal/agreement -> invoice/payment -> document/job/appointment/activity) so detail views and cross-navigation work.\n3. Add one generic shadow-data repository API supporting list/get/create/update/delete, bulk update/delete/archive/restore/assign, merge/replace import, reseed/reset, and relationship-safe ID preservation.\n4. Add import/export:\n   - export entire shadow tenant as versioned JSON\n   - export any collection as CSV\n   - import versioned JSON with merge or replace\n   - import CSV into a selected collection with field/header normalization and deterministic IDs\n   - imports must validate tenant/demo schema, preserve links where possible, report accepted/rejected rows, and never mutate production/provider data\n5. The existing GodMode Demo Data badge becomes a compact shadow-data control drawer/modal (not a separate app) showing collection counts and controls for reset, JSON export/import, and per-collection CSV import/export.\n6. Actual tenant app workflows must use the shadow repository in demo mode, with no provider/database writes, for the current shared data owners:\n   - Contacts/UnifiedManagement including import and bulk actions\n   - UniversalProposalWorkspace/proposalEngine including draft/edit/send-for-signature/approve/decline and demo operating contracts/agreements\n   - Documents/agreements and signed/pending agreement views\n   - Invoices/Payments via InvoicesTab/documents API boundary\n   - Jobs/Work Orders via JobTracker\n   - Opportunity Radar\n   - Team members/invitations\n   - existing Tasks, Calendar, Mail adapters\n7. Explicit real-user impersonation/read_only_support_access and ordinary tenant users must retain real production paths. Demo mode must never call production write endpoints/providers for covered actions.\n8. Reports/analytics in demo mode must see populated synthetic source data or derived demo metrics rather than empty production queries.\n9. Add a demo coverage registry/contract for first-class data-bearing application IDs. If a new data-bearing first-class tenant app is added without a shadow-data adapter, Gate must fail. Non-data creative/config-only surfaces may be explicitly exempted.\n10. Preserve the real tenant UI, routes, branding, search/filter/sort/detail navigation. This is data substitution, not a parallel demo application.\n11. Preserve existing tenant isolation, protected route behavior, and legitimate explicit support access.\n\nAcceptance:\n- Canonical Gate passes.\n- Auto-merge and release affected frontend.\n- Prove live in Tennex normal GodMode tenant mode (NOT read_only_support_access): Contacts populated; Proposals has seeded proposal/agreement; Documents/Agreements has seeded pending/signed agreement or linked contract; Invoices has seeded invoice/payment; Tasks and Calendar remain populated; demo manager can export JSON and CSV and import a CSV contact row that appears in Contacts.\n- Prove explicit","canonicalIntent":"Build KNOCKLAUNCH GodMode Shadow Tenant Data v3 as a platform primitive.\n\nOwner outcome: when a GodMode operator enters any tenant without explicit real-user impersonation/support projection, the tenant must behave like a fully populated real workspace using synthetic data. Nothing data-bearing should fall short of the real tenant owner/user experience.\n\nRequired platform behavior:\n1. Upgrade the current GodMode tenant demo store from contacts/tasks/calendar/mail only to a versioned shadow tenant dataset with linked realistic records for at least:\n   - contacts/leads/customers and notes\n   - proposals/agreements/contracts/e-sign state\n   - invoices/estimates/payments/receivables\n   - documents/files/evidence\n   - jobs/work orders/bookings\n   - opportunities/pipeline state\n   - tasks/jots/notes\n   - calendar/appointments/events\n   - mail inbox/sent/drafts/threads\n   - team members/invitations/roles\n   - notifications/activity/history\n   - reports/analytics source facts derived from the above\n2. All seeded records must be internally marked synthetic and relationally linked (contact -> proposal/agreement -> invoice/payment -> document/job/appointment/activity) so detail views and cross-navigation work.\n3. Add one generic shadow-data repository API supporting list/get/create/update/delete, bulk update/delete/archive/restore/assign, merge/replace import, reseed/reset, and relationship-safe ID preservation.\n4. Add import/export:\n   - export entire shadow tenant as versioned JSON\n   - export any collection as CSV\n   - import versioned JSON with merge or replace\n   - import CSV into a selected collection with field/header normalization and deterministic IDs\n   - imports must validate tenant/demo schema, preserve links where possible, report accepted/rejected rows, and never mutate production/provider data\n5. The existing GodMode Demo Data badge becomes a compact shadow-data control drawer/modal (not a separate app) showing collection counts and controls for reset, JSON export/import, and per-collection CSV import/export.\n6. Actual tenant app workflows must use the shadow repository in demo mode, with no provider/database writes, for the current shared data owners:\n   - Contacts/UnifiedManagement including import and bulk actions\n   - UniversalProposalWorkspace/proposalEngine including draft/edit/send-for-signature/approve/decline and demo operating contracts/agreements\n   - Documents/agreements and signed/pending agreement views\n   - Invoices/Payments via InvoicesTab/documents API boundary\n   - Jobs/Work Orders via JobTracker\n   - Opportunity Radar\n   - Team members/invitations\n   - existing Tasks, Calendar, Mail adapters\n7. Explicit real-user impersonation/read_only_support_access and ordinary tenant users must retain real production paths. Demo mode must never call production write endpoints/providers for covered actions.\n8. Reports/analytics in demo mode must see populated synthetic source data or derived demo metrics rather than empty production queries.\n9. Add a demo coverage registry/contract for first-class data-bearing application IDs. If a new data-bearing first-class tenant app is added without a shadow-data adapter, Gate must fail. Non-data creative/config-only surfaces may be explicitly exempted.\n10. Preserve the real tenant UI, routes, branding, search/filter/sort/detail navigation. This is data substitution, not a parallel demo application.\n11. Preserve existing tenant isolation, protected route behavior, and legitimate explicit support access.\n\nAcceptance:\n- Canonical Gate passes.\n- Auto-merge and release affected frontend.\n- Prove live in Tennex normal GodMode tenant mode (NOT read_only_support_access): Contacts populated; Proposals has seeded proposal/agreement; Documents/Agreements has seeded pending/signed agreement or linked contract; Invoices has seeded invoice/payment; Tasks and Calendar remain populated; demo manager can export JSON and CSV and import a CSV contact row that appears in Contacts.\n- Prove explicit","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"contacts","kind":"runtime","claim":"Tennex GodMode Contacts uses populated shadow records.","route":"/tennex-tax-solutions/contacts","roleRef":"GodMode","userRef":null,"required":true,"expectedText":"Jamie Rivera","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proposal","kind":"runtime","claim":"Tennex GodMode proposal workspace contains a seeded synthetic proposal and editable/send-for-signature actions remain synthetic.","route":null,"roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"agreement","kind":"runtime","claim":"Tennex GodMode documents/agreements surface contains linked synthetic agreement/contract data.","route":null,"roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"invoice","kind":"runtime","claim":"Tennex GodMode invoices/payments surface contains linked synthetic invoice/payment data.","route":null,"roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"import-export","kind":"runtime","claim":"GodMode shadow-data manager exports JSON/CSV and imports a CSV contact row into the same tenant shadow dataset.","route":"/tennex-tax-solutions/contacts","roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"support","kind":"runtime","claim":"Explicit real-user support projection disables shadow data and uses the real-data path.","route":null,"roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Build-KNOCKLAUNCH-GodMode-Shadow-Tenant-Data-v3-as-a-platform-primitive.-Owner-outcome:-when-a-GodMo","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["frontend"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["contacts","proposal","agreement","invoice","import-export","support"]},"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":"24a20d309ffbb1376f0a3522394032dce7bf444af8d90855cee0a7baa2923e7a","requestContractRevision":2,"previousRequestContractHash":"f28b3e8ab8e065aa7ff43b208efabc890877b37f92cc28c6f7c450e08433aa01"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T02:33:01.419868+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:c43209cb-ca72-4870-9e03-5fc4e41d1eaa:request-contract:24a20d309ffbb1376f0a3522394032dce7bf444af8d90855cee0a7baa2923e7a","mission_step_id":"917ff471-4f14-4e7c-b9e6-c6d5e7bc5b10","command_center_event_id":"c43209cb-ca72-4870-9e03-5fc4e41d1eaa"},{"id":"bea780a3-8db7-4fe7-91e2-1f5b7b0bbf00","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-a1789dfb1569","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3591,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":57918,"firstUsefulResultAt":"2026-10-03T17:54:48.685Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.77-paul-heldout-repair","prNumber":null,"terminal":false,"missionId":"a1789dfb-1569-4cf6-8641-2064483c3a30","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1395,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":280,"providerAuthMs":0,"ledgerPrepareMs":280,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":280,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":280,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"a1789dfb-1569-4cf6-8641-2064483c3a30"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3289,"likelyAffectedFiles":["src/PrivateAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T17:54:48.720996+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a1789dfb-1569-4cf6-8641-2064483c3a30:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"2834cc5b-f987-42a0-80e6-c0b7c220d3ba","command_center_event_id":"a1789dfb-1569-4cf6-8641-2064483c3a30"},{"id":"bea87863-1daf-4001-b2ba-569c61b0bdd6","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-owner-directive-control-plane-churn-20260828","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":8727,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":901,"terminal":false,"missionId":"330fc4d0-0edb-4da7-92f5-85aa28587ef6","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":23234,"prReadinessMs":1248,"approvedPlanMs":21982,"missionSetupMs":1086,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"330fc4d0-0edb-4da7-92f5-85aa28587ef6"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5807,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T02:13:31.613666+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"901","receipt_type":"execute_mission","idempotency_key":"mission:330fc4d0-0edb-4da7-92f5-85aa28587ef6:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"d316bab8-a692-4b6c-848a-4abfbd931bf6","command_center_event_id":"330fc4d0-0edb-4da7-92f5-85aa28587ef6"},{"id":"beaa972c-a9d2-4f63-bb23-75b83f258c87","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-ead13e6b624e","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.60-paul-long-horizon-state","prNumber":null,"terminal":false,"missionId":"ead13e6b-624e-4093-ae21-ed1dbe024324","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1579,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":681,"providerAuthMs":0,"ledgerPrepareMs":681,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":681,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":681,"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":"ead13e6b-624e-4093-ae21-ed1dbe024324"},"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":4311,"likelyAffectedFiles":["workers/cc-execution/src/platform-sidekick-intelligence.js","workers/cc-execution/src/version.js"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T00:33:48.12369+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ead13e6b-624e-4093-ae21-ed1dbe024324:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"9e8c1bc0-0c57-4024-85e0-a93fa119dec2","command_center_event_id":"ead13e6b-624e-4093-ae21-ed1dbe024324"},{"id":"beaeae24-db1e-4330-b816-e5888737ec3a","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the exact atomic-new-branch mission on PR #1679 now that the exact-head KnockLaunch Gate is green. Squash merge the same PR, release cc-execution 1.58.38-atomic-new-branch-refreeze on the exact merged SHA, verify live runtime, benchmark the first fresh mutation with repositoryBranchCreateMs=0, then refreeze.","wordingChanged":false,"canonicalIntent":"Continue the exact atomic-new-branch mission on PR #1679 now that the exact-head KnockLaunch Gate is green. Squash merge the same PR, release cc-execution 1.58.38-atomic-new-branch-refreeze on the exact merged SHA, verify live runtime, benchmark the first fresh mutation with repositoryBranchCreateMs=0, then refreeze.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"atomic-new-branch","statement":"Fresh repository mutations create the target branch from canonical main inside the atomic contents write, eliminating the separate branch-create provider round trip.","proofConditionIds":["repo","runtime"]},{"id":"existing-branch-safety","statement":"Existing branch writes remain unchanged and never send new_branch.","proofConditionIds":["repo"]},{"id":"collision-safety","statement":"Branch-exists races, source movement, and ambiguous writes fail closed or reconcile exact state without blind write retry.","proofConditionIds":["repo","runtime"]},{"id":"telemetry","statement":"Fresh mutation telemetry reports repositoryBranchCreateMs=0 and branchCreationMode=atomic_new_branch while combined branch+commit cost is attributed to atomic commit.","proofConditionIds":["repo","runtime"]},{"id":"refreeze","statement":"cc-execution 1.58.38-atomic-new-branch-refreeze is live on the exact merged SHA and control-plane maintenance is refrozen.","proofConditionIds":["runtime","refrozen"]}],"objective":"Continue the exact atomic-new-branch mission on PR #1679 now that the exact-head KnockLaunch Gate is green. Squash merge the same PR, release cc-execution 1.58.38-atomic-new-branch-refreeze on the exact merged SHA, verify live runtime, benchmark the first fresh mutation with repositoryBranchCreateMs=0, then refreeze.","constraints":[{"id":"hard-safety","statement":"Preserve exact-source freshness, branch isolation, anchored-edit validation, one branch/PR/Gate/squash merge/release, no blind write retries, and canonical release ownership.","proofConditionIds":["repo","runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Source and regression coverage prove atomic new_branch semantics for fresh writes, unchanged existing-branch behavior, and fail-closed collisions/source movement.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime","kind":"runtime","claim":"cc-execution 1.58.38 is live on the exact merged SHA and a representative fresh mutation reports zero separate branch-create latency.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]},{"id":"refrozen","kind":"runtime","claim":"Control-plane maintenance is refrozen after terminal proof.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"65a2173eea3e3d80e9d9e28543d12d49912720233911d939732e1f04858009ec","requestContractRevision":10,"previousRequestContractHash":"07da5f4d6fbdc0c6a41a3884865e0eb3cceed1eda013a38bc4058a2748b66e2f"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:24:36.131211+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:445c8fa0-9216-46ef-b17b-b6e94a9c4e00:request-contract:65a2173eea3e3d80e9d9e28543d12d49912720233911d939732e1f04858009ec","mission_step_id":"a3d46cda-3ca8-4fb5-8092-d4154fa9ed3e","command_center_event_id":"445c8fa0-9216-46ef-b17b-b6e94a9c4e00"}],"rows":400,"limit":400,"table":"command_center_receipts","format":"knocklaunch-table-chunk-v1","offset":33200,"schema":"public","order_key":"id"}